:root {
  --bg:#0b0f14; --panel:#111b27; --panel2:#172332; --text:#f4f7fb;
  --muted:#9aaaba; --line:#293746; --accent:#ff9d2e; --ice:#b7d9ff;
  --good:#8fc7a8; --surface:linear-gradient(125deg,#172536,#0f1721);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px;
  --s6:24px; --s8:32px; --s12:48px; --s16:64px;
  --r-control:12px; --r-row:12px; --r-panel:20px; --r-hero:28px;
  --f-meta:.75rem; --f-label:.875rem; --f-body:1rem;
  --f-card:1.5rem; --f-section:2.25rem; --f-page:clamp(3rem,7vw,6rem);
  --panel-pad:24px; --page-pad:24px; --section-gap:64px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:radial-gradient(circle at 75% 0%,#233a5033,transparent 32%),linear-gradient(180deg,#090d12,#0b1118 45%,#0a0e13);color:var(--text);font:400 var(--f-body)/1.7 Inter,system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
a{color:inherit}button,input,select{font:inherit}button,a,input,summary,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}button:disabled{opacity:.45;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,.day:focus-visible{outline:3px solid var(--ice);outline-offset:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.03em}p{line-height:1.7}
.shell{max-width:1280px;margin:auto;padding:var(--page-pad)}
.kicker{font-size:var(--f-meta);line-height:1.5;letter-spacing:.16em;color:var(--ice);text-transform:uppercase}
.mini,.photo-credit{font-size:var(--f-meta);line-height:1.7;color:var(--muted)}
.section{padding-top:var(--section-gap)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--s6);margin-bottom:var(--s6)}
.section h2{font-size:var(--f-section);margin-top:var(--s2)}.section .lead{max-width:720px;color:var(--muted);font-size:var(--f-body);margin-top:var(--s3)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--panel-pad);min-width:0}
.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s6)}.side-stack{display:grid;gap:var(--s6)}


