/* HesaSki - eine Welt: Alpenplakat. Ein Bild (WebGL) fuellt alles, Bedienelemente liegen als flache Plakatflaechen darauf. */
:root{
  color-scheme: dark;
  --ink:#0e1b2c;        /* Nachtblau der Alpen */
  --ink2:#172a42;
  --ink3:#233a57;
  --line:rgba(255,255,255,.12);
  --snow:#f4f7fb;       /* Pulverschnee */
  --mist:#c9d8ea;
  --muted:#93a7bf;
  --red:#e2332b;        /* Signalrot wie Torflagge */
  --red2:#a8221b;
  --sun:#ffc547;        /* Alpengluehen */
  --crystal:#6fe3ff;    /* Eiskristall = Waehrung */
  --ok:#42d392; --bad:#ff6a5f;
  --fd:'Big Shoulders Display','Arial Narrow','Roboto Condensed',Impact,sans-serif;
  --fu:'Schibsted Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --sat:env(safe-area-inset-top,0px); --sab:env(safe-area-inset-bottom,0px); --sal:env(safe-area-inset-left,0px); --sar:env(safe-area-inset-right,0px);
  --gx:max(16px,var(--sal)); --gr:max(16px,var(--sar));
}
html,body{height:100%;margin:0;background:var(--ink);color:var(--snow);font-family:var(--fu);overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
*{box-sizing:border-box}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--crystal);outline-offset:2px}
#app{position:fixed;inset:0;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block}
.ic{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.num{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}

/* ---------- Bildschirme ---------- */
.scr{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(var(--sat) + 12px) var(--gr) calc(var(--sab) + 14px) var(--gx);pointer-events:none}
.scr>*{pointer-events:auto}
.scrim-top{position:absolute;left:0;right:0;top:0;height:52%;background:linear-gradient(rgba(14,27,44,.62),rgba(14,27,44,0));pointer-events:none}
.topbar{display:flex;align-items:center;gap:8px;position:relative}
.topbar .sp{flex:1}
.chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:4px;background:rgba(14,27,44,.72);font:800 13px/1 var(--fu);letter-spacing:.08em;text-transform:uppercase}
.chip b{color:var(--sun)}
.pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 9px;border-radius:18px;background:rgba(14,27,44,.72);font:800 17px/1 var(--fd);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.pill .ic{width:18px;height:18px;color:var(--crystal)}
.ibtn{width:40px;height:40px;border-radius:20px;display:grid;place-items:center;background:rgba(14,27,44,.72)}
.ibtn:active{transform:scale(.94)}

