:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Bangers", "Arial Black", system-ui, sans-serif;font-synthesis:none;--night:#0b0820;--night-2:#161137;--ink:#f8f7ff;--muted:#aaa5c8;--cyan:#61e7ff;--blue:#5d7cff;--violet:#9d65ff;--pink:#ff5fb5;--gold:#ffd65c;--orange:#ff8258;--green:#63f0a5;--danger:#ff536e;--panel:#161137c7;--panel-solid:#171238;--line:#ffffff1f;--boss-color:#4b9bd1;--boss-accent:#f2c75e;font-family:"Baloo 2",Avenir Next,Arial Rounded MT Bold,Inter,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--night);width:100%;min-width:320px;height:100%;overflow:hidden}body{overscroll-behavior:none;touch-action:manipulation;width:100%;min-width:320px;height:100%;color:var(--ink);background:radial-gradient(circle at 9% 8%, color-mix(in srgb, var(--boss-color), transparent 70%), transparent 34rem), radial-gradient(circle at 89% 52%, color-mix(in srgb, var(--boss-accent), transparent 76%), transparent 31rem), linear-gradient(145deg, #080619, #141034 60%, #0a071c);margin:0;transition:background .7s;overflow:hidden}body:before,body:after{z-index:-2;content:"";pointer-events:none;position:fixed;inset:-15%}body:before{opacity:.35;transform-origin:bottom;background:linear-gradient(115deg,#0000 42%,#ffffff0e 42% 43%,#0000 43% 56%,#ffffff09 56% 57%,#0000 57%),repeating-linear-gradient(0deg,#0000 0 39px,#ffffff05 39px 40px);transform:perspective(600px)rotateX(58deg)translateY(28%)}body:after{z-index:-1;border:1px solid color-mix(in srgb, var(--boss-accent), transparent 80%);width:42vw;height:42vw;box-shadow:0 0 120px color-mix(in srgb, var(--boss-color), transparent 80%);border-radius:38% 62% 57% 43%;margin:auto;animation:18s linear infinite depth-orbit}@keyframes depth-orbit{to{transform:rotate(1turn)scale(1.15)}}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.app-shell{width:100%;height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template-rows:54px minmax(0,1fr);gap:8px;margin:0;display:grid;overflow:hidden}.topbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#0c091f94;border-radius:22px;grid-template-columns:1fr auto auto auto;align-items:center;gap:18px;min-height:0;margin:0;padding:5px 9px;display:grid;box-shadow:0 18px 50px #00000038}.brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{color:#17122c;background:linear-gradient(145deg, var(--gold), var(--orange));width:38px;height:38px;box-shadow:0 7px 20px color-mix(in srgb, var(--orange), transparent 62%);border-radius:12px;place-items:center;font-size:1.15rem;font-weight:1000;display:grid;transform:rotate(-4deg)}.brand strong{letter-spacing:-.04em;font-size:clamp(1.05rem,2vw,1.35rem);display:block}.brand small{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;font-weight:850;display:block}.top-stats{gap:8px;display:flex}.top-stats>div{text-align:center;background:#ffffff0f;border-radius:12px;min-width:70px;padding:5px 11px}.top-stats span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.58rem;font-weight:900;display:block}.top-stats strong{font-variant-numeric:tabular-nums;margin-top:1px;font-size:1.05rem;display:block}.icon-button{border:1px solid var(--line);cursor:pointer;background:#ffffff12;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.game-layout{grid-template-columns:minmax(0,1fr) minmax(240px,280px);align-items:stretch;gap:8px;min-height:0;display:grid;position:relative}.arcade-stage,.boss-panel{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;box-shadow:0 30px 80px #00000057,inset 0 1px #ffffff14}.arcade-stage{flex-direction:column;min-width:0;height:100%;min-height:0;padding:10px;display:flex;overflow:hidden}.mission-bar{flex:none;justify-content:space-between;align-items:center;gap:14px;margin-bottom:6px;display:flex}.kicker{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 4px;font-size:.66rem;font-weight:1000}.mission-bar h1{letter-spacing:-.055em;margin:0;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1}.target-equation{border:2px solid color-mix(in srgb, var(--boss-accent), transparent 32%);box-shadow:inset 0 0 24px color-mix(in srgb, var(--boss-color), transparent 82%), 0 0 24px color-mix(in srgb, var(--boss-accent), transparent 84%);background:#00000052;border-radius:17px;align-items:center;gap:12px;padding:8px 15px;display:flex}.target-equation em{color:var(--muted);font-size:1.35rem;font-style:normal;font-weight:900}.target-equation>strong{color:var(--gold);font-size:1.55rem}.mini-fraction{grid-template-rows:1fr 3px 1fr;place-items:center;min-width:34px;font-size:1rem;line-height:1;display:grid}.mini-fraction i{background:currentColor;width:100%;height:2px}.step-track{flex:none;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px;display:grid}.step-dot{color:#827d9e;white-space:nowrap;background:#ffffff09;border-radius:12px;align-items:center;gap:7px;min-width:0;padding:8px 10px;font-size:.66rem;font-weight:850;transition:color .25s,background .25s,transform .25s;display:flex}.step-dot span{background:#ffffff14;border-radius:8px;flex:0 0 22px;place-items:center;height:22px;display:grid}.step-dot.active{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--boss-color), transparent 45%), #ffffff14);transform:translateY(-2px)}.step-dot.active span{color:#17122c;background:var(--gold)}.step-dot.done{color:var(--green)}.step-dot.done span{color:#132719;background:var(--green)}.canvas-shell{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--boss-color), transparent 68%), transparent 38%), linear-gradient(165deg, #18143ab8, #060516f2);isolation:isolate;touch-action:none;cursor:none;border:1px solid #ffffff21;border-radius:24px;flex:auto;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 80px #0000006b,0 16px 32px #00000038}.canvas-shell:before,.canvas-shell:after{z-index:0;content:"";pointer-events:none;position:absolute}.canvas-shell:before{opacity:.32;transform-origin:bottom;background-color:#0000;background-image:linear-gradient(#0000 96%,#ffffff1f 96%),linear-gradient(90deg,#0000 96%,#ffffff14 96%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;inset:0;transform:perspective(600px)rotateX(62deg)scale(1.4)translateY(34%)}.canvas-shell:after{background:color-mix(in srgb, var(--boss-color), transparent 68%);filter:blur(28px);border-radius:50%;width:62%;height:28%;bottom:-14%;left:50%;transform:translate(-50%)}#three-stage{z-index:1;position:absolute;inset:0}#three-stage canvas{width:100%;height:100%;display:block}.knife-layer{z-index:4;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.slice-zone{fill:#0000;stroke:color-mix(in srgb, var(--cyan), transparent 82%);stroke-width:.3px;stroke-dasharray:1.2 1.2;vector-effect:non-scaling-stroke}#slice-outline{fill:#0000;stroke:color-mix(in srgb, var(--cyan), transparent 78%);stroke-width:1px;stroke-dasharray:1.4 1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}#aim-guide{stroke:#dffaff;stroke-width:1.5px;stroke-dasharray:2.2 1.6;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;transition:opacity .12s}#aim-guide-glow{stroke:var(--cyan);stroke-width:6px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;transition:opacity .12s}.indicator-layer{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.indicator-layer>*{position:absolute;translate:-50% -50%}#aim-dot{border:2px solid var(--gold);background:#fffbe6;border-radius:50%;width:13px;height:13px;transition:opacity .12s}#aim-dot-glow{background:radial-gradient(circle, color-mix(in srgb, var(--gold), transparent 30%), transparent 70%);border-radius:50%;width:34px;height:34px;transition:opacity .12s}#hand-cursor{border:2px solid var(--cyan);background:#fffbe6;border-radius:50%;width:15px;height:15px;transition:opacity .15s}#hand-cursor-ring{border:2.5px solid var(--cyan);border-radius:50%;width:46px;height:46px;transition:opacity .15s,width .12s,height .12s}#hand-cursor-ring.pressing{border-color:var(--gold);width:27px;height:27px}#hand-wave-a,#hand-wave-b{border:1.5px dashed var(--cyan);border-radius:50%;transition:opacity .15s}#hand-wave-a.visible,#hand-wave-b.visible{animation:5s linear infinite hand-wave-spin}#hand-wave-b.visible{animation-duration:7s;animation-direction:reverse}@keyframes hand-wave-spin{to{transform:rotate(1turn)}}.indicator-layer .knife-spark{background:#fff7b2;border-radius:50%;animation:.34s ease-out forwards knife-spark}.hand-preview{left:10px;bottom:calc(64px + env(safe-area-inset-bottom));z-index:9;opacity:.78;pointer-events:none;border:2px solid #ffffff2e;border-radius:14px;width:132px;display:none;position:absolute;transform:scaleX(-1);box-shadow:0 10px 30px #0006}.hand-preview.active{display:block}#hand-button.active{border-color:var(--cyan);background:color-mix(in srgb, var(--cyan), transparent 78%);box-shadow:0 0 14px color-mix(in srgb, var(--cyan), transparent 55%)}.announce{z-index:24;opacity:0;text-align:center;pointer-events:none;justify-items:center;gap:4px;width:max-content;max-width:min(92vw,560px);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}.announce-main{font-family:var(--font-display);letter-spacing:.04em;color:var(--gold);-webkit-text-stroke:2px #241539;text-shadow:0 4px 0 #241539, 0 0 34px color-mix(in srgb, var(--gold), transparent 40%), 0 10px 30px #00000080;font-size:clamp(2.6rem,8vw,5rem);transform:rotate(-3deg)}.announce-sub{border:1.5px solid color-mix(in srgb, var(--gold), transparent 50%);color:#fdf9ff;background:#0e0a24e6;border-radius:99px;padding:7px 18px;font-size:clamp(.85rem,2.4vw,1.15rem);font-weight:800;box-shadow:0 10px 28px #0006}.announce-sub:empty{display:none}.announce[data-tone=danger] .announce-sub{border-color:color-mix(in srgb, var(--danger), transparent 40%)}.announce[data-tone=cyan] .announce-sub{border-color:color-mix(in srgb, var(--cyan), transparent 45%)}.announce-icon{filter:drop-shadow(0 12px 30px #0000008c);width:clamp(150px,26vw,250px);height:auto;margin-bottom:6px}.announce-icon[hidden]{display:none}.announce[data-tone=danger] .announce-main{color:var(--danger);text-shadow:0 4px 0 #2c0c18, 0 0 34px color-mix(in srgb, var(--danger), transparent 35%)}.announce[data-tone=cyan] .announce-main{color:var(--cyan);text-shadow:0 4px 0 #0c2033, 0 0 34px color-mix(in srgb, var(--cyan), transparent 35%)}.announce.play{animation:announce-stamp var(--announce-ms,1.4s) cubic-bezier(.2,.9,.25,1.2) forwards}@keyframes announce-stamp{0%{opacity:0;transform:translate(-50%,-50%)scale(2.4)rotate(3deg)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}82%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}to{opacity:0;transform:translate(-50%,-56%)scale(1.1)}}.announce[data-pos=low]{top:auto;bottom:calc(72px + env(safe-area-inset-bottom));transform:translate(-50%)scale(.6)}.announce[data-pos=low] .announce-icon{width:clamp(84px,13vw,130px)}.announce[data-pos=low].play{animation:announce-stamp-urge var(--announce-ms,1.8s) ease-out forwards}@keyframes announce-stamp-urge{0%{opacity:0;transform:translate(-50%)scale(1.9)}10%{opacity:1;transform:translate(-50%)scale(1)}62%{opacity:1}68%{opacity:.25}74%{opacity:1}80%{opacity:.25}86%{opacity:1;transform:translate(-50%)scale(1.02)}to{opacity:0;transform:translate(-50%,-6px)scale(1.05)}}@media (max-height:540px){.announce[data-pos=low] .announce-icon{width:64px}.announce-icon{width:clamp(90px,16vh,150px)}}@media (prefers-reduced-motion:reduce){.announce.play{opacity:1;transform:translate(-50%,-50%)scale(1);animation:none!important}.announce[data-pos=low].play{transform:translate(-50%)scale(1)}}#knife-trail{fill:none;stroke:#fffdf0;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}#knife-trail-glow{fill:none;stroke:var(--orange);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;opacity:.32;vector-effect:non-scaling-stroke}@keyframes knife-spark{to{opacity:0;transform:translate(var(--spark-x), var(--spark-y)) scale(.15)}}.cut-guide{stroke:#ffffffad;stroke-width:.38px;stroke-dasharray:1 1;vector-effect:non-scaling-stroke}.cut-guide-glow{stroke:color-mix(in srgb, var(--cyan), transparent 55%);stroke-width:2.6px;opacity:.3;vector-effect:non-scaling-stroke}.cut-guide.ideal{opacity:.32;stroke:var(--cyan);stroke-dasharray:.5 1.6}.cut-guide.hint{stroke-linecap:round;vector-effect:non-scaling-stroke}.cut-guide.hint-shadow{stroke:#100b22;stroke-width:17px;opacity:.8}.cut-guide.hint-glow{stroke:var(--cyan);stroke-width:12px;opacity:.45;animation:.9s ease-in-out infinite hint-glow-pulse}.cut-guide.hint-core{stroke:#f2feff;stroke-width:6.5px;stroke-dasharray:11 8;animation:.5s linear infinite hint-march,.9s ease-in-out infinite hint-core-pulse}@keyframes hint-glow-pulse{0%,to{opacity:.38;stroke-width:11px}50%{opacity:.8;stroke-width:16px}}@keyframes hint-core-pulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes hint-march{to{stroke-dashoffset:-19px}}.hint-arrow{z-index:7;color:#8ef4ff;-webkit-text-stroke:4px #100b22;paint-order:stroke fill;filter:drop-shadow(0 0 7px #61e7fff2);pointer-events:none;font-size:1.55rem;line-height:1;position:absolute;transform:translate(-50%,-50%)}.hint-arrow-down{animation:.62s ease-in-out infinite alternate hint-bob-y}.hint-arrow-right{animation:.62s ease-in-out infinite alternate hint-bob-x}@keyframes hint-bob-y{0%{transform:translate(-50%,-95%)}to{transform:translate(-50%,-5%)}}@keyframes hint-bob-x{0%{transform:translate(-95%,-50%)}to{transform:translate(-5%,-50%)}}#tips-button.off{opacity:.4;filter:grayscale()}.result-panel{overflow-anchor:none}.forge-tile.gone,.forge-times.gone{visibility:hidden}.forge-tile{position:relative}.forge-tile.wrong:after{content:"✕";color:var(--danger);font-family:var(--font-display);text-shadow:0 2px 0 #2c0c18, 0 0 14px color-mix(in srgb, var(--danger), transparent 40%);pointer-events:none;place-items:center;font-size:1.5em;animation:.5s wrong-pop;display:grid;position:absolute;inset:0}@keyframes wrong-pop{0%{opacity:0;transform:scale(2.2)rotate(8deg)}35%{opacity:1;transform:scale(1)rotate(0)}}*,:before,:after{cursor:none!important}.dom-hand{z-index:9998;opacity:0;pointer-events:none;filter:drop-shadow(0 8px 18px #00000073);will-change:transform;width:60px;height:auto;transition:opacity .12s;position:fixed;top:0;left:0}.dom-hand.visible{opacity:1}.slash-flash{z-index:7;opacity:0;pointer-events:none;background:linear-gradient(100deg, transparent 42%, #ffffffe6 49%, var(--cyan) 50%, transparent 57%);position:absolute;inset:-15%;transform:translate(-70%)}.slash-flash.play{animation:.42s ease-out slash-flash}@keyframes slash-flash{35%{opacity:1}to{opacity:0;transform:translate(70%)}}.stage-prompt{z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#0c0923c7;border:1px solid #ffffff24;border-radius:99px;align-items:center;gap:8px;width:auto;max-width:min(420px,100% - 20px);min-height:40px;margin:0;padding:4px 12px 4px 5px;display:flex;position:absolute;top:10px;left:10px;box-shadow:0 8px 24px #00000047}.stage-prompt[hidden]{display:none}.melt-meter{z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#0a1626cc;border:1px solid #bfeaff59;border-radius:99px;align-items:center;gap:7px;padding:6px 12px 6px 8px;display:flex;position:absolute;top:68px;right:10px;box-shadow:0 8px 24px #00000047}.melt-seconds{color:#cdefff;min-width:30px;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:right;font-size:.92rem}.melt-meter.warning .melt-seconds{color:#ffd0da}.melt-meter[hidden]{display:none}.melt-icon{filter:drop-shadow(0 0 4px var(--melt-b,#bfeaff));font-size:.95rem}.melt-track{background:#ffffff24;border-radius:99px;width:92px;height:8px;overflow:hidden}.melt-track i{border-radius:inherit;background:linear-gradient(90deg, var(--melt-a,#bfeaff), var(--melt-b,#61e7ff));height:100%;box-shadow:0 0 10px var(--melt-b,#61e7ff);transition:width .25s linear,background .4s;display:block}.melt-meter.warning .melt-track i{background:linear-gradient(90deg, #ffb3c6, var(--danger));box-shadow:0 0 12px var(--danger)}.melt-meter.warning{animation:.6s ease-in-out infinite melt-pulse}@keyframes melt-pulse{50%{box-shadow:0 0 0 4px #ff536e33}}.weapon-button{z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a1626cc;border:1px solid #bfeaff59;border-radius:13px;place-items:center;width:40px;height:40px;font-size:1.05rem;transition:transform .15s,background .15s;display:grid;position:absolute;top:114px;right:10px;box-shadow:0 8px 24px #00000047}.weapon-button[hidden]{display:none}.weapon-button:hover{transform:translateY(-1px)}.weapon-button:active{transform:translateY(1px)scale(.95)}.dev-panel{z-index:9999;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-family:var(--font-display,system-ui);background:#0a1626db;border:1px solid #ffd65c73;border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;padding:8px 26px 8px 10px;display:flex;position:fixed;bottom:12px;left:12px;box-shadow:0 10px 30px #0006}.dev-panel[hidden]{display:none}.dev-tag{background:linear-gradient(100deg, var(--gold,#ffd65c), var(--orange,#ff8258));color:#17112e;letter-spacing:.12em;border-radius:6px;padding:2px 6px;font-size:.6rem;font-weight:1000}.dev-levels{gap:4px;display:flex}.dev-levels button{color:#f5f2ff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:8px;min-width:26px;height:26px;padding:0 6px;font-size:.72rem;font-weight:900;transition:transform .1s,background .1s}.dev-levels button:hover{background:#ffffff1f;transform:translateY(-1px)}.dev-levels button.current{border-color:var(--gold,#ffd65c);color:#ffe694;background:#ffd65c38}.dev-panel,.dev-panel *{cursor:default!important}.dev-panel button{cursor:pointer!important}.dev-row{align-items:center;gap:7px;display:flex}.dev-fps{color:#8ef4ff;min-width:120px;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:.74rem}.dev-fps.is-bad{color:#ff8ba1}.dev-row .dev-tag{text-align:center;min-width:40px}.dev-hide{color:#f5f2ff;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:6px;width:18px;height:18px;padding:0;font-size:.9rem;line-height:1;position:absolute;top:6px;right:6px}.dev-hide:hover{background:#ffffff1a}.prompt-icon{color:#19132f;background:linear-gradient(145deg, var(--gold), var(--orange));border-radius:50%;flex:0 0 30px;place-items:center;height:30px;font-size:1rem;font-weight:1000;display:grid}.stage-prompt strong,.stage-prompt small{display:inline-block}.stage-prompt strong{font-family:var(--font-display);letter-spacing:.05em;color:var(--gold);font-size:1.02rem}.stage-prompt small{color:var(--muted);margin-left:7px;font-size:.66rem;font-weight:800}.stage-prompt>div{align-items:baseline;display:flex}.selection-panel,.result-panel{z-index:12;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0c0923e0;border:1px solid #ffffff26;border-radius:20px;width:100%;margin-top:10px;padding:14px;position:relative;box-shadow:0 18px 50px #00000052}.selection-panel[hidden],.result-panel[hidden]{display:none}.selection-panel{display:none!important}.selection-panel p{color:#d8d4ec;text-align:center;margin:0 0 9px;font-size:.76rem}.piece-buttons{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:10px;display:flex}.piece-button{cursor:pointer;background:#ffffff0f;border:2px solid #ffffff29;border-radius:13px;min-width:52px;min-height:45px;font-weight:950;transition:transform .18s,background .18s,border .18s}.piece-button:hover{transform:translateY(-2px)}.piece-button.selected{border-color:var(--gold);color:#161129;background:linear-gradient(145deg, var(--gold), var(--orange));box-shadow:0 0 20px color-mix(in srgb, var(--gold), transparent 58%);transform:translateY(-3px)}.arcade-button{cursor:pointer;letter-spacing:-.02em;border:0;border-radius:14px;min-height:46px;padding:0 18px;font-weight:1000;transition:transform .16s,filter .16s}.arcade-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.arcade-button:active{transform:translateY(2px)}.arcade-button.primary{color:#17112e;background:linear-gradient(100deg, var(--gold), var(--orange));box-shadow:0 6px #a9463b,0 12px 24px #ff634b38}.arcade-button.ghost{box-shadow:none;background:#ffffff12;border:1px solid #ffffff29}.arcade-button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.5);transform:none}.selection-panel .arcade-button{width:min(310px,100%);margin:auto;display:block}.result-panel{z-index:45;text-align:center;touch-action:pan-y;width:min(430px,100% - 24px);max-height:calc(100% - 24px);margin:0;animation:.48s cubic-bezier(.2,.85,.2,1.16) result-in;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}@keyframes result-in{0%{opacity:0;transform:translateY(24px)scale(.94)}}.result-rank{color:var(--gold);font-family:var(--font-display);letter-spacing:.04em;-webkit-text-stroke:1.5px #241539;text-shadow:0 3px 0 #241539, 0 0 26px color-mix(in srgb, var(--gold), transparent 45%);margin:0 0 8px;font-size:clamp(1.9rem,5.5vw,2.9rem);font-weight:400;transform:rotate(-2deg)}.accuracy-ring{--accuracy:94;background:radial-gradient(circle closest-side, #171238 78%, transparent 80% 99%), conic-gradient(var(--green) calc(var(--accuracy) * 1%), #ffffff17 0);width:128px;height:128px;box-shadow:0 0 36px color-mix(in srgb, var(--green), transparent 75%);border-radius:50%;place-content:center;margin:0 auto 9px;display:grid}.accuracy-ring strong{font-size:1.8rem;line-height:1;display:block}.accuracy-ring span{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:850}.result-panel>p:not(.result-rank){color:#d8d4eb;margin:4px 0 11px;font-size:.78rem}.forge{border:1.5px dashed color-mix(in srgb, var(--gold), transparent 45%);background:#ffffff08;border-radius:14px;margin:2px 0 11px;padding:9px 8px 11px;animation:2.4s ease-in-out infinite forge-pulse;position:relative}.forge[hidden]{display:none}@keyframes forge-pulse{50%{border-color:color-mix(in srgb, var(--gold), transparent 12%);box-shadow:0 0 16px color-mix(in srgb, var(--gold), transparent 80%)}}.forge-header{color:var(--gold);font-family:var(--font-display);letter-spacing:.08em;margin:0 0 7px;font-size:.95rem}.forge-rows{justify-items:center;gap:5px;display:grid}.forge-rows[hidden]{display:none}.forge-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:44px;display:flex}.forge-bar{background:var(--ink);border-radius:99px;width:min(150px,60%);height:4px}.forge-tile{border:2px solid var(--gold);min-width:44px;min-height:44px;color:var(--gold);font-family:var(--font-display);background:#ffffff0d;border-radius:12px;font-size:1.3rem;transition:transform .16s,background .16s,color .16s}.forge-tile.selected{color:#161129;background:linear-gradient(145deg, var(--gold), var(--orange));box-shadow:0 0 18px color-mix(in srgb, var(--gold), transparent 55%);transform:translateY(-3px)scale(1.08)}.forge-tile.zap{animation:.3s forwards forge-zap}@keyframes forge-zap{40%{filter:brightness(2.2);transform:scale(1.3)}to{opacity:0;transform:scale(.1)}}.forge-tile.shake{animation:.32s forge-shake}@keyframes forge-shake{25%{transform:translate(-4px)}55%{transform:translate(4px)}80%{transform:translate(-2px)}}.forge-times{color:var(--muted);font-size:.9rem;font-weight:900}.forge-chip{color:var(--green);font-family:var(--font-display);text-shadow:0 2px #132719;pointer-events:none;font-size:1.3rem;animation:.9s ease-out forwards forge-chip;position:absolute;top:4px;left:50%;transform:translate(-50%)}@keyframes forge-chip{to{opacity:0;translate:0 -34px}}.forge-done{justify-items:center;gap:3px;padding:4px 0 2px;animation:.5s cubic-bezier(.2,.9,.2,1.3) forge-done-bounce;display:grid}.forge-done[hidden]{display:none}.forge-done .mini-fraction{min-width:46px;color:var(--green);font-size:1.5rem}.forge-done small{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:850}@keyframes forge-done-bounce{0%{opacity:0;transform:scale(.5)}}.score-tally{text-align:left;background:#ffffff0b;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:3px;margin-bottom:11px;padding:10px 11px;display:flex}.tally-row{opacity:0;animation:.34s cubic-bezier(.16,.9,.24,1.3) forwards tally-slam;animation-delay:calc(var(--i) * .11s);align-items:center;gap:8px;padding:3px 0;display:flex}.tally-icon{text-align:center;flex:0 0 18px;width:18px;font-size:.9rem;line-height:1}.tally-label{color:#cfc8e6;font-family:var(--font-display);letter-spacing:.07em;white-space:nowrap;font-size:.78rem}.tally-dots{background-image:radial-gradient(circle,#ffffff57 1px,#0000 1px);background-repeat:repeat-x;background-size:5px 2px;flex:auto;min-width:10px;height:1px;margin-top:6px}.tally-meta{color:var(--muted);letter-spacing:.04em;white-space:nowrap;font-size:.58rem;font-weight:800}.tally-value{color:#fff8e2;min-width:62px;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.03em;text-align:right;font-size:1rem}.tally-row.is-bonus .tally-value{color:#8ef4ff;text-shadow:0 0 10px #61e7ff8c}.tally-row.is-penalty .tally-value{color:#ff8ba1;text-shadow:0 0 10px #ff536e80}.tally-row.is-perfect .tally-label{color:var(--gold)}.tally-row.is-total{border-top:2px solid #ffffff2e;margin-top:4px;padding-top:7px}.tally-row.is-total .tally-label{color:var(--gold);font-size:.92rem}.tally-row.is-total .tally-value{color:var(--gold);-webkit-text-stroke:1.2px #241539;paint-order:stroke fill;text-shadow:0 2px 0 #241539, 0 0 20px color-mix(in srgb, var(--gold), transparent 50%);font-size:1.5rem}@keyframes tally-slam{0%{opacity:0;transform:translate(-16px)scale(1.14)}60%{opacity:1}to{opacity:1;transform:translate(0)scale(1)}}.grade-stamp{z-index:3;opacity:0;width:62px;height:62px;animation:.42s cubic-bezier(.2,1.5,.4,1) forwards grade-stamp-in;animation-delay:var(--stamp-delay,.8s);border:3px solid;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:10px}.grade-stamp span{font-family:var(--font-display);letter-spacing:0;-webkit-text-stroke:2px #140c28b3;paint-order:stroke fill;font-size:2.15rem;line-height:1}.grade-s{color:#ffd65c;box-shadow:0 0 22px #ffd65c8c,inset 0 0 14px #ffd65c33}.grade-a{color:#8ef4ff;box-shadow:0 0 18px #61e7ff73}.grade-b{color:#a7f2b0}.grade-c{color:#d8d4eb}.grade-d{color:#ff8ba1}@keyframes grade-stamp-in{0%{opacity:0;transform:rotate(-32deg)scale(2.6)}70%{opacity:1}to{opacity:1;transform:rotate(-11deg)scale(1)}}.result-actions{grid-template-columns:1.3fr .7fr;gap:9px;display:grid}.cut-readout{z-index:10;min-height:52px;padding:8px 12px max(8px, env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#0000,#070516c7 28%,#070516f5);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid;position:absolute;bottom:0;left:0;right:0}.cut-readout .text-button{pointer-events:auto}.cut-readout>div{flex-direction:column;display:flex}.cut-readout span{color:var(--muted);text-transform:uppercase;font-size:.58rem;font-weight:900}.cut-readout strong{color:var(--cyan);font-size:1.05rem}.cut-readout p{color:#c4c0d7;text-align:center;margin:0;font-size:.74rem}.text-button{min-width:44px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.7rem;font-weight:850;text-decoration:none}.boss-panel{--boss-color:#4b9bd1;--boss-accent:#f2c75e;flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.boss-panel:before{z-index:0;opacity:.35;background:radial-gradient(circle at 50% 26%, color-mix(in srgb, var(--boss-color), transparent 34%), transparent 36%), repeating-linear-gradient(0deg, transparent 0 7px, #ffffff06 7px 8px);content:"";position:absolute;inset:0}.boss-scene{z-index:1;background:radial-gradient(circle at 50% 72%, color-mix(in srgb, var(--boss-accent), transparent 62%), transparent 38%);min-height:315px;position:relative;overflow:hidden}.boss-scene:after{content:"";filter:blur(12px);background:#0006;border-radius:50%;height:15%;position:absolute;bottom:2%;left:12%;right:12%}.boss-chip{z-index:4;color:#251900;background:linear-gradient(90deg, var(--gold), var(--orange));letter-spacing:.1em;border-radius:99px;padding:6px 9px;font-size:.57rem;font-weight:1000;position:absolute;top:15px;left:15px}.boss-scene img{z-index:2;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 15px #0000007a);transform-origin:52% 77%;width:116%;height:108%;animation:2.2s ease-in-out infinite alternate boss-idle;position:absolute;bottom:-5%;right:-8%}@keyframes boss-idle{to{transform:translateY(-8px)rotate(1deg)scale(1.012)}}.boss-panel.hit .boss-scene img{animation:.58s boss-hit}@keyframes boss-hit{22%{filter:brightness(2.2)drop-shadow(0 22px 15px #0000007a);transform:translate(22px)rotate(5deg)}55%{transform:translate(-12px)rotate(-3deg)}}.boss-panel.defeated .boss-scene img{animation:1s forwards boss-fall}@keyframes boss-fall{to{opacity:.35;filter:grayscale(.65);transform:translateY(42px)rotate(-8deg)scale(.82)}}.boss-impact{z-index:5;opacity:0;color:#fff;font-family:var(--font-display);letter-spacing:.03em;text-shadow:0 5px 0 var(--danger), 0 0 24px var(--danger);pointer-events:none;font-size:2.8rem;position:absolute;top:25%;left:48%}.boss-impact.play{animation:.8s ease-out impact-pop}@keyframes impact-pop{20%{opacity:1;transform:scale(1.35)rotate(-8deg)}to{opacity:0;transform:translateY(-70px)scale(.9)rotate(5deg)}}.boss-copy{z-index:2;text-align:center;padding:0 20px 16px;position:relative}.boss-copy>p{color:var(--boss-accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:950}.boss-copy h2{letter-spacing:-.055em;margin:3px 0 0;font-size:2rem;line-height:.95}.boss-copy h3{color:#beb8d7;margin:6px 0 12px;font-size:.8rem}.boss-copy blockquote{color:#ddd9ed;min-height:34px;margin:0 0 13px;font-size:.72rem;font-style:italic}.health-label{color:#d8d4e8;text-transform:uppercase;justify-content:space-between;margin-bottom:5px;font-size:.61rem;font-weight:900;display:flex}.health-track{background:#0000006b;border-radius:99px;height:14px;padding:2px;overflow:hidden;box-shadow:inset 0 2px 4px #0006}.health-track i{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--gold), var(--orange));width:100%;height:100%;box-shadow:0 0 13px var(--orange);transition:width .7s cubic-bezier(.2,.85,.2,1);display:block}.level-map{z-index:2;background:#0003;border-radius:15px;justify-content:center;gap:7px;margin:auto 16px 13px;padding:11px;display:flex;position:relative}.level-node{color:#716c8d;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;place-items:center;width:34px;height:34px;font-size:.7rem;font-weight:950;display:grid}.level-node.current{border-color:var(--boss-accent);color:#18122c;background:var(--boss-accent);box-shadow:0 0 18px color-mix(in srgb, var(--boss-accent), transparent 60%)}.level-node.done{color:#15301f;background:var(--green)}.badges-row{z-index:2;justify-content:center;gap:9px;padding:0 18px 18px;display:flex;position:relative}.badges-row span{filter:grayscale();opacity:.28;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;place-items:center;width:38px;height:38px;transition:all .3s;display:grid}.badges-row span.unlocked{border-color:var(--gold);filter:none;opacity:1;background:#ffd55c1f;animation:.6s cubic-bezier(.2,.9,.2,1.2) badge-pop}@keyframes badge-pop{50%{transform:scale(1.45)rotate(9deg)}}footer{display:none}footer p{margin:0}.start-overlay,.level-overlay{z-index:50;background:radial-gradient(circle at center, color-mix(in srgb, var(--boss-color), transparent 45%), transparent 35rem), #060413eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);place-items:center;padding:20px;display:none;position:fixed;inset:0;overflow:auto}.start-overlay.visible,.level-overlay.visible{display:grid}.start-card,.level-card{border:2px solid color-mix(in srgb, var(--boss-accent), white 28%);text-align:center;background:linear-gradient(145deg,#1c1644fa,#0d0a24fc);border-radius:30px;width:min(680px,100%);padding:42px 34px 32px;animation:.55s cubic-bezier(.2,.8,.2,1.14) modal-in;position:relative;overflow:hidden;box-shadow:0 0 0 8px #ffffff0a,0 40px 120px #000000b3}@keyframes modal-in{0%{opacity:0;transform:translateY(35px)scale(.82)}}.start-card:before{opacity:.25;content:"";pointer-events:none;background:repeating-linear-gradient(115deg,#0000 0 30px,#ffffff0d 30px 31px);position:absolute;inset:0}.start-burst{z-index:1;color:#1c142c;background:linear-gradient(90deg, var(--gold), var(--orange));letter-spacing:.2em;width:max-content;margin:0 auto 15px;padding:7px 13px;font-size:.75rem;font-style:italic;font-weight:1000;position:relative;transform:rotate(-3deg)}.start-card h2,.level-card h2{letter-spacing:-.075em;margin:5px 0 12px;font-size:clamp(2.2rem,8vw,4.4rem);line-height:.92;position:relative}.start-card>p:not(.kicker){color:#c7c2dc;width:min(500px,100%);margin:15px auto 21px;font-size:.82rem;position:relative}.tutorial-strip{grid-template-columns:repeat(3,1fr);gap:8px;display:grid;position:relative}.tutorial-strip div{background:#ffffff0f;border-radius:16px;padding:14px 8px}.tutorial-strip span{color:var(--gold);margin-bottom:5px;font-size:1.7rem;display:block}.tutorial-strip strong,.tutorial-strip small{display:block}.tutorial-strip strong{font-size:.75rem}.tutorial-strip small{color:var(--muted);margin-top:3px;font-size:.62rem}.start-button{width:min(360px,100%);min-height:54px;position:relative}.level-card{width:min(500px,100%)}.level-card .clear-medal{font-size:4.5rem;animation:1.2s ease-in-out infinite alternate medal-float;display:block}@keyframes medal-float{to{transform:translateY(-8px)rotate(4deg)}}.level-card p:not(.kicker){color:var(--muted);margin:0 0 20px}.toast{z-index:80;left:50%;bottom:calc(64px + env(safe-area-inset-bottom));opacity:0;pointer-events:none;background:#0f0b26f0;border:1px solid #ffffff29;border-radius:13px;max-width:min(440px,100% - 30px);padding:10px 15px;font-size:.75rem;transition:all .25s;position:fixed;transform:translate(-50%,20px);box-shadow:0 18px 50px #0006}.toast.visible{opacity:1;transform:translate(-50%)}.screen-shake{animation:.45s screen-shake}@keyframes screen-shake{20%{transform:translate(-5px)}40%{transform:translate(5px,-2px)}60%{transform:translate(-3px,2px)}}html,body,button,.canvas-shell{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}html,body,.canvas-shell,.knife-layer{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media (max-width:1180px){.step-dot{background:#ffffff06;border-radius:99px;justify-content:center;padding:2px;font-size:0}.step-dot span{border-radius:50%;flex-basis:30px;width:30px;height:30px;font-size:.7rem}.step-dot.active{background:#ffffff0a;transform:none}.stage-prompt{min-height:44px;padding:6px 9px}.prompt-icon{flex-basis:32px;height:32px;font-size:1rem}.stage-prompt strong{font-size:.78rem}.stage-prompt small{font-size:.62rem}.cut-readout{min-height:56px;padding:7px 10px max(7px, env(safe-area-inset-bottom))}.cut-readout span{font-size:.5rem}.cut-readout strong{font-size:1rem}.cut-readout p{font-size:.68rem;line-height:1.25}.boss-scene:after{bottom:0}.boss-impact{font-size:1.45rem;top:25%;left:26%}.start-overlay,.level-overlay{padding:0}.start-card,.level-card{width:100%;min-height:100dvh;padding:max(30px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:safe center;display:flex}}@media (max-width:680px){.stage-prompt{border-radius:12px;gap:7px;min-height:39px;padding:4px 7px}.prompt-icon{border-radius:10px;flex-basis:30px;height:30px}.stage-prompt strong{font-size:.72rem}.stage-prompt small{display:none}.cut-readout{min-height:55px;padding:6px 6px max(6px, env(safe-area-inset-bottom));grid-template-columns:52px minmax(0,1fr) 44px;gap:6px}.cut-readout>div{text-align:center;display:block}.cut-readout span{display:none}.cut-readout strong{font-size:.92rem}.cut-readout p{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.62rem;line-height:1.2;display:-webkit-box;overflow:hidden}.text-button{width:44px;min-width:44px;padding:0;font-size:0}.text-button:before{content:"↻";font-size:1.35rem}.result-panel{border-radius:18px;width:min(360px,100% - 16px);max-height:calc(100% - 16px);padding:12px}.result-rank{font-size:1.35rem}.accuracy-ring{width:96px;height:96px}.accuracy-ring strong{font-size:1.45rem}.result-metrics{margin-bottom:8px}.result-actions{gap:7px}.result-actions .arcade-button{min-height:48px;padding:0 10px}.start-card,.level-card{padding:max(26px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom))}.start-card h2,.level-card h2{font-size:clamp(2.7rem,14vw,4.2rem)}.start-card>p:not(.kicker){display:none}.tutorial-strip{grid-template-columns:repeat(3,1fr);gap:5px}.tutorial-strip div{text-align:center;padding:10px 4px;display:block}.tutorial-strip span{margin-bottom:4px;font-size:1.4rem}.tutorial-strip strong{font-size:.61rem}.tutorial-strip small{display:none}.start-button{min-height:58px;margin:22px auto 0}}@media (max-width:1180px) and (max-height:650px){.stage-prompt{min-height:34px}.prompt-icon{flex-basis:27px;height:27px}.stage-prompt small{display:none}}.app-shell{width:100%;height:100dvh;padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));display:block}.game-layout{width:100%;height:100%;min-height:0}.arcade-stage{width:100%;height:100%;min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0;position:relative}.canvas-shell{border-radius:20px;width:100%;height:100%;min-height:0}.brand{display:none}.topbar{z-index:40;pointer-events:none;margin:0;position:absolute}.topbar .icon-button{pointer-events:auto}.app-shell{position:relative}@media (min-width:1181px){.game-layout{grid-template-columns:minmax(0,1fr) 286px;gap:7px}.topbar{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));width:404px;height:44px;box-shadow:none;background:#070517b8;border:0;border-radius:13px;grid-template-columns:minmax(0,1fr) 40px 40px 40px 40px;gap:5px;padding:3px 5px}.top-stats{grid-template-columns:repeat(3,1fr);gap:3px;min-width:0;display:grid}.top-stats>div{background:#ffffff0b;min-width:0;padding:2px 4px}.top-stats span{font-size:.44rem}.top-stats strong{margin:0;font-size:.78rem}.icon-button{border:0;width:38px;height:38px}.boss-panel{border-radius:20px;height:100%;padding-top:47px}.boss-panel .mission-bar{text-align:center;flex:none;min-height:0;margin:0;padding:8px 9px 5px;display:block}.boss-panel .mission-bar>div:first-child{position:static}.boss-panel .mission-bar h1{display:none}.boss-panel .kicker{margin-bottom:4px;font-size:.52rem}.boss-panel .target-equation{border-radius:17px;justify-content:center;gap:10px;min-height:62px;margin:0;padding:6px 10px}.boss-panel .target-equation em{font-size:1.35rem}.boss-panel .target-equation>strong{font-size:1.65rem}.boss-panel .mini-fraction{min-width:38px;font-size:1.15rem}.boss-panel .step-track{flex:0 0 34px;gap:4px;width:calc(100% - 18px);height:34px;margin:0 9px 5px}.boss-panel .step-dot{justify-content:center;padding:2px;font-size:0}.boss-panel .step-dot span{border-radius:50%;flex-basis:27px;width:27px;height:27px;font-size:.62rem}.boss-scene{flex:auto;min-height:105px}.boss-copy{flex:none;padding:4px 12px 8px}.boss-copy h2{margin-top:1px;font-size:1.35rem}.boss-copy h3,.boss-copy blockquote{display:none}.boss-copy>p{font-size:.5rem}.health-label{margin-top:5px}.health-track{height:10px}.level-map,.badges-row{display:none}.stage-prompt{max-width:min(620px,100% - 20px)}}@media (max-width:1180px){.app-shell{padding:max(3px, env(safe-area-inset-top)) max(3px, env(safe-area-inset-right)) max(3px, env(safe-area-inset-bottom)) max(3px, env(safe-area-inset-left))}.game-layout{display:block}.topbar{top:max(3px, env(safe-area-inset-top));right:max(3px, env(safe-area-inset-right));left:max(3px, env(safe-area-inset-left));height:44px;box-shadow:none;background:#0705179e;border:0;border-radius:12px;grid-template-columns:minmax(0,1fr) 44px 44px 44px 44px;gap:4px;padding:2px 4px}.top-stats{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.top-stats>div{background:#ffffff09;min-width:0;padding:2px 3px}.top-stats span{font-size:.43rem}.top-stats strong{margin:0;font-size:.78rem}.icon-button{width:44px;height:44px}.canvas-shell{border:0;border-radius:16px}.boss-panel{z-index:16;width:100%;height:100%;min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;border-radius:0;position:absolute;inset:0;overflow:visible}.boss-panel:before{display:none}.boss-panel .mission-bar{text-align:center;width:min(360px,100% - 12px);min-height:0;margin:0;padding:2px 0;display:block;position:absolute;top:48px;left:50%;transform:translate(-50%)}.boss-panel .mission-bar>div:first-child{position:static}.boss-panel .mission-bar h1{display:none}.boss-panel .kicker{margin:0 0 2px;font-size:.48rem}.boss-panel .target-equation{border-radius:18px;justify-content:center;gap:14px;min-height:60px;margin:0 auto;padding:5px 18px}.boss-panel .target-equation em{font-size:1.45rem}.boss-panel .target-equation>strong{font-size:1.75rem}.boss-panel .mini-fraction{min-width:43px;font-size:1.3rem}.boss-panel .step-track{width:min(300px,100% - 20px);height:32px;margin:0;position:absolute;top:64px;left:50%;transform:translate(-50%)}.boss-panel .step-dot{justify-content:center;padding:1px;font-size:0}.boss-panel .step-dot span{flex-basis:27px;width:27px;height:27px;font-size:.62rem}.boss-scene{right:9px;bottom:calc(62px + env(safe-area-inset-bottom));border:2px solid color-mix(in srgb, var(--boss-accent), white 12%);background:#14102f;border-radius:23px;width:76px;height:76px;min-height:0;position:absolute;overflow:hidden;box-shadow:0 10px 30px #0000007a}.boss-scene img{width:126%;height:118%;bottom:-8%;right:-13%}.boss-chip{padding:2px 4px;font-size:.35rem;top:4px;left:4px}.boss-copy{inset:auto 9px calc(62px + env(safe-area-inset-bottom)) auto;width:76px;height:76px;padding:0;position:absolute}.boss-copy>p,.boss-copy h2,.boss-copy h3,.boss-copy blockquote,.health-label{display:none}.health-track{height:6px;padding:1px;position:absolute;bottom:4px;left:5px;right:5px}.level-map,.badges-row{display:none}.stage-prompt{max-width:min(520px,100% - 16px);top:100px;left:8px}}@media (max-width:680px){.boss-panel .mission-bar{top:46px}.boss-panel .step-track{height:30px;top:60px}.stage-prompt{min-height:37px;top:94px}.boss-scene{right:6px;bottom:calc(58px + env(safe-area-inset-bottom));border-radius:19px;width:62px;height:62px}.boss-copy{right:6px;bottom:calc(58px + env(safe-area-inset-bottom));width:62px;height:62px}.boss-chip{display:none}}@media (max-width:1180px) and (max-height:650px){.boss-panel .mission-bar{top:45px}.boss-panel .step-track{height:27px;top:58px}.stage-prompt{min-height:34px;top:90px}.stage-prompt small{display:none}.boss-scene,.boss-copy{bottom:calc(52px + env(safe-area-inset-bottom));width:56px;height:56px}}@media (pointer:coarse){body:before,body:after{display:none}.topbar,.stage-prompt,.result-panel,.start-overlay,.level-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.boss-scene img{animation:none}}@media (hover:none){.piece-button:hover{transform:none}.arcade-button:hover{filter:none;transform:none}}.target-equation{clip-path:inset(50%);width:1px!important;height:1px!important;min-height:0!important;box-shadow:none!important;border:0!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.round-timer{z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#100b22d1;border:1px solid #ffd65c66;border-radius:99px;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;top:68px;left:10px;box-shadow:0 8px 24px #0000004d}.round-timer[hidden]{display:none}.round-timer-value{min-width:26px;color:var(--gold);font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:right;font-size:1.1rem}.round-timer-track{background:#ffffff21;border-radius:99px;width:86px;height:8px;overflow:hidden}.round-timer-track i{border-radius:inherit;background:linear-gradient(90deg,#ffd65c,#ff8258);height:100%;transition:width .2s linear;display:block;box-shadow:0 0 10px #ff8258}.round-timer.warning .round-timer-track i{background:linear-gradient(90deg, #ffb3c6, var(--danger));box-shadow:0 0 14px var(--danger)}.round-timer.warning .round-timer-value{color:#ff8ba1}.round-timer.warning{animation:.5s ease-in-out infinite melt-pulse}.lives{justify-content:center;gap:3px;font-size:.9rem;line-height:1.1;display:flex}.lives .life.spent{opacity:.3;filter:grayscale()}.gameover-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 50% 35%,#3a1440f0 0,#0a071af7 60%);place-items:center;padding:20px;display:none;position:fixed;inset:0}.gameover-overlay.visible{animation:.5s gameover-in;display:grid}@keyframes gameover-in{0%{opacity:0}to{opacity:1}}.gameover-card{text-align:center;background:#0c0920e6;border:2px solid #ffd65c73;border-radius:22px;width:min(520px,100%);max-height:100%;padding:22px;overflow:auto;box-shadow:0 26px 70px #0009}.gameover-title{color:var(--danger);font-family:var(--font-display);letter-spacing:.06em;-webkit-text-stroke:2px #2a0f1c;paint-order:stroke fill;text-shadow:0 4px #2a0f1c,0 0 32px #ff536e99;margin:0;font-size:clamp(2.4rem,9vw,3.4rem);animation:.5s cubic-bezier(.2,1.6,.4,1) gameover-slam;transform:rotate(-2deg)}@keyframes gameover-slam{0%{opacity:0;transform:rotate(-2deg)scale(2.4)}to{opacity:1;transform:rotate(-2deg)scale(1)}}.gameover-reached{color:#d8d4eb;margin:4px 0 14px;font-size:.82rem}.gameover-score{background:#ffd65c17;border-radius:14px;gap:2px;margin-bottom:16px;padding:12px;display:grid}.gameover-score span{color:var(--muted);letter-spacing:.16em;font-size:.6rem;font-weight:900}.gameover-score strong{color:var(--gold);font-family:var(--font-display);font-variant-numeric:tabular-nums;text-shadow:0 0 22px #ffd65c80;font-size:2.2rem}.gameover-entry{gap:8px;margin-bottom:14px;display:grid}.gameover-entry label{color:var(--muted);letter-spacing:.16em;font-size:.6rem;font-weight:900}.gameover-entry input{color:var(--gold);font-family:var(--font-display);letter-spacing:.18em;text-align:center;text-transform:uppercase;background:#00000059;border:2px solid #ffd65c66;border-radius:12px;padding:12px;font-size:1.5rem}.gameover-entry input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px #ffd65c29}.gameover-entry[hidden]{display:none}.gameover-board{text-align:left;margin-bottom:16px}.gameover-board-title{color:var(--cyan);font-family:var(--font-display);letter-spacing:.18em;text-align:center;text-shadow:0 0 18px #61e7ff8c;margin:0 0 10px;font-size:clamp(1.1rem,4vw,1.5rem)}.gameover-board ol{counter-reset:rank;margin:0;padding:0;list-style:none}.gameover-board li{font-family:var(--font-display);letter-spacing:.04em;border-radius:10px;align-items:baseline;gap:10px;padding:7px 10px;font-size:clamp(1.15rem,4.6vw,1.7rem);display:flex}.gameover-board li:nth-child(odd){background:#ffffff0e}.gameover-board li.is-you{background:#ffd65c29;border:2px solid #ffd65ca6;box-shadow:0 0 22px #ffd65c40}.gameover-board .rank{min-width:2.1em;color:var(--muted);text-align:right;font-size:.78em}.gameover-board .who{color:#f6f2ff;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;-webkit-text-stroke:.6px #140c28cc;paint-order:stroke fill;flex:1;overflow:hidden}.gameover-board .pts{color:var(--gold);font-variant-numeric:tabular-nums;text-shadow:0 0 14px #ffd65c73}.gameover-board li:first-child .who{color:#ffd65c;text-shadow:0 0 20px #ffd65c99}.gameover-board li:first-child .rank{color:#ffd65c}.gameover-board li:nth-child(2) .who,.gameover-board li:nth-child(2) .rank{color:#dfe7f2}.gameover-board li:nth-child(3) .who,.gameover-board li:nth-child(3) .rank{color:#e2a06a}.gameover-title.is-board{color:var(--gold);text-shadow:0 4px #241539,0 0 34px #ffd65c8c}.gameover-score[hidden]{display:none}.gameover-entry input{cursor:text!important}.gameover-board li{opacity:0;animation:.42s cubic-bezier(.18,.9,.24,1.25) forwards score-deal,3.4s ease-in-out infinite alternate score-float;animation-delay:calc(var(--i,0) * 90ms), calc(var(--i,0) * .37s)}@keyframes score-deal{0%{opacity:0;transform:translate(-26px)scale(1.06)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes score-float{to{transform:translateY(-4px)}}.gameover-board li:nth-child(2n){animation-duration:.42s,4.3s}.gameover-board li:nth-child(-n+3) .who{background:linear-gradient(100deg,currentColor 0% 38%,#fffdf4 47%,#fff 50%,#fffdf4 53%,currentColor 62% 100%) 0 0/280% 100%;-webkit-text-fill-color:transparent;animation:3.6s ease-in-out infinite score-shine;animation-delay:calc(var(--i,0) * .7s);-webkit-background-clip:text;background-clip:text}@keyframes score-shine{0%,62%{background-position:190% 0}to{background-position:-90% 0}}.gameover-board li:first-child{animation-duration:.42s,2.9s}.gameover-board li:first-child .pts{animation:1.9s ease-in-out infinite score-pulse}@keyframes score-pulse{0%,to{text-shadow:0 0 14px #ffd65c73}50%{text-shadow:0 0 26px #ffd65cf2,0 0 44px #ff8a3d80}}.gameover-board li.is-you{animation-duration:.42s,2.2s}@media (prefers-reduced-motion:reduce){.gameover-board li,.gameover-board li .who,.gameover-board li .pts{opacity:1;animation:none}.gameover-board li:nth-child(-n+3) .who{-webkit-text-fill-color:currentColor}}.arcade-button.cta{width:100%;min-height:62px;font-family:var(--font-display);letter-spacing:.1em;color:#17112e;background:linear-gradient(100deg, #ffe27a, var(--gold) 45%, var(--orange));font-size:clamp(1.3rem,5.4vw,1.85rem);animation:1.5s ease-in-out infinite cta-breathe;position:relative;overflow:hidden;box-shadow:0 7px #a9463b,0 14px 30px #ff634b59,0 0 40px #ffd65c59}@keyframes cta-breathe{0%,to{transform:scale(1);box-shadow:0 7px #a9463b,0 14px 30px #ff634b59,0 0 34px #ffd65c4d}50%{transform:scale(1.035);box-shadow:0 7px #a9463b,0 16px 38px #ff634b80,0 0 60px #ffd65cb3}}.arcade-button.cta:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 34%,#ffffffbf 50%,#0000 66%);animation:2.6s ease-in-out infinite cta-sweep;position:absolute;inset:0;transform:translate(-120%)}@keyframes cta-sweep{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}.arcade-button.cta:hover{filter:brightness(1.1);animation-play-state:paused;transform:translateY(-2px)scale(1.05)}.arcade-button.cta:active{transform:translateY(3px)scale(.99);box-shadow:0 2px #a9463b}@media (prefers-reduced-motion:reduce){.arcade-button.cta{animation:none}.arcade-button.cta:after{opacity:0;animation:none}}.start-fractions{pointer-events:none;position:absolute;inset:0;overflow:hidden}.start-frac{color:#ffffff80;font-family:var(--font-display);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff0d;border:2px solid #ffffff24;border-radius:16px;place-items:center;padding:10px 16px;font-size:clamp(1.4rem,4vw,2.4rem);line-height:1;animation:linear infinite frac-drift;display:grid;position:absolute}.start-frac i{background:currentColor;width:100%;height:2px;margin:4px 0;display:block}@keyframes frac-drift{0%{transform:translateY(18vh) rotate(var(--spin,-6deg));opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateY(-108vh) rotate(calc(var(--spin,-6deg) * -1.6));opacity:0}}.start-roster{justify-content:center;gap:clamp(4px,1.4vw,12px);margin:6px 0 14px;display:flex;position:relative}.start-roster figure{width:clamp(48px,12vw,92px);margin:0;animation:3.6s ease-in-out infinite alternate roster-bob;position:relative}.start-roster figure:nth-child(2){animation-duration:4.1s;animation-delay:.3s}.start-roster figure:nth-child(3){animation-duration:3.2s;animation-delay:.6s}.start-roster figure:nth-child(4){animation-duration:4.4s;animation-delay:.15s}.start-roster figure:nth-child(5){animation-duration:3.8s;animation-delay:.8s}.start-roster figure:nth-child(6){animation-duration:3.4s;animation-delay:.45s}@keyframes roster-bob{to{transform:translateY(-9px)}}.start-roster img{filter:drop-shadow(0 10px 22px #0000008c);border-radius:14px;width:100%;height:auto;display:block}.start-roster figcaption{color:var(--muted);font-family:var(--font-display);letter-spacing:.08em;text-align:center;margin-top:3px;font-size:clamp(.5rem,1.5vw,.68rem)}.start-pitch{position:relative}.clear-portrait{width:clamp(150px,40vw,230px);margin:0 auto 6px;position:relative}.clear-portrait img{filter:drop-shadow(0 18px 40px #0009)grayscale(.35)brightness(.78);border-radius:20px;width:100%;height:auto;animation:1s forwards clear-defeat;display:block}@keyframes clear-defeat{0%{filter:drop-shadow(0 18px 40px #0009)grayscale(0)brightness(1.1);transform:scale(1.12)rotate(0)}to{filter:drop-shadow(0 18px 40px #0009)grayscale(.35)brightness(.78);transform:scale(1)rotate(-3deg)}}.clear-stamp{color:#f56;font-family:var(--font-display);letter-spacing:.16em;white-space:nowrap;-webkit-text-stroke:5px #180a10;paint-order:stroke fill;text-shadow:0 4px #180a10,0 0 26px #ff3b4eb3;background:#18040ab8;border:5px solid #ff3b4e;border-radius:10px;padding:8px 20px 10px;font-size:clamp(1.3rem,5.4vw,2.2rem);animation:.38s cubic-bezier(.16,1.5,.3,1) .55s backwards clear-stamp-in;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-14deg);box-shadow:0 10px 26px #0000008c,inset 0 0 0 2px #ffffff1f}@keyframes clear-stamp-in{0%{opacity:0;transform:translate(-50%,-220%)rotate(-38deg)scale(2.6)}62%{opacity:1;transform:translate(-50%,-50%)rotate(-11deg)scale(.94)}78%{transform:translate(-50%,-50%)rotate(-16deg)scale(1.07)}to{opacity:1;transform:translate(-50%,-50%)rotate(-14deg)scale(1)}}.level-card.stamped .clear-portrait{animation:.32s cubic-bezier(.3,1.4,.4,1) clear-jolt}@keyframes clear-jolt{0%{transform:translateY(-10px)scale(1.035)}30%{transform:translateY(5px)scale(.985)rotate(.8deg)}60%{transform:translateY(-2px)rotate(-.5deg)}to{transform:none}}.level-card.stamped .clear-portrait:after{content:"";pointer-events:none;border:3px solid #ffd65ccc;border-radius:50%;width:78%;height:26%;animation:.5s ease-out forwards clear-shock;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}@keyframes clear-shock{0%{opacity:.95;transform:translate(-50%,-50%)scale(.35)}to{opacity:0;transform:translate(-50%,-50%)scale(1.9)}}.clear-portrait .clear-medal{filter:drop-shadow(0 6px 14px #00000080);font-size:clamp(1.8rem,6vw,2.6rem);animation:.5s cubic-bezier(.2,1.8,.4,1) .75s backwards medal-pop;position:absolute;bottom:-10px;right:-8px}@keyframes medal-pop{0%{opacity:0;transform:scale(0)rotate(-90deg)}}.clear-next{background:#ffffff0f;border:1px solid #ffffff29;border-radius:99px;align-items:center;gap:10px;margin:4px 0 14px;padding:7px 14px 7px 10px;display:inline-flex}.clear-next[hidden]{display:none}.clear-next span{color:var(--muted);letter-spacing:.16em;font-size:.58rem;font-weight:900}.clear-next img{object-fit:cover;border-radius:10px;width:34px;height:34px}.clear-next strong{color:var(--gold);font-family:var(--font-display);letter-spacing:.05em;font-size:.95rem}@media (min-width:700px) and (max-width:1280px) and (pointer:coarse){.start-card,.level-card{border:2px solid color-mix(in srgb, var(--boss-accent), white 28%);border-radius:30px;width:min(760px,92vw);min-height:0;padding:clamp(28px,4vw,48px)}.start-card h2,.level-card h2{font-size:clamp(2.6rem,6.4vw,4rem)}.start-roster figure{width:clamp(72px,10vw,104px)}.clear-portrait{width:clamp(200px,30vw,280px)}.arcade-button{min-height:58px;font-size:1.1rem}.arcade-button.cta{min-height:74px}.dom-hand{display:none}}@media (min-width:900px) and (max-height:820px) and (pointer:coarse){.start-card{padding:22px 34px}.start-card h2{margin:2px 0 8px;font-size:clamp(2.2rem,5vw,3.2rem)}.start-roster{margin:2px 0 10px}.start-roster figure{width:clamp(58px,7.5vw,84px)}.start-pitch{margin:8px auto 14px}}.knife-layer{transition:opacity .18s}body.bundling .knife-layer{opacity:.22}.age-overlay{z-index:210;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060412ed;place-items:center;padding:20px;display:none;position:fixed;inset:0}.age-overlay.visible{display:grid}.age-card{border:2px solid var(--gold);text-align:center;background:linear-gradient(145deg,#1c1644fa,#0d0a24fc);border-radius:28px;width:min(420px,100%);padding:clamp(22px,5vw,34px);animation:.45s cubic-bezier(.2,.8,.2,1.14) modal-in;box-shadow:0 0 0 8px #ffffff0a,0 40px 120px #000000b3}.age-card h2{letter-spacing:-.03em;margin:4px 0 10px;font-size:clamp(1.5rem,6vw,2.1rem)}.age-readout{border-bottom:5px solid color-mix(in srgb, var(--gold), transparent 55%);color:var(--gold);font-family:var(--font-display);letter-spacing:.08em;text-shadow:0 6px 0 #00000073, 0 0 40px color-mix(in srgb, var(--gold), transparent 40%);margin:0 auto 16px;padding:6px 0 10px;font-size:clamp(4rem,22vw,7rem);line-height:1}.age-readout.filled{animation:.18s age-pop}@keyframes age-pop{0%{transform:scale(1.14)}}.age-pad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.age-pad button{color:#fff;min-height:66px;font-family:var(--font-display);cursor:pointer;background:#ffffff12;border:2px solid #ffffff29;border-radius:18px;font-size:1.9rem;transition:transform 80ms,background .15s}.age-pad button:active{background:#ffffff29;transform:scale(.94)}.age-pad .age-go{border-color:var(--gold);background:linear-gradient(135deg, var(--gold), #ff9a3c);color:#1a1030;letter-spacing:.06em;font-size:1.4rem}.age-pad .age-go:disabled{color:var(--muted);cursor:default;background:#ffffff0d;border-color:#ffffff1f}.age-skip{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:14px;font-size:.78rem;text-decoration:underline}
