/* Basecamp UI. One viewport shell; each destination owns its scroll area. */
@view-transition{navigation:auto}
:root{--game-ink:#f2f0e9;--game-muted:#a4afb2;--game-accent:#f4bd68;--game-panel:#172127;--game-line:#ffffff1c}
#menu-root{position:fixed;inset:0;z-index:25;display:grid;place-items:center;overflow:hidden;padding:0;color:var(--game-ink);background:#0c141a;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
#menu-root::before{display:none}#menu-root button,#menu-root a{touch-action:manipulation}#menu-root button:disabled{cursor:default;opacity:.45}
#menu-root button:focus-visible,#menu-root a:focus-visible,#menu-root select:focus-visible,#menu-root input:focus-visible{outline:3px solid #ffe0a5;outline-offset:3px}
.menu-art{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 20%,#475052,#15232b 55%,#0b141a)}.menu-art img{width:100%;height:100%;object-fit:cover;object-position:70% center;opacity:0;filter:saturate(.7)}.menu-art img.is-ready{opacity:1}.menu-art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b141af5,#0b141a9c 50%,#0b141a65),linear-gradient(0deg,#0b141af5,transparent 80%)}
#menu-root .main-menu{position:relative;display:grid;grid-template-columns:178px minmax(0,1fr);grid-template-rows:72px minmax(0,1fr) 38px;width:100%;height:100vh;height:100dvh;min-height:0;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
#menu-root .menu-header{grid-column:1/-1;display:flex;align-items:center;gap:24px;padding:10px 30px;border:0;border-bottom:1px solid var(--game-line);background:#0d171bc9;min-width:0}
#menu-root .menu-wordmark{min-height:44px;padding:0;border:0;background:none;color:var(--game-ink);font-size:19px;letter-spacing:.18em;font-weight:900;white-space:nowrap}.brand-mark{color:var(--game-accent);letter-spacing:-.2em;margin-right:12px;font-weight:500}.menu-marker{font-size:9px;color:#b8b6ab;letter-spacing:.16em;border-left:1px solid #ffffff25;padding-left:22px}
#completion-count{margin-left:auto;font-size:11px;color:#abb9ba;white-space:nowrap}#menu-root .driver-chip{width:190px;min-height:44px;max-width:28vw;padding:12px 15px;text-decoration:none;text-align:center;border:1px solid #ffffff28;border-radius:5px;color:#f4e5c8;background:#ffffff07;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-rail{grid-row:2;grid-column:1;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:26px 13px 16px;border-right:1px solid var(--game-line);overflow:auto;background:#0b141ab8;scrollbar-width:thin}.rail-spacer{flex:1;min-height:18px}
#menu-root .menu-rail button,#menu-root .menu-rail a{position:relative;display:flex;align-items:center;gap:13px;min-height:48px;flex-shrink:0;padding:12px 14px;text-align:left;border:1px solid transparent;border-radius:4px;background:transparent;color:#abb8bd;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap}.menu-rail span{width:23px;font-size:22px;text-align:center;font-weight:400;color:#899b9f}#menu-root .menu-rail [aria-pressed=true]{color:#fff0d5;background:linear-gradient(90deg,#eab25c29,#eab25c08);border-color:#eab25c2e}#menu-root .menu-rail [aria-pressed=true]::before{content:'';position:absolute;left:-1px;top:9px;bottom:9px;width:3px;background:var(--game-accent)}#menu-root .menu-rail [aria-pressed=true] span{color:var(--game-accent)}#menu-root .menu-rail a:hover,#menu-root .menu-rail button:hover{background:#ffffff09;color:#fff}
#menu-root .home-panel{grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:auto;padding:28px clamp(20px,3vw,52px);scrollbar-width:thin;scrollbar-color:#566366 transparent;animation:menu-arrive .18s ease-out both}
#menu-root .title-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:28px;align-content:center;align-items:stretch;width:100%;max-width:1560px;margin:0 auto}
.expedition-hero{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:18px}.hero-copy .eyebrow{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 14px;font-size:9px;font-weight:650;letter-spacing:.18em;color:var(--game-accent)}#hero-route-kind{font-size:8px;border:1px solid #ffffff30;padding:5px 7px;letter-spacing:.08em;color:#b8c3c4}
#menu-root #main-title{font-size:clamp(30px,4.6vw,64px);line-height:.98;letter-spacing:-.045em;font-weight:850;margin:0;color:#f8f3e7;text-wrap:balance}#hero-description{max-width:620px;font-size:13px;line-height:1.65;color:#aebcbf;margin:14px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#menu-root .hero-route-frame{position:relative;display:block;width:100%;min-height:0;padding:0;overflow:hidden;text-align:left;border:1px solid #ffffff2b;border-radius:8px;background:#182b34;box-shadow:0 20px 48px #0005}.hero-route-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07141ae0,transparent 65%);pointer-events:none}#landing-route-preview{aspect-ratio:1.85;max-height:35dvh;overflow:hidden}#landing-route-preview img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;margin:0;transition:transform .35s}#menu-root .hero-route-frame:hover img{transform:scale(1.025)}.preview-caption{position:absolute;z-index:1;bottom:20px;left:22px;right:22px;display:flex;align-items:end;justify-content:space-between;gap:12px;color:#f8ead4}.preview-caption>span{font-size:9px;letter-spacing:.16em}.preview-caption strong{font-size:13px;font-weight:600}.preview-caption strong span{margin-left:8px;color:var(--game-accent)}
.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 4px}.hero-metrics>div{border-left:1px solid #ffffff2d;padding-left:13px;min-width:0}.hero-metrics span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8eaaad;margin-bottom:5px}.hero-metrics strong{display:block;font-size:15px;font-weight:650;color:#efeee4;overflow-wrap:anywhere}
.departure-panel{display:flex;flex-direction:column;gap:14px;min-width:0;background:#121f27e8;border:1px solid #ffffff25;border-top:2px solid var(--game-accent);border-radius:8px;padding:24px;box-shadow:0 18px 44px #0003}.departure-heading .eyebrow{font-size:8px;letter-spacing:.2em;color:#a1b1b7}.departure-heading h2{font-size:23px;letter-spacing:-.02em;line-height:1.15;margin:7px 0 3px;color:var(--game-ink)}
#menu-root .loadout-route{display:flex;align-items:center;gap:11px;background:#ffffff04;border:1px solid #ffffff18;padding:12px;color:var(--game-ink);text-align:left;border-radius:5px;min-height:60px}.choice-number{color:#f4bd68;font:12px ui-monospace,monospace}.loadout-route>span:nth-child(2){flex:1;min-width:0}.loadout-route small,.loadout-car small{display:block;color:#93a8af;font-size:8px;letter-spacing:.13em;margin-bottom:5px}.loadout-route strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}
#menu-root .loadout-car{position:relative;padding:0;overflow:hidden;text-align:left;border:1px solid #ffffff20;background:#1e303a;border-radius:5px;color:var(--game-ink)}#landing-car-preview{height:135px;overflow:hidden;background:#243b44}#landing-car-preview img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;margin:0}.loadout-car-copy{display:block;padding:12px 14px;background:#0e1d28b3}.loadout-car-copy strong{display:block;font-size:15px;font-weight:650}.car-change{position:absolute;right:13px;bottom:15px;color:var(--game-accent)}
#menu-root .landing-mission{width:100%;margin:0;min-height:44px;padding:9px 12px;border:1px solid #e9b96a40;border-radius:5px;background:#e9b96a09;color:#efcb91;text-align:left;font-size:11px;line-height:1.5}.landing-mission::after{content:' ›';float:right}.departure-actions{margin-top:auto}.title-actions{display:flex;flex-direction:column;gap:8px}
#menu-root .primary{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;border:1px solid #ffd79b;background:var(--game-accent);color:#182025;border-radius:5px;padding:12px 18px;text-decoration:none;font-size:13px;font-weight:800;transition:background .15s,transform .15s}#menu-root .primary:hover{background:#ffcf88;transform:translateY(-1px)}#menu-root .primary:active{transform:none}#menu-root .play-drive{min-height:56px;font-size:17px;letter-spacing:.13em}#menu-root .play-drive::after{content:'→';font-size:23px;line-height:1}#menu-root #main-resume{background:#bdd6cb;border-color:#d7e9df;color:#152a27;font-size:13px}#menu-root .challenge-link{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;border:0;background:none;padding:10px 2px;color:#adbfc3;font-size:11px}#menu-root .challenge-link:hover{color:var(--game-accent)}
#menu-root .menu-help{font-size:12px;line-height:1.6;color:#a5b6bd;margin:10px 0}#menu-error{font-size:12px;padding:10px;border-left:3px solid #e29c82;color:#f8d6ca;background:#512a27;overflow-wrap:anywhere}
#menu-root .menu-footer{grid-column:1/-1;display:flex;align-items:center;gap:22px;padding:0 30px;border-top:1px solid var(--game-line);background:#0c141bd9;font-size:10px;color:#8ca0a8;margin:0}.menu-footer-brand{font-size:8px;letter-spacing:.17em;color:#d2bb92}.menu-footer a{color:#9bb1bb;text-decoration:none;font-size:10px}.menu-release{margin-left:auto}.menu-key-hint{font-size:9px}.menu-key-hint kbd{font-size:9px;padding:2px 4px;margin:0 2px;border:1px solid #ffffff23;border-radius:3px}
#menu-root .section-heading{position:relative;margin-bottom:22px;padding:0}.section-heading .eyebrow{font-size:9px;letter-spacing:.18em;color:var(--game-accent)}.section-heading h2{font-size:clamp(26px,3.2vw,42px);line-height:1.08;margin:8px 0;letter-spacing:-.035em;font-weight:800;color:var(--game-ink)}.section-heading p{font-size:13px;line-height:1.6;color:#a5b6bd;max-width:650px}.back-menu{min-height:44px;background:transparent!important;border:0!important;color:#b6c6cb!important;font-size:11px!important;padding:5px 0!important;display:block!important;margin-bottom:10px!important}
#menu-root .menu-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.85fr);gap:24px;align-items:start}.drive-picker{padding:0;min-width:0}.route-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}#menu-root .route-filters button{min-height:40px;padding:9px 13px;background:#1a2a33;border:1px solid #ffffff20;border-radius:4px;color:#b5c5ca;font-size:11px}#menu-root .route-filters [aria-pressed=true]{background:#f4bd681c;border-color:#f4bd6877;color:#ffda9f}
.route-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}.route-choice,.vehicle-choice{position:relative;overflow:hidden;text-align:left;color:var(--game-ink);background:#182a34;border:1px solid #ffffff25;border-radius:7px;transition:border-color .15s,transform .15s}#menu-root .route-choice{display:flex;flex-direction:column;gap:8px;padding:0 0 15px;min-height:0}.route-choice img,.vehicle-choice img{border-radius:0!important;margin:0 0 5px!important;aspect-ratio:24/13;object-fit:cover}.route-choice strong,.route-choice>span{padding:0 13px}.route-choice strong{font-size:14px;font-weight:700}.route-choice>span{font-size:10px;color:#a1b7c1}.route-choice[aria-pressed=true],.vehicle-choice[aria-pressed=true]{border-color:var(--game-accent);box-shadow:inset 0 -3px var(--game-accent)}.route-choice[aria-pressed=true]::after,.vehicle-choice[aria-pressed=true]::after{content:'SELECTED';position:absolute;right:8px;top:8px;padding:5px 7px;background:#f4bd68;color:#162129;font-size:8px;font-weight:850;letter-spacing:.08em}.route-choice:hover,.vehicle-choice:hover:not(:disabled){transform:translateY(-2px);border-color:#f4bd6888}
#menu-root .route-preview{position:sticky;top:0;display:block;padding:20px;background:#152630;border:1px solid #ffffff25;border-radius:8px;align-self:start}.route-map{display:none}#selected-preview{margin-bottom:17px}#selected-preview img{border-radius:5px}.route-difficulty{font-size:9px;color:#f4bd68;letter-spacing:.13em;margin:0 0 8px}.route-preview h2{font-size:27px;line-height:1.1;letter-spacing:-.03em;margin:0}#preview-description{font-size:12px;line-height:1.7;color:#a9bbc4;margin:13px 0}#route-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:13px 0;margin:12px 0;border-block:1px solid #ffffff1b}#route-stats div{padding:0;background:none}#route-stats span{display:block;font-size:9px;color:#93a9b4;margin-bottom:4px}#route-stats strong{font-size:12px;overflow-wrap:anywhere}
#menu-root select,#menu-root input:not([type=checkbox]):not([type=range]){width:100%;min-height:46px;background:#0d1e29;border:1px solid #ffffff30;color:#e9efea;border-radius:5px;padding:10px 12px;font:14px system-ui;margin:7px 0}#menu-root select:disabled{opacity:.65}.route-library{display:block;margin-top:22px;font-size:11px;color:#a5bbc4}.drive-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drive-options label{font-size:11px;color:#b0c0c5}.drive-options p{grid-column:1/-1}.recommend-car{min-height:44px}
.vehicle-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vehicle-choice{padding:0 0 18px}.vehicle-choice>span{display:none}.vehicle-choice strong,.vehicle-choice p{display:block;margin:0 16px}.vehicle-choice strong{font-size:19px;font-weight:700;letter-spacing:-.025em}.vehicle-choice p{font-size:12px;line-height:1.6;color:#a5b8c1;margin-top:8px}.vehicle-choice:disabled{opacity:.42}.vehicle-choice[aria-pressed=true]:disabled{opacity:1}.vehicle-selection{display:grid;grid-template-columns:1fr 1.2fr auto;gap:20px;align-items:center;background:#0b1922ef;padding:14px 20px;border:1px solid #ffffff20;border-radius:6px;margin-top:15px;position:sticky;bottom:-28px}.vehicle-selection label{font-size:11px;color:#a4b9c3}.vehicle-selection .primary{width:auto;min-width:110px}#vehicle-description{font-size:12px;color:#acbdc6}.vehicle-rule-note{font-size:12px;color:#e7c99a;padding:12px 15px;background:#e9b96a0d;border-left:2px solid #e9b96a;margin:20px 0 0}
.workshop-links,.infinity-layout,.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.workshop-links>a{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:end;gap:16px;min-height:270px;border:1px solid #ffffff28;border-radius:8px;padding:28px;background:linear-gradient(145deg,#32454b,#14232d 80%);text-decoration:none;color:#acbdc6}.workshop-links>a::after{content:'↗';position:absolute;right:22px;top:20px;color:#edc07d;font-size:25px}.workshop-links>a:hover{border-color:var(--game-accent)}.workshop-number{font:36px ui-monospace,monospace;color:#e9bd7866;letter-spacing:-.05em}.workshop-links strong{font-size:30px;color:#f0f0e5;letter-spacing:-.035em}.workshop-links span:last-child{font-size:13px;line-height:1.7;max-width:350px}.help-grid section{padding:24px;background:#142630;border:1px solid #ffffff20;border-radius:7px}.help-grid h3{font-size:16px;margin:0 0 12px}.help-grid p{font-size:13px;line-height:1.8;color:#acbec6;margin:0}.help-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.help-links a{min-height:44px;padding:13px 17px;border:1px solid #ffffff26;border-radius:5px;text-decoration:none;color:#dfc398;font-size:12px}
.infinity-seed-card,.infinity-loadout{padding:26px;background:#142630;border:1px solid #ffffff25;border-radius:8px}.infinity-seed-card .eyebrow{color:var(--game-accent)}.infinity-seed-card label{display:block;font-size:12px;margin-top:25px}.infinity-seed-actions{display:flex;gap:10px;margin-top:10px}.infinity-seed-actions button,.infinity-loadout>button:not(.primary){min-height:44px;background:#253d49;border:1px solid #ffffff25;color:#e2e9e6;padding:11px 15px;border-radius:5px;font-size:12px}.infinity-loadout strong{display:block;font-size:24px;margin-top:15px}.infinity-loadout h3{margin:0 0 15px;font-size:19px}.infinity-loadout p,#infinity-seed-note{font-size:12px;line-height:1.7;color:#9cb4c1}.infinity-loadout .primary{margin-top:18px}
.local-file-panel{margin-top:20px;padding:15px;background:#142630;border:1px solid #ffffff22;border-radius:6px}.local-file-panel summary{min-height:36px;font-size:12px;font-weight:650;cursor:pointer}.local-file-panel>a{font-size:12px;color:#dfc398}.local-file-actions{display:flex;flex-wrap:wrap;gap:8px}.local-file-actions button{min-height:44px;background:#253c49;border:1px solid #ffffff25;color:#d8e5e7;font-size:11px;border-radius:5px;padding:10px 12px}.local-map-row{border-top:1px solid #ffffff25;padding:13px 0}.local-map-row strong{display:block;font-size:13px;margin-bottom:10px}
#menu-root[data-screen=pause],#menu-root[data-screen=result]{background:transparent}#menu-root[data-screen=pause] .menu-art,#menu-root[data-screen=result] .menu-art{display:none}#menu-root #overlay{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#07111a8c;backdrop-filter:blur(5px);pointer-events:auto}
#menu-root .run-card{width:min(520px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:32px;background:#12232cf2;border:1px solid #ffffff2b;border-top:3px solid var(--game-accent);border-radius:8px;box-shadow:0 22px 90px #0008}.run-card .eyebrow{font-size:10px;color:var(--game-accent);letter-spacing:.18em}#menu-root .run-card h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.05;margin:14px 0}#overlay-text{font-size:13px;line-height:1.7;color:#b4c4cb}#overlay[data-state=failed] .run-card{border-top-color:#f39c80}#overlay[data-state=finished] .run-card{border-top-color:#b5d8c2}.result-summary{display:grid;gap:8px;border-block:1px solid #ffffff20;padding:16px 0;margin:20px 0}.result-summary>div{display:flex;justify-content:space-between;gap:20px;font-size:12px}.result-summary dt{color:#8fa8b4}.result-summary dd{margin:0;color:#e3e8df;text-align:right}.pause-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.pause-actions button{min-height:46px;padding:10px;border:1px solid #ffffff25;background:#213641;color:#c4d5dc;border-radius:5px;font-size:11px}.card-foot{font-size:10px;color:#89a1ad;margin-top:20px;text-align:center}
#menu-root .settings-menu{width:min(1000px,calc(100% - 48px));height:min(780px,calc(100dvh - 48px));display:flex;flex-direction:column;padding:0;margin:0;border:1px solid #ffffff28;border-radius:8px;background:#10212cf7;position:relative;overflow:hidden;box-shadow:0 25px 80px #0008}.settings-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0;padding:22px 28px;border-bottom:1px solid #ffffff1d;background:none}.settings-header .eyebrow{color:var(--game-accent);font-size:9px;letter-spacing:.16em}.settings-header h1{font-size:30px;letter-spacing:-.035em;margin:6px 0 0}.settings-header button{min-height:44px;padding:10px 20px;border:1px solid #ffffff35;border-radius:5px;background:#263f4c;color:#e3eae6}.settings-layout{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:0;flex:1;overflow:hidden}#settings-tabs{display:flex;flex-direction:column;gap:5px;padding:18px 12px;background:#0c1a24;border-right:1px solid #ffffff1b;overflow:auto}#settings-tabs button{min-height:44px;flex-shrink:0;text-align:left;padding:12px 16px;border:1px solid transparent;border-radius:4px;background:none;color:#93adbc;font-size:12px}#settings-tabs button[aria-selected=true]{background:#f4bd6819;border-color:#f4bd6855;color:#fbd9a5}#settings-panels{overflow:auto;padding:25px 30px;min-height:0}#settings-panels h2{font-size:23px;margin:0 0 10px}.settings-help{font-size:12px;line-height:1.7;color:#96b1c0;margin-bottom:24px}.setting-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 15px;padding:14px 0;border-bottom:1px solid #ffffff12}.setting-row label{font-size:13px;color:#c6d7dc}.setting-row output{font:12px ui-monospace,monospace;color:#f4bd68}.setting-row input[type=range],.setting-row select{grid-column:1/-1;width:100%;accent-color:#f4bd68;min-height:40px;margin:0}.setting-row input[type=checkbox]{width:22px;height:22px;accent-color:#f4bd68}.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 24px;border-top:1px solid #ffffff1b;flex-shrink:0;background:#0c1a24}.settings-footer span{font-size:11px;color:#95afbc}.settings-footer button{min-height:44px;padding:10px 13px;border:1px solid #ffffff25;background:transparent;color:#ceb48d;border-radius:5px;font-size:11px}
#loading,#menu-preparing{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:radial-gradient(ellipse at 65% 30%,#243a43,#0c151d 70%);color:#9eb3be;text-align:center;padding:24px;font-size:12px}#loading strong,#menu-preparing strong{color:#f3e8d4;font-size:27px;letter-spacing:.12em}.loading-orbit{width:30px;height:30px;border:2px solid #ffffff15;border-top-color:#f4bd68;border-radius:50%;animation:menu-spin .9s linear infinite}#menu-root[data-ready=pending] #main-screen{visibility:hidden;pointer-events:none}@keyframes menu-spin{to{transform:rotate(360deg)}}@keyframes menu-arrive{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1100px){#menu-root .main-menu{grid-template-columns:145px minmax(0,1fr)}#menu-root .title-screen{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.departure-panel{padding:18px;gap:12px}.menu-rail{padding-inline:9px}#menu-root .menu-rail button,#menu-root .menu-rail a{gap:8px;padding-inline:10px;font-size:11px}.menu-marker{display:none}.vehicle-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#menu-root .menu-body{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.menu-key-hint{display:none}}
@media(max-width:760px){#menu-root .main-menu{grid-template-columns:1fr;grid-template-rows:58px 60px minmax(0,1fr) 30px}#menu-root .menu-header{grid-row:1;gap:12px;padding:7px 16px}.menu-wordmark{font-size:16px!important}#completion-count{display:none}#menu-root .driver-chip{margin-left:auto;max-width:42vw;width:160px;font-size:11px;padding-inline:10px}.menu-rail{grid-row:2;grid-column:1;flex-direction:row;gap:4px;padding:4px 12px;border-right:0;border-bottom:1px solid #ffffff18;overflow-x:auto;scrollbar-width:none}.rail-spacer{display:none}#menu-root .menu-rail button,#menu-root .menu-rail a{display:flex;flex-direction:column;justify-content:center;gap:1px;min-height:48px;min-width:69px;padding:3px 8px;font-size:9px}.menu-rail span{font-size:20px;line-height:23px}#menu-root .menu-rail [aria-pressed=true]::before{top:auto;bottom:-1px;left:12px;right:12px;height:2px;width:auto}#menu-root .home-panel{grid-row:3;grid-column:1;padding:20px 18px}#menu-root .title-screen{grid-template-columns:1fr;gap:18px;align-content:start}.expedition-hero{gap:12px}.hero-copy .eyebrow{margin-bottom:10px;font-size:8px}#menu-root #main-title{font-size:32px}#hero-description{font-size:12px;margin-top:8px}#landing-route-preview{aspect-ratio:2.6;max-height:190px}.preview-caption{left:14px;right:14px;bottom:12px}.preview-caption>span{font-size:8px}.preview-caption strong{font-size:11px}.hero-metrics{gap:12px}.hero-metrics strong{font-size:13px}.hero-metrics span{font-size:8px}.departure-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px}.departure-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.departure-heading h2{font-size:18px;margin:0}.departure-heading .eyebrow{font-size:8px}.loadout-route{grid-column:1;grid-row:2}.loadout-car{grid-column:2;grid-row:2/4}#landing-car-preview{height:86px}.loadout-car-copy{padding:8px 10px}.loadout-car-copy strong{font-size:12px}.loadout-car small{font-size:7px}.car-change{right:9px;bottom:11px}.landing-mission{grid-column:1;grid-row:3;font-size:10px!important}.departure-actions{grid-column:1/-1}.title-actions{flex-direction:row}.title-actions button{flex:1;font-size:14px!important;min-height:48px!important}.challenge-link{min-height:38px!important}.menu-footer{grid-row:4;padding:0 18px!important;gap:10px!important}.menu-footer-brand{display:none}.menu-release{font-size:8px}.menu-footer a{font-size:9px}#menu-root .menu-body{display:flex;flex-direction:column;gap:18px}.drive-picker{width:100%}.route-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#menu-root .route-preview{position:relative;width:100%;top:auto}#selected-preview img{max-height:180px;object-fit:cover}.route-choice strong{font-size:12px}.route-choice>span{font-size:9px}.vehicle-cards{gap:12px}.vehicle-choice strong{font-size:15px}.vehicle-choice p{font-size:11px}.vehicle-selection{grid-template-columns:1fr auto;gap:10px;bottom:-20px;padding:12px}#vehicle-description{grid-column:1/-1;grid-row:2;margin:0}.workshop-links,.help-grid,.infinity-layout{grid-template-columns:1fr}.workshop-links>a{min-height:220px;padding:24px}.section-heading h2{font-size:29px}#menu-root .settings-menu{width:calc(100% - 20px);height:calc(100dvh - 20px)}.settings-header{padding:16px 18px}.settings-header h1{font-size:25px}.settings-layout{display:flex;flex-direction:column}#settings-tabs{flex-direction:row;flex-shrink:0;padding:6px 10px;border-bottom:1px solid #ffffff1b;border-right:0;overflow:auto}#settings-tabs button{font-size:11px;padding:10px 13px}#settings-panels{padding:20px;flex:1}.settings-footer{padding:10px 15px}.settings-footer span{font-size:10px}.run-card{padding:24px!important}.result-summary{margin:14px 0}}
@media(max-height:550px) and (min-width:650px){#menu-root .main-menu{grid-template-columns:130px minmax(0,1fr);grid-template-rows:48px minmax(0,1fr) 26px}#menu-root .menu-header{grid-row:1;padding:3px 20px}.menu-rail{grid-column:1;grid-row:2;flex-direction:column;padding:8px;overflow:auto;border-right:1px solid #ffffff20}.rail-spacer{display:none}#menu-root .menu-rail button,#menu-root .menu-rail a{flex-direction:row;justify-content:start;gap:8px;min-height:44px;padding:6px 9px;font-size:10px}.menu-rail span{font-size:18px}#menu-root .menu-rail [aria-pressed=true]::before{left:0;top:8px;bottom:8px;width:2px;height:auto;right:auto}#menu-root .home-panel{grid-column:2;grid-row:2;padding:16px 20px}#menu-root .title-screen{grid-template-columns:minmax(0,1fr) 230px;gap:20px;align-content:start}.expedition-hero{gap:12px;justify-content:start}.hero-copy .eyebrow{font-size:7px;margin-bottom:8px}#hero-route-kind{display:none}#menu-root #main-title{font-size:29px}#hero-description{display:none}#landing-route-preview{max-height:150px;aspect-ratio:2.4}.hero-metrics strong{font-size:11px}.hero-metrics span{font-size:8px}.departure-panel{display:flex;gap:8px;padding:12px}.departure-heading{display:none}#menu-root .loadout-route{min-height:44px;padding:7px 10px}.loadout-route small{font-size:7px;margin-bottom:3px}.loadout-route strong{font-size:10px}#landing-car-preview{height:70px}.loadout-car-copy{padding:7px 11px}.loadout-car-copy strong{font-size:12px}.landing-mission{min-height:40px!important;font-size:10px!important}.title-actions{flex-direction:row}#menu-root .title-actions button{min-height:44px;font-size:12px}.challenge-link{min-height:38px!important}.menu-footer{grid-row:3;min-height:0}.menu-footer-brand,.menu-key-hint{display:none}.run-card{padding:20px!important;max-height:calc(100dvh - 24px)!important}.run-card h1{font-size:28px!important}.result-summary{display:none}#menu-root .settings-menu{height:calc(100dvh - 20px)}.settings-header{padding:10px 20px}.settings-header .eyebrow{display:none}.settings-layout{display:grid;grid-template-columns:145px 1fr}#settings-tabs{flex-direction:column}.settings-footer{padding:5px 16px}}
@media(prefers-reduced-motion:reduce){#menu-root *,#menu-root *::before,#menu-root *::after,#loading *{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
/* Neutralize old HUD stylesheet menu rules; retain its in-drive controls. */
#menu-root .menu-footer{flex-wrap:nowrap;min-width:0}#menu-root .menu-footer>*{flex:0 0 auto;margin-left:0}#menu-root .menu-footer .menu-release{margin-left:auto;min-width:0}#menu-root .menu-footer a{display:inline-flex;align-items:center;min-height:26px;padding:0;border:0;background:none;font-size:10px;color:#9bb1bb}#menu-root .menu-footer a:hover{background:none;color:#f4bd68}#menu-root .route-preview .menu-help{display:block}#menu-root #main-resume{margin-top:0}#menu-root #reset-settings{background:transparent;border-color:#ffffff25;font-size:11px}#menu-root .pause-actions button{font-size:11px;padding:10px;border-color:#ffffff25;background:#213641;color:#c4d5dc}#menu-root .menu-header{justify-content:flex-start}
#menu-root .main-menu{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);grid-template-rows:calc(72px + env(safe-area-inset-top)) minmax(0,1fr) calc(38px + env(safe-area-inset-bottom))}#menu-root .menu-header{padding-top:calc(10px + env(safe-area-inset-top))}#menu-root .menu-footer{padding-bottom:env(safe-area-inset-bottom)!important}
@media(max-width:760px){#menu-root .main-menu{grid-template-rows:calc(58px + env(safe-area-inset-top)) 60px minmax(0,1fr) calc(30px + env(safe-area-inset-bottom))}#menu-root .menu-header{padding-top:calc(7px + env(safe-area-inset-top))}#menu-root .menu-footer .menu-release{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}}
@media(max-height:550px) and (min-width:650px){#menu-root .main-menu{grid-template-rows:calc(48px + env(safe-area-inset-top)) minmax(0,1fr) calc(26px + env(safe-area-inset-bottom))}#menu-root .menu-header{padding-top:calc(3px + env(safe-area-inset-top))}}
/* Basecamp selection flow: official routes and uploads have separate destinations. */
#menu-root .basecamp-screen{display:flex;flex-direction:column;justify-content:center;width:min(1080px,100%);margin:auto;padding-block:24px}.basecamp-heading h1{font-size:clamp(24px,3vw,40px)!important;margin:4px 0 22px}.basecamp-heading .eyebrow{margin:0}.basecamp-loadout{width:100%;padding:22px;background:#101e27ed;border:1px solid #ffffff20;border-radius:8px}.basecamp-map-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:18px}#menu-root .basecamp-level{display:grid;grid-template-columns:42% minmax(0,1fr);width:100%;padding:0;overflow:hidden;border:1px solid #ffffff27;background:#182c37;text-align:left;border-radius:6px}#menu-root .basecamp-level #landing-route-preview{height:175px;max-height:none;aspect-ratio:auto}#menu-root .basecamp-level img{height:100%;width:100%;object-fit:cover}.basecamp-choice-copy{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:18px;min-width:0}.basecamp-choice-copy small{color:#f4bd68;font-size:9px;letter-spacing:.12em}.basecamp-choice-copy strong{font-size:22px;line-height:1.2}.basecamp-choice-copy>span:not(.choice-cta){font-size:11px;line-height:1.5;color:#a9bec8}.choice-cta{font-size:12px;color:#f5d7a5;margin-top:4px}#menu-root .basecamp-import{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;background:#ffffff04;border:1px dashed #ffffff36;border-radius:6px;font-size:12px}#menu-root .basecamp-import>span{font-size:30px;color:#f4bd68}.basecamp-import small{font-size:10px;line-height:1.5;color:#a3b8c4}.basecamp-loadout hr{border:0;border-top:1px solid #ffffff22;margin:20px 0}#menu-root .basecamp-car{display:grid;grid-template-columns:140px minmax(0,1fr) 20px;align-items:center;gap:20px;width:100%;padding:10px 16px;background:#192d38;border:1px solid #ffffff25;border-radius:6px;text-align:left}#menu-root .basecamp-car:disabled{opacity:1;cursor:default;border-color:#ffffff15;background:#14252f}#menu-root .basecamp-car:disabled>span:last-child{visibility:hidden}#menu-root .basecamp-car #landing-car-preview{height:85px;width:140px}.basecamp-car>span{display:grid;gap:6px}.basecamp-car small{font-size:9px;letter-spacing:.12em;color:#f4bd68}.basecamp-car strong{font-size:19px}.basecamp-car #basecamp-car-note{font-size:11px;line-height:1.5;color:#a4b9c3}.basecamp-play{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding-top:20px}#menu-root .basecamp-play>.primary{min-height:52px;width:min(340px,100%);font-size:17px;letter-spacing:.1em}.basecamp-play p{flex-basis:100%;text-align:center;margin:0;font-size:12px}
#menu-root .official-selector .route-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));max-width:1180px;gap:18px}.official-selector .route-choice{position:relative;min-width:0}.route-vehicle{display:block;color:#f4bd68!important;font-size:11px!important;line-height:1.5}.route-detail{display:block;font-size:11px!important}.route-history{display:block;font-size:10px;line-height:1.6;color:#a5b9c5;margin-top:7px}.route-choice[data-completed=yes] .route-history{color:#91cfb5}.route-choice[data-completed=yes]::after{content:'✓';position:absolute;top:12px;right:12px;background:#163b2d;border:1px solid #8bd9b1;color:#b8f3d2;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}
#menu-root .import-screen{max-width:1000px;width:100%;margin:auto}#import-preview{margin:20px 0;padding:18px;border:1px solid #ffffff26;background:#132732;border-radius:6px}#import-map-preview{height:200px;max-width:560px}#import-map-preview img{width:100%;height:100%;object-fit:cover}.import-save{display:flex;gap:10px;align-items:center;min-height:44px;font-size:12px}.import-save input{width:20px;height:20px}#import-preview>button{min-height:44px;margin:12px 10px 0 0}.beta-tag{display:block;color:#f4bd68;font-size:9px;letter-spacing:.1em;margin-top:8px}
#menu-root .community-launch{width:100%;max-width:920px;margin:auto;display:flex;flex-direction:column;align-items:flex-start;gap:16px}#community-launch-preview{height:240px;width:100%;max-width:720px}#community-launch-preview img{width:100%;height:100%;object-fit:cover}#community-car{min-height:56px;min-width:240px}#community-car:disabled{opacity:1!important;cursor:default;color:#e6d3b4}#start-community{min-height:52px;min-width:240px}#community-details-link{font-size:12px;color:#e6c48e}#community-launch-description,#community-car-note{margin:0}
@media(max-width:760px){#menu-root .basecamp-screen{justify-content:flex-start;padding:18px}#menu-root .basecamp-heading h1{margin-bottom:14px;font-size:26px!important}.basecamp-loadout{padding:14px}.basecamp-map-row{grid-template-columns:1fr;gap:10px}#menu-root .basecamp-level{grid-template-columns:36% 1fr}#menu-root .basecamp-level #landing-route-preview{height:145px}.basecamp-choice-copy{padding:13px;gap:6px}.basecamp-choice-copy strong{font-size:17px}.basecamp-choice-copy>span:not(.choice-cta){font-size:10px}#menu-root .basecamp-import{flex-direction:row;gap:10px;min-height:48px;padding:10px;font-size:11px}#menu-root .basecamp-import>span{font-size:22px}.basecamp-import small{font-size:9px}.basecamp-loadout hr{margin:14px 0}#menu-root .basecamp-car{grid-template-columns:85px minmax(0,1fr) 10px;gap:12px;padding:10px}#menu-root .basecamp-car #landing-car-preview{width:85px;height:66px}.basecamp-car strong{font-size:16px}.basecamp-car #basecamp-car-note{font-size:10px}.basecamp-play{padding-top:14px}#menu-root .official-selector .route-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-history{font-size:9px}.route-vehicle{font-size:10px!important}#community-launch-preview{height:180px}.community-launch h2{font-size:26px}}
@media(max-height:550px) and (min-width:650px){#menu-root .basecamp-screen{justify-content:flex-start;padding:14px 20px}.basecamp-heading .eyebrow{display:none}.basecamp-heading h1{font-size:23px!important;margin-bottom:10px}.basecamp-loadout{padding:12px}.basecamp-map-row{grid-template-columns:1fr 140px;gap:10px}#menu-root .basecamp-level #landing-route-preview{height:100px}.basecamp-choice-copy{padding:10px}.basecamp-choice-copy strong{font-size:16px}.basecamp-choice-copy>span:not(.choice-cta){display:none}#menu-root .basecamp-import{flex-direction:column;padding:10px;gap:5px}.basecamp-import small{display:none}.basecamp-loadout hr{margin:10px 0}#menu-root .basecamp-car{grid-template-columns:85px 1fr 15px;padding:5px 12px;gap:10px}#menu-root .basecamp-car #landing-car-preview{height:50px;width:85px}.basecamp-car strong{font-size:15px}.basecamp-car #basecamp-car-note{font-size:10px}.basecamp-play{padding-top:10px}#menu-root .basecamp-play>.primary{min-height:44px;font-size:14px}}

#menu-root .basecamp-choice-copy #hero-description{font-size:11px;line-height:1.5;margin:0;max-width:none}@media(max-width:760px){#menu-root .basecamp-choice-copy #hero-description{font-size:10px}}

#offline-status{font-size:12px;line-height:1.5;color:#c5d3cf;max-width:640px}body[data-offline=true] [data-home-panel=community],body[data-offline=true] [data-home-panel=workshop],body[data-offline=true] [data-home-panel=infinity]{opacity:.45}

/* Each tab owns the middle grid row. Auto block margins previously made the
   panels content-sized, so Basecamp could not scroll and Community escaped its row. */
#menu-root .main-menu>.home-panel{box-sizing:border-box;align-self:stretch;height:100%;max-height:100%;min-height:0;margin-block:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain}
#menu-root #home-title{margin-inline:auto;justify-content:flex-start}
#menu-root #home-title>*{flex-shrink:0}
/* Center short loadouts; auto margins collapse to zero when scrolling is needed. */
#menu-root #home-title>.basecamp-heading{margin-top:auto}
#menu-root #home-title>.basecamp-loadout{margin-bottom:auto}
#menu-root #home-community{margin-inline:auto;max-height:100%}
#menu-root .menu-footer{grid-row:3;position:relative;z-index:1;min-height:0;box-sizing:border-box}
@media(max-width:760px){#menu-root .menu-footer{grid-row:4}}
@media(max-height:550px) and (min-width:650px){#menu-root .menu-footer{grid-row:3}}
