*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#10161e;overflow:hidden}body{display:grid;place-items:center;font-family:"Microsoft JhengHei","Yu Gothic",sans-serif}main{position:relative;width:min(100vw,64svh);height:min(100svh,156.25vw);container-type:inline-size;isolation:isolate}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;cursor:crosshair}[hidden]{display:none!important}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid white;outline-offset:5px}button:disabled{cursor:wait}.boot-screen{position:absolute;inset:0;color:#f3f0d9;background:linear-gradient(180deg,rgba(5,8,14,.55),transparent 30%,transparent 52%,rgba(5,8,14,.72) 78%,#090d16 100%);overflow:hidden}.screen-corners{position:absolute;inset:2.4%;pointer-events:none;border:1px solid #ffffff30;clip-path:polygon(0 0,15% 0,15% 2%,2% 2%,2% 12%,0 12%,0 88%,2% 88%,2% 98%,15% 98%,15% 100%,0 100%,100% 100%,85% 100%,85% 98%,98% 98%,98% 88%,100% 88%,100% 12%,98% 12%,98% 2%,85% 2%,85% 0,100% 0,100% 100%,0 100%)}.boot-heading{position:absolute;top:4.3%;left:5.5%;max-width:58%;text-shadow:2px 2px #0b0e16}.mode-label{display:inline-block;background:#e1ff57;color:#161b20;font-size:2.8cqw;font-weight:900;letter-spacing:.1em;padding:1cqw 2cqw;box-shadow:3px 3px #090d16}.boot-heading h1{font-size:9cqw;line-height:1;margin:2cqw 0;letter-spacing:.04em;font-weight:1000}.boot-heading p{font-size:3cqw;font-weight:800;margin:0}.load-panel{position:absolute;left:9%;right:9%;bottom:25%;}.runner-lane{height:15cqw;position:relative;margin-bottom:.5cqw}.runner-lane img{position:absolute;bottom:0;width:17cqw;height:17cqw;image-rendering:pixelated;object-fit:contain;filter:drop-shadow(2px 2px 0 #0a0d16);transform:translateX(-50%)}.load-caption{display:flex;justify-content:space-between;font-family:Consolas,"Microsoft JhengHei",monospace;font-size:3cqw;font-weight:900;letter-spacing:.04em;margin-bottom:2cqw;text-shadow:2px 2px #090d16}.load-track{height:4.8cqw;background:#11151c;border:1cqw solid #07090d;outline:1px solid #b3bd9c;box-shadow:3px 3px #0008}.load-track>div{height:100%;width:0;background:repeating-linear-gradient(90deg,#e1ff57 0,#e1ff57 3cqw,#a3bc3b 3cqw,#a3bc3b 3.6cqw)}.start-slot{position:absolute;top:73%;left:9%;right:9%;text-align:center}.pixel-action{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2cqw;min-height:11cqw;width:100%;border:0;border-left:1.2cqw solid #f7ffb1;border-bottom:1.2cqw solid #8ca52c;padding:2.3cqw 4cqw;background:#e1ff57;color:#12171c;font-weight:1000;font-size:4.1cqw;letter-spacing:.04em;box-shadow:1.2cqw 1.2cqw #070a10;clip-path:polygon(0 0,100% 0,100% 76%,96% 100%,0 100%);animation:buttonGlow 1.6s steps(2,end) infinite}.pixel-action::after{content:"";position:absolute;right:2.5%;top:0;width:1.5%;height:100%;background:#11151b;opacity:.18}.button-tail{font:900 5cqw Consolas,monospace;animation:cursorBlink 1s steps(2,end) infinite}.pixel-action:hover{background:#edff96}.pixel-action:active{transform:translate(1px,2px)}.start-slot p{font-size:2.8cqw;line-height:1.5;margin:3cqw 0;color:#dbddc9}.language-picker{position:absolute;left:5.5%;bottom:4%;font-size:2.5cqw;letter-spacing:.1em;color:#bac0bb}.language-picker>span{display:block;margin-bottom:1.6cqw}.language-picker>div{display:flex;gap:1.5cqw}.language-picker button{border:1px solid #60675e;background:#10151e;color:#d0d4c7;font-size:2.7cqw;font-weight:800;padding:2.1cqw 2.3cqw;min-height:8cqw;box-shadow:2px 2px #000}.language-picker button[aria-pressed=true]{background:#e1ff57;border-color:#e1ff57;color:#11151c;box-shadow:0 3px #f4ffb7}.ending-screen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 85%,#090c1680)}.ending-screen .pixel-action{position:absolute;left:23%;bottom:2%;width:54%;min-height:8.5cqw;font-size:3.5cqw;padding:1.8cqw 3cqw;pointer-events:auto}.ending-screen .pixel-action .button-tail{font-size:4cqw}@keyframes buttonGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.13)}}@keyframes cursorBlink{0%,100%{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.pixel-action,.button-tail{animation:none}}

html[lang="en"] .boot-heading{max-width:31%}html[lang="en"] .boot-heading h1{font-size:5.2cqw}html[lang="en"] .boot-heading .mode-label{font-size:2.2cqw;letter-spacing:0}html[lang="en"] .boot-heading p{font-size:2.6cqw;line-height:1.35}

#pixelTransition{position:fixed;inset:0;width:100vw;height:100dvh;z-index:10000;image-rendering:pixelated;pointer-events:auto;cursor:wait;}

.music-tools{position:absolute;right:2%;bottom:1%;z-index:5;display:flex;gap:1.5cqw;align-items:center}.music-tools a{font-size:2cqw;color:#d0d6bc;text-shadow:1px 1px #000;text-decoration:none}.music-tools button{width:7cqw;height:7cqw;min-width:28px;min-height:28px;padding:0;border:1px solid #657044;background:#10151ed9;color:#ddf650;font:bold 4cqw monospace;box-shadow:2px 2px #000}.music-tools button[aria-pressed=false]{color:#aaa}.music-tools a:focus-visible{outline:2px solid #ddf650}
.boot-heading .mode-label{text-shadow:none;filter:none}
.music-tools.in-game{top:2%;right:2%;bottom:auto}.music-tools.in-game button{background:#10151e9c;border-color:#65704480;box-shadow:none;color:#bdcc88;opacity:.72}.music-tools.in-game button:hover,.music-tools.in-game button:focus-visible{opacity:1}
