:root{--bg: #0e0d0c;--paper: #f5efe2;--paper-2: #ebe2cd;--ink: #14110f;--ink-soft: #4a4441;--muted: #8a847a;--accent: #e8472b;--accent-2: #f59e0b;--line: rgba(245, 239, 226, .14);--panel-bg: rgba(14, 13, 12, .55);--panel-border: rgba(245, 239, 226, .1);--max-w: 1100px;--font-display: "Bebas Neue", "Inter", sans-serif;--font-script: "Allura", cursive;--font-body: "Inter", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{background:#000;color:var(--paper);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow-x:hidden}img,svg,canvas{display:block;max-width:100%}button{font:inherit}a{color:inherit}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:8px;background:var(--accent);color:#fff;padding:8px 12px;border-radius:4px;z-index:1000;text-decoration:none}.skip-link:focus{top:8px}.game-canvas{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:0;background:#000;image-rendering:auto}.bike-canvas{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:25;pointer-events:none;background:transparent}body.playing-mode .game-canvas,body.playing-mode .bike-canvas{position:fixed;top:0;right:0;bottom:0;left:0}@media(max-width:820px){body.showcase-mode .bike-canvas{opacity:0}body.showcase-mode .game-canvas{opacity:.55}}body.playing-mode .game-canvas,body.playing-mode .bike-canvas{opacity:1!important}.game-canvas.fs{z-index:200}.game-hud{position:fixed;top:14px;left:0;right:0;z-index:30;display:none;justify-content:space-between;align-items:center;padding:0 16px;pointer-events:none}.game-hud>*{pointer-events:auto}body.playing-mode .game-hud{display:flex}.hud-pill{display:flex;align-items:center;gap:10px;background:#0009;border:1px solid var(--line);color:#fff;padding:6px 14px;border-radius:999px;font-size:13px;font-family:var(--font-body);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hud-meta{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:14px;letter-spacing:2px}.hud-level{color:var(--accent)}.hud-sep{opacity:.4}.hud-timer{color:var(--paper);font-variant-numeric:tabular-nums}.hud-divider{width:1px;height:14px;background:#fff3;margin:0 2px}.hud-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.hud-pill.live .dot{background:var(--accent);animation:pulse 1.4s ease-out infinite}.pause-btn{background:#0009;color:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-family:var(--font-display);font-size:13px;letter-spacing:2px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pause-btn:hover{background:#000000d9;border-color:var(--accent);color:var(--accent)}@keyframes pulse{0%{box-shadow:0 0 #e8472b99}to{box-shadow:0 0 0 12px #e8472b00}}.fs-btn{width:36px;height:36px;background:#0000008c;color:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fs-btn:hover{background:#000000d9;border-color:var(--accent)}.touch-controls{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:0;right:0;display:none;justify-content:space-between;align-items:flex-end;padding:0 max(16px,env(safe-area-inset-left)) 0 max(16px,env(safe-area-inset-right));pointer-events:none;z-index:60}.touch-cluster{display:flex;gap:14px;pointer-events:auto}.touch-btn{width:clamp(56px,16vw,78px);height:clamp(56px,16vw,78px);border-radius:50%;border:2px solid rgba(255,255,255,.55);background:#0000008c;color:#fff;font-size:clamp(18px,4vw,22px);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #00000059}.touch-btn.gas{background:#e8472bc7;border-color:#ffffffb3;font-size:clamp(13px,3vw,16px)}.touch-btn.brake{background:#3c3c3cb3;font-size:clamp(13px,3vw,15px)}.touch-btn.lean-l,.touch-btn.lean-r{font-size:clamp(22px,5vw,26px)}.touch-btn:active{transform:scale(.93);background-color:#e8472b8c}@media(hover:none),(pointer:coarse),(max-width:820px){body.playing-mode .touch-controls{display:flex}}.overlay{position:relative;z-index:10;transition:opacity .45s ease,transform .45s ease}body.playing-mode .overlay{opacity:0;pointer-events:none;transform:translateY(-8px)}body.playing-mode .game-hud{opacity:1}#pauseBtn{display:none;background:#0000008c;color:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-family:var(--font-display);font-size:13px;letter-spacing:2px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#pauseBtn:hover{background:#000000d9;border-color:var(--accent);color:var(--accent)}body.playing-mode #pauseBtn,body.playing-mode #passengerBtn,body.playing-mode .head-size-control,body.playing-mode .skin-btn,body.playing-mode .quality-select{display:inline-flex;align-items:center}.quality-select{display:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;padding:4px 8px;font-family:var(--font-display);font-size:12px;letter-spacing:1px}.quality-picker{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:6px 14px;background:#00000073;color:var(--paper);border:1px solid var(--line);border-radius:999px;font-family:var(--font-body);font-size:13px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.quality-picker select{background:transparent;color:var(--paper);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-family:var(--font-body);font-size:12px}.quality-picker select option{background:var(--bg);color:var(--paper)}body.playing-mode .debug-panel{display:inline-block}.debug-panel{display:none;background:#000000bf;color:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 12px;font-family:var(--font-body);font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;max-width:320px}.debug-panel summary{cursor:pointer;font-family:var(--font-display);letter-spacing:2px}.debug-grid{display:grid;grid-template-columns:1fr;gap:4px;margin-top:8px}.debug-grid strong{color:var(--accent);font-family:var(--font-display);letter-spacing:1.5px;margin-top:4px}.debug-grid label{display:grid;grid-template-columns:36px 1fr 50px;gap:6px;align-items:center}.debug-grid input[type=range]{accent-color:var(--accent);width:100%}.debug-grid span{text-align:right;color:var(--accent);font-weight:600}.debug-grid input.dbg-num{width:60px;background:#ffffff0f;color:var(--accent);border:1px solid var(--line);border-radius:4px;padding:2px 4px;font-family:var(--font-body);font-size:11px;text-align:right;-moz-appearance:textfield}.debug-grid input.dbg-num::-webkit-outer-spin-button,.debug-grid input.dbg-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.debug-grid label{grid-template-columns:56px 1fr 60px}.debug-grid .sub{border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:#ffffff05}.debug-grid .sub>summary{cursor:pointer;font-family:var(--font-display);letter-spacing:1px;color:var(--accent);list-style:revert}.debug-grid .sub label{margin-top:4px}.copy-debug-btn{background:var(--accent);color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-family:var(--font-display);letter-spacing:1.5px;font-size:12px;margin-bottom:6px}.copy-debug-btn.ok{background:#2da34a}.jump-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:12px}.jump-row input{width:50px;padding:4px 6px;border-radius:4px;border:1px solid var(--line);background:#ffffff0f;color:var(--paper);font-family:var(--font-body);text-align:center}.jump-row .copy-debug-btn{padding:4px 10px}.lb-overlay .end-card{max-width:380px}.hud-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}#passengerBtn,.skin-btn,.head-size-control{display:none}#passengerBtn.on{background:#e8472bb3;color:#fff;border-color:var(--accent)}.skin-btn{cursor:pointer}.head-size-control{background:#0009;color:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-family:var(--font-display);font-size:12px;letter-spacing:1px;gap:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.head-size-control input[type=range]{width:80px;accent-color:var(--accent)}#headSizeValue{min-width:22px;text-align:right;color:var(--accent);font-family:var(--font-body);font-weight:600}.end-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto}.end-overlay[hidden]{display:none}.end-card{background:#14110ff2;border:1px solid var(--line);border-radius:16px;padding:clamp(28px,5vw,48px) clamp(36px,6vw,64px);text-align:center;box-shadow:0 30px 80px #000000b3;display:flex;flex-direction:column;align-items:center;gap:22px}.end-card h2{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,6vw,64px);letter-spacing:3px;text-transform:uppercase;margin:0;color:var(--paper)}.end-card.crashed h2{color:var(--accent)}.end-hint{font-family:var(--font-body);font-size:13px;color:var(--muted);margin:4px 0 0;letter-spacing:.5px}.end-time{margin:0;font-family:var(--font-display);font-size:18px;letter-spacing:2px;color:var(--accent)}.lb-form{display:flex;flex-direction:column;gap:8px;margin-top:12px;width:100%;max-width:280px}.lb-form[hidden],.lb-list[hidden]{display:none!important}.lb-form input{background:#ffffff0f;color:var(--paper);border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-family:var(--font-body);font-size:14px;text-align:center;outline:none}.lb-form input:focus{border-color:var(--accent)}.lb-form .btn-submit{font-size:14px;padding:8px 16px}.lb-status{margin:0;font-size:12px;color:var(--muted);min-height:16px}.lb-list{list-style:none;padding:0;margin:12px 0 0;width:100%;max-width:320px;font-family:var(--font-body);font-size:13px;text-align:left}.lb-list li{display:grid;grid-template-columns:32px 1fr 70px;gap:8px;padding:4px 8px;border-bottom:1px solid var(--line);color:var(--paper)}.lb-list li.me{background:#e8472b1f;border-radius:4px}.lb-list .lb-rank{color:var(--accent);font-weight:700}.lb-list .lb-time{text-align:right;font-variant-numeric:tabular-nums}.end-hint kbd{background:#f5efe214;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:var(--font-body);font-size:12px;color:var(--paper);margin:0 2px}.game-hud{transition:opacity .3s ease}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:clamp(60px,10vh,110px) 20px 0;position:relative}.eyebrow{font-family:var(--font-display);font-size:14px;letter-spacing:5px;color:var(--accent);margin:0 0 14px;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.6)}.hero-title{font-family:var(--font-display);font-weight:400;font-size:clamp(54px,9vw,130px);margin:0 0 14px;line-height:.95;text-transform:uppercase;letter-spacing:2px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 24px;text-shadow:0 6px 24px rgba(0,0,0,.55)}.hero-title .amp{font-family:var(--font-script);color:var(--accent);font-weight:400;font-size:.85em;text-transform:none;letter-spacing:0;line-height:1}.save-date{font-family:var(--font-body);color:var(--paper);opacity:.85;letter-spacing:1px;margin:0 0 28px;font-size:15px;text-shadow:0 2px 8px rgba(0,0,0,.7)}.hero-nav{font-family:var(--font-display);font-size:clamp(15px,1.6vw,18px);letter-spacing:4px;margin-bottom:28px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 14px}.hero-nav a{color:var(--paper);text-decoration:none;padding:4px 6px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;cursor:pointer;text-shadow:0 2px 8px rgba(0,0,0,.7)}.hero-nav a:hover,.hero-nav a:focus{color:var(--accent);border-bottom-color:var(--accent)}.hero-nav .sep{color:var(--paper);opacity:.5}.btn-play{font-family:var(--font-display);font-size:clamp(20px,2.5vw,28px);letter-spacing:6px;padding:14px 36px;background:var(--accent);color:#fff;border:none;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:14px;box-shadow:0 12px 30px #e8472b73,0 0 60px #e8472b40;transition:transform .1s,box-shadow .15s,background .15s}.btn-play:hover{background:#ff5b3e;box-shadow:0 16px 40px #e8472b99}.btn-play:active{transform:translateY(2px)}.btn-play.playing{background:#0006;border:2px solid var(--line);box-shadow:0 8px 20px #0006}.btn-play-icon{font-size:.7em}.ctrl-hint{margin:18px 0 0;font-size:13px;color:var(--paper);opacity:.75;letter-spacing:.5px;text-shadow:0 2px 8px rgba(0,0,0,.7)}.ctrl-hint kbd{background:#00000080;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:var(--font-body);font-size:12px;color:var(--paper);margin:0 2px}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translate(-50%);color:var(--paper);text-decoration:none;font-family:var(--font-display);font-size:13px;letter-spacing:3px;text-transform:uppercase;opacity:.7;display:flex;flex-direction:column;align-items:center;gap:6px;text-shadow:0 2px 8px rgba(0,0,0,.7)}.scroll-cue:hover{opacity:1;color:var(--accent)}.scroll-cue .arrow{animation:bob 1.6s ease-in-out infinite;font-size:18px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.panel{background:var(--panel-bg);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.gate{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:80px 20px;text-align:center;border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border)}.gate-card{max-width:560px;width:100%;background:#f5efe2f2;color:var(--ink);border-radius:16px;padding:clamp(28px,4vw,44px);box-shadow:0 30px 70px -20px #000000b3}.gate-tag{display:inline-block;font-family:var(--font-display);font-size:12px;letter-spacing:4px;color:var(--accent);background:#e8472b1a;padding:6px 12px;border-radius:999px;text-transform:uppercase;margin-bottom:14px}.gate-card h2{font-family:var(--font-display);font-weight:400;font-size:clamp(40px,6vw,60px);letter-spacing:2px;text-transform:uppercase;margin:0 0 8px;color:var(--ink)}.gate-sub{margin:0 0 24px;color:var(--ink-soft);font-size:16px}.gate-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.gate-form input[type=password]{flex:1 1 220px;font-family:var(--font-body);font-size:16px;padding:14px 18px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);outline:none}.gate-form input[type=password]:focus{border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:600;padding:14px 28px;border-radius:999px;border:2px solid var(--ink);cursor:pointer;text-decoration:none;transition:transform .08s,background .15s,color .15s}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-primary:active{transform:translateY(1px)}.gate-error{color:var(--accent);font-size:14px;min-height:18px;margin:14px 0 0}.protected{animation:fadeUp .4s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.info-section{padding:clamp(60px,9vw,100px) clamp(20px,5vw,80px);border-top:1px solid var(--panel-border);color:var(--paper)}.info-num{display:inline-block;font-family:var(--font-display);font-size:14px;letter-spacing:4px;color:var(--accent);margin-bottom:12px;text-transform:uppercase}.info-section h2{font-family:var(--font-display);font-weight:400;font-size:clamp(44px,7vw,84px);letter-spacing:2px;text-transform:uppercase;margin:0 0 18px;line-height:1;text-shadow:0 4px 16px rgba(0,0,0,.5)}.info-section .lead{font-size:clamp(18px,1.6vw,22px);color:var(--paper);opacity:.9;margin:0 0 14px;max-width:60ch}.info-section p{margin:0 0 12px;max-width:60ch;opacity:.85}.site-footer{padding:32px 20px;text-align:center;color:var(--muted);font-size:14px;letter-spacing:1px;border-top:1px solid var(--panel-border);background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:540px){.hero-nav{gap:0 6px;font-size:14px}.hero-nav .sep{display:none}.hero-title{gap:0 12px}}
