@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@700;800&display=swap";
:root{--color-ink:#18201f;--color-ink-label:#394341;--color-ink-muted:#67716f;--color-ink-soft:#18201fb8;--color-ink-faint:#18201f52;--color-ink-inverse:#fff;--color-route-teal:#007c72;--color-route-teal-strong:#005b54;--color-route-teal-soft:#d9f3ee;--color-route-teal-wash:#007c7224;--color-route-teal-border:#007c722e;--color-route-teal-border-strong:#007c7261;--color-route-teal-focus:#007c7229;--color-start-rust:#b4532a;--color-start-rust-strong:#8f3f21;--color-start-rust-soft:#fff0dc;--color-start-rust-wash:#b4532a24;--color-start-rust-border:#8e471f42;--color-library-rust:#9d6047;--color-library-rust-strong:#693d2e;--color-library-rust-bg:#9d60471f;--color-library-slate:#344654;--color-library-slate-strong:#20303c;--color-library-slate-bg:#3446541f;--color-poi-coffee:#9a4f1f;--color-poi-treat:#c2417d;--color-poi-park:#168457;--color-poi-food:#c05621;--color-poi-grocery:#3f7b32;--color-poi-landmark:#6d4bc8;--color-poi-bathroom:#226d86;--material-page:#f1ebdf;--material-map-fallback:#d8ddd7;--material-panel:#fffffff5;--material-panel-solid:#fff;--material-panel-raised:#fffffffb;--material-panel-inset:#ffffffe6;--material-panel-hover:#fffffffa;--material-border:#6d4d2742;--material-border-soft:#6d4d272e;--material-shadow:0 10px 26px #121f1d21, 0 2px 6px #121f1d14;--material-shadow-low:0 6px 16px #121f1d1a, 0 1px 3px #121f1d12;--material-field-shadow:inset 0 1px 0 #ffffff9e;--material-paper-grain:linear-gradient(180deg, #ffffffd1, #f8f5ee2e);--material-field-grain:linear-gradient(180deg, #ffffffbd, #f8f5ee1f);--semantic-warn:#9a5a00;--semantic-warn-bg:#fff4d8;--semantic-danger:#b42318;--semantic-danger-bg:#fff1ef;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui:"Avenir Next", Avenir, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-brand:Montserrat, var(--font-ui);--font-numeric:Inter, "Avenir Next", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--weight-quiet:500;--weight-label:600;--weight-control:600;--weight-strong:700;--weight-display:800;--weight-primary:800;--weight-number:800;--bg:var(--material-page);--panel:var(--material-panel);--panel-solid:var(--material-panel-solid);--text:var(--color-ink);--muted:var(--color-ink-muted);--border:var(--material-border);--shadow:var(--material-shadow);--accent:var(--color-route-teal);--accent-strong:var(--color-route-teal-strong);--accent-soft:var(--color-route-teal-soft);--warn:var(--semantic-warn);--warn-bg:var(--semantic-warn-bg);--danger:var(--semantic-danger);--danger-bg:var(--semantic-danger-bg)}.route-lab-shell{min-height:100vh;color:var(--color-ink);background:#f5f2eb;padding:16px}.route-lab-toolbar{justify-content:space-between;align-items:center;gap:16px;max-width:1480px;margin:0 auto 14px;display:flex}.route-lab-title-block{align-items:baseline;gap:14px;display:flex}.route-lab-title-block h1{font-family:var(--font-ui);letter-spacing:0;margin:0;font-size:24px}.route-lab-back-link{color:var(--accent-strong);font-family:var(--font-brand);font-size:14px;font-weight:var(--weight-display);text-decoration:none}.route-lab-status{min-height:32px;color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-label);background:#ffffffc7;border:1px solid #18201f1f;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.route-lab-status[data-state=running]{border-color:var(--color-route-teal-border-strong);color:var(--accent-strong)}.route-lab-grid{grid-template-columns:minmax(250px,310px) minmax(420px,1fr) minmax(320px,430px);align-items:stretch;gap:14px;max-width:1480px;margin:0 auto;display:grid}.route-lab-panel,.route-lab-map-panel{background:#ffffffeb;border:1px solid #6d4d272e;border-radius:8px;box-shadow:0 8px 22px #18201f14}.route-lab-panel{padding:12px}.route-lab-panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.route-lab-panel-heading h2{font-family:var(--font-ui);letter-spacing:0;margin:0;font-size:14px}.route-lab-panel-heading a,.route-lab-heading-actions button{color:var(--accent-strong);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-label);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.route-lab-heading-actions{color:var(--color-ink-muted);font-size:12px;font-weight:var(--weight-label);align-items:center;gap:10px;display:inline-flex}.route-lab-controls{flex-direction:column;gap:10px;display:flex}.route-lab-controls label{flex-direction:column;gap:5px;min-width:0;display:flex}.route-lab-controls label span{color:var(--color-ink-muted);font-family:var(--font-ui);font-size:11px;font-weight:var(--weight-label);text-transform:uppercase}.route-lab-controls input,.route-lab-controls select{width:100%;color:var(--color-ink);background:#fffffffa;border:1px solid #18201f29;border-radius:6px;outline:none;padding:8px 9px;font-size:13px}.route-lab-controls input:focus,.route-lab-controls select:focus{border-color:var(--color-route-teal-border-strong);box-shadow:0 0 0 3px var(--color-route-teal-focus)}.route-lab-control-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.route-lab-presets,.route-lab-actions{flex-wrap:wrap;gap:7px;display:flex}.route-lab-presets button,.route-lab-actions button,.route-lab-heading-actions button{min-height:32px;color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-control);background:#ffffffe0;border:1px solid #18201f1f;border-radius:6px;padding:6px 10px}.route-lab-actions button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.route-lab-actions .route-lab-primary{border-color:var(--accent-strong);background:var(--accent);color:var(--color-ink-inverse)}.route-lab-presets button:hover,.route-lab-actions button:hover:not(:disabled),.route-lab-heading-actions button:hover:not(:disabled){border-color:var(--accent-strong)}.route-lab-actions button:disabled,.route-lab-heading-actions button:disabled{cursor:not-allowed;opacity:.48}.route-lab-warning{background:var(--warn-bg);color:var(--warn);font-size:12px;font-weight:var(--weight-label);border:1px solid #9a5a002e;border-radius:6px;align-items:center;gap:7px;padding:8px;display:flex}.route-lab-map-panel{min-height:520px;position:relative;overflow:hidden}.route-lab-map{background:var(--material-map-fallback);position:absolute;inset:0}.route-lab-map-center-target{z-index:2;pointer-events:none;border:2px solid #007c72d9;border-radius:999px;width:22px;height:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #ffffffeb,0 4px 10px #18201f2e}.route-lab-map-center-target:before,.route-lab-map-center-target:after{content:"";background:#007c72d9;position:absolute}.route-lab-map-center-target:before{width:34px;height:2px;top:50%;left:-8px;transform:translateY(-50%)}.route-lab-map-center-target:after{width:2px;height:34px;top:-8px;left:50%;transform:translate(-50%)}.route-lab-map-legend{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #18201f1f;border-radius:8px;flex-direction:column;gap:8px;width:min(360px,100% - 20px);padding:9px;display:flex;position:absolute;top:10px;left:10px;box-shadow:0 8px 18px #18201f1f}.route-lab-map-legend-title{color:var(--color-ink);font-size:12px;font-weight:var(--weight-label);line-height:1.25}.route-lab-map-legend-items,.route-lab-layer-toggles{flex-wrap:wrap;gap:6px;display:flex}.route-lab-map-legend-items span,.route-lab-layer-toggles label{min-height:24px;font-size:11px;font-weight:var(--weight-label);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;line-height:1;display:inline-flex}.route-lab-map-legend-items span{color:var(--color-ink-muted)}.route-lab-map-swatch{border-top:3px solid;width:20px;height:0;display:inline-block}.route-lab-map-swatch.is-final{color:#007c72}.route-lab-map-swatch.is-candidate{color:#b4532a;border-top-style:dashed}.route-lab-map-swatch.is-endpoint{color:#1f2933}.route-lab-map-swatch.is-poi{color:#7c3aed}.route-lab-layer-toggles label{color:var(--color-ink-muted);cursor:pointer;background:#ffffffbd;border:1px solid #18201f1f;padding:3px 8px}.route-lab-layer-toggles label.is-active{background:var(--color-route-teal-wash);color:var(--accent-strong);border-color:#007c7247}.route-lab-layer-toggles input{width:13px;height:13px;accent-color:var(--accent-strong);margin:0}.route-lab-map-status{z-index:2;color:var(--color-ink-muted);font-size:11px;font-weight:var(--weight-label);background:#ffffffe0;border:1px solid #18201f1f;border-radius:999px;padding:5px 9px;position:absolute;bottom:10px;left:10px}.route-lab-results{min-height:520px;overflow:hidden}.route-lab-run-list{flex-direction:column;gap:8px;max-height:454px;padding-right:2px;display:flex;overflow:auto}.route-lab-empty{color:var(--color-ink-muted);text-align:center;border:1px dashed #18201f2e;border-radius:8px;padding:18px;font-size:13px}.route-lab-run{text-align:left;cursor:pointer;background:#ffffffbd;border:1px solid #18201f1a;border-radius:8px;flex-direction:column;gap:5px;width:100%;padding:9px;display:flex}.route-lab-run.is-selected{border-color:var(--accent-strong);background:var(--color-route-teal-wash)}.route-lab-run.is-best:not(.is-selected){border-color:#007c7247}.route-lab-run.is-worst:not(.is-selected){border-color:#b4231838}.route-lab-run-main{color:var(--color-ink);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.route-lab-run-badges{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:inline-flex}.route-lab-run-metrics{color:var(--color-ink-muted);font-size:12px;line-height:1.35}.route-lab-run-shape{color:var(--accent-strong);font-size:11px;font-weight:var(--weight-label);line-height:1.3}.route-lab-pill{color:var(--color-ink-label);font-size:10px;font-weight:var(--weight-label);text-transform:uppercase;background:#18201f14;border-radius:999px;align-items:center;padding:2px 7px;display:inline-flex}.route-lab-pill.is-success,.route-lab-pill.is-selected,.route-lab-pill.is-best{background:var(--color-route-teal-soft);color:var(--accent-strong)}.route-lab-pill.is-error,.route-lab-pill.is-failed,.route-lab-pill.is-rejected,.route-lab-pill.is-worst{background:var(--danger-bg);color:var(--danger)}.route-lab-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1480px;margin:14px auto 0;display:grid}.route-lab-analysis-card{text-align:left;cursor:pointer;background:#ffffffe6;border:1px solid #18201f1f;border-radius:8px;flex-direction:column;align-items:flex-start;gap:5px;min-height:102px;padding:12px;display:flex}.route-lab-analysis-card.is-best{border-color:var(--color-route-teal-border-strong);background:#d9f3ee7a}.route-lab-analysis-card.is-worst{background:#fff1ef8a;border-color:#b4231833}.route-lab-analysis-card:disabled{cursor:not-allowed;opacity:.62}.route-lab-analysis-card strong{color:var(--color-ink);font-size:16px}.route-lab-analysis-card span,.route-lab-analysis-card small{color:var(--color-ink-muted);font-size:12px;line-height:1.35}.route-lab-analysis-card .route-lab-analysis-kicker{color:var(--color-ink-label);font-size:11px;font-weight:var(--weight-label);text-transform:uppercase}.route-lab-strategy-comparison{max-width:1480px;margin:14px auto 0}.route-lab-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.route-lab-comparison-grid div{background:#ffffffad;border:1px solid #18201f1a;border-radius:8px;flex-direction:column;gap:5px;padding:10px;display:flex}.route-lab-comparison-grid span,.route-lab-comparison-grid small{color:var(--color-ink-muted);font-size:12px;line-height:1.35}.route-lab-comparison-grid strong{color:var(--color-ink);font-size:15px}.route-lab-detail-grid{grid-template-columns:minmax(320px,.72fr) minmax(420px,1fr);gap:14px;max-width:1480px;margin:14px auto 0;display:grid}.route-lab-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.route-lab-metric-grid div{background:#ffffff9e;border:1px solid #18201f1a;border-radius:8px;padding:9px}.route-lab-metric-grid span{color:var(--color-ink-muted);font-size:11px;font-weight:var(--weight-label);display:block}.route-lab-metric-grid strong{color:var(--color-ink);margin-top:5px;font-size:16px;display:block}.route-lab-scan-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.route-lab-scan-summary div{background:#d9f3ee57;border:1px solid #007c7224;border-radius:8px;padding:10px}.route-lab-scan-summary span{color:var(--color-ink-muted);font-size:11px;font-weight:var(--weight-label);text-transform:uppercase;display:block}.route-lab-scan-summary strong{color:var(--accent-strong);margin-top:4px;font-size:13px;line-height:1.25;display:block}.route-lab-scan-summary p{color:var(--color-ink-muted);margin:6px 0 0;font-size:12px;line-height:1.35}.route-lab-place-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.route-lab-place-list span{border:1px solid var(--color-route-teal-border);color:var(--accent-strong);font-size:11px;font-weight:var(--weight-label);background:#fffc;border-radius:999px;padding:4px 8px}.route-lab-shape-summary{flex-direction:column;gap:10px;margin-top:12px;display:flex}.route-lab-shape-summary div,.route-lab-shape-summary ul{background:#ffffff9e;border:1px solid #18201f1a;border-radius:8px;margin:0;padding:9px}.route-lab-shape-summary span{color:var(--color-ink-muted);font-size:11px;font-weight:var(--weight-label);text-transform:uppercase;display:block}.route-lab-shape-summary strong{color:var(--color-ink);margin-top:4px;font-size:13px;display:block}.route-lab-shape-summary p,.route-lab-shape-summary li{color:var(--color-ink-muted);margin:5px 0 0;font-size:12px;line-height:1.35}.route-lab-shape-summary ul{padding-left:24px}.route-lab-debug-list{flex-direction:column;gap:8px;max-height:430px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.route-lab-debug-list li{cursor:pointer;background:#ffffffad;border:1px solid #18201f1a;border-radius:8px;padding:9px}.route-lab-debug-list li.is-selected{background:#fff0dca3;border-color:#b4532a7a}.route-lab-debug-main{color:var(--color-ink);font-size:13px;font-weight:var(--weight-label);text-transform:capitalize;justify-content:space-between;align-items:center;gap:10px;display:flex}.route-lab-debug-meta,.route-lab-debug-message{color:var(--color-ink-muted);margin-top:4px;font-size:12px;line-height:1.35}.route-lab-debug-message{color:var(--warn)}.route-lab-debug-shape{background:#007c720f;border-radius:6px;flex-direction:column;gap:2px;margin-top:6px;padding:7px;display:flex}.route-lab-debug-shape strong{color:var(--accent-strong);font-size:12px}.route-lab-debug-shape span{color:var(--color-ink-muted);font-size:11px;line-height:1.35}@media (max-width:1180px){.route-lab-grid,.route-lab-detail-grid,.route-lab-analysis-grid{grid-template-columns:1fr}.route-lab-map-panel{min-height:440px}.route-lab-results{min-height:0}}@media (max-width:680px){.route-lab-shell{padding:10px}.route-lab-toolbar,.route-lab-title-block{flex-direction:column;align-items:stretch;gap:8px}.route-lab-control-row,.route-lab-metric-grid,.route-lab-comparison-grid,.route-lab-scan-summary{grid-template-columns:1fr}.route-lab-map-panel{min-height:360px}.route-lab-map-legend{width:min(312px,100% - 16px);padding:8px;top:8px;left:8px}.route-lab-map-legend-items span,.route-lab-layer-toggles label{font-size:10px}}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body)}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent;font-family:var(--font-ui)}.app-shell{overscroll-behavior:none;background:var(--material-map-fallback);isolation:isolate;position:fixed;inset:0;overflow:hidden}.map-surface,.draw-canvas{position:absolute;inset:0}.map-surface{z-index:0}.draw-canvas{z-index:4;cursor:crosshair;pointer-events:none;touch-action:auto}.app-shell.is-drawing-session,.app-shell.is-drawing-session .map-surface{touch-action:none}.generate-start-crosshair{z-index:6;pointer-events:none;opacity:.92;background:radial-gradient(circle,#b4532a1c 0 5px,#b4532a0b 6px 20px,#0000 40px);border-radius:999px;width:88px;height:88px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.generate-start-crosshair.is-loading{animation:1.5s ease-in-out infinite generate-start-glow}.generate-start-crosshair:before,.generate-start-crosshair:after{content:"";background:var(--color-start-rust);box-shadow:0 0 0 2px var(--color-ink-inverse), 0 2px 8px #18201f3d;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.generate-start-crosshair:before{width:36px;height:3px}.generate-start-crosshair:after{width:3px;height:36px}.generate-loading-indicator{z-index:14;pointer-events:none;align-content:center;place-items:center;gap:7px;width:140px;min-height:116px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.generate-loading-indicator img{filter:drop-shadow(0 4px 12px #18201f3d);width:91px;height:auto;display:block}.generate-loading-label{border:1px solid var(--color-start-rust-border);background:var(--material-paper-grain), #fff8ebf0;box-shadow:var(--material-shadow-low);color:var(--color-start-rust-strong);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-strong);opacity:0;border-radius:999px;padding:6px 9px;line-height:1;animation:.18s 1.6s forwards reveal-generate-loading-label;transform:translateY(-2px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-screen,.config-screen{z-index:20;background:var(--bg);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.config-message{border:1px solid var(--border);background:var(--material-paper-grain), var(--panel-solid);width:min(460px,100%);box-shadow:var(--shadow);border-radius:8px;padding:18px}.config-message h1{margin:0 0 8px;font-size:20px;line-height:1.2}.config-message p{color:var(--muted);margin:0;line-height:1.45}.auth-modal-backdrop{z-index:34;padding:max(18px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));pointer-events:auto;background:#18201f33;place-items:center;display:grid;position:absolute;inset:0}.auth-modal{border:1px solid var(--border);background:var(--material-paper-grain), var(--material-panel-raised);width:min(430px,100%);box-shadow:0 24px 72px #121f1d3d, var(--material-shadow);border-radius:10px;padding:16px;animation:.18s cubic-bezier(.2,0,0,1) both panel-enter}.auth-modal.is-hard-prompt{border-color:var(--color-start-rust-border)}.auth-modal-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.auth-kicker{color:var(--color-route-teal-strong);font-family:var(--font-ui);font-size:11px;font-weight:var(--weight-label);letter-spacing:0;text-transform:uppercase;margin-bottom:6px;line-height:1;display:block}.auth-modal h2{color:var(--text);font-family:var(--font-ui);font-size:21px;line-height:1.1;font-weight:var(--weight-display);margin:0}.help-modal{width:min(520px,100%)}.help-guide-list{gap:8px;margin:0 0 12px;display:grid}.help-guide-list section{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:8px;padding:10px}.help-guide-list span{color:var(--color-route-teal-strong);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-label);margin-bottom:3px;display:block}.help-guide-list p{color:var(--color-ink-soft);margin:0;font-size:13px;line-height:1.38}.help-reset-button{width:100%}.onboarding-starter-sheet{z-index:36;left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));border:1px solid var(--color-route-teal-border-strong);background:var(--material-paper-grain), #fffcf6fa;width:min(520px,100vw - 32px);box-shadow:0 22px 64px #121f1d38, var(--material-shadow);color:var(--text);pointer-events:auto;border-radius:10px;margin:0 auto;padding:15px;animation:.18s cubic-bezier(.2,0,0,1) both panel-enter;position:fixed}.onboarding-kicker{color:var(--color-route-teal-strong);font-family:var(--font-ui);font-size:11px;font-weight:var(--weight-label);letter-spacing:0;text-transform:uppercase;margin-bottom:6px;line-height:1;display:block}.onboarding-starter-sheet h2{color:var(--text);font-family:var(--font-ui);font-size:22px;font-weight:var(--weight-display);margin:0 0 10px;line-height:1.1}.onboarding-starter-sheet p{color:var(--color-ink-soft);margin:10px 0 12px;font-size:13px;line-height:1.4}.onboarding-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.onboarding-choice-grid button{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);min-width:0;min-height:74px;box-shadow:var(--material-field-shadow);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.onboarding-choice-grid button:hover{border-color:var(--color-route-teal-border-strong);background:var(--material-paper-grain), var(--color-route-teal-wash)}.onboarding-choice-grid svg{color:var(--color-route-teal-strong)}.onboarding-choice-grid span{min-width:0;color:var(--color-ink-soft);gap:3px;font-size:12px;line-height:1.25;display:grid}.onboarding-choice-grid strong{color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1}.onboarding-skip-button,.onboarding-context-tip button{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);min-height:34px;color:var(--accent-strong);cursor:pointer;font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-control);border-radius:7px;padding:0 10px}.onboarding-skip-button:hover,.onboarding-context-tip button:hover{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.onboarding-context-tip{z-index:35;top:calc(max(14px, env(safe-area-inset-top)) + 56px);right:max(16px, env(safe-area-inset-right));border:1px solid var(--color-route-teal-border);background:var(--material-paper-grain), #fffcf6fa;width:min(360px,100vw - 32px);box-shadow:0 18px 48px #121f1d2e, var(--material-shadow);color:var(--text);pointer-events:auto;border-radius:9px;padding:12px;animation:.18s cubic-bezier(.2,0,0,1) both panel-enter;position:fixed}.onboarding-context-tip.is-floating-tip.is-height,.onboarding-context-tip.is-floating-tip.is-route,.onboarding-context-tip.is-floating-tip.is-google-maps{display:none}.onboarding-context-tip.is-panel-tip{width:auto;box-shadow:var(--material-shadow-low);margin:8px 0 10px;animation:.16s both panel-content-enter;position:static}.route-actions .onboarding-context-tip.is-panel-tip{grid-column:1/-1;margin:0 0 2px}.onboarding-context-tip strong{color:var(--text);font-family:var(--font-ui);font-size:15px;font-weight:var(--weight-strong);margin-bottom:4px;line-height:1.15;display:block}.onboarding-context-tip p{color:var(--color-ink-soft);margin:0 0 10px;font-size:13px;line-height:1.36}.location-notice{z-index:75;border:1px solid var(--color-start-rust-border);background:var(--material-paper-grain), #fffaf2fa;width:min(440px,100vw - 32px);box-shadow:var(--material-shadow);color:var(--text);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid;position:fixed;top:74px;right:16px}.location-notice svg{color:var(--color-start-rust-strong)}.location-notice div{flex-direction:column;gap:2px;min-width:0;display:flex}.location-notice strong{font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-strong)}.location-notice span{color:var(--color-ink-label);font-size:12px;line-height:1.3}.location-notice button{border:1px solid var(--material-border-soft);background:var(--material-panel-inset);min-height:32px;color:var(--accent-strong);cursor:pointer;font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-control);border-radius:7px;padding:0 10px}.location-notice button:hover{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.auth-close-button,.auth-secondary-button{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);color:var(--color-ink-label);cursor:pointer;font-size:12px;font-weight:var(--weight-control);border-radius:7px;min-height:34px;padding:0 10px}.auth-close-button:hover,.auth-secondary-button:hover{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.auth-body,.auth-signed-in-panel p{color:var(--color-ink-soft);margin:0 0 12px;font-size:14px;line-height:1.45}.auth-quota-strip{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:8px;gap:3px;margin-bottom:12px;padding:10px;display:grid}.auth-quota-strip span:first-child{color:var(--text);font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-label)}.auth-quota-strip span:last-child{color:var(--color-ink-muted);font-size:12px;font-weight:var(--weight-quiet)}.auth-provider-button{border:1px solid var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);width:100%;min-height:44px;color:var(--color-ink-inverse);cursor:pointer;font-family:var(--font-ui);font-size:14px;font-weight:var(--weight-primary);border-radius:8px;justify-content:center;align-items:center;gap:9px;display:inline-flex}.auth-provider-button:hover{background:var(--color-route-teal)}.auth-provider-button:disabled{cursor:not-allowed;opacity:.64}.auth-google-mark{color:#1a73e8;background:#fff;border-radius:999px;place-items:center;width:22px;height:22px;font-family:Arial,sans-serif;font-size:14px;font-weight:800;display:grid}.auth-email-form{gap:7px;margin-top:12px;display:grid}.auth-email-form label{color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-quiet)}.auth-email-form div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.auth-email-form input{border:1px solid var(--material-border-soft);min-width:0;min-height:42px;color:var(--text);background:#ffffffeb;border-radius:8px;padding:0 11px}.auth-email-form button{border:1px solid var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);min-height:42px;color:var(--color-ink-inverse);cursor:pointer;font-size:13px;font-weight:var(--weight-control);border-radius:8px;padding:0 12px}.auth-email-form input:disabled,.auth-email-form button:disabled{cursor:not-allowed;opacity:.62}.auth-message,.auth-setup-note{border:1px solid var(--material-border-soft);background:var(--material-field-grain), #fff8ebd1;color:var(--color-start-rust-strong);border-radius:8px;margin:12px 0 0;padding:9px 10px;font-size:13px;line-height:1.35}.auth-secondary-button{width:100%;margin-top:12px}.walk-rename-modal{width:min(390px,100%)}.walk-rename-form{gap:8px;display:grid}.walk-rename-form label{color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-quiet)}.walk-rename-form input{border:1px solid var(--material-border-soft);width:100%;min-width:0;min-height:42px;color:var(--text);font-family:var(--font-ui);background:#ffffffeb;border-radius:8px;padding:0 11px;font-size:15px}.walk-rename-form input:focus{border-color:var(--color-route-teal-border-strong);outline:0;box-shadow:0 0 0 3px #346b6721}.walk-rename-message{border:1px solid var(--material-border-soft);background:var(--material-field-grain), #fff8ebd1;color:var(--color-start-rust-strong);border-radius:8px;margin:2px 0 0;padding:9px 10px;font-size:13px;line-height:1.35}.walk-rename-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.walk-rename-actions button{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);min-height:40px;color:var(--color-ink-label);cursor:pointer;font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-control);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.walk-rename-actions button:hover{border-color:var(--color-route-teal-border-strong)}.walk-rename-actions button.is-primary{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.walk-rename-actions button:disabled{cursor:not-allowed;opacity:.58}.top-toolbar{z-index:20;top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute}.brand-chip,.route-lab-chip,.mode-toggle,.top-locate-button,.help-chip,.account-chip,.tool-group,.time-toggle{pointer-events:auto;border:1px solid var(--border);background:var(--material-paper-grain), var(--panel);box-shadow:var(--material-shadow-low);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:8px}.brand-chip{min-height:44px;font-family:var(--font-brand);font-size:18px;font-weight:var(--weight-display);letter-spacing:0;align-items:center;gap:9px;padding:0 13px;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:7px;place-items:center;width:25px;height:25px;display:grid}.route-lab-chip{border:1px solid var(--color-route-teal-border);min-height:40px;color:var(--accent-strong);cursor:pointer;font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-control);background:#fffffff5;padding:0 10px}.route-lab-chip:hover{background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.route-lab-chip:disabled{cursor:not-allowed;opacity:.6}.top-locate-button{border-color:var(--color-route-teal-border);min-height:44px;color:var(--accent-strong);cursor:pointer;font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-control);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex}@media (hover:hover) and (pointer:fine){.top-locate-button:hover{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}}.top-locate-button:active{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.top-locate-button:disabled{cursor:not-allowed;opacity:.55}@media (min-width:641px) and (min-height:481px){.top-locate-button.is-generate-mode{display:none}}.help-chip,.account-chip{border-color:var(--material-border-soft);width:44px;min-width:44px;min-height:44px;color:var(--color-ink-label);cursor:pointer;font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-control);white-space:nowrap;justify-content:center;align-items:center;padding:0;display:inline-flex}.help-chip span:last-child,.account-chip span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.help-chip:hover,.account-chip:hover,.account-chip.is-signed-in{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.help-chip:disabled,.account-chip:disabled{cursor:not-allowed;opacity:.55}.account-dot{background:#46d68c;border-radius:999px;flex:none;width:8px;height:8px;box-shadow:0 0 0 2px #ffffffc2}.tool-row{pointer-events:auto;justify-content:center;align-items:center;gap:8px;display:flex}.tool-group{align-items:center;gap:4px;padding:5px;display:flex}.mode-toggle,.snap-mode-toggle,.time-toggle{pointer-events:auto;border:1px solid var(--border);background:var(--material-paper-grain), var(--panel);box-shadow:var(--material-shadow-low);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:8px;display:inline-flex;overflow:hidden}.mode-toggle button,.snap-mode-toggle button{min-height:40px;color:var(--color-ink-label);cursor:pointer;font-size:13px;font-weight:var(--weight-control);background:#ffffffdb;border:0;padding:0 12px}.time-toggle button{min-width:46px;min-height:40px;color:var(--color-ink-label);cursor:pointer;font-size:13px;font-weight:var(--weight-control);background:#ffffffdb;border:0;padding:0 10px}.mode-toggle button:hover,.time-toggle button:hover,.snap-mode-toggle button:hover{background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.mode-toggle button.is-active,.time-toggle button.is-active,.snap-mode-toggle button.is-active{background:var(--color-route-teal-strong);color:var(--color-ink-inverse);font-weight:var(--weight-strong)}.mode-toggle button:disabled,.time-toggle button:disabled,.snap-mode-toggle button:disabled{cursor:not-allowed;color:#18201f52}.icon-button,.action-button{pointer-events:auto;min-width:40px;min-height:40px;color:var(--text);cursor:pointer;background:#fffffff0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;transition:background .14s,color .14s,transform .14s;display:inline-flex}.icon-button:hover,.action-button:hover{background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.icon-button:active,.action-button:active{transform:translateY(1px)}.icon-button:disabled,.action-button:disabled{cursor:not-allowed;color:#18201f52;transform:none}.action-button:disabled,.action-button:disabled:hover{color:#18201f5c;background:#ffffffad;border-color:#18201f14}.icon-button.is-active{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.action-button{border-color:var(--color-route-teal-border);color:var(--accent-strong);font-weight:var(--weight-primary);white-space:nowrap;background:#fffffff5;padding:0 14px}.action-button:hover{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong)}.action-button.secondary{border-color:var(--color-route-teal-border);color:var(--accent-strong);background:#fffffff5}.bottom-panel{z-index:20;left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;grid-template-columns:minmax(300px,430px);justify-content:start;align-items:end;gap:12px;display:grid;position:absolute}.bottom-panel.is-walks-mode{grid-template-columns:minmax(320px,460px);justify-content:start}.metrics-panel,.walks-panel{pointer-events:auto;border:1px solid var(--border);background:var(--material-paper-grain), var(--material-panel-raised);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform-origin:0 100%;scrollbar-width:thin;border-radius:8px;max-height:min(76vh,720px);padding:14px;animation:.22s cubic-bezier(.2,0,0,1) both panel-enter;overflow:auto}.mobile-sheet-handle,.mobile-primary-action,.mobile-draw-controls,.mobile-generate-controls,.generate-start-control{display:none}.metrics-panel.is-generate-mode .mobile-generate-controls,.metrics-panel.is-generate-mode .mobile-primary-action{margin-bottom:10px;display:grid}.metrics-panel.is-generate-mode .mobile-duration-toggle{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.metrics-panel.is-generate-mode .mobile-duration-toggle button{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);min-width:0;min-height:40px;box-shadow:var(--material-field-shadow);color:var(--color-ink-label);cursor:pointer;font-size:13px;font-weight:var(--weight-control);border-radius:8px}.metrics-panel.is-generate-mode .mobile-duration-toggle button:hover,.metrics-panel.is-generate-mode .mobile-duration-toggle button.is-active{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse);font-weight:var(--weight-strong)}.metrics-panel.is-generate-mode .mobile-duration-toggle button:disabled{cursor:not-allowed;opacity:.55}.metrics-panel.is-generate-mode .generate-start-control{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;display:flex}.generate-start-control div{gap:2px;min-width:0;display:grid}.generate-start-control span{color:var(--color-ink-label);font-family:var(--font-ui);font-size:11px;font-weight:var(--weight-label);line-height:1}.generate-start-control strong{color:var(--text);font-family:var(--font-ui);font-size:14px;font-weight:var(--weight-label);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.generate-start-control button{border:1px solid var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);min-height:34px;color:var(--color-ink-inverse);cursor:pointer;font-size:12px;font-weight:var(--weight-control);white-space:nowrap;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.generate-start-control button:disabled{color:#18201f5c;cursor:not-allowed;background:#18201f14;border-color:#18201f14}.metrics-panel.is-generate-mode .mobile-primary-button{border:1px solid var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);min-height:44px;color:var(--color-ink-inverse);box-shadow:var(--material-shadow-low);cursor:pointer;font-family:var(--font-ui);font-size:14px;font-weight:var(--weight-primary);border-radius:8px;justify-content:center;align-items:center;gap:8px;line-height:1.1;display:inline-flex}.metrics-panel.is-generate-mode .mobile-primary-button:disabled{box-shadow:none;color:#18201f5c;cursor:not-allowed;background:#18201f14;border-color:#18201f14}.walks-panel-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.walks-panel-header h2{color:var(--text);font-family:var(--font-ui);font-size:17px;line-height:1.1;font-weight:var(--weight-display);margin:0}.walks-panel-header p{color:var(--color-ink-soft);margin:5px 0 0;font-size:12px;line-height:1.35}.walks-panel-header>span{color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-quiet);white-space:nowrap;flex:none}.metric-grid{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.metric{background:0 0;min-height:76px;padding:10px 11px 11px;position:relative}.metric+.metric{border-left:1px solid var(--material-border-soft)}.metric-label{color:var(--color-ink-label);font-family:var(--font-ui);font-size:11px;line-height:1;font-weight:var(--weight-label);letter-spacing:0;align-items:center;gap:6px;display:flex}.metric-label svg{stroke-width:2.2px;background:#fffcf6ad;border:1px solid;border-radius:6px;width:22px;height:22px;padding:4px}.metric.is-distance .metric-label{color:var(--color-route-teal-strong)}.metric.is-time .metric-label{color:var(--color-start-rust-strong)}.metric.is-steps .metric-label{color:var(--color-poi-bathroom)}.metric-value{color:var(--text);font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-size:23px;line-height:.95;font-weight:var(--weight-strong);letter-spacing:0;white-space:nowrap;margin-top:10px}.step-estimate-control{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:8px 10px;display:flex}.step-estimate-control div{gap:2px;min-width:0;display:grid}.step-estimate-control span{color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;line-height:1.25;font-weight:var(--weight-quiet)}.step-estimate-control strong{color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.2;font-weight:var(--weight-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.step-estimate-control button{border:1px solid var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);min-height:30px;color:var(--color-ink-inverse);cursor:pointer;font-size:12px;font-weight:var(--weight-control);border-radius:7px;flex:none;padding:0 10px}.step-estimate-control button:hover{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal)}.step-estimate-control button:disabled{cursor:not-allowed;opacity:.58}.height-editor{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:7px;margin-top:8px;padding:10px;animation:.18s both panel-content-enter}.interest-control{border-top:1px solid var(--border);margin-top:10px;padding-top:10px;animation:.2s both panel-content-enter}.interest-control-header{color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-quiet);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.interest-control-header span:first-child{color:var(--text);font-weight:var(--weight-label)}.interest-control-header span:last-child{overflow-wrap:anywhere;text-align:right;min-width:0}.interest-chip-list{flex-wrap:wrap;gap:6px;display:flex}.interest-chip{--interest-color:var(--color-route-teal-strong);--interest-bg:#007c7214;--interest-border:#007c722e;--interest-text:var(--color-route-teal-strong);border:1px solid var(--interest-border);background:var(--material-field-grain), linear-gradient(135deg, var(--interest-bg), #fffcf62e), var(--material-panel-inset);min-height:34px;box-shadow:var(--material-field-shadow);color:var(--text);cursor:pointer;font-size:12px;font-weight:var(--weight-control);border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.interest-chip:before{content:"";background:var(--interest-color);border-radius:999px;flex:none;width:8px;height:8px;box-shadow:0 0 0 2px #fffcf6c7}.interest-chip:hover{background:var(--material-field-grain), linear-gradient(135deg, var(--interest-bg), #fffcf657), var(--material-panel-hover)}.interest-chip.is-active{border-color:var(--interest-color);background:var(--material-field-grain), linear-gradient(135deg, var(--interest-bg), #fffcf64d), var(--material-panel-raised);color:var(--interest-text);font-weight:var(--weight-strong)}.interest-chip.is-active:before{box-shadow:0 0 0 2px #fffcf6d1, 0 0 0 5px var(--interest-bg)}.interest-chip--any{--interest-color:var(--color-route-teal-strong);--interest-bg:var(--color-route-teal-wash);--interest-border:var(--color-route-teal-border);--interest-text:var(--color-route-teal-strong)}.interest-chip--surprise{--interest-color:var(--color-start-rust);--interest-bg:#b4532a1c;--interest-border:#b4532a38;--interest-text:var(--color-start-rust-strong)}.interest-chip--coffee{--interest-color:var(--color-poi-coffee);--interest-bg:#9a4f1f1c;--interest-border:#9a4f1f38;--interest-text:#743714}.interest-chip--treat{--interest-color:var(--color-poi-treat);--interest-bg:#c2417d1a;--interest-border:#c2417d33;--interest-text:#8b2857}.interest-chip--park{--interest-color:var(--color-poi-park);--interest-bg:#1684571a;--interest-border:#16845733;--interest-text:#10653f}.interest-chip--grocery{--interest-color:var(--color-poi-grocery);--interest-bg:#3f7b321a;--interest-border:#3f7b3233;--interest-text:#315f27}.interest-chip--landmark{--interest-color:var(--color-poi-landmark);--interest-bg:#6d4bc81a;--interest-border:#6d4bc833;--interest-text:#50379a}.interest-chip--bathroom{--interest-color:var(--color-poi-bathroom);--interest-bg:#226d861a;--interest-border:#226d8633;--interest-text:#194f63}.interest-chip span{min-width:18px;color:var(--muted);font-size:10px;line-height:1;font-weight:var(--weight-label);background:#18201f14;border-radius:999px;padding:2px 5px}.interest-chip.is-active span{background:var(--color-route-teal-wash);color:var(--accent-strong)}.interest-chip:disabled{cursor:not-allowed;color:#18201f57;background:#18201f0f}.interest-chip:disabled:before{opacity:.34}.candidate-list{border-top:1px solid var(--border);margin-top:12px;padding-top:10px;animation:.22s both panel-content-enter}.candidate-list-header{color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-quiet);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.candidate-options{gap:6px;display:grid}.candidate-option{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);width:100%;min-height:42px;box-shadow:var(--material-field-shadow);color:var(--text);cursor:pointer;text-align:left;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.candidate-option:hover{background:var(--material-panel-hover)}.candidate-option.is-active{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.candidate-option.is-active .candidate-meta{color:#fffc}.candidate-label{overflow-wrap:anywhere;min-width:0;font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-label)}.candidate-meta{color:var(--color-ink-soft);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-quiet);white-space:nowrap}.route-interest-summary{border:1px solid var(--color-route-teal-border);background:linear-gradient(135deg, var(--color-route-teal-wash), #ffffff6b), var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:7px;gap:7px;margin-top:8px;padding:9px 10px;animation:.18s both panel-content-enter;display:grid}.route-interest-heading{color:var(--accent-strong);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-label)}.route-interest-summary p{color:#18201fc7;font-size:12px;line-height:1.35;font-weight:var(--weight-quiet);margin:0}.route-place-chips{flex-wrap:wrap;gap:6px;display:flex}.route-place-chip{border:1px solid var(--color-route-teal-border);color:var(--accent-strong);font-family:var(--font-ui);font-size:11px;font-weight:var(--weight-label);background:#ffffffd6;border-radius:999px;padding:4px 8px;text-decoration:none;transition:border-color .16s,background .16s,color .16s}.route-place-chip:hover,.route-place-chip:focus-visible{border-color:var(--accent-strong);color:var(--accent);background:#fffffff5}.route-inline-error{background:linear-gradient(180deg, #ffffff94, #fff1ef24), var(--danger-bg);color:var(--danger);box-shadow:var(--material-field-shadow);border:1px solid #b4231833;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;margin-top:10px;padding:9px 10px;animation:.18s both panel-content-enter;display:grid}.route-inline-error svg{stroke-width:2.3px;margin-top:1px}.route-inline-error div{gap:2px;min-width:0;display:grid}.route-inline-error strong{font-family:var(--font-ui);font-size:12px;line-height:1.2;font-weight:var(--weight-strong)}.route-inline-error span{overflow-wrap:anywhere;color:#b42318db;font-size:12px;line-height:1.35;font-weight:var(--weight-quiet)}.map-place-popup{gap:3px;min-width:148px;max-width:220px;padding:2px 0;display:grid}.map-place-popup-category{color:var(--accent-strong);font-family:var(--font-ui);font-size:10px;font-weight:var(--weight-label);letter-spacing:0;text-transform:uppercase}.map-place-popup-name{overflow-wrap:anywhere;min-width:0;color:var(--text);font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-label)}.map-place-popup-meta{color:var(--color-ink-soft);font-family:var(--font-ui);font-size:11px;font-weight:var(--weight-quiet)}.generation-debug{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:7px;margin-top:8px}.generation-debug summary{color:var(--muted);cursor:pointer;font-size:12px;font-weight:var(--weight-label);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;list-style:none;display:flex}.generation-debug summary::-webkit-details-marker{display:none}.generation-debug p{color:var(--muted);border-top:1px solid #18201f14;margin:0;padding:7px 10px;font-size:11px;line-height:1.35}.generation-debug-list{scrollbar-width:thin;gap:5px;max-height:min(230px,32vh);margin:0;padding:0 8px 8px;list-style:none;display:grid;overflow:auto}.generation-debug-list li{border:1px solid var(--material-border-soft);background:#fffcf6c2;border-radius:6px;padding:7px 8px}.generation-debug-main{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.generation-debug-provider,.generation-debug-status{font-size:11px;font-weight:var(--weight-label)}.generation-debug-provider.is-valhalla{color:#43536f}.generation-debug-provider.is-google{color:var(--accent-strong)}.generation-debug-provider.is-places{color:var(--color-start-rust-strong)}.generation-debug-provider.is-matrix{color:#5a4d9a}.generation-debug-status{color:var(--muted);text-transform:capitalize;background:#18201f14;border-radius:999px;padding:2px 6px}.generation-debug-status.is-selected{background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.generation-debug-status.is-rejected,.generation-debug-status.is-failed{background:var(--color-start-rust-soft);color:var(--semantic-warn)}.generation-debug-endpoint,.generation-debug-meta{overflow-wrap:anywhere;color:var(--muted);font-size:11px;line-height:1.35}.generation-debug-meta{color:#18201fb8;font-weight:var(--weight-quiet);margin-top:2px}.waypoint-preview{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.waypoint-preview-header{color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-quiet);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.waypoint-list{scrollbar-width:thin;gap:5px;max-height:min(220px,30vh);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.waypoint-list li{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);min-height:30px;box-shadow:var(--material-field-shadow);border-radius:7px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:4px 7px 4px 5px;display:grid}.waypoint-order{background:var(--color-route-teal-strong);width:24px;height:22px;color:var(--color-ink-inverse);font-family:var(--font-ui);font-size:11px;font-weight:var(--weight-label);letter-spacing:0;border-radius:6px;place-items:center;display:grid}.waypoint-list code{overflow-wrap:anywhere;min-width:0;color:var(--text);font-family:var(--font-mono);font-size:11px;line-height:1.25}.panel-actions{gap:8px;margin-top:12px;display:flex}.panel-actions .action-button{flex:1}.walk-progress-state{border:1px solid var(--color-route-teal-border);background:var(--color-route-teal-soft);color:var(--color-route-teal-strong);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-label);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:9px 10px;animation:.18s both panel-content-enter;display:flex}.walk-progress-state span{color:var(--color-route-teal-strong);font-weight:var(--weight-quiet)}.route-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.walk-progress-state+.route-actions{margin-top:8px}.route-actions .walk-action.is-primary{grid-column:1/-1}.route-actions.is-walk-started .walk-action.is-primary{grid-column:auto}.walk-action{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);min-height:38px;box-shadow:var(--material-field-shadow);color:var(--text);cursor:pointer;font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-control);text-align:center;border-radius:7px;justify-content:center;align-items:center;gap:7px;line-height:1.15;display:inline-flex}.walk-action:hover{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.walk-action.is-primary{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse);font-weight:var(--weight-primary)}.walk-action:disabled{cursor:not-allowed;color:#18201f57;background:#18201f14}.walk-library{gap:8px;display:grid}.walk-section{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);box-shadow:var(--material-field-shadow);border-radius:7px}.walk-section summary{min-height:38px;color:var(--muted);cursor:pointer;font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-label);justify-content:space-between;align-items:center;gap:10px;padding:0 10px;list-style:none;display:flex}.walk-section summary::-webkit-details-marker{display:none}.walk-section summary span:first-child{align-items:center;gap:6px;min-width:0;display:inline-flex}.walk-list{border-top:1px solid #18201f14;gap:8px;margin:0;padding:8px;list-style:none;display:grid;overflow:visible}.walk-list-item{--walk-accent:var(--color-route-teal);--walk-accent-strong:var(--color-route-teal-strong);--walk-accent-bg:#007c721a;border:1px solid var(--material-border-soft);background:var(--material-field-grain), linear-gradient(135deg, var(--walk-accent-bg), #fffcf629), #fffcf6c7;box-shadow:var(--material-field-shadow), 0 4px 12px #18201f0d;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:grid;position:relative;overflow:hidden}.walk-list-item:has(.walk-overflow-menu){z-index:30;overflow:visible}.walk-list-item--any{--walk-accent:var(--color-route-teal);--walk-accent-strong:var(--color-route-teal-strong);--walk-accent-bg:#007c721a}.walk-list-item--surprise{--walk-accent:var(--color-start-rust);--walk-accent-strong:var(--color-start-rust-strong);--walk-accent-bg:#b4532a1c}.walk-list-item--coffee{--walk-accent:var(--color-poi-coffee);--walk-accent-strong:#743714;--walk-accent-bg:#9a4f1f1c}.walk-list-item--treat{--walk-accent:var(--color-poi-treat);--walk-accent-strong:#8b2857;--walk-accent-bg:#c2417d1a}.walk-list-item--park{--walk-accent:var(--color-poi-park);--walk-accent-strong:#10653f;--walk-accent-bg:#1684571a}.walk-list-item--food{--walk-accent:var(--color-poi-food);--walk-accent-strong:#8c3d15;--walk-accent-bg:#c056211a}.walk-list-item--grocery{--walk-accent:var(--color-poi-grocery);--walk-accent-strong:#315f27;--walk-accent-bg:#3f7b321a}.walk-list-item--landmark{--walk-accent:var(--color-poi-landmark);--walk-accent-strong:#50379a;--walk-accent-bg:#6d4bc81a}.walk-list-item--bathroom{--walk-accent:var(--color-poi-bathroom);--walk-accent-strong:#194f63;--walk-accent-bg:#226d861a}.walk-list-item--source-generated{--walk-accent:var(--color-library-rust);--walk-accent-strong:var(--color-library-rust-strong);--walk-accent-bg:var(--color-library-rust-bg)}.walk-list-item--source-draw{--walk-accent:var(--color-library-slate);--walk-accent-strong:var(--color-library-slate-strong);--walk-accent-bg:var(--color-library-slate-bg)}.walk-list-accent{background:var(--walk-accent);opacity:.8;border-radius:999px;width:3px;position:absolute;top:9px;bottom:9px;left:6px}.walk-list-item.is-previewed{border-color:var(--walk-accent);background:var(--material-field-grain), linear-gradient(135deg, var(--walk-accent-bg), #fffcf647), var(--material-panel-raised)}.walk-list-main{width:100%;min-width:0;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:9px;padding:0;display:grid}.walk-route-glyph{border:1px solid color-mix(in srgb, var(--walk-accent) 28%, var(--material-border-soft));background:radial-gradient(circle at 72% 22%, #ffffffb8, transparent 28px), linear-gradient(135deg, var(--walk-accent-bg), #fffcf685);border-radius:7px;place-items:center;width:46px;height:46px;display:grid;box-shadow:inset 0 1px #ffffffad}.walk-route-glyph svg{width:38px;height:38px;overflow:visible}.walk-route-glyph path{fill:none;stroke:var(--walk-accent-strong);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px;vector-effect:non-scaling-stroke}.walk-list-copy{gap:2px;min-width:0;display:grid}.walk-list-kicker{color:var(--walk-accent-strong);font-family:var(--font-ui);font-size:10px;font-weight:var(--weight-label);line-height:1.15}.walk-list-main:hover .walk-list-title{color:var(--walk-accent-strong)}.walk-list-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-label);overflow:hidden}.walk-list-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-ink-soft);font-family:var(--font-ui);font-size:11px;font-weight:var(--weight-quiet);overflow:hidden}.walk-list-actions{justify-content:flex-end;align-items:center;gap:5px;display:inline-flex;position:relative}.walk-list-actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.walk-list-actions button:hover{color:var(--text);background:#18201f14}.rewalk-button{min-height:34px;font-size:12px;font-weight:var(--weight-control);gap:5px;padding:0 10px;border:1px solid color-mix(in srgb, var(--walk-accent) 24%, var(--material-border-soft))!important;color:var(--walk-accent-strong)!important;background:#fffcf694!important}.rewalk-button:hover{background:var(--walk-accent-bg)!important}.walk-overflow{z-index:2;display:inline-flex;position:relative}.walk-overflow:has(.walk-overflow-menu){z-index:40}.walk-overflow-trigger{border:1px solid color-mix(in srgb, var(--walk-accent) 22%, var(--material-border-soft));width:31px;height:31px;min-height:31px;color:var(--muted);cursor:pointer;background:#fffcf69e;border-radius:7px;place-items:center;padding:0;display:grid}.walk-overflow-trigger:hover,.walk-overflow-trigger.is-open{border-color:color-mix(in srgb, var(--walk-accent) 40%, var(--material-border-soft));background:var(--walk-accent-bg);color:var(--walk-accent-strong)}.walk-overflow-menu{z-index:30;border:1px solid var(--material-border);background:var(--material-paper-grain), var(--material-panel-solid);min-width:116px;box-shadow:var(--material-shadow);border-radius:7px;padding:5px;position:absolute;top:calc(100% + 6px);right:0}.walk-overflow-menu button{width:100%;min-height:32px;color:var(--text);font-size:12px;font-weight:var(--weight-quiet);text-align:left;justify-content:flex-start;gap:7px;padding:0 9px}.walk-overflow-menu button:last-child{color:var(--danger)}.walk-overflow-menu button svg{flex:none}.walk-empty{color:var(--muted);border-top:1px solid #18201f14;margin:0;padding:9px 10px 10px;font-size:12px;line-height:1.35}.height-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.height-title{font-family:var(--font-ui);font-size:14px;line-height:1;font-weight:var(--weight-label);margin:0}.unit-toggle{border:1px solid var(--border);border-radius:7px;display:inline-flex;overflow:hidden}.unit-toggle button{min-height:30px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:var(--weight-control);background:0 0;border:0;padding:0 10px}.unit-toggle button.is-active{background:var(--color-route-teal-strong);color:var(--color-ink-inverse)}.height-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.height-inputs.metric-mode{grid-template-columns:minmax(0,1fr)}.field{gap:5px;display:grid}.field label{color:var(--color-ink-label);font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-quiet)}.field input{border:1px solid var(--border);background:var(--material-field-grain), #fffcf6d1;width:100%;min-height:40px;color:var(--text);border-radius:7px;outline:none;padding:0 10px}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--color-route-teal-focus)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:1.25s linear infinite spin}.action-button .spinner,.walk-action .spinner{opacity:.84;animation-duration:1.45s}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panel-content-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes generate-start-glow{0%,to{opacity:.86;box-shadow:0 0 #b4532a00}50%{opacity:1;box-shadow:0 0 24px #b4532a1f}}@keyframes reveal-generate-loading-label{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.spinner,.metrics-panel,.walks-panel,.height-editor,.interest-control,.candidate-list,.route-interest-summary,.walk-progress-state,.generate-start-crosshair.is-loading,.generate-loading-label{animation:none}.generate-start-crosshair.is-loading{opacity:1}.generate-loading-label{opacity:1;transform:none}.generate-loading-indicator img{display:none}.generate-loading-indicator:before{content:"";background:var(--panel-solid);border:1px solid var(--border);width:34px;height:34px;box-shadow:var(--shadow);border-radius:50%}.generate-loading-indicator:after{content:"";border:2px solid var(--color-start-rust);border-top-width:5px;border-radius:45% 55% 50% 50%;width:18px;height:18px;position:absolute;transform:rotate(-18deg)}}@media (max-width:900px){.top-toolbar{align-items:flex-start}.brand-chip{display:none}.tool-row{justify-content:space-between;width:100%}.bottom-panel,.bottom-panel.is-walks-mode{grid-template-columns:1fr}}@media (max-width:640px),(max-height:480px) and (pointer:coarse){.top-toolbar{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));justify-content:stretch;justify-items:stretch;gap:8px;display:grid}.location-notice{top:calc(max(10px, env(safe-area-inset-top)) + 96px);left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));grid-template-columns:auto minmax(0,1fr);width:auto}.location-notice button{grid-column:2;justify-self:start}.tool-row{grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-areas:"route-mode help account locate""lab lab lab lab";justify-self:stretch;align-items:start;gap:8px 12px;width:100%;display:grid}.mode-toggle{grid-area:route-mode;justify-self:start;max-width:100%}.tool-group{grid-area:tools;justify-self:start}.route-lab-chip{grid-area:lab;justify-self:start}.top-locate-button{grid-area:locate;justify-self:end;width:44px;min-width:44px;padding:0}.top-locate-button span{display:none}.help-chip{grid-area:help;justify-self:end;width:44px;min-width:44px;padding:0}.account-chip{grid-area:account;justify-self:end;width:44px;min-width:44px;padding:0}.account-chip span:last-child{display:none}.onboarding-starter-sheet{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0;width:auto;padding:14px 12px 12px}.onboarding-starter-sheet h2{font-size:20px}.onboarding-choice-grid{grid-template-columns:1fr}.onboarding-choice-grid button{min-height:64px}.onboarding-context-tip.is-floating-tip{top:auto;left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:calc(max(8px, env(safe-area-inset-bottom)) + 188px);width:auto;display:block}.onboarding-context-tip.is-panel-tip{display:none}.tool-group:not(.compact-tools){justify-content:space-between;width:100%}.tool-row>.tool-group,.tool-row>.snap-mode-toggle{display:none}.snap-mode-toggle,.time-toggle{scrollbar-width:thin;grid-area:duration;justify-self:start;max-width:100%;overflow-x:auto}.tool-row>.time-toggle,.tool-row>.action-button{display:none}.action-button{min-width:44px;padding:0 12px}.mode-toggle button,.snap-mode-toggle button,.time-toggle button{min-height:44px;padding:0 9px;font-size:12px}.auth-modal-backdrop{padding:0 10px max(8px, env(safe-area-inset-bottom));align-items:end}.auth-modal{border-radius:16px 16px 0 0;padding:15px 12px 12px}.auth-email-form div{grid-template-columns:1fr}.auth-provider-button,.auth-email-form input,.auth-email-form button,.auth-secondary-button{min-height:46px}.bottom-panel{padding:0 max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));align-items:end;gap:8px;bottom:0;left:0;right:0}.metrics-panel,.walks-panel{transform-origin:bottom;border-radius:16px 16px 0 0;width:100%;padding:0 10px 10px;scroll-padding-top:46px;transition:max-height .22s cubic-bezier(.2,0,0,1),border-radius .22s cubic-bezier(.2,0,0,1)}.bottom-panel.is-sheet-peek .metrics-panel,.bottom-panel.is-sheet-peek .walks-panel{max-height:178px;overflow:hidden}.bottom-panel.is-sheet-half .metrics-panel,.bottom-panel.is-sheet-half .walks-panel{max-height:min(54svh,520px);overflow:auto}.bottom-panel.is-sheet-full .metrics-panel,.bottom-panel.is-sheet-full .walks-panel{max-height:min(88svh,760px);overflow:auto}.bottom-panel.is-walks-mode.is-sheet-full .walks-panel{height:calc(100dvh - 82px);max-height:calc(100dvh - 82px)}.bottom-panel.is-sheet-peek .metrics-panel.has-route .mobile-draw-controls,.bottom-panel.is-sheet-peek .metrics-panel.has-route .mobile-generate-controls,.bottom-panel.is-sheet-peek .metrics-panel.has-route .mobile-primary-action,.bottom-panel.is-sheet-peek .metrics-panel.has-route .step-estimate-control,.bottom-panel.is-sheet-peek .metrics-panel.has-route .height-editor,.bottom-panel.is-sheet-peek .metrics-panel.has-route .interest-control,.bottom-panel.is-sheet-peek .metrics-panel.has-route .route-inline-error,.bottom-panel.is-sheet-peek .metrics-panel.has-route .candidate-list,.bottom-panel.is-sheet-peek .metrics-panel.has-route .route-interest-summary,.bottom-panel.is-sheet-peek .metrics-panel.has-route .generation-debug,.bottom-panel.is-sheet-peek .metrics-panel.has-route .waypoint-preview,.bottom-panel.is-sheet-peek .metrics-panel.has-route .walk-progress-state,.bottom-panel.is-sheet-peek .metrics-panel.has-route .route-actions .walk-action:not(.is-primary){display:none}.bottom-panel.is-sheet-peek .metrics-panel.has-route .route-actions .walk-action.is-primary{grid-column:1/-1}.mobile-sheet-handle{z-index:2;background:var(--material-panel-solid);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border:0;place-items:center;width:100%;min-height:44px;padding:0;display:grid;position:sticky;top:0}.mobile-sheet-handle span{background:#18201f47;border-radius:999px;width:42px;height:5px}.mobile-primary-action{margin-bottom:10px;scroll-margin-top:46px;display:grid}.mobile-draw-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px;scroll-margin-top:46px;display:grid}.mobile-draw-controls button{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);min-width:0;min-height:46px;box-shadow:var(--material-field-shadow);color:var(--text);cursor:pointer;font-size:12px;font-weight:var(--weight-control);border-radius:8px;justify-content:center;align-items:center;gap:5px;line-height:1;display:inline-flex}.mobile-draw-controls button.is-active{border-color:var(--color-start-rust-border);background:var(--color-start-rust-strong);color:var(--color-ink-inverse);font-weight:var(--weight-strong)}.mobile-draw-controls button:disabled{cursor:not-allowed;opacity:.48}.mobile-generate-controls{margin-bottom:10px;scroll-margin-top:46px;display:grid}.metrics-panel.is-generate-mode .generate-start-control{display:none}.mobile-duration-toggle{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.mobile-duration-toggle button{border:1px solid var(--material-border-soft);background:var(--material-field-grain), var(--material-panel-inset);min-width:0;min-height:44px;box-shadow:var(--material-field-shadow);color:var(--color-ink-label);cursor:pointer;font-size:13px;font-weight:var(--weight-control);border-radius:8px}.mobile-duration-toggle button.is-active{border-color:var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);color:var(--color-ink-inverse);font-weight:var(--weight-strong)}.mobile-duration-toggle button:disabled{cursor:not-allowed;opacity:.55}.mobile-primary-button{border:1px solid var(--color-route-teal-border-strong);background:var(--color-route-teal-strong);min-height:48px;color:var(--color-ink-inverse);box-shadow:var(--material-shadow-low);cursor:pointer;font-family:var(--font-ui);font-size:15px;font-weight:var(--weight-primary);border-radius:9px;justify-content:center;align-items:center;gap:8px;line-height:1.1;display:inline-flex}.mobile-primary-button:disabled{color:#18201f5c;box-shadow:none;cursor:not-allowed;background:#18201f14;border-color:#18201f14}.height-header{margin-bottom:7px}.height-editor{scroll-margin-top:56px}.height-title{font-size:13px}.height-inputs{gap:6px}.field{gap:3px}.field label{font-size:11px}.field input{min-height:44px;padding:0 9px}.unit-toggle button{min-width:44px;min-height:44px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{min-height:68px;padding:8px 9px 9px}.metric-label{gap:0}.metric-label span{display:none}.metric-label svg{width:21px;height:21px;padding:4px}.metric-value{margin-top:9px;font-size:20px}.step-estimate-control{gap:8px;padding:8px}.step-estimate-control button,.interest-chip,.candidate-option,.walk-action,.walk-section summary,.rewalk-button,.walk-overflow-menu button{min-height:44px}.walk-overflow summary{width:44px;height:44px;min-height:44px}.walks-panel{flex-direction:column;display:flex}.walks-panel-header{z-index:5;background:var(--material-panel-solid);border-bottom:1px solid #18201f14;margin:0 -10px 10px;padding:0 10px 10px;position:sticky;top:44px;box-shadow:0 10px 18px #18201f14}.walk-list-item{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;overflow:visible}.walk-list-item:has(.walk-overflow-menu){z-index:30}.walk-list-main{grid-template-columns:44px minmax(0,1fr)}.walk-route-glyph{width:44px;height:44px}.walk-list-actions{grid-template-columns:minmax(0,1fr) 44px;justify-content:stretch;gap:7px;display:grid}.walk-list-actions .rewalk-button{width:100%}.walk-list-actions>.rewalk-button:only-child{grid-column:1/-1}.walk-overflow-menu{z-index:60;background:var(--material-panel-solid);min-width:140px;right:0}.metrics-panel.has-route .route-actions{z-index:3;background:linear-gradient(180deg, #ffffffe0, #fffffffa), var(--material-paper-grain);border-top:1px solid #18201f1a;margin:10px -10px -10px;padding:8px 10px 10px;position:sticky;bottom:0;box-shadow:0 -10px 22px #18201f14}@media (max-height:480px) and (pointer:coarse){.bottom-panel.is-sheet-peek .metrics-panel:not(.has-route){max-height:164px}.bottom-panel.is-sheet-peek .metrics-panel:not(.has-route) .metric-grid{display:none}}.waypoint-preview{margin-top:8px;padding-top:8px}.waypoint-list{max-height:128px}.waypoint-list li{grid-template-columns:32px minmax(0,1fr);min-height:28px}.panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;display:grid}.app-shell.is-drawing-session .map-surface{filter:saturate(.9)contrast(.96)}.app-shell.is-drawing-session:after{content:"";z-index:5;inset:max(72px, env(safe-area-inset-top)) 10px 190px;pointer-events:none;border:2px solid #b4532ab8;border-radius:14px;position:absolute;box-shadow:inset 0 0 0 1px #ffffffe6,0 8px 24px #18201f1f}}
