:root{font-family:Arial,Helvetica,sans-serif;color:#f0edda;background:#28342e;font-synthesis:none;--yellow: #f1c45b;--ink: #252e29;--muted: #a3ad9c;--line: #cdd0b324;--mono: "Courier New", monospace}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.42}button:not(:disabled):hover{filter:brightness(1.16)}button{transition:background .16s,filter .16s}canvas#game{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}#ui{position:fixed;inset:0;pointer-events:none}#ui button,#ui a,#ui input,#ui select,.panel,.modal-backdrop{pointer-events:auto}header{height:86px;padding:0 3.4%;display:flex;align-items:center;border-bottom:1px solid var(--line);background:linear-gradient(#202a25ed,#202a2580);gap:26px;position:relative;z-index:2}.brand{font-size:22px;font-weight:900;letter-spacing:-1px;display:flex;align-items:center;text-decoration:none;white-space:nowrap;gap:10px}.brand-icon{color:var(--yellow);font-size:33px;letter-spacing:-10px;margin-right:12px;transform:skew(-8deg)}.edition{font:9px var(--mono);color:var(--muted);letter-spacing:1.1px;border-left:1px solid var(--line);margin-left:10px;padding-left:20px;max-width:115px;white-space:normal;line-height:1.6}nav{display:flex;gap:24px;margin:auto}nav button,.icon-button,.race-actions button{font:10px var(--mono);font-weight:700;letter-spacing:1px;padding:12px 0}nav button.active{color:var(--yellow);border-bottom:2px solid var(--yellow)}.balance{font:bold 17px var(--mono);white-space:nowrap}.balance small{font-size:10px;color:var(--muted);margin-left:5px}.scrap-icon{color:var(--yellow);margin-right:8px}.icon-button{font-size:9px;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.eyebrow{font:10px var(--mono);letter-spacing:1.65px;color:var(--muted);line-height:1.6}.dot{display:inline-block;width:6px;height:6px;background:var(--yellow);border-radius:50%;margin-right:8px;box-shadow:0 0 12px #efc35766}.menu-copy{position:absolute;top:19%;left:7%;width:480px}.menu-copy .eyebrow{font-size:9px;color:#c4cdb6}h1{font-size:clamp(88px,9.7vw,150px);line-height:.78;letter-spacing:-9px;margin:32px 0 24px;font-weight:950;position:relative;transform:skew(-6deg);text-shadow:3px 4px 0 #25302966}h1 span{color:var(--yellow)}h1 i{position:absolute;font:13px var(--mono);border:1px solid #9fa995;padding:7px;top:10px;margin-left:24px;letter-spacing:0}h2{font-size:29px;font-weight:900;letter-spacing:-1px;margin:12px 0}h2 span{color:var(--yellow)}.menu-copy h2{font:700 15px var(--mono);letter-spacing:3.1px;margin-top:28px}.menu-copy p{font-size:14px;line-height:1.75;color:#bbc5b2;margin:19px 0 26px}.primary{background:var(--yellow);color:#253128;display:flex;align-items:center;justify-content:space-between;gap:30px;font-weight:900;font-size:15px;letter-spacing:1px;padding:21px 27px;min-width:190px;box-shadow:inset 0 -3px #b5933e}.primary span{font-size:24px;line-height:15px}.large{width:335px}.menu-links{display:flex;flex-direction:column;align-items:start;gap:17px;margin-top:24px}.menu-links button{font:10px var(--mono);letter-spacing:1px;color:var(--muted);padding:0}.menu-links button span{color:var(--yellow);margin-left:30px;font-size:13px}.hero-caption{position:absolute;bottom:15%;right:8%;display:flex;flex-direction:column;text-align:right;gap:9px}.hero-caption strong{font-size:17px;letter-spacing:1px}.hero-caption>span:last-child{font:9px var(--mono);color:var(--muted)}.menu-footer{position:absolute;bottom:0;left:3.4%;right:3.4%;height:64px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);letter-spacing:1.2px;color:var(--muted)}.menu-footer b{color:var(--yellow);margin:0 10px}.workshop-heading{position:absolute;top:111px;left:3.4%;right:3.4%;display:flex;justify-content:space-between;align-items:center}.workshop-heading h2{font-size:32px;margin:6px 0}.build-tag{font:10px var(--mono);color:var(--muted)}.build-tag .dot{margin-left:25px}.panel{background:#232d27ef;border:1px solid #cdd0b329;box-shadow:0 10px 40px #0d170e22;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workshop-left,.workshop-right{position:absolute;top:195px;bottom:132px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#87957833 transparent}.workshop-left{left:3.4%;width:290px}.workshop-right{right:3.4%;width:260px}.tabs{display:flex;border-bottom:1px solid var(--line);position:sticky;top:0;background:#263229;z-index:1}.tabs button{flex:1;padding:18px 0;color:var(--muted);font:bold 10px var(--mono);letter-spacing:1px}.tabs .selected{color:var(--yellow);box-shadow:inset 0 -2px var(--yellow);background:#d3bd5f08}.panel-heading{display:flex;justify-content:space-between;padding:20px 19px 13px;font:bold 10px var(--mono);letter-spacing:1px}.panel-heading small{color:#8c9a86;font:8px var(--mono)}.panel-heading.slim{padding-top:17px;border-top:1px solid var(--line);margin-top:6px}.slots{padding:0 10px 8px}.slot{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:10px 9px;border:1px solid transparent}.slot.selected{border-color:#e1bf574a;background:#e4bf5710}.slot-number{font:10px var(--mono);color:#82907f}.slot strong{display:block;font-size:12px;font-weight:600}.slot small{font:9px var(--mono);color:var(--muted);display:block;margin-top:5px}.slot.selected .slot-number,.slot.selected .slot-arrow{color:var(--yellow)}.slot-arrow{margin-left:auto;font-size:16px;color:#84967e}.part-list{padding:0 16px}.part{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid var(--line);gap:12px}.part strong{font-size:11px;display:block}.part small{display:block;color:#96a68f;font-size:10px;line-height:1.45;margin-top:6px}.part>span:last-child{font:bold 8px var(--mono);white-space:nowrap;color:var(--yellow)}.part.selected strong{color:var(--yellow)}.lock{font-size:10px}.hint{font-size:10px;line-height:1.6;color:#94a38c;padding:0 18px}.stat-table{padding:2px 19px 16px}.stat-table>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}.stat-table span{font:9px var(--mono);color:var(--muted)}.stat-table strong{font:14px var(--mono)}em{font:8px var(--mono);color:var(--muted);margin-left:5px}.ratings{padding:4px 19px 20px}.ratings>div{display:flex;justify-content:space-between;margin:13px 0;align-items:center}.ratings span{font:9px var(--mono);color:var(--muted)}.bar{display:flex;gap:3px}.bar i{width:5px;height:11px;background:#c0c9a81c;transform:skew(-13deg)}.bar .on{background:var(--yellow)}.ratings>small{font:7px var(--mono);color:#819078}.next-unlock{border-top:1px solid var(--line);padding:19px;background:#e4bd5707}.next-unlock .eyebrow{font-size:8px;color:var(--yellow)}.next-unlock strong{font-size:13px;display:block;margin-top:10px}.next-unlock p{font-size:10px;line-height:1.6;color:var(--muted)}.text-button{font:bold 8px var(--mono);color:var(--yellow);padding:10px 0 0;letter-spacing:1px}.preview-label{position:absolute;bottom:151px;left:calc(50% - 135px);text-align:center;display:flex;flex-direction:column;gap:8px}.preview-label>span:last-child{font:8px var(--mono);color:#9aa88c}.workshop-bottom{position:absolute;left:3.4%;right:3.4%;bottom:24px;min-height:85px;display:flex;align-items:center;gap:38px;background:#253027ee;border-top:1px solid #f1c45b66;padding:14px 17px}.course-card{display:flex;gap:20px;align-items:center;margin-right:auto}.course-number{font:32px var(--mono);color:var(--yellow);padding-right:20px;border-right:1px solid var(--line)}.course-card strong{font-size:15px;display:block;margin:4px 0 7px;letter-spacing:.4px}.course-card small{font:8px var(--mono);color:var(--muted)}.record{display:flex;flex-direction:column;gap:7px}.record small{font:8px var(--mono);color:var(--muted)}.record strong{font:19px var(--mono)}.tuning{padding:0 18px}.tuning-row{display:block;padding:10px 0 14px}.tuning-row>span{display:flex;justify-content:space-between;font:9px var(--mono);align-items:center}.tuning-row output{font:9px var(--mono);color:var(--yellow)}input[type=range]{width:100%;height:4px;margin:18px 0 11px;accent-color:var(--yellow);cursor:pointer}.tuning-row small{display:flex;justify-content:space-between;font:8px var(--mono);color:var(--muted)}.tuning-row:has(input:disabled){opacity:.45}.tuning .hint{padding:0}.drive-label,.ballast-label{font:10px var(--mono);display:flex;align-items:center;justify-content:space-between;margin:15px 0}select{color:var(--yellow);background:#253227;border:1px solid var(--line);padding:8px;font:11px var(--mono)}.race-top{padding:32px 3.5%;display:flex;justify-content:space-between;background:linear-gradient(#17251eb8,transparent);height:200px}.checkpoint-label{font:10px var(--mono);margin-top:22px;letter-spacing:1.5px}.checkpoint-label strong{font-size:29px;display:block;margin-top:7px}.checkpoint-label strong span{font-size:16px;color:#c1c6b7}.clock{position:absolute;left:50%;transform:translate(-50%);text-align:center;display:flex;flex-direction:column;gap:8px;text-shadow:0 2px 8px #172015}.clock small{font:9px var(--mono);letter-spacing:2px}.clock>strong{font:bold 45px var(--mono);letter-spacing:-2px}.clock>span{font:11px var(--mono);color:var(--yellow)}.race-actions{display:flex;gap:25px;align-items:start}.race-actions button{padding:5px;font-size:9px}#announcement{position:absolute;top:34%;left:0;right:0;text-align:center;font:bold 72px var(--mono);text-shadow:0 3px 12px #1b271ccc;color:var(--yellow)}#announcement.warning{font:bold 21px var(--mono);color:#ffd49b;top:27%;letter-spacing:2px}.race-bottom{position:absolute;bottom:0;width:100%;display:flex;align-items:end;justify-content:space-between;padding:25px 3.5%;background:linear-gradient(transparent,#17251ea8)}.map-wrap{width:190px;text-align:center}.minimap{width:180px;height:146px;filter:drop-shadow(0 2px 4px #1118);overflow:visible}.minimap ellipse{fill:#26362a99;stroke:#bbbaa27f;stroke-width:7}.minimap .gate-dot{fill:#e9c578}#map-direction{fill:none;stroke:var(--yellow);stroke-width:3}#map-player{fill:#fff;stroke:#263127;stroke-width:2}#map-target{fill:var(--yellow);stroke:#fff;stroke-width:2}.map-wrap>span{font:bold 9px var(--mono);letter-spacing:2px}.drive-hints{display:flex;flex-direction:column;gap:11px;font:9px var(--mono);color:#d6dbc9;padding-bottom:6px}.drive-hints button{font:inherit;padding:0}.damage-map{width:146px;margin-top:2px;color:#d6dbc9}.damage-map>small{display:block;margin-bottom:2px;font:8px var(--mono);letter-spacing:1.6px}.damage-map svg{display:block;width:100%;height:auto;overflow:visible}.damage-map #part-chassis{fill:#83c86a;fill-opacity:.2;stroke:#83c86a;stroke-width:2}.damage-map rect{fill:#83c86a;stroke:#171c1a;stroke-width:2;transition:fill .12s ease}.damage-map path:not(#part-chassis){fill:none;stroke:#83c86a;stroke-width:4;stroke-linecap:round;transition:stroke .12s ease}.damage-map text{fill:#d6dbc9;font:700 7px var(--mono);letter-spacing:.5px;text-anchor:middle;pointer-events:none}.damage-map .gone{filter:drop-shadow(0 0 2px #000)}kbd{font:9px var(--mono);border:1px solid #cdd5bc55;border-bottom-width:2px;border-radius:2px;padding:3px 5px;color:#eeeada}.speed{text-align:right;min-width:180px}.speed>strong{font:italic 900 83px Arial;line-height:1;letter-spacing:-5px;display:block}.speed>span{font:11px var(--mono);letter-spacing:4px}.rev-track{margin:13px 0;height:5px;width:175px;background:#e6e4c644}.rev-track i{display:block;width:0;height:100%;background:var(--yellow)}.speed>small{font:8px var(--mono);color:#d4d9c8}.results{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);width:570px;padding:28px 34px}.results>h2{font-size:43px;margin:13px 0}.result-time{display:flex;flex-direction:column;text-align:center;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:7px}.result-time>small{font:9px var(--mono);letter-spacing:2px;color:var(--muted)}.result-time>strong{font:bold 52px var(--mono);letter-spacing:-2px}.result-time>span{font:11px var(--mono);color:#eeac87}.good{color:#b8de83!important}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;padding:23px 0}.result-details>span{font:8px var(--mono);color:var(--muted);display:flex;justify-content:space-between}.result-details b{color:#e3e7d6;font-size:10px}.reward-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:18px 0}.reward-row small{font:9px var(--mono);color:var(--muted)}.reward-row strong{display:block;font:30px var(--mono);color:var(--yellow);margin-top:6px}.reward-row strong span{font-size:17px}.reward-row p{font:8px var(--mono);line-height:2;color:var(--muted)}.unlock-banner{display:flex;gap:17px;align-items:center;background:#e1c15d13;border:1px solid #d9c16640;padding:16px}.unlock-banner>span{font-size:28px;color:var(--yellow)}.unlock-banner small{font:8px var(--mono);color:var(--yellow);letter-spacing:.8px}.unlock-banner strong{display:block;font-size:12px;line-height:1.5;margin-top:7px}.result-buttons{display:flex;gap:14px;margin-top:23px}.result-buttons>button{flex:1;justify-content:center;font-size:12px}.secondary{border:1px solid #b7c19a66;font:bold 12px var(--mono);padding:19px;color:#dbe2c9}.modal-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#14231cc7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20}.modal{padding:34px;width:560px;max-width:94vw;max-height:85vh;overflow:auto}.modal h2{font-size:30px;margin:15px 0 24px}.modal p{color:#b5c0a7;font-size:13px;line-height:1.7}.modal ul{padding-left:18px;color:#b5c0a7;font-size:12px;line-height:1.9}.modal-buttons{display:flex;gap:13px;margin-top:25px}.modal-buttons button{font-size:11px;min-width:0;flex:1;justify-content:center}.audio-controls{display:grid;gap:22px}.audio-row{display:block}.audio-row>span{display:flex;justify-content:space-between;font:11px var(--mono)}.audio-row output{color:var(--yellow)}.audio-row input[type=range]{margin:17px 0 10px}.audio-row small{display:flex;justify-content:space-between;color:var(--muted);font:8px var(--mono)}.unlock-list{display:grid;grid-template-columns:40px 1fr;gap:18px 10px;font-size:12px}.unlock-list>b{color:var(--yellow);font:12px var(--mono)}.unlock-list>span{color:#aaba99;font-size:11px}.toast{position:absolute;bottom:130px;left:50%;transform:translate(-50%);padding:14px 22px;background:#222f27;border:1px solid var(--yellow);font:11px var(--mono);max-width:90vw;z-index:30;pointer-events:none}.touch-controls{display:none}.loading{display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;height:100vh;font-size:60px;font-weight:900;color:var(--yellow);background:#26332b}.loading small{font:12px var(--mono);color:var(--muted)}@media(max-height:780px){header{height:66px}.workshop-heading{top:84px}.workshop-heading h2{font-size:27px}.workshop-left,.workshop-right{top:153px;bottom:118px}.workshop-bottom{bottom:16px;padding:10px 14px;min-height:78px}.preview-label{bottom:130px}.panel-heading{padding-top:14px}.stat-table>div{padding:7px 0}.ratings>div{margin:10px 0}.next-unlock{padding:15px 19px}.menu-copy{top:17%}.menu-copy h1{font-size:111px;margin:24px 0 16px}.menu-copy p{margin:14px 0 20px}.hero-caption{bottom:16%}.menu-footer{height:49px}.results{top:54%;padding:20px 28px}.results h2{font-size:34px}.result-time{padding:15px 0}.result-time>strong{font-size:44px}.result-details{padding:17px 0;gap:12px 24px}.reward-row{padding:12px 0}.result-buttons{margin-top:15px}.unlock-banner{padding:12px}.primary{padding:18px 24px}}@media(max-width:1100px){.edition{display:none}.workshop-left{width:255px}.workshop-right{width:225px}.stat-table,.ratings{padding-left:15px;padding-right:15px}.ratings span{font-size:8px}.bar{gap:2px}.menu-copy{left:5%}.hero-caption{right:5%}.course-card small{font-size:7px}.workshop-bottom{gap:20px}.record strong{font-size:16px}.workshop-bottom .primary{min-width:160px}.drive-hints{font-size:8px}.race-top .brand{font-size:18px}.clock>strong{font-size:38px}}@media(max-width:800px){header{padding:0 20px;gap:15px}nav{margin-left:auto}nav button{font-size:8px}nav button:nth-child(2),.icon-button,.balance small{display:none}.balance{font-size:13px}.brand{font-size:19px}.menu-copy{top:18%;left:6%;width:90%}.menu-copy .eyebrow{font-size:7px}.menu-copy h1{font-size:100px}.hero-caption{display:none}.menu-footer>span:last-child{display:none}.workshop-heading{left:20px;right:20px}.build-tag{font-size:8px}.workshop-left{left:20px;width:230px;top:150px;bottom:130px}.workshop-right{display:none}.workshop-bottom{left:20px;right:20px;bottom:16px;gap:8px}.course-number,.record,.course-card small{display:none}.course-card strong{font-size:10px}.course-card .eyebrow{font-size:7px}.workshop-bottom .primary{min-width:110px;padding:20px 14px;font-size:11px}.preview-label{left:auto;right:20px;bottom:150px;width:140px}.preview-label>span:last-child{font-size:7px}.race-actions{flex-direction:column;gap:5px}.race-top{padding:20px}.race-top .brand{font-size:15px}.clock{top:90px}.clock>strong{font-size:32px}.checkpoint-label{font-size:8px}.checkpoint-label strong{font-size:22px}.drive-hints{display:none}.map-wrap{width:120px}.minimap{width:120px;height:98px}.speed>strong{font-size:60px}.speed{min-width:120px}.rev-track{width:120px}.results{width:94vw;max-height:85vh;overflow:auto}.result-time>strong{font-size:40px}.result-details{grid-template-columns:1fr}.results>h2{font-size:31px}.reward-row p{font-size:7px}.result-buttons button{font-size:10px;padding:18px 10px;min-width:0}.menu-footer{font-size:7px;letter-spacing:.5px}}@media(pointer:coarse){.touch-controls{position:absolute;bottom:15px;left:15px;right:15px;display:flex;gap:10px}.touch-controls button{background:#24372bbd;border:1px solid #e2ca7480;padding:22px;color:var(--yellow);font:bold 14px var(--mono);touch-action:none;-webkit-user-select:none;user-select:none}.touch-controls button:nth-child(3){margin-left:auto}.race-bottom{bottom:83px}.drive-hints{display:none}}@media(prefers-reduced-motion:reduce){button{transition:none}}
