:root{color:#263536;font-synthesis:none;--ui-scale:1;--ink:#263536;--muted:#637475;--cream:#fff9e9;--cream-soft:#fffdf6e8;--paper:#fff9e9f2;--paper-solid:#fff9e9;--teal:#16aa9c;--teal-deep:#087b77;--water:#25c8e5;--water-deep:#087cae;--gold:#f3c95b;--earth:#d99658;--coral:#ef6a55;--coral-deep:#a9403b;--safe:#29b78e;--warning:#ef9f44;--line:#6b7c7433;--shadow:#283f3970;--soft-shadow:0 .75rem 2.6rem #263c3852;--round:1.35rem;background:#93d2e7;font-family:Avenir Next Rounded,Nunito,Trebuchet MS,ui-rounded,system-ui,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%;font-size:calc(16px * var(--ui-scale));background:#93d2e7}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,select{font:inherit}button,summary,select,input{accent-color:var(--teal)}button{color:inherit;min-height:2.75rem}select{min-height:2.75rem}button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:4px solid #fff;box-shadow:0 0 0 7px #157c91}button:disabled{cursor:not-allowed;filter:grayscale(.4);opacity:.52}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pictogram{flex:none;width:1.45rem;height:1.45rem;display:block}.pictogram.jumbo{width:3.1rem;height:3.1rem}.developer-only{display:none!important}#app[data-developer=true] .developer-only{display:revert!important}html.pseudo-localized :is(.hud-chip strong,.forecast-card strong,.project-card strong,.tutorial-card h2,.result-card h2,button:not(.icon-button)):after{content:" ···";letter-spacing:.08em}.eyebrow,.menu-kicker{color:var(--teal-deep);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:900}.menu-screen{background:#b8d8df;min-height:100vh;position:relative;overflow:hidden}.menu-world{filter:saturate(.96)contrast(.98);background-position:50%;background-size:cover;animation:16s ease-in-out infinite alternate menu-breathe;position:absolute;inset:-2%;transform:scale(1.035)}.menu-world:before,.menu-world:after{content:"";position:absolute;inset:0}.menu-world:before{background:linear-gradient(90deg,#1e2d278c 0,#23352c35 38%,#0000 70%),linear-gradient(#fff4ca24,#0000 20% 65%,#17282175)}.menu-world:after{background:radial-gradient(circle at 65% 45%,#0000 25%,#10221f42 110%)}.menu-weather{filter:blur(1px);opacity:.5;background:#fff9e7c4;border-radius:50%;width:14rem;height:4.5rem;animation:18s ease-in-out infinite alternate cloud-drift;position:absolute;top:8%;right:6%;box-shadow:-5rem 1rem 0 -.7rem #fff9e7a6,4.5rem .6rem 0 -.9rem #fff9e7a6}.menu-water-glint{filter:blur(8px);background:linear-gradient(90deg,#0000,#dffeff99,#0000);border-radius:50%;width:26rem;height:4rem;animation:4s ease-in-out infinite water-glint;position:absolute;bottom:12%;right:18%;transform:rotate(-7deg)}.menu-card{z-index:2;-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);background:linear-gradient(145deg,#fffdf4f4,#fff7dfdd);border:2px solid #ffffff8c;border-radius:2.5rem;flex-direction:column;justify-content:center;width:min(35rem,100vw - 2rem);min-height:calc(100vh - 3rem);margin:1.5rem auto 1.5rem clamp(1rem,6vw,7rem);padding:clamp(1.5rem,4vw,3rem);display:flex;position:relative;box-shadow:0 2rem 6rem #18352f73,inset 0 2px #fff}.menu-card h1{color:#2b4240;letter-spacing:-.075em;margin:.3rem 0 0;font-size:clamp(3.7rem,7vw,6.6rem);font-weight:1000;line-height:.83}.menu-card h1 span{color:var(--teal);text-shadow:0 .4rem #087c7830;display:block}.tagline{color:#536461;max-width:29rem;margin:1.1rem 0 1.65rem;font-size:clamp(1rem,1.5vw,1.24rem);font-weight:650;line-height:1.4}.menu-actions{grid-template-columns:1fr auto;gap:.7rem;display:grid}.play-action,.secondary-action,.primary-action,.round-action{cursor:pointer;border:0}.play-action{color:#4e3a1f;text-align:left;background:linear-gradient(145deg,#ffd763,#f5bd48);border-radius:1.45rem;grid-column:1/-1;align-items:center;gap:1.1rem;min-height:6rem;padding:1rem 1.35rem;transition:transform .14s,box-shadow .14s;display:flex;box-shadow:0 .55rem #b77d2d,0 1rem 2rem #a8753440,inset 0 2px #fff6bd}.play-action:hover{transform:translateY(-3px)rotate(-.3deg);box-shadow:0 .7rem #b77d2d,0 1.2rem 2.2rem #a875344a,inset 0 2px #fff6bd}.play-action:active{transform:translateY(5px);box-shadow:0 .15rem #b77d2d,inset 0 2px #fff6bd}.play-action strong{font-size:2rem;line-height:1;display:block}.play-action small,.secondary-action small{opacity:.75;margin-top:.3rem;font-weight:650;display:block}.secondary-action{color:#315d58;text-align:left;background:#f8fff9d9;border:2px solid #80b4a9;border-radius:1.2rem;align-items:center;gap:.8rem;min-height:4.65rem;padding:.85rem 1rem;display:flex;box-shadow:0 .35rem #5c8d8354}.secondary-action:hover,.round-action:hover{background:#e7fff7;transform:translateY(-2px)}.secondary-action strong{display:block}.round-action{color:#315d58;background:#f8fff9d9;border:2px solid #80b4a9;border-radius:1.2rem;place-items:center;width:4.65rem;min-width:4.65rem;min-height:4.65rem;display:grid;box-shadow:0 .35rem #5c8d8354}.round-action .pictogram{width:1.8rem;height:1.8rem}.world-picker{border-top:2px dashed #68867c42;margin-top:1.2rem;padding-top:1rem}.world-picker>div:first-child{align-items:center;gap:.7rem;display:flex}.world-picker strong,.world-picker small{display:block}.world-picker small{color:var(--muted);font-size:.72rem}.world-options{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.7rem;display:grid}.world-options button{color:#52615e;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:.85rem;min-width:0;padding:.3rem;font-size:.68rem;font-weight:800}.world-options button:hover,.world-options button.is-selected{border-color:var(--teal);color:#175e58;background:#dcfff6}.world-thumb{aspect-ratio:16/9;background-position:50%;background-size:cover;border-radius:.58rem;margin-bottom:.25rem;display:block;box-shadow:inset 0 0 0 1px #fff8}.developer-menu{background:#fff;border:1px dashed #775;border-radius:.8rem;margin-top:1rem;padding:.8rem}.game-screen,.board-viewport{width:100vw;height:100vh}.game-screen{background:#92cee0;position:relative;overflow:hidden}.game-screen.run-enter{animation:.42s cubic-bezier(.2,.8,.3,1) run-enter}.board-viewport{position:relative;overflow:hidden}.game-canvas{z-index:0;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.floating-card,.hud-chip,.hud-icon-button{background:var(--paper);box-shadow:var(--soft-shadow), inset 0 1px #fff;-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);border:2px solid #ffffffad}.top-hud{z-index:20;align-items:stretch;gap:.45rem;max-width:calc(100vw - 2rem);display:flex;position:absolute;top:.85rem;left:50%;transform:translate(-50%)}.hud-chip{border-radius:1.05rem;align-items:center;gap:.55rem;min-width:8.4rem;padding:.55rem .78rem;display:flex}.hud-chip .pictogram{color:var(--teal)}.hud-chip span{min-width:0}.hud-chip small,.hud-chip strong{white-space:nowrap;display:block}.hud-chip small{color:var(--muted);font-size:.64rem;font-weight:800}.hud-chip strong{text-overflow:ellipsis;max-width:10rem;font-size:1.03rem;line-height:1.1;overflow:hidden}.clock-lockup strong{color:var(--water-deep);font-variant-numeric:tabular-nums}.liability-lockup .pictogram,.liability-lockup strong{color:var(--coral)}#liability-state[data-level=stable]{color:var(--safe)}#liability-state[data-level=concern]{color:var(--warning)}#liability-state[data-level=investigation],#liability-state[data-level=emergency],#liability-state[data-level=failure]{color:var(--coral-deep)}.hud-icon-button{cursor:pointer;border-radius:1.05rem;place-items:center;width:3.35rem;min-width:3.35rem;display:grid}.forecast-panel{z-index:12;border-radius:var(--round);width:min(18.5rem,100vw - 2rem);padding:.75rem;position:absolute;top:5.6rem;left:1rem}.friendly-heading,.dock-heading{align-items:center;gap:.6rem;display:flex}.friendly-heading .pictogram{color:var(--water-deep)}.friendly-heading strong,.friendly-heading small,.dock-heading strong,.dock-heading small{display:block}.friendly-heading small,.dock-heading small{color:var(--muted);font-size:.67rem}.forecast-list{gap:.35rem;margin-top:.55rem;display:grid}.forecast-card{color:#27535d;background:#e8faff;border-radius:.8rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.5rem .55rem;display:grid}.forecast-card.severity-4,.forecast-card.severity-5{color:#794c32;background:#fff0dc}.weather-icon{width:1.7rem;height:1.7rem;color:var(--water-deep)}.forecast-card strong,.forecast-card small{display:block}.forecast-card strong{font-size:.82rem}.forecast-card small{color:inherit;opacity:.76;font-size:.64rem}.severity{gap:.16rem;display:flex}.severity i{border:1px solid;border-radius:80% 45% 65%;width:.34rem;height:.64rem;transform:rotate(12deg)}.severity i.is-full{background:currentColor}.camera-tools{z-index:12;border-radius:1rem;gap:.3rem;padding:.35rem;display:flex;position:absolute;top:5.6rem;right:1rem}.camera-tools button,.quick-actions button{color:#3b625f;cursor:pointer;background:0 0;border:0;border-radius:.75rem;place-items:center;width:2.85rem;min-width:2.85rem;min-height:2.85rem;display:grid}.camera-tools button:hover,.quick-actions button:hover{color:var(--teal-deep);background:#dff9f1;transform:translateY(-1px)}.quick-actions{z-index:12;gap:.45rem;display:grid;position:absolute;bottom:11.2rem;right:1rem}.quick-actions button{background:var(--paper);box-shadow:var(--soft-shadow);border:2px solid #ffffffad}.project-dock{z-index:15;border-radius:1.5rem;width:min(49rem,100vw - 22rem);padding:.72rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.dock-heading{justify-content:space-between;padding:0 .15rem .45rem}.crew-status{color:#3d654a;background:#e3f4df;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;display:flex;position:relative;overflow:hidden}.crew-status:before{width:calc(var(--crew-ready,1) * 100%);background:var(--safe);content:"";height:.18rem;transition:width .15s linear;position:absolute;inset:auto 0 0}.crew-status .pictogram{width:1.1rem;height:1.1rem}.crew-status span{font-size:.65rem}.crew-status strong{display:inline}.project-hand{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.project-card{cursor:pointer;text-align:left;background:#fffdf7;border:2px solid #8b9e966e;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:4.3rem;padding:.55rem .7rem;transition:transform .14s,background .14s,box-shadow .14s;display:grid;position:relative;box-shadow:0 .25rem #72857a42}.project-card:hover{background:#f5fff9;transform:translateY(-2px)}.project-card.is-selected{border-color:var(--teal);background:#dffcf3;transform:translateY(-2px);box-shadow:0 .35rem #16887e,0 0 0 4px #80e1d56e}.project-pictogram{color:#714c28;background:#f6cc64;border-radius:.75rem;width:2.7rem;height:2.7rem;padding:.38rem}.project-card:has(.project-pictogram) .project-copy{min-width:0}.project-copy strong,.project-copy small{display:block}.project-copy strong{font-size:1rem}.project-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.project-key{color:#63716c;background:#e8ece8;border-radius:.45rem;place-items:center;width:1.5rem;height:1.5rem;font-size:.68rem;font-weight:900;display:grid}.dock-detail-row{grid-template-columns:auto minmax(8rem,1fr) auto;align-items:center;gap:.6rem;min-height:2.55rem;margin-top:.45rem;display:grid}.upcoming-project{color:#68716c;background:#f0ece1;border-radius:.7rem;align-items:center;gap:.35rem;padding:.35rem .5rem;font-size:.68rem;display:flex}.upcoming-project .pictogram{width:1.1rem;height:1.1rem}.preview-readout{align-items:center;gap:.55rem;min-width:0;font-size:.7rem;display:flex}.preview-readout strong{font-size:.82rem}.preview-readout small{color:var(--muted)}.preview-readout .valid{color:#19835f}.preview-readout .invalid,.preview-readout .risk{color:var(--coral-deep)}.preview-readout .risk{align-items:center;gap:.25rem;display:flex}.preview-readout .risk .pictogram{width:1rem;height:1rem}.construction-state{display:none}.commit-row{gap:.4rem;display:flex}.commit-row button{cursor:pointer;background:#f5f4ec;border:2px solid #9ba8a1;border-radius:.75rem;align-items:center;gap:.38rem;min-height:2.75rem;padding:.45rem .65rem;font-size:.73rem;font-weight:800;display:flex}.commit-row .commit-action{background:var(--teal);color:#fff;border-color:#178a7e;box-shadow:0 .2rem #087369}kbd{background:#33433d18;border-radius:.25rem;padding:.08rem .25rem;font-family:inherit;font-size:.62rem}.pump-action{z-index:15;color:#365f64;cursor:pointer;text-align:left;border-radius:1.25rem;align-items:center;gap:.6rem;width:10rem;min-height:4.7rem;padding:.65rem;display:flex;position:absolute;bottom:5.2rem;right:1rem}.pump-action.is-selected{border-color:var(--water);box-shadow:0 0 0 5px #4ac8e24f, var(--soft-shadow);background:#ddfaff}.pump-pictogram{width:2.2rem;height:2.2rem;color:var(--water-deep)}.pump-action strong,.pump-action small{display:block}.pump-action strong{font-size:.78rem}.pump-action small{color:var(--muted);margin-top:.15rem;font-size:.62rem}.contract-panel{z-index:16;border-radius:var(--round);width:18.5rem;padding:.8rem;position:absolute;top:18rem;left:1rem}.contract-panel h3{margin:.25rem 0 .5rem}.contract-choices{gap:.45rem;display:grid}.contract-choices button{cursor:pointer;text-align:left;background:#f6fff7;border:2px solid #87a99c;border-radius:.75rem;padding:.6rem}.contract-choices strong,.contract-choices small{display:block}.contract-choices small{color:var(--muted);margin-top:.2rem;font-size:.66rem}.contract-panel progress{width:100%}.assistance{z-index:14;color:#fffdf2;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2c4540d9;border:2px solid #ffffff9e;border-radius:999px;max-width:min(35rem,100vw - 24rem);padding:.6rem .85rem;font-size:.72rem;position:absolute;bottom:11.4rem;left:50%;transform:translate(-50%);box-shadow:0 .5rem 1.8rem #172d295c}.toast{z-index:70;max-width:min(30rem,100vw - 2rem);box-shadow:var(--soft-shadow);color:#fff;opacity:0;pointer-events:none;background:#263c37ef;border-radius:999px;padding:.7rem 1rem;font-weight:750;transition:opacity .16s,transform .16s;position:absolute;top:6rem;left:50%;transform:translate(-50%,-1rem)}.toast.is-visible{opacity:1;transform:translate(-50%)}.toast[data-tone=warning]{background:#8a3f35ef}.feedback-pop{outline:3px solid #68e5b4;animation:.36s cubic-bezier(.2,1.35,.4,1) feedback-pop}.feedback-danger{outline:4px solid #ff836f;animation:.46s ease-out feedback-danger}.feedback-weather{outline:3px solid #84dff0;animation:.52s ease-out feedback-weather}.feedback-progress{outline:3px solid #f1c85e;animation:.38s cubic-bezier(.2,1.25,.4,1) feedback-pop}.feedback-pump{outline:4px solid #5de5e4;animation:.48s ease-out feedback-pump}.preview-readout.feedback-turn{animation:.26s ease-out feedback-turn}.preview-readout.feedback-place{background:#c8f5de;border-radius:.6rem;animation:.44s ease-out feedback-place}.preview-readout.feedback-reject{background:#ffe0d8;border-radius:.6rem;animation:.26s ease-out feedback-reject}.countdown-banner{z-index:25;color:#fff;text-shadow:0 .6rem #158b9d,0 1.2rem 3rem #173a3a70;pointer-events:none;font-size:clamp(7rem,18vw,14rem);font-weight:1000;line-height:1;animation:.8s cubic-bezier(.2,1.4,.4,1) infinite countdown-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-3deg)}.input-strip{z-index:10;color:#fff;opacity:.7;pointer-events:none;gap:.55rem;font-size:.56rem;display:flex;position:fixed;bottom:.2rem;right:.8rem}dialog{color:var(--ink)}.game-dialog{background:linear-gradient(145deg,#fffdf5,#fff3d7);border:3px solid #fff;border-radius:2rem;width:min(32rem,100vw - 2rem);max-height:calc(100vh - 2rem);padding:clamp(1.2rem,4vw,2.2rem);overflow:auto;box-shadow:0 2rem 8rem #19342f96,inset 0 2px #fff}.game-dialog[open]{animation:.22s cubic-bezier(.2,.9,.3,1) dialog-arrive}.game-dialog::backdrop,.drainage-lab-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#17332d8a}.dialog-pictogram,.tutorial-pictogram{width:4.2rem;height:4.2rem;color:var(--teal-deep);background:#dff9f0;border-radius:1.3rem;place-items:center;margin-bottom:.7rem;display:grid;transform:rotate(-3deg)}.dialog-pictogram .pictogram,.tutorial-pictogram .pictogram{width:2.5rem;height:2.5rem}.game-dialog h2,.tutorial-dialog h2{margin:.25rem 0 .5rem;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.02}.game-dialog p,.tutorial-dialog p{line-height:1.45}.dialog-actions{gap:.55rem;margin-top:1.1rem;display:grid}.dialog-actions.horizontal{flex-wrap:wrap;display:flex}.dialog-actions button,.primary-action{cursor:pointer;background:#fff;border:2px solid #879c92;border-radius:.85rem;justify-content:center;align-items:center;gap:.45rem;min-height:2.9rem;padding:.65rem .9rem;font-weight:800;display:inline-flex}.dialog-actions button .pictogram{width:1.2rem;height:1.2rem}.primary-action,.dialog-actions .primary-action{background:var(--teal);color:#fff;border-color:#0c8276;box-shadow:0 .25rem #087167}.quiet-action{color:var(--muted)}.settings-dialog{width:min(48rem,100vw - 2rem)}.settings-dialog form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;display:grid}.settings-dialog form>label{gap:.3rem;font-size:.78rem;font-weight:750;display:grid}.settings-dialog input[type=range],.settings-dialog select{width:100%}.settings-dialog .check-row{align-items:center;gap:.55rem;min-height:2.4rem;display:flex}.tutorial-dialog{z-index:55;width:min(22rem,100vw - 2rem);box-shadow:var(--soft-shadow);background:#fff8df;border:3px solid #fff;border-radius:1.5rem;margin:0;padding:1rem;position:fixed;top:8rem;left:auto;right:5.5rem}.tutorial-dialog:after{content:"";background:#fff8df;border-top:3px solid #fff;border-right:3px solid #fff;width:1.6rem;height:1.6rem;position:absolute;top:2rem;right:-1rem;transform:rotate(45deg)}.tutorial-dialog[data-target=forecast]{top:7rem;left:20.5rem;right:auto}.tutorial-dialog[data-target=forecast]:after{left:-.9rem;right:auto;transform:rotate(225deg)}.tutorial-dialog[data-target=projects],.tutorial-dialog[data-target=board]{top:auto;bottom:12rem;right:3rem}.result-dialog{width:min(43rem,100vw - 2rem)}.result-status{color:#32724e;background:#dff8e7;border-radius:999px;padding:.3rem .6rem;font-size:.72rem;font-weight:900;display:inline-flex}.result-score{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.result-score>div{background:#fff;border-radius:1rem;padding:.85rem}.result-score span,.result-score strong{display:block}.result-score strong{font-size:2rem}.result-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.result-breakdown div{border-bottom:1px solid var(--line);justify-content:space-between;gap:.5rem;padding:.45rem;display:flex}.result-breakdown dt{color:var(--muted)}.result-audit,.result-seed,.result-audit-heading{display:none}.developer-drawer{z-index:45;color:#eef9f7;background:#163b3fe9;border:1px solid #72918c;border-radius:.8rem;width:22rem;max-height:calc(100vh - 12rem);padding:.75rem;font-family:ui-monospace,monospace;font-size:.7rem;position:absolute;top:5.5rem;right:1rem;overflow:auto}.developer-drawer button,.developer-drawer select{min-height:2rem}.developer-drawer pre{white-space:pre-wrap;overflow:auto}.activity-panel ol{padding-left:1.2rem}.drainage-lab-dialog{color:#edf7f2;background:#102d32;border:1px solid #82938e;border-radius:.75rem;width:min(96vw,92rem);max-width:none;height:min(94vh,64rem);max-height:none;padding:0;overflow:hidden}.lab-shell{grid-template-rows:auto minmax(0,1fr);height:100%;font-family:ui-monospace,monospace;display:grid}.lab-header{border-bottom:1px solid #5f7772;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;display:flex}.lab-header h2,.lab-header p{margin:0}.lab-header-actions,.lab-document-actions,.lab-button-grid{flex-wrap:wrap;gap:.4rem;display:flex}.lab-shell button,.lab-shell select,.lab-shell input,.lab-shell textarea{color:#edf7f2;background:#183b40;border:1px solid #718b86;min-height:2rem}.lab-layout{grid-template-columns:minmax(16rem,21rem) minmax(0,1fr) minmax(18rem,25rem);min-height:0;display:grid}.lab-controls,.lab-readouts,.lab-document{min-height:0;padding:.75rem;overflow:auto}.lab-controls{border-right:1px solid #5f7772}.lab-readouts{border-left:1px solid #5f7772}.lab-controls label{gap:.25rem;margin-bottom:.6rem;display:grid}.lab-viewport{min-height:0;position:relative}.lab-message{background:#24484d;border-radius:.4rem;padding:.5rem}.lab-event-section,.lab-trial{border-top:1px solid #5f7772;margin-top:.75rem;padding-top:.75rem}.hydraulic-bakeoff-dialog{color:#173b3d;background:#eaf5ed;border:1px solid #5f7772;border-radius:1.1rem;width:min(98vw,100rem);max-width:none;height:min(96vh,70rem);max-height:none;padding:0;overflow:hidden}.hydraulic-bakeoff-dialog::backdrop{-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background:#102d32d9}.bakeoff-shell{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid}.bakeoff-header,.bakeoff-toolbar,.bakeoff-candidate>header,.bakeoff-questions,.bakeoff-actions{align-items:center;display:flex}.bakeoff-header{background:#f8fff9;border-bottom:1px solid #a9c4b9;justify-content:space-between;gap:1rem;padding:.8rem 1rem}.bakeoff-header h2,.bakeoff-header p,.bakeoff-candidate h3,.bakeoff-candidate p,.bakeoff-toolbar p{margin:0}.bakeoff-header button,.bakeoff-toolbar button,.bakeoff-toolbar select{color:#173b3d;min-height:2.55rem;font:inherit;background:#fff;border:1px solid #698f83;border-radius:.7rem}.bakeoff-header button,.bakeoff-toolbar button{cursor:pointer;padding:.45rem .8rem}.bakeoff-toolbar{background:#dceee3;border-bottom:1px solid #a9c4b9;flex-wrap:wrap;gap:.8rem 1rem;padding:.65rem 1rem}.bakeoff-toolbar label{align-items:center;gap:.5rem;font-weight:800;display:flex}.bakeoff-toolbar select{padding:0 .6rem}.bakeoff-actions{gap:.4rem}.bakeoff-toolbar [data-bakeoff-status]{color:#355a55;flex:24rem;font-size:.88rem}.bakeoff-comparison{background:#c8ded5;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;min-height:0;padding:.7rem;display:grid}.bakeoff-candidate{background:#9fd5de;border:2px solid #fff;border-radius:1rem;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden;box-shadow:0 .7rem 1.6rem #355a5530}.bakeoff-candidate>header{background:#ffffffeb;gap:.7rem;padding:.55rem .75rem}.bakeoff-candidate>header>span{color:#fff;background:#12656b;border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;font-weight:900;display:grid}.bakeoff-candidate h3{font-size:1rem}.bakeoff-candidate p{color:#55716a;font-size:.72rem}.bakeoff-viewport{min-height:20rem;position:relative}.bakeoff-viewport canvas{width:100%;height:100%;display:block}.bakeoff-footer{background:#f8fff9;border-top:1px solid #a9c4b9;max-height:15rem;padding:.65rem 1rem .8rem;overflow:auto}.bakeoff-questions{flex-wrap:wrap;gap:.4rem}.bakeoff-questions strong{margin-right:.35rem}.bakeoff-questions span{background:#dceee3;border-radius:99rem;padding:.25rem .5rem;font-size:.78rem}.bakeoff-engineering{color:#355a55;margin-top:.55rem}.bakeoff-engineering summary{cursor:pointer;font-size:.78rem;font-weight:800}.bakeoff-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.bakeoff-metrics-grid dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.bakeoff-metrics-grid dl>div{background:#e7f3eb;border-radius:.45rem;padding:.35rem}.bakeoff-metrics-grid dt{color:#607a73;font-size:.65rem}.bakeoff-metrics-grid dd{margin:.15rem 0 0;font-size:.78rem;font-weight:800}.high-contrast .floating-card,.high-contrast .hud-chip,.high-contrast .hud-icon-button,.high-contrast .project-card{border-color:#132b29;box-shadow:0 0 0 2px #fff,0 0 0 5px #132b29}.high-contrast .project-card.is-selected{background:repeating-linear-gradient(135deg,#bff5e5 0 8px,#eafff7 8px 16px)}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}@media (width<=980px){.phase-lockup{display:none}.hud-chip{min-width:6.8rem}.project-dock{width:calc(100vw - 2rem)}.pump-action{bottom:10.9rem;right:1rem}.quick-actions{bottom:16rem}.assistance{max-width:calc(100vw - 22rem);bottom:12rem}}@media (width<=760px){.menu-world{background-position:64%}.menu-card{border-radius:1.7rem;justify-content:flex-end;min-height:auto;margin:22vh .7rem .7rem;padding:1.25rem}.menu-card h1{font-size:clamp(3.2rem,17vw,5rem)}.tagline{margin-bottom:1rem}.world-picker{display:none}.top-hud{gap:.25rem;width:calc(100vw - .8rem);top:.45rem}.hud-chip{flex:1 1 0;min-width:0;padding:.45rem}.hud-chip .pictogram{display:none}.hud-chip small{font-size:.52rem}.hud-chip strong{font-size:.82rem}.score-lockup{display:none}.forecast-panel{width:auto;padding:.45rem;top:4.6rem;left:.5rem;right:.5rem}.friendly-heading{display:none}.forecast-list{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.forecast-card{grid-template-columns:auto minmax(0,1fr);gap:.28rem;min-width:0;padding:.35rem}.forecast-card .severity{display:none}.forecast-card strong,.forecast-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.forecast-card strong{font-size:.68rem}.forecast-card small{font-size:.52rem}.forecast-patch{display:none}.camera-tools{top:8.5rem;right:.5rem}.camera-tools button{width:2.75rem;min-width:2.75rem;min-height:2.75rem}.project-dock{width:calc(100vw - .8rem);padding:.5rem;bottom:.45rem}.dock-heading{display:none}.project-card{min-height:3.9rem;padding:.4rem}.project-pictogram{width:2.2rem;height:2.2rem}.project-copy small{display:none}.dock-detail-row{grid-template-columns:minmax(0,1fr) auto}.upcoming-project,.preview-readout>:not(strong):not(.valid):not(.invalid),.commit-row button span,.commit-row kbd{display:none}.commit-row button{justify-content:center;width:2.8rem}.pump-action{justify-content:center;width:3.4rem;min-height:3.4rem;padding:.45rem;bottom:9.1rem;right:.5rem}.pump-action span{display:none}.quick-actions{bottom:13rem;right:.5rem}.assistance{text-align:left;border-radius:1rem;max-width:none;bottom:9.1rem;left:.5rem;right:4.5rem;transform:none}.contract-panel{width:min(18rem,100vw - 5rem);top:12rem;left:.5rem}.tutorial-dialog,.tutorial-dialog[data-target]{width:auto;inset:9rem .5rem auto}.settings-dialog form,.result-breakdown{grid-template-columns:1fr}.input-strip{display:none}.lab-layout,.bakeoff-comparison,.bakeoff-metrics-grid{grid-template-columns:1fr}.bakeoff-comparison{overflow:auto}.bakeoff-candidate{min-height:28rem}.lab-controls,.lab-readouts{border:0;max-height:30vh}}@keyframes menu-breathe{to{transform:scale(1.065)translate(-.5%,-.2%)}}@keyframes cloud-drift{to{transform:translate(-4rem)}}@keyframes water-glint{50%{opacity:.55;transform:translate(1rem)rotate(-7deg)scaleX(1.08)}}@keyframes countdown-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.78)rotate(-5deg)}30%,80%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(2deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.08)rotate(4deg)}}@keyframes run-enter{0%{filter:saturate(.75)brightness(1.12);opacity:0;transform:scale(1.025)}to{filter:none;opacity:1;transform:scale(1)}}@keyframes dialog-arrive{0%{opacity:0;transform:translateY(.8rem)scale(.96)rotate(-.5deg)}to{opacity:1;transform:none}}@keyframes feedback-pop{45%{filter:brightness(1.08)saturate(1.2);transform:scale(1.055)}}@keyframes feedback-danger{35%{box-shadow:0 0 0 .65rem #ff745747, var(--soft-shadow);filter:saturate(1.28)}}@keyframes feedback-weather{45%{box-shadow:0 0 0 .55rem #75dcec3b, var(--soft-shadow);filter:brightness(1.08)}}@keyframes feedback-pump{45%{box-shadow:0 0 0 .7rem #52d9e24a, var(--soft-shadow);filter:brightness(1.1)}}@keyframes feedback-turn{50%{filter:saturate(1.25);transform:rotate(1.5deg)scale(1.025)}}@keyframes feedback-place{45%{filter:brightness(1.06);box-shadow:inset 0 0 0 .25rem #51c99355}}@keyframes feedback-reject{25%{transform:translate(-.22rem)}70%{transform:translate(.16rem)}}.landscape-root{color:#1d3b36;-webkit-font-smoothing:antialiased;background:#9fd3df;font-family:Avenir Next,Trebuchet MS,system-ui,sans-serif;position:fixed;inset:0;overflow:hidden}.ls-stage,.ls-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.ls-popups{pointer-events:none;z-index:3;position:absolute;inset:0}.ls-popup{white-space:nowrap;transform-origin:50%;border-radius:999px;margin:-14px 0 0 -30px;padding:3px 10px;font-size:15px;font-weight:700;position:absolute;top:0;left:0;box-shadow:0 4px 14px #142d2d40}.ls-popup--good{color:#f2fffd;background:#0f9c92}.ls-popup--bad{color:#fff4ef;background:#d0543a}.ls-hud{pointer-events:none;z-index:4;position:absolute;inset:0}.ls-hud[hidden]{display:none}.ls-panel{pointer-events:auto;background:#fcfaf0eb;border-radius:16px;padding:10px 14px;position:absolute;box-shadow:0 6px 20px #1432322e}.ls-panel--score{min-width:120px;top:14px;left:14px}.ls-score{font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1}.ls-combo{color:#0f7d75;min-height:14px;font-size:12px;font-weight:600}.ls-panel--clock{text-align:right;min-width:190px;top:14px;right:14px}.ls-clock{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1}.ls-forecast{gap:5px;margin-top:8px;display:grid}.ls-storm{text-align:left;background:#68b7ff29;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding:4px 8px;font-size:12px;display:grid}.ls-storm--downpour{background:#488cdc38}.ls-storm--deluge{background:#d0543a2e}.ls-storm-volume{font-variant-numeric:tabular-nums;font-weight:700}.ls-panel--ledger{min-width:170px;font-size:13px;top:50%;left:14px;transform:translateY(-50%)}.ls-ledger-row{justify-content:space-between;gap:12px;padding:1px 0;display:flex}.ls-teal{color:#0b8b8f}.ls-coral{color:#d0543a}.ls-village{margin-top:8px;font-size:12px}.ls-meter{background:#1e3c3c24;border-radius:999px;height:8px;margin-top:4px;overflow:hidden}.ls-meter i{background:#4f9d5a;height:100%;transition:width .18s linear;display:block}.ls-meter i[data-critical=true]{background:#d0543a;animation:.9s ease-in-out infinite ls-pulse}@keyframes ls-pulse{50%{opacity:.5}}.ls-panel--queue{justify-items:center;gap:8px;max-width:min(720px,92vw);display:grid;bottom:14px;left:50%;transform:translate(-50%)}.ls-timer{background:#1e3c3c24;border-radius:999px;width:100%;height:5px;overflow:hidden}.ls-timer i{background:#2c6e63;height:100%;transition:width 90ms linear;display:block}.ls-timer i[data-urgent=true]{background:#d0543a}.ls-queue{align-items:stretch;gap:8px;display:flex}.ls-card{opacity:.72;background:#2c6e6314;border:1px solid #2c6e632e;border-radius:12px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.ls-card--held{opacity:1;background:#0f9c9224;border-color:#0f9c92}.ls-card--cut{background:#6f8f7a2e;border-style:dashed}.ls-card-shape svg{fill:#2c6e63;display:block}.ls-card--cut .ls-card-shape svg{fill:#4d7f68}.ls-card-text{display:grid}.ls-card-text span{opacity:.75;max-width:260px}.ls-controls{gap:8px;display:flex}.ls-controls button,.ls-overlay button{color:#23473f;font:inherit;cursor:pointer;background:#fefdf8;border:1px solid #2c6e63;border-radius:10px;padding:7px 12px;font-size:13px}.ls-controls button:hover,.ls-overlay button:hover{background:#eefaf5}.ls-controls .ls-armed{color:#f4fffd;background:#0f9c92}kbd{font:inherit;opacity:.6;border:1px solid;border-radius:4px;padding:0 3px;font-size:11px}.ls-hint{opacity:.78;text-align:center;min-height:15px;margin:0;font-size:12px}.ls-hint--flash{animation:.7s ease-out ls-flash}@keyframes ls-flash{0%{color:#d0543a;transform:scale(1.06)}}.ls-overlay{z-index:6;place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow:auto}.ls-overlay[hidden]{display:none}.ls-overlay--menu{background:#b8d8df;place-items:stretch stretch;padding:0}.ls-menu-screen{width:100%;min-height:100%;position:relative;overflow:hidden}.ls-menu-world{filter:saturate(.98)contrast(.98);background-position:50%;background-size:cover;transition:background-image .22s;animation:18s ease-in-out infinite alternate ls-breathe;position:absolute;inset:-2%;transform:scale(1.035)}.ls-menu-world:before,.ls-menu-world:after{content:"";position:absolute;inset:0}.ls-menu-world:before{background:linear-gradient(90deg,#1e2d278c 0,#23352c35 38%,#0000 70%),linear-gradient(#fff4ca24,#0000 20% 65%,#17282175)}.ls-menu-world:after{background:radial-gradient(circle at 65% 45%,#0000 25%,#10221f42 110%)}.ls-menu-cloud{filter:blur(1px);opacity:.5;background:#fff9e7c4;border-radius:50%;width:14rem;height:4.5rem;animation:20s ease-in-out infinite alternate ls-drift;position:absolute;top:9%;right:8%;box-shadow:-5rem 1rem 0 -.7rem #fff9e7a6,4.5rem .6rem 0 -.9rem #fff9e7a6}.ls-menu-glint{filter:blur(8px);background:linear-gradient(90deg,#0000,#dffeff99,#0000);border-radius:50%;width:26rem;height:4rem;animation:5s ease-in-out infinite ls-glint;position:absolute;bottom:12%;right:18%;transform:rotate(-7deg)}.ls-menu-card{z-index:2;-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);color:#2b4240;background:linear-gradient(145deg,#fffdf4f4,#fff7dfdd);border:2px solid #ffffff8c;border-radius:2.5rem;flex-direction:column;width:min(35rem,100vw - 2rem);max-height:calc(100vh - 2rem);margin:1rem auto 1rem clamp(1rem,6vw,7rem);padding:clamp(1.35rem,2.4vw,2rem);display:flex;position:relative;overflow-y:auto;box-shadow:0 2rem 6rem #18352f73,inset 0 2px #fff}.ls-menu-card>*{flex:none}.ls-eyebrow{color:#0b7d76;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:900}.ls-wordmark{color:#2b4240;letter-spacing:-.075em;text-wrap:balance;margin:.15rem 0 0;font-size:clamp(3.4rem,6vw,5.25rem);font-weight:1000;line-height:.83}.ls-wordmark span{color:#12a89c;text-shadow:0 .4rem #087c7830;display:block}.ls-menu-card .ls-tagline{color:#536461;opacity:1;max-width:27rem;margin:.65rem 0 0;font-size:clamp(1rem,1.4vw,1.16rem);font-weight:650;line-height:1.4}.ls-heroes{gap:.6rem;margin-top:.8rem;display:grid}.ls-play,.ls-duel{text-align:left;cursor:pointer;align-items:center;width:100%;min-height:0;display:flex;overflow:visible;border-radius:1.35rem!important;padding:.9rem 1.15rem!important}.ls-play{gap:.9rem;box-shadow:0 .75rem 1.6rem #b9832a3d,inset 0 2px #fff6d8;color:#4a3411!important;background:linear-gradient(160deg,#ffd977,#f5b942)!important;border:0!important}.ls-play:hover{background:linear-gradient(160deg,#ffe392,#f7c358)!important}.ls-duel{gap:.9rem;box-shadow:0 .65rem 1.35rem #17353d38,inset 0 2px #ffffff1f;color:#f4fbf9!important;background:linear-gradient(160deg,#315564,#20363e)!important;border-color:#18343d!important}.ls-duel .ls-play-text small{color:#d7e8e5}.ls-duel:hover{background:linear-gradient(160deg,#3a6070,#2b424c)!important}.ls-play-glyph{flex:0 0 2.2rem;place-items:center;width:2.2rem;height:2.2rem;font-size:1.35rem;line-height:1;display:grid}.ls-play-text{gap:.28rem;min-width:0;display:grid}.ls-play-text strong{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.15rem,3.3vw,1.48rem);font-weight:900;line-height:1.08}.ls-play-text strong span{white-space:nowrap}.ls-play-text small{color:#634817;overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(.78rem,1.7vw,.84rem);font-weight:600;line-height:1.35}.ls-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.65rem;display:grid}.ls-mode{text-align:left;grid-template-rows:auto 1fr;align-content:start;gap:.3rem;min-height:4.8rem;display:grid;background:#ffffffad!important;border-color:#2c6e6338!important;border-radius:1rem!important;padding:.75rem .8rem!important}.ls-mode strong{font-size:.92rem;line-height:1.15}.ls-mode small{opacity:.72;font-size:.7rem;line-height:1.35}.ls-worlds{border-top:2px dashed #68867c42;margin-top:.75rem;padding-top:.9rem}.ls-worlds-head{align-items:center;gap:.6rem;display:flex}.ls-worlds-globe{color:#12a89c;font-size:1.1rem}.ls-worlds-head strong,.ls-worlds-head small{display:block}.ls-worlds-head small{color:#6d7d7a;font-size:.72rem}.ls-world-options{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.6rem;display:grid}.ls-world-options button{cursor:pointer;min-width:0;font-size:.68rem;font-weight:800;color:#52615e!important;background:0 0!important;border:2px solid #0000!important;border-radius:.9rem!important;padding:.3rem!important}.ls-world-options button:hover,.ls-world-options button.is-selected{color:#175e58!important;background:#dcfff6!important;border-color:#12a89c!important}.ls-world-thumb{aspect-ratio:16/9;background-position:50%;background-size:cover;border-radius:.6rem;margin-bottom:.28rem;display:block;box-shadow:inset 0 0 0 1px #fff8}.ls-drawer{border-top:2px dashed #68867c42;margin-top:.65rem;padding-top:.7rem}.ls-drawer summary{letter-spacing:.08em;text-transform:uppercase;color:#6d7d7a;cursor:pointer;font-size:.76rem;font-weight:900}.ls-drawer summary:focus-visible{outline-offset:3px;outline:2px solid #12a89c}.ls-drawer>:not(summary){margin-top:.55rem}.ls-board{gap:3px;margin:0;padding:0;list-style:none;display:grid}.ls-board li{background:#2c6e6312;border-radius:7px;grid-template-columns:20px 1fr auto auto auto;align-items:center;gap:8px;padding:3px 6px;font-size:.82rem;display:grid}.ls-rank{opacity:.55;font-variant-numeric:tabular-nums}.ls-points{font-variant-numeric:tabular-nums;font-weight:700}.ls-verified{opacity:.55;font-size:11px}.ls-recheck{justify-self:start;font-size:12px;padding:4px 9px!important}.ls-recheck-result{opacity:.7;margin:0;font-size:12px}.ls-empty{opacity:.65;margin:0;font-size:.85rem}.ls-name-field{opacity:.8;gap:3px;font-size:12px;display:grid}.ls-name-field input{font:inherit;background:#fffdf7;border:1px solid #2c6e6366;border-radius:8px;padding:6px 8px;font-size:14px}.ls-rules{opacity:.86;gap:5px;margin:0;padding-left:18px;font-size:.85rem;display:grid}.ls-toggle{align-items:center;gap:7px;font-size:12px;display:flex}@keyframes ls-breathe{to{transform:scale(1.075)}}@keyframes ls-drift{to{transform:translate(-3rem)}}@keyframes ls-glint{50%{opacity:.35}}.ls-pause,.ls-result{text-align:center;background:#fcfaf0f5;border-radius:20px;justify-items:center;gap:10px;width:100%;max-width:520px;padding:24px 30px;display:grid;box-shadow:0 18px 50px #1432324d}.ls-result h2{margin:0;font-size:24px}.ls-result-line{opacity:.75;margin:0}.ls-result-grade{color:#fffdf6;background:#7d8a86;border-radius:50%;place-items:center;width:74px;height:74px;font-size:38px;font-weight:800;display:grid}.ls-grade--S{background:#d8a12a}.ls-grade--A{background:#0f9c92}.ls-grade--B{background:#4f9d5a}.ls-grade--C{background:#a8894a}.ls-grade--D{background:#b0574a}.ls-result-score{font-variant-numeric:tabular-nums;font-size:42px;font-weight:800;line-height:1}.ls-breakdown{border-collapse:collapse;width:100%;font-size:13px}.ls-breakdown td{text-align:left;border-top:1px solid #2c6e6324;padding:4px 6px}.ls-breakdown td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.ls-good{color:#0b8b8f}.ls-bad{color:#d0543a}.ls-board-line{margin:0;font-size:13px}.ls-board-line code{background:#2c6e631f;border-radius:6px;padding:1px 6px}.ls-board-line--bad{color:#d0543a}.ls-result-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}@media (width<=780px){.ls-menu-card{width:calc(100vw - 1.5rem);margin:1rem auto}.ls-play,.ls-duel{grid-template-columns:2.2rem minmax(0,1fr);gap:.3rem .75rem;display:grid;padding:.8rem .95rem!important}.ls-play-text{display:contents}.ls-play-text strong{grid-column:2}.ls-play-text small{text-align:center;grid-column:1/-1;padding-inline:.2rem}.ls-modes{grid-template-columns:1fr}.ls-mode{min-height:4.1rem}.ls-panel--ledger{top:auto;bottom:168px;transform:none}.ls-card-text span{display:none}}@media (prefers-reduced-motion:reduce){.ls-menu-world,.ls-menu-cloud,.ls-menu-glint,.ls-meter i[data-critical=true],.ls-hint--flash{animation:none}}.ls-panel--duel{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-width:min(560px,92vw);display:grid;top:14px;left:50%;transform:translate(-50%)}.ar-city{gap:4px;font-size:12px;display:grid}.ar-city--theirs{text-align:right}.ar-meter i{background:#0f9c92}.ar-city--theirs .ar-meter i,.ar-meter i[data-critical=true]{background:#d0543a}.ar-clock{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.ls-panel--gunnery{justify-items:center;gap:8px;min-width:min(620px,94vw);display:grid;bottom:14px;left:50%;transform:translate(-50%)}.ar-readout{gap:22px;display:flex}.ar-readout div{justify-items:center;font-size:11px;display:grid}.ar-readout strong{font-variant-numeric:tabular-nums;font-size:19px}.ar-reload{background:#1e3c3c24;border-radius:999px;width:100%;height:5px;overflow:hidden}.ar-reload i{background:#2c6e63;height:100%;transition:width 90ms linear;display:block}.ar-ordnance{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.ar-piece{color:#23473f;font:inherit;cursor:pointer;background:#fefdf8;border:1px solid #2c6e6355;border-radius:9px;padding:5px 9px;font-size:12px}.ar-piece.is-selected{color:#f4fffd;background:#0f9c92;border-color:#0f9c92}.ls-panel--armoury{gap:6px;min-width:190px;font-size:12px;display:grid;bottom:14px;right:14px}.ar-armoury-label{text-transform:uppercase;letter-spacing:.09em;opacity:.62;font-size:11px}.ar-armoury-next{opacity:.72;font-variant-numeric:tabular-nums;font-size:11px}.ar-leave{color:#23473f;font:inherit;cursor:pointer;background:#fefdf8;border:1px solid #2c6e63;border-radius:9px;justify-self:start;padding:4px 9px;font-size:12px}.ls-panel--duel{grid-template-columns:1fr auto 1fr;min-width:min(410px,100vw - 28px);padding:10px 14px;left:14px;transform:none}.ls-panel--gunnery{justify-items:stretch;width:min(390px,100vw - 28px);min-width:0;padding:10px 12px;left:14px;transform:none}.ls-panel--gunnery .ls-hint{max-width:42ch;margin:0;font-size:11px;line-height:1.35}.ar-readout{justify-content:space-around}.ar-power-buttons{gap:4px;display:none}.ar-power-buttons button{color:#23473f;background:#fefdf8;border:1px solid #2c6e6355;border-radius:8px;min-width:32px;min-height:32px;font:700 18px/1 inherit}.ar-piece{position:relative}.ar-piece--exotic{background:#fff4d9;border-style:dashed}.ar-piece:disabled{cursor:not-allowed;opacity:.42;filter:grayscale(.45)}.ar-rounds{color:#fffdf5;background:#d8893c;border-radius:999px;place-items:center;min-width:1.45rem;margin-left:4px;padding:1px 4px;font-size:10px;font-weight:800;display:inline-grid}.duel-lobby-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1a35388a;place-items:center;padding:clamp(14px,4vw,48px);display:grid;overflow-y:auto}.duel-lobby{color:#23473f;background:#fffdf5;border:2px solid #2c6e6357;border-radius:26px 19px 30px 21px;width:min(650px,100%);padding:clamp(22px,4vw,42px);box-shadow:0 24px 70px #18303052}.duel-lobby h1{margin:3px 0 24px;font-size:clamp(28px,5vw,48px);line-height:.98}.duel-lobby h2,.duel-lobby p{margin:0}.duel-lobby-primary{background:#fff4d9;border:2px solid #d8893c66;border-radius:17px 23px 16px 20px;gap:12px;padding:22px;display:grid}.duel-lobby-actions,.duel-lobby-practice,.duel-lobby-primary form{gap:10px;display:flex}.duel-voice-note{background:#fffdf5b8;border-left:3px solid #2c6e63;padding:8px 10px;font-size:12px}.duel-lobby button,.duel-countdown button,.duel-interruption button{color:#23473f;cursor:pointer;background:#fefdf8;border:1px solid #2c6e63;border-radius:10px 13px 9px 12px;padding:9px 14px;font:700 14px/1.2 inherit}.duel-lobby .duel-action--host{color:#fffdf5;background:#2c6e63}.duel-lobby-practice{border-top:1px solid #2c6e6329;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 6px}.duel-lobby-practice p,.duel-status,.duel-lobby--status>p{opacity:.74;margin-top:5px}.duel-lobby-leave{margin-top:14px;background:0 0!important;border-color:#0000!important;font-weight:500!important}.duel-code-form,.duel-lobby--code form,.duel-lobby--code label{gap:8px;display:grid}.duel-code-form textarea,.duel-lobby textarea{box-sizing:border-box;resize:vertical;color:#23473f;background:#f8f3e6;border:1px solid #2c6e6366;border-radius:10px;width:100%;padding:10px;font:11px/1.35 ui-monospace,monospace}.duel-code{margin:10px 0;font-size:15px!important;font-weight:700!important}.duel-state{color:#0f7f76;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.duel-state--failed{color:#b34330}.duel-spinner{vertical-align:-3px;border:2px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;animation:.8s linear infinite duel-spin;display:inline-block}@keyframes duel-spin{to{transform:rotate(1turn)}}.duel-ready-banner{z-index:8;color:#23473f;background:#fff4d9f0;border:1px solid #d8893c88;border-radius:999px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:7px 10px 7px 14px;font-size:12px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #18303024}.duel-ready-banner button{color:#23473f;background:#fffdf5;border:1px solid #2c6e63;border-radius:999px;padding:5px 10px;font:700 12px/1 inherit}.duel-ready-banner button.is-ready{color:#fff;background:#2c6e63}.duel-latency{opacity:.62;font-size:9px;position:absolute;bottom:-15px;right:10px}.duel-toast-stack{z-index:9;pointer-events:none;gap:5px;width:min(520px,100vw - 32px);display:grid;position:absolute;top:58px;left:50%;transform:translate(-50%)}.duel-toast{color:#23473f;text-align:center;background:#fff4d9f2;border:1px solid #d8893c77;border-radius:999px;padding:7px 12px;font-size:12px;animation:4.6s both duel-toast-life;box-shadow:0 4px 16px #1830302e}@keyframes duel-toast-life{0%{opacity:0;transform:translateY(-6px)}8%,84%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.duel-countdown,.duel-interruption{color:#23473f;text-align:center;background:#1a35387a;place-items:center;padding:20px;display:grid}.duel-countdown>div,.duel-interruption>div{background:#fffdf5;border-radius:24px 18px 27px 20px;max-width:540px;padding:28px;box-shadow:0 22px 60px #1830304d}.duel-waiting{color:#23473f;background:#fffdf5eb;border-radius:999px;padding:7px 11px;font-size:11px;position:absolute;top:14px;right:14px}.duel-voice-choice{align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.duel-voice-choice small{opacity:.68;font-weight:400}.duel-voice-controls{gap:5px;display:flex;position:absolute;bottom:-38px;left:0}.duel-voice-controls button{color:#23473f;cursor:pointer;background:#fffdf5e6;border:1px solid #2c6e6355;border-radius:999px;padding:4px 8px;font:700 10px/1.2 inherit}.duel-voice-controls button.is-active{color:#fffdf5;background:#2c6e63}@media (pointer:coarse){.ar-power-buttons{display:flex}.ls-panel--gunnery{width:min(430px,100vw - 20px)}.ar-piece{min-height:34px}}@media (width<=680px){.ls-panel--duel{min-width:min(360px,100vw - 16px);top:8px;left:8px}.ls-panel--gunnery{width:min(390px,100vw - 16px);bottom:8px;left:8px}.ls-panel--armoury{min-width:150px;top:88px;bottom:auto;right:8px}.duel-ready-banner span{display:none}.duel-lobby-actions,.duel-lobby-primary form,.duel-lobby-practice{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.duel-spinner,.duel-toast{animation:none}}.ls-menu-card,.duel-lobby,.ls-result,.duel-countdown>div,.duel-interruption>div{background-blend-mode:normal, multiply;background-color:#fff8e8;background-image:linear-gradient(145deg,#fffdf4f0,#fff5dbe8),url(/game-assets/ui/warm-card-grain.jpg)}.ls-menu-card:after,.duel-lobby--home:after{z-index:0;content:"";opacity:.72;pointer-events:none;background:linear-gradient(#0000,#214a313d),url(/game-assets/ui/grass-footer-strip.jpg) 50%/cover;border-radius:0 0 2.3rem 2.3rem;flex:0 0 2.25rem;width:calc(100% + 2*clamp(1.35rem,2.4vw,2rem));margin:0 calc(-1*clamp(1.35rem,2.4vw,2rem)) calc(-1*clamp(1.35rem,2.4vw,2rem));display:block;position:relative;bottom:auto}.ls-play,.ls-duel{transition:transform .12s,box-shadow .12s,filter .12s;position:relative;transform:translateY(0);border:1px solid #27413452!important;box-shadow:0 .55rem #5d4e273b,0 .85rem 1.5rem #2331272e,inset 0 2px #ffffff7a,inset 0 -3px #36281326!important}.ls-play:hover,.ls-duel:hover{filter:saturate(1.08)brightness(1.025);transform:translateY(-3px)}.ls-play:active,.ls-duel:active{transform:translateY(4px);box-shadow:0 .16rem #5d4e2740,inset 0 3px 7px #34261230!important}.ls-play-glyph svg{filter:drop-shadow(0 2px #ffffff38);width:2.25rem;height:2.25rem}.ls-mode{grid-template-rows:auto;grid-template-columns:2.25rem 1fr;align-items:center;transition:transform .12s,border-color .12s;box-shadow:0 4px #2953421f,inset 0 1px #fff!important}.ls-mode:hover{transform:translateY(-2px)rotate(-.2deg);border-color:#1b9c8a99!important}.ls-mode-glyph{color:#237765;background:#ddf4e8;border-radius:.75rem;place-items:center;width:2.15rem;height:2.15rem;display:grid}.ls-mode-glyph svg{width:1.65rem;height:1.45rem}.ls-mode>span:last-child,.ls-mode strong,.ls-mode small{display:block}.duel-lobby-overlay{background:radial-gradient(circle at 50% 10%,#80bcb357,#0000 45%),linear-gradient(150deg,#142f30c7,#12272de0);place-items:start center}.duel-lobby{border-color:#fff6;position:relative;overflow:hidden;box-shadow:0 2rem 6rem #071c1c7a,inset 0 2px #ffffffb3}.duel-lobby--home{width:min(1120px,100%);padding:clamp(18px,3vw,34px)}.duel-lobby-banner{border-bottom:2px dashed #2c6e6347;grid-template-columns:clamp(80px,11vw,130px) 1fr;align-items:center;gap:clamp(12px,2vw,28px);padding:0 clamp(2px,1vw,12px) 20px;display:grid}.duel-lobby-banner h1{color:#233f3b;letter-spacing:-.055em;margin:2px 0 5px;font-size:clamp(2.55rem,5vw,4.75rem)}.duel-lobby-banner>div>p:last-child{color:#536a64;max-width:65ch;font-weight:650}.duel-banner-cannon{aspect-ratio:1.3;color:#2c6e63;background:#dff1df;border:2px solid #2c6e6347;border-radius:43% 57% 48% 52%;place-items:center;display:grid;transform:rotate(-2deg)}.duel-banner-cannon svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:85%}.duel-paths{grid-template-columns:1.35fr 1fr .86fr;gap:12px;margin-top:16px;display:grid}.duel-path{border:2px solid #2c6e633d;border-radius:20px 25px 18px 23px;flex-direction:column;min-width:0;min-height:330px;padding:18px;display:flex;overflow:hidden;box-shadow:inset 0 2px #ffffffa6}.duel-path--friend{background:linear-gradient(155deg,#e6f2e4,#d6eadf)}.duel-path--daily{background:linear-gradient(155deg,#fff0bd,#f3d98a)}.duel-path--practice{background:linear-gradient(155deg,#ebebe3,#d8e0d7)}.duel-vignette{color:#355e55;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:88px;margin:-4px 0 5px}.duel-vignette-accent{color:#d16846;stroke:currentColor}.duel-path-copy{flex:1}.duel-kicker{color:#3c7167;letter-spacing:.11em;text-transform:uppercase;font-size:.66rem;font-weight:900}.duel-path h2,.duel-history h2{letter-spacing:-.035em;margin:2px 0 7px;font-size:clamp(1.35rem,2.3vw,1.85rem)}.duel-path-copy>p:not(.duel-kicker,.duel-daily-status){color:#52665f;font-size:.84rem;line-height:1.45}.duel-lobby-actions{grid-template-columns:1fr 1fr;margin-top:15px;display:grid}.duel-lobby .duel-action{border:1px solid #224a3e73;border-radius:12px 15px 11px 14px;min-height:43px;transition:transform .1s,box-shadow .1s;box-shadow:0 4px #24473929,inset 0 1px #ffffffb8}.duel-lobby .duel-action:hover{transform:translateY(-2px)}.duel-lobby .duel-action:active{transform:translateY(2px);box-shadow:inset 0 2px 5px #23413538}.duel-lobby .duel-action--host,.duel-lobby .duel-action--daily{color:#fffdf5;background:#2c6e63}.duel-daily-status{color:#594d24;background:#fffdf5ad;border:1px solid #52431633;border-radius:999px;width:fit-content;padding:6px 9px;font-size:.74rem;margin-top:12px!important}.duel-daily-status span{opacity:.62}.duel-daily-status--won strong{color:#0f7f62}.duel-daily-status--lost strong{color:#a74533}.duel-code-form{margin-top:12px}.duel-code-form>div{grid-template-columns:1fr auto;gap:6px;display:grid}.duel-code-form input{color:#23473f;letter-spacing:.09em;text-transform:uppercase;background:#fffdf7;border:1px solid #2c6e6366;border-radius:10px;min-width:0;padding:9px 10px;font:800 16px/1 ui-monospace,monospace}.duel-field-error{color:#a74533;min-height:1.1em;font-size:.7rem}.duel-manual{color:#52665f;border-top:1px dashed #2c6e634d;margin-top:12px;padding-top:10px;font-size:.74rem}.duel-manual summary{cursor:pointer;font-weight:800}.duel-manual summary span{opacity:.65;font-weight:500}.duel-manual>div{gap:6px;margin:8px 0;display:flex}.duel-manual form,.duel-manual label{gap:6px;display:grid}.duel-history{background:#ffffff7a;border:1px solid #2c6e6333;border-radius:17px;grid-template-columns:190px 1fr;align-items:start;gap:12px;margin-top:14px;padding:14px 16px;display:grid}.duel-history ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.duel-history li{color:#49635c;background:#2c6e630f;border-radius:9px;grid-template-columns:22px minmax(70px,.8fr) 1.4fr;align-items:center;gap:6px;min-width:0;padding:5px 7px;font-size:.72rem;display:grid}.duel-history li>span:nth-child(2),.duel-history li strong,.duel-history li small{display:block}.duel-history li small{opacity:.58}.duel-outcome{text-align:center;font-size:1rem;font-weight:900}.duel-outcome--won{color:#0f8c72}.duel-outcome--lost{color:#bd4b36}.duel-history-empty{color:#60736d;margin:9px 0;font-size:.82rem}.duel-lobby-footer{color:#61766e;justify-content:space-between;align-items:center;min-height:38px;font-size:.7rem;display:flex}.duel-lobby-overlay--invite{background:radial-gradient(circle at 50% 35%,#dfc06957,#0000 28%),linear-gradient(155deg,#122c2eeb,#1e3937f5)}.duel-lobby--room{text-align:center;width:min(680px,100%);padding:clamp(28px,5vw,54px)}.duel-lobby--room h1{margin-bottom:8px}.duel-room-prompt{color:#5f716b}.duel-room-code{color:#244b44;letter-spacing:.15em;text-indent:.15em;text-shadow:0 5px #2c6e6320;margin:18px 0 13px;font:1000 clamp(3.25rem,11vw,6.5rem)/.9 ui-monospace,monospace}.duel-lobby .duel-copy-main{color:#49340f;background:linear-gradient(160deg,#f2c65f,#d99b39);border:0;width:min(340px,100%);min-height:54px;font-size:1rem;box-shadow:0 6px #9f6c27,0 10px 20px #533b123d,inset 0 2px #fff4c9}.duel-invite-link{color:#65746f;text-align:left;background:#f6f0e1;border:1px solid #2c6e633d;border-radius:11px;grid-template-columns:1fr auto;align-items:center;gap:7px;margin:19px auto;padding:7px 7px 7px 12px;font:.7rem/1.2 ui-monospace,monospace;display:grid}.duel-invite-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duel-room-life{color:#8b6732;font-size:.76rem;font-weight:750;margin-top:7px!important}.duel-lobby--status{text-align:center;width:min(590px,100%)}.duel-spinner--large{color:#2c6e63;border-width:4px;width:34px;height:34px;margin-bottom:17px}.ls-panel--duel,.ls-panel--gunnery,.ls-panel--armoury{background-image:linear-gradient(#fffdf5f0,#faf6e8f0),url(/game-assets/ui/warm-card-grain.jpg);box-shadow:0 9px 26px #10272530,inset 0 1px #fff}.ar-ordnance{justify-content:flex-start;max-height:142px;padding:2px 2px 5px;overflow-y:auto}.ar-piece{text-align:left;background:linear-gradient(155deg,#fffef9,#ece8da);border-width:1px;border-color:#446e6357;border-radius:11px 14px 10px 13px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:5px;min-width:108px;min-height:43px;padding:5px 7px;transition:transform 90ms,box-shadow 90ms;display:grid;box-shadow:0 3px #2a473d26,inset 0 1px #fff}.ar-piece:hover:not(:disabled){transform:translateY(-2px)}.ar-piece:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px 4px #28443b38}.ar-piece.is-selected{background:linear-gradient(155deg,#178e83,#23695f);box-shadow:0 3px #174d46,inset 0 1px #ffffff47}.ar-piece-icon{background:#2c6e631a;border-radius:8px;width:27px;height:27px;padding:3px}.ar-piece.is-selected .ar-piece-icon{background:#ffffff29}.ar-piece-label{max-width:11ch;font-size:10px;font-weight:800;line-height:1.08}.ar-piece kbd{opacity:.5;align-self:start;font-size:9px}.ar-piece .ar-rounds{position:absolute;bottom:3px;right:4px}.ar-reload{background:#d8d7ca;border:1px solid #244d432e;height:8px;position:relative}.ar-reload i{background:linear-gradient(90deg,#1c776b,#26a896);position:relative;overflow:hidden}.ar-reload i:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffffa8 49%,#0000 68%);animation:1.45s ease-in-out infinite ar-reload-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes ar-reload-shine{to{transform:translate(100%)}}.ar-wind strong{align-items:center;gap:4px;display:flex}.ar-windsock{fill:#d15e3e33;stroke:#b7553c;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:22px;transform:rotate(var(--wind-tilt,0deg));transition:transform .18s}.ar-windsock.is-west{scale:-1 1}@media (width<=820px){.duel-lobby-overlay{padding:10px}.duel-paths{grid-template-columns:1fr 1fr}.duel-path--friend{grid-column:1/-1;min-height:310px}.duel-path{min-height:285px}.duel-history,.duel-history ol{grid-template-columns:1fr}}@media (width<=520px){.ls-menu-card{border-radius:1.65rem;max-height:calc(100dvh - 1rem);margin:.5rem auto;padding:1.05rem}.ls-wordmark{font-size:3.35rem}.ls-menu-card .ls-tagline{font-size:.9rem}.ls-modes{grid-template-columns:repeat(3,minmax(0,1fr))}.ls-mode{grid-template-columns:1fr;min-height:6.2rem;padding:.6rem!important}.ls-mode-glyph{width:1.8rem;height:1.8rem}.ls-mode small{display:none}.duel-lobby--home{padding:14px}.duel-lobby-banner{grid-template-columns:58px 1fr;padding-bottom:13px}.duel-lobby-banner h1{font-size:2.35rem}.duel-lobby-banner>div>p:last-child{display:none}.duel-paths{grid-template-columns:1fr}.duel-path--friend{grid-column:auto}.duel-path{min-height:0;padding:14px}.duel-vignette{height:58px}.duel-path-copy{flex:initial}.duel-history{padding:12px}.duel-history ol li:nth-child(n+5),.duel-lobby-footer span{display:none}.duel-room-code{font-size:clamp(2.65rem,16vw,4.2rem)}.ls-panel--duel{padding:7px 9px}.ls-panel--gunnery{gap:5px;padding:7px 8px}.ls-panel--gunnery .ls-hint{display:none}.ar-readout strong{font-size:15px}.ar-ordnance{flex-wrap:nowrap;justify-content:flex-start;max-height:96px;overflow:auto hidden}.ar-piece{flex:0 0 104px;min-height:39px}.ls-panel--armoury{min-width:126px;padding:7px 9px;top:74px}.ar-armoury-next{max-width:16ch}}@media (prefers-reduced-motion:reduce){.ls-play,.ls-duel,.ls-mode,.duel-lobby .duel-action,.ar-piece,.ar-windsock{transition:none}.ar-reload i:after{animation:none}}
