:root{--amber: #ffb347;--amber-dim: #c9873a;--red: #e0503c;--green: #6fd36f;--ink: #0a0a0c;--panel: rgba(8, 10, 14, .72);--border: rgba(255, 179, 71, .35);color-scheme:dark}*{box-sizing:border-box}body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-touch-callout:none}html,body,#root{height:100%;margin:0;background:#05060a;color:#e8e4dc;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;overflow:hidden}.app{height:100%;display:grid;place-items:center}.game-screen{width:100%;height:100%;display:grid;place-items:center}.stage{position:relative;width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw);width:min(100vw,calc(100dvh * 16 / 9));height:min(100dvh,56.25vw);--safe-w: calc(100vw - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) ;--safe-h: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) ;--stage-w: min(var(--safe-w), calc(var(--safe-h) * 16 / 9));--stage-h: min(var(--safe-h), calc(var(--safe-w) * 9 / 16));width:var(--stage-w);height:var(--stage-h);--bleed-x: calc(max(0px, 100vw - var(--stage-w))/2) ;--bleed-y: calc(max(0px, 100dvh - var(--stage-h))/2) ;background:#000;box-shadow:0 0 80px #000000e6;touch-action:none}.stage canvas{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:100dvh;max-height:112.5vw;max-width:calc(100dvh * 2560 / 720);cursor:crosshair}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;container-type:size;font-size:clamp(11px,1.35cqw,18px)}.hud-top-left,.hud-top-right{position:absolute;top:2%;display:flex;flex-direction:column;gap:.4em;padding:.7em .9em;background:var(--panel);border:1px solid var(--border);border-radius:4px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.hud-top-left{left:2%}.hud-top-right{right:2%;text-align:right;align-items:flex-end}.cash{font-size:1.8em;font-weight:700;color:var(--amber);letter-spacing:.02em;text-shadow:0 0 12px rgba(255,179,71,.45)}.stat-row{display:flex;align-items:center;gap:.5em}.stat-label{width:4.2em;font-size:.85em;text-transform:uppercase;letter-spacing:.08em;opacity:.65}.meter{position:relative;width:11em;height:1.15em;background:#0009;border:1px solid rgba(255,255,255,.15);border-radius:2px;overflow:hidden}.meter-fill{height:100%;transition:width .12s linear}.meter.life .meter-fill{background:linear-gradient(90deg,#4a9d4a,var(--green))}.meter.bunker .meter-fill{background:linear-gradient(90deg,#9d6a2a,var(--amber))}.meter-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.72em;letter-spacing:.05em;text-shadow:0 1px 2px #000}.round{font-size:1.5em;font-weight:700;color:var(--amber)}.phase{font-size:.9em;opacity:.85}.phase.build{color:var(--green);display:flex;flex-direction:column;align-items:flex-end}.gun{font-size:.9em;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.flares{font-size:.9em;color:#ff9a5c}.flares.empty{color:#7a6a60}.hint{opacity:.5;font-size:.8em;margin-left:.4em}.hud-powerups{position:absolute;top:2%;left:50%;transform:translate(-50%);display:flex;gap:.5em}.powerup-chip{padding:.35em .7em;background:var(--panel);border:1px solid var(--border);border-radius:999px;font-size:.85em;color:var(--amber)}.powerup-chip span{opacity:.6;margin-left:.3em}.hud-toasts{position:absolute;bottom:24%;left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:.4em;max-width:70%;pointer-events:none}.hud-message{padding:.8em 1.4em;background:var(--panel);border:1px solid var(--border);border-radius:4px;text-align:center}.hud-message p{margin:.25em 0;font-size:1.05em}.hud-error{position:absolute;top:26%;left:50%;transform:translate(-50%);padding:.5em 1em;background:#3c0a08d9;border:1px solid rgba(224,80,60,.6);border-radius:4px;color:#ffb3a7;font-size:.95em}.fps{position:absolute;bottom:.5%;right:1%;font-size:.75em;opacity:.35}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:.8em;background:#040509d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;text-align:center;padding:2em}.overlay h1{margin:0;font-size:2.6em;letter-spacing:.08em;color:var(--amber);text-shadow:0 0 30px rgba(255,179,71,.35)}.overlay .final-score{font-size:1.4em;color:#fff;margin:0}.overlay p{margin:0;opacity:.8}.overlay .error{color:#ff9a8f;max-width:40em;font-family:ui-monospace,monospace;font-size:.9em}.loading .bar{width:22em;height:.6em;background:#ffffff1a;border-radius:999px;overflow:hidden}.loading .fill{height:100%;background:var(--amber);transition:width .15s linear}.menu{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,rgba(255,140,60,.13),transparent 60%),linear-gradient(180deg,#0b0d14,#05060a 70%);padding:3vh 2vw;overflow-y:auto}.menu-inner{max-width:34em;text-align:center;display:flex;flex-direction:column;gap:1.4em;align-items:center}.menu-inner.wide{max-width:46em;text-align:left;align-items:stretch}.menu-inner.wide>button{align-self:flex-start;min-width:9em}.title{margin:0;font-size:clamp(2.4rem,7vw,4.2rem);letter-spacing:.14em;color:var(--amber);text-shadow:0 0 40px rgba(255,140,60,.4),0 4px 0 rgba(0,0,0,.6)}.title.small{font-size:clamp(1.8rem,4.5vw,2.6rem)}.tagline{margin:0;opacity:.75;line-height:1.55}.skill-caption{display:block;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;opacity:.5;margin-bottom:.6em}.skill-buttons{display:flex;gap:.5em;justify-content:center;flex-wrap:wrap}button{font:inherit;padding:.7em 1.6em;background:#ffb34714;color:#f2ece2;border:1px solid var(--border);border-radius:3px;cursor:pointer;letter-spacing:.06em;transition:background .12s,border-color .12s,transform 80ms}button:hover{background:#ffb3472e;border-color:var(--amber)}button:active{transform:translateY(1px)}button.primary{background:#ffb34738;border-color:var(--amber);font-size:1.15em;font-weight:700}button.skill{padding:.5em 1.1em;font-size:.9em}button.skill.active{background:var(--amber);border-color:var(--amber);color:#1a1206;font-weight:700}.buttons{display:flex;gap:.7em;flex-wrap:wrap;justify-content:center}.controls{width:100%;border-collapse:collapse}.controls th,.controls td{padding:.45em .8em;text-align:left;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top}.controls th{width:11em;color:var(--amber);font-weight:700;white-space:nowrap}.controls td{opacity:.85}h2{margin:.6em 0 0;font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-dim)}.tips{margin:0;padding-left:1.2em;line-height:1.65;opacity:.85}.tips li{margin-bottom:.4em}.tips strong{color:var(--amber);font-weight:600}.menu{position:relative;background-image:url(/tex/title.webp),url(/tex/background.webp);background-position:center;background-size:cover;background-repeat:no-repeat;background-color:#05060a}.menu:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.menu.title-screen:before{background:linear-gradient(90deg,#05060a00 34%,#05060a47 58%,#05060a99 80%,#05060ab8),linear-gradient(180deg,rgba(5,6,10,.35) 0%,transparent 20%,transparent 80%,rgba(5,6,10,.4) 100%)}.menu.page{background-image:linear-gradient(#05060ae0,#05060ae0),url(/tex/title.webp),url(/tex/background.webp)}.menu.page:before{background:none}.menu-inner{position:relative;z-index:1}.menu.title-screen{display:grid;grid-template-columns:1fr minmax(19rem,30rem);align-items:center;padding:4vh 4vw}.menu.title-screen .menu-inner{grid-column:2;align-items:flex-end;text-align:right;gap:1.1em;max-width:none}.menu.title-screen .title{display:flex;flex-direction:column;align-items:flex-end;line-height:.92;margin:0;text-shadow:0 0 50px rgba(255,140,60,.55),0 0 14px rgba(0,0,0,.9),0 3px 0 rgba(0,0,0,.75)}.title-murky{font-size:clamp(2rem,4.4vw,3.4rem);opacity:.92}.title-horizon{font-size:clamp(2.6rem,6vw,4.8rem);font-weight:700}.menu.title-screen .tagline{max-width:24em;line-height:1.6;opacity:.9;text-shadow:0 2px 10px rgba(0,0,0,1),0 0 26px rgba(0,0,0,.9)}.menu.title-screen .skill-picker{width:100%}.menu.title-screen .skill-caption{text-align:right}.menu.title-screen .skill-buttons,.menu.title-screen .buttons{justify-content:flex-end}.menu.title-screen .buttons{flex-direction:column;align-items:stretch;width:14rem;gap:.5em}.menu.title-screen .buttons button{background:#0a0c12b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.menu.title-screen .buttons button:hover{background:#ffb34738}.menu.title-screen .buttons .primary{background:#ffb34742;border-color:var(--amber)}.menu.title-screen .buttons .primary:hover{background:#ffb34766}@media (max-width: 720px) and (orientation: portrait){.menu.title-screen{grid-template-columns:1fr;align-items:end;padding:4vh 6vw 7vh;background-size:auto 62%;background-position:30% top}.menu.title-screen .menu-inner{grid-column:1;align-items:center;text-align:center;gap:.9em}.menu.title-screen:before{background:linear-gradient(180deg,#05060a47,#05060a00 12%,#05060a00 32%,#05060a80 46%,#05060af0 58%,#05060a 66%)}.menu.title-screen .title{align-items:center}.menu.title-screen .tagline{max-width:22em}.menu.title-screen .skill-caption,.menu.title-screen .skill-buttons,.menu.title-screen .buttons{text-align:center;justify-content:center}.menu.title-screen .skill-buttons{display:grid;grid-template-columns:1fr 1fr;width:min(20rem,78vw)}.menu.title-screen .buttons{width:min(20rem,78vw)}}@media (max-width: 720px) and (orientation: landscape){.menu.title-screen{grid-template-columns:1fr minmax(14rem,21rem);padding:3vh 3vw}.menu.title-screen .menu-inner{gap:.55em}.menu.title-screen .tagline{font-size:.8rem}.menu.title-screen .buttons{width:11.5rem;gap:.35em}.menu.title-screen .buttons button{padding:.5em 1.2em}.menu.title-screen .skill-buttons{gap:.3em;flex-wrap:nowrap}.menu.title-screen button.skill{padding:.4em .6em;font-size:.76em}}.debug-menu{position:absolute;left:.6rem;bottom:.6rem;z-index:5;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:.4rem;font-family:ui-monospace,SF Mono,Menlo,monospace}.debug-toggle{padding:.25em .7em;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#7f8ea3;background:#0a0e14b8;border:1px solid rgba(127,142,163,.3);border-radius:3px;opacity:.5;transition:opacity .12s}.debug-toggle:hover{opacity:1;color:#b9cbe0;border-color:#7f8ea3a6;background:#0a0e14e6}.debug-menu.open .debug-toggle{opacity:1}.debug-panel{position:relative;min-width:17rem;max-height:70vh;overflow-y:auto;overscroll-behavior:contain;padding:.6rem;background:#080b10f0;border:1px solid rgba(127,142,163,.35);border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;gap:.35rem}.debug-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:.4rem;margin-bottom:.15rem;border-bottom:1px solid rgba(127,142,163,.2);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#7f8ea3}.debug-key{padding:0 .35em;border:1px solid rgba(127,142,163,.3);border-radius:2px;opacity:.7}.debug-action{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .6rem;text-align:left;background:#7f8ea312;border:1px solid rgba(127,142,163,.22);border-radius:3px;letter-spacing:0}.debug-action:hover{background:#7f8ea329;border-color:#7f8ea380}.debug-label{font-size:.82rem;color:#dbe6f2}.debug-hint{font-size:.68rem;line-height:1.35;color:#7f8ea3}.debug-flash{position:absolute;top:.5rem;right:.6rem;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.build-bar-v2{position:absolute;left:0;right:0;margin-inline:auto;width:fit-content;bottom:calc(2.5% + 2.4em);isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:.4em;pointer-events:auto}.palette{display:flex;gap:.4em;padding:.4em;background:var(--panel);border:1px solid var(--border);border-radius:5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:.12em;width:5.6em;padding:.45em .3em .35em;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:4px;letter-spacing:0;transition:background .1s,border-color .1s,transform 80ms}.slot:hover:not(:disabled){background:#ffffff1a;border-color:var(--slot-tint)}.slot.selected{background:color-mix(in srgb,var(--slot-tint) 22%,transparent);border-color:var(--slot-tint);box-shadow:0 0 14px color-mix(in srgb,var(--slot-tint) 45%,transparent)}.slot.poor .slot-cost{color:var(--red)}.slot.locked{opacity:.4;cursor:not-allowed}.slot-key{position:absolute;top:.15em;left:.3em;font-size:.62em;opacity:.55;font-weight:700}.slot-icon{display:block;image-rendering:auto;filter:brightness(2.1) saturate(1.3) drop-shadow(0 1px 2px rgba(0,0,0,.8))}.slot-name{font-size:.72em;color:var(--slot-tint);letter-spacing:.04em}.slot-cost{font-size:.68em;opacity:.7}.hud-menu-toggle{pointer-events:auto;margin-left:.5em;width:1.5em;height:1.5em;padding:0;line-height:1;border-radius:999px;font-size:.7em;font-weight:700;vertical-align:middle;border:1px solid rgba(226,168,76,.55);background:#080a0e99;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.hud-menu-toggle span{display:block;width:.8em;height:1.5px;background:var(--amber);border-radius:1px}.build-hint{position:absolute;top:calc(100% + .35em);left:50%;transform:translate(-50%);white-space:nowrap;display:flex;gap:.9em;align-items:baseline;font-size:.78em;opacity:.8;padding:.3em .8em;background:#080a0e99;border-radius:999px}.build-hint .dim{opacity:.55}.build-hint .hint-strong{color:var(--green)}.build-hint .hint-exit{padding:.15em .7em;font-size:1em;letter-spacing:0;color:var(--amber);background:#ffb3471f;border:1px solid var(--border);border-radius:999px}.build-hint .hint-exit:hover{background:#ffb3473d;border-color:var(--amber)}.manage-panel{position:fixed;top:3%;bottom:auto;left:50%;transform:translate(-50%);white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:.25em;padding:.5em .9em;background:#080a0ee6;border:1px solid rgba(255,179,71,.5);border-radius:4px}.manage-title{font-size:.9em;color:var(--amber);text-transform:capitalize;letter-spacing:.04em}.manage-level{margin-left:.5em;opacity:.6;font-size:.85em}.manage-actions{display:flex;gap:.9em;font-size:.78em}.manage-up.poor{color:var(--red)}.manage-sell{color:var(--green)}.manage-maxed{opacity:.5}.start-wave{display:flex;flex-direction:column;align-items:flex-end;gap:.1em;padding:.35em .7em;background:#6fd36f1f;border:1px solid rgba(111,211,111,.45);border-radius:4px;pointer-events:auto}.start-wave:hover{background:#6fd36f3d;border-color:var(--green)}.sw-title{font-size:.9em;color:var(--green)}.sw-cta{font-size:.72em;opacity:.7}.hud:has(.manage-panel) .hud-toasts{display:none}.bunker-arrow{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.1em;pointer-events:none;filter:drop-shadow(0 0 4px rgba(0,0,0,.8))}.bunker-arrow svg{width:1.9em;height:1.9em;fill:var(--amber);opacity:.85}.ba-dist{font-size:.7em;color:var(--amber);opacity:.75;letter-spacing:.04em}.death-advice{max-width:34em;margin:.7em auto .2em;padding:.6em 1em;border:1px solid rgba(226,168,76,.35);border-radius:4px;background:#e2a84c12;display:flex;flex-direction:column;gap:.25em}.da-head{color:var(--amber);letter-spacing:.06em;font-weight:700}.da-detail{font-size:.92em;opacity:.85;line-height:1.4}.score-table{margin:.6em auto .2em;border-collapse:collapse;font-size:.95em;opacity:.85}.score-table td{padding:.15em .7em;text-align:left}.score-table .sc-rank{opacity:.5;text-align:right}.score-table .sc-score{color:var(--amber);font-weight:700;text-align:right}.score-table .sc-round,.score-table .sc-skill{opacity:.6;font-size:.9em}.score-table .is-this-run{opacity:1}.score-table .is-this-run td{background:#e2a84c1f}.best-run{color:var(--amber);letter-spacing:.1em;text-transform:uppercase;font-size:.85em}.pause-tabs{display:flex;gap:.4em;margin:.2em 0 .6em;flex-wrap:wrap;justify-content:center}.pause-tabs button{padding:.3em .9em;font-size:.85em;opacity:.55}.pause-tabs button.on{opacity:1;color:var(--amber);border-color:#e2a84c99}.pause-body{max-height:46vh;overflow-y:auto;overscroll-behavior:contain;width:100%}.mute-toggle{margin-bottom:.5em;padding:.35em 1.1em}.mute-toggle.on{color:var(--amber);border-color:#e2a84c99}.pause-scores{display:flex;justify-content:center}.tutorial-prompt{display:flex;flex-direction:column;align-items:center;gap:.15em;padding:.5em 1.2em;background:#080a0ed9;border:1px solid var(--amber);border-radius:4px;text-align:center;animation:tut-pulse 2.4s ease-in-out infinite}@keyframes tut-pulse{0%,to{box-shadow:0 0 #ffb34700}50%{box-shadow:0 0 18px #ffb3474d}}.tut-text{font-size:1.02em;color:var(--amber)}.tut-detail{font-size:.8em;opacity:.7}.daycycle{display:flex;align-items:baseline;gap:.3em;font-size:.82em;letter-spacing:.03em}.daycycle .dc-icon{font-size:1.1em}.daycycle.day{color:#ffd98a}.daycycle.dusk{color:#ff9d5c}.daycycle.night{color:#8fb8ff}.daycycle.dawn{color:#ffb37a}.dc-next{opacity:.55;font-size:.9em}.money-mote{position:absolute;transform:translate(-50%,-50%);font-size:.82em;font-weight:700;color:var(--amber);text-shadow:0 1px 3px rgba(0,0,0,.95);pointer-events:none;white-space:nowrap}.touch-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;touch-action:none;z-index:4}.touch-stick{position:absolute;left:calc(-1 * var(--bleed-x, 0px));bottom:calc(-1 * var(--bleed-y, 0px));width:calc(45% + var(--bleed-x, 0px));height:calc(55% + var(--bleed-y, 0px));pointer-events:auto;touch-action:none}.stick-base{position:absolute;left:calc(var(--bleed-x, 0px) + (100% - var(--bleed-x, 0px)) * .2);bottom:calc(var(--bleed-y, 0px) + (100% - var(--bleed-y, 0px)) * .18);width:132px;height:132px;margin:-66px 0 0 -66px;border-radius:50%;border:2px solid rgba(255,179,71,.28);background:#080a0e59;display:grid;place-items:center;opacity:.5;transition:opacity .14s}.touch-stick.active .stick-base{opacity:.95;left:var(--sx);bottom:auto;top:var(--sy);transform:translate(-50%,-50%);margin:0}.stick-knob{width:56px;height:56px;border-radius:50%;background:#ffb34773;border:1px solid rgba(255,179,71,.8);box-shadow:0 0 16px #ffb34759}.touch-fire{position:absolute;right:5%;bottom:8%;width:116px;height:116px;border-radius:50%;border:2px solid rgba(224,80,60,.55);background:#e0503c29;display:grid;place-items:center;font-size:.8rem;letter-spacing:.16em;color:#ffb3a7;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.touch-fire:active{background:#e0503c66;box-shadow:0 0 24px #e0503c80}.touch-actions{position:absolute;right:4%;bottom:46%;display:flex;flex-direction:column;gap:.5em;pointer-events:auto}.touch-btn{min-width:5.5em;padding:.7em 1em;font-size:.85rem;border-radius:999px;touch-action:none}.touch-btn.flare{border-color:#ff9a5cb3;color:#ff9a5c}.touch-btn.flare.empty{opacity:.4}.touch-btn.exit{border-color:var(--green);color:var(--green)}@media (pointer: coarse){.hud{font-size:clamp(13px,2.1cqw,18px)}.build-bar-v2{bottom:auto;top:1.5%;gap:.25em;left:0;right:0;margin-inline:auto;width:fit-content;transform:none;max-width:35%}.build-bar-v2 .palette{min-width:0;max-width:100%;flex-wrap:nowrap}.build-bar-v2 .slot{min-width:0;flex:1 1 0}.hud-top-left,.hud-top-right{padding:.4em .55em;font-size:.72em}.hud-top-right .sw-title{font-size:12px}.hud-top-right .sw-cta{font-size:11px}.hud-top-left .cash{font-size:16px}.hud-top-left .cash{font-size:1.4em}.build-bar-v2.sheet .sheet-collapse{bottom:auto;top:calc(100% + .35em)}.build-bar-v2.sheet .manage-panel{top:auto;position:fixed;left:50%;transform:translate(-50%);bottom:3%}.sheet-money{display:none}.palette{padding:.25em;gap:.25em}.slot{width:3.4em;padding:.25em .15em .2em}.slot .slot-name{display:none}.slot-cost{font-size:.6em}.slot-key,.build-hint,.key-hint,.flares{display:none}.touch-actions{top:1.5%;bottom:auto;right:auto;left:calc(50% + 3.6em);flex-direction:row;gap:.4em}.overlay.pause h1{font-size:1.5rem;margin:.1em 0 .2em}.overlay.pause .pause-tabs{margin:0 0 .4em}.overlay.pause .pause-body{max-height:42vh}.hud-powerups{left:1.5%;top:26%;transform:none;flex-direction:column;align-items:flex-start;gap:.3em}.hud-toasts{bottom:3%;max-width:66%;gap:.3em}.tutorial-prompt,.hud-message{padding:.35em .9em;font-size:1em}.hud-message p{font-size:.95em;margin:.1em 0}.tut-detail{font-size:.85em;line-height:1.25}.hud-error{top:auto;bottom:13%}.manage-panel{padding:.35em .7em}.fps{display:none}}.rotate-gate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:1.2em;padding:2em;text-align:center;background:#05060a;pointer-events:auto}.rotate-icon{font-size:3.4rem;animation:rotate-nudge 2.2s ease-in-out infinite}@keyframes rotate-nudge{0%,60%,to{transform:rotate(0)}30%{transform:rotate(-90deg)}}.rotate-gate h2{margin:0;font-size:1.3rem;color:var(--amber);letter-spacing:.06em;text-transform:none}.rotate-gate p{margin:0;max-width:22em;opacity:.7;line-height:1.5}.rotate-gate .anyway{font-size:.85rem;opacity:.6;text-decoration:underline;cursor:pointer}.controls-ref{display:flex;gap:2.2em;flex-wrap:wrap;justify-content:center;text-align:left}.ctrl-group h3{margin:0 0 .5em;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-dim)}.ctrl-row{display:flex;align-items:baseline;gap:.7em;margin-bottom:.35em;font-size:.82rem}.ctrl-keys{display:flex;gap:.2em;min-width:7.5em;flex-shrink:0}.ctrl-keys{color:var(--amber)}.ctrl-what{opacity:.8}.controls-flyout{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:1.2em 1.6em;background:#06080ced;border:1px solid var(--border);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-height:88%;max-width:88%;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto}.overlay.pause{gap:1.4em}.pause-settings{display:flex;flex-direction:column;gap:.5em;min-width:20em}.slider-row{display:flex;align-items:center;gap:.8em;font-size:.85rem}.slider-label{width:4em;text-align:right;opacity:.75}.slider-row input[type=range]{flex:1;accent-color:var(--amber)}.slider-value{width:2.2em;text-align:right;opacity:.55;font-variant-numeric:tabular-nums}.boss-warn{color:var(--red);font-weight:700}.icon{display:inline-block;vertical-align:-.18em;margin:0 .12em}.icon-mouse{width:1.15em;height:1.72em;vertical-align:-.5em}.icon-touch{width:1em;height:1em}.mouse-body{fill:#00000040;stroke:currentColor;stroke-width:1.7;opacity:.95}.mouse-split{stroke:currentColor;stroke-width:1.2;opacity:.5;fill:none}.mouse-fill{fill:currentColor}.keycap{min-width:1.5em;padding:.05em .35em;font-size:.85em;font-weight:700;line-height:1.35;text-align:center;border:1px solid currentColor;border-bottom-width:2px;border-radius:3px;opacity:.95}.credits-table{width:100%;border-collapse:collapse}.credits-table th,.credits-table td{padding:.35em .8em;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.07)}.credits-table th{width:13em;color:var(--amber);font-weight:600;white-space:nowrap}.credits-table td{opacity:.85}.fineprint{margin:0;font-size:.78rem;opacity:.55;line-height:1.5}.palette.cancel-armed{border-color:var(--red);box-shadow:0 0 18px #e0503c73}.palette.cancel-armed:after{content:"release to cancel";position:absolute;left:50%;bottom:-1.5em;transform:translate(-50%);font-size:.7em;letter-spacing:.08em;color:var(--red);white-space:nowrap}.palette{position:relative}.manage-panel.touch{gap:.45em;padding:.6em .8em}.manage-buttons{display:flex;gap:.4em}.mg-btn{padding:.55em .9em;font-size:.82em;border-radius:4px;letter-spacing:0;white-space:nowrap}.mg-btn.upgrade{color:var(--amber);border-color:var(--border);background:#ffb34724}.mg-btn.upgrade:disabled{opacity:.4}.mg-btn.sell{color:var(--green);border-color:#6fd36f73;background:#6fd36f1f}.mg-btn.cancel{color:#9aa4b0;border-color:#9aa4b059;background:#9aa4b014}.build-open{display:flex;flex-direction:column;align-items:center;gap:.05em;padding:.45em 1.4em;border-radius:999px;border-color:var(--border);background:#080a0ec7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.build-open .bo-label{font-size:.95em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}.build-open .bo-money{font-size:.7em;opacity:.65}.build-bar-v2.sheet .palette{padding:.5em;gap:.5em}.sheet-collapse{position:absolute;bottom:calc(100% + .4em);left:50%;transform:translate(-50%);white-space:nowrap;padding:.4em 1.3em;border-radius:999px;font-size:.85em;letter-spacing:.06em;color:var(--green);border-color:#6fd36f80;background:#080a0ed9}.sheet-collapse.urgent,.hint-exit.urgent{color:#ffb3a7;border-color:var(--red);background:#3c0a08d9;animation:wave-nudge .9s ease-in-out infinite}@keyframes wave-nudge{0%,to{box-shadow:0 0 #e0503c00;opacity:.9}50%{box-shadow:0 0 18px #e0503c99;opacity:1}}.sheet-money{position:absolute;top:calc(100% + .3em);left:50%;transform:translate(-50%);white-space:nowrap;font-size:.78em;color:var(--amber);opacity:.85}.touch-charge{position:absolute;right:6.5%;bottom:44%;width:74px;height:74px;border-radius:50%;border:2px solid rgba(255,179,71,.55);background:#ffb34724;display:grid;place-items:center;font-size:.62rem;letter-spacing:.14em;color:var(--amber);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.touch-charge:active{background:#ffb34761;box-shadow:0 0 22px #ffb34780}@media (pointer: coarse){.sheet .slot{width:5.4em;padding:.45em .3em .35em}.sheet .slot .slot-name{display:block}.sheet .slot-cost{font-size:.78em}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.audio-diag{position:absolute;left:50%;top:12%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:2px;max-width:90%;padding:10px 14px;border:1px solid #b4452f;border-radius:6px;background:#0a0606f0;color:#ffd9a0;font:500 11px/1.45 ui-monospace,Menlo,monospace;text-align:center;word-break:break-word}.audio-diag strong{color:#ff8a6a;font-size:13px;letter-spacing:.04em}.audio-diag em{margin-top:4px;color:#8b7f74;font-style:normal;font-size:10px}.legal-links{margin:.2em 0 0;font-size:.7em;opacity:.55;letter-spacing:.02em}.legal-links a{color:inherit;text-decoration:underline;text-underline-offset:2px;padding:.75em .35em}.legal-links a:hover,.legal-links a:focus-visible{opacity:1;color:var(--amber)}.menu.title-screen .legal-links{text-align:right}.intro-ready{justify-content:center;height:100%}.intro-play{min-width:11rem;padding:.7em 2.4em;font-size:1.5em;letter-spacing:.14em;text-transform:uppercase}.intro-video{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#000;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .18s}.intro-video.on{opacity:1;pointer-events:auto;cursor:pointer}.intro-video video{width:100%;height:100%;object-fit:contain;pointer-events:none}.menu-panel{display:flex;flex-direction:column;align-items:stretch;gap:.6em;width:100%}.menu-panel h2{margin:0 0 .2em;letter-spacing:.08em;text-transform:uppercase;font-size:1.1em;opacity:.8}.menu.title-screen .menu-panel{text-align:right}.menu.title-screen .menu-panel .score-table{margin-left:auto}@media (max-height: 560px){.menu{padding:1.4vh 2vw}.menu.title-screen .menu-inner{gap:.5em}.title-murky{font-size:clamp(1.4rem,3vw,2rem)}.title-horizon{font-size:clamp(1.8rem,4vw,2.8rem)}.menu.title-screen .tagline{font-size:.8em;line-height:1.35;margin:0}.skill-caption{font-size:.65em}.skill-buttons button{padding:.25em .7em;font-size:.85em}.menu.title-screen .buttons{display:grid;grid-template-columns:1fr 1fr;gap:.4em;width:100%}.menu.title-screen .buttons button{padding:.45em .9em;font-size:.9em;width:100%}.menu.title-screen .buttons .primary{grid-column:1 / -1}.menu-panel{gap:.35em}.menu-panel h2{font-size:1em;margin:0}}@media (max-height: 560px){.legal-links{font-size:.65em;margin-top:.1em}}