/* Titel */
.brand{position:relative;margin-top:clamp(10px,4vh,48px);max-width:680px}
.eyebrow{display:inline-block;background:var(--red);color:#fff;font:800 12px/1 var(--fu);letter-spacing:.24em;text-transform:uppercase;padding:7px 9px 6px}
.logo{margin:6px 0 0;font:900 clamp(78px,25vw,172px)/.8 var(--fd);letter-spacing:-.005em;color:#fff;text-shadow:0 4px 0 rgba(14,27,44,.38);text-wrap:balance}
.logo .ski{color:var(--red)}
.claim{margin:10px 0 0;font:600 clamp(16px,2.2vw,20px)/1.3 var(--fu);color:#fff;text-shadow:0 1px 8px rgba(14,27,44,.6);max-width:30ch}
.dock{margin-top:auto;width:100%;max-width:520px;background:rgba(14,27,44,.93);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}
.modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.mode{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:10px 10px 9px;border-radius:6px;background:var(--ink2);text-align:left}
.mode b{font:900 21px/1 var(--fd);letter-spacing:.03em;text-transform:uppercase}
.mode span{font:500 11.5px/1.25 var(--fu);color:var(--muted)}
.mode[aria-pressed="true"]{background:var(--snow);color:var(--ink)}
.mode[aria-pressed="true"] span{color:#4b5d74}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:6px;font:800 15px/1 var(--fu);letter-spacing:.02em;transition:transform .06s}
.btn:active{transform:translateY(2px)}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn.pri{background:var(--red);color:#fff;box-shadow:0 4px 0 var(--red2)}
.btn.pri:active{box-shadow:0 2px 0 var(--red2)}
.btn.sec{background:var(--snow);color:var(--ink);box-shadow:0 4px 0 #9fb1c7}
.btn.ghost{border:1.5px solid var(--line);color:var(--snow)}
.btn.ad .ic{color:var(--sun)}
.btn.big{min-height:64px;font:900 34px/1 var(--fd);letter-spacing:.05em;text-transform:uppercase}
.btn.wide{width:100%}
.playrow{display:flex;gap:8px;align-items:stretch}
.playrow .btn.big{flex:1}
.boost{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:72px;padding:6px 8px;border-radius:6px;background:var(--ink2);font:700 11px/1.1 var(--fu);text-align:center}
.boost .ic{color:var(--sun)}
.boost[aria-pressed="true"]{background:var(--sun);color:var(--ink)}
.boost[aria-pressed="true"] .ic{color:var(--ink)}
.best{display:flex;justify-content:space-between;gap:8px;font:600 13px/1.2 var(--fu);color:var(--muted)}
.best b{color:var(--snow);font-weight:800}
.nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.navb{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px 8px;border-radius:6px;background:var(--ink2);font:700 11.5px/1 var(--fu);min-width:0}
.navb span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dot{position:absolute;top:7px;right:calc(50% - 20px);width:9px;height:9px;border-radius:5px;background:var(--red);box-shadow:0 0 0 2px var(--ink2)}

/* ---------- HUD ---------- */
#hud{position:absolute;inset:0;pointer-events:none}
#hud .scrim-top{height:150px;background:linear-gradient(rgba(14,27,44,.42),rgba(14,27,44,0))}
.hud-tl{position:absolute;top:calc(var(--sat) + 8px);left:var(--gx)}
.hud-dist{font:900 56px/.88 var(--fd);color:#fff;text-shadow:0 3px 0 rgba(14,27,44,.55);font-variant-numeric:tabular-nums}
.hud-dist small{font-size:26px;margin-left:3px}
.hud-sub{margin-top:4px;font:800 15px/1 var(--fu);color:#fff;text-shadow:0 1px 4px rgba(14,27,44,.8);font-variant-numeric:tabular-nums}
.hud-sub i{font-style:normal;color:var(--sun)}
.hud-tr{position:absolute;top:calc(var(--sat) + 10px);right:var(--gr);display:flex;gap:8px;pointer-events:auto}
.hud-av{position:absolute;left:var(--gx);top:calc(var(--sat) + 116px);display:flex;flex-direction:column;align-items:center;gap:6px;width:40px}
.hud-av .ic{color:#fff;filter:drop-shadow(0 1px 2px rgba(14,27,44,.7))}
.av-bar{position:relative;width:10px;height:clamp(90px,22vh,170px);border-radius:5px;background:rgba(14,27,44,.5);overflow:hidden}
.av-fill{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(var(--red),#ffb3ad);border-radius:5px}
.av-m{font:800 13px/1 var(--fd);color:#fff;text-shadow:0 1px 3px rgba(14,27,44,.8);font-variant-numeric:tabular-nums}
.hud-av.hot .av-bar{box-shadow:0 0 0 2px var(--red)}
.hud-bl{position:absolute;left:var(--gx);bottom:calc(var(--sab) + 14px);display:flex;align-items:baseline;gap:10px}
.spd{font:900 34px/1 var(--fd);color:#fff;text-shadow:0 2px 0 rgba(14,27,44,.55);font-variant-numeric:tabular-nums}
.spd small{font-size:15px;margin-left:3px}
.piste{display:inline-block;padding:4px 7px;border-radius:3px;font:800 11px/1 var(--fu);letter-spacing:.1em;text-transform:uppercase;color:#fff}
.hud-pw{position:absolute;bottom:calc(var(--sab) + 14px);left:50%;transform:translateX(-50%);display:flex;gap:8px}
.pwc{position:relative;width:46px;height:46px;border-radius:23px;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),rgba(14,27,44,.55) 0)}
.pwc::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--ink)}
.pwc .ic{position:relative;z-index:1;color:var(--c)}
.hud-race{position:absolute;top:calc(var(--sat) + 10px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px}
.hud-race .tm{font:900 40px/1 var(--fd);color:#fff;text-shadow:0 2px 0 rgba(14,27,44,.6);font-variant-numeric:tabular-nums}
.hud-race .gt{font:800 13px/1 var(--fu);color:#fff;text-shadow:0 1px 4px rgba(14,27,44,.8)}
.hud-race .pen{color:var(--bad)}
#callouts{position:absolute;top:24%;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.co{font:900 34px/1 var(--fd);letter-spacing:.02em;text-transform:uppercase;color:#fff;text-shadow:0 3px 0 rgba(14,27,44,.55);animation:co 1.3s ease-out forwards;white-space:nowrap}
.co small{display:block;text-align:center;font:800 14px/1.2 var(--fu);letter-spacing:.06em;color:var(--sun)}
.co.trick,.co.perfect{font-size:44px;color:var(--sun)}
.co.perfect small{color:#fff}
.co.gate{font-size:26px;color:#fff}
.co.bad{color:var(--bad)}
.co.good,.co.power{color:var(--crystal)}
.co.small{font-size:22px}
.co.piste{font-size:26px}
.co.finish{font-size:64px;color:#fff}
@keyframes co{0%{opacity:0;transform:scale(.6) translateY(10px)}12%{opacity:1;transform:scale(1.08)}22%{transform:scale(1)}75%{opacity:1}100%{opacity:0;transform:translateY(-26px)}}
#combo{position:absolute;top:calc(var(--sat) + 70px);right:var(--gr);font:900 22px/1 var(--fd);color:var(--sun);text-shadow:0 2px 0 rgba(14,27,44,.6)}
#hint{position:absolute;left:50%;bottom:calc(var(--sab) + 84px);transform:translateX(-50%);width:min(92vw,420px);background:var(--snow);color:var(--ink);border-radius:8px;padding:12px 14px;display:flex;gap:12px;align-items:center;font:700 15px/1.3 var(--fu);box-shadow:0 6px 0 rgba(14,27,44,.25);animation:hint .35s ease-out}
#hint .ic{width:30px;height:30px;color:var(--red)}
@keyframes hint{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
#count{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font:900 clamp(120px,30vw,220px)/1 var(--fd);color:#fff;text-shadow:0 6px 0 rgba(14,27,44,.45)}
#count span{animation:cnt .9s ease-out forwards}
@keyframes cnt{from{transform:scale(1.6);opacity:0}25%{transform:scale(1);opacity:1}to{opacity:0;transform:scale(.9)}}
#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,255,255,0) 55%,rgba(240,246,255,.85) 100%);opacity:0;transition:opacity .2s}

/* ---------- Ergebnis ---------- */
#sOver{background:rgba(14,27,44,.74);overflow-y:auto;touch-action:pan-y}
.res{width:100%;max-width:560px;margin:auto 0;display:flex;flex-direction:column;gap:14px;padding-block:8px}
.res-k{font:800 13px/1 var(--fu);letter-spacing:.2em;text-transform:uppercase;color:var(--sun)}
.res-big{font:900 clamp(72px,20vw,128px)/.85 var(--fd);color:#fff;font-variant-numeric:tabular-nums}
.res-big small{font-size:.4em;margin-left:4px}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:4px;background:var(--snow);color:var(--ink);font:800 12px/1 var(--fu);letter-spacing:.08em;text-transform:uppercase}
.badge.red{background:var(--red);color:#fff}
.badge.gold{background:#e9b949}.badge.silver{background:#c9d2dd}.badge.bronze{background:#d59a63}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-radius:8px;overflow:hidden}
.stat{background:var(--ink2);padding:11px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.stat span{font:600 12px/1 var(--fu);color:var(--muted)}
.stat b{font:900 26px/1 var(--fd);font-variant-numeric:tabular-nums}
.stat em{font:700 12px/1.2 var(--fu);font-style:normal;color:var(--crystal)}
.notes{display:flex;flex-direction:column;gap:6px}
.note{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;background:var(--ink2);font:700 14px/1.3 var(--fu)}
.note .ic{color:var(--sun)}
.acts{display:flex;flex-direction:column;gap:8px}
.acts .row{display:flex;gap:8px}
.acts .row .btn{flex:1}
.cta{background:var(--snow);color:var(--ink);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}
.cta h3{margin:0;font:900 26px/1 var(--fd);text-transform:uppercase}
.cta p{margin:0;font:500 14px/1.4 var(--fu);color:#3c4f68}

/* ---------- Bogen (Shop, Missionen, Bestenliste, Einstellungen, Konto) ---------- */
.sheet{position:absolute;left:0;right:0;bottom:0;max-height:min(86%,760px);display:flex;flex-direction:column;background:var(--ink);border-top:1px solid var(--line);border-radius:16px 16px 0 0;padding-bottom:var(--sab);box-shadow:0 -10px 40px rgba(0,0,0,.35);animation:up .26s ease-out}
@keyframes up{from{transform:translateY(48px)}to{transform:none}}
.sh-head{display:flex;align-items:center;gap:10px;padding:14px var(--gr) 8px var(--gx)}
.sh-head h2{flex:1;margin:0;font:900 30px/1 var(--fd);text-transform:uppercase;letter-spacing:.02em}
.sh-tabs{display:flex;gap:6px;padding:0 var(--gr) 10px var(--gx);overflow-x:auto;scrollbar-width:none}
.tab{flex:none;height:34px;padding:0 13px;border-radius:17px;background:var(--ink2);font:800 13px/1 var(--fu)}
.tab[aria-selected="true"]{background:var(--snow);color:var(--ink)}
.sh-body{overflow-y:auto;padding:4px var(--gr) 18px var(--gx);touch-action:pan-y;display:flex;flex-direction:column;gap:10px;min-height:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.item{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:8px;background:var(--ink2);border:1.5px solid transparent;text-align:left;min-width:0}
.item.sel{border-color:var(--snow)}
.item h4{margin:0;font:900 20px/1 var(--fd);text-transform:uppercase;letter-spacing:.02em}
.item p{margin:0;font:500 12.5px/1.35 var(--fu);color:var(--muted)}
.sw4{display:flex;gap:4px}
.sw4 i{width:18px;height:18px;border-radius:9px;border:1.5px solid rgba(255,255,255,.25)}
.bars{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;font:600 11px/1 var(--fu);color:var(--muted)}
.bars s{display:block;height:6px;border-radius:3px;background:var(--ink3);text-decoration:none;position:relative;overflow:hidden}
.bars s::after{content:"";position:absolute;inset:0;width:calc(var(--v)*20%);background:var(--crystal);border-radius:3px}
.price{display:inline-flex;align-items:center;gap:5px;font:900 18px/1 var(--fd);font-variant-numeric:tabular-nums}
.price .ic{width:15px;height:15px;color:var(--crystal)}
.item .btn{min-height:38px;font-size:13px;padding:0 12px}
.row2{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lvl{display:flex;gap:3px}
.lvl i{width:16px;height:6px;border-radius:2px;background:var(--ink3)}
.lvl i.on{background:var(--sun)}
.card{background:var(--ink2);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}
.card.pro{background:linear-gradient(135deg,#2a2412,#151b26 60%);border:1.5px solid #e9b949}
.card h3{margin:0;font:900 28px/1 var(--fd);text-transform:uppercase;letter-spacing:.02em}
.card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font:600 14px/1.3 var(--fu)}
.card li{display:flex;gap:8px;align-items:center}
.card li .ic{width:18px;height:18px;color:#e9b949}
.small{font:500 12.5px/1.45 var(--fu);color:var(--muted);margin:0}
.mrow{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:8px;background:var(--ink2)}
.mrow.done{opacity:.72}
.mrow b{font:700 15px/1.3 var(--fu)}
.prog{height:8px;border-radius:4px;background:var(--ink3);overflow:hidden}
.prog i{display:block;height:100%;background:var(--sun);border-radius:4px}
.lb{display:flex;flex-direction:column;gap:2px}
.lbr{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-radius:6px;background:var(--ink2);font:700 14px/1.2 var(--fu)}
.lbr .pos{font:900 20px/1 var(--fd);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.lbr .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lbr .vl{font:900 20px/1 var(--fd);font-variant-numeric:tabular-nums}
.lbr.me{background:var(--snow);color:var(--ink)}
.lbr.me .pos{color:var(--red)}
.lbr:nth-child(1) .pos{color:#e9b949}.lbr:nth-child(2) .pos{color:#c9d2dd}.lbr:nth-child(3) .pos{color:#d59a63}
.levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px}
.lv{aspect-ratio:1/1;max-width:100%;border-radius:8px;background:var(--ink2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.lv b{font:900 26px/1 var(--fd)}
.lv .md{display:flex;gap:2px}
.lv .md i{width:8px;height:8px;border-radius:4px;background:var(--ink3)}
.lv .md i.m3{background:#e9b949}.lv .md i.m2{background:#c9d2dd}.lv .md i.m1{background:#d59a63}
.lv[disabled]{opacity:.38}
.lv.cur{outline:2px solid var(--snow)}
.set{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;background:var(--ink2);font:700 15px/1.3 var(--fu)}
.set select{background:var(--ink3);color:var(--snow);border:0;border-radius:6px;padding:8px 10px;font:600 14px var(--fu);max-width:55%}
.tog{width:50px;height:30px;border-radius:15px;background:var(--ink3);position:relative;flex:none;transition:background .15s}
.tog::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:12px;background:#fff;transition:transform .15s}
.tog[aria-checked="true"]{background:var(--ok)}
.tog[aria-checked="true"]::after{transform:translateX(20px)}
.links{display:flex;flex-wrap:wrap;gap:8px 14px;font:600 13px/1.3 var(--fu)}
.links a{color:var(--mist)}
.form{display:flex;flex-direction:column;gap:10px}
.fld{display:flex;flex-direction:column;gap:5px;font:700 12.5px/1.2 var(--fu);color:var(--mist)}
.fld input{height:46px;border-radius:6px;border:1.5px solid var(--line);background:var(--ink2);color:var(--snow);padding:0 12px;font:600 16px var(--fu);user-select:text;-webkit-user-select:text}
.fld input:focus{border-color:var(--crystal);outline:none}
.chk{display:flex;gap:10px;align-items:flex-start;font:500 13.5px/1.4 var(--fu);color:var(--mist)}
.chk input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--red);flex:none}
.chk a{color:#fff}
.err{min-height:18px;font:700 13px/1.35 var(--fu);color:var(--bad)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.botl{display:flex;align-items:center;gap:8px;font:600 12px/1.3 var(--fu);color:var(--muted)}
.botl i{width:8px;height:8px;border-radius:4px;background:var(--muted)}
.botl.ok i{background:var(--ok)}
.botl.run i{background:var(--sun);animation:blink .8s infinite}
@keyframes blink{50%{opacity:.25}}

.packs{display:flex;flex-direction:column;gap:6px}
.pack{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;background:var(--ink2)}
.pack .pk{display:flex;flex-direction:column;gap:6px;min-width:0}
.pack h4{margin:0;font:900 20px/1 var(--fd);text-transform:uppercase}
.pack .btn{min-width:96px}
.sheet-open #sTitle .brand,.sheet-open #sTitle .scrim-top{visibility:hidden}
@media (max-width:899px){.sheet.studio{max-height:62%}.sheet-open #sTitle .dock{visibility:hidden}}

/* ---------- Dialog und Meldung ---------- */
.modal{position:absolute;inset:0;display:grid;place-items:center;background:rgba(8,14,24,.66);padding:16px;animation:fade .2s}
@keyframes fade{from{opacity:0}}
.mcard{width:min(100%,420px);background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px}
.mcard h3{margin:0;font:900 30px/1 var(--fd);text-transform:uppercase}
.mcard p{margin:0;font:500 14.5px/1.45 var(--fu);color:var(--mist)}
.ring{width:64px;height:64px;border-radius:32px;display:grid;place-items:center;background:conic-gradient(var(--sun) calc(var(--p)*1%),var(--ink3) 0);font:900 26px/1 var(--fd);position:relative}
.ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--ink)}
.ring b{position:relative}
.adbox{height:180px;border-radius:10px;background:repeating-linear-gradient(135deg,var(--ink2) 0 14px,var(--ink3) 14px 28px);display:grid;place-items:center;font:900 26px/1 var(--fd);text-transform:uppercase;color:var(--muted);letter-spacing:.06em}
#toast{position:absolute;left:50%;bottom:calc(var(--sab) + 22px);transform:translateX(-50%);max-width:min(92vw,460px);padding:11px 16px;border-radius:8px;background:var(--snow);color:var(--ink);font:700 14px/1.35 var(--fu);box-shadow:0 6px 0 rgba(14,27,44,.25);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
#toast.on{opacity:1;transform:translate(-50%,-6px)}

/* ---------- Pause ---------- */
#sPause{background:rgba(14,27,44,.72);justify-content:center;align-items:center}
.pz{width:min(100%,360px);display:flex;flex-direction:column;gap:10px}
.pz h2{margin:0 0 6px;font:900 72px/1 var(--fd);text-transform:uppercase;text-align:center}

/* ---------- breite Bildschirme ---------- */
@media (min-width:900px){
  .sheet{left:auto;top:0;width:460px;max-height:none;border-radius:0;border-top:0;border-left:1px solid var(--line);animation:side .26s ease-out}
  @keyframes side{from{transform:translateX(48px)}to{transform:none}}
  #sTitle .dock{max-width:480px}
  .res{max-width:520px;margin-left:clamp(16px,6vw,96px)}
}
@media (max-height:600px) and (orientation:landscape){
  .brand{margin-top:0}
  .logo{font-size:clamp(56px,12vw,96px)}
  .claim{display:none}
  .dock{gap:8px;padding:10px}
  .mode span{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
