:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--lab-white:#f2f5fa;--lab-panel:#122239f7;--lab-line:#455e7e;--ink:#edf4ff;--muted:#afc2dc;--petrol:#3168a1;--coral:#ffad98;--cyan:#80b7ee;--ochre:#c29a49;--shadow:0 22px 72px #030b1b77;font-synthesis:none;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.45}html,body{height:100%;color:var(--ink);background:#14233a;margin:0;overflow:hidden}#game{cursor:crosshair;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>section{pointer-events:auto;position:absolute;inset:0}[hidden],#ui section[hidden]{display:none!important}button,input,select{font:inherit}button,select,input:not([type=checkbox]):not([type=range]){min-height:42px}button{background:var(--petrol);color:#fffdf5;cursor:pointer;border:1px solid #0000;border-radius:7px;padding:10px 18px;font-weight:650;transition:background .14s,border-color .14s}button:hover:not(:disabled){background:#3b79b6}button:disabled{cursor:not-allowed;opacity:.5}:is(button,input,select,[tabindex="0"]):focus-visible{outline-offset:3px;outline:3px solid #a6d5ff}.button-blue{color:var(--ink);background:#23456b;border-color:#9fb8d8}.button-secondary,.button-ghost{border-color:var(--lab-line);color:var(--ink);background:0 0}.button-ghost{color:#c6dcf7;border-color:#0000}:is(.button-secondary,.button-ghost):hover:not(:disabled){background:#294564;border-color:#617fa3}.button-preview{z-index:20;pointer-events:auto;position:fixed;bottom:16px;right:16px}.screen-center{box-sizing:border-box;background:#07122461;place-items:center;padding:24px;display:grid}.title-screen{background:linear-gradient(90deg,#10233e55,#10233e0a 65%);justify-items:start;padding-inline:clamp(24px,5vw,96px)}.panel,.title-panel{box-sizing:border-box;background:var(--lab-panel);width:min(100%,560px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);text-align:left;scrollbar-width:thin;scrollbar-color:#6b819f transparent;border:1px solid #668bb055;border-top:2px solid #80b7ee99;border-radius:12px;padding:24px 28px;overflow:auto}.title-panel{border-color:#b8cdeb44;border-top-color:var(--cyan);width:min(100%,484px);color:var(--lab-white);background:#122239f2;padding:32px}.cards-panel{width:min(100%,940px)}h1,h2,h3,p{margin-top:0}h2{letter-spacing:-.035em;margin-bottom:8px;font-size:clamp(1.65rem,3vw,2.2rem);font-weight:650;line-height:1.15}h3{font-size:1.15rem;font-weight:650}.eyebrow,.chamber-label,.hud-label,.card-number,.mode-badge{letter-spacing:.1em;text-transform:uppercase;font-family:Cascadia Mono,Consolas,monospace;font-size:.69rem;font-weight:500}.eyebrow{color:var(--cyan);margin-bottom:14px}.title-studio{color:#b5ceef;letter-spacing:.18em;align-items:center;gap:12px;margin-bottom:5px;display:flex}.title-studio:before{content:"";width:7px;height:7px;box-shadow:11px 0 var(--cyan), 22px 0 var(--ochre);background:#dd7661;margin-right:22px}.chamber-label{color:#adbcd0;letter-spacing:.04em;margin-bottom:32px}.wordmark{letter-spacing:-.06em;margin:0 0 16px;font-size:clamp(2.6rem,5.3vw,4.35rem);font-weight:800;line-height:.95}.tagline,.subtitle{color:var(--muted);font-size:.95rem}.tagline{color:#d6e0ef;font-size:1rem}.hint,.form-help,.title-note,.quality-notice{color:var(--muted);font-size:.78rem;line-height:1.5}.hint:last-child,.form-help:last-child,.title-note:last-child,.quality-notice:last-child{margin-bottom:0}.title-panel .hint,.title-note,.quality-notice{color:#afc3dd}.title-note{margin:24px 0 8px}.device-notice{color:#ffd98a;background:#ffb0301f;border:1px solid #ffc45c8c;border-radius:10px;margin:0 0 18px;padding:10px 14px;font-size:.86rem;line-height:1.5}.quality-notice{color:#c8d8ec;margin:8px 0 0}.title-build{color:#7d92ad;letter-spacing:.04em;margin:10px 0 0;font-size:.68rem}.title-panel :is(.button-secondary,.button-ghost){color:#e3ecfa;border-color:#0000}.title-panel :is(.button-secondary,.button-ghost):hover:not(:disabled){background:#304d74}.title-panel :is(button,input):focus-visible{outline-color:#e1b66a}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions.stack{margin:24px 0 14px}.title-panel .actions{grid-template-columns:1fr 1fr;display:grid}.title-panel .actions.stack{grid-auto-rows:1fr;align-items:stretch;gap:14px}.title-panel .title-navigation{flex-wrap:wrap;justify-content:space-between;gap:2px;display:flex}.title-navigation button{padding:9px 10px;font-size:.85rem}.button-secondary.nav-button,.button-ghost.nav-button,.title-panel .nav-button{border-color:var(--lab-line);min-height:42px;color:var(--ink);background:#213a58;border-radius:999px;box-shadow:inset 0 1px #d7e8ff1f}:is(.button-secondary,.button-ghost).nav-button:hover:not(:disabled),.title-panel .nav-button:hover:not(:disabled){background:#2b5074;border-color:#7fa2ca}.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}.panel-header{z-index:3;background:#14243a;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;margin:-6px -10px 18px;display:flex;position:sticky;top:0}.panel-header .eyebrow{text-align:right;margin:0 10px 0 0;font-size:.61rem}.panel-back{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:8px 14px;font-size:.82rem;display:inline-flex}.panel-back:before{content:"←";font-size:1.2rem}.pause-panel{width:min(100%,430px)}.pause-actions{margin:24px 0 12px}.pause-actions>button{width:100%}.pause-navigation{margin:0 -10px 20px}.end-run{color:#dec6bf;margin:0 0 16px -10px;padding-inline:10px;display:block}.button-mode{--mode-accent:#ffaf84;text-align:left;color:#f2f6ff;background:linear-gradient(145deg,#344e70,#17283f);border:1px solid #7d6470;border-radius:10px;grid-template-rows:32px auto 1fr;align-content:start;gap:10px;min-width:0;height:100%;min-height:152px;padding:18px;transition:border-color .14s,box-shadow .14s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1a,0 6px 18px #07152530}.button-mode:after{content:"";background:var(--mode-accent);opacity:.8;height:2px;position:absolute;top:0;left:18px;right:18px}.button-mode.blue{--mode-accent:#91caff;color:#f2f6ff;background:linear-gradient(145deg,#2c6094,#142e4d);border-color:#547fad}.button-mode:hover:not(:disabled){border-color:var(--mode-accent);background:linear-gradient(145deg,#3b567b,#20334e);box-shadow:inset 0 1px #ffffff26,0 8px 22px #07152550}.button-mode.blue:hover:not(:disabled){border-color:var(--mode-accent);background:linear-gradient(145deg,#3573ac,#1b3d63)}.mode-emblem{width:32px;height:32px;color:var(--mode-accent)}.button-mode strong{letter-spacing:-.02em;font-size:1.25rem;line-height:1.15}.button-mode span{color:#d5e2f3;font-size:.75rem;font-weight:400;line-height:1.45}.title-navigation button{padding-block:8px}#ui section[data-screen=hud]{pointer-events:none}.hud-screen{--hud-font:clamp(15px, 1.5dvh, 18px);--hud-top:max(clamp(12px, 1.6dvh, 22px), env(safe-area-inset-top));--hud-height:clamp(82px, 8.5dvh, 90px);--gadget-height:68px;padding:var(--hud-top) max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));box-sizing:border-box;font-size:var(--hud-font)}.hud-bar{width:min(100%,1000px);height:var(--hud-height);box-sizing:border-box;color:#f1f5fc;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;background:#112036e8;border:1px solid #b8cdeb55;border-radius:5px;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:center;gap:18px;margin-inline:auto;padding:6px 14px;display:grid;box-shadow:0 4px 16px #071b251a}.hud-run{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;min-width:0;display:grid}.gadget-dock{box-sizing:border-box;width:min(100%,600px);min-height:var(--gadget-height);color:#f1f5fc;pointer-events:none;-webkit-user-select:none;user-select:none;background:#112036e8;border:1px solid #b8cdeb55;border-radius:5px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:2px 10px;margin:6px auto 0;padding:7px 12px;font-size:.8em;display:grid}.gadget-dock kbd{text-align:center;color:#a9d2ff;border:1px solid #8fb6df;border-radius:4px;grid-row:1/3;padding-block:3px}.gadget-dock.gadget-learned{width:-moz-fit-content;width:fit-content;max-width:100%;min-height:38px}.gadget-dock.gadget-effects-only{min-height:0;padding:6px 12px;display:block}.gadget-learned kbd{grid-row:1}.gadget-dock[data-gadget=paint-pod]{border-color:#efaa7d}.gadget-dock[data-gadget=shield]{border-color:#85c5ff}.gadget-dock[data-gadget=paint-bomb]{border-color:#ffa34d}.gadget-dock[data-gadget=paint-claymore]{border-color:#64cdbf}.gadget-dock[data-gadget=paint-turret]{border-color:#c1a4ff}.gadget-dock[data-gadget=paint-nova]{border-color:#ffe16b}.gadget-dock[data-gadget=spider-base]{border-color:#f592e3}.gadget-dock.gadget-upgraded{box-shadow:0 0 18px #d89a3280}.gadget-upgrade-pill{color:#ffdda3;letter-spacing:.08em;background:#5b3a10;border:1px solid #ffd68a88;border-radius:999px;grid-area:1/3;align-self:center;padding:2px 7px;font-size:.62rem;font-weight:800}.gadget-hint{color:#cedbee;grid-column:2/-1;font-size:.85em}.gadget-effects{text-align:right;color:#9fcbff;font-variant-numeric:tabular-nums;font-size:.85em}.hud-primary,.hud-status,.hud-secondary{align-items:center;display:flex}.hud-primary{gap:24px}.hud-status{justify-content:flex-end;gap:8px}.hud-secondary{grid-column:1/-1;justify-content:space-between;gap:14px}.hud-metric,.hud-progression{min-width:0}.hud-label{color:#d1dcee;letter-spacing:.07em;font-size:.8em;line-height:1.2;display:block}.hud-metric strong{font-size:1.75em;font-weight:750;line-height:1.1;display:block}.hud-score{min-width:96px}.hud-score strong{letter-spacing:-.025em;font-size:2.1em;line-height:.98}.hud-time{white-space:nowrap;align-items:baseline;gap:5px;display:flex}.hud-time .hud-label{letter-spacing:0;text-transform:none;font-family:inherit;font-size:.68em}.hud-time strong{font-size:.78em;font-weight:600}.hud-progression{flex:1;max-width:170px}.progress-wrap>span{color:#bac9df;white-space:nowrap;font-size:.68em;line-height:1.1;display:block}.progress-track{background:#c8d9ef26;height:2px;margin-top:2px;overflow:hidden}.progress-track span{background:var(--cyan);width:0;height:100%;transition:width .18s ease-out;display:block}.tool-dock{box-sizing:border-box;color:#f1f5fc;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border-left:1px solid #b8cdeb55;grid-template-columns:minmax(0,1.8fr) minmax(115px,1fr);align-items:center;gap:14px;min-width:0;padding-left:18px;display:grid}.tool-dock,.tool-dock *{pointer-events:none}.tool-dock-header{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;display:grid}.tool-dock-image{object-fit:contain;width:72px;height:60px;display:block}.tool-dock-copy{min-width:0}.tool-dock-meta{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-bottom:3px;line-height:1.1;display:flex}.tool-dock-label{color:#d1dcee;font-size:.8em}.tool-dock-tier{color:#bac9df;white-space:nowrap;font-size:.65em;display:block}.tool-dock-name{font-size:1.12em;line-height:1.15;display:block}.tool-dock-backup{color:#bac9df;margin-top:3px;font-size:.72em;line-height:1.15;display:block}.tool-resource{min-width:0}.resource-line{white-space:nowrap;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.35;display:flex}.resource-count{font-size:1.12em;font-weight:750}.resource-status{flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:3px;line-height:1.2;display:flex}.resource-action{color:#a3e3c7;white-space:nowrap;font-size:.8em;font-weight:650}.resource-reload-circle{background:conic-gradient(#ffda90 var(--reload-progress), #ffda9026 0);border-radius:50%;flex:none;width:13px;height:13px;-webkit-mask:radial-gradient(circle,#0000 42%,#000 46%);mask:radial-gradient(circle,#0000 42%,#000 46%)}.resource-track{background:#c8d9ef26;border-radius:3px;height:8px;margin-top:6px;overflow:hidden}.resource-track>span{background:#cddff7;height:100%;display:block}.tool-resource[data-state=refilling] .resource-action,.tool-resource[data-state=swapping] .resource-action{color:#ffda90}.tool-resource[data-state=refilling] .resource-track>span{background:#ffcf78}.tool-resource[data-state=ready] .resource-track{background:#a3e3c733}.mode-badge{color:var(--cyan);white-space:nowrap;border:1px solid #7e99bf;border-radius:2px;justify-content:center;align-items:center;padding:4px 7px;display:inline-flex}.hud-bar .mode-badge{color:#d6e4f7;border-color:#7e99bf88;margin:0;padding:3px 5px;font-size:.65em}.mode-badge.relaxed{border-color:#b59559}.mode-badge-wrap{margin:10px 0}.pips{align-items:center;gap:5px;display:flex}.pip{background:#399eff;border:1px solid #91c8ff;border-radius:50%;width:9px;height:13px;position:relative}.pip:after{content:"";background:#dee8f7;width:1px;height:3px;position:absolute;bottom:-4px;left:50%}.pip.painted{opacity:.45;background:0 0;border-color:#9aa6b5}.pip.just-painted{animation:.3s ease-out pip-splat}.toast-stack{top:calc(var(--hud-top) + var(--hud-height) + var(--gadget-height) + 18px);gap:5px;max-width:min(280px,100vw - 32px);display:grid;position:fixed;left:max(16px,50vw - 500px)}.toast{color:#ecf0e5;background:#192e4bed;border-left:2px solid #d9b878;border-radius:2px;gap:2px;width:-moz-fit-content;width:fit-content;padding:8px 11px;font-size:.78rem;animation:1.8s ease-out forwards toast-pop;display:grid}.toast.save,.toast.bonus{border-left-color:var(--cyan)}.toast.tier{border-left-width:5px;border-left-color:#e9957d;box-shadow:0 0 0 1px #d6b26a66,0 5px 18px #071b2526}.toast.tier strong{color:#ffe5ac}.toast span{color:#c8d8ed;max-width:30ch;font-size:.73rem}.tool-reveal{top:calc(var(--hud-top) + var(--hud-height) + var(--gadget-height) + 18px);box-sizing:border-box;border:1px solid #d8c69b;border-left:3px solid var(--ochre);width:min(392px,100vw - 32px);min-height:116px;color:var(--ink);-webkit-user-select:none;user-select:none;background:#122239f5;border-radius:5px;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:10px;padding:12px 10px 12px 14px;animation:.22s ease-out both tool-reveal-enter;display:grid;position:absolute;right:max(16px,50vw - 500px);box-shadow:0 4px 16px #071b2526}.tool-reveal,.tool-reveal *{pointer-events:none}.tool-reveal-copy{min-width:0}.tool-reveal-label,.tool-reveal-tier,.tool-reveal-pattern{letter-spacing:.07em;font-size:.57rem;font-weight:650;display:block}.tool-reveal-label{color:var(--coral)}.tool-reveal-name{margin:4px 0 6px;font-size:1.2rem;font-weight:800;line-height:1.05;display:block}.tool-reveal-pattern{color:var(--cyan);line-height:1.5}.tool-reveal-tier{color:var(--muted);margin-top:6px;font-size:.6rem}.tool-reveal-image{object-fit:contain;filter:drop-shadow(0 9px 7px #142f3433);width:100%;height:90px;display:block}@keyframes tool-reveal-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.debug-panel{color:#e9fcff;z-index:10;background:#14253eed;margin:0;padding:8px 10px;font:12px/1.35 Consolas,monospace;position:fixed;bottom:168px;right:8px}.hud-hints{pointer-events:auto;max-width:min(570px,100vw - 32px);position:fixed;bottom:16px;left:16px}.hud-hint{color:#e4eade;background:#152841f5;border:1px solid #859f9466;border-radius:4px;align-items:center;gap:12px;padding:7px 8px 7px 13px;font-size:.75rem;display:flex}.button-ghost.hint-close{color:#e4eade;border-color:#789d93;flex-shrink:0;min-height:32px;padding:5px 10px;font-size:.72rem}.button-ghost.hint-close:hover:not(:disabled){background:#33544f}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.upgrade-card{border:1px solid #a6b9ad;border-top:3px solid var(--petrol);min-height:230px;color:var(--ink);text-align:left;animation:.22s ease-out both card-enter;animation-delay:calc(var(--card-order,0) * 40ms);background:#203c5a;flex-direction:column;align-items:flex-start;padding:20px;display:flex}.upgrade-card:nth-child(2){border-top-color:var(--coral)}.upgrade-card:nth-child(3){border-top-color:#92743b}.upgrade-card:hover:not(:disabled){border-color:var(--petrol);background:#294d73}.upgrade-card h3{margin:14px 0 10px;line-height:1.2}.upgrade-card p{color:var(--muted);font-size:.88rem;font-weight:400}.upgrade-card small{margin-top:auto;padding-top:10px;font-size:.7rem}.card-number{color:var(--cyan)}.card-gadget{color:#ffd99b;background:#442c12aa;border:1px solid #d49b4488;border-radius:999px;flex-direction:row-reverse;align-items:center;gap:6px;margin-top:16px;padding:4px 8px;font-size:.7rem;font-weight:750;display:inline-flex}.card-gadget-icon{color:#f3b13d;filter:drop-shadow(0 0 5px #e0a030)}.upgrade-card.selected{opacity:1;border-color:var(--petrol);background:#305782}.results-screen{background:linear-gradient(90deg,#07122466,#0000 48%);justify-items:start;padding:clamp(14px,2vw,32px)}.game-over-panel{width:clamp(280px,31vw,400px);max-width:100%;max-height:calc(100dvh - 48px);padding:20px;animation:.22s ease-out both card-enter;position:relative}.game-over-panel .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.game-over-panel .score-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-over-panel .mode-badge-wrap{margin:12px 0}.game-over-panel>h2{color:var(--coral)}.stats-grid{border-top:1px solid var(--lab-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:20px 0;display:grid}.stat{border-bottom:1px solid var(--lab-line);padding:10px 12px 10px 0}.stats-grid dt{color:var(--muted);font-size:.75rem}.stats-grid dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.3rem;font-weight:650;line-height:1.2}.stats-grid dd.score-result{color:var(--cyan);font-size:1.9rem;font-weight:750}.score-help{color:var(--muted);margin:8px 0 12px;font-size:.8rem}.score-breakdown{border:1px solid var(--lab-line);background:#142b46;border-radius:6px;margin:12px 0;padding:10px 12px}.score-breakdown h3{color:var(--muted);margin:0 0 6px;font-size:.75rem}.score-breakdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 10px;margin:0;display:grid}.score-breakdown-grid .stat{border:0;min-width:0;padding:0}.score-breakdown-grid dt{color:var(--muted);font-size:.7rem}.score-breakdown-grid dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:1px 0 0;font-size:1rem;font-weight:650}.submit-form{text-align:left;grid-template-columns:1fr auto;align-items:end;gap:7px 10px;margin:18px 0;display:grid}.submit-form label{gap:5px;font-size:.78rem;font-weight:600;display:grid}.submit-form button{grid-area:1/2}.submit-form .form-help,.submit-form .status-line{grid-column:1/-1;margin:0}.submit-form input,select{box-sizing:border-box;width:100%;color:var(--ink);background:#122740;border:1px solid #8da49b;border-radius:4px;padding:8px 11px}.submit-form input[aria-invalid=true]{border-color:var(--coral)}.status-line{min-height:1.4em;color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.status-line.error{border-left:3px solid var(--coral);color:#ffc3b0;background:#ad60451a;padding:10px}.game-over-panel>.hint{margin-top:12px}.leaderboard-panel{flex-direction:column;width:min(100%,820px);display:flex}.leaderboard-panel>:not(.leaderboard-results){flex-shrink:0}.leaderboard-panel:has(.leaderboard-state){width:min(100%,590px)}.leaderboard-state{border-top:1px solid var(--lab-line);margin:28px 0 8px;padding-top:20px}.leaderboard-state .status-line{background:0 0;border:0;padding:0;font-size:1rem}.leaderboard-state button{margin-top:8px}.leaderboard-help{color:var(--muted);margin-bottom:8px;font-size:.82rem}.leaderboard-results{scrollbar-width:thin;flex:0 auto;min-height:0;max-height:clamp(120px,100dvh - 360px,420px);margin-bottom:18px;overflow:auto}.leaderboard-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.leaderboard-table th,.leaderboard-table td{border-bottom:1px solid var(--lab-line);text-align:left;padding:10px 8px}.leaderboard-table th{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;background:#192f4b;font-size:.65rem;font-weight:600;position:sticky;top:0}.leaderboard-table td:nth-child(2){overflow-wrap:anywhere;max-width:18ch}.leaderboard-table .score-cell{color:var(--cyan);font-size:1rem;font-weight:750}.leaderboard-table .personal-row{background:#355a8144;font-weight:650}.leaderboard-table .current-run-row{box-shadow:inset 3px 0 0 var(--ochre);background:#c29a4933;font-weight:700}.leaderboard-table .current-run-row .score-cell{color:#ffd98a}.current-run-tag{background:var(--ochre);color:#1a1408;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.62rem;font-weight:750;display:inline-block}.current-run-status{color:#ffd98a;font-weight:650}.leaderboard-table .leaderboard-detail td{padding-top:0}.leaderboard-table .version-cell{color:#d8e6f7;white-space:nowrap}.leaderboard-stats{flex-wrap:wrap;gap:6px;margin:0;display:flex}.leaderboard-chip{color:#d8e6f7;background:#203a584d;border:1px solid #668bb055;border-radius:999px;align-items:center;min-height:28px;margin:0;padding:3px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.leaderboard-chip dd{margin:0}.leaderboard-table .leaderboard-replay{white-space:normal;margin-top:6px;padding:6px 8px;font-size:.75rem;line-height:1.2;display:block}.leaderboard-actions{border-top:1px solid #668bb055;justify-content:flex-end;margin-top:auto;padding-top:12px}#ui section.replay-screen{padding:12px 16px max(12px, env(safe-area-inset-bottom));box-sizing:border-box;pointer-events:none;justify-content:center;align-items:flex-end;display:flex}body:has(#ui.watching-replay,#ui.watching-finale) #game{cursor:default}#ui section.finale-screen{padding:12px 12px max(12px, env(safe-area-inset-bottom));box-sizing:border-box;pointer-events:none;justify-content:center;align-items:flex-end;display:flex}.finale-caption{background:var(--lab-panel);border:1px solid #80b7ee55;border-radius:8px;align-items:center;gap:24px;max-width:100%;padding:5px 8px 5px 16px;display:flex}.finale-identity{color:var(--lab-white);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.finale-caption button{pointer-events:auto;min-height:44px}.replay-bar{box-sizing:border-box;border:1px solid #668bb077;border-top:2px solid var(--cyan);background:var(--lab-panel);pointer-events:auto;border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;width:min(100%,820px);padding:12px 16px;display:grid;box-shadow:0 8px 32px #030b1b77}.replay-identity{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.replay-badge{color:var(--cyan);letter-spacing:.1em;border:1px solid #80b7ee66;border-radius:4px;padding:3px 7px;font:650 .72rem Cascadia Mono,Consolas,monospace}.replay-nickname{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.replay-time{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.85rem}.replay-status,.replay-telemetry{color:var(--muted);font-size:.75rem}.replay-telemetry{text-overflow:ellipsis;text-align:right;white-space:nowrap;grid-area:2/2;overflow:hidden}.replay-detail{overflow-wrap:anywhere;max-height:4.5em;color:var(--muted);grid-column:1/-1;font-size:.85rem;overflow:auto}.replay-bar[data-status=error] .replay-status{color:var(--coral)}.replay-controls{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;display:flex}.replay-controls button{min-height:44px;padding:7px 12px;font-size:.85rem}.replay-speeds{gap:4px;display:flex}.replay-speeds button{font-variant-numeric:tabular-nums;min-width:44px;padding-inline:7px}.replay-speeds button[aria-pressed=true]{border-color:var(--cyan);background:#294b70}.replay-controls .replay-close{margin-left:auto}.replay-close.nav-button:before,.replay-back-title.nav-button:before{content:"←";margin-right:6px}@media (max-width:760px){.results-screen{background:linear-gradient(#0000 52%,#07122466);place-items:end center}.results-screen .game-over-panel{width:100%;max-height:42dvh;padding:16px 20px}}@media (max-width:600px){#ui section.replay-screen{padding:6px 6px max(6px, env(safe-area-inset-bottom))}.replay-bar{gap:4px 8px;padding:8px 10px}.replay-identity{gap:6px}.replay-nickname,.replay-time{font-size:.75rem}.replay-telemetry{display:none}.replay-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.replay-controls button{padding:6px;font-size:.8rem}.replay-speeds{justify-content:space-between}.replay-controls .replay-close{margin-left:0;line-height:1.2}}.leaderboard-table.pinned{border-left:3px solid var(--petrol);margin:10px 0}.subheading{margin:18px 0 0;font-size:.9rem}.leaderboard-table.skeleton{margin-bottom:20px}.leaderboard-table.skeleton td{color:#0000;position:relative}.leaderboard-table.skeleton td:before{content:"";background:#466181;animation:1.2s ease-in-out infinite alternate skeleton-pulse;position:absolute;inset:12px 8px}.setting-row{text-align:left;grid-template-columns:minmax(0,1fr) minmax(100px,155px) 36px;align-items:center;gap:10px;min-height:36px;margin:6px 0;font-size:.85rem;display:grid}.setting-row output{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:.72rem}.quality-row,.toggle-row{grid-template-columns:1fr auto}.quality-row select{width:160px}.toggle-row input{width:18px;height:18px;accent-color:var(--petrol);justify-self:end;margin:0}input[type=range]{width:100%;height:28px;accent-color:var(--petrol);margin:0}.settings-panel>.form-help{margin:7px 0 14px}.settings-panel>.status-line:empty{display:none}.settings-actions{margin-top:18px}.guide-panel{width:min(100%,1020px)}.field-guide{grid-template-columns:185px minmax(0,1fr);gap:20px;margin-top:22px;display:grid}.equipment-catalogue{border:0;border-right:1px solid var(--lab-line);min-width:0;margin:0;padding:0 16px 0 0}.equipment-catalogue legend{padding:0;font-size:.88rem;font-weight:650}.guide-categories{gap:4px;margin:10px 0 12px;display:grid}.guide-categories button{text-align:left;padding:7px 8px;font-size:.78rem}.guide-categories button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}.equipment-option{box-sizing:border-box;cursor:pointer;min-height:42px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;margin:2px -8px;padding:8px;font-size:.82rem;display:flex}.equipment-option:hover{background:#355a812b}.equipment-option:has(input:checked){color:#eef6ff;background:#355a8177}.equipment-option input{width:14px;height:14px;accent-color:var(--cyan);flex:none;margin:0;min-height:0!important}.equipment-workspace{min-width:0}.equipment-stage{background:radial-gradient(at 50% 30%,#294b71,#0d1d32 85%);border:1px solid #6887aa55;border-radius:8px;height:clamp(180px,28dvh,260px);position:relative;overflow:hidden}.equipment-preview,.equipment-preview canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.equipment-preview[aria-hidden=true] canvas{opacity:0}.equipment-preview-status{box-sizing:border-box;color:#d2e3f8;pointer-events:none;background:#10253fed;border-radius:4px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px);margin:0;padding:4px 8px;font-size:.75rem;position:absolute;inset:auto 16px 10px}.equipment-preview[aria-hidden=true]+.equipment-preview-status{max-width:38ch;line-height:1.6;inset:26px 20px auto}.equipment-preview-retry{position:absolute;bottom:24px;left:20px}.equipment-details{padding-top:18px}.equipment-details .eyebrow{margin-bottom:5px}.equipment-details h3{margin-bottom:8px;font-size:1.35rem}.equipment-description,.equipment-tip{color:#c7d8ee;margin-bottom:12px;font-size:.84rem;line-height:1.6}.equipment-stats{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.equipment-stats>div{background:#284b6d33;border:1px solid #6887aa55;border-radius:6px;padding:6px 10px}.equipment-stats dt{color:var(--muted);font-size:.66rem}.equipment-stats dd{color:#dceeff;margin:1px 0 0;font-size:.88rem;font-weight:650}.equipment-details h4{color:var(--cyan);margin:16px 0 4px;font-size:.76rem}.guide-supplies,.guide-arsenal{border-top:1px solid var(--lab-line);grid-column:1/-1;margin:0;padding-top:14px}.lab-upgrades{background:#2a1d0d66;border:1px solid #d49b4455;border-radius:8px;margin-top:18px;padding:16px}.lab-upgrades h3{color:#ffd99b;margin-bottom:6px}.lab-upgrades p{color:#d9c19b;margin-bottom:10px;font-size:.84rem}.lab-upgrades ul{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:0;padding-left:18px;font-size:.76rem;line-height:1.6;display:grid}@media (max-width:660px){.field-guide{grid-template-columns:minmax(0,1fr);gap:16px}.equipment-catalogue{border-right:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;padding:0;display:grid}.guide-categories{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.equipment-option{margin:0;font-size:.78rem}.panel-header .eyebrow{display:none}.equipment-stage{height:210px}}.loading-overlay{color:var(--lab-white);pointer-events:auto;z-index:30;background:#152841f5;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.loading-panel{width:min(100%,430px)}.loading-panel .eyebrow{color:#9fcbc4}.loading-heading{margin-bottom:14px}.loading-status{justify-content:space-between;align-items:baseline;gap:20px;margin:24px 0 10px;font-size:.85rem;display:flex}.loading-label{overflow-wrap:anywhere;margin:0}.loading-percent{color:var(--cyan);font-family:Consolas,monospace}.loading-bar{background:#789d9355;height:4px;overflow:hidden}.loading-fill{background:var(--cyan);height:100%;transition:width .12s linear}.loading-help{color:#b9ccc4;font-size:.85rem}.loading-panel>button{margin-top:14px}.loading-overlay.failed .loading-heading,.loading-overlay.failed .loading-label{color:#ffb49b}.loading-overlay.failed button{background:#b94b37}@keyframes toast-pop{0%{opacity:0;transform:translateY(4px)}12%,80%{opacity:1;transform:translateY(0)}to{opacity:0}}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pip-splat{50%{transform:scale(1.2)}}@keyframes skeleton-pulse{to{opacity:.45}}@media (max-width:1000px){.hud-primary{gap:16px}.hud-bar,.hud-secondary{gap:10px}.tool-dock{gap:10px;padding-left:12px}.tool-dock-header{grid-template-columns:56px minmax(0,1fr);gap:6px}.tool-dock-image{width:56px}}@media (max-width:760px){.gadget-dock{grid-template-columns:22px minmax(0,1fr);gap:1px 7px;padding:5px 9px}.gadget-dock kbd{grid-row:1/4}.gadget-effects{text-align:left;grid-area:3/2}.gadget-learned kbd{grid-row:1/3}.gadget-learned .gadget-effects{grid-row:2}.hud-screen{--hud-font:14px;--hud-top:max(10px, env(safe-area-inset-top));--hud-height:148px;padding-inline:max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right))}.hud-bar{grid-template-columns:minmax(0,1fr);gap:6px;padding-inline:10px}.hud-secondary{gap:8px}.hud-score{min-width:86px}.tool-dock{border-top:1px solid #b8cdeb55;border-left:0;grid-template-columns:minmax(0,1.6fr) minmax(104px,1fr);gap:8px;padding:6px 0 0}.tool-dock-header{grid-template-columns:40px minmax(0,1fr)}.tool-dock-image{width:40px;height:46px}.tool-dock-label{font-size:.72em}.tool-dock-tier{font-size:.78em}.pips{gap:3px}.pip{width:7px;height:11px}.toast-stack{max-width:230px;left:10px}.hud-hints{max-width:calc(100vw - 20px);bottom:10px;left:10px}.tool-reveal{grid-template-columns:minmax(0,1fr) 100px;gap:6px;width:min(320px,100vw - 20px);min-height:106px;padding:10px;right:10px}.tool-reveal-name{font-size:1.05rem}.tool-reveal-label,.tool-reveal-pattern{font-size:.53rem}.tool-reveal-image{height:80px}}@media (max-width:600px){.screen-center{padding:14px}.title-screen{justify-items:center}.panel,.title-panel{max-height:calc(100dvh - 28px);padding:24px}.wordmark{font-size:clamp(2.5rem,11vw,4.1rem)}.card-grid{grid-template-columns:1fr;gap:10px;margin-top:16px}.upgrade-card{min-height:0;padding:14px 16px}.upgrade-card h3{margin:6px 0}.upgrade-card p{margin-bottom:0}.stats-grid{gap:0 8px}.stats-grid dt{font-size:.67rem}.game-over-panel .mode-badge-wrap{top:58px;right:24px}.leaderboard-table th,.leaderboard-table td{padding:8px 5px}.leaderboard-table{font-size:.78rem}.leaderboard-chip{font-size:.72rem}.setting-row{grid-template-columns:minmax(0,1fr) 100px 32px;gap:6px}.quality-row,.toggle-row{grid-template-columns:1fr auto}.quality-row select{width:138px}}@media (max-width:380px){.score-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.title-panel{padding:20px}.button-mode{padding-inline:10px}.submit-form{grid-template-columns:1fr}.submit-form button{grid-area:auto/1}}@media (max-height:620px) and (min-width:601px){.panel,.title-panel{padding:20px 28px}.chamber-label{margin-bottom:20px}.title-note{margin-top:16px}.title-panel .actions.stack{margin-top:18px}.button-mode{grid-template-rows:24px auto 1fr;gap:7px;min-height:126px;padding-block:12px}.mode-emblem{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){#ui:not(.motion-allowed) *,#ui:not(.motion-allowed) :before,#ui:not(.motion-allowed) :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
