:root{font-family:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;color:#f3f1ed;background:#121519;font-synthesis:none;--red:#f04743;--dim:#aaadb3;--line:#ffffff26}*{box-sizing:border-box}body{margin:0;overflow:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #f6c86c;outline-offset:5px}button{border:0;background:none}button:hover{color:#fff}button:disabled{opacity:.5;cursor:wait}a{color:inherit}#viewport{position:fixed;inset:0}#viewport canvas{display:block;width:100%;height:100%}#error{position:fixed;z-index:110;inset:20%;background:#16191f;padding:40px}.film-grain{pointer-events:none;position:fixed;inset:0;z-index:2;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 45%,transparent 30%,#0007 100%);z-index:1}#impact{position:fixed;inset:0;pointer-events:none;z-index:4;box-shadow:inset 0 0 120px #ff391f;opacity:0}.topbar{height:88px;position:fixed;left:3.2%;right:3.2%;top:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);z-index:5}.wordmark{text-decoration:none;font-weight:900;font-style:italic;font-size:22px;letter-spacing:-1px}.wordmark>span{color:var(--red);font-weight:400;font-size:31px}.wordmark i{font-size:9px;vertical-align:top;margin-left:5px}.top-center{font-size:10px;letter-spacing:2px;color:#d1d4d7;display:flex;align-items:center;gap:12px}.status-dot{display:inline-block;width:5px;height:5px;background:#c4dca5;border-radius:50%;box-shadow:0 0 12px #c4dca533}.muted{color:#a9adb5}nav{display:flex;align-items:center;gap:22px}.icon-button{font-size:22px;padding:8px 0}.icon-button>span{font-size:9px;letter-spacing:1px;vertical-align:middle;margin-left:6px}.garage-eyebrow{position:absolute;left:3.2%;top:116px;right:3.2%;font-size:10px;letter-spacing:2.3px;display:flex;align-items:center;gap:12px}.tiny-red-line{display:inline-block;width:22px;height:2px;background:var(--red)}.edition{margin-left:auto;color:#9fa1a5}.garage-copy{position:absolute;left:6%;top:23%;pointer-events:none}.section-kicker{font-size:10px;letter-spacing:2.7px;color:#aeb5bd;font-weight:700;margin:0 0 20px}.garage-copy h1{font-size:clamp(58px,7.6vw,128px);line-height:.89;letter-spacing:-.065em;font-weight:900;font-style:italic;margin:0 0 30px}.garage-copy h1 em{color:var(--red);font-style:inherit}.intro{font-size:12px;line-height:2.05;color:#c0c5ca}.bike-tag{position:absolute;left:51%;top:28%;display:flex;align-items:flex-start;gap:12px;font-size:8px;letter-spacing:1.7px;color:#b3b9bf;pointer-events:none}.bike-tag strong{font-size:10px;line-height:2.5;color:#e4e6e7}.bike-tag i{position:absolute;width:1px;height:50px;background:linear-gradient(#ffffff50,transparent);left:11px;top:20px}.bike-card{position:absolute;right:4.5%;top:39%;width:245px;pointer-events:auto;text-shadow:0 2px 20px #0008}.manufacturer{font-size:21px;font-weight:900;font-style:italic;letter-spacing:-1px}.manufacturer>span{display:block;font-size:8px;letter-spacing:2px;font-weight:400;font-style:normal;color:#b4bbc2;margin-top:6px}.bike-card h2{font-size:29px;letter-spacing:-1.3px;margin:12px 0 0}.bike-card p{font-size:10px;color:#b8bdc3;margin:5px 0 20px}.bike-details{display:flex;gap:26px;border-top:1px solid var(--line);padding-top:16px}.bike-details>span{display:flex;flex-direction:column;font-size:8px;color:#aeb7c0}.bike-details strong{font-size:23px;color:#e7e9eb;line-height:1.6;font-weight:500}.bike-details strong span{font-size:10px}.colors{display:flex;gap:10px;align-items:center;margin-top:22px;flex-wrap:wrap}.colors>span{font-size:8px;letter-spacing:1px;margin-right:3px;color:#b6bcc5}.swatch{width:18px;height:18px;border-radius:50%;background:var(--swatch);border:3px solid #262a30;box-shadow:0 0 0 1px #626971}.swatch.selected{box-shadow:0 0 0 1px #f5f5ef}.colors small{font-size:7px;letter-spacing:1.1px;color:#c1c5cc;width:100%;padding-left:55px}.orbit-hint{position:absolute;top:73%;left:48%;font-size:9px;letter-spacing:.7px;color:#9ca5b0;pointer-events:none}.orbit-hint span{margin:0 10px;color:#dee1e7}.race-config{position:absolute;bottom:75px;left:3.2%;right:3.2%;border-top:1px solid var(--line);display:flex;align-items:center;padding-top:25px;gap:3vw}.venue{flex:1}.venue .section-kicker{font-size:8px;letter-spacing:1.7px}.venue h3{font-size:23px;letter-spacing:-.7px;margin:5px 0}.venue h3 span{color:var(--red);margin-left:20px;font-weight:400}.venue p{font-size:8px;letter-spacing:1.2px;color:#aeb7c0;margin:8px 0 0}.venue p>span{margin:0 7px}.venue p .status-dot{margin-left:0}.venue b{font-weight:400}.config-select label{display:block;font-size:8px;letter-spacing:1.5px;color:#aeb7c0;margin-bottom:12px}.config-select select{font-size:11px;background:#151a21bd;border:1px solid #69737e;padding:11px 25px 11px 12px;min-width:185px;border-radius:2px}.start-button{background:var(--red);padding:17px 23px;text-align:left;font-size:12px;letter-spacing:1px;font-weight:700;min-width:265px;color:#fff2ed;transition:background .2s,transform .2s;box-shadow:0 8px 40px #fc3b3414}.start-button:hover{background:#ff5952;transform:translateY(-2px)}.start-button>span{float:right;font-size:23px;font-weight:400;line-height:1}.start-button>small{display:block;font-size:9px;font-weight:400;letter-spacing:.4px;margin-top:11px;color:#fff2ed}.garage-footer{position:absolute;bottom:0;left:3.2%;right:3.2%;height:51px;display:flex;align-items:center;gap:22px;font-size:8px;letter-spacing:1px;color:#aeb6bf;border-top:1px solid var(--line)}.garage-footer>span{margin-right:auto}.garage-footer i{font-size:7px;color:var(--red);margin-right:8px;font-style:normal}.garage-footer button{font-size:9px;color:#c9cdd2}#garage{position:fixed;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,#070d1570,transparent 45%,#070b1220)}#garage button,#garage select,#garage .race-config,#garage footer{pointer-events:auto}.topbar.racing{height:65px;border:0}.racing .wordmark{font-size:18px}.racing .top-center{display:none}#hud{position:fixed;inset:0;z-index:3;pointer-events:none;background:linear-gradient(#06122450,transparent 25%,transparent 65%,#02081190)}#hud button{pointer-events:auto}.race-meta{position:absolute;left:4%;top:100px;display:flex;gap:44px}.race-meta small,.timing small{display:block;font-size:10px;letter-spacing:2px;color:#ece4d5}.race-meta strong{font-size:46px;font-weight:500;font-style:italic;line-height:1.35;letter-spacing:-2px}.race-meta strong span{font-size:19px;opacity:.75}.timing{position:absolute;right:4%;top:95px;text-align:right}.timing strong{font-size:32px;font-variant-numeric:tabular-nums;letter-spacing:-1.2px}.timing p{margin:1px 0;display:flex;gap:25px;justify-content:space-between;font-size:10px;letter-spacing:1px}.timing p span{color:#d0d6dc}.timing b{font-weight:400;font-variant-numeric:tabular-nums}.leaderboard{position:absolute;top:225px;left:4%;width:190px;display:grid;gap:4px}.racer-row{display:flex;align-items:center;padding:6px 8px;font-size:9px;background:#0b111d5e;border-left:2px solid #fff3;gap:11px;letter-spacing:.7px}.racer-row.self{border-color:var(--red);background:#111721b0}.racer-row span:last-child{margin-left:auto;font-size:8px;color:#d3d9df}.map-wrap{position:absolute;left:3.5%;bottom:95px;width:210px}.map-wrap>span{font-size:8px;letter-spacing:2px}.map-wrap canvas{width:200px;height:140px;display:block}.map-wrap>small{font-size:8px;letter-spacing:1.4px;color:#c6cfd6}.speedometer{position:absolute;right:4%;bottom:95px;width:300px}.rpm-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.8px;color:#d5dce3;margin-bottom:8px}.rpm-track{display:flex;gap:3px;height:5px}.rpm-track i{flex:1;background:#f4f0e526;transform:skewX(-22deg)}.rpm-track i.lit{background:#eee9dc}.rpm-track i.high.lit{background:var(--red);box-shadow:0 0 10px #ff4a3144}.speed-row{display:flex;align-items:center;position:relative;height:98px}.gear{border-right:1px solid #ffffff4d;padding-right:21px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:68px}.gear small{font-size:8px;letter-spacing:1px;color:#bac4cf}.gear strong{font-size:41px;line-height:1.15;font-weight:500;font-style:italic}.speed-row>#speed{font-size:85px;letter-spacing:-6px;line-height:1;font-weight:500;font-style:italic;flex:1;text-align:right;padding-right:29px;font-variant-numeric:tabular-nums}.speed-unit{position:absolute;right:-5px;bottom:22px;font-size:8px;letter-spacing:1px;transform:rotate(-90deg);transform-origin:50% 50%}.telemetry{border-top:1px solid #ffffff33;padding-top:10px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#bfcbd4}.telemetry b{color:#f1f5e9;font-size:11px;margin-left:7px;font-weight:400}.inputs{display:flex;gap:4px;margin-top:10px}.inputs>div{width:50%;height:2px;background:#ffffff20}.inputs i{display:block;height:100%;width:0;transition:width .07s;background:#b9e393}.inputs>div:last-child i{background:#ff6b51}.race-actions{position:absolute;bottom:24px;right:4%;display:flex;gap:22px}.race-actions button{font-size:10px;font-weight:bold;color:#eee5d7}.race-actions span{font-size:8px;margin-left:5px;font-weight:normal;color:#cad0d8}.riding-hint{position:absolute;bottom:24px;left:4%;font-size:9px;color:#e0e6e9;display:flex;align-items:center;gap:7px}.riding-hint>span{padding:0 8px}kbd{font:inherit;font-size:9px;border:1px solid #ffffff50;padding:2px 5px;border-radius:3px;min-width:20px;text-align:center;background:#0b1c2740}#countdown{position:absolute;top:33%;left:0;right:0;text-align:center;font-size:120px;font-weight:800;font-style:italic;text-shadow:0 3px 40px #0004;line-height:1}#race-message{position:absolute;top:22%;left:25%;right:25%;text-align:center;font-size:13px;letter-spacing:1px;color:#f2f1dc;transition:opacity .4s;text-shadow:0 2px 15px #000}.modal-layer{position:fixed;inset:0;z-index:15;background:#0b152077;backdrop-filter:blur(13px);display:flex;align-items:center;justify-content:center}.modal{width:min(540px,90vw);background:#131a21ed;border:1px solid #6a74804d;padding:45px 44px}.modal h2{font-size:42px;letter-spacing:-2px;line-height:1.1;font-weight:900;font-style:italic;margin:12px 0 22px}.modal p{font-size:12px;color:#bec8d1}.modal .start-button{width:100%;margin-top:25px}.modal-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;margin-top:25px;gap:8px}.modal-actions button{font-size:11px}.modal small{display:block;font-size:9px;color:#aab5c0;margin-top:20px}.result-stats{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);gap:15px}.result-stats small{margin:0 0 8px;font-size:8px;letter-spacing:1px}.result-stats strong{font-size:18px;font-weight:400;font-variant-numeric:tabular-nums}.text-button{margin-top:24px;width:100%;font-size:12px}dialog{background:#151c24;color:#f2f0ea;border:1px solid #79838c5c;padding:42px;max-width:550px;width:90%;max-height:85vh}dialog::backdrop{background:#040a10b3;backdrop-filter:blur(12px)}dialog h2{font-size:28px;line-height:1.5;margin-top:0}dialog p{font-size:12px;line-height:1.9}dialog a{font-size:12px}.dialog-close{position:absolute;right:14px;top:10px;font-size:27px}.control-grid{display:grid;grid-template-columns:140px 1fr;gap:11px;font-size:12px;margin:25px 0}.control-grid kbd{width:max-content}.control-grid span{align-self:center}#loading{position:fixed;inset:0;background:#11171e;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s}.brand{font-size:70px;font-weight:900;font-style:italic;letter-spacing:-9px}.brand span{color:var(--red);margin:0 7px}#loading p{font-size:9px;letter-spacing:3px}#loading small{font-size:10px;color:#aeb6c0;margin-top:20px}.loading-track{width:170px;height:2px;background:#ffffff20;margin-top:15px;overflow:hidden}.loading-track i{display:block;width:40%;height:2px;background:var(--red);animation:load 1s ease-in-out infinite}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(350%)}}#touch-controls{display:none}[hidden]{display:none!important}
@media(min-width:1600px){.bike-card{right:6%;width:270px}.race-config{bottom:85px}.garage-copy{top:24%}.bike-tag{top:28%}}@media(max-height:750px) and (min-width:901px){.topbar{height:67px}.garage-eyebrow{top:85px}.garage-copy{top:22%}.garage-copy h1{font-size:77px}.intro{font-size:10px}.bike-card{top:30%;width:210px}.bike-card h2{font-size:25px}.bike-details strong{font-size:20px}.bike-tag{top:22%}.race-config{bottom:62px;padding-top:15px;gap:2vw}.venue .section-kicker{margin-bottom:10px}.orbit-hint{top:70%}.race-config .start-button{min-width:225px;padding:15px}.config-select select{min-width:165px}.garage-footer{height:45px}.speedometer,.map-wrap{bottom:75px}}@media(max-width:1100px){.top-center{display:none}.bike-card{right:3.5%;width:190px}.garage-copy{left:4%;top:23%}.garage-copy h1{font-size:74px}.bike-details{gap:19px}.bike-details strong{font-size:21px}.config-select select{min-width:150px;max-width:180px;padding-left:8px;font-size:10px}.race-config{gap:18px}.venue h3{font-size:19px}.venue .section-kicker{font-size:7px}.start-button{min-width:225px}.bike-tag{left:48%}.orbit-hint{left:40%}.riding-hint{font-size:8px}.riding-hint>span{display:none}.race-actions{gap:12px}}
@media(max-width:900px){.topbar{height:68px}.garage-eyebrow{top:86px}.garage-copy{top:16%;left:5%}.garage-copy h1{font-size:clamp(45px,9vw,70px)}.garage-copy .section-kicker{font-size:8px;margin-bottom:14px}.intro{font-size:10px}.bike-card{top:20%;width:160px}.manufacturer{font-size:17px}.manufacturer>span{font-size:6px}.bike-card h2{font-size:22px}.bike-card p{display:none}.bike-details{gap:18px;margin-top:15px;padding-top:10px}.bike-details strong{font-size:19px}.bike-details>span{font-size:7px}.colors{gap:9px}.colors>span{font-size:7px}.colors small{padding-left:0}.bike-tag{display:none}.orbit-hint{top:62%;left:30%;font-size:8px}.race-config{bottom:66px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.venue{grid-column:1}.venue h3{font-size:21px;margin:2px 0}.venue .section-kicker{margin-bottom:3px}.venue p{font-size:7px}.config-select label{margin-bottom:4px}.config-select select{width:100%;max-width:none;font-size:10px}.config-select:nth-child(2){grid-row:2;grid-column:1}.config-select:nth-child(3){grid-row:2;grid-column:2}.start-button{grid-row:1;grid-column:2;min-width:0;width:100%;padding:14px;font-size:10px}.start-button small{font-size:8px;margin-top:10px}.garage-footer{gap:10px}.garage-footer>span{font-size:6px;letter-spacing:.5px;max-width:55%}.garage-footer button{font-size:8px}.race-meta{top:80px;gap:22px}.race-meta strong{font-size:35px}.race-meta small,.timing small{font-size:8px}.timing{top:80px}.timing strong{font-size:23px}.timing p{font-size:8px}.leaderboard{top:180px;width:155px}.speedometer{width:220px;bottom:100px}.speed-row{height:80px}.speed-row>#speed{font-size:66px}.gear{height:55px;padding-right:13px}.gear strong{font-size:30px}.map-wrap{width:150px;bottom:100px}.map-wrap canvas{width:150px;height:105px}.map-wrap>span,.map-wrap>small{font-size:6px}.riding-hint{display:none}#touch-controls{display:flex;position:absolute;left:4%;right:4%;bottom:42px;justify-content:space-between;pointer-events:auto}#touch-controls>div{display:flex;gap:8px}#touch-controls button{background:#13212f91;border:1px solid #f0eddb70;width:54px;height:48px;border-radius:6px;font-size:14px;touch-action:none;user-select:none}#touch-controls .touch-gas{background:#d24236bb;width:69px;font-size:10px}#touch-controls .touch-brake{width:63px;font-size:9px}.race-actions{bottom:7px;right:4%;gap:18px}.race-actions button{font-size:8px}#race-message{top:26%;left:20%;right:20%;font-size:10px}#countdown{font-size:85px}.modal{padding:30px}.modal h2{font-size:33px}.modal .start-button{font-size:12px}.modal-actions{gap:5px}.modal-actions button{font-size:10px}.result-stats strong{font-size:14px}}
@media(max-width:600px){.bike-card{top:18%;right:5%;width:135px}.garage-copy{top:18%}.garage-copy h1{font-size:48px}.garage-copy .section-kicker{font-size:6px;letter-spacing:1.5px}.intro{display:none}.garage-copy h1{margin-bottom:15px}.manufacturer>span{letter-spacing:1px}.manufacturer{font-size:15px}.bike-card h2{font-size:19px}.bike-details{display:none}.colors{margin-top:12px}.colors small{font-size:6px}.orbit-hint{top:61%;left:22%;font-size:7px}.garage-eyebrow{font-size:7px;letter-spacing:1.2px}.garage-footer>span{max-width:45%}.wordmark{font-size:19px}nav{gap:13px}.icon-button>span{font-size:7px}.topbar{left:5%;right:5%}.race-config{left:5%;right:5%}.venue h3{font-size:18px}.venue h3 span{margin-left:4px}.start-button{font-size:8px}.venue p{letter-spacing:.5px;font-size:6px}.venue .section-kicker{font-size:6px}.leaderboard{display:none}.map-wrap{width:125px}.map-wrap canvas{width:125px;height:90px}.speedometer{width:205px}.speed-row>#speed{font-size:60px}.control-grid{grid-template-columns:125px 1fr;font-size:11px;gap:9px}dialog{padding:28px}.racer-row{font-size:8px}}
@media(max-height:500px){.garage-copy{top:26%}.garage-copy h1{font-size:48px}.garage-copy .section-kicker,.intro,.garage-eyebrow,.orbit-hint,.bike-card p,.bike-details,.colors{display:none}.bike-card{top:28%}.race-config{bottom:45px;display:flex;gap:15px;padding-top:12px}.venue{min-width:180px}.venue .section-kicker,.venue p{display:none}.config-select{width:160px}.config-select select{font-size:9px}.start-button{width:220px}.garage-footer{height:37px}.topbar{height:52px}.speedometer{bottom:60px;width:220px}.race-meta,.timing{top:65px}.map-wrap{bottom:63px;width:130px}.map-wrap canvas{width:130px;height:91px}.leaderboard{display:none}#touch-controls{bottom:7px;left:27%;right:27%}#touch-controls button{height:40px}.race-actions{bottom:10px}.riding-hint{display:none}}

#race-message{width:max-content;max-width:70%;left:50%;right:auto;transform:translateX(-50%);background:#0c1a28c9;padding:8px 16px;border-left:2px solid var(--red);border-radius:2px}#hud{text-shadow:0 1px 7px #0005}@media(max-width:600px){.garage-copy h1{font-size:43px}.bike-card{width:129px}.orbit-hint{top:69%;left:15%;color:#d5dbe2;text-shadow:0 1px 6px #000}.garage-eyebrow{font-size:6px}}
/* Model selection: visible in the garage at every viewport size. */
.bike-picker{position:absolute;right:4.5%;top:21%;width:265px;pointer-events:auto}.picker-label{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.4px;color:#c7ced6;margin-bottom:10px}.picker-label b{font-size:9px;letter-spacing:0;font-weight:400}.bike-options{display:flex;padding:4px;background:#111922bf;border:1px solid #8b99a355;gap:3px;border-radius:4px}.bike-options button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:7px 3px;font-size:9px;letter-spacing:.3px;border-radius:2px;color:#cdd3d9;border:1px solid transparent;transition:background .15s,border-color .15s}.bike-options button.selected{background:#3a4552c9;border-color:#d3d9df80;color:#f4f5f0}.bike-options button:hover{background:#3a455273}.bike-options i{display:inline-block;flex-shrink:0;width:4px;height:12px;background:var(--bike-color);transform:skewX(-12deg)}.manufacturer>#bike-brand{display:inline;font:inherit;letter-spacing:inherit;color:inherit;margin:0}.manufacturer>#bike-subtitle{display:block;font-size:8px;letter-spacing:1.5px;font-weight:400;font-style:normal;color:#b4bbc2;margin-top:6px}.bike-details strong>#bike-cc{font:inherit}.bike-card{width:265px}.bike-card h2{font-size:28px;letter-spacing:-1.1px;overflow-wrap:anywhere}.bike-card p{line-height:1.8}.bike-options button:disabled{opacity:.5}#garage[data-model="yamaha"] .bike-card h2{color:#adbeff}#garage[data-model="honda"] .bike-card h2{color:#ffb0a9}
@media(min-width:1600px){.bike-picker{right:6%;width:270px}.bike-card{width:270px}}
@media(max-height:750px) and (min-width:901px){.bike-picker{top:17%;width:235px}.bike-card{top:33%;width:235px}.bike-card h2{font-size:25px}.bike-options button{min-height:38px;font-size:8px}.picker-label{margin-bottom:6px}}
@media(max-width:1100px) and (min-width:901px){.bike-picker{right:3.5%;width:205px}.bike-card{width:205px}.bike-card h2{font-size:23px}.bike-options button{font-size:8px;gap:4px}.picker-label{font-size:7px;letter-spacing:.5px}}
@media(max-width:900px){.bike-picker{left:5%;right:5%;top:112px;width:auto;display:flex;align-items:center;gap:20px}.picker-label{font-size:8px;flex-direction:column;gap:3px;align-items:flex-start;white-space:nowrap;margin:0}.picker-label b{font-size:8px}.bike-options{flex:1}.bike-options button{font-size:10px;min-height:40px}.garage-copy{top:25%}.bike-card{top:25%;right:5%;width:180px}.bike-card h2{font-size:22px}.bike-details{display:none}.manufacturer>#bike-subtitle{font-size:7px;letter-spacing:1px}.bike-card p{display:none}.colors{margin-top:14px}}
@media(max-width:600px){.bike-picker{top:108px;gap:11px}.picker-label{font-size:6px;letter-spacing:.7px}.picker-label b{font-size:8px}.bike-options{padding:3px}.bike-options button{font-size:8px;gap:4px;min-height:40px}.garage-copy{top:24.5%}.garage-copy h1{font-size:36px}.bike-card{top:24.5%;width:145px}.bike-card h2{font-size:20px;letter-spacing:-.7px}.manufacturer>#bike-brand{font-size:14px}.manufacturer>#bike-subtitle{font-size:6px;letter-spacing:.7px}.colors{gap:8px}.colors>span{font-size:6px}.orbit-hint{top:69%}}
@media(max-height:500px){.bike-picker{top:70px;left:auto;right:3.5%;width:320px;display:block}.picker-label{display:none}.bike-options button{min-height:32px;font-size:9px}.bike-card{top:37%;width:230px}.garage-copy{top:24%}.bike-card h2{font-size:23px}.bike-card .colors{display:none}}

/* World Tour extends the original dark showroom and red racing identity. */
:root{--red:#f06559;--panel:#131b25ed;--text:#edf0ee;--muted:#b7c2cd;--line:#91a4b332}
body{color:var(--text);font-family:Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;font-size:16px;line-height:1.6;line-break:strict;overflow-wrap:break-word}
button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #ffd48a;outline-offset:4px}
select{background:#18232f;color:var(--text);border:1px solid #78909e75;border-radius:4px;font-size:14px;padding:9px 28px 9px 10px;min-height:44px;max-width:100%;width:100%}
button{min-height:44px}.section-kicker{font-size:12px!important;letter-spacing:2px;color:#c1cbd4;margin:0 0 8px}
.topbar{height:78px;left:3.5%;right:3.5%;z-index:12}.top-center{font-size:12px;letter-spacing:2px}.wordmark{font-size:25px}.icon-button>span{font-size:12px}.version-badge{color:var(--red);font-weight:700}.topbar nav{gap:22px}
#garage{pointer-events:none}.garage-heading{position:absolute;left:4%;top:110px}.garage-heading h1{font-size:clamp(32px,3.5vw,54px);font-style:italic;font-weight:900;letter-spacing:-2px;line-height:1.03;margin:12px 0}.garage-heading h1 em{color:var(--red)}.garage-heading>p:last-child{font-size:14px;color:var(--muted);margin-top:18px}
.setup-panel{position:absolute;pointer-events:auto;top:101px;right:3.5%;bottom:61px;width:360px;background:linear-gradient(155deg,#1b2530ed,#101820f2);border:1px solid var(--line);border-radius:10px;padding:20px 22px;overflow:auto;scrollbar-width:thin;box-shadow:0 12px 60px #04090d40;display:flex;flex-direction:column;gap:0}
.panel-title{display:flex;align-items:center;gap:9px;margin:0 0 10px;min-height:24px}.panel-title>span{font:12px monospace;color:var(--red)}.panel-title h2,.panel-title label{font-size:14px;font-weight:600;margin:0}.panel-title small{margin-left:auto;font-size:12px;color:#b0c1cc;letter-spacing:1px}
.setup-panel .bike-picker{position:static;width:100%;display:block;margin:0 0 15px}.bike-options{display:grid;grid-template-columns:repeat(3,1fr);border:0;background:none;padding:0;gap:5px}.bike-options button{font-size:12px;min-height:37px;gap:6px;border:1px solid #61748566;background:#1c2a367a;color:#dce4e9;padding:5px 3px}.bike-options button.selected{background:#344855;border-color:#c1cbd4}.bike-options button:nth-child(4),.bike-options button:nth-child(5){grid-column:auto}
.setup-panel .bike-card{position:static;width:100%;padding:0;margin:0 0 18px}.setup-panel .manufacturer{font-size:12px;display:flex;justify-content:space-between;align-items:center}.manufacturer>#bike-brand{font-size:12px!important;color:#bdc7d0}.manufacturer>#bike-subtitle{font-size:12px!important;letter-spacing:.3px;margin:0}.setup-panel .bike-card h2{font-size:29px;letter-spacing:-1px;line-height:1.2;margin:6px 0 8px;color:var(--text)!important}.setup-panel .bike-card p{display:block;font-size:12px;line-height:1.65;color:#b4c1cc;margin:0}.setup-panel .bike-details{display:none}.bike-ratings{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px;margin:14px 0}.bike-ratings>div{display:flex;align-items:center;gap:8px}.bike-ratings span{font-size:12px;min-width:46px;color:#c1cbd4}.bike-ratings meter{width:100%;height:5px;border:0;appearance:none;flex:1;min-width:0}.bike-ratings meter::-webkit-meter-bar{background:#3b4852;border:0;border-radius:2px;height:5px}.bike-ratings meter::-webkit-meter-optimum-value{background:#dd8b75;border-radius:2px}.bike-ratings meter::-moz-meter-bar{background:#dd8b75}
.setup-panel .colors{gap:10px;margin-top:13px;display:flex;flex-wrap:wrap;align-items:center}.colors>span{font-size:12px}.colors small{font-size:12px!important;letter-spacing:.3px;padding:0;margin-left:0;flex-basis:100%}.swatch{width:28px;height:28px;min-height:28px;border:2px solid #778592;border-radius:50%;background:var(--swatch);padding:0}.swatch.selected{outline:2px solid #ececda;outline-offset:3px}
.rider-row{display:flex;gap:13px;align-items:center;margin-bottom:17px}.rider-row>span{font-size:40px;font-style:italic;font-weight:900;line-height:1;min-width:48px}.rider-row>div{flex:1;min-width:0}.rider-row select{font-size:14px}.rider-row p{font-size:12px;color:var(--muted);margin:6px 0 0;line-height:1.5}
.difficulty-options{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.difficulty-options button{border:1px solid #64768477;border-radius:4px;min-height:52px;background:#16212c;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#bfcbd5}.difficulty-options button b{font-size:18px;line-height:1.1;font-weight:500}.difficulty-options button span{font-size:12px}.difficulty-options button.selected{background:#ee6559;color:#13171e;border-color:#f39583}.difficulty-options button:hover{border-color:#f8ad95}#difficulty-description{font-size:12px;line-height:1.6;margin:8px 0 16px;color:#bfcbd5;min-height:20px}
.session-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:14px;border-top:1px solid var(--line);margin-top:auto}.session-settings label{font-size:12px;color:#bac6d1;display:block;margin-bottom:5px}.session-settings select{font-size:14px}.setup-panel .start-button{display:block;width:100%;min-width:0;border-radius:4px;background:#ef685a;color:#161b22;font-size:14px;font-weight:700;padding:14px 16px;margin-top:15px;box-shadow:0 4px 20px #f34d3520}.setup-panel .start-button small{font-size:12px;letter-spacing:.5px;display:block;margin-top:7px}.start-button:hover{filter:brightness(1.09)}
.bike-tag{position:absolute;top:215px;left:43%;font-size:12px;color:#d9dfe3}.bike-tag strong{font-size:14px}.orbit-hint{position:absolute;top:auto;left:4%;bottom:370px;font-size:12px;color:#c1cbd4;display:flex;align-items:center;gap:18px;pointer-events:auto;max-width:calc(100% - 450px)}.orbit-hint button{font-size:12px;padding:5px 10px;border:1px solid #8c9ba65e;border-radius:5px;background:#15212aaa;color:#cbd5dc}
.circuit-panel{position:absolute;pointer-events:auto;left:3.5%;bottom:68px;right:calc(3.5% + 395px);background:linear-gradient(105deg,#131d29ed,#131c25c9);border:1px solid var(--line);border-radius:8px;padding:17px 20px}.circuit-heading{display:flex;align-items:center;justify-content:space-between}.circuit-heading h2{font-size:23px;line-height:1.3;margin:0;font-weight:500;letter-spacing:-.3px}.circuit-heading .section-kicker{font-size:12px!important;letter-spacing:1.6px;margin-bottom:5px}.circuit-heading>p{text-align:right;margin:0;display:flex;flex-direction:column}.circuit-heading b{font-size:18px;font-weight:400}.circuit-heading span{font-size:12px;letter-spacing:1px;color:#bac8d3}#track-description{font-size:12px;color:#c1cbd4;margin:8px 0 13px}.circuit-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.circuit-options button{display:flex;align-items:center;gap:5px;text-align:left;border:1px solid #72839066;border-radius:5px;background:#21303b75;padding:2px 5px;min-height:62px;color:#e3e9ed}.circuit-options button.selected{border-color:var(--track-color);background:#3e4f5780}.circuit-options button:hover{background:#41566499}.circuit-options svg{width:50px;height:52px;flex-shrink:0;overflow:visible}.circuit-options path{fill:none;stroke:#a6b7bf;stroke-width:2.2;stroke-linejoin:round}.circuit-options .selected path{stroke:var(--track-color);stroke-width:3}.circuit-options span{display:flex;flex-direction:column;gap:2px;min-width:0}.circuit-options b{font-size:13px;font-weight:500;white-space:nowrap}.circuit-options small{font-size:11px;color:#bcc8d1;line-height:1.4}.fiction-note{display:block;margin-top:9px;font-size:11px;color:#a7b5bf;line-height:1.5}.garage-footer{left:3.5%;right:3.5%;height:49px}.garage-footer>span{font-size:12px;letter-spacing:1px}.garage-footer button{font-size:12px;min-height:42px}
#race-setup-label{position:absolute;top:92px;left:50%;transform:translateX(-50%);font-size:12px;color:#e3edee;background:#142532cc;padding:6px 12px;border-radius:4px;white-space:nowrap}#assist-status{position:absolute;top:130px;left:50%;transform:translateX(-50%);font-size:12px;background:#142532cc;padding:4px 10px;border-radius:4px}.race-actions{gap:16px;bottom:20px}.race-actions button{font-size:12px;min-height:44px}.race-actions button span{font-size:12px}.riding-hint{font-size:12px}.race-meta small,.timing small{font-size:12px}.telemetry{font-size:12px}.map-wrap>span,.map-wrap>small{font-size:12px}.modal p,.modal-actions button,.modal small,dialog p,dialog a{font-size:14px}.modal{border-radius:10px}.modal-actions{flex-wrap:wrap}.control-grid{font-size:14px;line-height:1.6}dialog{border-radius:10px}#touch-controls button{min-width:54px;min-height:48px}.film-grain{opacity:.025}.vignette{opacity:.35}
@media(min-width:1600px){.setup-panel{width:410px;padding:24px 28px;top:105px}.circuit-panel{right:calc(3.5% + 445px);padding:20px 24px}.orbit-hint{bottom:395px}.bike-options{grid-template-columns:repeat(5,1fr)}.bike-options button{font-size:11px;gap:3px}.circuit-options{grid-template-columns:repeat(3,1fr)}.circuit-options button{padding:6px 9px}.circuit-options svg{width:65px;height:55px}.circuit-options b{font-size:14px}.circuit-options small{font-size:12px}.setup-panel .bike-card{margin-bottom:26px}.setup-panel .panel-title{margin-bottom:14px}.rider-row{margin-bottom:24px}.setup-panel .bike-card h2{font-size:34px}}
@media(max-height:900px) and (min-width:901px){.topbar{height:65px}.setup-panel{top:82px;bottom:51px;padding:16px 20px;width:350px}.setup-panel .bike-card{margin-bottom:12px}.setup-panel .bike-card p{display:none}.setup-panel .bike-card h2{font-size:25px}.manufacturer>#bike-subtitle{font-size:11px!important}.bike-ratings{margin:10px 0}.colors small{display:none}.rider-row{margin-bottom:12px}.panel-title{margin-bottom:7px}.difficulty-options button{min-height:48px}.session-settings{padding-top:10px}.garage-heading{top:87px}.garage-heading h1{font-size:34px}.garage-heading>p:last-child{display:none}.circuit-panel{right:calc(3.5% + 378px);bottom:57px;padding:12px 15px}.circuit-options button{min-height:52px}.circuit-options svg{height:45px;width:43px}.circuit-heading h2{font-size:20px}.orbit-hint{bottom:340px}.bike-tag{display:none}.setup-panel .start-button{padding:11px 13px}.setup-panel .start-button small{margin-top:4px}.garage-footer{height:44px}}
@media(max-width:1150px) and (min-width:901px){.setup-panel{width:335px;right:2%}.circuit-panel{left:2%;right:calc(2% + 357px);padding:12px}.circuit-options{grid-template-columns:repeat(3,1fr)}.circuit-options svg{width:32px;height:46px}.circuit-options small{display:none}.circuit-options b{font-size:12px}.garage-heading{left:3%;top:90px}.garage-heading h1{font-size:30px}.bike-tag{display:none}.orbit-hint{left:3%;font-size:11px;bottom:295px}.topbar{left:3%;right:3%}.top-center{display:none}}
@media(max-width:900px){
 body[data-phase=garage]{overflow:auto}body[data-phase=garage] #viewport{position:fixed;inset:0}#garage{position:relative;min-height:100vh;height:auto;padding:410px 16px 65px;display:flex;flex-direction:column;gap:16px}.topbar{position:fixed;left:0;right:0;padding:0 18px;height:65px;background:#101820dd;backdrop-filter:blur(12px)}.wordmark{font-size:21px}.topbar nav{gap:16px}.top-center{display:none}.garage-heading{top:88px;left:22px}.garage-heading h1{font-size:29px;line-height:1.05;letter-spacing:-1px;margin-top:4px}.garage-heading .section-kicker{font-size:11px!important}.garage-heading>p:last-child{display:none}.bike-tag{display:none}.orbit-hint{position:absolute;left:20px;right:20px;max-width:none;top:345px;bottom:auto;font-size:12px;display:flex;justify-content:space-between;gap:6px}.orbit-hint button{font-size:12px}.setup-panel{position:relative;top:auto;bottom:auto;left:auto;right:auto;order:2;width:100%;padding:20px 18px;overflow:visible;border-radius:9px;background:#151f2bf5}.circuit-panel{position:relative;top:auto;bottom:auto;left:auto;right:auto;order:1;width:100%;padding:17px 15px;background:#141f2bf5}.circuit-heading h2{font-size:23px}.circuit-heading b{font-size:18px}.circuit-heading span{font-size:10px}.circuit-options{grid-template-columns:repeat(3,1fr);gap:6px}.circuit-options button{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:5px 7px;min-height:99px}.circuit-options svg{width:54px;height:43px;margin:auto}.circuit-options b{font-size:12px;white-space:normal}.circuit-options small{font-size:10px;line-height:1.5}.setup-panel .bike-picker{display:block}.bike-options{grid-template-columns:repeat(3,1fr);gap:7px}.bike-options button{font-size:12px;min-height:44px}.setup-panel .bike-card h2{font-size:30px}.setup-panel .bike-card p{font-size:13px}.setup-panel .manufacturer{display:flex}.setup-panel .colors{margin-top:14px}.setup-panel .colors small{font-size:12px}.rider-row select,.session-settings select{font-size:16px}.difficulty-options button{min-height:58px}.difficulty-options span{font-size:12px}#difficulty-description{font-size:13px}.setup-panel .start-button{font-size:15px;padding:16px;min-height:75px}.setup-panel .start-button small{font-size:12px}.garage-footer{position:absolute;bottom:0;left:20px;right:20px;height:54px;gap:8px}.garage-footer>span{display:none}.garage-footer button{font-size:13px}.riding-hint{display:none}#race-setup-label{top:68px;font-size:10px;max-width:95%;overflow:hidden;text-overflow:ellipsis}#assist-status{top:100px;font-size:11px}.race-meta,.timing{top:138px}.race-meta strong{font-size:30px}.timing strong{font-size:21px}.race-actions{bottom:5px;right:4%;left:4%;justify-content:space-between;gap:6px}.race-actions button,.race-actions button span{font-size:11px}.speedometer{bottom:143px}.map-wrap{bottom:152px}.map-wrap>span,.map-wrap>small{font-size:10px}#touch-controls{bottom:70px}.leaderboard{display:none}.race-meta small,.timing small{font-size:10px}.telemetry{font-size:10px}.rpm-label{font-size:10px}#race-message{top:30%;font-size:12px}.modal-actions button{font-size:13px}.modal small{font-size:12px}.modal .start-button{font-size:14px}.control-grid{grid-template-columns:120px 1fr;font-size:13px}
}
@media(max-width:900px) and (max-height:520px){#garage{padding-top:340px}.garage-heading{top:75px}.orbit-hint{top:273px}#touch-controls{bottom:55px;left:4%;right:4%}.speedometer{bottom:113px}.map-wrap{bottom:120px}#race-setup-label{top:69px}#assist-status{top:99px}.race-meta,.timing{top:75px}.race-meta strong{font-size:28px}.topbar{height:57px}#countdown{font-size:70px;top:37%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.loading-track i{animation:none;width:75%}.swatch,.bike-options button{transition:none}}

.setup-panel .start-button small{color:#252027}.setup-panel .start-button:hover{color:#161b22}

/* A clear, full-size view for examining the motorcycle itself. */
.orbit-hint { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.orbit-hint button { min-height:42px; }
@media(min-width:901px) {
 body:not([data-inspection="true"]) .orbit-hint { bottom:var(--garage-controls-bottom,370px); }
}
#inspect-bike { border:1px solid rgba(235,107,96,.7); color:#f7ede9; background:rgba(117,36,33,.46); }
#inspection-tools { position:fixed; inset:105px 38px auto; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:20px; pointer-events:none; }
#inspection-tools[hidden] { display:none; }
#inspection-tools button { pointer-events:auto; min-height:44px; border:1px solid #58606a; border-radius:7px; padding:10px 17px; color:#eef1f3; background:rgba(23,29,37,.92); font-size:13px; line-height:1.5; cursor:pointer; }
.inspection-title { display:grid; gap:8px; }
.inspection-title small { letter-spacing:.18em; color:#b2becb; }
.inspection-title strong { font-size:30px; }
.inspection-angles { display:flex; gap:5px; }
body[data-inspection="true"] .garage-heading,
body[data-inspection="true"] .bike-tag,
body[data-inspection="true"] .setup-panel,
body[data-inspection="true"] .circuit-panel,
body[data-inspection="true"] .garage-footer { display:none; }
body[data-inspection="true"] .orbit-hint { top:auto; bottom:30px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 36px); justify-content:center; padding:10px 15px; border-radius:8px; color:#d4dce4; background:rgba(15,21,29,.88); }
body[data-inspection="true"] .film-grain { opacity:.025; }
@media(max-width:900px) {
 #inspection-tools { inset:95px 20px auto; flex-wrap:wrap; gap:12px; }
 .inspection-title strong { font-size:24px; }
 .inspection-angles { order:3; width:100%; justify-content:center; }
 #inspection-tools button { padding:9px 12px; }
 body[data-inspection="true"] .orbit-hint span { display:none; }
}
