/* PHTM DRIVE — shared application system. One map, one sheet, existing workflows. */
:root{--line:#343437;--muted:#a6a6ae;--red:#d91e40;--surface:#151517;--rail:28px}
body{background:#09090b}.drive-header{background:#0c0c0e;border-bottom:1px solid #242427;min-height:58px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.drive-header .brand{min-height:52px;gap:15px;text-decoration:none;flex:none}.drive-header .brand img{width:94px;height:auto}.drive-header .brand strong{position:relative;border:0;padding:0 0 5px;font-size:14px;letter-spacing:.2em;font-style:italic}.drive-brand-line{position:absolute;bottom:0;left:0;width:23px;height:2px;background:var(--red);transform:skewX(-24deg)}.drive-header .drive-account{margin-left:auto;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid #39393e;border-radius:14px;background:#1a1a1e;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap}.drive-account svg{flex:none}.drive-account[aria-busy=true]{border-color:#a62a41;color:#f1bec8}.drive-account:active{background:#2e2026}.preview{margin-left:auto;color:#88888e}
button,input,select,textarea{font-family:inherit}button,select{border-color:#38383d;background:#252529;border-radius:12px;min-height:44px}button:hover:not(:disabled){background:#35353b}.primary{background:var(--red);border-color:var(--red);min-height:48px}.primary:hover:not(:disabled){background:#bd1634}button:active:not(:disabled){filter:brightness(1.12)}a{color:#e9e9ef}p{color:#aaaab3}h1,h2,h3{letter-spacing:-.035em}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:3px}
.drive-nav{border-radius:0;flex:none;z-index:6;display:flex;justify-content:center;gap:4px;background:#101012;border-top:1px solid #2b2b2e;padding:6px max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));margin:0}.drive-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;max-width:160px;min-height:54px;border:0;background:transparent;border-radius:12px;color:#94949f;font-size:10px;font-weight:600;padding:6px}.drive-nav svg{width:21px;height:21px}.drive-nav button[aria-pressed=true]{color:#fff;background:#252528;box-shadow:inset 0 -2px var(--red)}
.drive-panel{background:var(--surface);border:1px solid #353539;box-shadow:0 18px 60px #0005;border-radius:24px;width:410px;padding:20px;max-height:calc(100% - 52px);transition:height .2s ease}.panel-heading{margin:0 0 16px;gap:8px}.panel-heading h1{font-size:25px;line-height:1.12;font-weight:700}.eyebrow{font-size:9px;letter-spacing:.18em;color:#93939e}.panel-heading .eyebrow{display:none}#panel-close{font-size:12px;white-space:nowrap;padding:8px;color:#d4d4dc}#panel-content{overflow:auto;overflow-anchor:none;scroll-padding-top:12px;scrollbar-width:thin;scrollbar-color:#55555c transparent;padding-right:2px}
#drive-home,#discovery-hub,#drive-events,#drive-generator{display:none}#panel[data-mode=home] #drive-home,#panel[data-mode=hub] #discovery-hub,#panel[data-mode=events] #drive-events,#panel[data-mode=generate] #drive-generator{display:block}
#panel:is([data-mode=home],[data-mode=hub],[data-mode=events],[data-mode=generate]) :is(#tools,#route-summary,#load,#search-feedback,#search-area,#community-return){display:none!important}#panel:is([data-mode=home],[data-mode=hub],[data-mode=events]) #drive-signin{display:none!important}
#panel[data-mode=home] .panel-heading{display:none}#panel:is([data-mode=home],[data-mode=hub]){width:560px}#panel:is([data-mode=home],[data-mode=hub]) .sheet-handle{display:none}#panel:is([data-mode=home],[data-mode=hub]) #panel-content{display:block}#panel[data-mode=home] #status:not([hidden]){padding:10px 12px;background:#302026;border-left:2px solid var(--red)}
.home-story{padding:12px 0 24px}.home-story .eyebrow{display:block;font-size:9px;margin:0 0 18px;color:#c2c2ca}.home-story h2{font-size:clamp(34px,5vw,48px);font-weight:750;line-height:1.04;letter-spacing:-.055em;margin:0;color:white}.home-story>p:last-child{font-size:13px;margin:14px 0 0;color:#a9a9b2}.home-story:before{content:'';display:block;width:32px;height:3px;background:var(--red);margin:0 0 18px}
.home-search{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;text-align:left;border:0;background:#242427;border-radius:14px;margin:0 0 16px;padding:14px 16px;font-size:13px}.home-search>span:nth-child(2){flex:1}.home-search svg{width:20px;height:20px;color:#b9b9c3}
.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:140px;min-width:0;text-align:left;background:#232326;border:0;border-radius:18px;padding:18px 14px;transition:background .15s}.home-card svg{width:25px;height:25px;margin:0 0 20px;color:#d6d6dd}.home-card strong{font-size:16px;font-weight:650;line-height:1.2;letter-spacing:-.025em}.home-card>span{font-size:11px;color:#9d9da7;line-height:1.4;margin-top:6px}.home-card b{position:absolute;right:15px;top:15px;color:#82828b;font-size:14px;font-weight:400}#generate-open{background:#382027}#generate-open svg{color:#ff6682}#generate-open:hover{background:#482630}
#resume-drive{width:100%;margin:0 0 16px;text-align:left;border-color:#743343;background:#271c21}#resume-drive span{float:right}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.section-heading h2{font-size:17px;margin:0}.section-heading a{font-size:11px;text-decoration:none}.home-personal{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-personal>button,.home-personal>a{display:flex;align-items:center;gap:10px;background:transparent;border:0;border-top:1px solid #38383c;border-radius:0;color:white;padding:14px 0;text-align:left;text-decoration:none;font-size:12px;min-width:0}.home-personal svg{width:18px;height:18px;flex:none}.home-personal span{flex:1}.home-personal small{display:block;font-size:10px;color:#91919c;margin-top:4px;line-height:1.4}.home-manual{width:100%;text-align:left;padding-left:0}.home-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 8px}.home-footer a{font-size:11px;text-decoration:none;padding:12px 0}.home-footer span{font-size:8px;letter-spacing:.13em;color:#797983}
.section-intro{font-size:14px;margin:0 0 20px;line-height:1.5}.discovery-menu{display:flex;flex-direction:column;gap:10px}.discovery-menu button{display:flex;align-items:center;gap:16px;text-align:left;border:0;border-radius:18px;padding:20px 16px;background:#242427;min-height:100px}.discovery-menu svg{width:28px;height:28px;flex:none}.discovery-menu span{flex:1}.discovery-menu strong{display:block;font-size:18px;letter-spacing:-.03em}.discovery-menu small{display:block;font-size:12px;color:#a6a6b0;margin-top:6px;line-height:1.5}.discovery-invite{padding:28px 0 12px}.discovery-invite h2{font-size:25px;line-height:1.15;margin:12px 0}.discovery-invite a{display:inline-block;min-height:44px;padding:12px 0;font-size:12px;text-decoration:none}
#generate-fields{border:0;padding:0;margin:0;min-width:0}#drive-generator label{display:block;font-size:12px;color:#b9b9c2;font-weight:600;margin:14px 0 8px}#drive-generator input,#drive-generator select{width:100%;min-height:48px;padding:12px;font-size:16px;background:#242427;border:1px solid #404046;border-radius:12px}.generator-start{display:flex;flex-direction:column;gap:8px}.generator-start input{min-width:0}#generate-gps{font-size:12px;min-height:44px;background:#27272c;border:0;text-align:left}.generator-pair{display:grid;grid-template-columns:1fr;gap:2px}.preference-chips{display:none}.choices-ready+.preference-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.choices-ready{display:none!important}.preference-chips button{padding:10px 4px;font-size:12px;border:1px solid #34343a;background:#252529;white-space:nowrap}.preference-chips button[aria-pressed=true]{background:#fff;color:#17171a;border-color:#fff;font-weight:650}#generate-selected{font-size:11px;line-height:1.5;margin:8px 0;padding:8px 10px;background:#282129;border-left:2px solid var(--red);overflow-wrap:anywhere}#generate-start[aria-invalid=true]{border-color:var(--red)}#generate-options{margin-top:10px;border-bottom:1px solid #343439;padding-bottom:4px}#generate-options[open]{padding-bottom:14px}.generator-submit{display:flex;gap:8px;position:static;margin-top:14px;padding:0}.generator-submit .primary{flex:1}.generator-note{font-size:10px;line-height:1.6;margin:12px 0 0}#generate-status{font-size:12px;color:#f0b7c3;line-height:1.5}#generate-status:empty,#generate-search-status:empty,#spots-area-status:empty{display:none}#generate-manual{padding-left:0}#panel[data-mode=generate] .privacy{display:none}
:is(#generate-search-results,#spots-area-results){list-style:none;padding:0;margin:8px 0;max-height:none;overflow:visible}:is(#search-results,#generate-search-results,#spots-area-results) button{min-height:48px;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;background:transparent;border:0;border-bottom:1px solid #343439;border-radius:0;padding:12px 6px}:is(#search-results,#generate-search-results,#spots-area-results) strong{display:block;font-size:14px;line-height:1.4}:is(#search-results,#generate-search-results,#spots-area-results) span{display:block;font-size:12px;line-height:1.5;color:#b8b8c1}:is(#search-results,#generate-search-results,#spots-area-results) button:focus{outline:2px solid var(--red);outline-offset:-2px;background:#302027}
#route-metrics{border:0;padding:0;margin:0 0 12px;gap:8px 16px}#route-metrics strong{font-size:34px;letter-spacing:-.045em}#route-metrics span{font-size:15px}#route-overview{background:#2c2c31}#route-summary>.route-actions{margin:10px 0}#route-summary #edit-route{background:#2c2c31;color:#fff;border:1px solid #4a4a52;padding:10px}#route-summary>.route-actions button{min-height:46px;margin:0}#navigation-availability:empty{display:none}#cancel-route-edit{width:100%;margin-top:8px;min-height:44px}.trip-danger{border-top:1px solid #383239;margin-top:24px;padding-top:12px}#clear-stops{color:#ff9dae;border:1px solid #70404a;background:transparent;min-height:44px}.waypoint-actions button{min-width:44px;min-height:44px;border:1px solid #393941}#preview-details{border-top:1px solid #343439;margin-top:12px}#generated-results{border:0;margin:0;padding:0}#generated-start{font-size:12px;color:#d0d0d7;line-height:1.5;margin:12px 0 8px}#generated-choices{display:flex;gap:8px;margin:10px 0}#generated-choices button{flex:1;min-width:0;text-align:left;font-size:11px;padding:12px}#generated-choices button[aria-pressed=true],#route-alternatives button[aria-pressed=true]{border-color:var(--red);background:#302028}.generated-arrival{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.generated-arrival button{flex:1;font-size:12px}#generated-note,#generate-arrival-status{font-size:11px;line-height:1.6;overflow-wrap:anywhere}#generate-arrival-status:empty{display:none}#generate-again{padding-left:0;font-size:12px}#plan-route{position:static;box-shadow:none}
#discover-form,#events-filter{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}#discover-form>input,#events-query{grid-column:1/-1}#discover-form .route-actions{grid-column:1/-1;margin:0}#discover-form input,#events-filter input,#events-filter select{width:100%;min-width:0;padding:12px;font-size:16px;border:1px solid #3b3b41;border-radius:12px;background:#242427;color:#eee}.featured-filter{grid-column:1/-1}.event-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.event-toolbar a{font-size:11px;text-decoration:none;padding:12px 0}.event-card,#discover-list article,#saved-list .saved-card{border:0;border-radius:18px;padding:18px;margin:0 0 12px;background:#242427}.event-card h2,#discover-list h2,#saved-list h2{font-size:21px;line-height:1.2;margin:10px 0}.event-card img{display:block;width:100%;height:155px;object-fit:cover;border-radius:12px;margin:0 0 14px}.event-card time{font-size:11px;letter-spacing:.03em;color:#f7a1b2}.event-card p{font-size:12px;line-height:1.5}.event-card a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:none}.event-card .route-actions{margin-bottom:0}.event-card .route-actions a{flex:1}.event-empty{padding:26px 18px;background:#222225;border-radius:18px}.event-empty h2{font-size:22px}.event-empty p{font-size:13px}.event-pin{width:36px;height:36px;padding:0;border:2px solid white;border-radius:12px;background:#ab2141;color:white;font-size:16px;box-shadow:0 3px 10px #0006}.event-pin:hover{background:#d91e40!important}
#drive-layers{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:4px;padding:4px;background:#17171aee;border:1px solid #37373c;border-radius:14px;max-width:calc(100% - 110px)}#drive-layers button{font-size:11px;min-height:40px;padding:8px 10px;border:0;background:transparent;white-space:nowrap}#drive-layers button[aria-pressed=true]{background:#3a3036;color:white}body:has(#panel:is([data-mode=home],[data-mode=hub])) #drive-layers{display:none}.map-tools>button{background:#1d1d21f5;border-color:#414146}.map-tools{top:160px}#map-view{background:#202024}.search-row{background:#252529;border-color:#414147}.search-context label{color:#bcbcc6}#search-source{font-size:11px;min-height:40px;width:100%;margin-bottom:8px}.privacy{margin-top:20px}.privacy summary,.search-credit,.search-credit a{font-size:10px}.library-intro{font-size:13px}.spot-card{border-radius:18px!important;background:#242427!important;border:0!important}.spot-card img{border-radius:12px}.spot-filter-row{gap:8px}.share-route,.share-fields,.share-privacy{border-radius:16px;background:#202023}.share-route-heading h2{font-size:18px}#save-editor input,#save-editor textarea,#save-editor select,#community-editor input,#community-editor textarea,#community-editor select{font-size:16px;background:#252529;border-radius:12px}#saved-list .saved-card:first-child{padding-top:18px}
@media(min-width:701px){#panel:is([data-mode=home],[data-mode=hub]){left:50%;transform:translateX(-50%);top:18px;max-height:calc(100% - 36px);padding:26px 32px}body:has(#panel:is([data-mode=home],[data-mode=hub])) #map{opacity:.3}#drive-layers{left:auto;right:80px;transform:none}.drive-nav{padding-top:8px;padding-bottom:8px}.home-actions .home-card{min-height:145px}}
@media(max-width:700px){
 .drive-header{min-height:54px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.drive-header .brand{min-height:48px}.drive-header .preview{font-size:7px}.drive-account{font-size:11px!important}
 .drive-panel{width:auto;top:auto;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:var(--rail);padding:0 18px 14px;border-radius:24px;height:min(470px,66%);max-height:calc(100% - 70px);transition:height .2s ease}.sheet-handle{min-height:32px;padding:10px}.sheet-handle span{background:#66666e;width:34px;height:4px}.panel-heading{margin-bottom:14px}.panel-heading h1{font-size:23px}
 #panel[data-state=collapsed]{height:106px}#panel[data-state=expanded]{height:calc(100% - 12px - var(--rail));max-height:calc(100% - 12px - var(--rail))}#panel[data-mode=explore][data-state=collapsed]{height:auto}#panel[data-mode=preview][data-state=collapsed]{height:min(360px,58%)}#panel[data-mode=preview] #panel-content{overflow:auto}#panel[data-mode=preview][data-state=collapsed] #panel-content{display:block}
 #panel:is([data-mode=home],[data-mode=hub]){inset:0;width:auto;height:100%;max-height:100%;border:0;border-radius:0;background:#111113;padding:18px 20px 12px;box-shadow:none}#panel:is([data-mode=home],[data-mode=hub]) #panel-content{display:block}#panel[data-mode=home] .home-story{padding-top:2px}.home-story h2{font-size:39px}.home-story{padding-bottom:22px}.home-card{min-height:132px;padding:16px 14px}.home-card strong{font-size:15px}.home-card svg{margin-bottom:18px}.home-personal{grid-template-columns:1fr 1fr}.home-personal svg{display:none}.home-personal small{font-size:10px}.home-footer{margin-top:8px}
 #panel[data-mode=generate][data-state=partial]{height:min(490px,72%)}#panel[data-mode=search]{top:8px;bottom:var(--rail);height:auto!important;max-height:none;transition:none}.drive-panel[data-mode=search] #search-area{padding-top:12px}
 html[data-location-focus]{--rail:6px}html[data-location-focus] .drive-nav{display:none!important}html[data-location-focus] #panel{top:4px;bottom:6px;height:auto!important;max-height:none!important;transition:none;padding-bottom:8px}html[data-location-focus] #panel-content{display:block;overflow:auto;overflow-anchor:none;scroll-behavior:auto;-webkit-overflow-scrolling:touch}html[data-location-focus] :is(.sheet-handle,.panel-heading){display:none!important}html[data-location-focus] :is(#map,#floating-tools,#drive-layers){pointer-events:none}html[data-location-focus] #drive-layers{display:none}html[data-location-focus] #search-results{max-height:none;overflow:visible}
 html[data-location-focus=generate-start] :is(.generator-submit,.generator-note,#drive-generator>details,#generate-manual,#generate-selected,.generator-pair,#generate-options){display:none!important}html[data-location-focus=generate-start] #drive-generator label[for=generate-start]{margin-top:8px}html[data-location-focus=spot-region] .spot-filter-row{flex-wrap:wrap}html[data-location-focus=spot-region] #spot-region{flex-basis:100%}
}
@media(max-width:360px){.home-story h2{font-size:34px}.home-card{padding:14px 12px;min-height:125px}.home-card strong{font-size:14px}.home-card span{font-size:10px}#drive-layers button{padding:8px 6px}.drive-panel{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){.drive-panel,.home-card{transition:none}}
@media(prefers-contrast:more){:root{--muted:#d0d0d7;--line:#777780}.home-card>span,.home-personal small{color:#dddde4}}

#panel[data-mode=preview] #panel-close{display:block}#panel[data-mode=events][data-state=collapsed] #panel-content{display:block}#panel[data-mode=events][data-state=collapsed]{height:min(300px,45%)}
.feed-section{margin-top:24px}.feed-section h2{font-size:18px;margin:0 0 12px}.feed-section>p{font-size:12px;line-height:1.6;padding:16px;background:#202024;border-radius:14px}.feed-row{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #39393e;border-radius:0;background:transparent;padding:16px 0}.feed-row strong{display:block;font-size:16px;line-height:1.3;font-weight:600}.feed-row span{display:block;font-size:11px;color:#a9a9b3;line-height:1.5;margin-top:6px}
.preview-start{font-size:12px;color:#c3c3cd;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}#route-summary:has(#generated-results:not([hidden])) #preview-start{display:none}#drive-events[data-detail=true]>:is(.section-intro,#events-filter,.event-toolbar){display:none}#event-detail>.event-card{padding:12px 0;background:transparent}#event-detail>.event-card img{height:110px}#event-detail>button{border:0;background:transparent;padding-left:0;font-size:11px}
/* The persistent navigation owns the bottom safe area; attribution stays in its map rail. */
.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{bottom:0!important}body:has(#panel[data-state=expanded]) #drive-layers,body:has(#panel[data-mode=search]) #drive-layers{display:none}
/* Events shares the existing sheet, map and navigation workspace. */
.home-events{margin:24px 0}.home-events .section-heading button{font-size:12px;background:none;border:0;padding:8px}.home-events .feed-row{width:100%;text-align:left}.home-events .feed-row img{width:64px;height:54px;object-fit:cover;border-radius:8px;float:left;margin-right:12px}.event-category{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#c0a6ab}.event-description{white-space:pre-line;line-height:1.6}.event-pin{min-width:44px;min-height:44px}.event-card h2{overflow-wrap:anywhere}#events-filter button{grid-column:1/-1}#event-detail .event-card img{object-fit:cover}#panel[data-mode=events] #event-detail .route-actions{flex-wrap:wrap}#event-detail .route-actions>*{min-height:44px}

/* Community activation: compact actions, no new sheet or scroll container. */
.contribution-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.contribution-actions a,.contribution-actions button{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:12px;background:#25262b;color:#f5f5f7;font:inherit;font-size:14px;text-decoration:none;border:1px solid #393a40;max-width:100%;overflow-wrap:anywhere}.contribution-actions :focus-visible{outline:2px solid #e71c46;outline-offset:3px}.community-empty{padding:16px 0}.community-empty h2{font-size:19px;margin:0 0 8px}.community-empty p{color:#b9bbc4;font-size:14px;line-height:1.5;margin:0 0 12px}.saved-actions{flex-wrap:wrap}

.generation-recovery{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.generation-recovery button{min-height:44px;font-size:12px}#generated-duration{font-size:12px;color:#e9c0c8;margin:8px 0}#generated-duration:empty{display:none}
:is(#search-results,#generate-search-results) small{display:block;font-size:11px;line-height:1.5;color:#a2a2ac;margin-top:3px}

#search-location{flex:0 0 44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:8px;color:#fff;background:transparent}#search-location svg{display:block;margin:auto}#search-location:focus-visible{outline:2px solid var(--red);outline-offset:-3px}

#search-location[data-location-active=true]{color:#ef4057}

/* Search-only location preference; independent of navigation GPS. */
#search-location{padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}#search-location-state{font-size:10px;line-height:12px;font-weight:600}
