@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-D0VnvwZ9.woff2)format("woff2"),url(/assets/vt323-vietnamese-400-normal-D_5Q7Vcv.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-ext-400-normal-iUdYUaX4.woff2)format("woff2"),url(/assets/vt323-latin-ext-400-normal-DqOq58ri.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.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:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/silkscreen-latin-ext-400-normal-2T9bWrxp.woff2)format("woff2"),url(/assets/silkscreen-latin-ext-400-normal-Drdn_BEM.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:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/silkscreen-latin-400-normal-CtPo2yA5.woff2)format("woff2"),url(/assets/silkscreen-latin-400-normal-D0DfPJut.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:Silkscreen;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/silkscreen-latin-ext-700-normal-D7YUjVT_.woff2)format("woff2"),url(/assets/silkscreen-latin-ext-700-normal-CjQdSuci.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:Silkscreen;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/silkscreen-latin-700-normal-CSE2nhgM.woff2)format("woff2"),url(/assets/silkscreen-latin-700-normal-BjMPLkh0.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:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/share-tech-mono-latin-400-normal-CCqdbj5z.woff2)format("woff2"),url(/assets/share-tech-mono-latin-400-normal-15MgdvEM.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{--void:#0b0c0a;--panel:#141819;--panel-2:#1b2022;--edge:#050606;--bevel:#2f393e;--slate:#46565e;--slate-l:#6c8088;--orange:#f28c28;--orange-d:#d9731a;--orange-dd:#7a3d08;--blue:#3b8bd9;--blue-l:#5fb0f0;--green:#9ccb4a;--alarm:#e0341a;--paper:#e8e0c8;--ink:#1b1a17;--txt:#c6d2d6;--f-px:"Silkscreen", "Courier New", monospace;--f-lcd:"VT323", "Courier New", monospace;--f-mono:"Share Tech Mono", "Courier New", monospace;--cut:polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--void);color:var(--txt);font-family:var(--f-lcd);-webkit-tap-highlight-color:transparent;font-size:18px;line-height:1.15;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.nojs{background:var(--paper);color:var(--ink);font-family:var(--f-mono);padding:8px;position:fixed;bottom:8px;left:8px;right:8px}.hud{background:linear-gradient(180deg, #6b7f3a12, transparent 38%), repeating-linear-gradient(90deg, transparent 0 63px, #ffffff05 63px 64px), var(--void);grid-template:"top top top""left stage right"minmax(0,1fr)"rail rail rail"/196px minmax(0,1fr) 256px;gap:12px 16px;height:100dvh;padding:12px 16px 14px;display:grid}.top{grid-area:top;align-items:flex-start;gap:16px;display:flex}.left{flex-direction:column;grid-area:left;gap:8px;min-height:0;display:flex}.stagecol{flex-direction:column;grid-area:stage;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:0;display:flex}.right{flex-direction:column;grid-area:right;gap:12px;min-height:0;display:flex}.rail{grid-area:rail}.brand{flex:1;min-width:0}.logo{font-family:var(--f-px);color:var(--orange);letter-spacing:.02em;text-shadow:3px 3px 0 var(--orange-dd), 6px 6px 0 var(--edge);font-size:clamp(28px,3.3vw,46px);font-weight:700;line-height:1}.tag{max-width:52ch;color:var(--txt);margin-top:10px;font-size:21px}.status{font-family:var(--f-px);letter-spacing:.06em;color:var(--green);align-items:center;gap:8px;margin-top:6px;font-size:10px;display:flex}.led{background:var(--green);width:9px;height:9px;box-shadow:0 0 0 2px var(--edge);animation:1.6s step-end infinite led}@keyframes led{50%{background:#3a4a1c}}.tools{align-items:center;gap:12px;padding-top:2px;display:flex}.xlink,.spk{background:var(--panel-2);width:56px;height:56px;clip-path:var(--cut);box-shadow:inset 0 0 0 2px var(--bevel);place-items:center;transition:transform .12s steps(2,end);display:grid}.xlink:hover,.spk:hover{background:#232a2d;transform:translateY(-2px)}.xlink:active,.spk:active{transform:translateY(1px)}.spk .mute{display:block}.spk .waves,.spk.on .mute{display:none}.spk.on .waves{display:block}.slipwrap{flex:none;width:300px;margin-top:-12px;position:relative}.slipwrap:before{content:"";height:10px;clip-path:var(--cut);background:linear-gradient(#050606,#1b2022);display:block}.slip{text-align:left;background:var(--paper);width:100%;color:var(--ink);transform-origin:50% 0;-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 7px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 7px repeat-x;margin-top:-3px;padding:0 12px 16px;transition:transform .14s steps(3,end);display:block;position:relative;transform:rotate(1.1deg);-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 7px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 7px repeat-x;mask:linear-gradient(#000 0 0) top/100% calc(100% - 7px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 7px repeat-x}.slip:hover{transform:rotate(.2deg)translateY(2px)}.slip:active{transform:rotate(.2deg)translateY(4px)}.slip-head{background:var(--orange);font-family:var(--f-px);letter-spacing:.06em;color:var(--ink);justify-content:space-between;margin:0 -12px;padding:5px 12px;font-size:9px;display:flex}.slip-lbl{font-family:var(--f-px);letter-spacing:.1em;color:#6b6656;margin-top:8px;font-size:8px;display:block}.slip-ca{font-family:var(--f-mono);letter-spacing:.01em;color:var(--ink);word-break:break-all;margin-top:2px;font-size:17px;display:block}.slip-bars{width:100%;height:11px;margin-top:8px;display:block}.slip-state{font-family:var(--f-px);letter-spacing:.1em;color:#6b6656;margin-top:6px;font-size:8px;display:block}.slip.copied .slip-state{color:#1e6a12}.stamp-imprint{opacity:0;mix-blend-mode:multiply;pointer-events:none;width:112px;height:112px;margin:-56px 0 0 -56px;position:absolute;top:52%;left:50%;transform:rotate(-14deg)}.stamp-tool{opacity:0;pointer-events:none;z-index:3;width:64px;height:80px;margin-left:-32px;position:absolute;top:-84px;left:50%}.stamping .stamp-tool{animation:1.05s steps(8,end) both stamp-down}.stamping .stamp-imprint{animation:2.5s step-end both stamp-ink}@keyframes stamp-down{0%{opacity:1;transform:translateY(-20px)}22%{opacity:1;transform:translateY(96px)}40%{opacity:1;transform:translateY(96px)}70%{opacity:1;transform:translateY(-10px)}to{opacity:0;transform:translateY(-40px)}}@keyframes stamp-ink{0%,20%{opacity:0;transform:rotate(-14deg)scale(1.3)}22%{opacity:.92;transform:rotate(-14deg)scale(1.06)}26%,84%{opacity:.9;transform:rotate(-14deg)scale(1)}92%{opacity:.5;transform:rotate(-14deg)scale(1)}to{opacity:0}}.lcd{clip-path:var(--cut);box-shadow:inset 0 0 0 2px var(--bevel);background:#0b0e0e;padding:8px 10px 6px;position:relative}.lcd-l{font-family:var(--f-px);letter-spacing:.06em;color:var(--slate-l);font-size:9px;display:block}.lcd-v{font-family:var(--f-lcd);letter-spacing:.04em;color:var(--green);text-shadow:0 0 6px #9ccb4a59;font-size:42px;line-height:.95;display:block}#lcd-bad .lcd-v{color:var(--orange);text-shadow:0 0 6px #f28c2866}#lcd-total .lcd-v{color:var(--blue-l);text-shadow:0 0 6px #5fb0f059}#lcd-shift .lcd-v{color:var(--txt);text-shadow:none}.lcd.bump .lcd-v{animation:.4s steps(3,end) bump}@keyframes bump{0%{filter:brightness(1.7);transform:translateY(-4px)}to{transform:none}}.key{border-bottom:9px solid var(--orange-dd);height:96px;clip-path:var(--cut);color:var(--ink);background:linear-gradient(#f9b15a 0 44%,#d9731a 44% 100%);flex-direction:column;justify-content:center;align-items:center;gap:2px;margin-top:auto;transition:transform 80ms steps(2,end);display:flex}.key-cap{font-family:var(--f-px);letter-spacing:.08em;font-size:26px;font-weight:700}.key-sub{font-family:var(--f-lcd);font-size:19px}.key:hover{filter:brightness(1.08)}.key:active{border-bottom-width:3px;transform:translateY(6px)}.stagebox{--reserve:300px;width:min(100%, calc((100dvh - var(--reserve)) * 16 / 9));flex-direction:column;gap:8px;display:flex}.stage{aspect-ratio:16/9;width:100%;clip-path:var(--cut);box-shadow:0 0 0 4px var(--panel-2);border:4px solid var(--edge);background:#000;position:relative}.stage canvas,.stage-fallback{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.stage canvas{image-rendering:pixelated;image-rendering:crisp-edges;cursor:pointer;touch-action:manipulation}.stage-fallback{object-fit:cover}.stage.booted .stage-fallback{visibility:hidden}.bubble{background:var(--paper);width:max-content;max-width:52%;color:var(--ink);font-family:var(--f-lcd);pointer-events:none;clip-path:var(--cut);z-index:4;padding:6px 10px;font-size:20px;line-height:1;position:absolute;bottom:46%;transform:translate(-70%)}.bubble[hidden]{display:none}.cap{min-height:44px;color:var(--txt);text-align:left;padding:0 4px;font-size:20px}.log{min-height:0;clip-path:var(--cut);box-shadow:inset 0 0 0 2px var(--bevel);background:#0b0e0e;flex-direction:column;flex:1;padding:10px;display:flex;overflow:hidden}.log-h{font-family:var(--f-px);letter-spacing:.08em;color:var(--slate-l);border-bottom:2px dashed var(--bevel);margin-bottom:6px;padding-bottom:6px;font-size:10px}.log-list{flex-direction:column;gap:2px;list-style:none;display:flex;overflow:hidden}.log-list li{grid-template-columns:38px 1fr auto;align-items:baseline;gap:6px;font-size:18px;display:grid}.log-list .n{color:var(--slate-l)}.log-list .w{text-overflow:ellipsis;white-space:nowrap;color:var(--txt);overflow:hidden}.log-list b{font-weight:400}.log-list .ok b{color:var(--green)}.log-list .no b,.log-list .no .w{color:var(--orange)}.log-list li:first-child:not(.empty){animation:.5s steps(3,end) newline}.log-list .empty{color:var(--slate);display:block}@keyframes newline{0%{background:#f28c284d}to{background:0 0}}.pass{height:108px;clip-path:var(--cut);background:var(--paper);color:var(--ink);flex:none;transition:transform .14s steps(3,end);display:flex;position:relative}.pass-main{flex-direction:column;flex:1;min-width:0;display:flex}.pass-top{color:var(--paper);font-family:var(--f-px);letter-spacing:.06em;background:#1e4fd8;align-items:center;gap:8px;padding:5px 10px;font-size:10px;display:flex}.pass-row{font-family:var(--f-mono);grid-template-columns:auto 1fr;gap:2px 8px;padding:8px 10px 0;font-size:13px;display:grid}.pass-row i{font-style:normal;font-family:var(--f-px);color:#6b6656;align-self:center;font-size:8px}.pass-row b{letter-spacing:.04em;font-weight:400}.pass-bars{width:calc(100% - 20px);height:16px;margin:auto 10px 8px;display:block}.pass-stub{background:var(--orange-d);width:58px;color:var(--ink);border-left:3px dashed var(--ink);font-family:var(--f-px);letter-spacing:.08em;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:700;transition:transform .16s steps(3,end);display:flex}.pass-stub i{border:9px solid #0000;border-left:14px solid var(--ink);border-right:0;width:0;height:0}.pass:hover{transform:translateY(-3px)rotate(-.6deg)}.pass:hover .pass-stub{transform:translate(7px)rotate(4deg)}.pass:active{transform:translateY(1px)}.rail{height:78px;clip-path:var(--cut);box-shadow:inset 0 0 0 2px var(--bevel);background:#0b0e0e;align-items:center;gap:12px;padding:0 12px;display:flex;overflow:hidden}.rail-l{font-family:var(--f-px);letter-spacing:.08em;color:var(--slate-l);writing-mode:horizontal-tb;flex:none;font-size:10px}.rail-list{background:repeating-linear-gradient(90deg,#171b1d 0 8px,#101314 8px 16px);flex:1;align-items:center;gap:6px;min-width:0;height:60px;padding:0 6px;list-style:none;display:flex;overflow:hidden}.rail-list.slide{animation:.4s steps(4,end) slide}@keyframes slide{0%{transform:translate(34px)}to{transform:none}}.tile{flex-direction:column;align-items:center;width:52px;padding:3px 0 0;display:flex;position:relative}.tile i{color:var(--slate-l);font-size:15px;font-style:normal}.tile:hover i{color:var(--txt)}.tile.next{outline:2px solid var(--orange);outline-offset:-1px;background:#f28c281f}.tile.next i{color:var(--orange)}.tile.next:after{content:"";background:var(--orange);width:6px;height:6px;animation:1s step-end infinite led;position:absolute;top:3px;right:3px}@media (max-width:1100px){.hud{grid-template-columns:168px minmax(0,1fr) 216px;gap:12px}.slipwrap{width:270px}.slip-ca{font-size:15px}.lcd-v{font-size:34px}}@media (max-width:900px){body{overflow-y:auto}.hud{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"top""stage""left""rail""right";align-content:start;gap:10px;height:auto;min-height:100dvh;padding:10px 12px 14px}.top{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.brand{grid-column:1}.tools{grid-area:1/2;gap:8px}.xlink,.spk{width:46px;height:46px}.xlink svg{width:36px;height:36px}.spk svg{width:32px;height:32px}.slipwrap{grid-area:2/1/auto/-1;width:100%;margin-top:-2px}.logo{text-shadow:2px 2px 0 var(--orange-dd), 4px 4px 0 var(--edge);font-size:30px}.tag{margin-top:6px;font-size:18px}.stagebox{--reserve:0px;gap:4px;width:100%}.cap{min-height:40px;font-size:18px}.left{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.lcd{padding:6px 6px 4px}.lcd-l{letter-spacing:.02em;white-space:nowrap;font-size:7px}.lcd-v{font-size:27px}.key{border-bottom-width:7px;flex-direction:row;grid-column:1/-1;gap:14px;height:60px;margin-top:2px}.key-cap{font-size:22px}.rail{gap:8px;height:68px;padding:0 8px}.rail-list{height:54px}.rail-l{display:none}.right{display:block}.log{display:none}.pass{height:88px}.slip-bars{display:none}.slip{padding-bottom:12px}}@media (max-width:400px){.slip-ca{font-size:15px}.tag{font-size:17px}}.rm *,.rm :before,.rm :after{transition:none!important;animation:none!important}.rm .stamping .stamp-imprint{opacity:.9}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.stamping .stamp-imprint{opacity:.9}}
