:root{color-scheme:dark;--bg:#07121f;--panel:#0c1d2c;--panel2:#102639;--line:#1b3548;--ink:#eef8ff;--muted:#8ea8bb;--cyan:#43e5d1;--lime:#c3fb57;--orange:#ffbd57;--danger:#ff5b67;--tg-viewport-height:100vh}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:radial-gradient(ellipse at 50% -20%,#17334a 0%,var(--bg) 55%);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}body{min-height:100dvh;overscroll-behavior:none}.shell{width:min(100%,620px);margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.topbar{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;border:1px solid #2e6173;background:#0d2936;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:3px;transform:skewY(-7deg)}.brand-mark span{height:17px;width:4px;border-radius:4px;background:var(--cyan)}.brand-mark span:nth-child(2){height:25px;background:var(--lime)}.brand-mark span:nth-child(3){height:12px;background:var(--orange)}.brand-copy{flex:1}.eyebrow{font-size:9px;letter-spacing:.19em;color:var(--cyan);font-weight:800}.brand-copy h1{font:900 22px/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:.05em;margin:3px 0 0}.brand-copy h1 b{color:var(--lime)}.profile-chip{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:#bed2df;font-size:10px;font-weight:800;letter-spacing:.06em;background:#0b1b29}.intro-row{display:flex;align-items:end;justify-content:space-between;padding:1px 1px 0}.intro-row h2,.leaderboard h2{font:800 25px/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:.02em;margin:5px 0 0}.best-box{text-align:right;border-right:2px solid var(--lime);padding:0 9px 0 14px}.best-box span,.hud span{display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.14em}.best-box strong{font:800 20px 'Barlow Condensed',Impact,sans-serif;color:var(--lime)}.game-frame{position:relative;overflow:hidden;height:min(45vh,330px);min-height:235px;border:1px solid #28495c;border-radius:18px;background:#0a1928;box-shadow:0 18px 44px #0005, inset 0 0 0 1px #ffffff06}.game-frame:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:18px;box-shadow:inset 0 0 40px #02081355}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:12px;left:13px;right:13px;display:flex;justify-content:space-between;pointer-events:none}.hud[hidden]{display:none}.hud div{padding:7px 10px;border:1px solid #ffffff24;background:#07121fbd;backdrop-filter:blur(6px);border-radius:9px}.hud strong{font:800 18px 'Barlow Condensed',Impact,sans-serif}.game-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(0deg,#06101ac9,#06101a65);z-index:2}.game-overlay.off{display:none}.overlay-card{text-align:center;padding:18px 18px 16px;width:min(84%,340px);border:1px solid #ffffff23;border-radius:18px;background:#0b1d2bd9;backdrop-filter:blur(10px);box-shadow:0 18px 40px #0006}.overlay-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--lime);color:#11220b;font-size:18px;font-weight:900;box-shadow:0 0 24px #c3fb574d}.overlay-card h2{font:900 28px 'Barlow Condensed',Impact,sans-serif;margin:10px 0 4px}.overlay-card p{font-size:12px;line-height:1.5;color:#bdd0dc;margin:0 0 15px}.primary-btn{border:0;border-radius:10px;background:var(--lime);color:#142008;font-size:12px;font-weight:900;letter-spacing:.14em;padding:13px 24px;min-width:155px;box-shadow:0 6px 20px #c3fb5733}.primary-btn:active,.control-btn:active{transform:scale(.96)}.lane-labels{position:absolute;bottom:9px;left:0;right:0;display:flex;justify-content:space-evenly;color:#b5d6dd70;font:700 8px 'DM Sans',sans-serif;letter-spacing:.18em;pointer-events:none}.controls{display:flex;justify-content:center;gap:14px;margin:0 auto}.control-btn{height:46px;min-width:70px;border-radius:13px;border:1px solid #274558;background:linear-gradient(180deg,#132b3d,#0d2030);color:var(--ink);font:800 21px 'DM Sans',sans-serif;box-shadow:0 4px 0 #07101a;touch-action:manipulation}.control-btn.jump-btn{min-width:106px;color:var(--lime);font-size:11px;letter-spacing:.16em}.hint{text-align:center;margin:-7px 0 0;color:#718da2;font-size:9px;font-weight:700;letter-spacing:.06em}.status{text-align:center;min-height:16px;margin:-5px 0;color:#a9c0ce;font-size:11px}.status.good{color:var(--lime)}.status.bad{color:#ff8290}.leaderboard{border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#0d2030,#0a1926);padding:14px 15px 12px}.leaderboard-heading{display:flex;justify-content:space-between;align-items:center}.leaderboard h2{font-size:22px}.refresh-btn{height:32px;width:32px;border-radius:10px;border:1px solid #2b4a5c;background:#102638;color:var(--cyan);font-size:20px}.leaderboard ol{padding:0;margin:11px 0 6px;list-style:none;display:flex;flex-direction:column;gap:6px}.leaderboard li{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:8px 9px;border-radius:9px;background:#ffffff05;color:#e1edf4;font-size:12px}.leaderboard li:nth-child(1){background:#c3fb5710;color:var(--lime)}.leaderboard li:nth-child(2){background:#43e5d10a}.rank{font:800 13px 'Barlow Condensed',Impact,sans-serif;color:#8ba5b8}.runner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runner-score{font-weight:800;font-variant-numeric:tabular-nums}.empty-row{display:block!important;text-align:center;color:#8ea8bb!important;background:#ffffff04!important}.fine-print{text-align:center;color:#6e899d;font-size:9px;margin:8px 0 0}footer{text-align:center;color:#567184;font-size:8px;font-weight:800;letter-spacing:.16em;padding:1px 0 0}footer span{color:var(--lime);padding:0 4px}@media(min-height:850px){.game-frame{height:min(44vh,390px)}}@media(max-width:360px){.shell{padding-left:11px;padding-right:11px;gap:11px}.game-frame{min-height:215px}.control-btn{min-width:62px}.control-btn.jump-btn{min-width:92px}.intro-row h2{font-size:23px}}
