*{box-sizing:border-box}html,body{background:#142e32;width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;font-family:Arial,sans-serif}#game{justify-content:center;align-items:center;width:100%;height:100%;display:flex}canvas{max-width:100%;max-height:100%;display:block}#orientation-gate[hidden]{display:none}#orientation-gate{z-index:100;color:#f9f3da;text-align:center;background:#142e32;place-items:center;padding:32px;display:grid;position:fixed;inset:0}#orientation-gate h1{margin:12px 0;font-size:30px}#orientation-gate p{color:#c5d7c9;line-height:1.7}#orientation-gate small{color:#a8c1b2;max-width:280px;margin:24px auto 0;line-height:1.6;display:block}.rotate-icon{color:#f3c66c;font-size:80px;line-height:1}.results[hidden]{display:none}.results{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);touch-action:pan-y;background:#102c326b;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.score-card{color:#f9f3da;text-align:center;background:#193c3d;border:1px solid #759385;border-radius:24px;width:min(440px,100%);padding:32px;box-shadow:0 24px 90px #102c3255}.eyebrow{letter-spacing:2px;color:#b6cebd;margin:0 0 16px;font-size:11px}.score-card h1{margin:0 0 20px;font-size:30px}.ride-score span{color:#f3c66c;font-size:72px;font-weight:700;line-height:1.1;display:block}.ride-score small{color:#c5d7c9;margin:8px 0 20px;font-size:15px;display:block}.personal-best{letter-spacing:1px;margin-bottom:26px;font-size:12px}.score-card button{cursor:pointer;border:0;border-radius:12px;width:100%;padding:15px;font:700 16px Arial;display:block}.share-score{color:#193c3d;background:#f3c66c}.score-card .ride-again{color:#f9f3da;background:#325655;margin-top:10px}.score-card button:focus-visible{outline-offset:4px;outline:3px solid #fff}.score-card button:disabled{opacity:.6}.share-message{color:#c5d7c9;margin:14px 0 0;font-size:13px;line-height:1.5}.share-message:empty{display:none}.score-copy{-webkit-user-select:text;user-select:text;border-radius:8px;width:100%;min-height:80px;margin-top:12px;padding:10px;font:14px Arial}@media (height<=580px){.score-card{padding:18px}.score-card h1{margin-bottom:8px;font-size:24px}.ride-score span{font-size:48px}.ride-score small{margin:4px 0 10px}.personal-best{margin:10px 0 14px}.score-card button{padding:10px}}.start-screen[hidden]{display:none}.start-screen{z-index:80;touch-action:pan-y;background:#142e3280;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.start-form{max-height:calc(100dvh - 32px);overflow:auto}.start-form label{text-align:left;color:#c5d7c9;margin-bottom:8px;font-size:14px;display:block}.start-form input{color:#193c3d;-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#f9f3da;border:1px solid #759385;border-radius:9px;width:100%;padding:12px;font:18px Arial}.start-form p{color:#c5d7c9;font-size:15px}.start-form button,.score-card .retry-score{color:#193c3d;background:#f3c66c}.score-card .retry-score[hidden]{display:none}.score-card .view-scoreboard{color:#f9f3da;background:#325655;margin-top:10px}.leaderboard h3{margin:22px 0 8px;font-size:17px}.board-period-note,.empty-today,.empty-week,.empty-all{color:#c5d7c9;font-size:13px;line-height:1.6}.results .score-card{touch-action:pan-y;max-height:calc(100dvh - 40px);overflow:auto}.leaderboard{text-align:left;border-top:1px solid #759385;margin-top:24px;padding-top:16px}.leaderboard h2{margin:0 0 14px;font-size:21px}.score-form label{color:#c5d7c9;margin-bottom:8px;font-size:13px;display:block}.score-form>div{gap:8px;display:flex}.score-form input{color:#193c3d;-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#f9f3da;border:1px solid #759385;border-radius:9px;flex:1;width:50%;min-width:0;padding:10px;font:16px Arial}.score-card .score-form button{color:#193c3d;white-space:nowrap;background:#f3c66c;width:auto;padding:10px 12px;font-size:14px}.board-message{color:#c5d7c9;font-size:13px;line-height:1.5}.score-list{padding-left:25px;font-size:15px}.score-list li{border-bottom:1px solid #75938555;padding:8px 0}.score-list li span{overflow-wrap:anywhere;max-width:65%;display:inline-block}.score-list strong{float:right;color:#f3c66c;font-size:14px}.score-card .refresh-board{color:#c5d7c9;background:0 0;padding:8px;font-size:13px;text-decoration:underline}.fullscreen-toggle{top:max(10px,env(safe-area-inset-top));z-index:50;color:#f9f3da;cursor:pointer;background:#193c3def;border:1px solid #759385;border-radius:10px;padding:9px 14px;font:700 14px Arial;position:fixed;left:50%;transform:translate(-50%)}.fullscreen-toggle[hidden]{display:none}#game{place-items:center;width:100%;height:100dvh;display:grid;position:fixed;inset:0}#game canvas{margin:0!important}.fullscreen-prompt{z-index:90;touch-action:pan-y;background:#142e32ed;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.fullscreen-description{color:#c5d7c9;font-size:16px;line-height:1.6}.enter-fullscreen{color:#193c3d;background:#f3c66c}.score-card button[hidden]{display:none}.boost-button{right:max(20px,env(safe-area-inset-right));bottom:max(70px,calc(env(safe-area-inset-bottom) + 50px));z-index:40;color:#193c3d;touch-action:manipulation;cursor:pointer;background:#f3c66c;border:2px solid #f3c66c;border-radius:14px;min-height:52px;padding:16px 22px;font:700 18px Arial;position:fixed}.boost-button:disabled{color:#e4d9b6;cursor:default;background:#193c3deb;border-color:#759385}.boost-button[hidden]{display:none}.boost-button:focus-visible{outline-offset:3px;outline:3px solid #fff}.boost-button,.boost-button:disabled{background:linear-gradient(to right,#f3c66c var(--boost-fill,0%),#325655 var(--boost-fill,0%));color:#fff;text-shadow:0 1px 3px #142e32;transition:background .15s}.leaderboard [role=tabpanel][hidden]{display:none}.leaderboard-tabs{background:#102e30;border:1px solid #759385;border-radius:10px;gap:4px;margin-top:16px;padding:4px;display:flex}.score-card .leaderboard-tabs button{color:#c5d7c9;width:auto;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;margin:0;padding:10px 8px;font-size:12px;font-weight:700}.score-card .leaderboard-tabs button[aria-selected=true]{color:#193c3d;background:#f3c66c}
