@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(./ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--coral:#ff6b57;--coral-dim:#ff6b576b;--cream:#f6e4b4;--bg:#06070eb8;--void:#06070e;--glow:0 0 5px #ff6b57b3, 0 0 14px #ff6b574d;--glow-c:0 0 5px #f6e4b48c, 0 0 12px #ff6b574d;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--grid:linear-gradient(#ff6b570f 1px, transparent 1px) 0 0 / 12px 12px, linear-gradient(90deg, #ff6b570f 1px, transparent 1px) 0 0 / 12px 12px;--step:steps(6, end)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--void);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{font-family:var(--mono);color:var(--cream);-webkit-user-select:none;user-select:none;touch-action:none}.hidden{display:none!important}#app{position:fixed;inset:0}#screen{background:var(--void);position:absolute;inset:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:absolute;inset:0}#hurt{pointer-events:none;opacity:0;box-shadow:inset 0 0 90px 20px #ff281eb3, inset 0 0 0 2px var(--coral);position:absolute;inset:0}#flash{pointer-events:none;opacity:0;background:radial-gradient(circle,#f6e4b4e6,#ff463299);transition:opacity .6s ease-out;position:absolute;inset:0}#flash.on{opacity:1;transition:none}#ui{pointer-events:none;position:absolute;inset:0}#ui button{pointer-events:auto;cursor:pointer;font-family:var(--mono)}#osd{pointer-events:none;position:absolute;inset:0}#osd .c{border:0 solid var(--cream);opacity:.75;width:26px;height:26px;animation:3.1s ease-in-out infinite breathe;position:absolute}#osd .tl{border-width:1.5px 0 0 1.5px;top:8px;left:8px}#osd .tr{border-width:1.5px 1.5px 0 0;animation-delay:-.7s;top:8px;right:8px}#osd .bl{border-width:0 0 1.5px 1.5px;animation-delay:-1.9s;bottom:8px;left:8px}#osd .br{border-width:0 1.5px 1.5px 0;animation-delay:-2.4s;bottom:8px;right:8px}@keyframes breathe{50%{opacity:.4;transform:scale(1.18)}}#osd-cam,#osd-time{font:400 12px/1 var(--mono);letter-spacing:.12em;color:var(--cream);text-shadow:var(--glow-c);position:absolute;top:14px}#osd-cam{left:42px}#osd-time{font-variant-numeric:tabular-nums;right:42px}#osd-cam .live{color:var(--coral);text-shadow:var(--glow);font-weight:600;animation:1.2s step-end infinite blink}@keyframes blink{50%{opacity:.15}}body.fighting #osd-cam,body.fighting #osd-time{top:46px}#overlay{pointer-events:none;position:absolute;inset:0}#ov-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}#ov-labels{position:absolute;inset:0}.tag{opacity:0;animation:ph-flicker 1.1s steps(1, end) var(--d) infinite}.tag .lead{fill:none;stroke:var(--coral);stroke-width:1px;stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .2s steps(5, end) var(--d) forwards;filter:drop-shadow(0 0 2px var(--coral))}.tag .ring{fill:#06070e99;stroke:var(--coral);stroke-width:1.2px;filter:drop-shadow(0 0 3px var(--coral))}.tag .dot{fill:var(--coral)}.tag.hot .lead,.tag.hot .ring,.tag.call .lead,.tag.call .ring{stroke:var(--cream)}.tag.hot .dot,.tag.call .dot{fill:var(--cream)}.tagbox{white-space:nowrap;border:1px solid var(--coral);background:var(--bg);opacity:0;animation:tag-box .42s steps(1, end) calc(var(--d) + .16s) forwards, ph-flicker 1.1s steps(1, end) calc(var(--d) + .58s) infinite;padding:3px 7px 4px;position:absolute;top:0;left:0;box-shadow:0 0 8px #ff6b574d}.tagbox b{font:600 12px/1.15 var(--mono);letter-spacing:.06em;color:var(--cream);text-shadow:var(--glow-c);display:block}.tagbox small{font:400 10px/1.2 var(--mono);letter-spacing:.1em;color:var(--coral);display:block}.tagbox small:empty{display:none}.tagbox.hot{border-color:var(--cream);background:#ff6b5740}.tagbox.call{border-color:var(--cream);background:var(--coral)}.tagbox.call b{color:var(--void);text-shadow:none}.tag.out{opacity:1;animation:.22s step-end forwards tag-off}.tag.out .lead{animation:.1s steps(3,end) forwards undraw}.tagbox.out{opacity:1;animation:.22s step-end forwards tag-off,.11s step-end tag-flash}.tagbox.out b,.tagbox.out small{animation:.11s step-end both tag-glitch}.spark{background:var(--cream);width:3px;height:3px;box-shadow:0 0 4px var(--coral);pointer-events:none;position:absolute}.lock.out,.lockbox.out{opacity:1;animation:.22s step-end forwards tag-off}@keyframes draw{to{stroke-dashoffset:0}}@keyframes undraw{0%{stroke-dashoffset:0}to{stroke-dashoffset:1px}}@keyframes ph-flicker{0%,to{opacity:1}12%{opacity:.9}27%{opacity:1}46%{opacity:.94}63%{opacity:1}81%{opacity:.91}}@keyframes tag-box{0%{opacity:0}14%{opacity:1}28%{opacity:.2}42%{opacity:1}56%{opacity:.5}70%,to{opacity:1}}@keyframes tag-off{0%,45%{opacity:1}60%{opacity:.2}78%{opacity:.8}90%{opacity:.15}to{opacity:0}}@keyframes tag-flash{0%,34%{background:var(--coral)}35%,to{background:var(--bg)}}@keyframes tag-glitch{0%{color:var(--void);translate:-4px}17%{color:var(--void);translate:4px}34%{color:var(--cream);translate:-2px}55%{color:var(--cream);translate:1.5px}to{translate:0}}@media (prefers-reduced-motion:reduce){.tag,.tagbox{opacity:1;animation:none}.tag .lead{stroke-dashoffset:0;animation:none}.tag.out,.tagbox.out{opacity:0;animation:none}}.lock .brk{fill:none;stroke:var(--coral);stroke-width:1.6px;filter:drop-shadow(0 0 3px var(--coral))}.lock .tick,.lock .cross{fill:none;stroke:var(--coral);stroke-width:1px;opacity:.7}.lock.b .brk,.lock.b .tick,.lock.b .cross{stroke:var(--cream);filter:drop-shadow(0 0 3px #f6e4b4b3)}.lock{opacity:0;animation:tag-box .42s steps(1, end) var(--d) forwards, ph-flicker 1.1s steps(1, end) calc(var(--d) + .42s) infinite}.lock .brk{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .2s steps(5, end) var(--d) forwards}.lockbox{opacity:0;animation:tag-box .42s steps(1, end) calc(var(--d) + .16s) forwards, ph-flicker 1.1s steps(1, end) calc(var(--d) + .58s) infinite}.lock .cross{animation:.9s step-end infinite blink}.lockbox{white-space:nowrap;border-left:2px solid var(--coral);background:var(--bg);padding:2px 6px 3px;position:absolute;top:0;left:0}.lockbox b{font:600 12px/1.1 var(--mono);letter-spacing:.1em;color:var(--coral);text-shadow:var(--glow);display:block}.lockbox small{font:400 10px/1.2 var(--mono);letter-spacing:.08em;color:var(--cream);font-variant-numeric:tabular-nums;display:block}.lockbox.b{border-color:var(--cream)}.lockbox.b b{color:var(--cream);text-shadow:var(--glow-c)}.hit circle{fill:none;stroke:var(--cream);stroke-width:1.5px}.hit path{fill:none;stroke:var(--coral);stroke-width:2px;filter:drop-shadow(0 0 3px var(--coral))}.panel{border:1px solid var(--coral);background:var(--grid), var(--bg);box-shadow:0 0 10px #ff6b5740,inset 0 0 14px #ff6b5714}.hd{background:var(--coral);color:var(--void);font:600 10px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;padding:2px 6px;display:flex}.hd em{gap:3px;display:flex}.hd em:before,.hd em:after{content:"";border:1px solid var(--void);width:6px;height:6px;animation:.8s step-end infinite blink}.hd em:after{background:var(--void);animation-duration:1.3s}.boot .panel,.boot .tool,.boot .big,.boot .part{animation:assemble .55s var(--step) var(--d,0s) both}@keyframes assemble{0%{clip-path:inset(0 100% 100% 0);opacity:0}35%{clip-path:inset(0 0 calc(100% - 2px));opacity:1}60%{clip-path:inset(0);opacity:.35}75%{opacity:1}85%{opacity:.6}to{clip-path:inset(0);opacity:1}}#logo{top:max(12px, env(safe-area-inset-top));text-align:center;transition:opacity .3s;position:absolute;left:50%;transform:translate(-50%)}#logo span,.skin{color:#0000;-webkit-background-clip:text;background-clip:text;background:repeating-linear-gradient(#0000 0 2px,#28080a8c 2px 3px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.25 0 0 0 0 0.08 0 0 0 0 0.06 0 0 0 0.9 -0.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/120px 120px,linear-gradient(#f4c4b0,#d99682 45%,#b8705e 75%,#e8a890);filter:drop-shadow(0 0 6px #d996828c)drop-shadow(0 0 16px #ff6b5740);-webkit-background-clip:text;background-clip:text;padding:.06em 0;animation:5s step-end infinite flicker,.4s steps(4,end) infinite static;display:block}#logo span{font:600 clamp(26px, 5.6vmin, 56px)/1 var(--mono);letter-spacing:.32em;margin-right:-.32em}@keyframes static{0%{background-position:0 0,0 0,0 0}25%{background-position:0 1px,37px 61px,0 0}50%{background-position:0 0,83px 17px,0 0}75%{background-position:0 2px,19px 97px,0 0}}#logo i{background:var(--coral);width:0;height:1px;box-shadow:var(--glow);animation:rule .6s var(--step) .2s forwards, breathe 2.6s ease-in-out 1s infinite;margin:8px auto 0;display:block}@keyframes rule{to{width:86%}}@keyframes flicker{0%,96%,to{opacity:1;translate:0}97%{opacity:.6;translate:2px}98%{opacity:1;translate:-2px}}body.fighting #logo{opacity:0}#parts{left:max(10px, env(safe-area-inset-left));pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%)}#palette{scrollbar-width:none;grid-template-columns:repeat(2,60px);gap:5px;max-height:calc(100vh - 140px);padding:6px;display:grid;overflow-y:auto}#palette::-webkit-scrollbar{display:none}.part{border:1px solid var(--coral-dim);background:#ff6b570a;width:60px;height:60px;padding:5px;transition:border-color .1s,background .1s;position:relative}.part img{pointer-events:none;width:100%;height:100%;display:block}.part:before{content:attr(data-n);font:400 9px/1 var(--mono);color:var(--coral);position:absolute;top:2px;left:3px}.part:after{content:"";background:var(--c);border-radius:50%;width:4px;height:4px;position:absolute;top:3px;right:3px}.part:hover{border-color:var(--coral);background:#ff6b571f}.part.sel{border-color:var(--cream);box-shadow:var(--glow);background:#ff6b5738}.part.sel:after{animation:.5s step-end infinite blink}.part.sel i{border:0 solid var(--cream);pointer-events:none;background:linear-gradient(var(--cream), var(--cream)) 0 0 / 9px 1.5px no-repeat, linear-gradient(var(--cream), var(--cream)) 0 0 / 1.5px 9px no-repeat, linear-gradient(var(--cream), var(--cream)) 100% 0 / 9px 1.5px no-repeat, linear-gradient(var(--cream), var(--cream)) 100% 0 / 1.5px 9px no-repeat, linear-gradient(var(--cream), var(--cream)) 0 100% / 9px 1.5px no-repeat, linear-gradient(var(--cream), var(--cream)) 0 100% / 1.5px 9px no-repeat, linear-gradient(var(--cream), var(--cream)) 100% 100% / 9px 1.5px no-repeat, linear-gradient(var(--cream), var(--cream)) 100% 100% / 1.5px 9px no-repeat;animation:.25s steps(3,end) both lockon,1.4s ease-in-out .25s infinite breathe;position:absolute;inset:-5px}@keyframes lockon{0%{opacity:0;transform:scale(1.8)}to{opacity:1;transform:scale(1)}}.part:active{transform:scale(.94)}#info{left:50%;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;width:min(420px,100% - 460px);min-width:230px;transition:opacity .2s;position:absolute;transform:translate(-50%)}#info p{min-height:3.6em;font:400 clamp(12px, 1.8vmin, 14px)/1.4 var(--mono);color:var(--cream);text-shadow:var(--glow-c);margin:0;padding:7px 10px 9px}#info p:before{content:"> ";color:var(--coral)}#info.off{opacity:0}#side{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}#slots{align-items:center;gap:8px;padding:5px 7px;display:flex}#slots .seg{gap:2px;display:flex}#slots i{border:1px solid var(--coral-dim);width:6px;height:12px}#slots i.on{background:var(--coral);border-color:var(--coral);box-shadow:0 0 5px var(--coral)}#slots i.on:nth-child(3n){animation:2.3s step-end infinite blink}#slots i.on:nth-child(5n){animation:1.7s step-end -.4s infinite blink}#slots.full i.on{background:var(--cream);border-color:var(--cream)}#slots b{font:600 13px/1 var(--mono);color:var(--cream);text-shadow:var(--glow-c);font-variant-numeric:tabular-nums}#slots.hurt{animation:.25s shake}#tools{gap:6px;display:flex}.tool{width:44px;height:44px;color:var(--coral);border:1px solid var(--coral);background:var(--bg);place-items:center;padding:0;transition:background .1s,color .1s;display:grid;box-shadow:0 0 8px #ff6b5740}.tool svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;filter:drop-shadow(0 0 3px #ff6b57cc);width:22px;height:22px}.tool svg .dot{fill:currentColor;stroke:none}.tool:hover{background:#ff6b572e}.tool.on{background:var(--coral);color:var(--void)}.tool.on svg{filter:none}.tool:active{transform:scale(.92)}.tool.idle{opacity:.35}#purge:not(.idle):not(.busy) svg{animation:1.8s ease-in-out infinite spin-pulse}@keyframes spin-pulse{50%{transform:scale(1.15)rotate(22deg)}}#purge.busy{background:var(--coral);color:var(--void);animation:.18s steps(2,end) infinite blinkbg}@keyframes blinkbg{50%{background:var(--cream)}}.big{font:600 clamp(20px, 3.6vmin, 32px)/1 var(--mono);letter-spacing:.24em;color:var(--void);background:var(--coral);border:1px solid var(--cream);box-shadow:var(--glow), inset 0 0 0 3px var(--coral), inset 0 0 0 4px #06070e8c;padding:12px 18px 12px 22px;transition:background .1s;position:relative}.big:before{content:"> "}.big:after{content:"█";margin-left:2px;animation:.9s step-end infinite blink}.big:hover{background:var(--cream)}.big:active{transform:translateY(2px)}.big.ghost{background:var(--bg);color:var(--coral);border-color:var(--coral);box-shadow:0 0 10px #ff6b574d}.big.ghost:hover{background:#ff6b5733}#fight{animation:none}.boot #fight{animation:assemble .55s var(--step) var(--d,0s) both, throb 1.6s ease-in-out 1.2s infinite}@keyframes throb{50%{box-shadow:0 0 10px #ff6b57e6, 0 0 30px #ff6b578c, inset 0 0 0 3px var(--coral), inset 0 0 0 4px #06070e8c}}#hud{top:max(8px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));align-items:center;gap:10px;display:flex;position:absolute}.bar{flex:1;height:18px;position:relative;overflow:hidden}.bar .fill,.bar .chip{transform-origin:0;position:absolute;inset:3px}.bar .fill{background:repeating-linear-gradient(90deg, var(--coral) 0 6px, transparent 6px 8px);filter:drop-shadow(0 0 4px var(--coral))}.bar .chip{background:repeating-linear-gradient(90deg, var(--cream) 0 6px, transparent 6px 8px);opacity:.8;transition:transform .5s ease-out .25s}.bar.right .fill,.bar.right .chip{transform-origin:100%}#barB .fill{background:repeating-linear-gradient(90deg, var(--cream) 0 6px, transparent 6px 8px);filter:drop-shadow(0 0 4px var(--cream))}#barB .chip{background:repeating-linear-gradient(90deg, var(--coral) 0 6px, transparent 6px 8px)}.bar.hurt{animation:.25s shake}@keyframes shake{25%{translate:-3px 1px}50%{translate:3px -1px}75%{translate:-2px}}#round{font:600 clamp(11px, 2vmin, 14px)/1 var(--mono);letter-spacing:.2em;color:var(--cream);text-shadow:var(--glow-c);white-space:nowrap;padding:5px 10px}#center{text-align:center;pointer-events:none;font:600 clamp(60px, 17vmin, 170px)/1 var(--mono);letter-spacing:.12em;color:var(--cream);text-shadow:var(--glow);position:absolute;top:36%;left:0;right:0;transform:translateY(-50%)}#center .pop{animation:.5s steps(6,end) both glitch;display:inline-block}#center .lose{color:var(--coral)}@keyframes glitch{0%{opacity:0;transform:scaleY(.05)scaleX(1.6)}30%{opacity:1;transform:scaleY(1.3)translate(-12px)}60%{transform:scaleY(.9)translate(8px)}to{opacity:1;transform:none}}#result{left:0;right:0;bottom:max(24px, env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;gap:16px;display:flex;position:absolute}#rec-btn{z-index:10;font:400 12px/1 var(--mono);color:var(--cream);background:var(--void);border:1px solid var(--coral);padding:4px 10px;position:fixed;bottom:4px;left:50%;transform:translate(-50%)}#rec-btn:not(.wait):not(.error):not(.done){display:none!important}@media (orientation:portrait){#parts{top:auto;left:6px;right:6px;bottom:max(6px, env(safe-area-inset-bottom));transform:none}#palette{grid-template-rows:repeat(2,52px);grid-template-columns:none;grid-auto-columns:52px;grid-auto-flow:column;max-height:none;padding:5px;overflow:auto hidden}.part{width:52px;height:52px}#side{bottom:calc(max(6px, env(safe-area-inset-bottom)) + 140px);right:6px}#info{left:6px;bottom:calc(max(6px, env(safe-area-inset-bottom)) + 140px);width:calc(100% - 228px);min-width:0;transform:none}.tool{width:38px;height:38px}#tools{gap:5px}#logo span{font-size:clamp(20px,6.8vw,48px)}#osd-cam,#osd-time{font-size:10px;top:64px}body.fighting #osd-cam,body.fighting #osd-time{top:42px}}@media (prefers-reduced-motion:reduce){#logo span,.tag .ring,#osd .c{animation:none}}#endcard{z-index:20;background:var(--grid), var(--void);place-items:center;display:none;position:absolute;inset:0}#endcard.on{animation:.12s step-end card-flash;display:grid}@keyframes card-flash{0%,50%{background:var(--coral)}51%,to{background:var(--void)}}#endcard .frame{text-align:center;padding:9vmin 6vmin 7vmin;position:relative}#endcard .c{border:0 solid var(--coral);width:8vmin;height:8vmin;filter:drop-shadow(0 0 4px var(--coral));opacity:0;position:absolute}#endcard.on .c{animation:.42s step-end forwards tag-box,1.1s step-end .42s infinite ph-flicker}#endcard .tl{border-width:3px 0 0 3px;top:0;left:0}#endcard .tr{border-width:3px 3px 0 0;top:0;right:0;animation-delay:50ms!important}#endcard .bl{border-width:0 0 3px 3px;bottom:0;left:0;animation-delay:90ms!important}#endcard .br{border-width:0 3px 3px 0;bottom:0;right:0;animation-delay:30ms!important}#endcard .skin{font:600 13.5vmin/1 var(--mono);letter-spacing:.12em;opacity:0;margin-right:-.12em}#endcard.on .skin{animation:.3s steps(3,end) forwards slam,.4s steps(4,end) infinite static}@keyframes slam{0%{opacity:0;transform:scale(1.5)}34%{opacity:1;transform:scale(1.2)}67%{opacity:.4;transform:scale(1.04)}to{opacity:1;transform:none}}#endcard .rule{background:var(--coral);width:0;height:3px;box-shadow:var(--glow);margin:3vmin auto 3.4vmin;display:block}#endcard.on .rule{animation:.3s steps(6,end) .15s forwards rule}#endcard .cta{font:600 5vmin/1 var(--mono);letter-spacing:.3em;color:var(--void);background:var(--coral);box-shadow:var(--glow);opacity:0;padding:2vmin 3vmin 2vmin 4vmin;display:inline-block}#endcard .cta:after{content:"█";animation:.5s step-end infinite blink}#endcard.on .cta{animation:.42s step-end .3s forwards tag-box}#record{padding:4px 8px}#record b{font:600 12px/1 var(--mono);letter-spacing:.08em;color:var(--cream);text-shadow:var(--glow-c);font-variant-numeric:tabular-nums;white-space:nowrap}.tool.txt{font:600 13px/1 var(--mono);letter-spacing:.06em}#side{position:absolute}#lang-menu{pointer-events:auto;z-index:5;gap:2px;min-width:150px;max-height:calc(100vh - 120px);padding:4px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;overflow-y:auto}#lang-menu button{text-align:left;min-height:34px;color:var(--cream);font:400 13px/1.2 var(--mono);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:7px 10px;display:flex}#lang-menu button b{width:2em;color:var(--coral);font-weight:600}#lang-menu button:hover{border-color:var(--coral);background:#ff6b5726}#lang-menu button.sel{border-color:var(--cream);background:#ff6b5740}#lang-menu button:focus-visible,.tool:focus-visible,.share:focus-visible,.social-btn:focus-visible,.big:focus-visible{outline:2px solid var(--cream);outline-offset:2px}#result{flex-direction:column;align-items:center;gap:10px}#result .actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}#run{pointer-events:none;min-width:240px;max-width:calc(100% - 24px)}#run p{text-align:center;font:600 clamp(12px, 2vmin, 15px)/1.35 var(--mono);letter-spacing:.08em;color:var(--cream);text-shadow:var(--glow-c);font-variant-numeric:tabular-nums;margin:0;padding:6px 12px 8px}#run p.best{color:var(--coral);text-shadow:var(--glow);animation:.7s step-end 6 blink}#result .extras{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:0 12px;display:flex}.share,.social-btn{cursor:pointer;min-width:38px;height:38px;color:var(--coral);background:var(--bg);border:1px solid var(--coral);font:600 12px/1 var(--mono);letter-spacing:.14em;justify-content:center;align-items:center;gap:8px;padding:0 12px;text-decoration:none;transition:background .1s,color .1s;display:inline-flex;box-shadow:0 0 8px #ff6b5740}.share svg,.social-btn svg{flex:none;width:18px;height:18px}.share:hover,.social-btn:hover{background:#ff6b5733}.share:active,.social-btn:active{transform:translateY(1px)}.promo{pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex}.promo small{font:400 10px/1 var(--mono);letter-spacing:.16em;color:var(--coral);text-transform:uppercase}.promo-row{pointer-events:auto;gap:6px;display:flex}.social-btn{width:38px;padding:0}.social-btn.social-more{width:auto;color:var(--void);background:var(--coral);border-color:var(--cream);box-shadow:var(--glow);padding:0 14px}.social-btn.social-more:hover{background:var(--cream)}#ui a{pointer-events:auto}@media (width<=340px){.social-btn{width:34px;height:34px}.social-btn.social-more{letter-spacing:.06em;padding:0 8px}}@media (height<=520px){#result{gap:6px}#result .big{padding:8px 14px;font-size:18px}#run p{padding:4px 10px 5px}}@media (prefers-reduced-motion:reduce){#run p.best{animation:none}}#center .pop{font-size:min(clamp(60px, 17vmin, 170px), calc(94vw / (var(--n,4) * .8)))}@media (orientation:portrait){#record{align-self:flex-end}#lang-menu{right:0}}html:lang(zh){--mono:"IBM Plex Mono", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", ui-monospace, sans-serif}html:lang(ja){--mono:"IBM Plex Mono", "Hiragino Sans", "Yu Gothic", "Meiryo", "Noto Sans JP", ui-monospace, sans-serif}html:lang(ko){--mono:"IBM Plex Mono", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", ui-monospace, sans-serif}html:lang(zh) #center,html:lang(ja) #center,html:lang(ko) #center,html:lang(zh) .big,html:lang(ja) .big,html:lang(ko) .big{font-weight:800}html:lang(zh) .tagbox b,html:lang(ja) .tagbox b,html:lang(ko) .tagbox b{font-weight:700}#scrim{pointer-events:none;opacity:0;background:radial-gradient(at 50% 36%,#00000057,#00000029 75%),linear-gradient(#0000 50%,#00000061);transition:opacity .16s ease-out;position:absolute;inset:0}#scrim.on{opacity:1}@media (prefers-reduced-motion:reduce){#scrim{transition-duration:10ms}}#pause-btn{right:max(10px, env(safe-area-inset-right));width:38px;height:38px;position:absolute;top:70px}#pause-btn svg{width:18px;height:18px}@media (orientation:portrait){#pause-btn{top:86px}}#pause{z-index:30;background:#0203089e;place-items:center;padding:12px;animation:.14s ease-out pause-in;display:grid;position:absolute;inset:0}@keyframes pause-in{0%{opacity:0}}#pause .card{background:var(--grid), #06070ef0;width:min(340px,100%);max-height:100%;overflow-y:auto}#pause .menu{flex-direction:column;gap:8px;padding:14px 14px 10px;display:flex}#pause .big{text-align:left;padding:12px 14px 12px 18px;font-size:22px}#pause .big,#pause .mbtn,#pause .langs button{pointer-events:auto;cursor:pointer;font-family:var(--mono)}.mbtn{text-align:left;letter-spacing:.14em;min-height:40px;font:600 13px/1.2 var(--mono);color:var(--coral);background:var(--bg);border:1px solid var(--coral);padding:8px 14px;transition:background .1s}.mbtn:before{content:"> "}.mbtn:hover{background:#ff6b5733}.mbtn:focus-visible,.langs button:focus-visible,#p-resume:focus-visible{outline:2px solid var(--cream);outline-offset:2px}.langs{flex-wrap:wrap;gap:5px;display:flex}.langs button{min-width:38px;min-height:34px;font:600 12px/1 var(--mono);color:var(--cream);border:1px solid var(--coral-dim);background:0 0;flex:1 0 auto;padding:0 8px}.langs button:hover{border-color:var(--coral);background:#ff6b5726}.langs button.sel{border-color:var(--cream);background:#ff6b5747}#pause .promo-slot{justify-content:center;padding:6px 12px 14px;display:flex}#pause .promo,#pause .promo-row{pointer-events:auto}.promo-slot:empty{display:none}@media (height<=460px){#pause .menu{gap:5px;padding:8px}#pause .big{padding:8px 12px;font-size:18px}.mbtn{min-height:34px}}@media (prefers-reduced-motion:reduce){#pause{animation:none}}html:lang(zh) .mbtn,html:lang(ja) .mbtn,html:lang(ko) .mbtn{font-weight:800}
