@font-face{font-family:Pixel;src:url(/assets/press-start-2p-latin-_wFEWmAB.woff2)format("woff2");font-display:swap}*{box-sizing:border-box}html,body{background:#182e2d;width:100%;height:100%;margin:0;overflow:hidden}canvas{image-rendering:pixelated;touch-action:none;outline:none;display:block}#game{width:100%;height:100dvh}#hud{left:50%;bottom:max(12px,env(safe-area-inset-bottom));filter:drop-shadow(0 4px #07181788);z-index:5;width:min(800px,96vw);height:auto;position:fixed;transform:translate(-50%)}#hud[hidden]{display:none}.hidden{display:none!important}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:3px;outline:2px solid #f0d371}#pause-btn{top:max(12px,env(safe-area-inset-top));z-index:6;--sz:48px;width:var(--sz);height:var(--sz);color:#d9cf9a;touch-action:manipulation;background:#243f37;border:1px solid #152d2b;justify-content:center;align-items:center;font-family:Pixel,monospace;font-size:11px;transition:filter .12s;display:flex;position:fixed;right:16px;box-shadow:inset 0 0 0 2px #c2ab68,inset 0 0 0 4px #4c6552,0 2px #0006}#pause-btn:hover{filter:brightness(1.25)}#pause-btn:active{filter:brightness(.82)}.modal{z-index:50;background:#0a1d1bee;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.report-frame{color:#d9cf9a;text-align:center;background:#152d2b repeating-conic-gradient(#102422 0% 25%,#1a3230 0% 50%) 0 0/4px 4px;border:2px solid #070c0a;width:min(420px,92vw);padding:24px 26px 28px;font-family:Pixel,monospace;position:relative;box-shadow:inset 0 0 0 2px #c2ab68,inset 0 0 0 5px #4c6552,inset 0 0 0 7px #c2ab68,0 6px #00000070}.report-frame.slam{animation:.62s steps(2,end) both menu-slam}@keyframes menu-slam{0%{filter:brightness(3);transform:translateY(-55px)rotate(-3deg)}15%{filter:brightness(1.8);transform:translate(13px,12px)rotate(2deg)}30%{transform:translate(-11px,-7px)rotate(-1.5deg)}45%{transform:translate(8px,5px)rotate(1deg)}60%{transform:translate(-5px,-3px)}80%{transform:translate(3px,1px)}to{filter:brightness();transform:translate(0)}}.report-frame h2{letter-spacing:1px;color:#e2bd67;text-shadow:2px 2px #10160d;margin:0 0 14px;font-size:clamp(16px,4.5vw,22px);font-weight:400}.report-frame p{color:#aebd9b;margin:0 0 18px;font-size:9px;line-height:1.9}.pause-actions{gap:12px;display:grid}.primary{color:#152d2b;letter-spacing:1px;background:#dbc174;border:1px solid #f0d371;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 16px;font-family:Pixel,monospace;font-size:10px;transition:background .12s;display:flex}.primary:hover{background:#f0d371}.primary:active{transform:translateY(1px)}.track-name{color:#e7dfc0;letter-spacing:1px;background:#0d1b19;border:1px solid #4c6552;width:100%;margin-bottom:16px;padding:11px;font-family:Pixel,monospace;font-size:10px}.track-name:focus-visible{outline-offset:2px;outline:2px solid #f0d371}.track-list{gap:8px;max-height:44vh;margin-bottom:16px;display:grid;overflow-y:auto}.track-row{gap:8px;display:flex}.track-load{color:#e7dfc0;letter-spacing:.5px;text-align:left;background:#1c3735;border:1px solid #4c6552;flex-direction:column;flex:1;align-items:flex-start;gap:4px;padding:10px 12px;font-family:Pixel,monospace;font-size:10px;transition:background .12s;display:flex}.track-load:hover{background:#274541}.track-date{color:#8fa088;font-size:7px}.track-delete{color:#e2a99a;background:#3a2320;border:1px solid #5a2f28;width:34px;font-size:14px;transition:background .12s}.track-delete:hover{background:#4d2e29}.track-empty{color:#8fa088;letter-spacing:1px;padding:10px 0;font-size:9px}@media (width<=520px){.report-frame{padding:18px 16px 22px}.primary{padding:12px 14px;font-size:9px}}.social{z-index:51;gap:10px;display:flex;position:fixed;bottom:16px;right:16px}.social-btn{--sz:40px;width:var(--sz);height:var(--sz);color:#d9cf9a;touch-action:manipulation;background:#243f37;border:1px solid #152d2b;justify-content:center;align-items:center;text-decoration:none;transition:transform 80ms,filter .12s;display:flex;box-shadow:inset 0 0 0 2px #c2ab68,inset 0 0 0 4px #4c6552,0 2px #0006}.social-btn:hover{filter:brightness(1.25)}.social-btn:active{filter:brightness(.82);transform:translateY(1px)scale(.9)}.social-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}@media (width<=520px){.social{gap:8px;bottom:10px;right:10px}.social-btn{--sz:34px}}#pause-btn svg{shape-rendering:crispedges;width:28px;height:28px}#record-btn,#ride-download{z-index:6;color:#d9cf9a;background:#243f37;border:2px solid #a79760;padding:11px 9px;font:9px Pixel,monospace;text-decoration:none;position:fixed;top:12px;right:76px;box-shadow:inset 0 0 0 2px #152d2b,0 2px #0006}#record-btn.recording{color:#ffd28b;border-color:#c76644}#record-btn.recording:before{content:"";background:#dc6849;width:7px;height:7px;margin-right:7px;animation:1s steps(2,end) infinite rec-blink;display:inline-block}#ride-download{top:68px;right:16px}@keyframes rec-blink{50%{opacity:.3}}.report-frame .menu-tip{color:#b8c2a0;text-align:left;margin:20px 0 0;font-size:9px;line-height:1.9}#free-record-btn,#time-control{z-index:6;color:#d9cf9a;background:#243f37;border:2px solid #a79760;padding:10px;font:9px Pixel,monospace;position:fixed;top:12px;left:16px;box-shadow:inset 0 0 0 2px #152d2b}#time-control{align-items:center;gap:8px;display:flex;top:54px}#time-control input{accent-color:#d9b568;cursor:pointer;width:90px}#free-record-btn[aria-pressed=true]{color:#ffd28b;border-color:#dc6849}.retro-range{appearance:none;cursor:pointer;background:repeating-linear-gradient(90deg,#102422 0 7px,#45604e 7px 9px);border:2px solid #0c201d;border-radius:0;height:12px;box-shadow:0 0 0 1px #718267}.retro-range::-webkit-slider-thumb{appearance:none;background:#b69a53;border:2px solid #f0d371;border-radius:0;width:14px;height:22px;box-shadow:inset -3px -3px #776637,2px 2px #071817}.retro-range::-moz-range-thumb{background:#b69a53;border:2px solid #f0d371;border-radius:0;width:12px;height:18px;box-shadow:inset -3px -3px #776637,2px 2px #071817}.retro-range:focus-visible{outline-offset:5px;outline:2px solid #f0d371}#time-control{flex-wrap:wrap;gap:10px;padding:8px}#time-control label{align-items:center;gap:8px;display:flex}#time-control b{font-weight:400}#grid-toggle{font:inherit;color:#e2cf8c;background:#344e40;border:2px solid #9c955f;padding:8px;box-shadow:inset -2px -2px #152d2b}#grid-toggle[aria-pressed=false]{color:#9aa88c;background:#152d2b}.modal{padding:62px 16px 70px;overflow-y:auto}.report-frame{width:min(480px,94vw);max-height:100%;overflow-y:auto}.pause-actions{gap:8px}.primary{padding:11px 12px;line-height:1.5;text-decoration:none}.primary.secondary{color:#dfcc8b;background:#29473e;border-color:#83936a}.build-version{color:#97aa91;margin-top:18px;font-size:7px;line-height:1.5;display:block}.volume-control{text-align:left;grid-template-columns:1fr auto;gap:18px;margin:25px 0 32px;font-size:10px;line-height:1.7;display:grid}.volume-control input{grid-column:1/-1;width:100%}#language-control{z-index:52;color:#d9cf9a;background:#243f37;border:2px solid #a79760;align-items:center;gap:10px;padding:8px;font:9px Pixel,monospace;display:flex;position:fixed;bottom:16px;left:16px}#language-control select{font:inherit;color:#e2cf8c;background:#152d2b;border:1px solid #718267;border-radius:0;max-width:150px;padding:8px}html:lang(zh) .primary,html:lang(ja) .primary,html:lang(ko) .primary{letter-spacing:0;font-family:monospace;font-size:14px}html:lang(zh) .report-frame p,html:lang(ja) .report-frame p,html:lang(ko) .report-frame p{font-family:monospace;font-size:12px}@media (width<=600px){#free-record-btn,#record-btn{max-width:42vw;font-size:7px;line-height:1.4}#free-record-btn{left:8px}#record-btn{right:64px}#pause-btn{right:8px}#time-control{font-size:8px;left:8px}#language-control{gap:5px;font-size:8px;bottom:10px;left:8px}#language-control>span{display:none}#language-control select{max-width:130px}.report-frame .menu-tip{font-size:8px}}html:lang(zh) body,html:lang(zh) .report-frame,html:lang(zh) .primary,html:lang(zh) .report-frame p{font-family:Pixel,Microsoft YaHei,sans-serif}html:lang(ja) body,html:lang(ja) .report-frame,html:lang(ja) .primary,html:lang(ja) .report-frame p{font-family:Pixel,Yu Gothic,Meiryo,sans-serif}html:lang(ko) body,html:lang(ko) .report-frame,html:lang(ko) .primary,html:lang(ko) .report-frame p{font-family:Pixel,Malgun Gothic,sans-serif}
