:root{--bb-blue:#62b2ed;--bb-orange:#e0752b;--bb-ink:#0b1220;--bb-panel:#0a12209e;--bb-stroke:#ffffff24;--bb-font-display:"Avenir Next", "Montserrat", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--bb-font-body:"Inter", "Avenir Next", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--bb-font-body)}*{box-sizing:border-box}html,body{background:var(--bb-ink);color:#fff;-webkit-user-select:none;user-select:none;touch-action:none;height:100%;margin:0;padding:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{width:100%;height:100%;display:block}.bb-loading{z-index:100;background:radial-gradient(1200px 800px at 50% 20%,#16243c 0%,#0b1220 70%);flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;transition:opacity .6s;display:flex;position:fixed;inset:0}.bb-loading.hidden{opacity:0;pointer-events:none}.bb-loading__brand{font-family:var(--bb-font-display);letter-spacing:0;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:900;line-height:.95}.bb-loading__brand span{color:var(--bb-blue)}.bb-loading__logo{filter:drop-shadow(0 16px 34px #00000057);width:clamp(88px,14vw,136px);height:auto}.bb-loading__bar{background:#ffffff1f;border-radius:999px;width:min(320px,70vw);height:6px;overflow:hidden}.bb-loading__fill{background:linear-gradient(90deg, var(--bb-blue), var(--bb-orange));border-radius:999px;width:0%;height:100%;transition:width .3s}.bb-loading__msg{color:#fff9;font-size:.85rem}.bb-error{z-index:200;text-align:center;color:#ffd7d7;white-space:pre-wrap;background:#2a0d0d;justify-content:center;align-items:center;padding:2rem;font-size:.95rem;display:flex;position:fixed;inset:0}.bb-tutorial-overlay,.bb-settings-panel{z-index:120;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bb-tutorial-overlay.hidden,.bb-settings-panel.hidden{display:none}.bb-panel-card{color:#f0f8ff;background:#08101cf5;border:1px solid #ffffff1f;border-radius:16px;width:100%;max-width:min(440px,100vw - 32px);padding:28px 32px;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.bb-panel-title{color:#fff;margin:0 0 20px;font-size:22px;font-weight:800}.bb-tutorial-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.bb-tutorial-col-head{letter-spacing:.06em;text-transform:uppercase;color:#ffffff73;margin-bottom:8px;font-size:12px;font-weight:700}.bb-tutorial-row{align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.bb-tutorial-row kbd{color:#fff;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:12px}.bb-tutorial-pad{color:#fff;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:2px 6px;font-size:12px}.bb-btn-primary{color:#fff;cursor:pointer;background:#1a7fd4;border:none;border-radius:8px;width:100%;margin-top:16px;padding:12px 24px;font-size:16px;font-weight:700}.bb-btn-primary:hover{background:#1e8fe8}.bb-tutorial-countdown{opacity:.65;font-size:14px}.bb-settings-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.bb-settings-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:16px;display:flex}.bb-settings-close:hover{background:#ffffff1a}.bb-settings-section-label{letter-spacing:.08em;text-transform:uppercase;color:#fff6;margin:16px 0 4px;font-size:11px;font-weight:700}.bb-settings-row{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:10px 0;font-size:15px;display:flex}.bb-settings-row:last-child{border-bottom:none}.bb-settings-toggle{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;min-width:60px;padding:4px 12px;font-size:14px;font-weight:600}.bb-settings-toggle:hover{background:#ffffff2e}.bb-settings-controls-summary .bb-settings-row span:last-child{color:#ffffff8c;font-size:13px}.bb-settings-reload-msg{color:#e0a030;text-align:right;margin-top:4px;font-size:12px}.bb-settings-reload-msg.hidden{display:none}input[type=range].bb-slider{-webkit-appearance:none;cursor:pointer;background:#1a7fd4;border-radius:2px;outline:none;width:140px;height:4px}input[type=range].bb-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #1a7fd4;border-radius:50%;width:16px;height:16px}input[type=range].bb-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #1a7fd4;border-radius:50%;width:16px;height:16px}.bb-weather-bar{top:calc(10px + env(safe-area-inset-top));z-index:30;background:var(--bb-panel);border:1px solid var(--bb-stroke);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;text-shadow:0 1px 3px #0000008c;--bb-weather-fill:0%;border-radius:18px;flex-direction:column;align-items:center;gap:3px;padding:6px 16px 8px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.bb-weather-bar.hidden{display:none}.bb-weather-row{align-items:center;gap:10px;display:flex}.bb-weather-end{flex:none;align-items:center;display:inline-flex}.bb-weather-icon{width:20px;height:20px;display:block}.bb-weather-sun{color:#ffd66b}.bb-weather-snow{color:#d7ecff}.bb-weather-track{align-items:center;display:flex;position:relative}input[type=range].bb-weather-slider{appearance:none;cursor:pointer;background:linear-gradient(90deg, #f7b733 0%, #62b2ed var(--bb-weather-fill), #ffffff38 var(--bb-weather-fill), #ffffff38 100%);border-radius:3px;outline:none;width:190px;height:6px}input[type=range].bb-weather-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #1a7fd4;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000073}input[type=range].bb-weather-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #1a7fd4;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000073}.bb-weather-label{font-family:var(--bb-font-display);letter-spacing:.04em;text-align:center;font-size:12px;font-weight:700;line-height:1}@media (max-width:720px){.bb-weather-bar{padding:5px 12px 6px}input[type=range].bb-weather-slider{width:120px}}.globe-ui{z-index:15;pointer-events:none;font-family:var(--bb-font-body);color:#fff;position:fixed;inset:0}.globe-ui.hidden{display:none}.globe-title{text-align:center;text-shadow:0 2px 12px #0009;justify-items:center;gap:7px;display:grid;position:absolute;top:7vh;left:50%;transform:translate(-50%)}.globe-title__logo{filter:drop-shadow(0 16px 32px #0000005c);width:clamp(76px,10vw,124px);height:auto}.globe-title h1{font-family:var(--bb-font-display);letter-spacing:0;margin:0;font-size:clamp(2rem,5vw,3.4rem);font-weight:900;line-height:.9}.globe-title h1 span{color:var(--bb-blue)}.globe-title p{opacity:.78;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:800}.globe-leaders{z-index:14;pointer-events:none;position:fixed;inset:0}.globe-leaders line{stroke:#fff6;stroke-width:1px}.globe-pin{pointer-events:auto;cursor:pointer;white-space:nowrap;background:var(--bb-panel);border:1px solid var(--bb-stroke);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:0 1px 2px #0009;border-radius:999px;padding:3px 10px;font-size:.82rem;font-weight:700;transition:opacity .2s;position:absolute;transform:translate(-50%,-50%)}.globe-pin--playable{border-color:var(--bb-orange);box-shadow:0 0 14px #e0752b99}.globe-pin--playable:after{content:" ▸ Ride";color:var(--bb-orange)}.globe-pin--argentina{border-color:var(--bb-blue);box-shadow:0 0 14px #62b2ed9e}.globe-pin--playable.globe-pin--argentina:after,.globe-pin--soon.globe-pin--argentina:after{color:var(--bb-blue)}.globe-pin--soon{opacity:.55;cursor:default;font-weight:600}.globe-pin--soon:after{content:" · soon";opacity:.7;font-weight:400}.globe-pin--back{opacity:.12;pointer-events:none}.globe-hint{opacity:.7;text-align:center;font-size:.85rem;position:absolute;bottom:5vh;left:50%;transform:translate(-50%)}@media (pointer:coarse),(max-width:680px){.globe-title{top:calc(4vh + env(safe-area-inset-top));gap:5px;width:min(92vw,360px)}.globe-title__logo{width:64px}.globe-title h1{font-size:1.65rem}.globe-title p{margin-top:4px;font-size:.78rem}.globe-pin{text-overflow:ellipsis;border-radius:8px;max-width:46vw;padding:5px 9px;font-size:.74rem;overflow:hidden}.globe-pin--playable:after{content:" ▸"}.globe-pin--soon:after{content:""}.globe-hint{bottom:calc(3vh + env(safe-area-inset-bottom));width:min(86vw,320px);font-size:.72rem;line-height:1.35}}.hud{z-index:20;pointer-events:none;font-family:var(--bb-font-body);color:#fff;text-shadow:0 1px 3px #0000008c;position:fixed;inset:0}.hud.hidden{display:none}.hud__panel{background:var(--bb-panel);border:1px solid var(--bb-stroke);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;padding:10px 14px;position:absolute}.hud__tl{top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));max-width:44vw}.hud__brand{color:#fffffff0;font-family:var(--bb-font-display);letter-spacing:.06em;text-shadow:0 1px 5px #000000bf;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:7px;font-size:.72rem;font-weight:900;line-height:1;display:flex}.hud__brand-logo{box-sizing:border-box;filter:saturate(1.12)drop-shadow(0 3px 7px #00000075);object-fit:contain;background:#050d187a;border:1px solid #ffffff2e;border-radius:9px;flex:none;width:38px;height:36px;padding:2px;display:block;box-shadow:0 8px 20px #0000003d,inset 0 0 0 1px #62b2ed24}.hud__run{align-items:center;gap:8px;min-width:0;font-size:1.1rem;font-weight:800;display:flex}.hud__run-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.hud__chip{vertical-align:middle;color:#fff;border-radius:999px;flex:none;padding:1px 9px;font-size:.72rem;font-weight:700;display:inline-block}.hud__alt{opacity:.85;margin-top:2px;font-size:.82rem}.hud__tc{top:calc(66px + env(safe-area-inset-top));text-align:center;min-width:116px;left:50%;transform:translate(-50%)}.hud__speed{font-family:var(--bb-font-display);font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:900;line-height:1}.hud__speed small{opacity:.8;font-size:.9rem;font-weight:600}.hud__score{color:var(--bb-blue);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.hud__trick{color:#f2c14e;letter-spacing:0;min-height:1rem;font-size:.78rem;font-weight:900}.hud__trick--active{text-shadow:0 0 12px #f2c14e99}.hud__hint{color:#9fd3ff;letter-spacing:.02em;min-height:0;font-size:.74rem;font-weight:700}.hud__hint--active{text-shadow:0 0 10px #62b2ed8c}.hud__fullmap{z-index:60;pointer-events:auto;cursor:pointer;background:#0d1624eb;border:1px solid #ffffff24;border-radius:14px;padding:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 50px #00000073}.hud__fullmap.hidden{display:none}.hud__tr{top:calc(62px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));padding:6px}.hud__minimap{border-radius:8px;display:block}.hud__bl{bottom:calc(16px + env(safe-area-inset-bottom));left:calc(16px + env(safe-area-inset-left));opacity:.9;font-size:.78rem;line-height:1.5}.hud__bl kbd{background:#ffffff29;border-radius:4px;padding:0 6px;font-family:inherit}.hud__br{bottom:calc(16px + env(safe-area-inset-bottom));right:calc(16px + env(safe-area-inset-right));width:220px}.hud__progress-label{justify-content:space-between;margin-bottom:5px;font-size:.78rem;display:flex}.hud__progress{background:#ffffff29;border-radius:999px;height:8px;overflow:hidden}.hud__progress-fill{background:linear-gradient(90deg, var(--bb-blue), var(--bb-orange));border-radius:999px;width:0%;height:100%;transition:width .2s linear}.hud__pause,.hud__restart{top:calc(14px + env(safe-area-inset-top));pointer-events:auto;background:var(--bb-panel);border:1px solid var(--bb-stroke);color:#fff;cursor:pointer;border-radius:10px;width:40px;height:40px;font-size:1rem;position:absolute}.hud__pause{right:calc(14px + env(safe-area-inset-right));letter-spacing:2px}.hud__restart{right:calc(60px + env(safe-area-inset-right));font-size:1.25rem;line-height:1}.bb-card{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050a148c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bb-card.hidden{display:none}.bb-card__box{border:1px solid var(--bb-stroke);text-align:center;background:linear-gradient(#16243c,#0b1220);border-radius:18px;min-width:300px;padding:28px 34px;box-shadow:0 20px 60px #00000080}.bb-card__brand{justify-items:center;gap:8px;margin-bottom:12px;display:grid}.bb-card__logo{filter:drop-shadow(0 14px 26px #0000004d);width:78px;height:auto}.bb-card__title{font-family:var(--bb-font-display);letter-spacing:0;font-size:1.6rem;font-weight:900;line-height:.95}.bb-card__title span{color:var(--bb-blue)}.bb-card__stats{font-variant-numeric:tabular-nums;grid-template-columns:1fr 1fr;gap:10px 24px;margin:16px 0;display:grid}.bb-card__stat b{font-size:1.4rem;display:block}.bb-card__stat span{opacity:.7;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.bb-btn{pointer-events:auto;cursor:pointer;background:linear-gradient(90deg, var(--bb-blue), #4a98d8);color:#06121f;border:none;border-radius:12px;margin:6px;padding:11px 22px;font-size:.95rem;font-weight:700}.bb-btn--ghost{border:1px solid var(--bb-stroke);color:#fff;background:0 0}.touch-controls{pointer-events:none;--touch-gap:10px;--touch-carve:76px;--touch-small:52px;--touch-jump:96px;display:none;position:absolute;inset:0}body.touch .touch-controls{display:block}.touch-carve{left:calc(18px + env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));gap:var(--touch-gap);align-items:end;display:flex;position:absolute}.touch-actions{right:calc(18px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));grid-template-columns:repeat(2, var(--touch-small)) var(--touch-jump);grid-template-rows:repeat(2, var(--touch-small));gap:var(--touch-gap);align-items:end;display:grid;position:absolute}.touch-tricks{grid-area:1/1/3/3;grid-template-columns:repeat(2, var(--touch-small));gap:var(--touch-gap);display:grid}.touch-speed{right:0;bottom:calc(var(--touch-jump) + var(--touch-gap));gap:var(--touch-gap);display:flex;position:absolute}.touch-btn{pointer-events:auto;box-sizing:border-box;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;background:#080e1661;border:1px solid #ffffff70;border-radius:50%;justify-content:center;align-items:center;font-weight:800;transition:transform 60ms,background 60ms,border-color 60ms;display:flex;box-shadow:inset 0 0 0 1px #ffffff14,0 10px 22px #00000038}.touch-btn:focus-visible{outline-offset:3px;outline:2px solid #ffffffd1}.touch-btn span{line-height:1;display:block}.touch-btn--carve{width:var(--touch-carve);height:var(--touch-carve);padding-bottom:6px;font-size:2.6rem}.touch-btn--jump{width:var(--touch-jump);height:var(--touch-jump);background:#2e95da57;grid-area:1/3/3;align-self:end;font-size:1.65rem}.touch-btn--flip{width:var(--touch-small);height:var(--touch-small);font-size:1.2rem}.touch-btn--go,.touch-btn--brake{width:var(--touch-small);height:var(--touch-small);font-size:1.15rem}.touch-btn--go.touch-btn--active{background:#3f9b64}.touch-btn--brake.touch-btn--active{background:#d5272f}.touch-btn--active{background:var(--bb-orange);border-color:#ffffffdb;transform:scale(.93)}.touch-btn--jump.touch-btn--active{background:var(--bb-blue)}.touch-btn--flip.touch-btn--active{color:#101820;background:#f2c14e}@media (pointer:coarse),(max-width:680px){.hud{text-shadow:0 1px 2px #000000b8}.hud__panel{background:#0c11169e;border-radius:8px;padding:6px 9px}.hud__tl{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));max-width:min(42vw, calc(50vw - 52px - env(safe-area-inset-left)))}.hud__brand{gap:5px;margin-bottom:3px;font-size:.58rem}.hud__brand-logo{border-radius:7px;width:27px;height:26px;padding:2px}.hud__run{gap:5px;min-width:0;font-size:.74rem}.hud__chip{flex:none;margin-left:0;padding:1px 5px;font-size:.54rem}.hud__alt{font-size:.62rem}.hud__tc{top:calc(56px + env(safe-area-inset-top));min-width:76px;padding-inline:8px}.hud__speed{font-size:1.32rem}.hud__speed small{font-size:.62rem}.hud__score{font-size:.68rem}.hud__trick{min-height:.7rem;font-size:.58rem}.hud__tr{top:calc(54px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));padding:3px}.hud__minimap{border-radius:6px;width:78px!important;height:78px!important}.hud__pause,.hud__restart{top:calc(8px + env(safe-area-inset-top));border-radius:8px;width:44px;height:44px}.hud__pause{right:calc(8px + env(safe-area-inset-right))}.hud__restart{right:calc(58px + env(safe-area-inset-right))}body.touch .hud__bl{display:none}body.touch .hud__br{top:calc(env(safe-area-inset-top));-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;width:auto;padding:0;bottom:auto;left:0;right:0}body.touch .hud__progress-label{display:none}body.touch .hud__progress{background:#fff3;border-radius:0;height:5px}.touch-controls{--touch-gap:7px;--touch-carve:64px;--touch-small:48px;--touch-jump:82px}.touch-carve{left:calc(12px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));gap:var(--touch-gap)}.touch-actions{right:calc(12px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));gap:var(--touch-gap)}.touch-btn--carve{font-size:2.1rem}.touch-btn--jump{font-size:1.35rem}.touch-tricks{gap:var(--touch-gap);grid-template-columns:repeat(2, var(--touch-small))}.touch-btn--flip{font-size:1rem}.touch-speed{bottom:calc(var(--touch-jump) + var(--touch-gap));gap:var(--touch-gap)}.touch-btn--go,.touch-btn--brake{font-size:1rem}}@media (pointer:coarse) and (orientation:landscape),(max-height:520px) and (max-width:920px){.hud__tr{top:calc(58px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right))}.hud__minimap{width:58px!important;height:58px!important}.hud__tl{max-width:min(42vw, calc(50vw - 58px - env(safe-area-inset-left)))}.touch-controls{--touch-gap:6px;--touch-carve:58px;--touch-small:48px;--touch-jump:74px}.touch-btn--carve{font-size:2rem}.touch-btn--jump{font-size:1.18rem}.touch-btn--flip,.touch-btn--go,.touch-btn--brake{font-size:.95rem}.touch-speed{bottom:calc(var(--touch-jump) + var(--touch-gap))}.touch-carve,.touch-actions{bottom:calc(12px + env(safe-area-inset-bottom))}}@media (max-width:360px){.touch-controls{--touch-gap:6px;--touch-carve:56px;--touch-small:44px;--touch-jump:74px}.touch-carve{left:calc(8px + env(safe-area-inset-left))}.touch-actions{right:calc(8px + env(safe-area-inset-right))}}
