:root{--px: 3px;--c-bg: #05040d;--c-panel: #0d0a1c;--c-panel-hi: #191233;--c-ink: #e8f6ff;--c-dim: #8792b8;--c-cyan: #38f2ff;--c-magenta: #ff3fa4;--c-yellow: #ffd23f;--c-green: #6bff8f;--c-red: #ff3b52;--c-violet: #a06bff;--font-pixel: ui-monospace, "Cascadia Mono", "Segoe UI Mono", "SFMono-Regular", "DejaVu Sans Mono", "Courier New", monospace;font-family:var(--font-pixel);line-height:1.5;font-weight:700;color-scheme:dark;color:var(--c-ink);background-color:var(--c-bg);font-synthesis:none;text-rendering:optimizeSpeed;-webkit-font-smoothing:none}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow:hidden;background:var(--c-bg)}#app{width:100vw;height:100vh;position:relative}canvas{display:block;width:100%;height:100%}#app:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background:repeating-linear-gradient(to bottom,#0003 0 1px,#ffffff04 1px 2px,#0000 2px 4px),radial-gradient(ellipse at center,#0000 55%,#0000008c)}#ui-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:center;align-items:center}.interactive{pointer-events:auto}.screen{position:absolute;top:0;left:0;width:100%;height:100%;background:#05040de0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;padding:16px;box-sizing:border-box;overflow:hidden}.screen--menu{background:linear-gradient(to bottom,#05040d00,#05040d26 45%,#05040dbf);justify-content:flex-end;padding-bottom:6vh}h1{font-size:clamp(1.4em,5vw,3em);line-height:1.1;letter-spacing:.12em;margin:0 0 18px;color:var(--c-cyan);text-transform:uppercase;text-shadow:var(--px) var(--px) 0 #12002a,0 0 18px rgba(56,242,255,.55)}h2{font-size:clamp(1em,3.2vw,1.6em);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;color:var(--c-ink);text-shadow:var(--px) var(--px) 0 #12002a}h2.lucky{color:var(--c-yellow);text-shadow:var(--px) var(--px) 0 #3a2000,0 0 20px rgba(255,210,63,.7);animation:lucky-pop .7s steps(6) infinite alternate}@keyframes lucky-pop{0%{transform:scale(1)}to{transform:scale(1.06)}}.menu-buttons{display:flex;flex-direction:column;gap:14px;align-items:stretch;min-width:min(360px,80vw)}.menu-buttons--row{flex-direction:row;justify-content:center;flex-wrap:wrap}.pixel-btn{font-family:inherit;font-weight:700;font-size:clamp(.85em,2.4vw,1.15em);letter-spacing:.14em;text-transform:uppercase;padding:14px 28px;cursor:pointer;border:none;border-radius:0;color:var(--c-cyan);background:var(--c-panel);box-shadow:0 0 0 var(--px) var(--c-cyan),calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000b3;transition:transform 90ms steps(2),background-color 90ms steps(2),color 90ms steps(2)}.pixel-btn:hover,.pixel-btn:focus-visible{outline:none;background:var(--c-cyan);color:#05040d;transform:translate(calc(var(--px) * -1),calc(var(--px) * -1));box-shadow:0 0 0 var(--px) var(--c-cyan),calc(var(--px) * 3) calc(var(--px) * 3) 0 #000000bf,0 0 26px #38f2ff73}.pixel-btn:active{transform:translate(var(--px),var(--px));box-shadow:0 0 0 var(--px) var(--c-cyan)}.pixel-btn--primary{color:var(--c-yellow);box-shadow:0 0 0 var(--px) var(--c-yellow),calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000b3;animation:btn-idle 1.6s steps(2) infinite alternate}.pixel-btn--primary:hover,.pixel-btn--primary:focus-visible{background:var(--c-yellow);color:#1a1200;box-shadow:0 0 0 var(--px) var(--c-yellow),calc(var(--px) * 3) calc(var(--px) * 3) 0 #000000bf,0 0 30px #ffd23f80}@keyframes btn-idle{0%{filter:brightness(1)}to{filter:brightness(1.35)}}.pixel-btn--ghost{color:var(--c-dim);font-size:.8em;box-shadow:0 0 0 var(--px) #3a3f5c,calc(var(--px) * 2) calc(var(--px) * 2) 0 #0009}.pixel-btn--ghost:hover{background:#3a3f5c;color:var(--c-ink)}.pixel-btn--danger{color:var(--c-red);box-shadow:0 0 0 var(--px) var(--c-red),calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000b3}.pixel-btn--danger:hover{background:var(--c-red);color:#1a0006}.menu-button{font-family:var(--font-pixel)}.menu-credit{margin-top:10px;font-size:.6em;letter-spacing:.22em;text-transform:uppercase;color:var(--c-dim);opacity:.6;text-align:center}.menu-footer{margin-top:22px;font-size:.7em;letter-spacing:.2em;color:var(--c-dim);text-align:center;opacity:.8}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-width:1150px;width:100%;padding:10px;box-sizing:border-box;max-height:calc(100vh - 220px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-cyan) rgba(0,0,0,.4)}.class-grid::-webkit-scrollbar{width:10px}.class-grid::-webkit-scrollbar-track{background:#0006}.class-grid::-webkit-scrollbar-thumb{background:var(--c-cyan)}.class-card{position:relative;background:var(--c-panel);box-shadow:0 0 0 var(--px) #2f3a63,calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000a6;padding:10px 8px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform 90ms steps(2),background-color 90ms steps(2);animation:card-rise .26s steps(5) both}.class-card:hover{background:var(--c-panel-hi);transform:translate(calc(var(--px) * -1),calc(var(--px) * -1));box-shadow:0 0 0 var(--px) var(--c-cyan),calc(var(--px) * 3) calc(var(--px) * 3) 0 #000000b3,0 0 22px #38f2ff59}@keyframes card-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.class-icon{font-size:2.6em;line-height:1;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.6))}.class-name{font-size:.95em;letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink)}.class-bonus{font-size:.72em;letter-spacing:.04em;color:var(--c-dim)}.dev-mode-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:22px;padding:10px 18px;background:var(--c-panel);box-shadow:0 0 0 var(--px) #2f3a63;cursor:pointer}.dev-mode-container:hover{box-shadow:0 0 0 var(--px) var(--c-cyan)}.dev-mode-checkbox{appearance:none;width:20px;height:20px;box-shadow:0 0 0 var(--px) var(--c-cyan);background:#05040d;cursor:pointer;position:relative;flex-shrink:0;border-radius:0}.dev-mode-checkbox:checked{background:var(--c-cyan)}.dev-mode-checkbox:checked:after{content:"";position:absolute;inset:4px;background:#05040d}.dev-mode-label{color:var(--c-cyan);font-size:.8em;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none}.dev-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;justify-content:center}.dev-tab{font-family:inherit;padding:9px 18px;background:var(--c-panel);border:none;border-radius:0;color:var(--c-cyan);font-size:.8em;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 0 var(--px) #2f3a63}.dev-tab:hover{box-shadow:0 0 0 var(--px) var(--c-cyan)}.dev-tab.active{background:var(--c-cyan);color:#05040d;box-shadow:0 0 0 var(--px) var(--c-cyan)}.dev-upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;max-height:calc(100vh - 220px);max-width:1100px;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--c-cyan) rgba(0,0,0,.4)}.dev-upgrade-grid::-webkit-scrollbar{width:10px}.dev-upgrade-grid::-webkit-scrollbar-track{background:#0006}.dev-upgrade-grid::-webkit-scrollbar-thumb{background:var(--c-cyan)}.hud{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;padding:16px;box-sizing:border-box;display:none}.hud-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px}.bar-container{width:min(300px,40vw);height:18px;background:#12081a;box-shadow:0 0 0 var(--px) #000,0 0 0 calc(var(--px) * 2) #3a3f5c;overflow:hidden;position:relative}.hp-bar-fill{height:100%;width:100%;background:repeating-linear-gradient(90deg,var(--c-red) 0 8px,#c01030 8px 10px);transition:width .12s steps(4)}.shield-bar-fill{position:absolute;top:0;left:0;height:5px;background:repeating-linear-gradient(90deg,var(--c-cyan) 0 6px,#7ad9ff 6px 8px);box-shadow:0 var(--px) 0 0 #061a24;transition:width .12s steps(4)}.xp-bar-container{position:absolute;top:0;left:0;width:100%;height:6px;background:#0a0616}.xp-bar-fill{height:100%;background:repeating-linear-gradient(90deg,var(--c-cyan) 0 10px,#1aa8c8 10px 12px);width:0%;box-shadow:0 0 10px #38f2ff99;transition:width .12s steps(4)}.stats{color:var(--c-ink);font-family:var(--font-pixel);font-size:.9em;letter-spacing:.1em;text-shadow:2px 2px 0 #000}.hud-pause{font-family:var(--font-pixel);font-size:.8em;letter-spacing:.14em;color:var(--c-ink);background:#12081a;border:0;padding:6px 10px;cursor:pointer;box-shadow:0 0 0 var(--px) #000,0 0 0 calc(var(--px) * 2) #3a3f5c;pointer-events:auto}.hud-pause:hover,.hud-pause:focus-visible{color:#fff;box-shadow:0 0 0 var(--px) #000,0 0 0 calc(var(--px) * 2) #66f7ff;outline:none}.pause-screen{background:#05040de6;gap:18px;animation:pause-in .12s steps(3) both}.pause-hint{font-family:var(--font-pixel);font-size:.75em;letter-spacing:.12em;color:#8d93b5;text-shadow:2px 2px 0 #000}.pause-actions{display:flex;flex-direction:column;gap:12px;min-width:min(320px,80vw)}@keyframes pause-in{0%{opacity:0}to{opacity:1}}.level-up-screen{background:#05040dd1}.crash-in{animation:crash-zoom .26s cubic-bezier(.2,1.4,.35,1) both}@keyframes crash-zoom{0%{opacity:0;transform:scale(1.55) rotate(1.4deg);filter:brightness(2.4)}45%{opacity:1;transform:scale(.97) rotate(-.6deg);filter:brightness(1.5)}70%{transform:scale(1.02) rotate(.3deg)}to{opacity:1;transform:scale(1) rotate(0);filter:brightness(1)}}.crack-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible;transform-origin:center;animation:crack-burst .24s cubic-bezier(.1,1.5,.4,1) both,crack-fade 1.5s ease-out .35s forwards}.crack-line{fill:none;stroke:#bef8ffe6;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(56,242,255,.9))}.crack-ring{fill:none;stroke:#ffffff73;stroke-width:1.5;vector-effect:non-scaling-stroke}@keyframes crack-burst{0%{transform:scale(.55);opacity:0}40%{opacity:1}to{transform:scale(1);opacity:1}}@keyframes crack-fade{to{opacity:0}}.upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;max-width:760px;position:relative;z-index:2}.upgrade-grid-6{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;max-width:900px;position:relative;z-index:2}.upgrade-card{background:var(--c-panel);box-shadow:0 0 0 var(--px) #3a3f5c,calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000b3;padding:16px 12px;cursor:pointer;text-align:center;transition:transform 90ms steps(2),background-color 90ms steps(2);animation:card-slam .32s cubic-bezier(.15,1.5,.4,1) both}@keyframes card-slam{0%{opacity:0;transform:translateY(-90px) scale(1.8) rotate(-6deg);filter:brightness(3)}55%{opacity:1;transform:translateY(6px) scale(.95) rotate(1.5deg);filter:brightness(1.4)}to{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:brightness(1)}}.upgrade-card h3{margin:8px 0 4px;font-size:.95em;letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink)}.upgrade-card p{margin:6px 0 0;font-size:.72em;font-weight:400;line-height:1.45;color:var(--c-dim)}.upgrade-card:hover{background:var(--c-panel-hi)}.upgrade-card.evolution-ready{background:#1b0a2e;box-shadow:0 0 0 var(--px) var(--c-magenta),calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000b3,0 0 26px #ff3fa480;animation:card-slam .32s cubic-bezier(.15,1.5,.4,1) both,evo-pulse 1.2s steps(3) infinite alternate .4s}@keyframes evo-pulse{0%{box-shadow:0 0 0 var(--px) var(--c-magenta),calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000b3,0 0 18px #ff3fa466}to{box-shadow:0 0 0 var(--px) var(--c-violet),calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000b3,0 0 40px #a06bffbf}}.upgrade-card.evolution-ready:hover{transform:translate(calc(var(--px) * -1),calc(var(--px) * -1)) scale(1.04)}.level-indicator{font-size:.72em;color:var(--c-cyan);letter-spacing:.08em;margin:4px 0}.evolution-ready .level-indicator{color:var(--c-magenta);font-size:.85em;text-shadow:0 0 10px rgba(255,63,164,.9)}.level-up-queue{position:relative;z-index:2;margin:-4px 0 10px;font-size:.72em;letter-spacing:.12em;color:var(--c-yellow);text-shadow:0 0 10px rgba(255,210,63,.6);animation:queue-blink .9s steps(2,end) infinite}@keyframes queue-blink{0%,60%{opacity:1}61%,to{opacity:.45}}.result-screen{gap:6px;animation:crash-zoom .3s cubic-bezier(.2,1.3,.35,1) both;justify-content:safe center;overflow-y:auto;padding-block:3vh}.result-screen--defeat{background:#1e020ae6}.result-screen--defeat h1{color:var(--c-red);text-shadow:var(--px) var(--px) 0 #200,0 0 22px rgba(255,59,82,.6)}.result-screen--victory{background:#08061ae6}.result-screen--victory h1{color:var(--c-yellow);text-shadow:var(--px) var(--px) 0 #201400,0 0 26px rgba(255,210,63,.7)}.result-subtitle{margin:0 0 22px;font-size:.85em;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--c-dim)}.result-score{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:18px;padding:16px 32px;background:var(--c-panel);box-shadow:0 0 0 var(--px) var(--c-yellow, #ffd23f)}.result-score span{font-size:.7em;letter-spacing:.18em;color:var(--c-dim)}.result-score strong{font-size:2.4em;color:var(--c-yellow, #ffd23f);text-shadow:3px 3px 0 #000;letter-spacing:.04em}.result-rank{font-size:.68em;font-style:normal;letter-spacing:.14em;color:var(--c-cyan);animation:rank-blink .9s steps(2,jump-none) infinite}@keyframes rank-blink{0%,to{opacity:1}50%{opacity:.35}}.result-stats,.result-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;width:min(560px,92vw);margin-left:auto;margin-right:auto}.result-stats{margin-bottom:12px}.result-stat{padding:12px 16px;background:var(--c-panel);box-shadow:0 0 0 var(--px) #2f3a63;display:flex;flex-direction:column;gap:6px;align-items:center}.result-stat span{font-size:.65em;letter-spacing:.14em;color:var(--c-dim)}.result-stat strong{font-size:1.5em;color:var(--c-ink);text-shadow:2px 2px 0 #000}.class-card--portrait{padding-top:18px}.class-portrait{display:block;width:72px;height:96px;margin:0 auto 10px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(3px 3px 0 rgba(0,0,0,.6))}.class-card--portrait:hover .class-portrait{animation:portrait-bob .42s steps(2) infinite alternate}@keyframes portrait-bob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.class-perk{color:var(--c-yellow, #ffd23f)}.result-highlights{margin-bottom:18px}.highlight{padding:9px 14px;background:#0d0a1cb3;box-shadow:0 0 0 2px #2f3a63;display:flex;flex-direction:column;gap:3px;align-items:center}.highlight span{font-size:.58em;letter-spacing:.14em;color:var(--c-dim)}.highlight strong{font-size:1.15em;color:var(--c-cyan);text-shadow:2px 2px 0 #000}.highlight em{font-style:normal;font-size:.58em;letter-spacing:.06em;color:var(--c-dim)}.result-build{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:22px}.result-build-label{font-size:.6em;letter-spacing:.18em;color:var(--c-dim)}.result-build{--build-slot: clamp(40px, 4.6vmin, 66px)}.result-build-row{display:flex;flex-wrap:wrap;gap:calc(var(--build-slot) * .18);row-gap:calc(var(--build-slot) * .26);justify-content:center;max-width:min(560px,88vw)}.result-copy{font-size:.62em;padding:.5em 1.2em;opacity:.75}.result-copy:hover{opacity:1}:root{--build-slot: clamp(34px, 3.6vmin, 58px)}.build-panel{--build-slot: clamp(34px, 3.6vmin, 58px);position:absolute;left:10px;bottom:calc(34px + var(--build-slot) * .35);display:flex;flex-direction:column;gap:calc(var(--build-slot) * .16);pointer-events:none;z-index:20}.build-row{display:flex;flex-wrap:wrap;gap:calc(var(--build-slot) * .13);max-width:min(55vw,calc(var(--build-slot) * 10.5))}.build-slot{position:relative;width:var(--build-slot);height:var(--build-slot);display:flex;align-items:center;justify-content:center;background:#0a0818c7;box-shadow:0 0 0 2px #2f3a63}.build-row--powerups .build-slot{width:calc(var(--build-slot) * .84);height:calc(var(--build-slot) * .84)}.build-slot--evolved{box-shadow:0 0 0 2px var(--c-yellow, #ffd23f)}.build-slot--ready{box-shadow:0 0 0 2px var(--c-cyan, #38f2ff);animation:build-ready .9s steps(2) infinite alternate}@keyframes build-ready{0%{filter:brightness(1)}to{filter:brightness(1.6)}}.build-icon{font-size:calc(var(--build-slot) * .54);line-height:1}.build-row--powerups .build-icon{font-size:calc(var(--build-slot) * .45)}.build-badge{position:absolute;right:calc(var(--build-slot) * -.08);top:calc(var(--build-slot) * -.1);min-width:calc(var(--build-slot) * .38);padding:0 calc(var(--build-slot) * .05);font-family:var(--font-pixel);font-size:calc(var(--build-slot) * .26);line-height:calc(var(--build-slot) * .38);text-align:center;color:#05040d;background:var(--c-cyan, #38f2ff)}.build-slot--evolved .build-badge{background:var(--c-yellow, #ffd23f)}@media(max-width:560px){.build-panel{--build-slot: clamp(22px, 6.5vmin, 32px);bottom:calc(28px + var(--build-slot) * .35)}}.reroll-btn{margin-top:22px;width:62px;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border:none;border-radius:0;cursor:pointer;pointer-events:auto;font-family:var(--font-pixel);color:var(--c-cyan);background:var(--c-panel);box-shadow:0 0 0 var(--px) var(--c-cyan),calc(var(--px) * 2) calc(var(--px) * 2) 0 #000000b3;transition:transform 90ms steps(2),background-color 90ms steps(2),color 90ms steps(2)}.reroll-btn:hover:not(:disabled),.reroll-btn:focus-visible:not(:disabled){outline:none;background:var(--c-cyan);color:#05040d;transform:translate(calc(var(--px) * -1),calc(var(--px) * -1))}.reroll-btn:disabled{cursor:default;color:#4a5170;box-shadow:0 0 0 var(--px) #2f3a63}.reroll-icon{font-size:26px;line-height:1}.reroll-btn:hover:not(:disabled) .reroll-icon{animation:reroll-spin .4s steps(4) infinite}@keyframes reroll-spin{to{transform:rotate(360deg)}}.reroll-count{font-size:11px;letter-spacing:.1em}.upgrade-card--focused{outline:var(--px) solid var(--c-cyan);outline-offset:4px}.upgrade-card--picked{animation:card-pick .16s steps(2) both}@keyframes card-pick{0%{filter:brightness(2.6);transform:scale(1.06)}to{filter:brightness(1);transform:scale(.96)}}.stat-preview{margin-top:6px;font-family:var(--font-pixel);font-size:.72em;letter-spacing:.08em;color:var(--c-yellow, #ffd23f)}.toast-host{position:absolute;right:12px;bottom:44px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;z-index:22}.toast{display:flex;align-items:center;gap:10px;padding:9px 14px;max-width:min(300px,62vw);background:#0d0a1cf0;box-shadow:0 0 0 2px var(--c-yellow, #ffd23f),4px 4px #000000b3;animation:toast-in .26s steps(4) both}.toast--leaving{animation:toast-out .24s steps(4) both}@keyframes toast-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(24px)}}.toast-icon{font-size:22px;line-height:1}.toast-text{display:flex;flex-direction:column;gap:2px;text-align:left}.toast-text strong{font-size:.72em;letter-spacing:.1em;color:var(--c-yellow, #ffd23f)}.toast-text em{font-style:normal;font-size:.6em;letter-spacing:.05em;color:var(--c-dim)}.achievement-list{--achv-tile: clamp(116px, 12.5vmin, 176px);display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--achv-tile),1fr));gap:calc(var(--achv-tile) * .06);width:min(860px,94vw);max-height:calc(100vh - 300px);overflow-y:auto;padding:4px;margin-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--c-cyan) rgba(0,0,0,.4)}.achievement{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:calc(var(--achv-tile) * .05);aspect-ratio:1;padding:calc(var(--achv-tile) * .09);overflow:hidden;background:var(--c-panel);box-shadow:0 0 0 2px #2f3a63;text-align:center;animation:card-rise .2s steps(4) both;opacity:.5}.achievement--done{opacity:1;box-shadow:0 0 0 2px var(--c-yellow, #ffd23f)}.achievement-icon{font-size:calc(var(--achv-tile) * .3);line-height:1.1}.achievement-text{display:flex;flex-direction:column;gap:calc(var(--achv-tile) * .03);min-width:0}.achievement-text strong{font-size:calc(var(--achv-tile) * .085);letter-spacing:.06em;line-height:1.25;color:var(--c-ink)}.achievement--done .achievement-text strong{color:var(--c-yellow, #ffd23f)}.achievement-text em{font-style:normal;font-size:calc(var(--achv-tile) * .072);letter-spacing:.02em;line-height:1.3;color:var(--c-dim)}#ui-layer:has(.result-screen) .build-panel{display:none}.records-table{display:flex;flex-direction:column;gap:6px;width:min(620px,92vw);margin:8px 0 24px}.records-row{display:grid;grid-template-columns:34px minmax(96px,auto) 1fr auto auto;align-items:center;gap:12px;padding:10px 14px;background:var(--c-panel);box-shadow:0 0 0 var(--px) #2f3a63;font-size:.72em;text-align:left;animation:card-rise .22s steps(4) both}.records-row--victory{box-shadow:0 0 0 var(--px) var(--c-yellow, #ffd23f)}.records-rank{color:var(--c-dim);font-size:1.1em}.records-score{color:var(--c-yellow, #ffd23f);font-size:1.25em;text-shadow:2px 2px 0 #000}.records-meta{color:var(--c-ink);letter-spacing:.06em}.records-detail{color:var(--c-dim);letter-spacing:.06em;white-space:nowrap}.records-badge{color:var(--c-yellow, #ffd23f);letter-spacing:.18em;font-size:.9em}.records-empty{margin:30px 0;color:var(--c-dim);letter-spacing:.1em;text-transform:uppercase;font-size:.8em}.hud-score{color:var(--c-yellow, #ffd23f)}@media(max-width:560px){.records-row{grid-template-columns:28px 1fr}.records-detail,.records-meta{grid-column:2}}.settings-panel{display:flex;flex-direction:column;gap:20px;margin:30px 0;min-width:min(320px,80vw)}.settings-panel[hidden]{display:none}.settings-panel--compact{gap:12px;margin:4px 0 6px;padding:12px;background:#0a0816d9;box-shadow:0 0 0 var(--px) #3a3f5c}.settings-panel--compact .option-row{font-size:.7em;gap:10px}.option-row{display:flex;align-items:center;gap:14px;color:var(--c-cyan);font-size:.85em;letter-spacing:.08em;text-transform:uppercase}.option-label{min-width:110px;text-align:left}.settings-panel--compact .option-label{min-width:82px}.option-value{min-width:45px;text-align:right}.option-choices{display:flex;flex:1;gap:8px}.option-choices .pixel-btn{flex:1;padding:8px 4px;font-size:.85em}.option-row input[type=range]{flex:1;appearance:none;height:14px;background:#12081a;box-shadow:0 0 0 var(--px) #3a3f5c;cursor:pointer}.option-row input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:22px;background:var(--c-cyan);box-shadow:0 0 0 2px #05040d;cursor:pointer}.option-row input[type=range]::-moz-range-thumb{border:none;border-radius:0;width:16px;height:22px;background:var(--c-cyan);cursor:pointer}#joystick-zone{position:absolute;top:0;left:0;width:50%;height:100%;z-index:5}.joystick-base{position:absolute;width:100px;height:100px;background:#38f2ff0f;box-shadow:0 0 0 var(--px) #38f2ff66;display:none;pointer-events:none;transform:translate(-50%,-50%);z-index:6}.joystick-stick{position:absolute;top:50%;left:50%;width:38px;height:38px;background:#38f2ff99;transform:translate(-50%,-50%);box-shadow:0 0 12px #38f2ffb3}*{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){.crash-in,.upgrade-card,.upgrade-card.evolution-ready,.class-card,.result-screen,.pixel-btn--primary,h2.lucky{animation:none!important}.crack-overlay{display:none}}@media screen and (max-height:700px),screen and (max-width:900px){:root{--px: 2px}.class-grid{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px;padding:8px}.class-card{padding:8px 5px;gap:5px}.class-icon{font-size:1.9em}.class-name{font-size:.78em}.class-bonus{font-size:.62em}.dev-mode-container{padding:7px 12px;margin-bottom:12px}.dev-mode-label{font-size:.68em}.upgrade-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-width:100%}.upgrade-grid-6{grid-template-columns:repeat(3,1fr);gap:7px;max-width:100%}.upgrade-card{padding:9px 6px}.upgrade-card h3{font-size:.75em}.upgrade-card p{font-size:.63em}.upgrade-card>div[style*="font-size: 3em"]{font-size:1.8em!important}.level-indicator{font-size:.63em}.hud{padding:10px}.bar-container{height:14px}.stats{font-size:.72em}.result-stat{min-width:90px;padding:9px 12px}.dev-tabs{gap:5px;margin-bottom:10px}.dev-tab{padding:7px 12px;font-size:.7em}.dev-upgrade-grid{gap:8px;max-height:calc(100vh - 170px);padding:4px}}@media screen and (max-height:500px){.screen--menu{padding-bottom:3vh}.menu-buttons{gap:8px}.pixel-btn{padding:9px 18px}.menu-footer{margin-top:12px;font-size:.6em}.class-grid{grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:6px;padding:6px}.class-icon{font-size:1.4em}.class-name{font-size:.7em}.class-bonus{font-size:.58em}.upgrade-card{padding:7px 5px}}
