.snowcross{margin:0;background:#adcbd8;color:#edf4ef;font-family:Arial,sans-serif;overflow:hidden;--sc-mint:#acf0cf;--sc-ink:#112c36}#snowcrossCanvas{position:fixed;inset:0;width:100%;height:100%;display:block}.snowcross .hidden{display:none!important}.snowcross button,.snowcross select,.snowcross a{min-height:44px;min-width:44px}.snowcross button,.snowcross a{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.snowcross button{border:1px solid #819b9c50;border-radius:5px;background:#173743ed;color:#eef2e9;font:800 12px Arial;letter-spacing:.7px;padding:12px 16px;cursor:pointer;box-shadow:inset 0 1px #ffffff18,0 3px 9px #00141e25;transition:background .15s}.snowcross button:hover{background:#31515a}.snowcross button:focus-visible,.snowcross a:focus-visible,.snowcross select:focus-visible{outline:3px solid #aff5d5;outline-offset:3px}.snowcross button.sc-primary{color:#12312c;background:linear-gradient(120deg,#c6f6c9,#85dcbc);border-color:#d5ffd280}.snowcross button.sc-primary:hover{background:#d5fadb}.sc-header{position:fixed;top:max(14px,env(safe-area-inset-top));left:24px;right:24px;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:16px}.sc-header>a,.sc-result a{display:flex;align-items:center;text-decoration:none;color:#edf2ed;font:bold 12px Arial;letter-spacing:1px;background:#15313cc9;padding:0 15px;border:1px solid #b2d5cf45;border-radius:5px}.sc-header>span{font-size:10px;letter-spacing:3px;text-shadow:0 2px 5px #122e46}.sc-header b{font-size:15px;letter-spacing:4px}.sc-setup{position:fixed;inset:86px 5vw 35px;display:grid;grid-template-columns:1fr 410px;gap:7vw;align-items:center;max-width:1500px;margin:auto;pointer-events:none}.sc-setup>*{pointer-events:auto}.sc-editorial{align-self:start;padding-top:25px;text-shadow:0 3px 22px #061e32bb}.sc-overline{font:800 11px Arial;letter-spacing:2px}.sc-overline i{display:inline-block;width:7px;height:7px;margin-right:8px;background:#b6f7cb;box-shadow:0 0 14px #77ffc4}.sc-editorial h1{font:bold clamp(60px,6.6vw,112px)/.93 Arial;letter-spacing:-6px;margin:26px 0 20px}.sc-editorial h1 em{font-style:normal;color:#d7efdf}.sc-editorial p{font-size:14px;line-height:1.7;color:#eef5f2}.sc-event-stats{display:flex;gap:32px;margin-top:30px}.sc-event-stats strong{display:block;font:bold 29px Arial}.sc-event-stats small{display:block;font-size:9px;letter-spacing:1px;margin-top:7px}.sc-tour{display:flex;flex-direction:column;gap:10px;margin-top:30px;align-items:flex-start}.sc-tour span{font-size:9px;letter-spacing:1.5px}.sc-racecard{background:linear-gradient(135deg,#122e38f5,#102b36ec);padding:25px;border:1px solid #c5e2d448;border-top:3px solid #b1e9c5;border-radius:7px;box-shadow:0 18px 60px #07203166;backdrop-filter:blur(14px)}.sc-card-heading{display:flex;justify-content:space-between;font:800 9px Arial;letter-spacing:2px;color:#9ec6c3}.sc-racecard h2{font:bold 37px/.98 Arial;letter-spacing:-1px;margin:15px 0 22px}.sc-racecard h2 em{font-style:normal;color:#b9ebc8}.sc-racecard label{display:block;font:800 9px Arial;letter-spacing:1px;color:#aac5c9}.sc-racecard select{display:block;width:100%;font:800 11px Arial;color:#f3f3e9;background:#294550;padding:9px;margin-top:6px;border:1px solid #728d9545;border-radius:3px;box-sizing:border-box}.sc-build{font:bold 11px/1.5 Arial;color:#c3e2d2;margin:9px 0 17px}.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}.sc-racecard .sc-assist{display:flex;align-items:center;gap:12px;min-height:44px;margin:4px 0 12px;cursor:pointer}.sc-assist input{appearance:none;width:44px;height:44px;min-width:44px;margin:0;border:1px solid #7aaca1;border-radius:4px;background:#1b3b45;cursor:pointer}.sc-assist input:checked{background:#b7eccb}.sc-assist input:checked:after{content:'✓';display:block;text-align:center;font:bold 26px/44px Arial;color:#193b33}.sc-assist span{color:#d7e9df}.sc-assist small{display:block;margin-top:6px;font:10px/1.4 Arial;letter-spacing:0;color:#a1bfc3}.sc-map{padding:8px 9px 11px;background:#071d2670;border:1px solid #557f8040;border-radius:4px;margin:12px 0 16px}.sc-map svg{width:100%;height:115px;display:block}.sc-map span{font:7px Arial;letter-spacing:.5px;color:#93b8ba;display:block;text-align:center}.sc-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}.sc-advice{font:10px/1.5 Arial;color:#9bbdc3;margin-bottom:0}.sc-exit{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:5}.sc-hud{position:fixed;inset:0;pointer-events:none;z-index:6}.sc-hud button{pointer-events:auto}.sc-timing{position:absolute;top:78px;left:24px;display:flex;background:#0e2b35d9;border:1px solid #b1d9cc45;border-radius:6px;overflow:hidden}.sc-timing>div{padding:12px 20px;border-right:1px solid #cadac625}.sc-timing small{display:block;color:#9ac4c6;font:8px Arial;letter-spacing:1px}.sc-timing b{display:block;font:bold 24px Arial;margin-top:3px;font-variant-numeric:tabular-nums}.sc-timing button{border:0;width:48px}.sc-course-data{position:absolute;top:166px;left:24px;display:flex;gap:18px;text-shadow:0 2px 5px #072e3b;font:800 10px Arial;letter-spacing:.8px}.sc-course-data span:last-child{color:#c1efd1}#scCue{position:absolute;top:30%;left:50%;transform:translateX(-50%);text-align:center;font:bold 58px Arial;text-shadow:0 4px 15px #103f47;white-space:nowrap;color:#e1f9dc}#scGauges .br-round-gauges{bottom:95px;width:490px;gap:5px}#scGauges .br-round-gauge{width:105px}#scGauges .br-round-gauge--tach{width:135px}#scGauges .br-round-gauge--speed{width:112px}.sc-belt{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:#142c36c9;border:1px solid #8ed7ae35;padding:7px 12px;border-radius:3px;font:bold 9px Arial;white-space:nowrap}.sc-belt>i{display:block;width:70px;height:4px;background:linear-gradient(to right,#7aa1c6 0 30%,#b8e6a7 30% 65%,#ef9d70 65% 100%);position:relative}.sc-belt>i>b{position:absolute;width:2px;height:10px;top:-3px;background:white;left:30%}.sc-belt.warn{border-color:#d88152;color:#ffe1b7}.sc-controls{position:absolute;left:24px;right:24px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:end}.sc-steer,.sc-pedals{display:flex;gap:10px}.sc-steer button{width:78px;height:75px;font-size:48px;line-height:1;padding:0;touch-action:none}.sc-pedals button{height:75px;width:96px;touch-action:none;border-bottom:4px solid #61817b}.sc-pedals .sc-throttle{color:#c6fcd9;background:linear-gradient(#275d52,#1b3c40);border-bottom-color:#bdeabd;width:130px}.snowcross button.held{background:#d1f5cf!important;color:#0d302d!important;box-shadow:inset 0 3px 9px #132f4750}.sc-grid-panel{position:absolute;bottom:255px;left:50%;transform:translateX(-50%);width:510px;padding:16px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid #c2dfd275;border-top:3px solid #b4e6c6;border-radius:7px;background:#12323dec;box-shadow:0 12px 40px #09283855;pointer-events:auto}.sc-grid-panel small{font:800 9px Arial;letter-spacing:1px;color:#bae8ce}.sc-grid-panel p{font:11px/1.45 Arial;margin-bottom:0;color:#a8c9cb}.sc-grid-panel button{touch-action:none}.sc-utility{position:absolute;top:80px;right:24px;display:flex;gap:8px}.sc-result{position:fixed;inset:0;z-index:15;background:#071b2fa6;display:grid;place-items:center;backdrop-filter:blur(8px);padding:25px}.sc-result-card{width:min(530px,100%);max-height:85vh;overflow:auto;background:linear-gradient(135deg,#163843,#0a2530);border:1px solid #b8dfca70;border-top:4px solid #bbefce;border-radius:8px;padding:30px;box-sizing:border-box}.sc-result-card>small{font:800 9px Arial;letter-spacing:2px;color:#9bc9c6}.sc-result-card h2{font:bold 43px/.95 Arial;margin:20px 0;color:#d4f3d7;letter-spacing:-1px}.sc-result-card p{font:12px/1.6 Arial;color:#abc8c8}#scResultStats{display:flex;gap:25px;border-block:1px solid #829f9140;padding:16px 0}#scResultStats b{font:bold 23px Arial;display:block}#scResultStats small{font:8px Arial;color:#8cb5b7;display:block;margin-top:5px}#scStandings{list-style:none;margin:20px 0;padding:0}#scStandings li{display:flex;justify-content:space-between;border-bottom:1px solid #65808040;padding:12px 0;font:800 11px Arial}#scStandings span{color:#a8caca}.sc-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sc-result-actions a{justify-content:center}.sc-header.racing>span{display:none}#scLoading{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#173642;color:#d3f7df;font:800 13px Arial;letter-spacing:3px}
@media(max-width:900px){.sc-setup{inset:80px 24px 25px;grid-template-columns:1fr 365px;gap:25px}.sc-editorial h1{font-size:65px;letter-spacing:-4px}.sc-event-stats{gap:17px}.sc-racecard{padding:19px}.sc-racecard h2{font-size:32px;margin-bottom:16px}}
@media(max-width:650px){.sc-header{left:12px;right:12px;top:max(10px,env(safe-area-inset-top));gap:9px}.sc-header>span{font-size:7px;letter-spacing:1px}.sc-header b{display:block;font-size:11px;letter-spacing:2px}.sc-header button,.sc-header>a{font-size:10px;padding:9px 12px}.sc-setup{display:block;inset:72px 12px 15px;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;scrollbar-width:thin}.sc-editorial{padding:10px 8px 20px;position:relative;min-height:182px}.sc-overline{font-size:8px;letter-spacing:1.4px}.sc-editorial h1{font-size:52px;line-height:.94;letter-spacing:-2px;margin:14px 0 12px}.sc-editorial p{font-size:10px;line-height:1.55;margin:0}.sc-event-stats{position:absolute;top:43px;right:4px;flex-direction:column;gap:12px;text-align:right}.sc-event-stats strong{font-size:17px}.sc-event-stats small{font-size:7px;margin-top:3px;letter-spacing:.5px}.sc-tour{margin-top:15px;gap:5px}.sc-tour button{font-size:9px;min-height:44px}.sc-tour span{display:none}.sc-racecard{padding:17px;background:#112d38f5}.sc-racecard h2{font-size:27px;margin:12px 0 15px;line-height:1}.sc-racecard h2 br{display:none}.sc-racecard h2 em{margin-left:6px}.sc-build{font-size:10px;margin-bottom:12px}.sc-grid{gap:10px;margin-bottom:10px}.sc-map{display:none}.sc-assist{margin-bottom:12px!important}.sc-racecard .sc-actions{gap:8px}.sc-actions button{padding:12px 8px;font-size:10px}.sc-advice{font-size:9px}.sc-timing{left:12px;right:12px;top:69px}.sc-timing>div{flex:1;padding:10px 12px}.sc-timing small{font-size:7px}.sc-timing b{font-size:19px}.sc-course-data{top:141px;left:12px;right:12px;font-size:8px;justify-content:space-between}.sc-utility{top:160px;right:12px;gap:7px}.sc-utility button{font-size:8px;padding:7px 9px}.sc-controls{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.sc-steer,.sc-pedals{gap:7px}.sc-steer button{width:58px;height:66px;font-size:42px}.sc-pedals button{width:67px;height:66px;font-size:8px;padding:8px}.sc-pedals .sc-throttle{width:88px}#scGauges .br-round-gauges{bottom:107px;gap:3px;width:calc(100vw - 20px)}#scGauges .br-round-gauge,#scGauges .br-round-gauge--speed{width:22vw;max-width:88px}#scGauges .br-round-gauge--tach{width:25vw;max-width:100px}.sc-belt{bottom:83px;font-size:8px;padding:5px 8px;gap:8px}.sc-belt>i{width:45px}.sc-grid-panel{width:calc(100vw - 24px);box-sizing:border-box;bottom:231px;grid-template-columns:1fr 1fr;padding:12px;gap:10px}.sc-grid-panel>div{grid-column:1/-1}.sc-grid-panel p{font-size:10px;margin:5px 0 0}.sc-grid-panel button{font-size:10px}#scCue{top:36%;font-size:48px}.sc-result{padding:14px}.sc-result-card{padding:22px}.sc-result-card h2{font-size:33px}.sc-result-actions button{padding:10px;font-size:10px}.sc-exit{width:250px;font-size:10px}}
@media(orientation:landscape) and (max-height:600px){.sc-header{top:8px;left:12px;right:12px}.sc-setup{inset:66px 15px 12px;grid-template-columns:1fr 350px;gap:24px;overflow:auto;align-items:start}.sc-editorial{padding-top:5px}.sc-editorial h1{font-size:46px;letter-spacing:-2px;margin:17px 0}.sc-editorial p{font-size:11px}.sc-event-stats{margin-top:15px}.sc-tour{margin-top:15px}.sc-racecard{padding:15px}.sc-racecard h2{font-size:26px}.sc-map{display:none}.sc-timing{top:63px;left:12px}.sc-timing>div{padding:7px 12px}.sc-timing b{font-size:17px}.sc-course-data{top:127px;left:12px;font-size:8px}.sc-utility{top:65px;right:12px}.sc-controls{bottom:12px;left:12px;right:12px}.sc-steer button{height:55px;width:65px}.sc-pedals button{height:55px;width:77px}.sc-pedals .sc-throttle{width:90px}#scGauges .br-round-gauges{bottom:33px;width:330px}#scGauges .br-round-gauge,#scGauges .br-round-gauge--tach,#scGauges .br-round-gauge--speed{width:75px}.sc-belt{bottom:10px;gap:7px;font-size:8px}.sc-grid-panel{bottom:127px;width:425px;padding:12px}.sc-grid-panel p{font-size:9px}#scCue{top:38%;font-size:44px}.sc-result-card{max-height:92vh;padding:20px}.sc-result-card h2{font-size:30px}.sc-header.racing>span{display:none}}

/* Preparation belongs beside the rider, with the central machine unobscured. */
.sc-grid-panel{left:24px;top:207px;bottom:auto;transform:none;width:350px;grid-template-columns:1fr 1fr}.sc-grid-panel>div{grid-column:1/-1}@media(max-width:650px){.sc-grid-panel{left:12px;top:214px;bottom:auto;width:calc(100vw - 24px)}}@media(orientation:landscape) and (max-height:600px){.sc-grid-panel{left:12px;top:153px;bottom:auto;width:290px;padding:10px;gap:8px}.sc-grid-panel p{font-size:8px}}

@media(max-width:650px) and (max-height:650px){.sc-grid-panel{top:204px;padding:10px;gap:8px}.sc-grid-panel>div{display:none}#scGauges .br-round-gauge,#scGauges .br-round-gauge--speed{max-width:74px}#scGauges .br-round-gauge--tach{max-width:86px}}

/* The shared workshop must cover the venue's fixed navigation on small phones. */
.snowcross #tunerPanel{z-index:30}
/* The track wall. Sized so two circuits sit side by side on a phone and the
   row simply grows as venues are added. */
.sc-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px;margin:0 0 16px}
.sc-track{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;
  min-height:72px;padding:10px 12px;border:1px solid #6d8a9a66;border-radius:9px;
  background:linear-gradient(145deg,#1b3340d9,#0b1a22e6);color:#dcebf2;cursor:pointer}
.sc-track small{font:800 7px/1.4 system-ui,sans-serif;letter-spacing:.15em;color:#88aebd}
.sc-track strong{font:900 15px/1.1 system-ui,sans-serif;letter-spacing:-.02em}
.sc-track span{font:750 8px/1.4 Consolas,monospace;letter-spacing:.05em;color:#9dc2d0}
.sc-track[aria-pressed=true]{border-color:#59e1bd;box-shadow:inset 0 0 0 1px #59e1bd55,0 6px 18px #00141c66;background:linear-gradient(145deg,#1d4a46,#0b2228)}
.sc-track[aria-pressed=true] small{color:#7fe3c6}
.sc-track:not([aria-pressed=true]):hover{border-color:#9fc4d4}
.sc-track-soon{grid-column:1/-1;margin:2px 0 0;font:750 9px/1.6 system-ui,sans-serif;letter-spacing:.03em;color:#86a6b4}
@media(max-width:420px){.sc-track{min-height:64px;padding:9px 10px}.sc-track strong{font-size:13px}}
/* A held control is a custom gesture, not something to pan or select. `manipulation` still lets the browser treat a drag as a pan, and a stray finger landing off a button could start a selection that swallows the
   pointer stream which would have released it. */
[data-sc-hold]{touch-action:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.snowcross,.mountain{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
