@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(./space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(./space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(./space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(./space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(./space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(./space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(./space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(./space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(./manrope-cyrillic-500-normal-B1OEZity.woff2)format("woff2"),url(./manrope-cyrillic-500-normal-CNwnNrRC.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(./manrope-cyrillic-700-normal-Dw_fZAg2.woff2)format("woff2"),url(./manrope-cyrillic-700-normal-7JNVKxyl.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(./jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff")}:root{--paper:#10284a;--paper-deep:#0b1d38;--night:#081428;--abyss:#060e1e;--cyan:#6cc6ff;--chalk:#e9f3ff;--bolt:#ff5a4e;--gold:#fc3;--ok:#39d98a;--bonus:#7fe3ff;--bolt-hi:#ff6e63;--bolt-rim:#ff8a80;--bolt-edge:#9e2b23;--bolt-soft:#ff9d8f;--bolt-pale:#ffd1c9;--ok-edge:#1b8a53;--ok-deep:#1d5a45;--ok-line:color-mix(in srgb, var(--ok) 55%, transparent);--on-ok:#06301b;--gold-edge:#b38600;--on-gold:#2a1d00;--road:#f4f8ff;--wood:#ffc98a;--steel:#9fdcff;--heavy:#d6dbe3;--cable:#c7a6ff;--ram:#ff6ad5;--chrome:#e9eef4;--main:#ff8f5a;--concrete:#d8cfbe;--arch:#e9d58c;--masonry:#d9cba8;--mud:#8a6a48;--track:#f2a8a0;--scrim:color-mix(in srgb, var(--abyss) 62%, transparent);--bar:color-mix(in srgb, var(--night) 92%, transparent);--panel:color-mix(in srgb, var(--paper-deep) 92%, transparent);--card:color-mix(in srgb, var(--paper-deep) 70%, transparent);--chip:color-mix(in srgb, var(--paper-deep) 55%, transparent);--field:#040c1ad9;--raised:#173764;--raised-hi:#1e4579;--edge:#081a33;--well:#0000004d;--well-deep:#0006;--line:color-mix(in srgb, var(--cyan) 35%, transparent);--line-faint:color-mix(in srgb, var(--cyan) 18%, transparent);--muted:color-mix(in srgb, var(--chalk) 60%, transparent);--ghost:color-mix(in srgb, var(--chalk) 18%, transparent);--shade:#00000080;--shadow-float:0 12px 40px #00000073;--shadow-panel:0 20px 60px var(--shade);--ramp-classic:linear-gradient(90deg, #39d98a, #ffd23f, #ff3b3b);--ramp-colorblind:linear-gradient(90deg, #56b4e9, #f0e442, #ff6f1a);--r-sm:8px;--r:12px;--r-lg:14px;--r-xl:18px;--r-pill:999px;--t-press:80ms;--t-hover:.15s;--font:"Space Grotesk", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}:root:lang(ja){--font:"Space Grotesk", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP", "Noto Sans CJK JP", sans-serif;--mono:"JetBrains Mono", "Hiragino Sans", "Yu Gothic UI", Meiryo, "Noto Sans JP", "Noto Sans CJK JP", monospace}@supports not (color:color-mix(in srgb, red 50%, transparent)){:root{--ok-line:#39d98a8c;--scrim:#060e1e9e;--bar:#081428eb;--panel:#0b1d38eb;--card:#0b1d38b3;--chip:#0b1d388c;--line:#6cc6ff59;--line-faint:#6cc6ff2e;--muted:#e9f3ff99;--ghost:#e9f3ff2e}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}html,body{background:var(--paper-deep);height:100%;color:var(--chalk);font-family:var(--font);-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0;overflow:hidden}#game{touch-action:none;display:block;position:fixed;inset:0}.hidden{display:none!important}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}.btn,.go-btn,.icon-btn,.seg-btn,.tab,.pill,.link-btn,.book-arrow,.book-dot,.mat{transition:transform var(--t-press), box-shadow var(--t-press), background var(--t-hover), border-color var(--t-hover), color var(--t-hover)}:is(.go-btn,.icon-btn,.seg-btn,.tab,.pill,.link-btn,.book-arrow,.book-dot,.mat,.ch-open):focus-visible{outline:2px solid var(--cyan);outline-offset:2px}kbd{font-family:var(--mono);opacity:.6;vertical-align:1px;border:1px solid;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:.68em}[data-ui=touch] .btn kbd,[data-ui=touch] .go-btn kbd,[data-ui=touch] .mat kbd,[data-ui=touch] .link-btn kbd{display:none}#hud{padding:calc(10px + var(--safe-t)) calc(16px + var(--safe-r)) 0 calc(16px + var(--safe-l));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}.hud-block{pointer-events:auto;flex-direction:column;gap:4px;min-width:0;display:flex}.hud-block.center{align-items:center;position:absolute;left:50%;transform:translate(-50%)}.hud-block.right{flex-direction:row;gap:8px}.hud-level{white-space:nowrap;text-shadow:0 2px 6px var(--shade);align-items:baseline;gap:8px;font-weight:700;display:flex}#hud-num{font-family:var(--mono);color:var(--bolt);font-size:20px}#hud-name{text-overflow:ellipsis;font-size:16px;overflow:hidden}.hud-label{font-family:var(--mono);letter-spacing:.2em;color:var(--muted);font-size:10px}.hud-score{font-family:var(--mono);color:var(--gold);letter-spacing:.06em;text-shadow:0 2px 8px var(--shade);font-size:12px;font-weight:700}.hud-goal{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border:1px solid color-mix(in srgb, var(--bonus) 35%, transparent);border-radius:var(--r-sm);background:var(--chip);cursor:pointer;min-width:0;padding:1px 6px;font-size:11px;overflow:hidden}.hud-goal:hover{border-color:var(--bonus)}.hud-goal.met{color:var(--bonus)}.hud-goal.live-met{color:var(--ok)}.hud-goal.live-missed{color:var(--bolt-soft)}.stress-link{margin-top:10px;font-size:13px}.stress-dock{left:50%;bottom:calc(10px + var(--safe-b));border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);width:min(900px,100% - 20px);box-shadow:var(--shadow-float);padding:10px 12px 8px;animation:.2s ease-out fadein;position:fixed;transform:translate(-50%)}.dock-head{align-items:center;gap:12px;display:flex}.dock-head b{font-family:var(--mono);letter-spacing:.2em;color:var(--muted);white-space:nowrap;font-size:11px}.stress-info{min-width:0;font-family:var(--mono);color:var(--chalk);flex:1;font-size:12px}#stress-canvas{touch-action:none;cursor:crosshair;width:100%;height:170px;margin-top:6px;display:block}.dock-note{color:var(--muted);margin:4px 0 0;font-size:11.5px}.dock-note .gold{color:var(--gold)}.dock-note .red{color:var(--bolt)}@media (max-width:560px){.dock-head b{display:none}#stress-canvas{height:130px}}.panel.mk-help{max-height:calc(100dvh - 32px);overflow-y:auto}.mk-help .brief-rules li:before{content:"›";color:var(--muted)}.mk-help .brief-rules b{color:var(--gold);margin-right:6px}.mk-steps{flex-direction:column;gap:8px;margin:0;padding-left:22px;display:flex}.mk-steps b{color:var(--gold)}.mk-help .brief-tip{font-size:14px}.panel.brief{text-align:left;width:min(540px,100%)}.brief-code{font-family:var(--mono);color:var(--bolt);letter-spacing:.1em;font-weight:700}.panel.brief h2{margin:2px 0 4px}.panel.brief h3{font-family:var(--mono);letter-spacing:.2em;color:var(--muted);margin:16px 0 6px;font-size:11px}.brief-traffic{font-family:var(--mono);color:var(--cyan);margin:0;font-size:12px}.brief-tip{border-left:3px solid var(--gold);background:color-mix(in srgb, var(--gold) 8%, transparent);border-radius:6px;margin:12px 0 0;padding:10px 12px;font-size:16px;line-height:1.35}.brief-goals,.brief-rules{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.brief-goals li{align-items:flex-start;gap:10px;display:flex}.brief-goals i{color:var(--gold);text-align:center;flex:0 0 22px;font-size:18px;font-style:normal;line-height:1.1}.brief-goals li.bonus{background:color-mix(in srgb, var(--bonus) 8%, transparent);border:1px solid color-mix(in srgb, var(--bonus) 30%, transparent);border-radius:10px;padding:8px 10px 8px 0}.brief-goals li.bonus i,.brief-goals li.bonus b{color:var(--bonus)}.brief-goals li.done b{color:var(--ok)}.brief-goals b{font-size:15px;display:block}.brief-goals small{color:var(--muted);margin-top:2px;font-size:12.5px;line-height:1.35;display:block}.brief-rules li{padding-left:18px;font-size:14px;line-height:1.35;position:relative}.brief-rules li:before{content:"!";font-family:var(--mono);color:var(--bolt);font-weight:700;position:absolute;top:0;left:2px}.brief-best{font-family:var(--mono);color:var(--gold);margin:14px 0 0;font-size:12px}.brief-hints{color:var(--gold);margin:4px 0 0;font-size:13px}.brief-hints:empty{display:none}#brief-hint small{color:var(--gold);font-size:.8em}.res-review{text-align:left;max-width:440px;color:var(--muted);margin:8px auto 0;font-size:13px;line-height:1.35}.res-review:empty{display:none}.res-review b{color:var(--chalk);letter-spacing:.12em;text-transform:uppercase;font-size:12px}.res-review ul{margin:3px 0 0;padding-left:18px}.brief-best:empty{display:none}.panel.brief .row{justify-content:center}.hud-score.bump{animation:.35s ease-out bump}@keyframes bump{0%{color:var(--gold);transform:scale(1.5)}to{transform:scale(1)}}.lives{gap:3px;min-height:16px;display:flex}.lives i{background:var(--bolt);width:16px;height:14px;clip-path:path("M8 14 1.2 7.2A3.9 3.9 0 0 1 8 2.4a3.9 3.9 0 0 1 6.8 4.8Z");transition:transform .3s}.lives i.lost{background:var(--ghost)}.lives i.breaking{animation:.8s ease-in forwards heartbreak}.lives i.gained{animation:.6s ease-out heartgain}@keyframes heartbreak{0%{transform:scale(1)}30%{background:#fff;transform:scale(1.6)rotate(-10deg)}to{background:var(--ghost);transform:scale(1)rotate(0)}}@keyframes heartgain{0%{transform:scale(0)}60%{transform:scale(1.7)}to{transform:scale(1)}}.lives.big i{width:30px;height:26px;clip-path:path("M15 26 2.2 13.4A7.3 7.3 0 0 1 15 4.5a7.3 7.3 0 0 1 12.8 8.9Z")}.icon-btn{border-radius:var(--r);background:var(--panel);border:1px solid var(--line);place-items:center;width:44px;height:44px;display:grid}.icon-btn:hover{background:var(--raised)}.icon-btn:active{transform:scale(.9)}.icon-btn:disabled{opacity:.35;pointer-events:none}.icon-btn svg,.book-arrow svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.book-arrow svg{stroke-width:2.8px}#btn-mute.off .wave{display:none}#btn-mute.off svg{opacity:.5}#toolbar{padding:10px calc(12px + var(--safe-r)) calc(10px + var(--safe-b)) calc(12px + var(--safe-l));background:linear-gradient(to top, var(--bar), transparent);pointer-events:none;justify-content:center;align-items:stretch;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}#toolbar>*{pointer-events:auto}.mats,.tools{align-items:center;gap:6px;display:flex}.mat{border-radius:var(--r);background:var(--panel);border:2px solid var(--line);flex-direction:column;flex:0 auto;justify-content:center;align-items:center;min-width:70px;height:58px;padding:0 8px;line-height:1.1;display:flex;position:relative}.mat i{background:var(--c);width:34px;height:6px;box-shadow:0 0 8px var(--c);border-radius:3px;margin-bottom:5px}.mat[data-mat=road]{--c:var(--road)}.mat[data-mat=wood]{--c:var(--wood)}.mat[data-mat=steel]{--c:var(--steel)}.mat[data-mat=heavy]{--c:var(--heavy)}.mat[data-mat=heavy] i{height:8px}.mat[data-mat=cable]{--c:var(--cable)}.mat[data-mat=cable] i{height:3px}.mat[data-mat=main]{--c:var(--main)}.mat[data-mat=main] i{border:3px solid var(--main);height:7px;box-shadow:none;background:0 0;border-top:none;border-radius:0 0 50% 50%/0 0 100% 100%}.mat[data-mat=concrete]{--c:var(--concrete)}.mat[data-mat=concrete] i{height:10px;box-shadow:none;border-radius:1px}.mat[data-mat=track]{--c:var(--track)}.mat[data-mat=track] i{background:linear-gradient(var(--track) 0 30%, transparent 30%), repeating-linear-gradient(to right, var(--track) 0 3px, transparent 3px 6px);height:8px;box-shadow:none}.mat[data-mat=masonry]{--c:var(--masonry)}.mat[data-mat=masonry] i{background:linear-gradient(to right, var(--masonry) 0 47%, transparent 47% 53%, var(--masonry) 53%);width:22px;height:11px;box-shadow:none;border-radius:1px}.mat[data-mat=arch]{--c:var(--arch)}.mat[data-mat=arch] i{border:4px solid var(--arch);height:8px;box-shadow:none;background:0 0;border-bottom:none;border-radius:50% 50% 0 0/100% 100% 0 0}.mat[data-mat=ram]{--c:var(--ram)}.mat[data-mat=ram] i{background:linear-gradient(to right, var(--ram) 0 55%, transparent 55%), linear-gradient(var(--chrome), var(--chrome)) right center / 45% 3px no-repeat;height:9px;box-shadow:none;border-radius:2px}.mat span{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.mat span.short{display:none}.mat b{font-family:var(--mono);color:var(--muted);font-size:12px}.mat kbd{margin:0;padding:0 3px;font-size:9px;position:absolute;top:3px;right:4px}.mat em{background:var(--gold);color:var(--on-gold);font-family:var(--mono);white-space:nowrap;border-radius:6px;padding:0 5px;font-size:9px;font-style:normal;font-weight:700;line-height:14px;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.mat em[hidden]{display:none}.mat.active{border-color:var(--c);background:var(--raised);transform:translateY(-4px)}.mat.empty b{color:var(--bolt)}.mat.locked{opacity:.25;pointer-events:none}.mat.shake{animation:.35s shake}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.go-btn{--fill:var(--ok);--lip:var(--ok-edge);--lift:5px;--glow:0 10px 24px color-mix(in srgb, var(--ok) 35%, transparent);border-radius:var(--r-lg);letter-spacing:.06em;min-height:58px;color:var(--on-ok);align-items:center;gap:8px;padding:0 22px;font-size:18px;font-weight:700;display:flex}.go-btn.stop{--fill:var(--gold);--lip:var(--gold-edge);--glow:0 0 transparent;color:var(--on-gold)}.go-icon{flex:none;width:.92em;height:.92em}.go-icon path{fill:currentColor}.go-icon .edit,.go-btn.stop .go-icon .play{display:none}.go-btn.stop .go-icon .edit{display:inline}.go-btn.pulse{animation:1.1s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 var(--lift) 0 var(--lip), 0 0 0 10px color-mix(in srgb, var(--ok) 25%, transparent), 0 10px 30px color-mix(in srgb, var(--ok) 60%, transparent)}}@media (max-width:560px){#hud{flex-wrap:wrap;row-gap:6px}.hud-block.center{flex-direction:row;flex:1 0 100%;order:3;justify-content:center;align-items:center;gap:10px;position:static;transform:none}.hud-block.center .hud-label{display:none}#toast{top:calc(112px + var(--safe-t))}.meter{flex:1;min-width:90px;max-width:200px}.budget b{font-size:16px}.budget span{font-size:11px}#toolbar{padding-left:calc(8px + var(--safe-l));padding-right:calc(8px + var(--safe-r));flex-wrap:wrap;gap:8px 6px}.mats{flex:1 0 100%;justify-content:center;min-width:0}.mat{flex:1 1 0;width:auto;min-width:0;max-width:84px;height:54px;padding:0 2px}.mat span{font-size:11px}.mat span.full{display:none}.mat span.short{display:inline}.mat i{width:70%}.tools .icon-btn{width:44px;height:44px}.go-btn{min-height:54px;padding:0 12px;font-size:15px}#toolbar .go-btn{flex:auto;justify-content:center;max-width:200px;min-height:48px}#hud-name{max-width:34vw;font-size:14px}.hud-goal{max-width:42vw;font-size:10px}}@media (min-width:561px) and (max-width:900px),(min-width:561px) and (max-height:520px){.mats{min-width:0}.mat{flex:0 auto;width:66px;min-width:0;padding:0 2px}.mat span.full{display:none}.mat span.short{display:inline}}@media (max-width:380px){.tools{gap:4px}.mat span{font-size:10px}.mat b{font-size:11px}}.toast{z-index:30;left:50%;top:calc(74px + var(--safe-t));border-radius:var(--r);background:var(--panel);border:1px solid var(--line);text-align:center;opacity:0;pointer-events:none;max-width:min(90vw,520px);padding:10px 16px;font-size:15px;transition:opacity .25s,transform .25s;position:fixed;transform:translate(-50%,-10px)}.toast.show{opacity:1;transform:translate(-50%)}.screen{z-index:10;justify-content:safe center;align-items:safe center;padding:16px;animation:.25s ease-out fadein;display:flex;position:fixed;inset:0;overflow-y:auto}.screen.dim{background:var(--scrim)}@keyframes fadein{0%{opacity:0}}.screen.leaving{z-index:9;pointer-events:none;animation:.16s ease-in forwards fadeout}.screen.leaving>*{animation:.16s ease-in forwards sink}@keyframes fadeout{to{opacity:0}}@keyframes sink{to{transform:scale(.96)}}.panel{border-radius:var(--r-xl);background:var(--panel);border:1px solid var(--line);width:min(440px,100%);max-height:100%;box-shadow:var(--shadow-panel), inset 0 0 0 6px color-mix(in srgb, var(--cyan) 5%, transparent);text-align:center;padding:24px;animation:.35s cubic-bezier(.2,1.6,.4,1) pop;overflow-y:auto}.panel.wide{width:min(760px,100%)}.panel.xwide{width:min(980px,100%)}.career-card{justify-content:center;gap:10px;max-width:520px;margin:18px auto 4px;display:flex}.career-card b.bonus{color:var(--bonus)}.career-card:empty{display:none}.career-card div{border-radius:var(--r);background:var(--card);border:1px solid var(--line);flex-direction:column;flex:1;gap:2px;padding:8px 6px;display:flex}.career-card span{font-family:var(--mono);letter-spacing:.18em;color:var(--muted);font-size:10px}.career-card b{font-family:var(--mono);color:var(--gold);font-size:18px}.career-card small{color:var(--muted);font-size:11px}.btn.continue{flex-direction:column;align-items:center;gap:2px;display:flex}.btn.continue small{font-family:var(--mono);letter-spacing:.04em;opacity:.75;font-size:11px;font-weight:500}.btn.small{min-height:34px;padding:6px 12px;font-size:12px}.chapter-grid{text-align:left;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:14px 0 6px;display:grid}@media (min-width:700px){.chapter-grid{grid-template-columns:repeat(3,1fr)}}.chs-head{position:relative}.seg{background:var(--well);border:1px solid var(--line);border-radius:10px;padding:3px;display:inline-flex;position:absolute;top:2px;right:0}.seg-btn{font-family:var(--mono);letter-spacing:.12em;color:var(--muted);border-radius:7px;padding:5px 12px;font-size:11px;font-weight:700}.seg-btn.on{background:var(--raised-hi);color:var(--chalk)}.chapter-book{margin:14px 0 6px}.book-page{align-items:stretch;gap:8px;display:flex}.book-page .chapter-grid{touch-action:pan-y;flex:1;margin:0}.book-arrow{width:34px;color:var(--chalk);background:var(--well);border:1px solid var(--line);border-radius:10px;flex:none;place-items:center;display:grid}.book-arrow:hover:not(:disabled){background:var(--raised-hi)}.book-arrow:disabled{opacity:.25;cursor:default}.book-dots{justify-content:center;gap:8px;margin-top:12px;display:flex}.book-dot{background:color-mix(in srgb, var(--chalk) 22%, transparent);border-radius:50%;width:9px;height:9px;padding:0}.book-dot.on{background:var(--bolt)}#scr-chapters .panel{flex-direction:column;display:flex}.chapter-map{overscroll-behavior:contain;flex:auto;min-height:0;max-height:62vh;margin:10px 0 6px;overflow:hidden auto}.map{position:relative}.map-road{pointer-events:none;position:absolute;inset:0;overflow:visible}.map-road path{fill:none;stroke-linecap:round}.map-road .ahead{stroke:color-mix(in srgb, var(--chalk) 20%, transparent);stroke-width:4px;stroke-dasharray:2 9}.map-road .paved{stroke:var(--gold);stroke-width:5px;opacity:.85}.map-road .opening{stroke:var(--gold)}.map-road .reveal{stroke:#fff;stroke-width:14px;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.3s ease-in-out .35s forwards pave}@keyframes pave{to{stroke-dashoffset:0}}.map-head.fresh .map-title{animation:1.6s ease-out 1.2s both opened-name}.ch-card.fresh{animation:1.6s ease-out .3s both opened-card}@keyframes opened-name{30%{color:var(--gold);text-shadow:0 0 18px color-mix(in srgb, var(--gold) 70%, transparent)}}@keyframes opened-card{30%{box-shadow:0 0 0 2px var(--gold), 0 0 28px color-mix(in srgb, var(--gold) 45%, transparent)}}.map-head{justify-content:center;align-items:center;gap:10px;height:40px;display:flex;position:absolute;left:0;right:0}.map-title{color:var(--chalk);font-size:16px;font-weight:700}.map-title .ch-no{margin-right:4px}.map-head .map-stars{font-family:var(--mono);color:var(--gold);font-size:11px}.map-head.locked,.map-head.for-sale .map-title{opacity:.45}.full-tag{font-family:var(--mono);letter-spacing:.08em;color:var(--on-gold);background:var(--gold);border-radius:6px;padding:3px 7px;font-size:10px;font-weight:700}.map-head .btn.ch-challenge{min-height:24px;padding:0 8px;font-size:12px}.map-node{flex-direction:column;align-items:center;width:84px;display:flex;position:absolute;transform:translate(-50%,-23px)}.map-node .dot{width:46px;height:46px;font-family:var(--mono);color:var(--chalk);background:var(--raised);border:3px solid var(--line);box-shadow:0 3px 0 var(--edge);transition:transform var(--t-press);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.map-node:hover .dot{transform:scale(1.08)}.map-node.done .dot{background:var(--ok-deep);border-color:var(--ok)}.map-node.next .dot{background:var(--bolt);border-color:var(--bolt-pale);animation:1.4s ease-in-out infinite next-pulse}.map-node.locked{opacity:.5}.map-node.locked .dot{background:var(--well);font-size:15px}.map-node.locked:hover .dot{transform:none}.map-node .name{text-overflow:ellipsis;white-space:nowrap;max-width:84px;color:var(--chalk);margin-top:3px;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden}.map-node .stars{letter-spacing:1px;color:var(--gold);font-size:11px}.map-node .stars em{color:var(--bonus);margin-left:3px;font-style:normal}@keyframes next-pulse{0%,to{box-shadow:0 3px 0 var(--edge), 0 0 0 0 color-mix(in srgb, var(--bolt) 60%, transparent)}50%{box-shadow:0 3px 0 var(--edge), 0 0 0 10px transparent}}.ch-card .short{display:none}.ch-card{border-radius:var(--r-lg);background:var(--raised);border:1px solid var(--line);transition:transform var(--t-press), background var(--t-hover);flex-direction:column;display:flex;position:relative;overflow:hidden}.ch-card:hover{background:var(--raised-hi);transform:translateY(-2px)}.ch-card.done{border-color:var(--ok-line)}.ch-card.locked{opacity:.55}.ch-card.locked:hover{background:var(--raised);transform:none}.ch-open{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:12px 14px;display:flex}.ch-card.done .ch-no{min-height:22px}.ch-no{font-family:var(--mono);letter-spacing:.18em;color:var(--bolt);font-size:11px}.ch-name{font-size:19px;font-weight:700}.ch-blurb{color:var(--muted);font-size:13px;line-height:1.35}.ch-effort{font-family:var(--mono);color:var(--cyan);font-size:11px}.ch-progress{width:100%;min-height:28px;font-family:var(--mono);color:var(--gold);align-items:center;gap:8px;margin-top:auto;padding-top:4px;font-size:11px;display:flex}.ch-progress .bar{background:var(--well-deep);border-radius:3px;flex:1;min-width:30px;height:6px;overflow:hidden}.ch-progress .bar i{background:linear-gradient(90deg, var(--ok), var(--gold));height:100%;display:block}.ch-lock{color:var(--chalk);font-size:12px;font-weight:700}.ch-card .btn.ch-challenge{min-height:26px;box-shadow:0 2px 0 var(--edge);padding:0 8px;font-size:13px;position:absolute;top:8px;right:10px}.pips{vertical-align:middle;gap:3px;display:inline-flex}.pips i{background:var(--ghost);border-radius:3px;width:12px;height:5px}.pips i.on{background:var(--bolt)}.ch-head{margin-bottom:14px}.ch-kicker{font-family:var(--mono);letter-spacing:.18em;color:var(--bolt);justify-content:center;align-items:center;gap:10px;font-size:11px;display:flex}.ch-head h2{margin:4px 0}@media (max-width:560px),(max-height:520px){#scr-chapters .panel{padding:14px 12px}#scr-chapters .panel>p.muted{display:none}#scr-chapters h2{margin:0 0 4px;font-size:24px}#scr-chapters .row{margin-top:6px}.chapter-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 4px}.chapter-book{margin:8px 0 4px}.book-arrow{width:26px}.book-arrow svg{width:18px;height:18px}.seg-btn{padding:4px 9px}.map-node{width:64px}.map-node .name{display:none}.map-node .dot{width:42px;height:42px;font-size:11px}.ch-open{gap:3px;padding:9px 8px 8px}.ch-no{letter-spacing:.1em;font-size:10px}.ch-name{overflow-wrap:anywhere;font-size:13px;line-height:1.15}.ch-blurb,.ch-effort,.ch-card .long{display:none}.ch-card .short{display:inline}.ch-card .pips{gap:2px}.ch-card .pips i{width:6px;height:4px}.ch-progress{gap:6px;min-height:0;font-size:10px}.ch-progress .bar{min-width:16px;height:4px}.ch-lock{font-size:11px}.ch-card .btn.ch-challenge{min-height:22px;padding:0 7px;font-size:12px;top:5px;right:5px}}@media (max-height:520px) and (min-width:561px){.chapter-grid{grid-template-columns:repeat(3,1fr)}.ch-open{padding:7px 8px 6px}}.chapter-pills{justify-content:center;gap:6px;margin:4px 0 8px;display:flex}.pill{border-radius:var(--r-pill);border:1px solid var(--line);width:34px;height:30px;color:var(--muted);font:700 12px/1 var(--mono)}.pill.on{color:var(--paper-deep);background:var(--cyan);border-color:var(--cyan)}.budget{font-family:var(--mono);white-space:nowrap;font-size:13px}.budget b{text-shadow:0 2px 8px var(--shade);font-size:20px}.budget span{color:var(--muted);margin-left:4px}.meter{background:var(--well-deep);border:1px solid var(--line);border-radius:4px;width:100%;min-width:150px;height:7px;position:relative}.meter i{background:var(--ok);border-radius:3px;width:0;height:100%;transition:width .25s,background .25s;display:block}.meter.over-target i{background:var(--gold)}.meter.nearly-out i{background:var(--bolt)}.meter em{background:var(--chalk);width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px;box-shadow:0 0 6px #fff9}.hud-sub{align-items:center;gap:8px;min-height:18px;display:flex}@keyframes pop{0%{opacity:0;transform:scale(.85)}}h2{letter-spacing:.04em;margin:0 0 12px;font-size:28px}.muted{color:var(--muted);margin:6px 0 14px;font-size:14px}.menu{flex-direction:column;gap:10px;margin:18px 0 6px;display:flex}.row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.row .btn{flex:140px}.btn,.go-btn{background:var(--fill);box-shadow:0 var(--lift) 0 var(--lip), var(--glow)}.btn:active,.go-btn:active{transform:translateY(calc(var(--lift) - 1px));box-shadow:0 1px 0 var(--lip)}.btn{--fill:var(--raised);--fill-hi:var(--raised-hi);--lip:var(--edge);--lift:4px;--glow:0 0 transparent;border-radius:var(--r);letter-spacing:.06em;border:1px solid var(--line);min-height:50px;padding:10px 18px;font-weight:700}.btn:hover,.btn:focus-visible{background:var(--fill-hi);outline:none}.btn.primary{--fill:var(--bolt);--fill-hi:var(--bolt-hi);--lip:var(--bolt-edge);--glow:0 8px 22px color-mix(in srgb, var(--bolt) 35%, transparent);border-color:var(--bolt-rim);color:#fff}#scr-title{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--abyss) 10%, transparent), color-mix(in srgb, var(--abyss) 55%, transparent));flex-direction:column;gap:18px}.title-card{border:2px solid var(--chalk);--face:color-mix(in srgb, var(--paper) 88%, transparent);background:var(--face);width:min(460px,100%);box-shadow:0 0 0 6px var(--face), 0 0 0 7px var(--line), 0 30px 80px var(--shade);text-align:center;border-radius:6px;padding:26px 26px 20px;animation:.5s cubic-bezier(.2,1.5,.4,1) pop;position:relative}#scr-title .title-gear{border-radius:var(--r-sm);width:36px;height:36px;position:absolute;top:10px;right:10px}#scr-title .title-gear svg{width:20px;height:20px}.title-tag{font-family:var(--mono);letter-spacing:.22em;color:var(--cyan);padding-inline:34px;border-bottom:1px dashed var(--line);padding-bottom:12px;font-size:10px}.logo{letter-spacing:.02em;flex-direction:column;margin:16px 0 4px;font-size:clamp(44px,13vw,68px);line-height:.9;display:flex}.logo span{display:block}.logo-b{color:#0000;-webkit-text-stroke:2px var(--chalk);position:relative}.subtitle{color:var(--muted);margin:10px 0 0;font-size:15px}.title-best{font-family:var(--mono);color:var(--gold);min-height:1em;margin-top:14px;font-size:12px}.controls-hint{color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;gap:6px 16px;max-width:640px;font-size:13px;display:flex}.controls-hint b{color:var(--chalk)}.app-version{right:calc(12px + var(--safe-r));bottom:calc(8px + var(--safe-b));font-family:var(--mono);color:var(--muted);font-size:11px;position:absolute}@media (max-height:520px) and (min-width:561px){#scr-title{gap:8px;padding-block:8px}.title-card{grid-template-columns:1fr 1fr;align-items:center;column-gap:24px;width:min(780px,100%);padding:14px 20px 12px;display:grid}.title-tag{grid-area:1/1;padding-inline:0}.logo{grid-area:2/1;margin:8px 0 0;font-size:44px}.subtitle{grid-area:3/1;margin-top:6px;font-size:13px}#title-career{grid-area:4/1}.title-card .menu{grid-area:1/2/5;margin:0;padding-top:30px}.title-card .engineer{grid-area:5/2}.title-unlock{grid-area:6/2}.controls-hint{display:none}}.level-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}@media (max-width:560px){.level-grid{grid-template-columns:repeat(2,1fr);gap:8px}.lvl-card{min-height:0;padding:9px 10px}.lvl-card .meta,.lvl-card .goal{font-size:10px}}.lvl-card{border-radius:var(--r);background:var(--raised);border:1px solid var(--line);text-align:left;min-height:96px;transition:transform var(--t-press), background var(--t-hover);flex-direction:column;align-items:flex-start;gap:2px;padding:12px;display:flex}.lvl-card:hover,.lvl-card:focus-visible{background:var(--raised-hi);outline:none;transform:translateY(-2px)}.lvl-card .n{font-family:var(--mono);color:var(--bolt);font-weight:700}.lvl-card .t{font-size:14px;font-weight:700}.lvl-card .s{color:var(--gold);letter-spacing:2px;margin-top:auto}.lvl-card .n kbd{vertical-align:middle;margin-left:6px;padding:0 3px;font-size:9px}.lvl-card .meta{font-family:var(--mono);color:var(--cyan);font-size:11px}.lvl-card .goal{font-family:var(--mono);color:var(--muted);font-size:11px}.lvl-card .goal.met,.lvl-card .s em{color:var(--bonus);font-style:normal}.lvl-card .s em{margin-left:6px}.lvl-card.done{border-color:var(--ok-line)}.lvl-card .b{font-family:var(--mono);color:var(--muted);font-size:11px}.lvl-card.locked{opacity:.35;pointer-events:none}.scores{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:15px}.scores td{border-bottom:1px dashed var(--line-faint);padding:7px 6px}.scores td:first-child{color:var(--muted);white-space:nowrap;width:2em}.scores td:nth-child(2){text-align:left;letter-spacing:.15em;font-weight:700}.scores td:last-child{text-align:right;color:var(--gold)}.scores tr.me td{color:var(--ok);animation:.6s steps(2,end) 4 blink}.scores.small{margin-top:10px;font-size:13px}.scores .empty{color:var(--muted);padding:20px;text-align:center!important}.scores tr.mine td{color:var(--ok)}.scores td small{letter-spacing:.05em;color:var(--muted);font-size:11px;font-weight:400;display:block}.scores td.st{color:var(--gold);letter-spacing:.1em;white-space:nowrap}.scores .rec-view{font-family:var(--font);letter-spacing:.02em;padding:2px 0 0;font-size:12px;font-weight:400;display:inline-block}.scores small.rec-locked{font-style:italic}.scores td.open{color:var(--muted);letter-spacing:.02em;font-weight:400}.tabs{justify-content:center;gap:6px;margin-bottom:6px;display:flex}.tab{border-radius:var(--r-pill);border:2px solid var(--line);color:var(--muted);font:700 12px/1 var(--mono);letter-spacing:.12em;cursor:pointer;background:0 0;padding:7px 14px}.tab:hover{color:var(--chalk)}.tab.on{color:var(--paper-deep);background:var(--gold);border-color:var(--gold)}.board-note{color:var(--muted);text-align:center;margin:0 0 8px;font-size:12px}.board-scroll{overscroll-behavior:contain;max-height:min(56vh,460px);overflow-y:auto}@media (max-width:560px){#scr-scores .panel{padding:20px 14px}.tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.tab{letter-spacing:.08em;padding:10px 6px}.chapter-pills{flex-wrap:wrap;margin-bottom:10px}.board-note{margin-bottom:10px}.scores{font-size:14px}.scores td{padding:8px 4px}.scores td:nth-child(2){letter-spacing:.06em}}@keyframes blink{50%{opacity:.3}}.keys{color:var(--muted);text-align:left;grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:18px;font-size:12px;display:grid}.keys kbd{opacity:.9;color:var(--chalk);margin:0 2px 0 0}[data-ui=touch] .keys{display:none}.banner{letter-spacing:.04em;font-size:30px;font-weight:700;animation:.5s cubic-bezier(.2,1.8,.4,1) pop}.banner.good{color:var(--ok);text-shadow:0 0 24px color-mix(in srgb, var(--ok) 60%, transparent)}.stars{justify-content:center;gap:10px;margin:14px 0 4px;display:flex}.stars i{background:color-mix(in srgb, var(--chalk) 12%, transparent);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:52px;height:50px}.stars i:nth-child(2){transform:translateY(-8px)scale(1.15)}.stars i.bonus{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);align-self:center;width:40px;height:40px;margin-left:6px}.stars i.bonus.on{background:var(--bonus);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--bonus) 80%, transparent))}.stars i.on{background:var(--gold);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--gold) 80%, transparent));animation:.45s cubic-bezier(.2,2,.4,1) starpop}@keyframes starpop{0%{transform:scale(0)rotate(-60deg)}}.stars i.bonus.on{animation:.8s cubic-bezier(.2,1.8,.4,1) sparkle}@keyframes sparkle{0%{filter:brightness(3)drop-shadow(0 0 #0000);transform:scale(0)rotate(-180deg)}45%{filter:brightness(2) drop-shadow(0 0 22px var(--bonus));transform:scale(1.5)rotate(20deg)}}.panel.result{position:relative}.panel.result.perfect:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--gold) 28%, transparent) 50%, transparent 65%) no-repeat;background-position:100% 0;background-size:250% 100%;animation:1.1s ease-in-out forwards sweep;position:absolute;inset:0}.panel.result.perfect{border-color:color-mix(in srgb, var(--gold) 60%, transparent);transition:border-color .6s}@keyframes sweep{to{background-position:0 0}}.ribbon-corner{border-top-right-radius:var(--r-xl);pointer-events:none;width:110px;height:110px;position:absolute;top:0;right:0;overflow:hidden}.ribbon{background:var(--bolt);color:#fff;width:160px;font-family:var(--mono);letter-spacing:.12em;text-align:center;white-space:nowrap;box-shadow:0 3px 10px var(--shade);visibility:hidden;padding:5px 0;font-size:10px;font-weight:700;position:absolute;top:24px;right:-38px;transform:rotate(45deg)}.ribbon.show{visibility:visible;animation:.45s cubic-bezier(.2,1.6,.4,1) ribbon-in}@keyframes ribbon-in{0%{opacity:0;transform:rotate(45deg)translateY(-36px)}}.confetti{z-index:20;pointer-events:none;border-radius:1px;width:7px;height:11px;animation:1.6s cubic-bezier(.25,.6,.5,1) forwards confetti-fly;position:fixed}@keyframes confetti-fly{0%{opacity:1;transform:translate(0)rotate(0)}35%{transform:translate(calc(var(--dx) * .7), var(--dy)) rotate(calc(var(--spin) * .4));opacity:1}to{transform:translate(var(--dx), calc(var(--dy) + 320px)) rotate(var(--spin));opacity:0}}.star-notes{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:12px;font-size:12px;display:flex}.star-notes .yes{color:var(--gold)}.star-notes .bonus.yes{color:var(--bonus)}.breakdown{width:100%;font-family:var(--mono);border-collapse:collapse;margin-top:14px;font-size:14px}.breakdown td{text-align:left;border-bottom:1px dashed var(--line-faint);padding:5px 2px}.breakdown td:last-child{text-align:right}.breakdown tr{opacity:0;animation:.3s ease-out forwards slidein}@media (max-height:520px) and (min-width:561px){.panel.result{align-items:flex-start;gap:22px;width:min(820px,100%);padding:16px 20px;display:flex}.res-main,.res-side{flex:1 1 0;min-width:0}.res-side .total{margin-top:0}}@keyframes slidein{0%{opacity:0;transform:translate(-12px)}to{opacity:1}}.total{font-family:var(--mono);justify-content:space-between;align-items:baseline;margin-top:12px;display:flex}.total span{letter-spacing:.15em;color:var(--muted);font-size:12px}.total b{color:var(--gold);font-size:32px}.run-total{font-family:var(--mono);color:var(--muted);text-align:right;min-height:1em;font-size:13px}.stamp{border:4px solid var(--bolt);border-radius:var(--r-sm);color:var(--bolt);letter-spacing:.08em;text-shadow:0 0 20px color-mix(in srgb, var(--bolt) 40%, transparent);margin:6px 0 12px;padding:6px 18px;font-size:36px;font-weight:700;animation:.45s cubic-bezier(.3,1.6,.5,1) stamp;display:inline-block;transform:rotate(-6deg)}.stamp.win{border-color:var(--gold);color:var(--gold)}@keyframes stamp{0%{opacity:0;transform:rotate(-6deg)scale(3)}}.chapter-done{border-color:color-mix(in srgb, var(--gold) 50%, transparent)}.chapter-done .stamp{margin-top:10px;font-size:26px}.chapter-done h2{margin:0 0 8px}.done-stats{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:14px;font-size:14px;display:flex}.done-stats .gold{color:var(--gold)}.done-stats .bonus{color:var(--bonus)}.done-levels{border-collapse:collapse;text-align:left;width:100%;margin-top:14px;font-size:13px}.done-levels td{border-bottom:1px dashed var(--line-faint);padding:4px 3px}.done-levels tr{opacity:0;animation:.3s ease-out forwards slidein}.done-levels .code,.done-levels .pts{font-family:var(--mono);color:var(--muted);white-space:nowrap}.done-levels .st{color:var(--gold);white-space:nowrap;letter-spacing:.05em}.done-levels .st em{color:var(--bonus);margin-left:4px;font-style:normal}.done-levels .pts{text-align:right}.done-next{color:var(--muted);margin:14px 0 0}.done-next b{color:var(--chalk)}.reason{margin:4px 0 12px;font-size:17px}.lives.big{justify-content:center;gap:8px;margin:8px 0}.over-score{font-family:var(--mono);flex-direction:column;align-items:center;display:flex}.over-score span{letter-spacing:.2em;color:var(--muted);font-size:12px}.over-score b{color:var(--gold);font-size:44px}.over-rank{min-height:1.2em;color:var(--gold);margin:6px 0 0;font-weight:700}.panel.confirm{max-width:420px}.confirm-bank{margin:10px 0 4px;font-size:17px}.confirm-bank b{color:var(--gold)}.engineer{color:var(--muted);justify-content:center;align-items:baseline;gap:10px;margin-top:10px;font-size:14px;display:flex}.engineer b{color:var(--chalk)}.link-btn{color:var(--cyan);text-underline-offset:3px;padding:6px 2px;font-size:13px;text-decoration:underline}.name-form{gap:8px;margin-top:8px;display:flex}.name-form input{min-width:0;font:700 20px var(--font);color:var(--chalk);background:var(--paper-deep);border:2px solid var(--line);border-radius:var(--r);-webkit-user-select:text;user-select:text;outline:none;flex:1;padding:10px 14px}.name-form input:focus{border-color:var(--cyan)}.form-error{min-height:1.1em;color:var(--bolt);margin:6px 0 0;font-size:13px}.profile-list{flex-direction:column;gap:8px;max-height:40vh;margin-top:8px;display:flex;overflow-y:auto}.profile-card{border-radius:var(--r);background:var(--raised);border:1px solid var(--line);text-align:left;transition:transform var(--t-press), background var(--t-hover);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.profile-card:hover,.profile-card:focus-visible{background:var(--raised-hi);outline:none;transform:translateY(-1px)}.profile-card b{font-size:17px}.profile-card span{font-family:var(--mono);color:var(--gold);font-size:12px}.storage-note{font-family:var(--mono);color:var(--muted);margin:14px 0 0;font-size:11px}.fps{font-family:var(--mono);color:var(--ok);background:var(--shade);pointer-events:none;border-radius:4px;padding:2px 6px;font-size:11px;position:fixed;bottom:90px;right:8px}[data-motion=reduce] *{transition-duration:.01ms!important;animation-duration:.01ms!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion]) *{transition-duration:.01ms!important;animation-duration:.01ms!important}}.panel.settings{text-align:left;width:min(480px,100%)}.panel.settings h2{text-align:center}.set-list{flex-direction:column;display:flex}@media (max-height:520px) and (min-width:561px){.panel.settings{width:min(760px,100%);padding:14px 20px}.panel.settings h2{margin:0 0 2px;font-size:22px}.panel.settings .row{margin-top:10px}.set-list{grid-template-columns:1fr 1fr;column-gap:28px;display:grid}.set-row{min-height:42px;padding:3px 0}}.set-row{border-bottom:1px dashed var(--line-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;min-height:54px;padding:8px 0;font-size:15px;font-weight:700;display:flex}.set-name{flex-direction:column;gap:5px;min-width:0;display:flex}.set-name small{color:var(--muted);font-size:12px;font-weight:500}.set-row select{border-radius:var(--r-sm);background:var(--field);border:1px solid var(--line);max-width:62%;color:var(--chalk);font:inherit;padding:8px 10px;font-size:14px}.set-row input[type=range]{min-width:0;accent-color:var(--cyan);flex:0 150px;margin:0}.switch{appearance:none;border-radius:var(--r-pill);background:var(--well-deep);border:1px solid var(--line);cursor:pointer;width:46px;height:26px;transition:background var(--t-hover), border-color var(--t-hover);flex:none;margin:0;position:relative}.switch:after{content:"";background:var(--muted);width:18px;height:18px;transition:transform var(--t-hover), background var(--t-hover);border-radius:50%;position:absolute;top:3px;left:3px}.switch:checked{background:var(--ok-deep);border-color:var(--ok)}.switch:checked:after{background:var(--ok);transform:translate(20px)}.set-row :is(select,input):focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.set-row .seg{flex:none;position:static}.ramp{background:var(--ramp-classic);border-radius:3px;width:96px;max-width:100%;height:6px;display:block}.ramp[data-palette=colorblind]{background:var(--ramp-colorblind)}.set-controls h3{font-family:var(--mono);letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin:18px 0 0;font-size:11px}.set-controls .keys{margin-top:10px}.ws-list{text-align:left;flex-direction:column;gap:10px;margin-top:16px;display:flex}.ws-empty{color:var(--muted);text-align:center;margin:10px 0}.ws-card{border-radius:var(--r);background:var(--card);border:1px solid var(--line);align-items:center;gap:12px;padding:12px 14px;display:flex}.ws-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ws-info span{font-family:var(--mono);color:var(--muted);font-size:11.5px}.ws-info .goal{color:var(--bonus)}.ws-info .bad,.mk-issues.bad{color:var(--bolt-soft)}.mk-issues.warn{color:var(--gold)}.ws-btns{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.btn.danger{color:var(--bolt-soft)}.btn:disabled{opacity:.45;cursor:not-allowed}.share-text{background:var(--field);border:1px solid var(--line);width:100%;height:min(46vh,380px);color:var(--chalk);font-family:var(--mono);resize:vertical;border-radius:10px;margin-top:12px;padding:10px;font-size:12px}label.btn{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.maker-bar{padding:calc(10px + var(--safe-t)) calc(14px + var(--safe-r)) 10px calc(14px + var(--safe-l));background:linear-gradient(to bottom, var(--bar), transparent);justify-content:space-between;align-items:center;gap:10px;display:flex;position:fixed;top:0;left:0;right:0}.mk-title{flex-direction:column;gap:2px;min-width:0;display:flex}.mk-tag{font-family:var(--mono);letter-spacing:.2em;color:var(--bolt);font-size:10px}.mk-title b{white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.mk-issues{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.mk-actions{flex-shrink:0;gap:6px;display:flex}.maker-tools{padding:10px calc(12px + var(--safe-r)) calc(10px + var(--safe-b)) calc(12px + var(--safe-l));background:linear-gradient(to top, var(--bar), transparent);justify-content:center;align-items:stretch;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.mk-toolset{align-items:center;gap:6px;display:flex}.mk-tool[data-tool=bolt]{--c:var(--bolt)}.mk-tool[data-tool=pier]{--c:var(--heavy)}.mk-tool[data-tool=pylon]{--c:var(--steel)}.mk-tool[data-tool=mast]{--c:var(--wood)}.mk-tool[data-tool=rock]{--c:var(--masonry)}.mk-tool[data-tool=mud]{--c:var(--mud)}.mk-tool[data-tool=channel]{--c:var(--cyan)}.mk-tool[data-tool=erase]{--c:var(--muted)}.maker-panel{top:calc(70px + var(--safe-t));border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);width:min(330px,100% - 24px);box-shadow:var(--shadow-float);padding:12px 14px;font-size:13px;position:fixed;bottom:96px;right:12px;overflow-y:auto}.maker-panel label{color:var(--muted);flex-direction:column;gap:3px;margin-bottom:8px;font-size:12px;display:flex}.maker-panel input,.maker-panel textarea,.maker-panel select{border-radius:var(--r-sm);background:var(--field);border:1px solid var(--line);width:100%;min-width:0;color:var(--chalk);font:inherit;padding:6px 8px;font-size:13px}.maker-panel input:disabled{opacity:.4}.maker-panel fieldset{border:0;border-top:1px solid var(--line);margin:4px 0 8px;padding:8px 0 0}.maker-panel legend{font-family:var(--mono);letter-spacing:.2em;color:var(--cyan);text-transform:uppercase;padding-right:8px;font-size:10px}.mk-row{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:0 8px;display:grid}.mk-tune{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.maker-panel .mk-tune label{margin-bottom:0}.mk-tune .btn{min-width:112px}.mk-tune-note{color:var(--muted);margin:6px 0 10px;font-size:11px;line-height:1.4}.mk-tune-note.found{color:var(--bonus)}.mk-tune-note.bad{color:var(--bolt-soft)}.maker-panel .mk-tune-dev label{color:var(--gold);flex-direction:row;align-items:center;gap:6px}.maker-panel .mk-tune-dev input[type=checkbox]{width:auto}.mk-tune-views{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.mk-mats{flex-direction:column;gap:4px;display:flex}.mk-mat{justify-content:space-between;align-items:center;gap:8px;display:flex}.mk-mat label{color:var(--chalk);flex-direction:row;align-items:center;gap:6px;margin:0}.mk-mat input[type=checkbox]{width:auto}.mk-mat .mk-limit{color:var(--muted);font-size:11px}.mk-mat .mk-limit input{width:64px}@media (max-width:560px){.maker-bar{flex-wrap:wrap}.mk-actions .btn kbd{display:none}.maker-panel{top:calc(96px + var(--safe-t))}.maker-tools{gap:6px;padding-left:6px;padding-right:6px}.mk-toolset{gap:4px}.mk-tool{flex:0 46px;width:46px;height:54px}.mk-tool span{font-size:10px}.mk-tool kbd{display:none}.maker-tools .tools{gap:4px}.maker-tools .icon-btn{width:34px;height:44px}.maker-tools .go-btn{min-height:54px;padding:0 16px;font-size:20px}.maker-tools .go-label,.maker-tools .go-btn kbd{display:none}.ws-card{flex-direction:column;align-items:stretch}.ws-btns{justify-content:stretch}.ws-btns .btn{flex:1}}[data-ui=touch] .key-only{display:none}.title-unlock{color:var(--gold);margin-top:6px}.ch-lock.sale{color:var(--gold)}.pgs-bar{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;margin:4px 0 10px;font-size:13px;display:flex}.panel .share-btn{margin:4px auto 0;display:block}.unlock-kicker{font-family:var(--mono);letter-spacing:.14em;color:var(--gold);font-size:12px;font-weight:700}.unlock-what{margin:10px 0 6px;font-size:16px;line-height:1.45}.panel.unlock .link-btn{margin-top:8px}@media (min-width:900px){[data-ui=desktop] .btn{min-height:42px;padding:8px 16px}[data-ui=desktop] .btn.small{min-height:30px;padding:5px 11px}[data-ui=desktop] .icon-btn{width:38px;height:38px}[data-ui=desktop] .mat{width:64px;height:50px}[data-ui=desktop] .go-btn{min-height:50px;font-size:16px}}
