/* Winter Roadbook: shared rhythm, independent from the portfolio site. */
:root,:root[data-theme="day"]{
 --bg:#f0efeb;--panel:#faf9f6;--panel2:#e8e8e1;--text:#252c28;--muted:#626b64;--line:#d8ddd4;
 --accent:#49634f;--ice:#49634f;--good:#3e694e;--surface:#faf9f6;
 --r-control:0px;--r-row:0px;--r-panel:0px;--r-hero:0px;
 --page-pad:32px;--panel-pad:28px;--section-gap:64px;
 --f-page:clamp(2.5rem,4vw,3.7rem);--f-section:1.9rem;--f-card:1.35rem;
}
:root[data-theme="night"]{--bg:#1d2420;--panel:#252f28;--panel2:#303e33;--text:#f0f2eb;--muted:#b4c0b5;--line:#415045;--accent:#aec5a7;--ice:#aec5a7;--good:#aec5a7;--surface:#252f28}
[hidden]{display:none!important}html{scroll-padding-top:28px}body,[data-theme="day"] body{background:var(--bg);color:var(--text);font-family:MiSans,"PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.8}
.shell{max-width:1280px;padding-top:0;padding-bottom:112px}.site-nav{min-height:96px;padding:22px 0;margin-bottom:26px;gap:20px;border-bottom:1px solid var(--line)}
.site-nav .brand{color:var(--text);font-size:20px;font-weight:650;letter-spacing:-.6px}.site-nav .nav-links a{font-size:12px;border-radius:0}.site-nav .theme-toggle{font-size:12px;background:transparent}
.kicker{font-size:10px;letter-spacing:1.5px;color:var(--muted)}h1,h2,h3{font-weight:550;letter-spacing:-.04em}.section h2{line-height:1.5;margin-top:10px}.section .lead{font-size:14px;line-height:1.95}.section-head{margin-bottom:26px}.mini{line-height:1.85}
.hero{border:1px solid var(--line);background:var(--panel)!important;background-image:none!important;color:var(--text);padding:40px;overflow:hidden;box-shadow:0 8px 32px #25332a04}
.hero:before{content:none}.hero-content{display:grid;grid-template-columns:1.12fr 1fr;grid-template-areas:"copy visual" "stats visual";gap:32px 40px;min-height:0;padding:0;align-items:start}
.hero-content>div:first-child{grid-area:copy;padding:10px 0 0}.hero h1{font-size:var(--f-page);max-width:none;line-height:1.35;margin:22px 0 16px}.hero-sub{max-width:510px;font-size:13px;color:var(--muted);line-height:2}.hero .kicker{color:var(--muted);font-size:9px}
.hero-photo-mobile{grid-area:visual;display:block;min-height:460px;height:100%;background-image:var(--hero-photo);background-size:cover;background-position:center;border-radius:0;filter:saturate(.72)}
.hero-bottom{grid-area:stats;display:flex;flex-direction:column;align-items:stretch;gap:18px}.route-switch{background:var(--panel2);border:1px solid var(--line);border-radius:0;margin-top:24px;padding:4px;gap:4px;display:inline-flex}
.route-switch button{color:var(--muted);font-size:12px;padding:10px 20px;border-radius:0;font-weight:500}.hero .route-switch button.active{background:var(--text);color:var(--bg)}
.quick-stats{width:100%;display:grid;grid-template-columns:1.45fr repeat(3,1fr);background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0}
.stat{border-color:var(--line);padding:18px 12px;gap:9px;border-top:0}.stat:first-child{padding-left:0}.stat span{color:var(--muted);font-size:10px}.stat strong{font-size:23px;font-weight:500}.stat-primary strong{font-size:31px}.hero-bottom>div:last-child{display:flex;align-items:start;gap:12px}.tag{background:var(--panel2);color:var(--text);border-radius:0;letter-spacing:.8px;font-size:8px;font-weight:500;flex:none;padding:6px 9px}
.hero-credit{margin:0;max-width:none;font-size:9px;color:var(--muted);line-height:1.8}.hero-credit a{color:var(--muted)}
.card{background:var(--panel);box-shadow:none}.close,.link-button{background:var(--panel);font-size:13px;border-radius:0;min-height:44px;padding:11px 16px;transition:background .15s,border-color .15s}
.close:hover,.link-button:hover{background:var(--panel2);border-color:var(--muted)}.close:active,.link-button:active{transform:translateY(1px)}.grid{gap:24px}.map-card{padding:0}.map-tools{gap:12px}.map-distance-value{font-size:36px;font-weight:500}
.metric strong{font-size:28px;font-weight:500}.risk{font-size:13px;line-height:1.9}.risk-number{color:var(--accent)}.mission-card #missionTitle,.risk-card h3{font-weight:500}
.weather-current{background:var(--panel);border-radius:0}.weather-place{font-size:15px}.temperature{font-weight:500}.forecast article{border-radius:0}.forecast article p{font-size:12px}.weather-credit{margin-top:16px}
summary,[data-theme="day"] summary{background:transparent;color:var(--text);border-radius:0;font-size:12px}summary:hover{background:var(--panel2)}.road-intro,.source-copy p,.destination-body>p,[data-theme="day"] .destination-body>p{color:var(--muted);font-size:13px;line-height:1.95}.source-copy strong{font-size:14px;font-weight:550}.status-pill,[data-theme="day"] .status-pill{background:var(--panel2);color:var(--muted);border-color:var(--line);border-radius:0;font-size:10px}
.timeline{gap:10px}.day{background:var(--panel);border-radius:0;padding:20px 22px;border:1px solid var(--line);transition:background .15s,border-color .15s}.day.active,.day:hover,[data-theme="day"] .day.active,[data-theme="day"] .day:hover{background:var(--panel2);border-color:var(--accent)}.day strong{font-size:14px}.day-route{font-size:15px;font-weight:550}.day-meta{font-size:12px;line-height:1.9}.pill,[data-theme="day"] .pill{border-radius:0;background:var(--panel2);color:var(--muted);font-size:10px}.pill.play,[data-theme="day"] .pill.play{color:var(--good);background:var(--panel2);border-color:var(--line)}.pill.buffer,[data-theme="day"] .pill.buffer{color:var(--text);background:var(--panel2);border-color:var(--line)}
.destination-image{border-radius:0}.destination-caption{color:#f4f6ef}.destination-caption h3{font-size:23px}.destination-body{padding:24px}.destination-body .mini{color:var(--muted)}
.check,.prep-item-title strong{font-size:14px;font-weight:450;line-height:1.9}.check input[type=checkbox],.prep-item-title input[type=checkbox],[data-theme="day"] .check input[type=checkbox]:not(:checked),[data-theme="day"] .prep-item-title input[type=checkbox]:not(:checked){border-color:var(--muted);border-radius:0;background:var(--panel)}.check input:checked,.prep-item-title input:checked{background:var(--accent)!important}.check input:checked:after,.prep-item-title input:checked:after{border-color:var(--bg)}
.tripbar,[data-theme="day"] .tripbar{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;width:min(800px,calc(100% - 48px));margin:0;z-index:30;border-radius:0;background:var(--panel);box-shadow:0 8px 35px #25332a22;border:1px solid var(--line);padding:10px 12px 10px 20px}.tripbar button{background:var(--text);color:var(--bg);border-radius:0;font-weight:500}#tripSummary{font-size:12px}
.trip-mode,[data-theme="day"] .trip-mode{background:var(--bg);padding:0 32px 40px}.trip-header,[data-theme="day"] .trip-header{background:var(--bg);max-width:1120px;margin:auto;padding:16px 0;border-bottom:1px solid var(--line);gap:12px;top:0}.trip-main{max-width:1040px;margin:36px auto 0}.trip-main h3{font-size:clamp(28px,4vw,46px);font-weight:500;line-height:1.5;max-width:900px}.trip-main>p{font-size:14px;line-height:1.9}.trip-actions{border-radius:0;overflow:hidden;background:var(--panel);margin-top:24px}.action{padding:24px}.action strong{font-size:19px!important;font-weight:500;line-height:1.7}.action span{font-size:11px}.trip-mode .card{background:var(--panel)}.trip-section h4{font-weight:550;font-size:20px}.trip-section>p,.trip-section li,.trip-section .trip-note{font-size:13px;line-height:1.9}.trip-jumps{gap:8px}.trip-jumps a{border-radius:0;font-size:12px;min-height:40px;padding:8px 16px}.trip-jumps a:hover{background:var(--panel2)}.trip-field{font-size:12px}.trip-field input,.trip-field select{border-radius:0;font-size:14px}.trip-cost-stats>div{background:var(--panel2);border:0;border-radius:0}.trip-cost-stats strong{font-weight:500}.trip-note{border-radius:0;background:var(--panel2)}.trip-nav{position:sticky;bottom:0;padding:15px 0;background:var(--bg);border-top:1px solid var(--line);margin-top:28px;z-index:3}
.prepare-head{padding:24px 0 32px;border-bottom:1px solid var(--line)}.prepare-head h1{font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.5;margin:16px 0}.prepare-head>p{font-size:14px;line-height:2;max-width:760px}.prep-progress{border-radius:0;padding:22px 26px;max-width:820px}.prep-progress progress{height:6px;accent-color:var(--accent)}#prepCount,#shoppingCount{font-weight:500;font-size:24px}.notice{border-radius:0;background:var(--panel2);border-color:var(--accent);font-size:12px;color:var(--text);line-height:1.9}.prep-layout{margin-top:30px;gap:30px}.prep-nav{gap:8px;top:22px}.prep-nav a{border:0;background:transparent;border-radius:0;padding:12px 14px;font-size:12px;color:var(--muted)}.prep-nav a:hover{background:var(--panel2);color:var(--text)}.prep-section h2{font-weight:500}.prep-item-detail{margin-left:35px}.prep-item-detail summary{font-size:11px;min-height:40px;border-color:transparent;padding-left:0}.prep-item-detail summary:hover{padding-left:12px}.shopping-quantity{border-radius:0;font-size:10px}.footer{margin-top:48px;padding:28px 0 0;border-top:1px solid var(--line);font-size:10px;line-height:2}
.roadbook-tools,.checklist-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0 16px}.roadbook-tools input[type=search]{flex:1;min-width:180px;min-height:46px;border:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--text);padding:10px 16px;font-size:13px}.roadbook-tools select{font-size:12px;min-height:46px;border-radius:0}.tool-hint{font-size:11px;color:var(--muted);line-height:1.9;margin:10px 0 20px}.empty-result{padding:35px 20px;border:1px dashed var(--line);border-radius:0;text-align:center;color:var(--muted);font-size:13px}.tool-check{display:flex;align-items:center;gap:10px;font-size:12px;cursor:pointer}.tool-check input{width:18px;height:18px;accent-color:var(--accent)}.backup-tools{margin-top:35px;padding:24px;border:1px solid var(--line);border-radius:0;background:var(--panel)}.backup-tools h2{font-size:18px;margin:0 0 10px;font-weight:500}.backup-tools p{font-size:12px;color:var(--muted);line-height:1.9}.backup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.backup-status{margin-top:12px!important}.completed-item .prep-item-title>strong{color:var(--muted)}.save-toast{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 20px;border-radius:0;font-size:12px;z-index:120;box-shadow:0 4px 20px #0002;max-width:90vw;text-align:center}.error-note,[data-theme="day"] .error-note{color:#96582e!important}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,[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:2px solid var(--accent);outline-offset:4px}
@media(max-width:1000px){.site-nav{min-height:80px}.hero{padding:30px}.hero-content{gap:25px}.hero h1{font-size:42px}.hero-photo-mobile{min-height:430px}.stat{padding:16px 8px}.stat strong{font-size:20px}.stat-primary strong{font-size:28px}}
@media(max-width:850px){:root{--page-pad:24px;--panel-pad:22px;--section-gap:48px}.hero-content{grid-template-columns:1fr;grid-template-areas:"copy" "visual" "stats";gap:26px}.hero{padding:28px}.hero-photo-mobile{height:260px;min-height:0}.hero h1{font-size:42px;margin-top:18px}.hero-bottom{gap:15px}.hero-content>div:first-child{padding:0}.quick-stats{grid-template-columns:1.45fr repeat(3,1fr)}.stat-primary{grid-column:auto;display:flex}.stat:nth-child(2){border-left:1px solid var(--line)}.stat-primary strong{grid-column:auto;grid-row:auto}.stat-primary span:last-child{align-self:auto;margin:0}.hero-bottom>div:last-child{display:block}.hero-credit{margin-top:8px}.section-head{gap:14px}.trip-actions .action{padding:20px}.prep-nav{gap:6px}.prep-nav a{background:var(--panel2);font-size:11px;min-height:40px;padding:9px 12px}.prep-layout{gap:20px}.trip-main{margin-top:25px}.trip-mode{padding:0 24px 24px}.trip-header{padding:14px 0}.footer{padding-bottom:0}.weather-wind strong{font-size:24px}.forecast{scrollbar-width:thin}.trip-cost-stats>div{padding:16px}.trip-budget-row{font-size:12px}}
@media(max-width:480px){:root{--page-pad:18px;--panel-pad:20px;--f-section:1.65rem;--f-body:.9rem}.shell{padding-bottom:110px}.site-nav{gap:10px;min-height:78px;margin-bottom:20px}.site-nav .brand{font-size:18px}.site-nav .theme-toggle,.nav-menu-toggle{font-size:11px;min-height:42px;padding:9px 10px}.hero{padding:24px 20px;border-radius:0}.hero h1{font-size:35px;line-height:1.4;margin:18px 0 14px}.hero-sub{font-size:12px}.hero .kicker{font-size:8px;letter-spacing:1px}.hero-photo-mobile{height:220px;border-radius:0}.hero-content{gap:24px}.route-switch{margin-top:20px;display:flex;width:100%;justify-content:center}.route-switch button{flex:1;padding:10px 12px;font-size:12px}.stat{padding:15px 7px}.stat strong{font-size:20px}.stat-primary strong{font-size:27px}.stat span{font-size:9px;line-height:1.7}.tag{font-size:8px}.hero-credit{font-size:9px}.hero-bottom{gap:14px}.section .lead{font-size:12px}.section-head{margin-bottom:20px}.grid{gap:18px}.map-tools{padding:16px;gap:10px}.day{padding:17px 14px;grid-template-columns:42px 1fr;gap:12px}.day-route{font-size:13px;line-height:1.8}.day-meta{font-size:11px}.day .pill{font-size:9px;padding:5px 10px}.tripbar,[data-theme="day"] .tripbar{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 28px);padding:8px 9px 8px 14px;border-radius:0}.tripbar button{font-size:11px;padding:10px 12px;min-height:42px}#tripSummary{font-size:10px}.roadbook-tools{gap:10px}.roadbook-tools input[type=search]{width:100%;flex-basis:100%;font-size:12px}.roadbook-tools select{flex:1;font-size:12px}.tool-hint{font-size:10px}.trip-mode{padding:0 18px 18px}.trip-header .kicker{font-size:9px;letter-spacing:.5px}.trip-header>.close{font-size:11px;padding:8px 12px}.trip-main h3{font-size:29px}.trip-main>p{font-size:12px}.trip-actions .action{padding:16px}.action strong{font-size:16px!important}.action span{font-size:10px}.trip-jumps{gap:6px}.trip-jumps a{font-size:11px;padding:8px 12px}.trip-section h4{font-size:18px}.trip-section>p,.trip-section li,.trip-section .trip-note{font-size:12px}.trip-expense-row{padding:14px 0}.trip-nav{padding:12px 0 calc(12px + env(safe-area-inset-bottom))}.prepare-head{padding:16px 0 26px}.prepare-head h1{font-size:32px}.prepare-head>p{font-size:12px}.prep-progress{padding:20px}.prep-item-title strong{font-size:13px}.prep-item-detail{margin-left:32px}.prep-nav{gap:7px}.prep-nav a{font-size:10px}.checklist-tools{gap:14px}.backup-tools{padding:20px}.backup-tools h2{font-size:17px}.backup-tools p{font-size:11px}.backup-actions .close{flex:1;font-size:12px}.source-copy strong{font-size:13px}.source-copy p{font-size:12px}.road-sources .link-button{font-size:11px}.destination-body>p{font-size:13px}.footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:480px){.quick-stats{grid-template-columns:1fr 1fr}.stat{padding:16px}.stat:first-child{padding-left:16px}.stat:nth-child(3){border-left:0;border-top:1px solid var(--line)}.stat:nth-child(4){border-top:1px solid var(--line)}.stat span{font-size:10px}.stat-primary strong{font-size:27px}}
/* Keep all roadbook controls consistent with the portfolio's square geometry. */
button,input,select,textarea,.nav-menu-toggle,.trip-nav,.trip-expense-row{border-radius:0!important}
