/* Basecamp: one obvious starting point, two simple ways to explore. */
#menu-root #home-title{width:100%;max-width:none;padding:clamp(24px,4vw,56px);gap:22px;justify-content:flex-start;isolation:isolate}
#menu-root #home-title>*{max-width:570px;width:100%;margin:0;flex-shrink:0}
#menu-root #home-title .basecamp-heading{margin-top:auto}
#menu-root #home-title .eyebrow{color:#e3d6ae;font-size:10px;letter-spacing:.18em;margin:0 0 12px}
#menu-root #home-title #main-title{font-size:clamp(34px,4vw,52px)!important;line-height:1.08;letter-spacing:-.045em;font-weight:800;color:#fff8e8;margin:0}
#menu-root .basecamp-tagline{font-size:14px;line-height:1.5;color:#d4dfd6;margin:10px 0 0}
#menu-root .basecamp-paths{display:grid;gap:12px}
#menu-root .basecamp-path{--ink:#214740;display:grid;grid-template-columns:72px minmax(0,1fr) 24px;align-items:center;gap:15px;box-sizing:border-box;width:100%;min-height:100px;height:auto;padding:16px 22px;text-align:left;white-space:normal;background:#f6f3e9;border:0;border-radius:20px;color:var(--ink);box-shadow:0 4px 0 #162c3040;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
#menu-root .basecamp-path.path-primary{background:#ffda79;grid-template-columns:96px minmax(0,1fr) 24px;min-height:128px;padding-block:20px}
#menu-root .basecamp-path.path-community{background:#e3eee7}
#menu-root .basecamp-path .path-art{display:block;width:72px;height:64px;object-fit:contain;pointer-events:none;transition:transform .2s ease}
#menu-root .path-primary .path-art{width:96px;height:80px}
#menu-root .basecamp-path .path-copy{display:grid;gap:6px;min-width:0}
#menu-root .basecamp-path strong{color:var(--ink);font-size:20px;line-height:1.2;font-weight:800;letter-spacing:-.025em}
#menu-root .path-primary strong{font-size:28px}
#menu-root .basecamp-path small{color:#476058;font-size:12px;line-height:1.45;font-weight:500}
#menu-root .basecamp-path .path-arrow{font-size:22px;color:var(--ink);margin:0;text-align:center}
@media(hover:hover){#menu-root .basecamp-path:hover{transform:translateY(-3px);box-shadow:0 7px 0 #162c3040}#menu-root .basecamp-path:hover .path-art{transform:rotate(-5deg)}}
#menu-root .basecamp-path:active{transform:translateY(2px);box-shadow:0 1px 0 #162c3040}
#menu-root .basecamp-path:focus-visible{outline:3px solid #fff;outline-offset:4px}
#menu-root .basecamp-path:disabled{opacity:.65;transform:none;box-shadow:none;cursor:not-allowed}
#menu-root #home-title #offline-status{font-size:11px;line-height:1.5;color:#d0dcd4;margin-bottom:auto}
#menu-root #home-title .basecamp-resume{min-height:44px;width:max-content;max-width:100%;padding:10px 18px;background:#ffffff12;border:1px solid #ffffff40;border-radius:14px;color:#fff5dc;font-size:13px}
@media(max-width:760px){
 #menu-root #home-title{padding:24px 20px;gap:18px}
 #menu-root #home-title>*{max-width:520px;margin-inline:auto}
 #menu-root .basecamp-path{grid-template-columns:52px minmax(0,1fr) 18px;padding:15px;gap:12px;min-height:94px;border-radius:17px}
 #menu-root .basecamp-path.path-primary{grid-template-columns:66px minmax(0,1fr) 18px;min-height:112px;padding:18px 15px}
 #menu-root .basecamp-path .path-art{width:52px;height:52px}
 #menu-root .path-primary .path-art{width:66px;height:68px}
 #menu-root .basecamp-path strong{font-size:18px}
 #menu-root .path-primary strong{font-size:25px}
 #menu-root .basecamp-path small{font-size:11px}
}
@media(max-height:550px) and (min-width:650px){
 #menu-root #home-title{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-content:start;align-items:center;gap:16px 28px;padding:20px 28px;overflow:auto}
 #menu-root #home-title .basecamp-heading{margin:0}
 #menu-root #home-title .basecamp-paths{grid-column:2;grid-row:1/4;gap:9px}
 #menu-root .basecamp-path,#menu-root .basecamp-path.path-primary{min-height:80px;padding:10px 14px;grid-template-columns:52px minmax(0,1fr) 18px}
 #menu-root .basecamp-path .path-art{width:52px;height:52px}
 #menu-root .path-primary strong{font-size:24px}
 #menu-root #home-title #offline-status{margin:0;grid-column:1}
}
@media(prefers-reduced-motion:reduce){#menu-root .basecamp-path,#menu-root .basecamp-path .path-art{transition:none!important;transform:none!important}}
/* Only the card list scrolls. The departure action owns a separate grid row. */
#menu-root #home-drive{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0;width:100%;max-width:none}
#home-drive>.section-heading{padding:24px clamp(18px,3vw,40px) 14px;margin:0}
#home-drive .section-heading h2{margin:12px 0 6px}
#menu-root #home-drive #route-cards{overflow:auto;overscroll-behavior:contain;align-content:start;padding:8px clamp(18px,3vw,40px) 24px;max-width:none;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));grid-auto-rows:max-content;gap:16px;min-height:0;scroll-padding:12px}
#menu-root #home-drive .route-choice{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:10px;text-align:left;background:#142831b8;border:1px solid #ffffff20;border-radius:12px;min-width:0}
#menu-root #home-drive .route-choice[aria-pressed=true]{border-color:#ffe098;background:#263b3dd9;box-shadow:inset 0 0 0 1px #ffe098}
#menu-root #home-drive .route-choice{height:auto;min-height:295px}
#menu-root #home-drive .route-choice>*{flex-shrink:0}
#home-drive .route-choice>.content-preview{width:100%;height:138px;object-fit:cover;margin:0 0 6px;border-radius:7px}
#home-drive .route-choice>strong{font-size:17px;line-height:1.3;margin:0 3px}
#home-drive .route-detail,#home-drive .route-history{font-size:11px;line-height:1.45;margin:0 3px;color:#b3c7c5}
.route-assigned-car{display:flex;align-items:center;gap:10px;min-height:50px;margin:0 3px}
#home-drive .route-assigned-car>.content-preview{width:80px;height:48px;object-fit:contain;margin:0;background:#ffffff05;border:0;border-radius:5px}
#home-drive .route-assigned-car .route-vehicle{font-size:11px;line-height:1.4;color:#ead7af}
.official-departure{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px clamp(18px,3vw,40px);background:#10232bf5;border-top:1px solid #ffffff1c;min-width:0}
.official-departure>div{display:grid;gap:4px;min-width:0}
.official-departure small{font-size:8px;letter-spacing:.14em;color:#94b1ad}
.official-departure strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
#official-car-note{font-size:11px;color:#b7c9c3}
#menu-root .departure-play{flex:0 0 auto;width:auto;min-height:48px;padding:12px 26px;border:0;border-radius:7px;background:#ffe098;color:#26382f;font-weight:800;font-size:15px;box-shadow:none}
.departure-play span{margin-left:12px}
#official-error{font-size:12px;color:#ffb6a3;margin:4px 0}
/* Imported routes get their own preparation screen, never the official list. */
#menu-root #home-import{max-width:1000px;margin-inline:auto}
#home-import .basecamp-map-row{display:block}
#menu-root #home-import .basecamp-loadout{margin:22px 0;padding:16px;border-radius:12px;background:#142b32;border-color:#ffffff20}
#home-import .basecamp-level{cursor:default}
#home-import .basecamp-choice-copy .choice-cta{display:none}
#home-import #local-map-list{margin-top:12px}
#menu-root #home-community>.back-menu{margin-bottom:12px}
@media(max-width:760px){
 #home-drive>.section-heading{padding:18px 18px 10px}
 #home-drive .section-heading h2{font-size:27px;margin:8px 0 4px}
 #home-drive .section-heading p{font-size:11px;margin:0}
 #menu-root #home-drive #route-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:8px 18px 20px;gap:12px}
 .official-departure{padding:12px 18px;gap:10px}
 .official-departure strong{font-size:12px}
 #menu-root .departure-play{padding:12px 16px;font-size:13px}
}
