:root{--yellow:#ffe500;--dark:#151719}*{box-sizing:border-box}html,body,#game{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:Inter,sans-serif;background:#8dcdf4;color:#fff}canvas{display:block}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,18,26,.12),transparent 30%,transparent 68%,rgba(5,7,8,.35));z-index:2}.topbar{position:fixed;z-index:4;top:0;left:0;right:0;height:64px;display:flex;align-items:center;padding:0 26px;background:linear-gradient(180deg,rgba(12,17,20,.72),transparent);text-shadow:0 2px 8px #0008}.logo{font-size:18px;font-weight:900;font-style:italic;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.logo span{display:block;width:9px;height:26px;background:var(--yellow);transform:skew(-13deg)}.stage-name{position:absolute;left:50%;transform:translate(-50%);font-weight:900;font-size:12px;letter-spacing:.12em}.stage-name small{display:block;color:#ffffff91;text-align:center;font-size:8px;margin-top:3px;letter-spacing:.18em}.topbar button{margin-left:auto;border:0;background:#151719b8;color:#fff;padding:9px 11px;font-weight:900;font-size:10px}.topbar kbd{margin-left:8px;background:var(--yellow);color:#111;padding:3px 6px;font:700 10px Roboto Mono}.times{position:fixed;z-index:4;top:83px;left:26px;width:205px;background:#111415b8;border-left:3px solid var(--yellow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 12px 30px #0002}.times div{height:39px;padding:7px 11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff18}.times span{font-size:8px;font-weight:900;letter-spacing:.13em;color:#ffffff91}.times strong{font:700 13px Roboto Mono;font-variant-numeric:tabular-nums}.times .current{height:49px;background:#1118}.times .current strong{font-size:19px;color:var(--yellow)}.pace{position:fixed;z-index:4;right:27px;bottom:27px;width:180px;height:92px;background:#111c;padding:11px 13px;display:grid;grid-template-columns:1fr 37px;grid-template-rows:48px 6px;column-gap:9px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);clip-path:polygon(9% 0,100% 0,100% 100%,0 100%,0 18%)}.pace>strong{font:900 italic 45px/.9 Inter;text-align:right;font-variant-numeric:tabular-nums}.pace>span{position:absolute;left:26px;top:57px;font-size:8px;letter-spacing:.16em;color:#fff8}.gear{grid-column:2;grid-row:1;width:37px;height:37px;background:var(--yellow);color:#111;display:grid;place-items:center;font:900 20px Inter}.rev{grid-column:1/3;height:6px;background:#ffffff20;overflow:hidden}.rev i{display:block;width:0;height:100%;background:var(--yellow);transition:width .08s}.split{position:fixed;z-index:5;top:27%;left:50%;transform:translate(-50%,-12px);padding:10px 16px;background:#111d;border-bottom:3px solid var(--yellow);font-size:10px;letter-spacing:.12em;font-weight:900;opacity:0;transition:.25s}.split b{color:var(--yellow);margin-left:15px}.split.show{opacity:1;transform:translate(-50%)}.intro,.result{position:fixed;z-index:6;left:8vw;top:50%;transform:translateY(-47%);width:min(425px,84vw);padding:35px 38px 32px;background:#0e1111e6;border-left:7px solid var(--yellow);box-shadow:22px 22px #0003;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.intro.hide{animation:away .35s ease-in forwards}@keyframes away{to{opacity:0;transform:translate(-40px,-47%);visibility:hidden}}.intro>p:first-child,.result>p{margin:0 0 13px;color:var(--yellow);font-size:9px;font-weight:900;letter-spacing:.24em}.intro h1{font-size:64px;line-height:.78;letter-spacing:-.075em;margin:0;font-weight:900;font-style:italic}.intro h1 em{font-style:inherit;color:var(--yellow)}.meta{display:flex;gap:8px;margin:24px 0 18px}.meta span{padding:5px 7px;background:#ffffff12;font-size:8px;font-weight:900;letter-spacing:.08em}.desc{font-size:11px;line-height:1.6;color:#ffffffa0;max-width:330px}.intro button,.result button{margin-top:16px;width:100%;height:48px;border:0;background:var(--yellow);color:#111;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font-weight:900;letter-spacing:.12em;cursor:pointer}.intro button:hover,.result button:hover{background:#fff}.intro>small{display:block;margin-top:14px;font-size:7px;color:#ffffff6d;letter-spacing:.08em}.result{left:50%;transform:translate(-50%,-50%);text-align:center;border-left:0;border-top:7px solid var(--yellow)}.result h2{margin:4px 0;font:900 52px Roboto Mono;letter-spacing:-.07em}.result>strong{font-size:10px;letter-spacing:.15em;color:var(--yellow)}.result[hidden]{display:none}.countdown{position:fixed;z-index:7;top:50%;left:50%;transform:translate(-50%,-50%);font:900 italic 120px Inter;color:#fff;text-shadow:6px 6px 0 #1119;pointer-events:none}.controls-hint{position:fixed;z-index:4;left:25px;bottom:24px;background:#1119;padding:8px 10px;font:900 9px Roboto Mono}.controls-hint span{color:#ffffff80;font-size:7px;letter-spacing:.1em}.stage-select{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:17px}.intro .stage-select button{margin:0;height:32px;justify-content:center;padding:0 8px;background:#ffffff13;color:#fff;border:1px solid #ffffff25;font-size:8px}.intro .stage-select button.active{background:var(--yellow);color:#111;border-color:var(--yellow)}@media(max-width:650px){.stage-name{display:none}.times{left:12px;top:65px;transform:scale(.82);transform-origin:left top}.pace{right:12px;bottom:12px;transform:scale(.82);transform-origin:right bottom}.intro{left:6vw;padding:28px}.intro h1{font-size:52px}.controls-hint{display:none}.topbar{padding:0 14px}}.topbar button{margin-left:6px}.topbar #cameraButton{margin-left:auto}.stage-clock{position:absolute;left:50%;top:8px;transform:translate(-50%);min-width:170px;text-align:center;font-family:Roboto Mono,monospace;font-variant-numeric:tabular-nums;text-shadow:0 2px 9px #0009}.stage-clock>strong{display:block;color:#fff;font-size:22px;line-height:1.05;letter-spacing:-.045em;transition:color .16s,transform .16s}.stage-clock>strong.faster{color:#35e779;transform:scale(1.08)}.stage-clock>strong.slower{color:#ff4c4c;transform:scale(1.08)}.stage-clock small{display:block;margin-top:3px;color:#ffffff72;font:900 7px/1 Inter,sans-serif;letter-spacing:.15em}.stage-clock small b{margin-left:5px;color:#ffffffc7;font:700 8px/1 Roboto Mono,monospace;letter-spacing:0}.split{top:78px;left:50%;width:min(330px,44vw);height:7px;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;background:transparent;border:0;opacity:1;transform:translate(-50%);transition:none}.split i{display:block;height:100%;background:#ffffff3d;box-shadow:0 2px 8px #0000003d;transform:skew(-12deg);transition:background .18s,transform .18s}.split i.faster{background:#35e779;transform:skew(-12deg) scaleY(1.35)}.split i.slower{background:#ff4c4c;transform:skew(-12deg) scaleY(1.35)}.split-readout{position:fixed;z-index:4;top:94px;left:50%;min-width:142px;padding:7px 10px 6px;display:flex;align-items:baseline;justify-content:center;gap:12px;transform:translate(-50%);background:#111415d1;border-bottom:2px solid currentColor;color:#fff;box-shadow:0 5px 16px #0000003d;font-family:Roboto Mono,monospace}.split-readout[hidden]{display:none}.split-readout span{color:#ffffffb8;font-size:10px;font-weight:700}.split-readout strong{font-size:16px;line-height:1}.split-readout.faster{color:#35e779}.split-readout.slower{color:#ff4c4c}@media(max-width:650px){.split{top:67px;width:48vw;gap:3px}}@media(max-width:650px){.stage-clock{top:10px;min-width:135px}.stage-clock>strong{font-size:18px}.stage-clock small{font-size:6px}}@media(max-width:650px){.split-readout{top:82px;transform:translate(-50%) scale(.86);transform-origin:center top}}.pace-notes{position:fixed;z-index:4;left:50%;bottom:25px;display:flex;gap:8px;transform:translate(-50%);filter:drop-shadow(0 8px 18px rgba(0,0,0,.34))}.pace-notes[hidden]{display:none}.pace-card{width:70px;height:88px;display:grid;grid-template-rows:57px 31px;place-items:center;overflow:hidden;background:#111415e0;border-bottom:3px solid #ffe500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .22s cubic-bezier(.3,.8,.35,1),opacity .18s,background .22s}.pace-card.current{background:#ffe500;color:#111}.pace-card.next{color:#fff;transform:scale(.86);transform-origin:left center;opacity:.72}.pace-card[hidden]{display:none}.note-arrow{display:grid;place-items:center;width:100%;height:100%;font:900 43px/1 Inter,sans-serif}.pace-card.left .note-arrow{transform:scaleX(-1)}.pace-card strong{align-self:stretch;width:100%;display:grid;place-items:center;border-top:1px solid currentColor;font:900 22px/1 Roboto Mono,monospace}.pace-notes.advancing .pace-card.current{transform:translate(-78px);opacity:0}.pace-notes.advancing .pace-card.next{transform:translate(-78px) scale(1);opacity:1;background:#ffe500;color:#111}.pace-notes.resetting .pace-card{transition:none}@media(max-width:650px){.pace-notes{bottom:12px;transform:translate(-50%) scale(.84);transform-origin:center bottom}}.boost-gauge{position:fixed;z-index:4;right:27px;bottom:126px;width:180px;height:43px;padding:7px 12px;background:#111c;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:17px 5px;align-items:center;column-gap:5px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.boost-gauge span{font-size:8px;font-weight:900;letter-spacing:.15em;color:#ffffff90}.boost-gauge strong{font:900 15px Roboto Mono;color:var(--yellow);font-variant-numeric:tabular-nums}.boost-gauge small{font:700 7px Inter;color:#ffffff70}.boost-gauge div{grid-column:1/4;height:5px;background:#ffffff1e;overflow:hidden}.boost-gauge i{display:block;width:0;height:100%;background:linear-gradient(90deg,#ffe500,#ff7935);transition:width .08s}@media(max-width:650px){.boost-gauge{right:12px;bottom:94px;transform:scale(.82);transform-origin:right bottom}}.tuning-panel{position:fixed;z-index:8;top:64px;right:18px;width:300px;max-height:calc(100vh - 82px);overflow:auto;padding:16px 18px 18px;background:#111e;border-top:4px solid var(--yellow);box-shadow:0 18px 45px #0008;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tuning-panel[hidden]{display:none}.tuning-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tuning-title strong{font-size:14px;font-style:italic;letter-spacing:.06em}.tuning-title button{border:0;background:transparent;color:#fff;font:700 24px/1 Inter;cursor:pointer}.tuning-panel h3{margin:13px 0 8px;color:var(--yellow);font-size:8px;letter-spacing:.18em}.tuning-panel label{display:grid;grid-template-columns:1fr auto;gap:4px 8px;margin:9px 0;font-size:9px;font-weight:800;letter-spacing:.04em}.tuning-panel output{font:700 9px Roboto Mono;color:#ffffffa0}.tuning-panel input{grid-column:1/3;width:100%;height:4px;accent-color:var(--yellow);cursor:pointer}.reset-tune{width:100%;margin-top:13px;padding:9px;border:1px solid #ffffff30;background:#ffffff0c;color:#fff;font-size:8px;font-weight:900;letter-spacing:.12em;cursor:pointer}.reset-tune:hover{background:var(--yellow);color:#111}@media(max-width:650px){.tuning-panel{right:8px;top:58px;width:min(290px,calc(100vw - 16px));max-height:calc(100vh - 70px)}}.choice-label{display:block;margin:13px 0 5px;color:#ffffff70;font-size:7px;font-weight:900;letter-spacing:.18em}.car-select{display:grid;grid-template-columns:1fr 1fr;gap:7px}.intro .car-select button{margin:0;height:32px;justify-content:center;padding:0 8px;background:#ffffff13;color:#fff;border:1px solid #ffffff25;font-size:8px}.intro .car-select button.active{background:var(--yellow);color:#111;border-color:var(--yellow)}
