:root{--cream:#fff4de;--muted:#c4cac6;--orange:#fa7048;--dark:#17242c;--mint:#b9e2cf;--glass:rgba(18,32,42,.83)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#19252d;color:var(--cream);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible{outline:3px solid #f6c96f;outline-offset:4px}#viewport{position:absolute;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 45%,#17212955 100%)}.hidden{display:none!important}.eyebrow{font-size:10px;font-weight:700;letter-spacing:3px;color:var(--mint)}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#17242c;z-index:20}.load-title{font-size:clamp(30px,6vw,70px);font-weight:200;letter-spacing:10px;margin:22px}.load-title b{font-style:italic;color:var(--orange)}.load-line{height:2px;width:240px;background:#44606b;position:relative;overflow:hidden}.load-line:after{content:'';position:absolute;width:80px;height:100%;background:var(--orange);animation:loading 1s infinite}@keyframes loading{from{left:-80px}to{left:240px}}#loadText{font-size:12px;color:var(--muted)}#hud{position:absolute;inset:0;pointer-events:none}header{position:absolute;left:32px;right:32px;top:26px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.wordmark{font-size:23px;font-weight:300;letter-spacing:5px;text-shadow:0 2px 8px #162a3c77}.wordmark span{display:block;font-weight:900;font-style:italic;font-size:12px;letter-spacing:9px;color:#ffb28c;margin-top:3px}.wallet{display:grid;grid-template-columns:1fr auto;text-align:right;gap:4px 15px}.wallet small{grid-column:1;font-size:9px;letter-spacing:2px;color:var(--mint)}.wallet b{grid-column:1;font-size:20px;letter-spacing:1px}.wallet button{grid-column:2;grid-row:1/3;pointer-events:auto;border:1px solid #ffffff55;background:#14263499;color:var(--cream);width:44px;font-size:21px}#raceTop{text-align:center;display:flex;align-items:center;flex-direction:column;gap:5px;min-width:220px}#raceTop strong{font-size:26px;font-weight:400;letter-spacing:2px;text-shadow:0 1px 8px #152329}#raceTop>span:last-child{font-size:10px;letter-spacing:2px;text-shadow:0 1px 5px #172e36}#routeHint{position:absolute;top:130px;left:32px;display:flex;gap:12px;max-width:300px;text-shadow:0 1px 9px #102532}#routeHint>i{height:38px;width:3px;background:var(--orange)}#routeHint strong{display:block;font-size:16px;font-weight:500;margin:6px 0}#routeHint small{font-size:11px;color:#dde3d9}#minimapWrap{position:absolute;left:32px;bottom:65px;width:194px;height:194px;border:1px solid #e7edde55;border-radius:50%;background:#132b3caa;box-shadow:0 2px 20px #18282a33;overflow:hidden}#minimap{width:100%;height:100%}.miniCaption{position:absolute;bottom:18px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:7px;letter-spacing:2px;color:#fff2dc}.miniCaption span:first-child{font-size:10px}#speedPanel{position:absolute;right:40px;bottom:65px;width:220px;text-align:right;text-shadow:0 2px 12px #16304266}#speed{font-size:clamp(64px,7vw,104px);font-weight:200;letter-spacing:-7px;line-height:.9;font-variant-numeric:tabular-nums}#gear{position:absolute;right:185px;bottom:83px;font-size:32px;color:var(--orange);border-right:1px solid #ffffff77;padding-right:18px}#units{display:block;font-size:10px;letter-spacing:4px;margin-top:8px}.rpm{height:3px;width:154px;background:#fff2;float:right;margin:12px 0 20px}.rpm i{display:block;background:var(--cream);height:100%;width:0}.boostLabel{clear:both;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;color:var(--mint)}.boostBar{height:4px;background:#dce7db33;margin:6px 0 12px}.boostBar i{display:block;height:100%;width:100%;background:var(--orange)}#carName{font-size:10px;letter-spacing:3px}#controlsHint{position:absolute;bottom:24px;left:32px;right:32px;text-align:center;font-size:10px;letter-spacing:.5px;color:#f5f3dbbb;text-shadow:0 1px 5px #12283b}#controlsHint span{margin-left:19px}#skillHud{position:absolute;bottom:130px;left:50%;transform:translateX(-50%);display:none;text-align:center;text-shadow:0 2px 10px #1a2c3c}#skillLabel{display:block;letter-spacing:4px;font-size:11px;color:#ffd598;margin-bottom:3px}#skillScore{font-size:45px;font-weight:300}#skillMultiplier{font-size:20px;color:var(--orange);margin-left:8px}#skillHud>div{height:2px;background:#fff4;width:190px;margin-top:5px}#skillTimer{display:block;height:100%;background:#ffd598;width:100%}#toast{position:absolute;top:25%;left:50%;transform:translateX(-50%);font-size:14px;letter-spacing:2px;text-align:center;text-shadow:0 2px 12px #152838;white-space:pre-line;line-height:1.7;transition:opacity .4s}#countdown{position:absolute;inset:25% 0 auto;text-align:center;font-size:140px;font-weight:900;font-style:italic;color:#ffe1b5;text-shadow:0 4px 25px #18333a77}#checkpointBanner{position:absolute;left:50%;top:38%;transform:translateX(-50%);font-size:13px;letter-spacing:6px;color:var(--mint);text-shadow:0 2px 5px #12263b}#wrongWay{position:absolute;top:43%;left:0;right:0;text-align:center;color:#ffc07a;letter-spacing:2px;font-size:12px}.quickBtn{pointer-events:auto;position:absolute;top:190px;left:32px;background:#f8e8c911;color:#fff4de;border:1px solid #fff5;padding:10px 13px;font-size:10px;letter-spacing:1px}.quickBtn kbd{margin-left:16px;border:1px solid #fff4;padding:2px 5px;font:inherit}#screen{position:absolute;inset:0;background:linear-gradient(90deg,#132433ed 0%,#152d3f88 48%,#142b3833 100%);display:flex;align-items:center;padding:6vh 7vw;z-index:4;overflow:auto}.screenInner{width:min(1120px,100%)}.intro .screenInner{width:620px}.title{font-size:clamp(62px,9vw,128px);line-height:.82;font-weight:200;letter-spacing:2px;margin:30px 0 28px}.title em{display:block;font-style:italic;font-weight:900;color:#ffad7f;margin-left:30px}.lead{font-size:15px;line-height:1.85;color:#d0d9d1;max-width:470px}.screenTitle{font-size:clamp(35px,5vw,65px);line-height:1.1;font-weight:300;margin:15px 0 20px;letter-spacing:-1px}.btnRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.btn{border:1px solid #d9ddcf77;background:#1d3b4a88;color:#fff4de;padding:15px 25px;font-size:11px;letter-spacing:2px;text-transform:uppercase;transition:.15s}.btn:hover{background:#375563;transform:translateY(-2px)}.btn.primary{background:var(--orange);color:#17262e;border-color:var(--orange);font-weight:700}.btn.primary:hover{background:#ff9a70}.btn:disabled{opacity:.4;cursor:default;transform:none}.footerNote{font-size:10px;letter-spacing:1px;color:#bbc8be;margin-top:27px;line-height:1.8}.pill{display:inline-block;border:1px solid #a5c8b955;padding:5px 9px;font-size:8px;letter-spacing:2px;margin:0 8px 0 0;color:#d2e2cb}.screenHead{display:flex;justify-content:space-between;align-items:center;gap:20px}.close{background:#183545aa;color:#fff2de;border:1px solid #fff6;font-size:24px;width:42px;height:42px;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}.eventCard,.carCard{padding:24px;background:linear-gradient(135deg,#31525bdc,#172e3de6);border:1px solid #91b2b23b;position:relative;overflow:hidden}.eventCard:before{content:'';height:3px;position:absolute;inset:0 0 auto;background:var(--orange)}.eventCard .index{font-size:70px;font-weight:900;font-style:italic;opacity:.12;position:absolute;right:20px;top:9px}.eventCard h3,.carCard h3{font-size:23px;font-weight:400;margin:20px 0 12px}.eventCard p,.carCard p{font-size:12px;line-height:1.8;color:#c6d6cb}.eventCard small{font-size:9px;letter-spacing:2px;color:#b8dece}.eventCard .btn{width:100%;margin-top:16px}.record{margin-top:14px;color:#ffe1a1;font-size:10px;letter-spacing:1px}.garageLayout{display:grid;grid-template-columns:310px 1fr;gap:35px}.garageCars{display:flex;flex-direction:column;gap:8px}.carChoice{color:#fff2df;text-align:left;padding:15px;background:#183341cc;border:1px solid #708e8c66;cursor:pointer}.carChoice.selected{border-left:3px solid var(--orange);background:#365760cc}.carChoice b{display:block;font-size:17px;font-weight:400}.carChoice small{display:block;margin-top:6px;color:#b8cebf;font-size:9px;letter-spacing:2px}.carDetail{background:linear-gradient(90deg,#183342a6,#18334222);padding:22px;min-height:300px}.carDetail h3{font-size:38px;font-weight:300;margin:0 0 12px}.stats{display:flex;gap:30px;margin:20px 0}.stats small{font-size:8px;letter-spacing:2px;color:#b7cbbb;display:block}.stats strong{font-size:25px;font-weight:300}.swatches{display:flex;gap:10px;margin-top:20px}.swatch{width:28px;height:28px;border-radius:50%;border:2px solid #fff5}.swatch.active{outline:2px solid white;outline-offset:3px}.garageScreen{background:linear-gradient(90deg,#132533f2 0%,#183442a8 50%,#1c384333 100%)!important}.garageScreen .screenInner{max-width:900px}.resultStats{display:flex;gap:40px;margin:24px 0}.resultStats strong{display:block;font-size:35px;font-weight:300}.resultStats small{font-size:9px;letter-spacing:2px;color:#b8cebf}.medal{font-size:12px;letter-spacing:4px;color:#ffd48b}.settings{display:flex;gap:14px;margin:20px 0;flex-wrap:wrap}.settings button{padding:10px 14px;font-size:10px}.helpGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;color:#cbd8cc;font-size:12px;line-height:1.8}.helpGrid kbd{display:inline-block;min-width:70px;color:#ffe1ad}#mapScreen{position:absolute;inset:0;background:#142936f5;z-index:8;padding:30px 6vw;text-align:center}#mapScreen .close{position:absolute;right:30px;top:30px}#mapScreen h2{font-size:36px;font-weight:300;margin:12px}#bigmap{width:min(80vw,800px);height:calc(100vh - 190px);object-fit:contain}#mapScreen p{font-size:11px;color:#c7d7c9}#touchControls{position:absolute;inset:0;pointer-events:none;z-index:3}#touchControls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid #fff6;background:#18354688;color:#fff1d6;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:1px}#steering{position:absolute;bottom:32px;left:20px;display:flex;gap:12px}#steering button{width:66px;height:66px;font-size:22px}.pedals{position:absolute;bottom:30px;right:20px;display:grid;grid-template-columns:65px 65px;gap:8px}.pedals button{height:50px}#gasBtn{height:70px!important;background:#ef7855aa!important}#resetTouch{position:absolute;left:22px;bottom:118px;width:44px;height:35px}#cameraTouch{position:absolute;left:75px;bottom:118px;width:55px;height:35px}
@media(max-width:800px){header{left:18px;right:18px;top:18px}.wordmark{font-size:16px;letter-spacing:3px}.wordmark span{font-size:9px;letter-spacing:6px}.wallet small{font-size:7px}.wallet b{font-size:15px}.wallet button{width:34px;font-size:17px}.wallet{gap:4px 8px}#raceTop{min-width:0}#raceTop strong{font-size:18px}#raceTop .eyebrow{font-size:8px}#raceTop>span:last-child{font-size:8px;letter-spacing:1px}#routeHint{top:110px;left:18px;max-width:230px}#routeHint strong{font-size:13px}#routeHint small{font-size:9px}#minimapWrap{width:125px;height:125px;left:18px;bottom:65px}#speedPanel{right:22px;width:150px;bottom:65px}#speed{font-size:70px}#gear{right:130px;bottom:77px;font-size:24px;padding-right:10px}.rpm{width:110px}#controlsHint{font-size:8px;bottom:18px}#controlsHint span{margin-left:8px}#skillHud{bottom:120px}#skillScore{font-size:30px}#skillLabel{font-size:8px;letter-spacing:2px}#skillHud>div{width:130px}.cards{grid-template-columns:1fr;gap:10px}.eventCard{padding:18px}.eventCard h3{margin:10px 0}.eventCard p{margin:8px 0}.eventCard .btn{margin-top:8px}.garageLayout{grid-template-columns:1fr;gap:15px}.garageCars{display:grid;grid-template-columns:repeat(2,1fr)}.carChoice{padding:10px}.carChoice b{font-size:14px}.carChoice small{font-size:7px}.carDetail h3{font-size:27px}.carDetail{min-height:0;padding:15px}.btn{padding:13px 18px;font-size:10px}.title{font-size:80px}.lead{font-size:13px}.screenInner{margin:auto 0}#screen{padding:7vh 6vw}.screenTitle{font-size:38px}.screenHead .eyebrow{font-size:8px}.stats{gap:25px}.stats strong{font-size:22px}.resultStats{gap:25px}.resultStats strong{font-size:28px}.helpGrid{font-size:10px}.helpGrid kbd{min-width:48px}#raceQuick{left:18px;top:172px;padding:9px;font-size:9px}#raceQuick kbd{display:none}}
@media(pointer:coarse){#controlsHint{display:none}#minimapWrap{bottom:208px;width:110px;height:110px}#speedPanel{bottom:205px;width:128px}#gear{right:115px}#skillHud{bottom:180px}#routeHint{top:95px}#raceQuick{top:155px}#raceTop{position:absolute;top:60px;left:50%;transform:translateX(-50%);width:220px}#routeHint{max-width:180px}#objectiveDetail{display:none}.title{font-size:70px}#toast{top:35%;font-size:11px;width:90%}}
@media(max-height:600px){#screen{padding:5vh 5vw}.title{font-size:70px;margin:15px 0}.lead{font-size:12px}.footerNote{margin-top:15px}.btnRow{margin-top:20px}#routeHint{top:95px}#raceQuick{top:160px}#minimapWrap{bottom:40px;width:130px;height:130px}#speedPanel{bottom:40px}#controlsHint{bottom:10px}.cards{grid-template-columns:repeat(3,1fr)}.eventCard p{font-size:10px}.eventCard{padding:15px}.eventCard h3{font-size:20px}.eventCard .btn{padding:10px}.garageLayout{grid-template-columns:260px 1fr}.garageCars{display:flex}.carChoice{padding:10px}.carDetail{padding:15px}.carDetail h3{font-size:25px}.stats{margin:12px 0}.screenTitle{font-size:32px;margin:8px 0 15px}.screenHead{gap:10px}#raceTop strong{font-size:20px}}

@media(pointer:coarse){#routeHint{top:133px;max-width:220px}#raceQuick{top:204px}#raceTop strong{font-size:15px;letter-spacing:1px}#speedPanel{right:20px}#speed{font-size:60px;letter-spacing:-4px}}
/* Festival expansion */
.eventTabs,.garageTabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 18px}.eventTabs .btn,.garageTabs .btn{padding:10px 17px;font-size:9px}.expandedEvents{grid-template-columns:repeat(3,1fr);max-height:62vh;overflow:auto;padding:3px 8px 10px 0;scrollbar-color:#adbea9 #19313c}.expandedEvents .eventCard h3{font-size:21px}.expandedEvents .eventCard p{min-height:42px}.garageScreen .screenInner{max-width:940px}.garageLayout{grid-template-columns:225px 1fr;gap:20px}.carDetail{max-height:72vh;overflow:auto;background:linear-gradient(120deg,#1a3545ef,#18333db8)}.carDescription{font-size:12px;line-height:1.7;color:#cbd9cb;margin:10px 0}.customRow{display:flex;gap:15px;margin-top:22px;flex-wrap:wrap}.customRow label{display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:2px;color:#c4d7c7;text-transform:uppercase}.customRow select{background:#234451;color:#fff2dd;border:1px solid #97ad9c77;padding:10px 13px;font-size:12px;text-transform:capitalize}.customRow .btn{padding:11px 13px;font-size:9px}.upgradeList{display:flex;flex-direction:column;gap:12px}.upgrade{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #a0c3b333;padding-bottom:12px}.upgrade strong{font-size:13px;font-weight:500}.upgrade small{display:block;font-size:10px;color:#a9c7b7;margin-top:6px}.upgrade .btn{padding:10px 14px;font-size:9px;white-space:nowrap}#travelBar{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}#travelBar .btn{padding:10px 18px;font-size:9px}#travelBar small{display:block;flex-basis:100%;font-size:9px;color:#b8cdbb;margin-top:4px}#bigmap{height:calc(100vh - 250px)}#mapScreen p{margin:4px 0 12px}#photoScreen{position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(#10283855,transparent 35%,transparent 70%,#10283877)}.photoTitle{position:absolute;left:35px;top:30px}.photoTitle h2{font-size:30px;font-weight:300;margin:10px 0}.photoTitle small{font-size:11px;color:#d8e7d4}.photoControls{position:absolute;bottom:30px;left:35px;right:35px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;pointer-events:auto}.photoControls label{font-size:9px;letter-spacing:2px;color:#cfdfd3;display:flex;flex-direction:column;gap:10px}.photoControls input{accent-color:#fa865c;width:120px}.photoControls .btn{padding:12px 17px;font-size:9px;text-transform:uppercase}
@media(max-width:800px){.expandedEvents{grid-template-columns:repeat(2,1fr);max-height:66vh}.garageLayout{grid-template-columns:1fr}.garageCars{display:grid;grid-template-columns:repeat(3,1fr)}.carDetail{max-height:none}.carDetail h3{font-size:27px}.customRow{gap:10px}.expandedEvents .eventCard h3{font-size:19px}.expandedEvents .eventCard p{min-height:0}.photoTitle{left:20px;top:20px}.photoControls{left:20px;right:20px;bottom:20px}.photoControls label{font-size:8px}.photoControls .btn{padding:12px}.photoControls input{width:100px}}
@media(max-width:500px){.expandedEvents{grid-template-columns:1fr;max-height:66vh}.eventTabs .btn{padding:9px 11px;font-size:8px}.carChoice b{font-size:12px}.garageCars{gap:6px}.carChoice small{font-size:6px}.garageLayout{gap:10px}.carDetail{padding:15px}.garageScreen{align-items:flex-start!important}.stats{gap:20px}.stats strong{font-size:23px}.customRow label{font-size:8px}.photoControls{gap:10px}#travelBar .btn{padding:9px 11px}#bigmap{height:calc(100vh - 310px)}#mapScreen h2{font-size:26px}}
/* Clickable event map and road guidance */
#mapScreen{padding:22px 4vw 18px;overflow:auto;text-align:left}#mapScreen h2{font-size:31px;margin:8px 0}.mapHeader p{margin:7px 0 14px!important;font-size:11px!important}.mapFilters{display:flex;gap:7px;margin-bottom:12px}.mapFilters .btn{padding:9px 15px;font-size:9px}.mapLayout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:18px;max-width:1350px;margin:auto;height:calc(100vh - 250px);min-height:340px}#mapCanvasArea{position:relative;min-width:0;background:#183844;border:1px solid #73968755;overflow:hidden}#bigmap{display:block;width:100%;height:100%;object-fit:contain}#mapPins{position:absolute;inset:0;pointer-events:none}.racePin{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);width:29px;height:29px;border:2px solid var(--pin);border-radius:8px;background:#112b38;color:var(--pin);display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 7px #08212aaa;z-index:2;touch-action:manipulation}.racePin b{font-size:12px}.racePin span{position:absolute;right:-7px;top:-7px;width:15px;height:15px;line-height:15px;background:var(--pin);color:#13313c;font-size:8px;font-weight:700;border-radius:50%}.racePin:hover,.racePin.selected{background:var(--pin);color:#13313c;box-shadow:0 0 0 3px #f6ecd766;z-index:4}.racePin:focus-visible{outline:3px solid white;outline-offset:3px;z-index:5}.pinStem{position:absolute;height:1px;transform-origin:0 50%;opacity:.65}.mapLegend{position:absolute;bottom:10px;left:10px;display:flex;gap:13px;background:#102b38d9;padding:8px 10px;font-size:9px;letter-spacing:1px;pointer-events:none}.mapLegend .road{color:#85d8ee}.mapLegend .dirt{color:#efb66e}.mapLegend .drift{color:#c3a2ee}#mapEventPanel{display:flex;flex-direction:column;gap:12px;overflow:auto;scrollbar-color:#718f87 #1c3542}#mapEventDetails{padding:18px;background:#213e4a;border-left:2px solid #52dbe8}.mapCategory{font-size:8px;letter-spacing:1.6px;line-height:1.7;font-weight:700}#mapEventDetails h3{font-size:25px;font-weight:400;margin:12px 0 10px}#mapEventDetails p{font-size:11px;line-height:1.8;color:#c5d8ca;margin:0 0 12px}.mapFacts{display:flex;gap:6px 13px;flex-wrap:wrap;font-size:9px;line-height:1.8;color:#ccd9ca}.mapRouteDistance{font-size:12px;color:#70dce6;margin:14px 0 10px}.mapRecord{font-size:8px;letter-spacing:1px;color:#e9cc93;display:block;margin:8px 0}.mapActions{display:flex;gap:7px}.mapActions .btn{padding:11px 12px;font-size:9px;letter-spacing:1px}.mapNotice{font-size:9px;line-height:1.7;color:#c2d6c8;display:block;margin-top:10px}.mapCancel{border:0;background:none;color:#d8cab2;font-size:9px;text-decoration:underline;padding:10px 0 0;cursor:pointer}#mapEventList{padding:5px 0;display:flex;flex-direction:column;gap:5px}#mapEventList>.eyebrow{font-size:8px;margin-bottom:5px}.mapEventRow{display:flex;gap:11px;align-items:center;padding:10px 11px;text-align:left;background:#1d3845;border:1px solid #698b833d;color:#f2ecd5;cursor:pointer}.mapEventRow>span{font-size:13px;font-weight:700}.mapEventRow strong{font-size:11px;font-weight:500;display:block}.mapEventRow small{display:block;font-size:8px;letter-spacing:.6px;color:#b5ccbf;margin-top:5px}.mapEventRow.selected{border-color:#61c8d0;background:#2b4b55}#travelBar{margin-top:13px}#navigationCard{position:absolute;top:122px;right:32px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;background:#153541e6;border-left:2px solid #55dae7;padding:12px 13px;max-width:300px;pointer-events:auto}#navigationCard strong{display:block;font-size:13px;font-weight:500;margin:6px 0}#navigationCard small{display:block;font-size:10px;color:#b5d9d3}#navigationCard .eyebrow{font-size:8px;color:#66e0e5}#stopNavigation{border:1px solid #94c1b45c;color:#c9e0d7;background:#14313b;min-width:24px;height:24px;font-size:17px;cursor:pointer;margin-left:auto}#navEnterEvent{font-size:9px;padding:10px 12px;flex-basis:100%}
@media(max-width:850px){#mapScreen{padding:18px 18px 15px}.mapLayout{grid-template-columns:minmax(0,1fr) 255px;gap:12px;height:calc(100vh - 255px)}#mapEventDetails{padding:14px}#mapEventDetails h3{font-size:22px}.mapActions .btn{font-size:8px;padding:10px}#navigationCard{top:120px;right:18px;max-width:230px}.mapLegend{font-size:8px;gap:9px;padding:7px}#mapScreen .close{right:18px;top:18px}}
@media(max-width:600px){#mapScreen{padding:16px 14px;overflow:auto}.mapHeader h2{font-size:26px!important}.mapHeader p{max-width:290px;font-size:10px!important;line-height:1.6}.mapFilters{gap:5px}.mapFilters .btn{font-size:8px;padding:9px 11px;letter-spacing:.5px}.mapLayout{display:flex;flex-direction:column;height:auto;min-height:0;gap:12px}#mapCanvasArea{height:370px;flex:none}#mapEventPanel{overflow:visible;display:block}#mapEventDetails{padding:16px}#mapEventList{max-height:170px;overflow:auto;margin-top:12px}.racePin{width:29px;height:29px}.mapLegend{font-size:8px}.mapActions .btn{padding:12px 15px;font-size:9px}#navigationCard{top:240px;right:14px;max-width:220px;padding:9px 11px}#navigationCard strong{font-size:12px}#navigationCard small{font-size:9px}#navigationCard .eyebrow{font-size:7px}#navEnterEvent{padding:9px}#mapScreen #travelBar{margin-bottom:8px}#mapScreen #travelBar small{line-height:1.6}}
@media(max-height:560px) and (min-width:601px){.mapLayout{height:320px}.mapHeader h2{font-size:25px!important}.mapHeader p{font-size:10px!important}.mapFilters{margin-bottom:9px}#mapScreen{padding-top:16px}}

.mapLegend{top:10px;bottom:auto}

#mapScreen{background:#142936}
.performanceNumbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.performanceNumbers strong{display:block;font-variant-numeric:tabular-nums;white-space:nowrap}.performanceNumbers em{font-size:11px;font-weight:400;font-style:normal;color:#c4d4c8}.performanceNumbers small{line-height:1.7;letter-spacing:1.2px}.carRatings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.carRatings>div{min-width:0}.carRatings span{font-size:10px;color:#d3dfd2}.carRatings b{float:right;font-size:12px;font-weight:500;color:#f2d49e}.carRatings small{font-size:8px;color:#aac4b6;margin-left:2px}.carRatings i{display:block;height:4px;border-radius:2px;background:#8ba69b33;margin-top:9px;overflow:hidden}.carRatings i i{margin:0;background:#90d9c9}.carRatings>div:nth-child(2) i i{background:#e8b679}.carRatings>div:nth-child(3) i i{background:#bca4e5}.performanceNote{font-size:9px;line-height:1.7;color:#abc4b8;margin:12px 0 17px}.raceCarAdvice{padding:10px 11px;margin:12px 0;border-left:2px solid #e5be80;background:#122d3766;line-height:1.6}.raceCarAdvice strong,.raceCarAdvice span{display:block;font-size:10px;font-weight:400}.raceCarAdvice strong{color:#f2d5a2}.raceCarAdvice span{font-size:9px;color:#bfd2c4;margin-top:3px}#tractionStatus{display:block;font-size:8px;letter-spacing:1.4px;color:#c6dbcb;margin-top:9px}#tractionStatus.sliding{color:#ffd090}
@media(max-width:500px){.performanceNumbers{gap:10px}.performanceNumbers strong{font-size:23px}.performanceNumbers small{font-size:7px;letter-spacing:.7px}.carRatings{gap:11px}.carRatings span{font-size:9px}.carRatings b{font-size:11px}.performanceNote{font-size:9px}.carDetail>.eyebrow{font-size:8px;letter-spacing:1.6px}.garageScreen .screenTitle{font-size:32px}.raceCarAdvice{margin:10px 0}#tractionStatus{font-size:7px;letter-spacing:.8px}}
.garageScreen .screenInner{max-width:1060px}.garageLayout{grid-template-columns:235px minmax(0,1fr)}.garageCars{max-height:72vh;overflow-y:auto;padding-right:6px;scrollbar-color:#9bbdad #193541}.carChoice{flex-shrink:0}.setupBadge{display:inline-block;padding:5px 8px;margin:2px 0 0;border:1px solid #8eb8a866;border-radius:3px;font-size:9px;letter-spacing:1px;color:#bfe4d1}.setupPresets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:18px}.setupPresets .btn{padding:10px 8px;font-size:9px;letter-spacing:1px}.setupFields{margin:0;padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;min-width:0}.compoundSetup{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#d7e5d5}.compoundSetup select{background:#244450;border:1px solid #7a9b90;color:#fff1d6;padding:10px 12px;font-size:11px;min-width:0}.setupSlider{display:block;min-width:0}.setupSlider>span{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#dce6da}.setupSlider output{font-variant-numeric:tabular-nums;color:#f2c68c;white-space:nowrap}.setupSlider input{display:block;width:100%;margin:14px 0 8px;accent-color:#f58b61;cursor:pointer}.setupSlider>small{display:flex;justify-content:space-between;gap:10px;font-size:8px;line-height:1.6;color:#adc6b9}.setupSlider>small>span:last-child{text-align:right}.setupTip{font-size:10px;color:#c2d5c7;line-height:1.75;margin:17px 0 10px}.setupSaved{font-size:9px;color:#a5d6c4;line-height:1.6;display:block}.garageDamage{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0 0;margin:20px 0 0;border-top:1px solid #c2d4b533}.garageDamage span{font-size:11px;color:#ebd6ad}.garageDamage small{display:block;color:#a9c5b5;font-size:9px;margin-top:6px}.garageDamage .btn{font-size:9px;padding:10px 13px;letter-spacing:1px}.garageDamage+.btnRow{margin-top:18px}#damageStatus{display:block;font-size:8px;color:#eac99c;letter-spacing:1px;margin-top:7px}#damageStatus.damaged{color:#ffa07b}.setupFields:disabled{opacity:.5}
@media(max-width:800px){.garageLayout{grid-template-columns:1fr}.garageCars{max-height:190px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-right:5px}.carDetail{max-height:none}.garageTabs .btn{padding:10px 13px;font-size:9px}.setupFields{gap:18px}.garageScreen .screenTitle{font-size:35px}}
@media(max-width:500px){.garageCars{max-height:174px;gap:6px}.carChoice{padding:10px 7px;min-width:0}.carChoice b{font-size:11px}.carChoice small{font-size:6px;letter-spacing:1px}.garageTabs{gap:5px}.garageTabs .btn{padding:10px 9px;font-size:8px;letter-spacing:1px}.setupPresets{gap:5px}.setupPresets .btn{font-size:8px;padding:11px 5px}.setupFields{grid-template-columns:1fr;gap:18px}.compoundSetup{font-size:10px}.compoundSetup select{font-size:10px;max-width:175px}.setupSlider>small{font-size:9px}.setupSlider input{min-height:24px;margin:6px 0}.garageDamage{align-items:flex-start}.garageDamage .btn{white-space:nowrap}.garageDamage small{font-size:8px}.garageScreen .screenTitle{font-size:31px}}
