:root{--ink:#203e3e;--muted:#72807c;--paper:#f6f5ef;--line:#dedfd5;--green:#244d48;--orange:#c77847;--white:#fffefa;--mint:#e7efe7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic UI","Meiryo",sans-serif;font-size:14px;line-height:1.7}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c77847;outline-offset:4px}[hidden]{display:none!important}.topbar{max-width:1240px;margin:auto;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.brand{font-size:17px;letter-spacing:3px;text-decoration:none;font-weight:750;display:flex;gap:12px;align-items:center}.brand-mark{font-size:40px;line-height:1}.guide-link{text-decoration:none;font-size:12px}.guide-link span{margin-left:14px}main{max-width:1160px;margin:auto;padding:0 0 30px}.hero{height:340px;display:grid;grid-template-columns:1fr 1fr;background:#e9ede3;overflow:hidden;border-radius:5px;position:relative}.hero-copy{padding:38px 48px;z-index:2}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:750;color:#6d8176;margin:0 0 12px}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:42px;line-height:1.5;letter-spacing:3px;font-weight:500;margin:0 0 14px}.hero-description{font-size:13px;line-height:1.9;color:#5e7169;margin:0}.date{font-size:10px;letter-spacing:1.7px;font-weight:600;margin-top:21px}.date span{padding:0 10px;color:#9da99d}.landscape{position:relative;overflow:hidden;background:linear-gradient(180deg,#dee8db,#e9ede3)}.sun{position:absolute;width:64px;height:64px;border-radius:50%;background:#dbaa75;right:100px;top:42px;opacity:.8}.mountain{position:absolute;inset:50px -70px 85px -40px;clip-path:polygon(0 100%,8% 73%,18% 60%,25% 67%,43% 10%,48% 7%,64% 52%,71% 47%,100% 100%);background:#a3b6a3}.mountain.far{transform:translate(90px,-5px);background:#bcc9b6}.mountain.near{top:86px;bottom:70px;background:#758f7d}.water{position:absolute;inset:220px 0 0;background:repeating-linear-gradient(175deg,transparent 0 13px,#cad8c733 13px 14px),linear-gradient(180deg,#afc7bd,#c8d6c8)}.shore{position:absolute;bottom:-50px;right:-30px;width:220px;height:125px;background:#466f61;border-radius:90% 0 0 0;transform:rotate(-6deg)}.lake-label{position:absolute;left:55px;bottom:37px;font-size:10px;color:#49695c;letter-spacing:3px}.lake-label small{font-size:8px;letter-spacing:1.4px}.trip-card{display:flex;align-items:center;gap:35px;padding:24px 32px;margin:18px 0 40px;border:1px solid var(--line);background:var(--white);border-radius:5px}.trip-card>div{display:flex;flex-direction:column}.label{font-size:10px;color:var(--muted);margin-bottom:2px}.trip-card strong{font-size:16px;font-weight:650}.muted{color:var(--muted);font-size:12px}.trip-arrow{font-size:26px;font-weight:300;color:#a5b2a6;flex:0 0 70px;text-align:center}.pill{margin-left:auto;background:var(--mint);color:#5b7967;border-radius:30px;padding:5px 14px;font-size:11px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-heading .eyebrow{margin-bottom:5px}h2{font-size:19px;font-weight:650;letter-spacing:.4px;margin:0}h3{font-size:16px}.badge{padding:4px 12px;font-size:10px;letter-spacing:1.5px;font-weight:700;border-radius:30px}.demo{color:#a76632;background:#f3e6ce}.live{background:var(--mint);color:#365c45}.notice{padding:12px 16px;border-radius:4px;background:#f2eadb;color:#886335;font-size:12px;margin-bottom:12px}.notice.live-notice{background:var(--mint);color:#4e6b56}.status{padding:0 0 10px;font-size:13px;min-height:28px}.status.error{color:#ac472f;font-weight:650}.result-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:12px;gap:8px}.empty-state{border:1px dashed #cbd3c7;text-align:center;padding:35px;border-radius:5px;background:#eff1e9}.empty-state h3{margin:3px 0;font-weight:500}.empty-state p{font-size:12px;color:var(--muted)}.empty-icon{font-size:40px;color:#799782}.route-card{position:relative;background:var(--white);border:1px solid var(--line);padding:22px 24px;border-radius:5px;margin-bottom:12px}.route-card.best{border:1.5px solid #6f8f78;background:#f7faf2}.route-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}.road-icon{border:1px solid #8da38b;color:#557851;padding:1px 7px;font-size:10px;border-radius:4px;letter-spacing:1px}.route-top h3{margin:0;flex:1;font-size:16px}.route-rank{font-size:10px;color:#5b795a;border-radius:20px;padding:3px 10px;background:#e7efdd}.route-description{font-size:12px;color:#6d7d71;margin:0 0 12px}.route-numbers{display:flex;align-items:baseline;gap:10px}.duration{font-family:Georgia,"Times New Roman",serif;font-size:39px;line-height:1.25;letter-spacing:-1px}.duration small{font:12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;padding:0 3px}.difference{margin-left:auto;font-size:12px;color:#997647}.route-detail-row{display:flex;gap:20px;font-size:12px;color:#6b7b70;padding-top:9px}.route-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e1e5d9;margin-top:17px;padding-top:11px;gap:8px}.baseline-label{font-size:11px;color:#4e7154}.select-baseline{border:1px solid #b4c0ad;border-radius:4px;background:transparent;color:#567150;font-size:12px;padding:7px 11px;min-height:40px}.route-card details{font-size:12px;color:#607165;margin-top:12px}.route-card summary{cursor:pointer;min-height:36px;display:flex;align-items:center}.route-card details ol{padding-left:22px}.route-warning{color:#93603a;font-size:12px}.comparison-note{font-size:12px;background:#eee9df;padding:13px 16px;border-radius:4px}.attribution{font-size:14px;font-weight:650;text-align:right;color:#5f6368;margin:10px 0}.result-actions{display:flex;flex-direction:column;gap:3px;margin:19px 0 27px}.secondary-link{font-size:12px;min-height:32px}.control-panel{background:#fffefa;border:1px solid var(--line);padding:26px;border-radius:5px}.control-panel h2{margin-bottom:23px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;margin-bottom:17px}.field select,.field input{width:100%;border:1px solid #d5dbcf;background:#f8f8f2;padding:11px 12px;border-radius:4px;color:var(--ink);min-height:46px}.field-help{font-size:11px;color:var(--muted);margin-top:-8px}.setting-row{display:flex;align-items:center;justify-content:space-between;margin:15px 0;font-size:12px}.setting-row select{border:1px solid #d5dbcf;padding:8px;background:#f8f8f2;border-radius:4px;min-height:44px;color:var(--ink)}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0 24px;gap:12px}.toggle-row span{font-size:13px}.toggle-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.toggle-row input{appearance:none;flex:0 0 40px;height:24px;border-radius:25px;background:#c5cfc2;position:relative;cursor:pointer}.toggle-row input:after{content:"";width:18px;height:18px;position:absolute;top:3px;left:3px;border-radius:50%;background:white;transition:transform .2s}.toggle-row input:checked{background:#3f725d}.toggle-row input:checked:after{transform:translateX(16px)}.primary-button,.outline-button{width:100%;border-radius:5px;min-height:52px;padding:12px 16px;font-size:14px;font-weight:600}.primary-button{background:var(--green);color:#fff;border:1px solid var(--green);display:flex;justify-content:space-between;align-items:center}.outline-button{background:transparent;color:var(--green);border:1px solid #a4b2a3;margin-top:10px}.monitor-status{text-align:center;font-size:11px;color:var(--muted);margin:12px 0}.small-actions{display:flex;gap:8px;justify-content:space-between}.text-button{padding:10px 0;border:0;background:none;font-size:10px;text-decoration:underline;color:#64775f;min-height:44px}.foreground-note{font-size:11px;line-height:1.9;color:var(--muted);margin:18px 0 0;border-top:1px solid var(--line);padding-top:16px}.foreground-note a{display:block}.updates{border-top:1px solid var(--line);padding-top:21px}.updates h2{font-size:14px}.updates ol{list-style:none;margin:0;padding:0}.updates li{font-size:12px;padding:11px 0;border-bottom:1px solid #e5e7df;display:flex;gap:15px}.updates time{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.road-info{margin-top:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;display:flex;justify-content:space-between;gap:20px}.road-info h2{font-size:18px}.road-info p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:0}.official-links{display:flex;flex-direction:column;gap:12px;justify-content:center}.official-links a{font-size:12px;padding:8px 0}footer{padding-top:25px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:9px;letter-spacing:1px;color:#7b897d}footer p{width:100%;font-size:11px;letter-spacing:0;margin-top:0}.footer-dot{padding:0 8px}.stale .route-card{opacity:.55}.doc{max-width:780px;margin:0 auto;padding:30px 24px 70px}.doc h1{font-size:30px;margin:25px 0}.doc h2{margin:30px 0 12px}.doc li{margin:10px 0}.doc code{font-size:12px;background:#e9ece3;padding:2px 6px;word-break:break-all}.doc pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#e9ece3;padding:18px;font-size:12px}.doc .notice{font-size:13px}.doc table{border-collapse:collapse;width:100%;font-size:12px}.doc td,.doc th{border:1px solid var(--line);padding:10px;text-align:left}
.journey-panel{padding:26px 32px;margin:18px 0 36px;background:var(--white);border:1px solid var(--line);border-radius:5px}.journey-fields{display:grid;grid-template-columns:1fr 44px 1fr;gap:20px;align-items:center}.journey-fields>*{min-width:0}.origin-field{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:end}.origin-field .field:last-child{margin-top:26px}.swap-button{width:44px;height:44px;border:1px solid #bdcaba;background:var(--paper);border-radius:50%;color:var(--green);font-size:23px}.destination-field .field-help{margin:0;font-size:10px}.saved-row{display:flex;gap:12px;align-items:end;border-top:1px solid var(--line);padding-top:17px;margin-top:4px;flex-wrap:wrap}.saved-row>.field{flex:1;min-width:200px;margin:0}.saved-row button{min-height:46px}.journey-help{font-size:11px;color:var(--muted);margin:10px 0 0}.save-editor{display:flex;gap:15px;align-items:end;margin-top:18px}.save-editor .field{flex:1;margin:0}.save-editor button{min-height:46px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.route-top{flex-wrap:wrap}.route-top h3{min-width:0;overflow-wrap:anywhere}.route-rank{white-space:nowrap}.result-meta{overflow-wrap:anywhere}.brand{letter-spacing:1px;font-size:22px}
@media(max-width:1000px){.origin-field{grid-template-columns:1fr}.origin-field .field{margin-bottom:8px}.origin-field .field:last-child{margin-top:0}.journey-fields{align-items:start}.swap-button{margin-top:26px}}@media(max-width:600px){.journey-panel{padding:22px 20px}.journey-fields{grid-template-columns:1fr;gap:0}.swap-button{margin:3px auto 8px;transform:rotate(90deg)}.saved-row{gap:9px}.saved-row>.field{flex-basis:100%}.saved-row button{flex:1}.save-editor{flex-wrap:wrap}.save-editor>.field{flex-basis:100%}.journey-panel .pill{display:none}.journey-panel input,.journey-panel select{font-size:16px}}
@media(max-width:1220px){main{margin:0 32px}.topbar{padding:0 32px}.workspace{gap:25px}.hero-copy{padding-left:35px}}@media(max-width:800px){.topbar{height:72px;padding:0 20px}.brand{font-size:14px}.guide-link{font-size:11px}main{margin:0 20px}.hero{height:310px;grid-template-columns:1.15fr 1fr}.hero-copy{padding:28px 24px}h1{font-size:32px}.hero-description{font-size:11px}.date{font-size:9px;letter-spacing:.7px}.sun{right:30px}.lake-label{left:20px;font-size:8px}.trip-card{padding:20px;gap:15px;margin-bottom:28px}.trip-arrow{flex-basis:30px}.trip-card strong{font-size:13px}.pill{display:none}.workspace{grid-template-columns:1fr}.control-panel{grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.control-panel>.eyebrow,.control-panel>h2,.control-panel>.foreground-note,.control-panel>.small-actions,.control-panel>.monitor-status{grid-column:1/-1}.control-panel>h2{margin-bottom:18px}.control-panel>.toggle-row{grid-column:1/-1;padding:10px 0 15px}.outline-button{margin-top:0}.control-panel>#live-settings{grid-column:1/-1}.control-panel .foreground-note{margin-top:10px}.control-panel .small-actions{justify-content:center;gap:25px}.road-info{flex-direction:column}.official-links{flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:20px}}
@media(max-width:460px){main{margin:0 14px}.topbar{padding:0 16px}.hero{height:300px;grid-template-columns:1.65fr 1fr}.hero-copy{padding:26px 20px}.hero-copy .eyebrow{font-size:7px;letter-spacing:1.3px}h1{font-size:28px;letter-spacing:1px}.hero-description{font-size:10px}.date{white-space:nowrap;font-size:8px}.date span{padding:0 3px}.sun{height:40px;width:40px;right:20px;top:54px}.lake-label{display:none}.mountain{inset:70px -100px 60px -110px}.water{top:218px}.trip-card{padding:16px 14px;gap:5px}.trip-card strong{font-size:12px}.trip-card .muted{font-size:10px}.trip-arrow{flex-basis:24px;font-size:18px}.control-panel{padding:20px;gap:0 12px}.setting-row{flex-direction:column;align-items:flex-start;gap:5px;margin-top:0}.setting-row select{width:100%}.route-card{padding:18px}.route-top h3{font-size:15px}.route-rank{font-size:9px;padding:3px 7px}.duration{font-size:34px}.difference{font-size:11px}.result-meta{flex-direction:column}.guide-link span{margin-left:4px}.doc{padding:20px 18px}}

.brand-mark{display:block;width:34px;height:34px;flex:none}.brand-wordmark{white-space:nowrap}.brand-route{color:#203e3e}.brand-cue{color:#687f66}@media(max-width:800px){.brand{font-size:19px;gap:10px}.brand-mark{width:30px;height:30px}}

.sync-settings{margin:4px 0 18px;font-size:12px}.sync-settings summary{cursor:pointer;color:var(--green);padding:8px 0}.sync-settings .field{max-width:480px;margin-top:12px}#sync-status.error{color:#ac472f}

@media(max-width:600px){.saved-row button{flex:1 1 calc(50% - 9px);white-space:nowrap}}

.voice-settings{grid-column:1/-1;margin:0 0 18px;font-size:12px}.voice-settings summary{cursor:pointer;padding:4px 0 10px;color:var(--green)}.voice-settings .field{margin-top:10px}.voice-settings select{width:100%;min-width:0}

.voice-audition .eyebrow{margin-top:24px}.voice-audition audio{display:block;width:100%;margin-top:18px}.voice-audition .route-card h2{margin:0}.voice-audition .route-card .eyebrow{margin-top:0}

#speech-player{width:100%;margin:10px 0}#speech-status.error{color:#ac472f}

/* Google route comparison */
.map-panel{margin:18px 0 24px;padding:20px;border:1px solid #d7ded4;border-radius:18px;background:#f9faf5;scroll-margin-top:20px;overflow:hidden}
.map-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.map-heading h3{margin:4px 0;font-size:20px}.map-heading .eyebrow{font-size:10px;margin:0}
.map-status,.map-help{font-size:12px;line-height:1.8;color:#667774}.map-status{margin:12px 0}.map-help{margin:12px 0 0}.map-panel .outline-button{margin:12px 0 0}.map-panel .secondary-link{font-size:13px}
.route-map{width:100%;height:420px;border-radius:12px;background:#e8eee8;margin-top:14px}.route-map[hidden]{display:none}
.route-map[data-state=error]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:24px;text-align:center;color:#8b342d;background:#fff3f0;border:1px solid #e5b9b2;font-weight:700;line-height:1.7}
.map-legend{display:grid;gap:8px;margin-top:12px}.map-route{display:grid;grid-template-columns:1fr auto;text-align:left;gap:4px 14px;border:1px solid #dae0da;border-left:5px solid #185b57;border-radius:10px;background:#fff;color:#244340;padding:12px;cursor:pointer;font:inherit;width:100%}.map-route.alt-0{border-left-color:#647fa6}.map-route.alt-1{border-left-color:#b17943}.map-route[aria-pressed=true]{background:#eaf1e9;outline:2px solid #185b57;outline-offset:-2px}.map-route-label{grid-column:1/-1;font-size:11px;color:#627770}.map-route strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.map-route-time{font-weight:700;white-space:nowrap;font-size:14px}.map-detail{font-size:13px;line-height:1.8;margin:12px 0 0}.map-detail:empty{display:none}
@media(max-width:600px){.map-panel{padding:14px}.route-map{height:350px}.map-heading{align-items:flex-start}.map-heading h3{font-size:18px}.map-heading button{font-size:11px;white-space:nowrap}.route-bottom{flex-wrap:wrap;gap:10px}}

.map-layer-controls{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 0}.map-layer-controls label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:600;cursor:pointer}.map-layer-controls input{width:19px;height:19px;accent-color:#185b57;margin:0}.map-layer-controls input:disabled{cursor:default}

/* Drive view and the dedicated settings screen */
.settings-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 18px;border:1px solid #c9d6ce;border-radius:30px;color:#244d47;text-decoration:none;font-size:14px;font-weight:600}
.workspace{display:block}.results-section{min-width:0}.journey-panel .saved-row{border-top:1px solid #dce2d9;margin-top:22px;padding-top:20px;gap:12px}.saved-row .outline-button{width:auto;min-width:140px;margin:0}.saved-row .field{flex:1}.saved-row .text-button,.save-editor .text-button{font-size:13px;min-height:44px}.save-editor{align-items:end;gap:12px}.save-editor .field{flex:1}.save-editor button{min-height:44px}
.place-shortcuts,.departure-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:18px;align-items:end}.place-shortcuts>a{grid-column:1/-1;font-size:12px;color:#45695c;justify-self:end}.place-shortcuts .field{margin:0}.place-shortcuts select{background:#f4f6ef}.departure-settings{padding:18px 20px;background:#eef2e9;border-radius:12px}.departure-settings .field{margin:0}.departure-settings .journey-help{grid-column:1/-1;margin:0}.departure-settings input{min-width:0;width:100%;box-sizing:border-box}
.drive-actions{margin:24px 0 28px;padding:22px 26px;border-radius:18px;background:#e8eee3;border:1px solid #d9e2d5}.drive-buttons{display:flex;gap:14px}.drive-buttons button{margin:0;max-width:300px}.drive-summary{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:16px}.drive-summary .monitor-status{margin:0}.drive-summary a{font-size:12px;color:#42675c;text-decoration:none}.drive-actions .foreground-note{margin:10px 0 0;border:0;padding:0}
.settings-view{padding-bottom:32px}.settings-heading{padding:24px 0 32px}.settings-heading>.eyebrow{margin-top:32px}.settings-heading h1{font-size:38px;margin:8px 0 12px;outline:none}.settings-heading>p:last-child{font-size:14px;color:#6b7970;line-height:1.8}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.settings-card{background:#fffefa;border:1px solid #dce1d7;border-radius:20px;padding:26px;min-width:0}.settings-card>.eyebrow{margin:0 0 9px}.settings-card h2{font-size:22px;margin:0 0 18px}.settings-card .section-heading{margin-bottom:12px}.settings-card .section-heading h2{margin:0}.settings-card .field{margin:14px 0}.settings-card input:not([type=checkbox]),.settings-card select{font-size:16px;min-width:0}.settings-card .setting-row{gap:16px}.settings-card .setting-row select{width:120px}.settings-wide{grid-column:1/-1}.settings-card .outline-button{margin-top:15px}.settings-card .text-button{font-size:13px;min-height:44px}.settings-card .select-baseline{min-height:44px}.settings-card .journey-help{font-size:13px;line-height:1.85}.settings-editor{background:#f0f4ec;border-radius:12px;padding:18px;margin:16px 0}.settings-editor h3{font-size:16px;margin:0}.editor-actions{display:flex;align-items:center;gap:14px}.editor-actions .primary-button{margin:0;width:auto;padding:12px 22px}.management-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid #e2e6df}.management-item:last-child{border-bottom:0}.item-description{min-width:0;overflow-wrap:anywhere}.item-description strong{font-size:15px}.item-description p,.item-description small{font-size:12px;color:#6d7c73;line-height:1.8;margin:6px 0 0}.item-actions{display:flex;flex-shrink:0;gap:12px}.danger-text{color:#9d5144}.help-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;line-height:2}.help-links a{color:#376353}.advanced-settings{margin-top:22px;padding-top:18px;border-top:1px solid #dce2d8}.advanced-settings summary{cursor:pointer;font-size:14px;color:#536c60;min-height:40px}.advanced-settings .field{max-width:420px}.voice-feedback{margin:20px 0;padding:0 4px}.voice-feedback audio{max-width:560px}.voice-feedback p{margin:0}.error{color:#a94432!important}.management-list:empty{display:none}button:focus-visible,a:focus-visible{outline:3px solid #678f72;outline-offset:3px}
@media(min-width:1000px){.route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.route-list .route-card{margin:0}.route-list .empty-state{grid-column:1/-1}}
@media(max-width:650px){.settings-grid{grid-template-columns:1fr}.settings-card{padding:20px}.settings-wide{grid-column:auto}.settings-heading h1{font-size:32px}.place-shortcuts,.departure-settings{gap:12px;grid-template-columns:1fr}.place-shortcuts>a{justify-self:start}.place-shortcuts select,.departure-settings select,.departure-settings input,.saved-row select{font-size:16px}.drive-actions{padding:18px}.drive-buttons{flex-direction:column;gap:10px}.drive-buttons button{max-width:none}.saved-row .field{flex-basis:100%;min-width:0}.saved-row .outline-button{flex:1}.save-editor{flex-wrap:wrap}.save-editor .field{flex-basis:100%}.item-actions{gap:8px}.management-item{gap:10px}.settings-link{padding:0 14px}.settings-card .section-heading{gap:12px}.settings-card .section-heading h2{font-size:21px}}

/* Input-first route search */
.hero{height:210px}.hero-copy{padding:24px 34px}.hero h1{font-size:30px;margin-bottom:8px}.hero-description{font-size:11px}.hero .date{display:none}.hero .eyebrow{margin-bottom:8px}.hero .water{top:145px}.hero .mountain{top:22px;bottom:44px}.hero .mountain.near{top:58px;bottom:42px}.hero .sun{width:48px;height:48px;top:24px}.hero .lake-label{bottom:20px;font-size:8px}
.route-entry{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:start;gap:18px;margin-top:25px}.endpoint{min-width:0}.endpoint-input{display:flex;align-items:center;border:1px solid #acbfb3;border-radius:8px;min-height:58px;background:#fff;overflow:hidden}.endpoint-input:focus-within{outline:2px solid #70947c;outline-offset:2px}.endpoint-input label{align-self:stretch;display:flex;align-items:center;justify-content:center;padding:0 14px;background:#e9f0e6;color:#244d48;font-size:14px;font-weight:700;white-space:nowrap}.endpoint-input input{width:100%;min-width:0;border:0;outline:none;padding:16px 13px;background:transparent;font-size:16px;color:#203e3e;min-height:58px}.endpoint-input input:focus-visible{outline:none}.endpoint-tools{display:flex;align-items:center;gap:14px;min-height:42px;flex-wrap:wrap}.endpoint-tools button{border:0;background:transparent;color:#496d5d;font-size:12px;padding:6px 0;min-height:40px}.endpoint-tools button[aria-pressed=true]{font-weight:700}.endpoint-tools button:disabled{cursor:default}.route-entry .swap-button{margin:7px 0 0;transform:none}.current-location-chip{display:flex;align-items:center;justify-content:space-between;flex:1;gap:15px;margin:7px 10px;padding:5px 12px;min-height:42px;border:0;border-radius:6px;color:#244d48;background:#edf3e9;font-size:16px;text-align:left}.current-location-chip span{font-size:20px;color:#668577}.endpoint-picker{background:#f0f4ec;padding:12px;border-radius:8px;margin:0 0 12px}.endpoint-picker select{width:100%;min-width:0;min-height:46px;padding:8px;border:1px solid #c5d3c6;border-radius:5px;background:#fffefa;color:var(--ink);font-size:16px}.endpoint-picker a{display:inline-block;font-size:12px;margin-top:8px;min-height:32px}.journey-panel .departure-settings{background:transparent;border-top:1px solid #e0e6dc;border-radius:0;padding:18px 0 0;margin-top:8px;grid-template-columns:minmax(170px,260px) minmax(200px,300px);gap:8px 20px}.journey-panel .departure-settings .field{font-size:12px}.journey-panel .departure-settings .journey-help{font-size:11px}.journey-panel .drive-actions{background:transparent;border:0;border-radius:0;padding:0;margin:20px 0 0}.journey-panel .drive-buttons .primary-button{max-width:360px;flex:1}.journey-panel .drive-buttons .outline-button{width:auto;max-width:220px;padding-left:24px;padding-right:24px}.journey-panel .drive-summary{margin-top:10px}.route-library-actions{display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid #e0e6dc;margin-top:18px;padding-top:6px}.route-library-actions .text-button{font-size:12px;min-height:44px;color:#52705e}.saved-routes-panel{padding:18px;background:#eff3eb;border-radius:10px;margin-top:6px}.saved-routes-panel .field{margin:0}.journey-panel .section-heading{margin-bottom:12px}.journey-panel .foreground-note{font-size:11px}
@media(max-width:700px){.hero{height:170px;grid-template-columns:1.2fr 1fr}.hero-copy{padding:20px}.hero h1{font-size:24px;letter-spacing:1px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-description{display:none}.hero .water{top:110px}.hero .lake-label{display:none}.hero .sun{right:22px}.route-entry{grid-template-columns:minmax(0,1fr);gap:0;margin-top:18px;position:relative}.route-entry .swap-button{justify-self:end;margin:-2px 0 8px;width:36px;height:36px;font-size:20px;transform:rotate(90deg)}.endpoint-input{min-height:56px}.endpoint-input input{padding:14px 10px;min-height:56px}.endpoint-input label{padding:0 12px}.endpoint-tools{min-height:38px;gap:18px}.journey-panel .departure-settings{grid-template-columns:1fr;gap:10px}.journey-panel .drive-buttons{flex-direction:column}.journey-panel .drive-buttons .primary-button,.journey-panel .drive-buttons .outline-button{max-width:none;width:100%}.route-library-actions{gap:0 18px}.route-library-actions .text-button{font-size:12px}.journey-panel .drive-summary{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:700px){.hero{height:150px}.hero-copy{padding:18px 16px}.hero h1{font-size:19px;letter-spacing:.4px;white-space:nowrap}.hero .eyebrow{font-size:7px;letter-spacing:.7px;line-height:1.6}.hero .water{top:98px}}
/* Departure date and time stay visible, like a timetable search. */
.journey-panel .departure-settings.departure-always{display:block;min-width:0;border:0;border-top:1px solid #e0e6dc;padding:16px 0 0;margin:10px 0 0}.departure-always legend{padding:0 12px 0 0;font-size:13px;font-weight:650}.departure-always legend small{font-size:10px;color:#728077;font-weight:400;margin-left:8px}.departure-inputs{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.departure-inputs .field{margin:0;flex:0 1 190px;min-width:0}.departure-inputs .field:nth-child(2){flex-basis:125px}.departure-inputs input{font-size:16px;min-height:48px;max-width:100%}.now-button{min-height:48px;border:0;background:transparent;color:#426956;padding:10px 4px;font-size:13px}.now-button[aria-pressed=true]{color:#244d48}.departure-always .journey-help{margin-top:10px!important}
@media(max-width:700px){.departure-inputs{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px}.departure-inputs .field{width:100%}.departure-inputs input{padding:10px 7px}.departure-inputs .now-button{grid-column:1/-1;justify-self:start;min-height:40px;padding:4px 0}.departure-always .journey-help{margin-top:0!important}}

/* Toll estimates belong to each candidate, beside its time and distance. */
.route-toll{margin-top:16px;padding:14px 16px;background:#edf2e9;border-radius:10px;border:1px solid #dce5d6}
.toll-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.toll-label{font-size:13px;font-weight:650}.toll-vehicle{font-size:12px;color:#526951}
.toll-price{display:block;font-size:25px;line-height:1.5;margin-top:4px;font-variant-numeric:tabular-nums}
.toll-unavailable{display:block;font-size:15px;margin-top:7px}.toll-note{font-size:12px;line-height:1.7;color:#566852;margin:5px 0 0}

/* Larger mobile type; retain room for wrapping rather than shrinking text. */
@media(max-width:700px){
  body{font-size:16px;--muted:#586c61}
  .hero-description{font-size:14px}.hero{height:auto;min-height:170px}.hero-copy{padding-bottom:24px}
  h2,.section-heading h2{font-size:22px}.settings-heading>p:last-child{font-size:16px}
  .endpoint-input label{font-size:16px;padding:0 12px}.endpoint-input input{font-size:18px;padding:15px 10px}
  .endpoint-tools button,.endpoint-picker a,.route-library-actions .text-button,.now-button{font-size:16px;min-height:44px}
  .departure-always legend{font-size:17px}.departure-always legend small{font-size:13px}
  .journey-panel .departure-settings .field,.field,.setting-row{font-size:16px}
  .departure-inputs input,.field input,.field select,.endpoint-picker select,.settings-card input:not([type=checkbox]),.settings-card select{font-size:18px}
  .journey-help,.journey-panel .departure-settings .journey-help,.settings-card .journey-help,.field-help{font-size:15px;line-height:1.85}
  .primary-button,.outline-button,.select-baseline,.text-button,.settings-card .text-button,.save-editor .text-button{font-size:16px;min-height:48px}
  .drive-summary a,.monitor-status,.foreground-note,.secondary-link,.guide-link,.help-links{font-size:15px}
  .secondary-link{padding:8px 0;min-height:44px}.small-actions{flex-wrap:wrap;gap:8px 20px}
  .status,.notice,.comparison-note,.empty-state p,.route-card details,.route-warning{font-size:16px}
  .result-meta{font-size:14px;flex-wrap:wrap}.route-card{padding:20px 18px}
  .route-top h3{font-size:20px;flex-basis:65%;line-height:1.6}.road-icon{font-size:13px}.route-rank{font-size:13px}
  .route-numbers{flex-wrap:wrap}.duration{font-size:46px}.duration small{font-size:16px}.difference{font-size:15px}
  .route-detail-row{font-size:16px;flex-wrap:wrap;gap:4px 18px;color:#50664f}
  .route-bottom{flex-wrap:wrap}.baseline-label{font-size:15px}.route-card summary{min-height:48px}
  .toll-label,.toll-vehicle{font-size:15px}.toll-price{font-size:28px}.toll-unavailable{font-size:16px}.toll-note{font-size:14px}
  .map-status,.map-help,.map-detail,.map-route-label,.map-route strong,.map-route .time{font-size:15px}
  .toggle-row span{font-size:16px}.toggle-row small{font-size:14px}.advanced-settings summary{font-size:16px}
  .item-description strong{font-size:18px}.item-description p,.item-description small{font-size:15px}.management-item{flex-wrap:wrap}
  .updates h2{font-size:18px}.updates li,.road-info p:not(.eyebrow),.official-links a,footer p{font-size:15px}
  .doc code,.doc pre,.doc table,.doc .notice{font-size:15px}
}
@media(max-width:360px){.departure-inputs{grid-template-columns:1fr}.hero h1{white-space:normal}.route-top h3{flex-basis:60%}}
@media(min-width:361px) and (max-width:700px){.departure-inputs{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.departure-inputs #departure-date{font-size:16px}}
.places-count{display:inline-block;margin-left:8px;font-size:16px;font-weight:500;color:#586c61}.places-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.places-actions a{display:inline-flex;align-items:center;text-decoration:none}.places-directory{max-width:780px}.places-directory .places-actions{justify-content:flex-end}.places-card #place-status:empty,.places-directory #directory-place-status:empty{display:none}
/* Keep both saved-item controls together, in the same order on every screen. */
.settings-grid>.places-card,.settings-grid>.trips-card{grid-column:1/-1}.trips-card .places-actions{margin-top:16px}

/* Clear visual hierarchy while keeping ROUTECUE's quiet palette. */
:root{--line-strong:#c8d3c8;--surface-soft:#eef2e9;--section-shadow:0 10px 28px rgba(42,70,61,.07)}
.journey-panel,.results-section{background:var(--white);border:1px solid var(--line-strong);border-top:4px solid #789281;border-radius:20px;box-shadow:var(--section-shadow)}
.journey-panel{padding:28px 32px;margin:22px 0 34px}
.results-section{padding:28px 30px}
.journey-panel>.section-heading,.results-section>.section-heading{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #d8dfd5}
.journey-panel>.section-heading{border-bottom-color:#ccd8cc}
.journey-panel .departure-settings.departure-always{margin-top:14px;padding:18px;border:1px solid #d7e0d5;border-radius:14px;background:#f5f7f1}
.journey-panel .drive-actions{margin-top:18px;padding:18px!important;border:1px solid #d2ddcf!important;border-radius:14px!important;background:#edf3e9!important}
.route-library-actions{border-top:1px solid #cfd8ce;padding-top:12px}
.map-panel{border:1px solid #c8d4ca;background:#f2f5ee;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.map-heading{padding-bottom:13px;border-bottom:1px solid #d4ddd3}
.route-list{margin-top:18px}
.route-card{border:1px solid #cbd5cb;border-radius:14px;box-shadow:0 5px 14px rgba(42,70,61,.055)}
.route-card.best{border:1px solid #88a08d;border-left:5px solid #60806b;background:#f7faf2}
.route-top{padding-bottom:10px;border-bottom:1px solid #e1e6df}
.updates{margin-top:28px;padding:20px 22px;border:1px solid #d2dbd1;border-radius:14px;background:#f7f8f3}
.updates>.section-heading{padding-bottom:12px;margin-bottom:0;border-bottom:1px solid #d7ded5}
.updates li:last-child{border-bottom:0}
.road-info{margin-top:30px;padding:26px 28px;border:1px solid #ccd7cc;border-left:5px solid #819988;border-radius:16px;background:#edf2e9}
.settings-card{border-color:#cbd6cb;border-top:4px solid #809887;box-shadow:0 8px 22px rgba(42,70,61,.06)}
.settings-card>.eyebrow,.settings-card>.section-heading:first-child{padding-bottom:9px}
.settings-editor,.saved-routes-panel{border:1px solid #d2dcd0}

@media(max-width:700px){
  .journey-panel,.results-section{border-radius:16px;box-shadow:0 7px 20px rgba(42,70,61,.07)}
  .journey-panel{padding:20px 16px;margin:16px 0 24px}
  .results-section{padding:20px 16px}
  .journey-panel>.section-heading,.results-section>.section-heading{padding-bottom:14px;margin-bottom:16px}
  .journey-panel .departure-settings.departure-always{padding:15px 13px}
  .journey-panel .drive-actions{padding:15px!important}
  .map-panel{margin:18px 0;padding:15px;border-radius:14px}
  .route-card{border-radius:12px;box-shadow:0 4px 11px rgba(42,70,61,.055)}
  .updates{padding:17px 15px;margin-top:22px}
  .road-info{padding:21px 18px;margin-top:24px;border-radius:14px}
  .settings-card{border-radius:16px}
  .departure-inputs{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
  .departure-inputs .field,.departure-inputs input{width:100%;min-width:0}
}
