:root{--top:5rem;--bot:10.6rem;--dockb:4.6rem;--ink:#14262d;--mut:#5b6f78;--faint:#8a9aa1;--pan:rgba(255,255,255,.95);--acc:#0f8f84;--accbg:#e3f4f1;--warn:#b86a0c;--bad:#c6372e;--ok:#1e8f5a;--line:#d6dfe2;--shadow:0 2px 14px rgba(20,38,45,.16)}
*{box-sizing:border-box}html{font-size:clamp(12px,.55vw + 7px,26px)}
html,body{margin:0;height:100%;background:#e9eef0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.4;overflow:hidden;-webkit-font-smoothing:antialiased}
canvas{display:block}body>canvas{position:fixed;inset:0}.panel canvas{width:100%;height:auto}
.hud{position:fixed;background:var(--pan);border:1px solid var(--line);border-radius:.7rem;box-shadow:var(--shadow)}
#top{left:.8rem;right:.8rem;top:.8rem;min-height:3.6rem;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1.6rem;padding:.35rem 1.1rem}
#brand{display:flex;gap:.65rem;align-items:center;min-width:0}#brand svg{width:2.2rem;height:2.2rem;flex:none}.wm{font-size:1.3rem;font-weight:650;line-height:1;white-space:nowrap}.wm b{font-weight:650}.wm i{color:var(--acc);font-style:normal}.sub{color:var(--mut);font-size:.78rem;margin-top:.2rem;white-space:nowrap}
.stats{display:flex;gap:1.7rem;margin-left:auto}.stats>div{min-width:4.6rem}.k{color:var(--mut);font-size:.78rem}.v{font-size:1.3rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}.v.warn{color:var(--warn)}.v.bad{color:var(--bad)}
.views{display:flex;gap:.4rem}
.panel{top:var(--top);bottom:var(--bot);padding:1rem 1.05rem;overflow-y:auto;overflow-x:hidden}#left{left:.8rem;width:23rem}#right{right:.8rem;width:17.5rem}
.sec{font-size:.8rem;font-weight:650;color:var(--ink);margin:1.05rem 0 .35rem}.sec:first-child{margin-top:0}
.k2{color:var(--mut);font-size:.78rem}
button{background:#fff;color:var(--ink);border:1px solid #c3cfd3;border-radius:.5rem;padding:.45rem .8rem;font:inherit;cursor:pointer}button:hover{border-color:var(--acc)}button.on{background:var(--accbg);border-color:var(--acc);color:#0a5f57;font-weight:600}button.pri{background:var(--acc);color:#fff;border-color:var(--acc);font-weight:600}button.pri:hover{background:#0c7a70}
button small{display:block;color:var(--mut);font-size:.72rem;font-weight:400}button.on small{color:#2f7f78}
#pipe{display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem;margin-top:.4rem}#pipe i{display:none}.n{min-width:0;border:1px solid var(--line);border-radius:.45rem;padding:.3rem .2rem;text-align:center;color:var(--faint);transition:.25s;background:#fafbfb}.n b{display:block;font-size:.7rem;font-weight:600}.n span{display:block;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n.lit{color:var(--ink);border-color:var(--acc);background:var(--accbg)}.n.lit span{color:#0a5f57}
.leg{display:flex;gap:1rem;color:var(--mut);font-size:.74rem;margin:.1rem 0 .15rem}.leg s{display:inline-block;width:.6rem;height:.6rem;border-radius:2px;margin-right:.3rem}
.rec{margin-top:1rem;border:1px solid var(--line);border-radius:.6rem;padding:.75rem .85rem;background:#f6fafa}.recT{font-size:1.05rem;font-weight:650;margin:.1rem 0 .25rem}.small{color:var(--mut);font-size:.82rem}.rec button{margin-top:.6rem;width:100%}
.seg{display:flex;gap:.35rem;margin-top:.3rem}.seg button{flex:1;padding:.4rem .2rem;line-height:1.2;font-size:.88rem}.foot{margin-top:1rem;color:var(--faint);font-size:.74rem;line-height:1.45}
.chips{display:flex;gap:.3rem;flex-wrap:wrap}.chips button{flex:1 1 30%}
.gate{display:flex;align-items:center;gap:.5rem;margin:.28rem 0}.gate span{width:1.4rem;color:var(--mut);font-size:.85rem}.gate input{flex:1;accent-color:var(--acc)}.gate input:disabled{opacity:.5}.gate b{width:2.6rem;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;font-size:.88rem}
.meter{height:.5rem;background:#e4eaec;border-radius:.3rem;overflow:hidden;margin:.35rem 0 .15rem}#mfill{height:100%;width:0;background:linear-gradient(90deg,#0f8f84,#e0a030 70%,#c6372e)}
#outs{display:grid;grid-template-columns:repeat(8,1fr);gap:.25rem;margin-top:.35rem}#outs div{height:1.5rem;border-radius:.3rem;background:#d9f0e4;border:1px solid #5fbf8f;font-size:.7rem;display:grid;place-items:center;color:#175c3b}#outs div.amb{background:#fbebcf;border-color:#e0a030;color:#7a4a05}#outs div.red{background:#c6372e;border-color:#c6372e;color:#fff;animation:bl .6s infinite alternate}@keyframes bl{to{background:#e5574d}}
#log{display:flex;flex-direction:column;gap:.35rem;margin-top:.3rem}.lg{border-left:3px solid var(--acc);background:#f1f8f7;border-radius:.3rem;padding:.35rem .55rem;font-size:.8rem;line-height:1.4}.lg small{color:var(--mut);font-size:.74rem}.lg b{font-weight:650}
#alert{left:50%;bottom:4.9rem;transform:translateX(-50%);max-width:44rem;width:max-content;display:none;background:#c6372e;color:#fff;border-color:#c6372e;font-weight:600;padding:.6rem 1.1rem;text-align:center}
#toast{position:fixed;left:50%;top:4.9rem;transform:translateX(-50%);display:flex;flex-direction:column;gap:.45rem;align-items:center;pointer-events:none;z-index:5}.t{background:#fff;border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:.5rem;padding:.5rem .9rem;font-weight:550;box-shadow:var(--shadow);animation:tin .3s,tout .5s 4.5s forwards}.t.w{border-left-color:var(--warn)}@keyframes tin{from{opacity:0;transform:translateY(-8px)}}@keyframes tout{to{opacity:0}}
#bot{left:50%;bottom:.8rem;transform:translateX(-50%);display:flex;gap:.5rem;align-items:center;padding:.55rem .85rem}#bot .k{margin:0 .1rem 0 .5rem}
#modal{position:fixed;inset:0;background:rgba(20,38,45,.4);display:none;place-items:center;z-index:9}#card{width:min(58rem,94vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:.9rem;padding:1.6rem 1.8rem;box-shadow:0 20px 60px rgba(20,38,45,.35)}
#card h2{margin:.1rem 0 .3rem;font-size:1.6rem;font-weight:650}#card .lead{color:var(--mut);margin-bottom:1rem;font-size:1rem;line-height:1.5}.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.col{border:1px solid var(--line);border-radius:.6rem;padding:.8rem .9rem}.col.best{border-color:var(--acc);background:#f1f9f8}.col h3{margin:0 0 .5rem;font-size:.92rem;font-weight:650}
.row{display:flex;justify-content:space-between;gap:.6rem;margin:.28rem 0;font-size:.88rem}.row span{color:var(--mut)}.row b{font-variant-numeric:tabular-nums;font-weight:600}.pf{display:inline-block;padding:.1rem .6rem;border-radius:99px;font-weight:700;font-size:.8rem}.pass{background:#d9f0e4;color:var(--ok)}.fail{background:#fbdedb;color:var(--bad)}
.acts{display:flex;gap:.6rem;margin-top:1.2rem;flex-wrap:wrap}.acts button{padding:.65rem 1.1rem;font-size:1rem}.big{font-size:3.6rem;font-weight:750;line-height:1}.stars{font-size:2.2rem;color:#e3a416;letter-spacing:.3rem;line-height:1}.stars .off{color:#d4dcdf}
.msg{margin:.4rem 0;padding:.5rem .8rem;border-left:3px solid var(--acc);background:#f1f8f7;border-radius:.3rem;font-size:.95rem}
.hidep #left,.hidep #right{display:none}
@media(max-width:980px){#left,#right{display:none}.stats{gap:.9rem}.sub{display:none}.cols{grid-template-columns:1fr}}
@media(max-width:700px){.stats>div:nth-child(2){display:none}}
#brand{flex:none}.stats{min-width:0}.views{flex:none}
@media(max-width:1250px){.sub{display:none}.stats{gap:1rem}.stats>div{min-width:3.6rem}.v{font-size:1.1rem}#top{gap:1rem}#fs{display:none}.views button{padding:.4rem .6rem}}
#vig{position:fixed;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,rgba(198,55,46,0) 55%,rgba(198,55,46,.55) 100%);z-index:4}

.emb{width:2.5rem;height:2.5rem;flex:none}
#partners{right:.8rem;bottom:.8rem;display:flex;gap:.8rem;align-items:center;padding:.4rem .8rem}#partners img{height:2.1rem;width:auto}
.plogos{display:flex;gap:1.6rem;align-items:center;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line)}.plogos img{height:3rem;width:auto}.plogos img.emb2{height:3.2rem}
@media(max-width:1100px){#partners{display:none}}

#title{position:fixed;inset:0;z-index:12;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(255,255,255,.94),rgba(233,238,240,.97));text-align:center}.tbox{max-width:40rem;padding:2rem}.emb3{width:7rem;height:7rem}#title h1{font-size:2.6rem;margin:.6rem 0 .2rem;font-weight:650}#title h1 i{color:var(--acc);font-style:normal}#title h1 span{display:block;font-size:1.5rem;color:var(--mut);font-weight:500;margin-top:.2rem}#title p{color:var(--mut);font-size:1.15rem;line-height:1.5}#title button{font-size:1.2rem;padding:.8rem 2.6rem;margin:1rem 0 .4rem}#title .plogos{justify-content:center;border:0}
#cd{left:50%;top:5rem;transform:translateX(-50%);display:none;padding:.65rem 1.3rem;font-size:1.05rem;background:#fff;border-color:var(--acc);text-align:center}#cd b{font-size:1.5rem;font-variant-numeric:tabular-nums;color:var(--acc)}
.dots{display:flex;gap:.4rem;margin:.2rem 0 1rem}.dots i{width:.6rem;height:.6rem;border-radius:50%;background:#d6dfe2}.dots i.on{background:var(--acc)}

.gwrap{display:flex;gap:.7rem;margin-top:.3rem}.gwrap #cGauge{width:4.2rem;height:auto;flex:none}.gside{flex:1;min-width:0}.lvbig{font-size:1.9rem;font-weight:650;font-variant-numeric:tabular-nums;line-height:1}.lvbig.warn{color:var(--warn)}.lvbig.bad{color:var(--bad)}
.gtiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.35rem}
.gt{position:relative;display:flex;flex-direction:column;align-items:center;padding:.4rem .2rem .35rem;border-radius:.55rem;background:#f4f8f9;border:1px solid var(--line);line-height:1.2}.gt svg{width:3rem;height:2.5rem}.gt .gl{font-size:.74rem;color:var(--mut)}.gt .gp{font-weight:650;font-size:.95rem;font-variant-numeric:tabular-nums}
.gt .led{position:absolute;top:.35rem;right:.4rem;width:.55rem;height:.55rem;border-radius:50%;background:#c6372e}.gt.o .led{background:#1e8f5a}.gt.o{background:#e8f6f1;border-color:#5fbf8f}
.gt.need-open{animation:flo .7s infinite alternate;border-color:#ffb020}.gt.need-open .led{background:#ffb020}.gt.need-close{animation:flc .7s infinite alternate;border-color:#2fb8a6}.gt.jam{background:#fbdedb;border-color:#c6372e}.gt.jam .gp{color:var(--bad)}
@keyframes flo{to{background:#fff1d1;box-shadow:0 0 .8rem rgba(255,176,32,.9)}}@keyframes flc{to{background:#d9f5f1;box-shadow:0 0 .8rem rgba(47,184,166,.8)}}
.gq{display:flex;gap:.3rem;margin-top:.4rem}.gq button{flex:1;padding:.3rem .1rem;font-size:.78rem}

#dock{left:50%;transform:translateX(-50%);bottom:4.6rem;display:flex;align-items:center;gap:.9rem;padding:.5rem .8rem;z-index:3;max-width:calc(100vw - 1.6rem)}
#dock .gtiles{display:flex;gap:.35rem;margin:0}#dock .gt{width:4.3rem;padding:.3rem .1rem}#dock .gt svg{width:2.6rem;height:2.1rem}.dkq{display:flex;flex-direction:column;gap:.3rem}.dkq .gq{margin:0}.dkq #opsCost{max-width:15rem;font-size:.68rem;line-height:1.25;margin:0}.dkt{min-width:5.2rem}
#alert{bottom:10.7rem}
#ho{left:50%;top:5rem;transform:translateX(-50%);display:none;align-items:center;gap:.8rem;padding:.5rem 1.1rem;background:#fff;border-color:var(--acc);z-index:6}#ho img{width:2.6rem;height:2.6rem;animation:flash 1.1s infinite alternate}@keyframes flash{from{opacity:.35;transform:scale(.92)}to{opacity:1;transform:scale(1.06);filter:drop-shadow(0 0 .5rem rgba(15,143,132,.9))}}
.flashlogo{display:flex;align-items:center;gap:1rem;margin:.8rem 0 .2rem;padding:.8rem 1rem;border:1px solid var(--acc);border-radius:.7rem;background:#f1f9f8}.flashlogo img{width:4rem;height:4rem;animation:flash 1.1s infinite alternate;flex:none}.flashlogo .acts{margin:0 0 0 auto}
@media(max-width:980px){#left,#right{display:none}body.showp #left{display:block;width:calc(100% - 1.6rem);bottom:10.6rem}#dock{flex-wrap:wrap;justify-content:center}.dkt{display:none}.dkq #opsCost{display:none}}

#toast{top:var(--top)}#cd,#ho{top:var(--top)}#alert{bottom:var(--bot)}#dock{bottom:var(--dockb)}
#bot{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 1.6rem)}
.stats{flex-wrap:wrap}.views{flex-wrap:wrap}
@media(max-width:1300px){#partners{display:none}}
@media(max-width:980px){#left,#right{display:none}body.showp #left{display:block;width:calc(100% - 1.6rem);bottom:var(--bot)}.wm,.sub{display:none}#top{gap:.3rem 1rem}.stats{gap:.8rem;margin-left:0}.stats>div{min-width:3.2rem}.v{font-size:1rem}.views button{padding:.35rem .5rem;font-size:.82rem}}
@media(max-width:640px){.emb{width:1.9rem;height:1.9rem}#dock .gt{width:3.5rem}#dock .gt svg{width:2rem;height:1.6rem}#bot .k{display:none}}
button,.k,.k2.nw,.stats .v,.views button,#dock .gt .gl,#dock .gt .gp,.wm,.sub{white-space:nowrap}
@media(max-height:780px){.dkt{display:none}#dock{padding:.35rem .6rem;gap:.6rem}.dkq #opsCost{display:none}#dock .gt svg{height:1.7rem}#bot{padding:.4rem .7rem}.panel{padding:.7rem .8rem}}
#bot,#dock,#cd,#ho{width:max-content;max-width:calc(100vw - 1.6rem)}
#toast{max-width:calc(100vw - 44rem);width:max-content}.t{text-align:center}
@media(max-width:1500px){.views button{padding:.35rem .6rem;font-size:.85rem}.stats{gap:1.1rem}.sub{display:none}.wm{font-size:1.15rem}}
@media(max-width:980px){#toast{max-width:calc(100vw - 2rem)}}
@media(min-width:981px){#toast,#cd,#ho{left:calc(50% + 2.75rem)}}

/* touch and mouse: comfortable targets, no accidental text selection or page zoom while operating */
html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}button,input{touch-action:manipulation}
@media(pointer:coarse){button{min-height:2.7rem;padding:.55rem .95rem}#dock .gt{min-height:4.6rem}.views button{min-height:2.4rem}.seg button{min-height:3rem}.gq button{min-height:2.4rem}}
@media(min-width:2200px){:root{}.hud{border-radius:.9rem}}
.n span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;word-break:break-word}.n{padding:.3rem .15rem}
#dock .gt .gp{font-size:.82rem}
.famap{border:1px solid var(--line);border-radius:.6rem;padding:.7rem .9rem;margin:.8rem 0;background:#fafcfc}.famap canvas{width:100%;max-width:32rem;height:auto;border-radius:.3rem;display:block}
#toast{top:var(--toast,var(--top))}#cd,#ho{z-index:6}
#cd{white-space:normal;text-align:center}

/* first attempt is unassisted: FloodAstra+ appears after the player has tried it alone */
body.noassist .rec, body.noassist #askB2, body.noassist #modes [data-m="fa"], body.noassist #logw, body.noassist #recB{display:none}
#cMap{cursor:pointer;border:1px solid var(--line);border-radius:.4rem;background:#f4f7f8;touch-action:none}

#dock .dkq button{font-size:.8rem;padding:.3rem .6rem}#dock .dkq button.done{background:var(--accbg);border-color:var(--acc);color:#0a5f57}#dock .dkq button:disabled{opacity:.7;cursor:default}
.chips button.locked{opacity:.45;pointer-events:none}#go.live{background:#c6372e;border-color:#c6372e}
#go.flash{animation:goflash .9s infinite alternate}@keyframes goflash{from{transform:scale(1);box-shadow:0 0 0 0 rgba(15,143,132,.55)}to{transform:scale(1.07);box-shadow:0 0 1.1rem .35rem rgba(15,143,132,.55)}}
/* tablets in portrait and small windows: a compact control dock (gates in one row, other controls in one or two rows) and a one-row-ish bottom bar */
@media(max-width:980px){
 #dock{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem .4rem;width:calc(100vw - 1.6rem);max-width:none;padding:.45rem .55rem}
 #dock .gtiles{display:contents}#dock .gt{width:auto;min-height:3.6rem;padding:.25rem .1rem}#dock .gt svg{width:2.2rem;height:1.8rem}
 #dock .dkq{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:.35rem;justify-content:center}#dock .dkq .gq{display:flex;gap:.35rem}
 #dock .dkq button{min-height:2.4rem;font-size:.82rem;padding:.3rem .7rem;flex:1 1 auto}
 #bot{padding:.4rem .6rem;gap:.35rem}#bot .k{display:none}#bot button{padding:.4rem .65rem}
}

.msg.bad{border-left-color:var(--bad);background:#fbeceb;color:#7d1f19}.msg.good{border-left-color:var(--ok);background:#e6f5ec}.msg.tip{border-left-color:#c98a1b;background:#fdf3de;color:#6b4306}

#sens{margin:.2rem 0 .4rem}.sn{display:flex;align-items:center;gap:.5rem;margin:.22rem 0;font-size:.85rem}.sn i{flex:none;width:.65rem;height:.65rem;border-radius:50%;background:#1e8f5a}.sn.w i{background:#e0a21a}.sn.b i{background:#c6372e}.sn.x i{background:#9aa5a9}.sn span{flex:1;min-width:0;color:var(--mut)}.sn b{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.sn em{flex:none;font-style:normal;display:flex;gap:.2rem}.sn u{text-decoration:none;font-size:.62rem;font-weight:700;padding:.05rem .3rem;border-radius:99px;background:#e3f4f1;color:#0f6f66}.sn u:first-child:not(:last-child){background:#eef0f2;color:#4a5560}
.sn{flex-wrap:wrap}.sn em{flex:0 0 100%;order:5;margin:-.08rem 0 .12rem 1.15rem}.sn span{flex:1 1 7rem}

#waitrow{position:fixed;left:50%;transform:translateX(-50%);bottom:var(--bot);display:none;align-items:center;flex-wrap:wrap;justify-content:center;gap:.4rem .5rem;padding:.4rem .7rem;z-index:3;max-width:calc(100vw - 1.6rem)}#waitrow.on{display:flex}#waitrow button{padding:.3rem .7rem;font-size:.85rem}#waitrow button.done{background:var(--accbg);border-color:var(--acc);color:#0f6f66}#waitrow button.done::after{content:' ✓'}
#dock .gt{position:relative}#dock .gt .gm{position:absolute;left:.15rem;top:.1rem;width:1.3rem;height:1.3rem;line-height:1.2rem;text-align:center;border-radius:50%;background:#eef0f2;border:1px solid #c3cfd3;font-weight:700;font-size:.9rem;color:#4a5560}@media(pointer:coarse){#dock .gt .gm{width:1.7rem;height:1.7rem;line-height:1.6rem}}
#waitrow{top:auto;background:var(--pan);border:1px solid var(--line);border-radius:.8rem;box-shadow:var(--shadow);backdrop-filter:blur(6px)}
@media(min-width:981px){#waitrow{max-width:calc(100vw - 51rem)}}
.lvls{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.lvl{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;text-align:left;padding:1rem 1.1rem;white-space:normal;min-height:8rem;border-width:2px}.lvl b{font-size:1.5rem;color:var(--acc)}.lvl span{font-weight:650;font-size:1.05rem;white-space:normal}.lvl small{color:var(--mut);font-size:.9rem;white-space:normal;line-height:1.35}.lvl:hover{background:var(--accbg)}@media(max-width:700px){.lvls{grid-template-columns:1fr}.lvl{min-height:0}}
.aq{display:flex;align-items:center;gap:.4rem;margin-left:.7rem;padding-left:.8rem;border-left:1px solid var(--line)}.aq img{width:2.3rem;height:2.3rem;border-radius:50%}.aq b{font-size:1.15rem;font-weight:650;white-space:nowrap}
.tlogos{display:flex;gap:2rem;align-items:center;justify-content:center}.aq3{display:flex;flex-direction:column;align-items:center;gap:.3rem}.aq3 img{width:6.4rem;height:6.4rem;border-radius:50%}.aq3 b{font-size:1.25rem;font-weight:650}.plogos img.aqp{height:3.6rem;border-radius:50%}
@media(max-width:980px){.aq b{display:none}.aq{margin-left:.3rem;padding-left:.4rem}}@media(max-width:640px){.aq img{width:1.9rem;height:1.9rem}}

#lab3d{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}.l3{position:absolute;left:0;top:0;white-space:nowrap;font-size:.85rem;font-weight:650;line-height:1;padding:.32rem .55rem;border-radius:.35rem;background:rgba(255,255,255,.94);color:var(--ink);border:1px solid var(--line);box-shadow:0 1px 6px rgba(20,38,45,.25);visibility:hidden;will-change:transform}.l3.info{border-color:var(--acc)}.l3.sens{font-weight:600;font-size:.76rem;color:#3b4c54}.l3.zone.warn{background:#c9780f;color:#fff;border-color:#c9780f}.l3.zone.bad{background:#c6372e;color:#fff;border-color:#c6372e;font-size:.95rem}

.ptab{top:var(--top);z-index:3;display:none;padding:.45rem .9rem;font-weight:600}#tabL{left:.8rem}#tabR{right:.8rem}.ptab.on{background:var(--accbg);border-color:var(--acc)}
@media(min-width:981px){body.stormmin .ptab{display:block}body.stormmin #left,body.stormmin #right{display:none}body.stormmin.showL #left,body.stormmin.showR #right{display:block;top:calc(var(--top) + 3rem)}}
@media(min-width:981px){body.stormmin #ho,body.stormmin #cd{max-width:calc(100vw - 27rem)}body.stormmin #toast{max-width:calc(100vw - 27rem)}}

#tcard{display:none;left:50%;transform:translateX(-50%);top:var(--tctop,5rem);z-index:6;padding:.7rem .9rem;width:min(34rem,calc(100vw - 1.6rem))}.tch{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.4rem}.tch b{font-size:1.05rem}.tch span{flex:1;min-width:0;white-space:normal}.tch button{padding:.05rem .5rem;min-height:0;font-size:1.1rem;line-height:1.2}#tcard table{width:100%;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums}#tcard td{padding:.28rem .4rem;border-top:1px solid var(--line);text-align:left;white-space:nowrap}#tcard td:last-child{white-space:normal;color:var(--mut)}#tcard tr.hi td:first-child{font-weight:650;color:#0f6f66}#tcard tr.past{opacity:.45}
.flashb{animation:goflash .9s infinite alternate;border-color:var(--acc)!important}

/* ---- phone layout (portrait phones): compact top bar, one-row gates, short labels, fewer speed buttons */
@media(max-width:640px){
html{font-size:13px}
#top{left:.4rem;right:.4rem;top:.4rem;padding:.3rem .5rem;gap:.2rem .6rem;min-height:0}.emb{width:1.7rem;height:1.7rem}.aq{margin-left:.3rem;padding-left:.4rem}.aq img{width:1.7rem;height:1.7rem}
.stats{gap:.75rem;flex-wrap:nowrap;margin-left:auto}.stats>div{min-width:0}.stats .k{font-size:.6rem}.v{font-size:.92rem}.stats>div:nth-child(2){display:none}
.views{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.3rem}.views::-webkit-scrollbar{display:none}.views button{flex:none;padding:.3rem .6rem;min-height:2.1rem;font-size:.8rem}#fs{display:none}
#dock{width:calc(100vw - .8rem);max-width:none;padding:.35rem .4rem;gap:.3rem}#dock .gtiles{width:100%;flex:0 0 100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem}#dock .gt{width:100%;min-height:3.5rem;padding:.25rem 0 .15rem}#dock .gt svg{width:1.6rem;height:1.25rem}#dock .gt .gm{width:1.35rem;height:1.35rem;line-height:1.25rem;left:.05rem;top:.05rem}#dock .gt .gl{font-size:.62rem}#dock .gt .gp{font-size:.82rem}
.dkq{flex-direction:row;flex-wrap:nowrap;width:100%;gap:.25rem}.dkq .gq{display:flex;flex:1;gap:.25rem;margin:0}.dkq .gq button,.dkq>button{flex:1;min-width:0;padding:.3rem .15rem;font-size:.74rem;min-height:2.3rem;white-space:normal;line-height:1.1}
#bot{width:calc(100vw - .8rem);padding:.3rem .35rem;gap:.25rem;justify-content:center;flex-wrap:nowrap}#bot button{padding:.35rem .55rem;font-size:.82rem;min-height:2.3rem}#bot [data-s="0.5"],#bot [data-s="8"],#bm,#bf,#bot .k{display:none}#bot #go{flex:1}
#waitrow{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;max-width:calc(100vw - .8rem);padding:.3rem .4rem;scrollbar-width:none}#waitrow::-webkit-scrollbar{display:none}#waitrow button,#waitrow .k2{flex:none}
.t{font-size:.84rem;padding:.4rem .65rem;max-width:92vw}#cd,#ho{max-width:calc(100vw - .8rem);font-size:.85rem}
#card{width:96vw;padding:1rem 1rem;max-height:88vh}#card h2{font-size:1.25rem}#card .lead{font-size:.95rem!important;line-height:1.45!important}#card .big{font-size:1.7rem!important}.cols{grid-template-columns:1fr!important}.acts{flex-wrap:wrap}
.tbox{padding:1rem}.tlogos{gap:1.2rem}.emb3{width:4.6rem;height:4.6rem}.aq3 img{width:4.3rem;height:4.3rem}#title h1{font-size:1.9rem}#title p{font-size:.98rem}.plogos{gap:1rem;flex-wrap:wrap;justify-content:center}.plogos img{height:2.3rem}
.l3{font-size:.72rem;padding:.25rem .4rem}.l3.zone.bad{font-size:.78rem}#tcard{font-size:.85rem}#tcard td{white-space:normal}
body.showp #left{top:var(--top);bottom:var(--bot);width:calc(100% - .8rem);left:.4rem}
}
/* landscape phones: little height, so the dock and the bar get thinner */
@media(max-height:480px) and (orientation:landscape){html{font-size:12px}#dock .gt{min-height:3rem}#dock .gt svg{height:1.2rem}#bot{padding:.25rem .5rem}#bot button{min-height:2rem;padding:.25rem .55rem}#top{min-height:0;padding:.2rem .7rem}.views button{min-height:1.9rem;padding:.2rem .5rem}#waitrow{display:none!important}#card{max-height:94vh;padding:.8rem 1rem}}
@media(max-width:640px){#dock{display:flex!important;flex-wrap:wrap}#dock .gtiles,#dock .dkq{flex:0 0 100%;width:100%;grid-column:auto}}

#scard{display:none;left:.8rem;bottom:var(--bot);z-index:6;padding:.7rem .9rem;width:min(25rem,calc(100vw - 1.6rem))}#scard .tch img{width:1.7rem;height:1.7rem;border-radius:50%;align-self:center}#scard .tch b{flex:1;min-width:0;white-space:normal;font-size:1rem}.srow{display:flex;gap:.9rem;align-items:center;margin:.2rem 0 .4rem}.sbig{font-size:2.6rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.sbig small{display:block;font-size:.72rem;font-weight:600;color:var(--mut);margin-top:.25rem;white-space:normal;max-width:8rem}.sbig.warn{color:var(--warn)}.sbig.bad{color:var(--bad)}.sside{flex:1;min-width:0}.sside svg{width:100%;height:2.4rem;display:block;margin:.25rem 0 .1rem;background:#f4f7f8;border-radius:.3rem}.smeta{display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin-top:.45rem;padding-top:.4rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--mut)}.l3.sens.al{background:#c6372e;color:#fff;border-color:#c6372e}
@media(max-width:640px){#scard{left:.4rem;width:calc(100vw - .8rem)}.sbig{font-size:2.1rem}}
/* landscape phones: one slim control strip so the city stays visible */
@media(max-height:480px) and (orientation:landscape){
#top{flex-wrap:nowrap;left:.4rem;right:.4rem;top:.3rem;gap:.6rem}.wm,.sub,.aq b{display:none}.stats{flex-wrap:nowrap;gap:.7rem}.stats .k{font-size:.62rem}.v{font-size:.95rem}.views{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:auto}.views::-webkit-scrollbar{display:none}.views button{flex:none}#fs{display:none}
#dock{display:grid!important;grid-template-columns:auto 1fr;gap:.25rem .5rem;align-items:center;width:calc(100vw - .8rem);max-width:none;padding:.3rem .45rem}
#dock .gtiles{grid-column:1;grid-row:1 / span 2;display:flex;gap:.25rem;width:auto;flex:none}#dock .gt{width:3.3rem;min-height:3.3rem;padding:.2rem 0}#dock .gt svg{width:1.6rem;height:1.2rem}
#dock .dkq{grid-column:2;display:flex;flex-direction:row;flex-wrap:nowrap;gap:.25rem;width:auto;flex:none}#dock .dkq:last-child{display:none}.dkq .gq{display:flex;flex:1;gap:.25rem;margin:0}.dkq .gq button,.dkq>button{flex:1;min-width:0;min-height:1.9rem;padding:.15rem .3rem;font-size:.76rem;white-space:normal;line-height:1.1}.dkq #opsCost{display:none}
#bot{padding:.25rem .4rem;gap:.25rem;flex-wrap:nowrap}#bot [data-s="0.5"],#bot [data-s="8"],#bm,#bf,#bot .k{display:none}
.t{font-size:.8rem;padding:.3rem .6rem}#toast{gap:.25rem}#cd,#ho{font-size:.82rem;padding:.3rem .7rem}.ptab{display:none!important}
}

#goals{display:none;left:50%;transform:translateX(-50%);top:var(--gtop,5rem);z-index:3;gap:.35rem;padding:.3rem .4rem;max-width:calc(100vw - 1.6rem);flex-wrap:wrap;justify-content:center}#goals span{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.25rem .65rem;border-radius:.45rem;font-size:.82rem;line-height:1.15;background:#e6f5ec;color:#145c3b;white-space:nowrap}#goals span b{font-size:.66rem;font-weight:650;opacity:.8;text-transform:uppercase;letter-spacing:.03em}#goals .gl1{background:#fdf0d5;color:#7a4a05}#goals .gl2{background:#c6372e;color:#fff}
@media(min-width:981px){body.stormmin #goals{max-width:calc(100vw - 27rem)}}@media(max-width:640px){#goals{gap:.2rem;padding:.2rem}#goals span{padding:.2rem .4rem;font-size:.72rem}#goals span b{font-size:.56rem}}

/* instrument cluster */
#dials{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .6rem;margin:.2rem 0 .5rem}.dial{display:flex;flex-direction:column;align-items:center;background:#f4f7f8;border:1px solid var(--line);border-radius:.6rem;padding:.35rem .3rem .4rem}.dial svg{width:100%;max-width:8.5rem;height:auto;display:block}.dbg,.dred,.dval{fill:none;stroke-width:8;stroke-linecap:butt}.dbg{stroke:#dfe6e9}.dred{stroke:#f2c4c0}.dval{stroke:#0f8f84;transition:stroke-dasharray .4s}.dval.hot{stroke:#c6372e}.dneedle{stroke:#14262d;stroke-width:2.2;stroke-linecap:round;transition:transform .4s}.dhub{fill:#14262d}.dial b{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;margin-top:-.15rem}.dial b.hot{color:var(--bad)}.dial span{font-size:.7rem;color:var(--mut);margin-top:.15rem;white-space:nowrap}
#stgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin:.25rem 0 .5rem}.stl{aspect-ratio:1;min-height:0!important;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c3cfd3;background:#1e8f5a}.stl.s1{background:#e0a21a}.stl.s2{background:#c6372e;animation:goflash 1s infinite alternate}.stl.s3{background:#9aa5a9}
#sens,#escv,#gflows,#tidev{display:none}

body.stormmin .stormsec,body.stormmin #storms{display:none}
@media(min-width:981px){body.stormmin.showR #toast,body.stormmin.showL #toast,body.stormmin.showR #goals,body.stormmin.showL #goals,body.stormmin.showR #ho,body.stormmin.showL #ho{max-width:calc(100vw - 45rem)}body.stormmin.showL.showR #toast,body.stormmin.showL.showR #goals,body.stormmin.showL.showR #ho{max-width:calc(100vw - 51rem)}}

/* public response strip */
#resp{display:none;left:50%;transform:translateX(-50%);bottom:var(--bot);z-index:3;flex-direction:column;gap:.35rem;padding:.4rem .55rem;max-width:calc(100vw - 1.6rem)}#resp.on{display:flex}.rz{display:flex;gap:.25rem;justify-content:center}.rz button{display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.2rem .45rem;min-height:0;min-width:2.9rem;line-height:1.1}.rz button b{font-size:.78rem}.rz button i{font-style:normal;font-size:.68rem;color:var(--mut)}.rz button.w{background:#fdf0d5;border-color:#e0a21a}.rz button.b{background:#f8d7d4;border-color:#c6372e}.rz button.sel{outline:2px solid var(--acc);outline-offset:1px}.ra{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;justify-content:center}.ra .k2{flex:0 0 100%;text-align:center}.ra button{padding:.3rem .7rem;font-size:.84rem}.ra button.done{background:var(--accbg);border-color:var(--acc);color:#0f6f66}
@media(min-width:981px){#resp{max-width:calc(100vw - 27rem)}}@media(max-width:640px){#resp{padding:.3rem;gap:.25rem}.rz{gap:.15rem}.rz button{min-width:0;flex:1;padding:.15rem .1rem}.ra button{flex:1;padding:.3rem .2rem;font-size:.72rem;white-space:normal;line-height:1.1}}
@media(max-height:480px) and (orientation:landscape){#resp .ra .k2{display:none}.rz button i{display:none}}

.wins{display:flex;flex-direction:column;gap:.2rem;margin-top:.5rem;font-size:.92rem;font-weight:600}.wins .ok{color:var(--ok)}.wins .no{color:var(--bad)}
#alert{bottom:var(--abot,var(--bot))}
@media(max-width:640px){.stats>div:nth-child(2){display:none}.stats{gap:.6rem}}

details.deb{margin-top:.6rem;border-top:1px solid var(--line);padding-top:.5rem}details.deb summary{cursor:pointer;font-weight:600;color:var(--acc);padding:.3rem 0;list-style-position:inside}details.deb[open] summary{margin-bottom:.3rem}
.cols{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}

/* response strip: a single button on tablets and phones, opened on demand */
.rtog{display:none;font-weight:650;padding:.35rem .8rem}#resp:not(.open) .rz,#resp:not(.open) .ra{display:none}@media(min-width:981px){#resp .rz,#resp .ra{display:flex!important}}
@media(max-width:980px){.rtog{display:block}#resp{padding:.3rem .4rem}#resp:not(.open){padding:.2rem}#goals{flex-wrap:nowrap;gap:.25rem;padding:.2rem .3rem}#goals span{padding:.18rem .45rem;font-size:.72rem}#goals span b{font-size:.58rem}body.stormmin #dock #askB2{display:none}#toast{gap:.25rem}}

.l3.go{background:#0f8f84;color:#fff;border-color:#0f8f84;font-size:.95rem;padding:.4rem .7rem;box-shadow:0 0 0 3px rgba(25,224,192,.35),0 2px 10px rgba(20,38,45,.35)}.flashh{animation:goflash .8s infinite alternate;border-color:var(--acc)!important;box-shadow:0 0 0 3px rgba(25,224,192,.5)}
.gq .two{align-self:center;white-space:nowrap;padding:0 .3rem}@media(max-width:640px){.gq .two{font-size:.7rem;white-space:normal}}
.gq .two{white-space:normal;line-height:1.15;font-size:.72rem;text-align:center}#dock{max-width:calc(100vw - 1rem)}
@media(max-width:640px){#bot #bm{display:inline-block}#bot #bp{display:none}}@media(max-height:480px) and (orientation:landscape){#bot #bm{display:inline-block}}
#alert.amber{background:#c9780f;border-color:#c9780f}
@media(max-height:480px) and (orientation:landscape){#dock .dkq:last-child{display:flex}#dock .dkq:last-child #askB2{display:none}}
.t.hint{border-left-color:#0f8f84;background:#e3f4f1;font-weight:650;box-shadow:0 0 0 3px rgba(25,224,192,.35),var(--shadow)}

#goals{align-items:center}#cFs{width:11.5rem;height:auto;flex:none;border-radius:.4rem;border:1px solid var(--line)}#goalsT{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center}@media(max-width:980px){#goalsT{flex-wrap:nowrap;gap:.25rem}#cFs{width:8rem}}@media(max-width:640px){#goals{flex-wrap:wrap!important}#cFs{width:100%;max-height:2.6rem}}
#coach{display:none;left:50%;transform:translateX(-50%);bottom:var(--bot);z-index:6;align-items:center;gap:.8rem;padding:.6rem .9rem;max-width:min(38rem,calc(100vw - 1.6rem));font-size:1.02rem;line-height:1.35;border-color:var(--acc);box-shadow:0 0 0 3px rgba(25,224,192,.35),var(--shadow)}#coach button{flex:none}
.quiz{display:flex;flex-direction:column;gap:.8rem;margin:.6rem 0}.qq b{display:block;margin-bottom:.35rem}.qq div{display:flex;gap:.4rem;flex-wrap:wrap}.qq button{white-space:normal;text-align:left}.qq button.ok{background:#d9f0e4;border-color:var(--ok);color:#145c3b;font-weight:650}.qq button.no{background:#f8d7d4;border-color:var(--bad);color:#7d1f19}

/* gate tile with its own − and + buttons underneath */
.gw{display:flex;flex-direction:column;gap:.18rem;min-width:0}#dock .gt .gm{display:none}.gpm{display:flex;gap:.18rem}.gpm button{flex:1;min-width:0;padding:0;min-height:1.7rem;font-size:1.05rem;font-weight:700;line-height:1}.gpm .gpl{color:#0f6f66}.gpm .gm{position:static;width:auto;height:auto;border-radius:.5rem;background:#fff;color:#7d1f19}
@media(pointer:coarse){.gpm button{min-height:2.1rem}}
@media(max-width:640px){#dock .gtiles{grid-template-columns:repeat(6,minmax(0,1fr))}.gw .gt{width:100%}}
@media(max-height:480px) and (orientation:landscape){.gpm button{min-height:1.5rem}#dock .gt{min-height:2.6rem}}
#coach .ct{flex:1;min-width:0}@media(max-width:640px){#coach{font-size:.95rem;padding:.5rem .7rem;gap:.5rem}}
/* tablets (641-980 px): one compact control block so boxes do not pile up over the city */
@media(min-width:641px) and (max-width:980px){
#dock{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:.3rem;align-items:stretch;padding:.45rem .5rem;width:calc(100vw - 1.2rem);max-width:none}
#dock .gtiles{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem;width:auto}#dock .gt{width:100%;min-height:3.6rem}
#dock .dkq,#dock .dkq .gq{display:contents}#dock .dkq .two,#dock .dkq #opsCost,#dock #askB2{display:none!important}
#dock .gq button[data-all="0"]{grid-column:span 2}#dock #regB{grid-column:span 3}#dock #warnB{grid-column:span 3}#dock #bagB{grid-column:span 2}#dock #hintB2{grid-column:span 2}
#dock .gq button,#dock #regB,#dock #warnB,#dock #bagB,#dock #hintB2{min-width:0;padding:.3rem .2rem;font-size:.82rem;white-space:normal;line-height:1.15;min-height:2.5rem}
#bot [data-s="0.5"],#bot [data-s="8"],#bot .k{display:none}
#alert{display:none!important}
#waitrow{flex-wrap:nowrap;padding:.3rem .5rem}#waitrow .k2{display:none}#waitrow button{flex:1;white-space:nowrap}
}
@media(max-width:640px){#alert{display:none!important}}

.lb{margin-top:.9rem;padding-top:.6rem;border-top:1px solid var(--line)}.lbin{display:flex;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.lbin input{flex:1;min-width:9rem;font:inherit;padding:.5rem .7rem;border:1px solid #c3cfd3;border-radius:.5rem;-webkit-user-select:text;user-select:text}.lb table{width:100%;border-collapse:collapse;font-size:.95rem;font-variant-numeric:tabular-nums}.lb td{padding:.3rem .5rem;border-top:1px solid var(--line)}.lb td:first-child{width:2rem;color:var(--mut)}.lb td:last-child{text-align:right}.lb tr.me td{background:var(--accbg);font-weight:650}
.lb tr.fa td{background:#eef7f6;font-weight:650;color:#0f6f66}.lb tr.fa img{width:1.2rem;height:1.2rem;vertical-align:-.2rem;margin-right:.35rem}
/* ---- control-room identity: square instrument panels, engraved labels, monospaced read-outs, and a title screen that opens on the city */
.hud,.panel,button,.t,#card,.msg,.dial,.lvl,.col,#cFs,.rz button,.lbin input,#goals span,.l3,.flashlogo,.famap,details.deb{border-radius:3px!important}
.hud{border:1px solid #9fb0b6;border-top:3px solid #14262d;box-shadow:0 2px 0 rgba(20,38,45,.18),0 6px 18px rgba(20,38,45,.18)}
.sec,.k,#goals span b{text-transform:uppercase;letter-spacing:.07em;font-size:.66rem;font-weight:700;color:#4a5d66}
.v,.lvbig,.sbig,.dial b,#dock .gt .gp,.big,#cd b,#tcard td:nth-child(2),#tcard td:nth-child(3),.lb td:last-child{font-family:ui-monospace,"SF Mono",Menlo,Consolas,"Roboto Mono",monospace;letter-spacing:-.02em}
button{background:#f3f6f7;border:1px solid #9fb0b6;font-weight:600}button:hover{border-color:#14262d}button.on{background:#14262d;border-color:#14262d;color:#fff}
button.pri{background:#0f8f84;border-color:#0b6f66;color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
#dock .gt{background:#eef2f3;border:1px solid #9fb0b6}#dock .gt.o{background:#dff3ef;border-color:#0f8f84}
.t{border-left-width:5px}.dial{background:#eef2f3;border-color:#9fb0b6}
#title{background:linear-gradient(180deg,rgba(8,20,26,.88) 0%,rgba(8,20,26,.62) 45%,rgba(8,20,26,.9) 100%)}#title h1{color:#fff;letter-spacing:-.01em}#title h1 span{color:#9fd9d2;text-transform:uppercase;letter-spacing:.22em;font-size:1rem;margin-top:.5rem}#title p{color:#dbe6e9}#title .small{color:#9db1b8}
.tlogos img.emb3{background:#fff;padding:.3rem;border-radius:6px}.aq3 img{background:#fff;padding:.2rem}.aq3 b{color:#fff}#title .plogos{border-top-color:rgba(255,255,255,.25);justify-content:center}#title .plogos img{background:#fff;padding:.25rem .4rem;border-radius:4px;height:3.2rem}
#begin{font-size:1.25rem;padding:.9rem 2.6rem;letter-spacing:.06em;text-transform:uppercase}
body.titling .hud,body.titling #lab3d,body.titling #toast{visibility:hidden!important}#title{background:linear-gradient(180deg,rgba(8,20,26,.82) 0%,rgba(8,20,26,.45) 45%,rgba(8,20,26,.86) 100%)}
body.titling .hud *{visibility:hidden!important}

/* top bar: dials in place of the text read-outs */
.oldst{display:none!important}#tdials{display:flex;gap:.35rem;align-items:flex-end}.dial.mini{background:none;border:none;padding:0;width:4.9rem}.dial.mini svg{max-width:4.4rem}.dial.mini b{font-size:1rem;margin-top:-.2rem}.dial.mini span{font-size:.56rem;margin-top:.05rem;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:1250px){.dial.mini{width:4.2rem}.dial.mini svg{max-width:3.8rem}.dial.mini b{font-size:.9rem}}
@media(max-width:640px){.dial.mini{width:3.3rem}.dial.mini svg{max-width:3rem}.dial.mini b{font-size:.78rem}.dial.mini span{font-size:.48rem}#tdials .dial:nth-child(3),#tdials .dial:nth-child(4){display:none}#tdials{gap:.15rem}.stats>div:nth-child(2){display:block}}
@media(max-height:480px) and (orientation:landscape){.dial.mini{width:3.4rem}.dial.mini svg{max-width:3rem;max-height:1.6rem}.dial.mini b{font-size:.78rem}.dial.mini span{display:none}}
#tdials{display:flex!important}.stats{align-items:flex-end}
.dial.mini{width:5.2rem}.dial.mini span{white-space:nowrap;font-size:.55rem;letter-spacing:.03em}#tdials{gap:.5rem}@media(max-width:1250px){.dial.mini{width:4.7rem}#tdials{gap:.3rem}}@media(max-width:640px){.dial.mini{width:3.6rem}.dial.mini span{font-size:.47rem;letter-spacing:0}}
/* top bar composition on wide screens: brand and views on the left, large dials in the centre, clock and score on the right */
@media(min-width:981px){
#top{display:grid!important;grid-template-columns:auto 1fr auto;grid-template-areas:"brand dials clock" "views dials score";align-items:center;gap:.25rem 1.6rem;padding:.45rem 1.1rem}
#brand{grid-area:brand}.views{grid-area:views;flex-wrap:nowrap}.stats{display:contents!important}
.stats>div:first-child{grid-area:clock;text-align:right;align-self:end}.stats>div:last-child{grid-area:score;text-align:right;align-self:start}.stats>div:first-child .v,.stats>div:last-child .v{font-size:1.5rem}
#tdials{grid-area:dials;justify-content:center;gap:1.3rem;align-items:center}
.dial.mini{width:6.8rem}.dial.mini svg{max-width:6.2rem}.dial.mini b{font-size:1.25rem;margin-top:.12rem}.dial.mini span{font-size:.62rem;letter-spacing:.06em}
}
@media(min-width:981px) and (max-width:1250px){#tdials{gap:.6rem}.dial.mini{width:5.4rem}.dial.mini svg{max-width:4.9rem}.dial.mini b{font-size:1.05rem}.views button{padding:.3rem .45rem;font-size:.8rem}}
.dial b{margin-top:.08rem}.dial.mini b{margin-top:.1rem}
.t{max-width:42rem;white-space:normal}
@media(min-width:981px){#coach{max-width:calc(100vw - 52rem)}}
@media(min-width:981px){#tcard{width:min(34rem,calc(100vw - 52rem))}#tcard td{white-space:normal}body:not(.stormmin) #cd{max-width:calc(100vw - 52rem);white-space:normal;text-align:center}}
@media(max-width:640px){#goals{width:calc(100vw - .8rem);max-width:none;left:.4rem;transform:none}#goalsT{display:grid!important;grid-template-columns:1fr 1fr;gap:.2rem;width:100%}#goals span{white-space:normal}}

.tlbox{margin:.6rem 0 .8rem}#cTl{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:3px}.tlkey{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.3rem;font-size:.8rem;color:var(--mut)}.tlkey i{display:inline-block;width:1.1rem;height:.25rem;vertical-align:middle;margin-right:.3rem}

/* the hint glow must not move the element (several hinted elements are centred with a transform) */
@keyframes hglow{from{box-shadow:0 0 0 0 rgba(25,224,192,.0)}to{box-shadow:0 0 0 6px rgba(25,224,192,.65)}}.flashh{animation:hglow .8s infinite alternate!important;border-color:#0f8f84!important}

/* Results on a phone: the FloodAstra+ invitation stacks, so its text is not squeezed into a narrow column */
@media (max-width:640px){.flashlogo{flex-wrap:wrap;gap:.6rem;padding:.7rem}.flashlogo img{width:2.6rem;height:2.6rem}.flashlogo>div:not(.acts){flex:1 1 60%}.flashlogo .acts{margin:0;flex:1 1 100%}.flashlogo .acts button{width:100%}}

/* Forecast strip keeps its own shape (drawn at the size shown), so its text is never squeezed */
#cFs{height:3.6rem!important;max-height:none!important}
@media (max-width:640px){#cFs{height:3rem!important}}
/* Hands-off replay: the manual controls step back; only the gate tiles stay to show what FloodAstra+ is doing */
body.handsoff #dock .gpm,body.handsoff #dock .dkq,body.handsoff #dock .dkt .k2{display:none!important}body.handsoff #gates{pointer-events:none}

@media (min-width:1200px){#goals{flex-wrap:nowrap!important;align-items:center}#goalsT{flex:1 1 auto;min-width:0}}
@media (min-width:1200px){#goalsT{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1200px){#cFs{width:9rem!important}#goalsT span{min-width:0}#goalsT .k2,#goalsT b{white-space:nowrap}}

/* Weather radar: icon on its button, scope beside its reading, star caption */
.ric{width:1.05em;height:1.05em;vertical-align:-.16em;margin-right:.35em}
.rdw{display:flex;gap:.9rem;align-items:center;margin-top:.4rem}#cRd{width:11rem;height:11rem;flex:none;border-radius:50%!important}#rdT{font-size:.9rem;line-height:1.45;color:var(--ink)}
@media (max-width:640px){.rdw{gap:.6rem}#cRd{width:7.5rem;height:7.5rem}#rdT{font-size:.82rem}}
.stars small{display:block;font-size:.72rem;color:var(--mut);letter-spacing:0;margin-top:.15rem;font-family:inherit}
@media (max-width:640px){#waitrow.on{display:grid!important;grid-template-columns:1fr 1fr;gap:.3rem;width:calc(100vw - 1.2rem);overflow:visible}#waitrow .k2:first-child{display:none}#waitrow #wCount{grid-column:1/-1;text-align:center}#waitrow button{width:100%;padding:.34rem .3rem;font-size:.82rem}}
#coach .cs{display:inline-block;margin-right:.5rem;padding:.05rem .45rem;border:1px solid var(--acc);border-radius:3px;font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;vertical-align:middle}
#card,.panel,#tcard,#scard{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
#card{max-height:min(92vh,92dvh)}
@media (max-width:640px){#card{max-height:min(88vh,88dvh)}}
@media (max-width:640px){#coach{width:calc(100vw - 1.6rem);box-sizing:border-box}}
.lbask{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin:.2rem 0 .9rem;padding:.6rem .8rem;border:1px solid var(--acc);border-radius:3px;background:#f1f9f8}.lbask .lbq{flex:none}.lbask .lbin{flex:1 1 16rem;margin:0}.lbask #lbDone{flex:1 1 12rem}
/* Phone audit 12-11: tap targets at least 40 px tall, no text under 10 px */
@media (max-width:640px) and (orientation:portrait){
.views button{min-height:40px!important;font-size:12px!important;padding:0 .7rem!important}
#dock .gpm button{min-height:40px!important;font-size:18px!important}
#dock .dkq button,#dock .gq button,#bot button,#waitrow button,#resp .rtog,#resp button{min-height:40px!important;font-size:12px!important}
#card .acts button,#card button{min-height:42px}
#tcx,#scx{min-width:40px!important;min-height:40px!important;font-size:18px!important}
.stats .k{font-size:10px!important;letter-spacing:.04em!important}
.dial.mini span{font-size:10px!important;letter-spacing:0!important;text-transform:none!important}.dial.mini b{font-size:12.5px!important}
#goalsT b{font-size:10px!important}#goalsT span{font-size:11.5px!important}
#dock .gt .gl{font-size:10px!important}#dock .gt .gp{font-size:12.5px!important}
.gq .two{font-size:10.5px!important}
#card .k2,#tcard .k2,#tcard small,#waitrow .k2,#waitrow span{font-size:11px!important}
#coach .cs{font-size:10px}
#lab3d .l3{font-size:11px!important}
.foot,#title .foot,#title small{font-size:11px!important}
}
@media (max-width:640px) and (orientation:portrait){#dock>.dkq>button{padding:0 .35rem!important;font-size:11.5px!important;flex:1 1 auto}.dial.mini span{font-size:9.5px!important;white-space:nowrap}}
@media (max-width:640px) and (orientation:portrait){
#dock .dkq{display:contents!important}#dock .gq{flex:1 1 40%;order:1;display:flex}#dock .gq button{width:100%}#dock .gq .two,#dock #opsCost{display:none!important}
#dock #hintB2{flex:1 1 40%!important;order:1}#dock #askB2{order:1}
#dock #regB,#dock #warnB,#dock #bagB{flex:1 1 28%!important;order:2;padding:0 .2rem!important;font-size:11px!important;line-height:1.15;white-space:normal}
#coSkip{min-height:40px}
}
@media (max-width:640px) and (orientation:portrait) and (max-height:720px){#cFs{display:none!important}#goals{padding:.25rem!important}#dock .gt{min-height:3.4rem!important}}
/* Phone held sideways: one row of quick actions, taller plus/minus, readable labels */
@media (max-height:480px) and (orientation:landscape){
#dock{display:flex!important;flex-wrap:wrap;gap:.3rem!important;padding:.3rem .5rem!important}#dock .gtiles{flex:0 0 100%}#dock .dkt{display:none!important}
#dock .dkq{display:contents!important}#dock .gq{flex:1 1 12%;order:1;display:flex}#dock .gq button{width:100%}#dock .gq .two,#dock #opsCost{display:none!important}
#dock #hintB2,#dock #regB,#dock #warnB,#dock #bagB,#dock #askB2{flex:1 1 12%!important;order:1;white-space:nowrap;padding:0 .3rem!important}
#dock .dkq button,#dock .gq button,#bot button,.views button,#waitrow button,#resp button,#coSkip{min-height:34px!important;font-size:11px!important}
#dock .gpm button{min-height:32px!important;font-size:16px!important}#dock .gt{min-height:2.4rem!important}
#dock .gt .gl{font-size:10px!important}#dock .gt .gp{font-size:11.5px!important}
.stats .k{font-size:9.5px!important}#goalsT b{font-size:9.5px!important}#goalsT span{font-size:10.5px!important}
#card .acts button,#card button{min-height:36px}#card .k2,#tcard .k2,#tcard small,#tcard span,#tcard td{font-size:10.5px!important}
#tcx,#scx{min-width:36px!important;min-height:36px!important;font-size:16px!important}
#coach .cs{font-size:9.5px}#lab3d .l3{font-size:10.5px!important}
}
@media (max-height:480px) and (orientation:landscape){.dial.mini span{display:block!important;font-size:9.5px!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap}.dial.mini{width:4rem!important}.dial.mini b{font-size:11.5px!important}}
@media (max-height:480px) and (orientation:landscape){#dock .gq{flex:1 1 12%!important;width:auto!important;min-width:0!important;max-width:none}.dial.mini{width:4.9rem!important}#tdials{gap:.1rem!important}}
@media (max-height:480px) and (orientation:landscape){#dock .gq{display:flex!important}}

/* Sensor card: instrument-style readings (12-11) */
.sch{display:flex;gap:.3rem;align-items:stretch;margin:.25rem 0 .1rem}.sch svg{flex:1;min-width:0;margin:0}.sax{display:flex;flex-direction:column;justify-content:space-between;font-size:.72rem;color:var(--mut);font-variant-numeric:tabular-nums;text-align:right;min-width:2.2rem}.sax i{font-style:normal}
.strd{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.15rem .9rem;margin:.1rem 0 .35rem;font-size:.82rem;font-weight:600}.strd span+span{font-weight:400;color:var(--mut)}.skind{margin-top:.25rem;font-style:italic}
@media(max-width:980px){.sax,.sbig small{font-size:10.5px}}
/* Leaderboard redesign (12-11) */
.tbtn{display:flex;gap:.7rem;justify-content:center;align-items:stretch;flex-wrap:wrap}.tbtn #lbOpen{font-size:1rem;padding:.6rem 1.3rem;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.55);letter-spacing:.04em;text-transform:uppercase}
#lbOver{position:fixed;inset:0;z-index:40;display:none;align-items:center;justify-content:center;background:rgba(8,20,26,.6);padding:.8rem}.lbcard{position:relative;background:#fff;color:var(--ink);border-radius:3px;width:min(34rem,100%);max-height:min(90vh,90dvh);overflow:auto;padding:1rem 1.1rem 1.1rem;text-align:left;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.lbcard .lb{margin:0;padding:0;border:0}#lbX{position:absolute;top:.5rem;right:.5rem;width:40px;height:40px;font-size:1.3rem;line-height:1;padding:0}
.lbhd{display:flex;align-items:baseline;gap:.6rem;margin:.1rem 0 .5rem;padding-right:2.8rem}.lbtt{font-size:1.15rem;letter-spacing:.02em}.lbcap{font-size:.8rem;color:var(--mut)}
.lbtabs{display:flex;gap:.3rem;margin-bottom:.55rem}.lbtabs button{flex:1;min-height:40px;padding:.3rem .4rem;font-size:.85rem;background:#f4f7f8;border:1px solid var(--line);color:var(--mut)}.lbtabs button.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:650}
.lbst{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin-bottom:.55rem}.lbst div{background:#f4f7f8;border-radius:3px;padding:.4rem .5rem;min-width:0}.lbst b{display:block;font-size:1.15rem;font-variant-numeric:tabular-nums;line-height:1.15}.lbst span{font-size:.72rem;color:var(--mut);line-height:1.2;display:block}
.lb table.lbt{font-size:.95rem}.lbt th{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);text-align:left;padding:.2rem .5rem}.lbt th:last-child{text-align:right}.lb .lbt td{padding:.42rem .5rem;vertical-align:middle}.lb .lbt td:first-child{width:2.6rem}
.rk{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;font-style:normal;font-weight:650;font-size:.85rem;color:var(--mut);background:#eef2f3;font-variant-numeric:tabular-nums}.rk.r1{background:#e2b230;color:#3a2b00}.rk.r2{background:#b9c3c7;color:#1f2a2e}.rk.r3{background:#c98a55;color:#fff}
.lbn{display:block;font-weight:600;overflow-wrap:anywhere}.lbn em{font-style:normal;font-size:.7rem;font-weight:650;color:#fff;background:var(--acc);border-radius:3px;padding:.05rem .3rem;margin-left:.25rem;vertical-align:.08rem}.lbt small{display:block;font-size:.72rem;color:var(--mut)}
.lbt u{text-decoration:none;font-size:.74rem;font-weight:650;border-radius:3px;padding:.12rem .4rem;white-space:nowrap}.lbt u.w{background:#e3f4ea;color:#17683f}.lbt u.l{background:#eef0f1;color:#6b777b}.lbt u.b{background:#dff1ef;color:#0f6f66}
.lb .lbt td:last-child{width:5.2rem;font-size:1.05rem;background:linear-gradient(90deg,transparent calc(100% - var(--s,0%) * .9),rgba(15,143,132,.13) 0) no-repeat}.lb .lbt tr.me td:last-child{background:linear-gradient(90deg,var(--accbg) calc(100% - var(--s,0%) * .9),rgba(15,143,132,.28) 0)}.lb .lbt tr.fa td:first-child img{width:1.7rem;height:1.7rem;margin:0;vertical-align:middle}
.lbt tr.none td,.lbt tr.gap td{text-align:center!important;color:var(--mut);background:none!important;width:auto!important;font-size:.9rem;font-family:inherit!important}.lbt tr.gap td{padding:.05rem;border:0;letter-spacing:.2em}
@media(max-width:640px){.lbst{grid-template-columns:repeat(2,1fr)}.lbtabs button{font-size:12px}.lbst span,.lbt th,.lbt small,.lbt u,.lbcap{font-size:10.5px}.lbn em{font-size:10px}.lb .lbt td{padding:.42rem .3rem}.lb .lbt td:last-child{width:4rem}.tbtn #lbOpen{min-height:40px}}
@media(max-width:640px){.stars small{font-size:10.5px}#card .sec{font-size:10px}}

/* Drain health card and folded checks strip (12-11) */
.drh{margin:.15rem 0 .4rem;padding:.35rem .55rem;border-radius:3px;font-weight:650;background:#eef2f3}.drh.g{background:#e3f4ea;color:#17683f}.drh.w{background:#fbf0d9;color:#8a5a06}.drh.b{background:#fbe4e1;color:#a12a22}
.drt{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.drt th{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);text-align:left;padding:.15rem .35rem}.drt td{padding:.28rem .35rem;border-top:1px solid var(--line);white-space:nowrap}.drt td:nth-child(2){white-space:normal}.drt td i{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:#1e8f5a;margin-right:.4rem}.drt tr.w td i{background:#e0a21a}.drt tr.b td i{background:#c6372e}
.drb{display:inline-block;width:3.2rem;height:.5rem;background:#e6ecee;border-radius:2px;margin-right:.4rem;vertical-align:middle;overflow:hidden}.drb u{display:block;height:100%;background:#1e8f5a}.drt tr.w .drb u{background:#e0a21a}.drt tr.b .drb u{background:#c6372e}
#outs{cursor:pointer}
#waitrow.min{cursor:pointer;min-height:40px;padding:.3rem .9rem}#waitrow.min>*:not(#wCount){display:none}#waitrow.min #wCount{font-weight:650;color:#0f6f66}#waitrow.min #wCount::after{content:' · show';font-weight:400;color:var(--mut)}
@media(max-width:640px){#tcard{max-height:62vh;overflow:auto}.drt th{font-size:10px}.drt td{font-size:11.5px;padding:.28rem .2rem}.drt th:nth-child(3),.drt td:nth-child(3){display:none}.drb{width:2rem}}
#tcard:has(#drTab){width:min(36rem,calc(100vw - 1.6rem));max-height:calc(100dvh - var(--tctop,5rem) - 1rem);overflow:auto;z-index:9}
@media(max-width:640px){#tcard:has(#drTab){max-height:62vh}}

/* End card, radar corner (12-11) */
#outro{position:fixed;inset:0;z-index:60;display:none;place-items:center;background:radial-gradient(ellipse at 50% 38%,#16120a 0%,#070604 55%,#000 100%);color:#e9e2cf;text-align:center;padding:1.2rem;overflow:hidden}#outro.on{display:grid;animation:oin .9s ease both}#outro.off{display:grid;animation:oout .7s ease both;pointer-events:none}
@keyframes oin{from{opacity:0}to{opacity:1}}@keyframes oout{from{opacity:1}to{opacity:0}}@keyframes oup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes oshine{from{background-position:200% 0}to{background-position:-200% 0}}@keyframes otw{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:.9;transform:scale(1)}}@keyframes oline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.obox{position:relative;max-width:44rem;display:flex;flex-direction:column;align-items:center;gap:.9rem}.obox>*{opacity:0;animation:oup 1s ease forwards}.oemb{width:3.4rem;height:3.4rem;border-radius:6px;animation-delay:.3s!important;box-shadow:0 0 34px rgba(214,170,74,.35)}
.okick{font-size:.8rem;letter-spacing:.34em;text-transform:uppercase;color:#bfa25a;animation-delay:.7s!important}
.ogold{background:linear-gradient(100deg,#8a6a22 0%,#d9b65a 22%,#fff3c4 38%,#e7c76d 50%,#a67c2a 68%,#f1d98a 84%,#8a6a22 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
h2.ogold{margin:0;font-size:clamp(1.7rem,5.2vw,3.1rem);line-height:1.15;font-weight:650;letter-spacing:.01em;animation:oup 1s ease 1.2s forwards,oshine 5.5s linear 1.2s infinite}
.obox p{margin:0;max-width:34rem;font-size:clamp(1rem,2.3vw,1.2rem);line-height:1.55;color:#cfc7b2;animation-delay:2.1s}
.oline{width:9rem;height:1px;background:linear-gradient(90deg,transparent,#d9b65a,transparent);opacity:1!important;transform-origin:center;animation:oline 1.4s ease 2.8s both!important}
.obig{font-size:clamp(1.5rem,4.4vw,2.5rem);font-weight:650;letter-spacing:.02em;animation:oup 1s ease 3.3s forwards,oshine 4.5s linear 3.3s infinite}
.obrand{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;animation-delay:4.3s!important}.obrand b{font-size:1.25rem;color:#f4ecd8;letter-spacing:.03em}.obrand b i{font-style:normal;color:#d9b65a}.obrand span{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:#bfa25a}
#outGo{margin-top:.9rem;min-height:44px;padding:.65rem 1.8rem;background:transparent;color:#f1d98a;border:1px solid #bfa25a;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;animation-delay:5s!important;box-shadow:none}#outGo:hover{background:rgba(217,182,90,.14)}
.odust{position:absolute;inset:0;pointer-events:none}.odust i{position:absolute;width:calc(var(--z,1) * 1.5px);height:calc(var(--z,1) * 1.5px);border-radius:50%;background:#f1d98a;box-shadow:0 0 6px 1px rgba(241,217,138,.6);opacity:0;animation:otw 4.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.obox>*,h2.ogold,.obig{animation:none!important;opacity:1}.odust{display:none}}
#rdCorner{position:fixed;right:.8rem;top:6rem;z-index:3;display:none;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .35rem .3rem;background:rgba(11,24,29,.88);border:1px solid rgba(255,255,255,.25);border-radius:3px;color:#dfe8ea;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}#rdCorner.on{display:flex}#rdCorner canvas{width:8.2rem;height:8.2rem;display:block}#rdCorner span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:640px){#rdCorner{right:.4rem;padding:.25rem}#rdCorner canvas{width:76px;height:76px}#rdCorner span{font-size:10px;letter-spacing:.02em}.okick{font-size:10.5px;letter-spacing:.22em}.obrand span{font-size:10.5px}}
@media(max-height:480px) and (orientation:landscape){#rdCorner canvas{width:64px;height:64px}#rdCorner span{display:none}.obox{gap:.4rem}.oemb{display:none}}

.drt .drc{margin-left:.35rem;padding:.2rem .55rem;font-size:.8rem;min-height:30px;background:var(--acc);border-color:var(--acc);color:#fff;font-weight:650}
@media(max-width:640px){.drt .drc{display:block;margin:.2rem 0 0;min-height:38px;font-size:12px}}
#tcard:has(#drTab){background:#fff}.drt td:first-child{white-space:nowrap}

/* Visitor count, running guidance strip (12-11) */
.vis{margin-top:.5rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85;min-height:1em}
#coach[data-now="1"]{box-shadow:var(--shadow);border-color:var(--line)}#coach[data-now="1"].urg{border-color:var(--warn);box-shadow:0 0 0 3px rgba(224,162,26,.35),var(--shadow)}#coach.urg .cs{background:var(--warn)}#nowGo{flex:none;white-space:nowrap;min-height:36px}
@media(max-width:640px){.vis{font-size:10.5px}#nowGo{min-height:40px}}
#coach.urg .cs{color:#fff;border-color:var(--warn)}

/* Finesse pass (12-11): quieter suggestions, glowing gate buttons, smaller radar corner */
#coach.idle{padding:.3rem .5rem .3rem .7rem;font-size:.88rem;gap:.5rem;background:rgba(255,255,255,.9)}#coach.idle #nowGo{min-height:32px;padding:.2rem .6rem;font-size:.85rem}#nowX{flex:none;width:32px;min-height:32px;padding:0;background:transparent;border-color:transparent;color:var(--mut);font-size:1.1rem;line-height:1}
#gates .nowg{box-shadow:0 0 0 3px rgba(224,162,26,.55);border-color:var(--warn);animation:nowg 1.1s ease-in-out infinite}@keyframes nowg{50%{box-shadow:0 0 0 6px rgba(224,162,26,.18)}}
#rdCorner canvas{width:5.6rem;height:5.6rem}#rdCorner span{font-size:.62rem;letter-spacing:.05em}
@media(max-width:640px){#rdCorner canvas{width:64px;height:64px}#rdCorner span{font-size:9.5px}#coach.idle{font-size:12px}#coach.idle #nowGo,#nowX{min-height:38px}#nowX{width:38px}}
#coach[data-now="1"]{max-width:min(38rem,calc(100vw - 1.6rem))!important;width:max-content}
@media(max-width:640px){#coach[data-now="1"]{width:calc(100vw - 1.6rem)}}

/* Glass finish (12-11): frosted, translucent panels so the city stays visible behind them; messages stack on the left during the storm */
:root{--pan:rgba(255,255,255,.7);--glass:blur(12px) saturate(1.5)}
.hud{background:var(--pan);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border:1px solid rgba(255,255,255,.6);box-shadow:0 10px 30px rgba(8,22,28,.2),inset 0 1px 0 rgba(255,255,255,.65)}
.panel,#tcard,#scard,#resp{background:rgba(255,255,255,.84)}#tcard:has(#drTab){background:rgba(255,255,255,.9)}
.t{background:rgba(255,255,255,.72);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border:1px solid rgba(255,255,255,.6);border-left:4px solid var(--ok);box-shadow:0 8px 24px rgba(8,22,28,.2)}
#coach[data-now="1"]{background:rgba(255,255,255,.74)}#coach[data-now="1"].urg{background:rgba(255,248,232,.8)}#coach.idle{background:rgba(255,255,255,.6)}
#goals{background:rgba(255,255,255,.58)}
.ptab{background:rgba(255,255,255,.66)}.l3{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#rdCorner{background:rgba(9,22,27,.62);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);border-color:rgba(255,255,255,.28)}
@media(min-width:700px){body.stormmin:not(.showL) #toast{left:.8rem;transform:none;align-items:flex-start;top:var(--toast);max-width:21rem;width:auto}body.stormmin:not(.showL) #toast .t{text-align:left}}
@media(min-width:1100px){body.stormmin:not(.showL) #toast{top:calc(var(--top) + 3.3rem)}}
@media(max-width:640px){:root{--glass:blur(8px) saturate(1.4)}}

/* Message cards and card finish (12-11) */
.hud,.t,#card,#tcard,#scard,.lbcard{border-radius:12px!important}button,.lvl,#goals span,.drh,.lbst div{border-radius:8px!important}.rk{border-radius:50%!important}
.t.mc{display:flex;align-items:flex-start;gap:.6rem;position:relative;overflow:hidden;padding:.55rem .8rem .65rem .6rem;border-left:1px solid rgba(255,255,255,.6);max-width:min(24rem,calc(100vw - 1.6rem));text-align:left;font-weight:500;line-height:1.35;animation:mcin .35s cubic-bezier(.2,.8,.2,1)}
@keyframes mcin{from{opacity:0;transform:translateY(-10px) scale(.97)}}@keyframes mclife{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.mc .mi{flex:none;width:1.9rem;height:1.9rem;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--mcc,#5b6f78);box-shadow:0 0 0 4px color-mix(in srgb,var(--mcc,#5b6f78) 22%,transparent)}.mc .mi svg{width:1.15rem;height:1.15rem}.mc .mi img{width:1.9rem;height:1.9rem;border-radius:50%}
.mc .mb{flex:1;min-width:0;display:block}.mc .mh{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.1rem}.mc .mh b{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mcc,#5b6f78)}.mc .mh i{margin-left:auto;font-style:normal;font-size:.72rem;color:var(--mut);font-variant-numeric:tabular-nums}.mc .mt{display:block;font-size:.95rem;color:var(--ink)}
.mc .ml{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--mcc,#5b6f78);opacity:.55;transform-origin:left;animation:mclife var(--life,5s) linear forwards}
.mc.c-rain{--mcc:#2f6fb5}.mc.c-canal{--mcc:#0f8f84}.mc.c-drain{--mcc:#b86a0c}.mc.c-city{--mcc:#55657a}.mc.c-tip{--mcc:#7a5cc0}.mc.c-fa{--mcc:#0f8f84}.mc.c-alert{--mcc:#c6372e;background:rgba(255,238,235,.82)}.mc.c-info{--mcc:#5b6f78}
.t.mc.hint{background:rgba(245,241,255,.82);box-shadow:0 8px 24px rgba(8,22,28,.2)}
#modal{background:rgba(8,20,26,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#card{background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.8);box-shadow:0 30px 80px rgba(8,22,28,.4),inset 0 1px 0 #fff}
#card>.k2:first-child{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:650;margin-bottom:.35rem}#card h2{letter-spacing:-.01em}
.tch{align-items:center;padding-bottom:.4rem;margin-bottom:.5rem;border-bottom:1px solid rgba(120,145,155,.28)}.tch b{letter-spacing:.01em}
@media(max-width:640px){.mc .mh b,.mc .mh i{font-size:10.5px}.mc .mt{font-size:13px}.t.mc{padding:.45rem .6rem .55rem .5rem}}
@media(prefers-reduced-motion:reduce){.t.mc,.mc .ml{animation:none}}

/* Design pass (12-11): house typefaces, one accent, fewer boxes, calmer motion, instrument details */
@font-face{font-family:"Manrope";src:url(assets/manrope-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(assets/source-sans-3-latin.woff2) format("woff2");font-weight:200 900;font-display:swap}
:root{--fh:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--fb:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{font-family:var(--fb)}
h1,h2,h3,button,.sec,.big,.lvl b,.lbtt,.tch b,.mc .mh b,.cs,.hero,.dial span,.ptab,#top,.l3,.lbst b,.rk,.obox,#rdCorner span,.drh,.lbn{font-family:var(--fh)}
.v,.lvbig,.sbig,.dial b,#dock .gt .gp,.big,#cd b,#tcard td:nth-child(2),#tcard td:nth-child(3),.lb td:last-child,.drt td,.hero b{font-family:var(--fh)!important;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
h2{font-weight:700;letter-spacing:-.015em}.lead,.msg,.mc .mt,.k2{font-family:var(--fb)}.lead{font-size:1.06rem}.k2{font-size:.84rem}.mc .mt{font-size:1.02rem}
.sec{font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--mut)}
/* one accent: grey by default, teal for the brand, amber and red only for warnings */
.mc.c-rain,.mc.c-canal,.mc.c-city,.mc.c-tip,.mc.c-info,.mc.c-drain{--mcc:#5b6f78}.mc.c-fa{--mcc:#0f8f84}.mc.w{--mcc:#b86a0c}.mc.c-alert{--mcc:#c6372e}.t.mc.hint{background:rgba(255,255,255,.72)}
.mc .mi{box-shadow:none;width:1.75rem;height:1.75rem}.mc .mi svg{width:1.05rem;height:1.05rem}
/* fewer boxes: only what floats over the scene keeps a card */
#goals{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}#goals span{-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);box-shadow:0 4px 14px rgba(8,22,28,.14)}#goals span::before{content:'';width:.5rem;height:.5rem;border-radius:50%;background:currentColor;opacity:.75;position:absolute;right:.5rem;top:.45rem}#goals span{position:relative;padding-right:1.4rem}
#cFs{border-radius:8px;box-shadow:0 4px 14px rgba(8,22,28,.14)}
.dial{background:transparent;border:0;padding:.2rem .2rem .3rem}.dtk{stroke:#93a4ab;stroke-width:1;stroke-linecap:round}.dial span{letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:600}
#bot{background:rgba(255,255,255,.5);border-color:transparent;box-shadow:none}#waitrow{background:rgba(255,255,255,.5);box-shadow:none;border-color:transparent}.ptab{box-shadow:none}
.ric{width:1.05em;height:1.05em;vertical-align:-.15em;margin-right:.35em}
/* the number that matters, large */
.hero{display:flex;flex-direction:column;align-items:flex-start;padding-right:2rem;border-right:1px solid var(--line)}.hero b{font-size:5.2rem;font-weight:800;line-height:.9;letter-spacing:-.04em}.hero.ok b{color:var(--ok)}.hero.no b{color:var(--bad)}.hero span{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--mut);margin-top:.4rem;font-weight:600}
.drh{font-size:1.02rem}.lbst b{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.sbig{font-weight:800;letter-spacing:-.03em}
/* calmer motion: one thing moves at a time */
#gates .nowg{animation:none;box-shadow:0 0 0 2px rgba(224,162,26,.75)}#coach[data-now="1"].urg{box-shadow:var(--shadow)}
@keyframes mcinL{from{opacity:0;transform:translateX(-16px)}}
@media(min-width:700px){body.stormmin:not(.showL) #toast .t.mc{animation:mcinL .35s cubic-bezier(.2,.8,.2,1)}}
@media(max-width:640px){.hero b{font-size:3.4rem}.hero{padding-right:1rem}.hero span,.dial span,.sec{font-size:10px}.k2{font-size:11.5px}.mc .mt{font-size:13.5px}}
.lvbig{line-height:1.2;display:block;margin-bottom:.25rem}
.hero b{line-height:1.02}.hero span{margin-top:.45rem}.big{line-height:1.15}.lbst b{line-height:1.3}.lbst span{margin-top:.1rem}

/* Big cards re-laid out (12-11) */
.rlead{font-size:1.12rem;line-height:1.55;color:#33474f}.rlead b{color:var(--ink)}
.rl{display:grid;gap:0;margin-top:.2rem}.rr{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.5rem 0;border-top:1px solid var(--line);align-items:baseline}.rr:first-child{border-top:0}.rr b{font-family:var(--fh);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);font-weight:700}.rr span{font-size:1.02rem;line-height:1.4;color:#33474f}
.lvl{gap:.2rem;padding:1.1rem 1.2rem 1.2rem;min-height:9.5rem;border-width:1px;background:rgba(244,248,249,.9);transition:transform .15s,box-shadow .15s,border-color .15s}.lvl:hover,.lvl:active{transform:translateY(-2px);border-color:var(--acc);box-shadow:0 10px 24px rgba(8,22,28,.14)}
.lvl .le{display:flex;justify-content:space-between;align-items:center;width:100%;font-style:normal;font-family:var(--fh);font-size:.74rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--mut)}.lvl .le em{font-style:normal;letter-spacing:.2em;color:var(--acc);font-size:.7rem}
.lvl b{font-size:3.2rem;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--ink);display:flex;align-items:baseline;gap:.4rem;margin:.3rem 0 .35rem}.lvl b u{text-decoration:none;font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--mut)}.lvl small{font-family:var(--fb);font-size:.98rem;line-height:1.35}
.tgt{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:.9rem 0 1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tgt div{padding:.8rem 1rem .85rem;border-left:1px solid var(--line);min-width:0}.tgt div:first-child{border-left:0;padding-left:0}.tgt b{display:flex;align-items:baseline;gap:.3rem;font-family:var(--fh);font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--acc);font-variant-numeric:tabular-nums}.tgt b u{text-decoration:none;font-size:1rem;font-weight:700;letter-spacing:0;color:var(--mut)}.tgt span{display:block;margin-top:.4rem;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);font-weight:600;font-family:var(--fh);line-height:1.3}
.tgt.al div:first-child b{color:var(--bad)}.tgt.al b{color:var(--ink);font-size:2.4rem}
@media(max-width:640px){.rr{grid-template-columns:1fr;gap:.1rem;padding:.4rem 0}.rr b,.lvl .le,.tgt span{font-size:10.5px}.rr span,.rlead{font-size:14px}.lvl{min-height:0;padding:.8rem .9rem}.lvl b{font-size:2.3rem}.lvl b u{font-size:11px}.lvl small{font-size:13px}.tgt b{font-size:2rem}.tgt.al b{font-size:1.7rem}.tgt div{padding:.6rem .5rem}.tgt span{letter-spacing:.03em}}
/* Start here: a halo and a small pointer on the Start countdown button once the tutorial is done (12-11) */
#go.flash{position:relative;overflow:visible;animation:none;box-shadow:0 0 0 0 rgba(15,143,132,.55);z-index:2}
#go.flash::before{content:'';position:absolute;inset:-6px;border-radius:14px;border:2px solid rgba(25,224,192,.9);animation:gohalo 1.6s ease-out infinite;pointer-events:none}
#go.flash::after{content:'Tap here to start the storm';position:absolute;left:50%;bottom:calc(100% + 14px);transform:translateX(-50%);white-space:nowrap;background:#14262d;color:#fff;font-family:var(--fh);font-size:.82rem;font-weight:600;letter-spacing:.02em;padding:.4rem .7rem;border-radius:8px;box-shadow:0 8px 20px rgba(8,22,28,.3);pointer-events:none;animation:gotip 1.6s ease-in-out infinite}
@keyframes gohalo{0%{transform:scale(.96);opacity:1}100%{transform:scale(1.18);opacity:0}}@keyframes gotip{50%{transform:translateX(-50%) translateY(-4px)}}
@media(max-width:640px){#go.flash::after{left:0;transform:none;font-size:12px}@keyframes gotip{50%{transform:translateY(-4px)}}}
@media(prefers-reduced-motion:reduce){#go.flash::before,#go.flash::after{animation:none}}
#bot:has(#go.flash){z-index:7}
@media(max-width:640px){.lvl .le em{font-size:11px;letter-spacing:.12em}}

/* One centre lane between the open side panels, and a bottom stack that never doubles up: guidance strip, then the response box, then the alert bar. */
#resp{bottom:var(--rbot,var(--bot))}
@media(min-width:981px){#goals,#coach,#resp,#alert,#cd,#ho,#tcard,body.stormmin.showL #toast{left:var(--lx,50%)!important}#goals,#resp,#alert,#cd,#ho,body.stormmin.showL #toast{max-width:var(--lw,calc(100vw - 1.6rem))!important}body #coach,body #coach[data-now="1"]{max-width:min(38rem,var(--lw,calc(100vw - 1.6rem)))!important}#tcard,#tcard:has(#drTab){width:min(36rem,var(--lw,calc(100vw - 1.6rem)))}}
@media(min-width:700px){body.stormmin:not(.showL) #toast{top:var(--toastL,var(--toast))!important}}
.fcglow{border-radius:10px;animation:fcglow 1.2s ease-in-out 5;outline:2px solid rgba(25,224,192,.9);outline-offset:6px}@keyframes fcglow{50%{box-shadow:0 0 0 10px rgba(25,224,192,.22);outline-color:rgba(25,224,192,.35)}}
.oacts{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:.9rem}.oacts #outGo{margin-top:0}#outFa{min-height:44px;padding:.65rem 1.4rem;background:linear-gradient(180deg,#e9cf85,#b8943f);color:#120e05;border:1px solid #e9cf85;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;font-weight:700;box-shadow:0 0 22px rgba(233,207,133,.35)}#outFa:hover{filter:brightness(1.08)}
#tcx,#scx{flex:none;align-self:center;width:34px!important;min-width:34px!important;height:34px;min-height:34px!important;padding:0!important;border-radius:50%;background:#14262d!important;color:#fff!important;border:2px solid #fff!important;font-size:20px!important;line-height:1!important;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:pointer;margin-left:auto}#tcx:hover,#scx:hover{background:#c6372e!important}
#scard .tch,#tcard .tch{position:sticky;top:-.1rem;z-index:2;align-items:center}
@media(max-width:640px){#tcx,#scx{width:40px!important;min-width:40px!important;height:40px;min-height:40px!important}}
#tcard:has(#drTab){left:50%!important;width:min(36rem,calc(100vw - 1.6rem))!important}

/* Landing page in the black and gold of the end card */
#title{background:radial-gradient(ellipse at 50% 36%,#16120a 0%,#070604 55%,#000 100%)!important;color:#e9e2cf;overflow:hidden auto}
#title .tbox{position:relative;z-index:1}
#title h1{background:linear-gradient(100deg,#8a6a22 0%,#d9b65a 22%,#fff3c4 38%,#e7c76d 50%,#a67c2a 68%,#f1d98a 84%,#8a6a22 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:oshine 6s linear infinite;font-size:clamp(2.2rem,6vw,3.6rem)}
#title h1 i{color:inherit;-webkit-text-fill-color:inherit}
#title h1 span{-webkit-text-fill-color:#bfa25a;color:#bfa25a;letter-spacing:.34em}
#title p{color:#cfc7b2}#title .small{color:#8f866f}#title .aq3 b{color:#f4ecd8}
#title #begin{background:linear-gradient(180deg,#e9cf85,#b8943f)!important;color:#120e05!important;border:1px solid #e9cf85!important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 0 26px rgba(233,207,133,.4);animation:goldp 2.2s ease-in-out infinite}
@keyframes goldp{50%{box-shadow:0 0 44px rgba(233,207,133,.7)}}
#title #lbOpen{background:transparent!important;color:#f1d98a!important;border:1px solid #bfa25a!important;letter-spacing:.1em;text-transform:uppercase}
#title .plogos{border-top:1px solid rgba(217,182,90,.3)}#title .emb3{box-shadow:0 0 34px rgba(214,170,74,.35);border-radius:6px}
@media(prefers-reduced-motion:reduce){#title h1,#title #begin{animation:none}}
/* Guidance strip: one clear instruction, with the action as a filled button */
#coach[data-now="1"].urg{font-size:1.12rem;font-weight:600;padding:.7rem .8rem .7rem 1rem;background:rgba(255,250,238,.94)!important;border:2px solid var(--warn)!important;box-shadow:0 0 0 0 rgba(224,162,26,.5),var(--shadow)!important;animation:urgp 1.8s ease-out infinite}
@keyframes urgp{70%{box-shadow:0 0 0 12px rgba(224,162,26,0),var(--shadow)}100%{box-shadow:0 0 0 0 rgba(224,162,26,0),var(--shadow)}}
#coach.urg .cs{background:var(--warn);color:#fff;border-color:var(--warn);font-size:.74rem;padding:.15rem .5rem}
#coach.urg #nowGo{background:#14262d;color:#fff;border-color:#14262d;font-weight:700;font-size:1.02rem;min-height:44px;padding:.5rem 1.1rem}
#coach.urg #nowGo:hover{background:#0f8f84;border-color:#0f8f84}
#waitrow{bottom:var(--rbot,var(--bot))}
@media(max-width:980px){body.showp #left{bottom:var(--rbot,var(--bot))!important}}
@media(max-width:640px){#coach[data-now="1"].urg{font-size:14px;padding:.5rem .6rem}#coach.urg #nowGo{font-size:14px;padding:.4rem .7rem}}
@media(prefers-reduced-motion:reduce){#coach[data-now="1"].urg{animation:none}}
/* Close buttons: solid red, white cross, always on top of their card */
#tcx,#scx,#lbX{flex:none;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border-radius:50%!important;background:#d32f2f!important;color:#fff!important;border:2px solid #fff!important;font-size:24px!important;line-height:1!important;font-weight:700!important;box-shadow:0 0 0 3px rgba(211,47,47,.28),0 3px 10px rgba(0,0,0,.4)!important;cursor:pointer;opacity:1!important;visibility:visible!important;display:grid!important;place-items:center;z-index:5}
#tcx:hover,#scx:hover,#lbX:hover{background:#b71c1c!important;transform:scale(1.08)}
#scard,#tcard{position:fixed}#scard #scx,#tcard #tcx{position:absolute;top:.45rem;right:.45rem;margin:0}
#scard .tch,#tcard .tch{padding-right:3.1rem;min-height:40px}
#nowX{width:34px!important;min-height:34px!important;border-radius:50%!important;background:#d32f2f!important;color:#fff!important;border:2px solid #fff!important;font-weight:700;font-size:18px!important;box-shadow:0 2px 6px rgba(0,0,0,.3)}
#scard #scx,#tcard #tcx{top:0;right:0}
.fcrow{display:flex;gap:.5rem;align-items:stretch}.fcrow #cRain{flex:1 1 0;min-width:0;width:0;height:7.4rem;align-self:stretch}
#fcRd{flex:none;width:6.6rem;padding:.3rem .3rem .25rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;background:#0b181d;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#dfe8ea;cursor:pointer;min-height:0}
#fcRd canvas{width:5.8rem;height:5.8rem;display:block}#fcRd span{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--fh)}
#title .okick{color:#bfa25a;margin-top:.9rem}
@media(max-width:980px){body.showp #left{bottom:var(--pbot,var(--rbot,var(--bot)))!important}}
@media(max-width:640px){#fcRd span{font-size:10px;letter-spacing:.02em}}
/* Guidance strip, final look: dark instrument bar, white type, one gold signal. No cream, no orange, no pulsing ring. */
#coach[data-now="1"],#coach[data-now="1"].urg,#coach[data-now="1"].idle{background:rgba(13,26,32,.94)!important;color:#f3f6f7!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:12px!important;box-shadow:0 12px 32px rgba(0,0,0,.38)!important;animation:none!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--fh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#coach[data-now="1"].urg{font-size:1.06rem!important;font-weight:600!important;letter-spacing:-.005em;line-height:1.35;padding:.7rem .7rem .7rem 1.05rem!important;gap:1rem}
#coach[data-now="1"].idle{font-size:.92rem!important;font-weight:500;padding:.45rem .5rem .45rem .9rem!important}
#coach[data-now="1"] .ct{color:#f3f6f7}
#coach[data-now="1"] .cs,#coach.urg .cs{display:block;margin:0 0 .22rem;padding:0!important;background:none!important;border:0!important;color:#e3c56f!important;font-size:.66rem!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.2}
#coach[data-now="1"] .cs::before{content:'';display:inline-block;width:.42rem;height:.42rem;border-radius:50%;background:#e3c56f;margin-right:.45rem;vertical-align:.06em}
#coach[data-now="1"].urg .cs::before{animation:csdot 1.6s ease-in-out infinite}@keyframes csdot{50%{opacity:.25}}
#coach[data-now="1"].idle .cs,#coach[data-now="1"].idle .cs::before{color:#8fb3bb!important}#coach[data-now="1"].idle .cs::before{background:#8fb3bb}
#coach[data-now="1"] #nowGo,#coach.urg #nowGo{background:#fff!important;color:#0d1a20!important;border:1px solid #fff!important;border-radius:9px;font-weight:700;font-size:.98rem;letter-spacing:0;min-height:44px;padding:.5rem 1.15rem;box-shadow:none}
#coach[data-now="1"] #nowGo:hover{background:#e3c56f!important;border-color:#e3c56f!important}
#coach[data-now="1"].idle #nowGo{min-height:34px;font-size:.86rem;padding:.25rem .8rem}
#coach[data-now="1"] #nowX{background:transparent!important;border:1px solid rgba(255,255,255,.3)!important;color:#cfd9dc!important;box-shadow:none;width:30px!important;min-height:30px!important;font-size:15px!important}
#gates .nowg{box-shadow:0 0 0 2px #e3c56f!important;border-color:#e3c56f!important;animation:none!important}
@media(max-width:640px){#coach[data-now="1"].urg{font-size:14px!important;padding:.55rem .55rem .55rem .8rem!important;gap:.6rem}#coach[data-now="1"] .cs{font-size:9.5px!important}#coach[data-now="1"] #nowGo{font-size:14px;padding:.4rem .8rem}}
@media(prefers-reduced-motion:reduce){#coach[data-now="1"].urg .cs::before{animation:none}}

/* end-card credits */
.ocred{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 1.6rem;margin-top:.6rem;padding-top:.9rem;border-top:1px solid rgba(217,182,90,.28);max-width:46rem;animation-delay:4.9s!important;text-align:center}
.ocred div{display:flex;flex-direction:column;gap:.15rem}
.ocred span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#bfa25a}
.ocred b{font-size:.98rem;font-weight:650;color:#f4ecd8}
.ocred em{font-style:normal;font-size:.8rem;color:#cfc7b2}
.oacts{animation-delay:5.3s!important}
@media(max-width:640px){.ocred{grid-template-columns:1fr;gap:.45rem;padding-top:.5rem;margin-top:.2rem}.ocred span{font-size:10.5px}.ocred b{font-size:13px}.ocred em{font-size:11.5px}}
#outro{overflow-y:auto}.ocred{width:100%}
@media(min-width:900px){.obox{max-width:54rem}.ocred{max-width:54rem}}
@media(max-height:820px) and (min-width:641px){.obox{gap:.4rem}#outro h2.ogold{font-size:clamp(1.3rem,4.2vh,2.1rem)!important;margin:0}#outro .obig{font-size:clamp(1.2rem,3.8vh,1.9rem)!important}#outro .obox p{font-size:.95rem;line-height:1.35}.obrand{margin-top:.1rem}.ocred{margin-top:.2rem;padding-top:.5rem}}

/* ITEL logo and end-card logo row */
.plogos img.itl{background:#fff;border-radius:.4rem;padding:.2rem .3rem;box-sizing:border-box}
.ologos{display:flex;gap:.8rem;justify-content:center;align-items:center;flex-wrap:wrap;animation-delay:5.1s!important}
.ologos img{height:2.6rem;width:auto;background:#fff;border-radius:.4rem;padding:.2rem .3rem;box-sizing:border-box}.ologos img.rnd{border-radius:50%;padding:0}
@media(max-width:640px){.ologos img{height:2rem}.ologos{gap:.5rem}}
@media(max-height:820px) and (min-width:641px){.ologos img{height:2.1rem}}

.ocred.two{grid-template-columns:1.5fr 1fr}@media(max-width:640px){.ocred.two{grid-template-columns:1fr}}

/* audit 12-11: tap targets, small labels, forecast glow, start tip */
.fcglow{outline-offset:2px}.fcrow{margin-top:.35rem}
@media(max-width:640px){#go.flash::after{display:none}}
@media(max-width:980px){#pipe .n b,#pipe .n span,#modes button small,#left .sec,#right .sec,#fcRd span,#rdCorner span,#coach .cs,#gates .gl,#top .stats .k,#goalsT b,#resp .rz button i{font-size:11px!important}#tdials .dial span{font-size:10.5px!important}#hintB,#modes button{min-height:40px}}
@media(min-width:641px) and (max-width:980px){#top .views button,#bot button,#resp .rtog,#resp .rz button,#resp .ra button,#gates .gpm button{min-height:40px!important}}
@media(max-height:480px) and (orientation:landscape){#title{align-items:flex-start;padding-top:.6rem}#title .obox,#title>div{gap:.3rem}#title p{font-size:.85rem;line-height:1.3;margin:0}#title h1{font-size:2rem!important;margin:0}#title .plogos{margin-top:.3rem;padding-top:.3rem}}

@media(min-width:641px) and (max-width:980px){#waitrow button{min-height:40px!important}}
/* logos never stretch */
.plogos img,.ologos img,.tlogos img,.brand img,.aq img,.aq3 img,.oemb,.tch img{object-fit:contain;flex:none;image-rendering:auto}

/* phone: city first. Gate dock is one compact block; other controls open from the ⋯ button */
#dkMore{display:none}
@media (max-width:640px),(max-height:480px) and (orientation:landscape){
body #dock{display:grid!important;grid-template-columns:minmax(0,1fr) 42px;gap:.3rem!important;align-items:stretch;padding:.3rem .4rem!important}
body #dock .gtiles{grid-column:1;grid-row:1;width:auto!important;flex:none!important}
body #dock #dkMore{display:block;grid-column:2;grid-row:1;min-height:40px;border-radius:.6rem;border:1px solid #9fb0b6;background:#14262d;color:#fff;font-size:20px;font-weight:700;line-height:1;padding:0}
body #dock .dkq,body #dock .dkq .gq{display:none!important}
body.dkmore #dock .dkq{display:flex!important;grid-column:1 / -1;flex-wrap:wrap;gap:.3rem}
body.dkmore #dock .dkq .gq{display:flex!important;flex:1 1 30%!important}
body.dkmore #dock .dkq>button{flex:1 1 30%!important}
body #dock .gt{min-height:2.7rem!important}
}
@media (max-height:480px) and (orientation:landscape){
body #dock .gw{display:flex!important;align-items:stretch;gap:2px}
body #dock .gpm{display:contents!important}
body #dock .gw .gm{order:0;flex:0 0 34px}body #dock .gw .gt{order:1;flex:1 1 auto;min-height:40px!important;display:flex;align-items:center;justify-content:center;gap:.25rem}body #dock .gw .gpl{order:2;flex:0 0 34px}
body #dock .gt svg{display:none}
#goals{display:none!important}
}
@media (max-height:480px) and (orientation:landscape){
body #dock .gw{flex-direction:row!important}
body #dock .gw .gm,body #dock .gw .gpl{min-height:40px!important;width:34px;padding:0}
body #dock .gw .gt{flex-direction:row!important}
#tdials .dial:nth-child(3),#tdials .dial:nth-child(4){display:none!important}
#tdials .dial{min-width:3.6rem}
}
@media (max-height:480px) and (orientation:landscape){#coach .cs,.ocred span,.obrand span{font-size:10.5px!important}}