.hero{overflow:hidden;position:relative;border:1px solid var(--line);border-radius:var(--r-hero);background-size:cover;background-position:center;background-color:var(--panel)}
.hero-content{position:relative;min-height:540px;display:flex;flex-direction:column;justify-content:space-between;gap:var(--s8);padding:var(--s8)}
.hero h1{font-size:var(--f-page);line-height:1.05;margin:var(--s3) 0 var(--s4);max-width:950px}.hero-sub{max-width:700px;font-size:var(--f-body);color:#d8e1ea}
.route-switch{display:inline-flex;gap:var(--s1);padding:var(--s1);border:1px solid #ffffff24;border-radius:var(--r-control);background:#060d16c9;margin-top:var(--s6)}
.route-switch button{background:transparent;border:0;border-radius:8px;color:#bdc9d6;min-height:44px;padding:var(--s3) var(--s5);font-size:var(--f-label);font-weight:700}
.route-switch button.active{background:var(--text);color:#111820}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:var(--s6)}
.quick-stats{display:grid;grid-template-columns:1.8fr repeat(3,1fr);width:min(100%,760px);background:#09111ab8;border:1px solid #ffffff29;border-radius:var(--r-panel);overflow:hidden;min-width:0}
.stat{border-left:1px solid #ffffff24;padding:var(--s5);display:flex;flex-direction:column;justify-content:center;gap:var(--s2)}
.stat strong{font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}.stat span{font-size:var(--f-meta);color:#b9c5d1}.stat-primary{border-left:0}.stat-primary strong{font-size:3rem;letter-spacing:-.03em}
.tag{background:var(--accent);color:#16100a;border-radius:var(--r-control);font-size:var(--f-meta);font-weight:800;padding:var(--s2) var(--s3)}.hero-credit{max-width:260px;margin-top:var(--s3)}.hero-credit a{text-decoration:none}
.close,.link-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-control);background:var(--panel2);color:var(--text);font-size:var(--f-label);line-height:1.4;text-decoration:none;text-align:center}
.close:hover,.link-button:hover{border-color:#5a7189}.map-card{padding:0;overflow:hidden}
#routeCanvas{height:420px;min-height:420px;z-index:1;background:var(--panel2)}
#mapStatus{padding:var(--s3) var(--panel-pad) 0}.map-tools{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);padding:var(--s4) var(--panel-pad)}.map-tools>*{width:100%;min-width:0}
.map-card .route-note{padding:var(--panel-pad);border-top:1px solid var(--line)}.big-number{display:flex;gap:var(--s3);align-items:baseline;white-space:nowrap;margin:var(--s3) 0 var(--s4);font-weight:800}
.map-distance-value{font-size:2.75rem;line-height:1.2;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.map-distance-unit{font-size:var(--f-label);font-weight:500;color:var(--muted)}
.leaflet-container{font:14px/1.5 system-ui,sans-serif}.leaflet-popup-content-wrapper{color:#132131}.leaflet-control-attribution{font-size:12px!important}
.mission-card #missionTitle{font-size:var(--f-card);margin:var(--s3) 0 var(--s6)}
.metric-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.metric{padding:var(--s5) 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s2)}
.metric:nth-child(2n){border-left:1px solid var(--line);padding-left:var(--s6)}.metric:nth-last-child(-n+2){border-bottom:0}.metric strong{font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}.metric span{font-size:var(--f-label);color:var(--muted)}
.risk-card h3{font-size:var(--f-card);margin:var(--s3) 0 var(--s6)}.risk{display:flex;align-items:baseline;gap:var(--s4);padding:var(--s4) 0;border-top:1px solid var(--line);font-size:var(--f-body)}.risk:last-child{padding-bottom:0}.risk-number{font-size:var(--f-meta);color:var(--accent);flex:none}
.conditions-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:var(--s3);max-width:740px;margin-bottom:var(--s3)}.conditions-controls label{display:flex;align-items:center;gap:var(--s3)}.conditions-controls label>span{color:var(--muted);font-size:var(--f-label);white-space:nowrap}
select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--r-control);padding:var(--s3);min-height:48px;font-size:var(--f-body);min-width:0;max-width:100%}.conditions-controls select{flex:1}.conditions-controls button,.conditions-controls a{white-space:nowrap}
#weatherStatus{font-size:var(--f-meta);color:var(--muted)}.error-note{color:#ffc37a!important}
.weather-current{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);overflow:hidden;margin:var(--s4) 0}
.weather-main{padding:var(--panel-pad)}.weather-place{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);font-size:1.125rem;font-weight:700}.weather-place>span{font-size:var(--f-label);color:var(--ice);font-weight:400}
.temperature{font-size:3.75rem;line-height:1.1;letter-spacing:-.04em;font-weight:800;margin:var(--s4) 0 var(--s3);font-variant-numeric:tabular-nums}.temperature>span{font-size:1.5rem;color:var(--ice);margin-left:var(--s2);letter-spacing:0}.weather-feels{font-size:var(--f-label);color:var(--muted)}
.weather-wind{display:flex;align-items:center;gap:var(--s6);padding:var(--panel-pad);border-left:1px solid var(--line)}.weather-wind>div{flex:1;min-width:0}.weather-wind span{font-size:var(--f-label);color:var(--muted)}.weather-wind strong{display:flex;align-items:baseline;gap:var(--s2);font-size:2rem;line-height:1.3;margin-top:var(--s2);white-space:nowrap;font-variant-numeric:tabular-nums}.weather-wind small{font-size:var(--f-label);font-weight:400;color:var(--muted)}
.forecast{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s2)}.forecast article{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-row);padding:var(--s3);min-width:0}.forecast article strong{font-size:var(--f-label)}.forecast article p{font-size:var(--f-label);margin:var(--s2) 0}
/* Every disclosure uses the same keyboard-accessible full-row control. */
details{font-size:var(--f-label);color:var(--muted)}summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);list-style:none;min-height:48px;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-control);background:#0c162280;color:#cbd7e3;cursor:pointer;font-size:var(--f-label);line-height:1.5}
summary::-webkit-details-marker{display:none}summary::marker{content:''}summary::after{content:'＋';font-size:1.25rem;line-height:1;font-weight:400;color:var(--ice);flex:none}details[open]>summary::after{content:'−'}summary:hover{background:var(--panel2);border-color:#4b6177}details[open]>summary{margin-bottom:var(--s3)}details>p{padding:0 var(--s4);line-height:1.7}details>p a{color:var(--ice)}
.weather-credit{margin-top:var(--s4)}.weather-credit p{font-size:var(--f-meta);max-width:760px}
.road-panel{margin-top:var(--s6)}.road-panel .section-head{align-items:center;margin-bottom:var(--s3)}.road-panel h3{font-size:var(--f-card);margin-top:var(--s2)}.road-intro{color:var(--muted);font-size:var(--f-label);margin-bottom:var(--s5)}.status-pill{display:inline-block;border:1px solid #b47e3e;color:#ffc37a;border-radius:8px;padding:var(--s1) var(--s2);font-size:var(--f-meta);white-space:nowrap}
.road-sources{border-top:1px solid var(--line)}.road-sources article{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line)}.source-copy{min-width:0}.source-copy strong{font-size:var(--f-body)}.source-copy p{font-size:var(--f-label);color:var(--muted);margin-top:var(--s1)}.road-sources .link-button{flex:none;color:var(--ice)}
.road-process{margin-top:var(--s5)}.road-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin:var(--s3) 0}.road-plan>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-row);padding:var(--s4)}.road-plan strong{color:var(--text);font-size:var(--f-label)}.road-plan p{font-size:var(--f-label);margin-top:var(--s2)}
.road-panel .check{margin-top:var(--s4)}#roadCheckedTime{margin-top:var(--s2);font-size:var(--f-meta);color:var(--muted)}
.timeline{display:grid;gap:var(--s3)}.day{display:grid;grid-template-columns:64px 1fr 108px;gap:var(--s4);align-items:center;border:1px solid var(--line);border-radius:var(--r-row);padding:var(--s4);background:var(--panel);cursor:pointer}.day:hover,.day.active{background:var(--panel2);border-color:#526a82}.day strong{font-size:1.125rem;color:var(--ice);font-variant-numeric:tabular-nums}.day-route{font-weight:700;font-size:var(--f-body)}.day-meta{font-size:var(--f-label);color:var(--muted);margin-top:var(--s1)}
.pill{justify-self:end;font-size:var(--f-meta);line-height:1.4;padding:var(--s2) var(--s3);border-radius:8px;border:1px solid var(--line);background:#0c1218;color:#c8d5df;white-space:nowrap}.pill.play{color:#bce3ca;background:#8fc7a81a;border-color:#8fc7a859}.pill.buffer{color:#ffc37a;background:#ff9d2e1a;border-color:#ff9d2e59}
.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-top:var(--s4)}.destination-photo{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-panel);overflow:hidden;min-width:0}.destination-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--panel2)}.destination-image img{width:100%;height:100%;object-fit:cover;display:block}.destination-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,#050a10e0);pointer-events:none}.destination-caption{position:absolute;z-index:1;bottom:var(--panel-pad);left:var(--panel-pad);right:var(--panel-pad)}.destination-caption h3{font-size:var(--f-card);margin-top:var(--s2)}.destination-caption .kicker{letter-spacing:.06em;color:#e1ecf5}.destination-body{padding:var(--panel-pad)}.destination-body>p{font-size:var(--f-body);color:#c7d2dc;margin-bottom:var(--s4)}.destination-season{font-size:var(--f-meta);color:var(--ice)}.destination-credit{margin-top:var(--s3)}.destination-credit p{font-size:var(--f-meta)}
.checklist-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}.checklist-heading strong{font-size:var(--f-body)}.checklist-heading span{font-size:var(--f-meta);color:var(--ice);white-space:nowrap}.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s6)}
.check{display:flex;align-items:center;gap:var(--s3);min-height:56px;font-size:var(--f-body);cursor:pointer}.vehicle-card .check{padding:var(--s4) 0;min-height:64px;border-bottom:1px solid var(--line)}.checklist-link{display:flex;width:100%;margin-top:var(--s5);color:var(--ice)}
.check input[type=checkbox],.prep-item-title input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;flex:none;border:1.5px solid #60748a;border-radius:6px;background:#0d1723;margin:0;cursor:pointer}
.check input[type=checkbox]:checked,.prep-item-title input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='%230b0f14' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:22px;background-position:center;background-repeat:no-repeat}
.vehicle-card .check:has(input:checked) span,.prep-item:has(input:checked) .prep-item-title strong{color:var(--muted);text-decoration:line-through;text-decoration-color:#617083}
.tripbar{position:sticky;bottom:var(--s2);z-index:20;max-width:900px;margin:var(--s6) auto var(--s2);display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-panel);background:#0a0f15ee;backdrop-filter:blur(18px);box-shadow:0 8px 32px #0004}.tripbar>div{flex:1;min-width:0}#tripSummary{display:block;font-size:var(--f-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tripbar button{flex:none;min-height:44px;border:0;border-radius:var(--r-control);padding:var(--s3) var(--s4);background:var(--accent);color:#16100a;font-size:var(--f-label);font-weight:800;white-space:nowrap}
.trip-mode{display:none;position:fixed;inset:0;z-index:99;background:#080d12;overflow:auto;padding:var(--page-pad)}.trip-mode.open{display:block}.trip-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.trip-main{max-width:760px;margin:var(--s16) auto 0}.trip-main .today{font-size:var(--f-label);color:var(--muted);letter-spacing:.12em}.trip-main h3{font-size:clamp(2.25rem,7vw,4rem);line-height:1.15;margin:var(--s3) 0 var(--s4)}.trip-main p{font-size:var(--f-body);color:var(--muted)}
.trip-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--s6);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);overflow:hidden}.action{padding:var(--panel-pad);display:flex;flex-direction:column-reverse;gap:var(--s2);border-top:1px solid var(--line);min-width:0}.action strong{font-size:1.25rem;line-height:1.4}.action span{font-size:var(--f-label);color:var(--muted)}.action:first-child{grid-column:1/-1;border-top:0}.action:first-child strong{font-size:2.5rem;line-height:1.2;letter-spacing:-.03em}.action:nth-child(3){border-left:1px solid var(--line)}.action:last-child{grid-column:1/-1}.trip-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s6)}
.prepare-head{padding:var(--s8) 0}.prepare-head h1{font-size:clamp(2.5rem,6vw,4.5rem);margin:var(--s3) 0 var(--s4)}.prepare-head>p{max-width:760px;font-size:var(--f-body);color:var(--muted)}.prep-progress{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--panel-pad);margin:var(--s6) 0}.prep-progress-label{font-size:var(--f-label);color:var(--muted)}#prepCount{display:block;font-size:var(--f-card);margin:var(--s2) 0 var(--s4);font-variant-numeric:tabular-nums}.prep-progress progress{display:block;width:100%;height:8px;accent-color:var(--accent);border-radius:8px;overflow:hidden}
.notice{border-left:3px solid var(--accent);border-radius:0 var(--r-row) var(--r-row) 0;background:var(--panel2);padding:var(--s4) var(--s5);font-size:var(--f-label);color:#cbd7e3}
.prep-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--s6)}.prep-nav{position:sticky;top:var(--s6);align-self:start;display:flex;flex-direction:column;gap:var(--s2)}.prep-nav a{font-size:var(--f-label);text-decoration:none;min-height:44px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--panel);padding:var(--s3);line-height:1.5}.prep-nav a:hover{border-color:#526a82}.prep-section{scroll-margin-top:var(--s6);margin-bottom:var(--s6)}.prep-section h2{font-size:var(--f-card);margin:var(--s2) 0 var(--s3)}.prep-section .intro{font-size:var(--f-label);color:var(--muted);margin-bottom:var(--s5)}
.prep-section .prep-item{display:block;border-top:1px solid var(--line);padding:var(--s3) 0;cursor:default}.prep-item-title{display:flex;align-items:center;gap:var(--s3);min-height:48px;cursor:pointer}.prep-item-title strong{font-size:var(--f-body);line-height:1.6}.prep-item-detail{margin:var(--s2) 0 0 34px}.prep-item-detail p{font-size:var(--f-label)}.source-list{padding-left:var(--s5);margin:var(--s4) 0 0;font-size:var(--f-label);color:var(--muted)}.source-list li+li{margin-top:var(--s2)}
.footer{padding:var(--section-gap) 0 var(--s6);font-size:var(--f-meta);color:var(--muted)}
@media(max-width:850px){
 :root{--page-pad:16px;--panel-pad:20px;--section-gap:48px;--f-section:2rem;--f-card:1.5rem;--f-page:clamp(2.5rem,10vw,4rem)}
 
 .hero-content{padding:var(--s6);min-height:540px}.hero-bottom{flex-direction:column;align-items:stretch}.route-switch{display:flex}.route-switch button{flex:1;padding:var(--s3)}
 .quick-stats{grid-template-columns:repeat(3,1fr);width:100%}.stat{border-top:1px solid #ffffff24;padding:var(--s4)}.stat:nth-child(2){border-left:0}.stat strong{font-size:1.75rem}.stat-primary{grid-column:1/-1;border-top:0;display:grid;grid-template-columns:1fr auto;gap:var(--s2);padding:var(--panel-pad)}.stat-primary strong{grid-column:1;grid-row:2;font-size:3rem}.stat-primary span:last-child{grid-column:2;grid-row:2;align-self:end;margin-bottom:var(--s1)}.hero-credit{max-width:none}
 .grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:var(--s4)}#routeCanvas{height:360px;min-height:360px}.map-distance-value{font-size:2.5rem}
 .conditions-controls{grid-template-columns:1fr 1fr;max-width:none}.conditions-controls label{grid-column:1/-1;flex-direction:column;align-items:stretch;gap:var(--s2)}.conditions-controls label>span{font-size:var(--f-meta)}.conditions-controls select{width:100%}.conditions-controls button,.conditions-controls a{width:100%}
 .weather-current{grid-template-columns:1fr}.weather-wind{border-left:0;border-top:1px solid var(--line);padding:var(--s4) var(--panel-pad)}.weather-wind>div+div{padding-left:var(--s6);border-left:1px solid var(--line)}.weather-wind strong{font-size:1.5rem}
 .forecast{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:var(--s2)}.forecast article{flex:0 0 140px;scroll-snap-align:start}
 .road-panel .section-head{display:block}.road-panel .status-pill{margin-top:var(--s3)}.road-sources article{align-items:start;gap:var(--s3)}.road-sources .link-button{padding:var(--s3)}.road-plan{grid-template-columns:1fr}.road-panel .check{align-items:start}.road-panel .check input{margin-top:var(--s1)}
 .day{grid-template-columns:48px 1fr;gap:var(--s3)}.day .pill{grid-column:2;justify-self:start}.day-meta{font-size:var(--f-meta)}
 .destinations{grid-template-columns:1fr}.destination-image{aspect-ratio:16/10}.checkgrid{grid-template-columns:1fr}.vehicle-card .check:last-child{border-bottom:0}
 .tripbar{border-radius:var(--r-control);padding:var(--s2) var(--s3)}#tripSummary,.tripbar button{font-size:var(--f-meta)}.tripbar button{padding:var(--s3)}.trip-header{position:sticky;top:0;background:#080d12;padding-bottom:var(--s3);z-index:1}.trip-main{margin-top:var(--s8)}.action:first-child strong{font-size:2.25rem}
 .prep-layout{grid-template-columns:1fr}.prep-nav{position:static;flex-direction:row;flex-wrap:wrap}.prep-nav a{font-size:var(--f-meta)}.prepare-head{padding:var(--s6) 0}.prep-item-title{align-items:start}.prep-item-title input{margin-top:var(--s1)}
 .footer{padding-bottom:96px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(forced-colors:active){.check input[type=checkbox],.prep-item-title input[type=checkbox]{appearance:auto;-webkit-appearance:auto}}
/* Shared theme controls and shopping rows use the same component scale. */

.trip-header>.kicker{margin-right:auto}.trip-header{flex-wrap:wrap}
#shoppingCount{display:block;font-size:var(--f-card);margin:var(--s2) 0 var(--s4);font-variant-numeric:tabular-nums}
.shopping-item .prep-item-title strong{flex:1;min-width:0}.shopping-quantity{flex:none;font-size:var(--f-meta);color:var(--ice);background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:var(--s1) var(--s2);white-space:nowrap}
.hero{color:#f4f7fb}.hero .kicker{color:#b7d9ff}.hero .route-switch button.active{background:#f4f7fb;color:#111820}.hero-credit{color:#bacbdb}.destination-caption{color:#f4f7fb}
:root[data-theme="day"]{--bg:#f1f5f8;--panel:#ffffff;--panel2:#eaf0f6;--text:#152638;--muted:#53677b;--line:#cad6e2;--ice:#245e90;--accent:#ff9d2e;--good:#32664b;--surface:linear-gradient(125deg,#fff,#edf3f8)}
[data-theme="day"] body{background:radial-gradient(circle at 75% 0%,#cfdfec80,transparent 32%),linear-gradient(180deg,#f6f9fc,#edf3f8 45%,#f5f8fb)}
[data-theme="day"] summary{background:#f3f7fb;color:var(--text)}
[data-theme="day"] .notice,[data-theme="day"] .destination-body>p{color:var(--text)}
[data-theme="day"] .check input[type=checkbox]:not(:checked),[data-theme="day"] .prep-item-title input[type=checkbox]:not(:checked){background:#fff;border-color:#637b93}
[data-theme="day"] .tripbar{background:#fffffff2;box-shadow:0 8px 32px #263c5418}
[data-theme="day"] .trip-mode,[data-theme="day"] .trip-header{background:var(--bg)}
[data-theme="day"] .pill{background:#edf3f8;color:#3e556b}
[data-theme="day"] .pill.play{color:#31634a;background:#e7f3eb;border-color:#a7c9b2}
[data-theme="day"] .pill.buffer,[data-theme="day"] .status-pill{color:#875019;background:#fff3e3;border-color:#d7b18a}
[data-theme="day"] .error-note{color:#925016!important}
[data-theme="day"] .day:hover,[data-theme="day"] .day.active{border-color:#7895b0}
[data-theme="day"] button:focus-visible,[data-theme="day"] a:focus-visible,[data-theme="day"] input:focus-visible,[data-theme="day"] summary:focus-visible,[data-theme="day"] select:focus-visible{outline-color:#245e90}
@media(max-width:850px){.shopping-item .prep-item-title{align-items:center}.shopping-item .prep-item-title input{margin-top:0}.shopping-quantity{font-size:var(--f-meta)}}

/* Navigation: one desktop row, one compact mobile header with a disclosure. */
.site-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s6);padding:var(--s2) 0 var(--s6)}
.site-nav a{text-decoration:none;font-size:var(--f-label)}
.site-nav .brand{grid-column:1;grid-row:1;font-size:1.125rem;font-weight:900;letter-spacing:.1em;color:var(--accent);white-space:nowrap}
.site-nav .nav-links{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--s1);min-width:0}
.nav-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--r-control);white-space:nowrap;color:var(--muted)}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:var(--panel2);color:var(--text)}
.site-nav .nav-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:var(--s2)}
.site-nav .theme-toggle{min-height:44px;padding:var(--s2) var(--s3);font-size:var(--f-label);white-space:nowrap}
.nav-menu-toggle{display:none;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-control);background:var(--panel2);color:var(--text);font-size:var(--f-label)}
.nav-menu-icon{width:16px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
.nav-menu-icon:after{content:'';position:absolute;left:0;right:0;top:3px;border-top:2px solid currentColor}
.nav-menu-toggle[aria-expanded="true"]{border-color:var(--ice)}
@media(max-width:1000px){
 .site-nav{grid-template-columns:1fr auto;gap:var(--s3);padding:var(--s2) 0 var(--s5)}
 .site-nav .nav-actions{grid-column:2}.nav-menu-toggle{display:inline-flex}
 .site-nav .nav-links{display:none;grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr;gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface)}
 .site-nav .nav-links.is-open{display:grid}.nav-links a{justify-content:flex-start;min-height:48px;padding:var(--s3);background:var(--panel);color:var(--text);white-space:normal}
 .nav-links a:last-child{grid-column:1/-1}.nav-links a[aria-current="page"]{box-shadow:inset 3px 0 var(--accent)}
}
@media(max-width:360px){.site-nav .brand{font-size:1rem;letter-spacing:.05em}.site-nav .theme-toggle,.nav-menu-toggle{padding:var(--s2);font-size:var(--f-label)}.site-nav{gap:var(--s2)}}
/* Trip Mode shares the page's type, spacing and surface hierarchy. */
.trip-main{max-width:980px}.trip-header{position:sticky;top:0;z-index:2;background:var(--bg);padding:var(--s2) 0 var(--s3)}
.trip-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-actions .action{grid-column:auto;flex-direction:column-reverse;border-top:1px solid var(--line)}.trip-actions .action:first-child,.trip-actions .action:nth-child(2){border-top:0}.trip-actions .action:nth-child(even){border-left:1px solid var(--line)}.trip-actions .action:nth-child(3){border-left:0}.trip-actions .action strong,.trip-actions .action:first-child strong{font-size:1.25rem;line-height:1.5;letter-spacing:0}
.trip-selectors{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s6)}
.trip-jumps{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s4) 0}.trip-jumps a{font-size:var(--f-label);min-height:44px;display:flex;align-items:center;padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-control);background:var(--panel);text-decoration:none}
.trip-storage{margin-bottom:var(--s6)}.trip-section{margin-top:var(--s6);scroll-margin-top:90px}.trip-section h4{font-size:var(--f-card);line-height:1.4;margin:var(--s2) 0 var(--s4)}.trip-section h5{font-size:1.125rem;line-height:1.5;margin:var(--s6) 0 var(--s4)}.trip-section>p{font-size:var(--f-label)}
.trip-section details{margin-top:var(--s4)}.trip-section details>p{margin:var(--s3) 0}.trip-note{font-size:var(--f-label);color:var(--muted);padding:var(--s4);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-row);margin:var(--s4) 0;line-height:1.7}
.trip-steps{list-style:none;padding:0;margin:var(--s5) 0}.trip-steps li{display:flex;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.trip-steps li>span{color:var(--accent);font-size:var(--f-label);font-variant-numeric:tabular-nums}.trip-steps li>div{font-size:var(--f-body)}
.trip-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);margin:var(--s5) 0}.trip-two>div{min-width:0}.trip-label{display:block;font-size:var(--f-label);color:var(--muted);margin-bottom:var(--s2)}.trip-two strong{display:block;font-size:1.125rem}.trip-two p{font-size:var(--f-label);margin-top:var(--s2)}
.trip-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:var(--s4)}.trip-field{display:flex;flex-direction:column;gap:var(--s2);min-width:0;font-size:var(--f-label);color:var(--muted)}.trip-field input,.trip-field select{display:block;width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--panel);color:var(--text);padding:var(--s3);font-size:var(--f-body)}.trip-form button{align-self:end}.trip-full{grid-column:1/-1}
.trip-links,.trip-source-links{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s4) 0}.trip-links>*{flex:1}.trip-count{font-size:var(--f-label);font-weight:400;color:var(--ice);margin-left:var(--s2)}.trip-check-list{padding:0 var(--s3)}.trip-check-list .check{border-bottom:1px solid var(--line);padding:var(--s3) 0}.trip-check-list .check:has(input:checked) span{color:var(--muted);text-decoration:line-through}
.trip-cost-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin:var(--s4) 0}.trip-cost-stats>div{padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-row);background:var(--panel);min-width:0}.trip-cost-stats span{display:block;font-size:var(--f-meta);color:var(--muted);line-height:1.6}.trip-cost-stats strong{display:block;font-size:var(--f-card);line-height:1.4;margin-top:var(--s2);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.trip-budget-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px 130px;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line);font-size:var(--f-label)}.trip-budget-row strong{font-weight:500}.trip-budget-row .check{justify-content:center;min-height:44px}.trip-budget-head{color:var(--muted);font-size:var(--f-meta)}.trip-budget-row>span:not(:first-child){text-align:right;overflow-wrap:anywhere}.trip-budget-row>span:last-child{text-align:center}
.trip-expense-row{display:flex;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line)}.trip-expense-row>div:first-child{min-width:0}.trip-expense-row>div:last-child{display:flex;gap:var(--s2);flex:none}.trip-expense-row p{font-size:var(--f-label);overflow-wrap:anywhere;margin-top:var(--s1)}.trip-expense-row strong{font-size:var(--f-body)}
.trip-all-day{display:grid;grid-template-columns:1fr 90px 100px;gap:var(--s3);align-items:center;border-bottom:1px solid var(--line);padding:var(--s2) 0;font-size:var(--f-label)}.trip-all-day>span:not(:first-child){text-align:right}.trip-day-link{border:0;background:transparent;color:var(--ice);text-align:left;font-size:var(--f-label);min-height:44px;padding:var(--s2) 0}.trip-shopping{padding-top:var(--s5);border-top:1px solid var(--line)}
.trip-weather-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin:var(--s4) 0}.trip-weather-grid article{border:1px solid var(--line);border-radius:var(--r-row);background:var(--panel);padding:var(--s4)}.trip-weather-grid article p{font-size:var(--f-label);margin:var(--s2) 0}.trip-weather-grid b{font-size:1.125rem;line-height:1.5}
@media(max-width:850px){.trip-section{margin-top:var(--s5)}.trip-two{grid-template-columns:1fr;gap:var(--s4)}.trip-form{grid-template-columns:1fr}.trip-cost-stats{grid-template-columns:1fr}.trip-cost-stats>div{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.trip-cost-stats strong{margin:0;font-size:1.5rem;text-align:right}.trip-cost-stats span{font-size:var(--f-label)}.trip-budget-row{grid-template-columns:minmax(0,1fr) 56px 56px 72px;gap:var(--s2)}.trip-budget-row .check{justify-content:center}.trip-all-day{grid-template-columns:1fr 60px 74px;gap:var(--s2)}.trip-weather-grid{grid-template-columns:1fr}.trip-weather-grid article{padding:var(--s3) var(--s4)}.trip-links{flex-direction:column}.trip-expense-row{flex-direction:column;gap:var(--s3)}.trip-expense-row>div:last-child>*{flex:1}.trip-actions .action{padding:var(--s4)}.trip-header .kicker{font-size:var(--f-meta);letter-spacing:.06em}.trip-jumps{gap:var(--s2)}.trip-jumps a{padding:var(--s2) var(--s3)} }
[hidden]{display:none!important}
.trip-energy-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin:var(--s4) 0}.trip-energy-grid article{padding:var(--s4);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-row)}.trip-energy-grid article strong{font-size:var(--f-body)}.trip-energy-grid article p{font-size:var(--f-label);margin-top:var(--s2)}
@media(max-width:850px){.trip-energy-grid{grid-template-columns:1fr}}
