@font-face{font-family:__displayFont_a3b656;src:url(/_next/static/media/a13749a076f9d372-s.p.ttf) format("truetype");font-display:swap;font-weight:900;font-style:normal}@font-face{font-family:__displayFont_Fallback_a3b656;src:local("Arial");ascent-override:127.93%;descent-override:35.79%;line-gap-override:0.00%;size-adjust:91.94%}.__className_a3b656{font-family:__displayFont_a3b656,__displayFont_Fallback_a3b656;font-weight:900;font-style:normal}.__variable_a3b656{--font-display:"__displayFont_a3b656","__displayFont_Fallback_a3b656"}@font-face{font-family:__dmSans_0ddc8b;src:url(/_next/static/media/c69e9e85d94ea4a1-s.p.ttf) format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:__dmSans_0ddc8b;src:url(/_next/static/media/b258a5a2e21d281c-s.p.ttf) format("truetype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:__dmSans_0ddc8b;src:url(/_next/static/media/0153d10edc1b3981-s.p.ttf) format("truetype");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:__dmSans_0ddc8b;src:url(/_next/static/media/ff4dedc881fc1fa7-s.p.ttf) format("truetype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:__dmSans_0ddc8b;src:url(/_next/static/media/af900d4387481f5f-s.p.ttf) format("truetype");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:__dmSans_0ddc8b;src:url(/_next/static/media/f6981a709b23d6e6-s.p.ttf) format("truetype");font-display:swap;font-weight:900;font-style:normal}@font-face{font-family:__dmSans_Fallback_0ddc8b;src:local("Arial");ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.00%;size-adjust:105.13%}.__className_0ddc8b{font-family:__dmSans_0ddc8b,__dmSans_Fallback_0ddc8b}.__variable_0ddc8b{--font-body:"__dmSans_0ddc8b","__dmSans_Fallback_0ddc8b"}:root{--clr-primary:#1a2e1a;--clr-primary-2:#2d4a2d;--clr-lime:#e8f04a;--clr-lime-dim:#d4dc3a;--clr-bg:#f5f5f0;--clr-bg-alt:#ebebe5;--clr-white:#fff;--clr-black:#0a0a0a;--clr-text:#1a2e1a;--clr-text-muted:#4a5e4a;--clr-text-dim:#7a8e7a;--clr-border:#1a2e1a;--clr-border-lt:#c8d4c8;--clr-sidebar:#1a2e1a;--clr-sidebar-2:#243824;--clr-sidebar-border:#2d4a2d;--clr-sidebar-text:#a8c4a8;--clr-sidebar-text-dim:#6a8a6a;--sidebar-width:420px;--header-height:64px;--footer-height:0px;--display-heavy-stroke:0;--display-command-stroke:0;--display-logo-stroke:0;--display-squash-y:1;--command-squash-y:1;--display-letter-spacing:-0.018em;--display-scale-x:1.025;--display-scale-y:0.965}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--clr-bg);color:var(--clr-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{cursor:pointer}button,input,select,textarea{font-family:inherit}input:invalid{box-shadow:none;outline:none}input:-moz-ui-invalid{box-shadow:none}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;--loading-graphic:#032707;--loading-graphic-soft:rgba(3,39,7,.07)}.app-shell.theme-night{--clr-primary:#050705;--clr-primary-2:#1b1f1b;--clr-lime:#e8f04a;--clr-lime-dim:#dce642;--clr-bg:#0b0d0b;--clr-bg-alt:#181b18;--clr-white:#fff;--clr-black:#020302;--clr-text:#f4f6ef;--clr-text-muted:#c4cec0;--clr-text-dim:#838d80;--clr-border:#e8f04a;--clr-border-lt:#343c34;--clr-sidebar:#050705;--clr-sidebar-2:#171d17;--clr-sidebar-border:#303930;--clr-sidebar-text:#d8e1d2;--clr-sidebar-text-dim:#7f8b7c;--clr-surface:#171d17;--loading-graphic:#e8f04a;--loading-graphic-soft:rgba(232,240,74,.14);color-scheme:dark}.app-header{position:fixed;top:calc(16px + env(safe-area-inset-top));left:50%;width:clamp(230px,28vw,340px);height:46px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;padding:0 20px;flex-shrink:0;overflow:hidden;isolation:isolate;border:1px solid hsla(0,0%,100%,.58);border-bottom-color:rgba(26,46,26,.2);border-radius:999px;background:linear-gradient(135deg,hsla(0,0%,100%,.42),hsla(60,20%,95%,.18) 46%,rgba(232,240,74,.08)),hsla(60,20%,95%,.18);box-shadow:0 16px 40px rgba(10,20,10,.18),0 0 21px -8px hsla(0,0%,100%,.42),inset 0 1px 1px hsla(0,0%,100%,.86),inset 0 -1px 1px rgba(26,46,26,.12);backdrop-filter:blur(13px) saturate(1.55) contrast(1.12);-webkit-backdrop-filter:blur(13px) saturate(1.55) contrast(1.12);z-index:120}.app-header:after,.app-header:before{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit}.app-header:before{z-index:2;background:radial-gradient(circle at 16% 10%,hsla(0,0%,100%,.88),transparent 24%),radial-gradient(circle at 80% 92%,rgba(232,240,74,.2),transparent 30%),linear-gradient(105deg,transparent,hsla(0,0%,100%,.34) 44%,hsla(0,0%,100%,.06) 52%,transparent 62%);mix-blend-mode:screen;opacity:.82}.app-header:after{z-index:3;inset:1px;border:1px solid hsla(0,0%,100%,.28);box-shadow:inset 13px 0 28px hsla(0,0%,100%,.14),inset -13px 0 28px rgba(26,46,26,.1),inset 0 0 5px -8px hsla(0,0%,100%,.72)}.header-glass-filter{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.header-glass-refraction{display:none}.header-brand-block{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0}.wayward-wordmark{display:inline-block;position:relative;font-family:var(--font-display);font-weight:900;letter-spacing:0;text-transform:uppercase;line-height:.9;-webkit-text-stroke:0 currentColor;paint-order:normal;transform:scaleX(var(--display-scale-x)) scaleY(var(--display-scale-y));transform-origin:center}.wayward-wordmark:after{content:"";position:absolute;left:50%;bottom:-.18em;width:42%;height:.09em;min-height:2px;background:currentColor;transform:translateX(-50%);opacity:.72}.header-logo{font-size:22px;font-weight:900;color:var(--clr-primary);text-shadow:0 1px 0 hsla(0,0%,100%,.65)}.theme-toggle-btn{position:absolute;right:8px;z-index:5;width:30px;height:30px;border:1px solid rgba(26,46,26,.22);border-radius:999px;background:hsla(60,20%,95%,.38);color:var(--clr-primary);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s,transform .15s}.theme-toggle-btn:hover{background:var(--clr-lime);border-color:var(--clr-primary);transform:translateY(-1px)}.theme-toggle-btn:focus-visible{outline:2px solid var(--clr-lime);outline-offset:2px}.theme-night .app-header{border-color:rgba(232,240,74,.42) rgba(232,240,74,.42) rgba(232,240,74,.32);background:linear-gradient(135deg,rgba(20,24,20,.78),rgba(8,10,8,.62) 52%,rgba(232,240,74,.12)),rgba(6,8,6,.62);box-shadow:0 18px 48px rgba(0,0,0,.48),0 0 22px -10px rgba(232,240,74,.6),inset 0 1px 1px hsla(0,0%,100%,.16),inset 0 -1px 1px rgba(232,240,74,.16)}.theme-night .app-header:before{background:radial-gradient(circle at 18% 12%,hsla(0,0%,100%,.18),transparent 24%),radial-gradient(circle at 82% 90%,rgba(232,240,74,.2),transparent 32%),linear-gradient(105deg,transparent,hsla(0,0%,100%,.12) 44%,rgba(232,240,74,.06) 52%,transparent 62%);opacity:.72}.theme-night .header-glass-refraction{background:linear-gradient(115deg,hsla(0,0%,100%,.1),rgba(8,10,8,.16) 42%,rgba(232,240,74,.14) 78%),radial-gradient(circle at 24% 34%,hsla(0,0%,100%,.1),transparent 28%),radial-gradient(circle at 76% 64%,rgba(232,240,74,.12),transparent 34%)}.theme-night .header-logo{color:var(--clr-lime);text-shadow:0 1px 10px rgba(0,0,0,.55)}.theme-night .theme-toggle-btn{border-color:rgba(232,240,74,.36);background:rgba(8,10,8,.72);color:var(--clr-lime)}.theme-night .theme-toggle-btn:hover{background:var(--clr-lime);color:var(--clr-primary)}.header-kicker{display:block;margin:0;font-family:var(--font-body);font-size:8px;font-weight:800;letter-spacing:.2em;line-height:1;color:rgba(26,46,26,.68);text-transform:uppercase}.header-route-context{display:none}.app-header-context{width:min(560px,calc(100vw - 40px));height:50px;border-color:rgba(232,240,74,.42);background:linear-gradient(135deg,rgba(26,46,26,.72),rgba(26,46,26,.48) 48%,rgba(232,240,74,.16)),rgba(26,46,26,.44);box-shadow:0 18px 46px rgba(10,20,10,.24),inset 0 1px 1px hsla(0,0%,100%,.18),inset 0 -1px 1px rgba(232,240,74,.12)}.app-header-context .header-brand-block{display:none}.app-header-context .header-route-context{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0;overflow:hidden;font-family:var(--font-body);font-size:clamp(14px,2.1vw,17px);letter-spacing:.08em;line-height:1;color:var(--clr-lime);text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.24)}.app-header-context .header-route-context span{display:inline-flex;align-items:center;min-width:0}.app-header-context .header-route-context span:first-child{overflow:hidden;text-overflow:ellipsis}.app-header-context .header-route-context span:not(:last-child):after{content:"·";margin-left:10px;color:rgba(232,240,74,.58)}.header-badge-filled{background:var(--clr-lime);color:var(--clr-primary);font-weight:800;letter-spacing:.08em}.header-badge-filled,.header-badge-outline{font-family:var(--font-body);font-size:11px;padding:3px 8px;text-transform:uppercase}.header-badge-outline{border:1.5px solid var(--clr-sidebar-text);color:var(--clr-sidebar-text);font-weight:600;letter-spacing:.06em}.header-nav{gap:4px}.header-nav,.header-nav-btn{display:flex;align-items:center}.header-nav-btn{background:transparent;border:none;color:var(--clr-sidebar-text);padding:8px;justify-content:center;transition:color .15s}.header-nav-btn:hover{color:var(--clr-lime)}.app-main{flex:1 1;min-height:0}.app-main,.planner-panel{display:flex;overflow:hidden}.planner-panel{width:var(--sidebar-width);flex-shrink:0;background:var(--clr-primary);border-right:3px solid var(--clr-lime);flex-direction:column;z-index:10}.panel-header{padding:20px 20px 16px;border-bottom:1px solid var(--clr-sidebar-border);flex-shrink:0}.panel-title{font-family:var(--font-display);font-size:42px;font-weight:900;letter-spacing:var(--display-letter-spacing);line-height:1;-webkit-text-stroke:0 currentColor;paint-order:normal;transform:scaleX(var(--display-scale-x)) scaleY(var(--display-scale-y));transform-origin:left center}.panel-subtitle,.panel-title{color:var(--clr-lime);text-transform:uppercase}.panel-subtitle{font-family:var(--font-body);font-size:11px;font-weight:700;opacity:.7;letter-spacing:.12em;margin-top:6px}.panel-body{flex:1 1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:18px;scrollbar-width:thin;scrollbar-color:var(--clr-sidebar-border) transparent}.panel-body::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-track{background:transparent}.panel-body::-webkit-scrollbar-thumb{background:var(--clr-sidebar-border)}.panel-footer{padding:16px 20px 20px;border-top:1px solid var(--clr-sidebar-border);flex-shrink:0}.form-section{display:flex;flex-direction:column;gap:8px}.form-label{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--clr-sidebar-text);letter-spacing:.12em;text-transform:uppercase}.location-input-wrap{position:relative;display:flex;align-items:center}.location-input-icon{position:absolute;left:10px;color:var(--clr-sidebar-text-dim);pointer-events:none}.location-input{width:100%;background:var(--clr-sidebar-2);border:1.5px solid var(--clr-sidebar-border);color:var(--clr-white);font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.02em;padding:12px 12px 12px 36px;outline:none;transition:border-color .15s}.location-input::placeholder{color:var(--clr-sidebar-text-dim);font-weight:400}.location-input:focus{border-color:var(--clr-lime)}.location-btn{display:none}.use-location-btn{width:100%;margin-top:8px;background:transparent;border:1.5px solid var(--clr-sidebar-border);color:var(--clr-sidebar-text);font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:border-color .15s,color .15s}.use-location-btn:hover{border-color:var(--clr-lime);color:var(--clr-lime)}.location-suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--clr-primary);border:2px solid var(--clr-lime);z-index:200;max-height:200px;overflow-y:auto}.suggestion-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--clr-sidebar-border);color:var(--clr-sidebar-text);font-family:var(--font-body);font-size:12px;padding:10px 12px;cursor:pointer;transition:background .1s}.suggestion-item:hover{background:var(--clr-sidebar-2);color:var(--clr-lime)}.coords-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.coord-field{background:var(--clr-sidebar-2);border:1.5px solid var(--clr-sidebar-border);overflow:hidden}.coord-field,.coord-label{display:flex;align-items:center}.coord-label{font-size:10px;font-weight:700;color:var(--clr-sidebar-text-dim);letter-spacing:.08em;padding:0 8px;background:rgba(0,0,0,.15);align-self:stretch;border-right:1px solid var(--clr-sidebar-border)}.coord-input,.coord-label{font-family:var(--font-body)}.coord-input{flex:1 1;background:transparent;border:none;color:var(--clr-white);font-size:11px;padding:7px 8px;outline:none;min-width:0}.coord-input::placeholder{color:var(--clr-sidebar-text-dim)}.mode-selector{display:grid;grid-template-columns:repeat(3,1fr);border:1.5px solid var(--clr-sidebar-border);overflow:hidden}.mode-option{background:transparent;border:none;border-right:1px solid var(--clr-sidebar-border);color:var(--clr-sidebar-text-dim);padding:16px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .15s,color .15s;position:relative}.mode-option:last-child{border-right:none}.mode-option.active{background:var(--clr-lime);color:var(--clr-primary)}.mode-option.disabled{opacity:.4;cursor:not-allowed}.mode-option-label{font-size:13px;font-weight:600;letter-spacing:.08em}.mode-option-label,.mode-option-status{font-family:var(--font-body);text-transform:uppercase}.mode-option-status{font-size:9px;font-weight:700;letter-spacing:.06em;opacity:.7}.time-budget-options{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px solid var(--clr-sidebar-border);overflow:hidden}.time-option{background:transparent;border:none;border-right:1px solid var(--clr-sidebar-border);color:var(--clr-sidebar-text-dim);padding:14px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:background .15s,color .15s}.time-option:last-child{border-right:none}.time-option.active{background:var(--clr-lime);color:var(--clr-primary)}.time-option-value{font-family:var(--font-body);font-size:24px;font-weight:500;line-height:1}.time-option-unit{font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.vibe-header{display:flex;align-items:center;justify-content:space-between}.vibe-count{font-family:var(--font-body);font-size:10px;font-weight:700;color:var(--clr-sidebar-text-dim);letter-spacing:.06em}.vibe-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.vibe-tile{background:var(--clr-sidebar-2);border:2px solid var(--clr-sidebar-border);color:var(--clr-sidebar-text);padding:20px 8px 18px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:background .15s,border-color .15s,color .15s;min-height:100px;justify-content:center}.vibe-tile:hover:not(.locked){border-color:var(--clr-lime);color:var(--clr-lime)}.vibe-tile.active{background:var(--clr-lime);border-color:var(--clr-lime);border-style:solid;color:var(--clr-primary)}.vibe-tile.active:hover:not(.locked){background:var(--clr-lime);border-color:var(--clr-lime);color:var(--clr-primary)}.vibe-tile.locked{opacity:.35;cursor:not-allowed}.vibe-tile-label{font-weight:600;letter-spacing:.08em;text-align:center;line-height:1.1}.vibe-expand-btn,.vibe-tile-label{font-family:var(--font-body);font-size:10px;text-transform:uppercase}.vibe-expand-btn{width:100%;margin-top:2px;background:transparent;border:1.5px solid var(--clr-sidebar-border);color:var(--clr-sidebar-text-dim);font-weight:800;letter-spacing:.1em;padding:9px 12px;display:none;align-items:center;justify-content:center;gap:6px;transition:border-color .15s,color .15s}.vibe-expand-btn:hover{border-color:var(--clr-lime);color:var(--clr-lime)}.btn-generate{width:100%;background:var(--clr-lime);border:solid var(--clr-primary);border-width:3px 3px 8px;color:var(--clr-primary);font-family:var(--font-display);font-size:32px;font-weight:900;letter-spacing:var(--display-letter-spacing);white-space:nowrap;text-transform:uppercase;line-height:1.2;padding:24px 20px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:transform .1s,border-bottom-width .1s}.btn-generate,.command-text,.display-squash{-webkit-text-stroke:0 currentColor;paint-order:normal}.command-text,.display-squash{display:inline-block;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;transform:scaleX(var(--display-scale-x)) scaleY(var(--display-scale-y));transform-origin:center}.command-text,.display-squash{line-height:inherit}.btn-generate:hover:not(:disabled){background:var(--clr-lime-dim)}.btn-generate:active:not(:disabled){transform:translateY(3px);border-bottom-width:3px}.btn-generate:disabled{opacity:.45;cursor:not-allowed}.message-banner{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--clr-sidebar-text);background:var(--clr-sidebar-2);border:1px solid var(--clr-sidebar-border);padding:8px 12px;margin-bottom:10px;letter-spacing:.04em}.message-banner.error{border-color:#e85454;color:#e85454}.map-canvas{flex:1 1;position:relative;overflow:hidden;background:#c8d8c0}.route-map-shell,.route-mapbox-canvas{width:100%;height:100%}.route-map-shell{position:relative}.map-zoom-controls{position:absolute;top:calc(108px + env(safe-area-inset-top));right:calc(18px + env(safe-area-inset-right));z-index:20;display:flex;flex-direction:column;border:2px solid var(--clr-primary);background:var(--clr-bg);box-shadow:4px 4px 0 rgba(26,46,26,.22)}.map-zoom-button{width:42px;height:42px;border:0;border-bottom:2px solid var(--clr-primary);background:var(--clr-bg);color:var(--clr-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,transform .15s}.map-zoom-button:last-child{border-bottom:0}.map-zoom-button:hover{background:var(--clr-lime)}.map-zoom-button:active{transform:translateY(1px)}.map-zoom-button:focus-visible{outline:3px solid var(--clr-lime);outline-offset:2px}.theme-night .map-zoom-controls{border-color:var(--clr-lime);background:var(--clr-bg);box-shadow:4px 4px 0 rgba(232,240,74,.12)}.theme-night .map-zoom-button{border-bottom-color:var(--clr-lime);background:var(--clr-bg);color:var(--clr-lime)}.theme-night .map-zoom-button:hover{background:var(--clr-lime);color:var(--clr-primary)}.map-schematic{width:100%;height:100%;background:#c8d8c0;position:relative;overflow:hidden}.map-schematic-topo{position:absolute;inset:0;background:#c8d8c0;z-index:0}.theme-night .map-canvas,.theme-night .map-schematic,.theme-night .map-schematic-topo{background:#030503}.theme-night .map-schematic-topo{background:radial-gradient(circle at 50% 48%,rgba(232,240,74,.08),transparent 18%),radial-gradient(circle at 20% 18%,hsla(0,0%,100%,.04),transparent 24%),linear-gradient(135deg,#050705,#101410 48%,#050705)}.map-schematic-svg{width:100%;height:100%;position:absolute;inset:0}.map-notice{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:var(--clr-primary);color:var(--clr-lime);font-family:var(--font-body);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border:2px solid var(--clr-lime);white-space:nowrap;z-index:5}.results-panel{width:var(--sidebar-width);flex-shrink:0;background:var(--clr-bg);border-left:3px solid var(--clr-primary);display:flex;flex-direction:column;overflow:hidden;z-index:10}.results-header{padding:16px 20px 14px;background:var(--clr-primary);border-bottom:3px solid var(--clr-lime);flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.results-title{display:block;font-family:var(--font-display);font-size:24px;font-weight:900;color:var(--clr-lime);letter-spacing:0;text-transform:uppercase;line-height:.98;-webkit-text-stroke:0 currentColor;paint-order:normal;transform:scaleX(var(--display-scale-x)) scaleY(var(--display-scale-y));transform-origin:left center}.results-subtitle{font-family:var(--font-body);font-size:10px;color:var(--clr-sidebar-text-dim);font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-top:4px}.results-minimize-btn{width:34px;height:34px;border:2px solid rgba(232,240,74,.5);background:transparent;color:var(--clr-lime);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.results-minimize-btn:hover{background:rgba(232,240,74,.12);border-color:var(--clr-lime)}.results-minimize-btn:active{transform:translateY(1px)}.results-body{flex:1 1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin;scrollbar-color:var(--clr-border-lt) transparent}.results-footer{padding:16px 20px;border-top:2px solid var(--clr-primary);flex-shrink:0}.section-heading{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--clr-text-muted);letter-spacing:.1em;text-transform:uppercase}.route-option-card{width:100%;background:var(--clr-bg-alt);border:2px solid var(--clr-border-lt);padding:12px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .16s ease;display:block}.route-option-card:hover{border-color:var(--clr-primary);transform:translateY(-2px)}.route-option-card.active{border-color:var(--clr-primary);border-width:2px;background:var(--clr-bg);box-shadow:4px 4px 0 var(--clr-primary);transform:translateY(-1px)}.route-option-header{display:flex;justify-content:space-between;align-items:flex-start}.route-option-name{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--clr-text);letter-spacing:.04em;text-transform:uppercase}.route-option-meta{font-family:var(--font-body);font-size:11px;color:var(--clr-text-muted);margin-top:3px}.selected-route-summary{border:2px solid var(--clr-border-lt);background:var(--clr-bg-alt);padding:12px}.selected-route-line{font-family:var(--font-body);font-size:13px;font-weight:800;color:var(--clr-text);text-transform:uppercase;letter-spacing:.06em;line-height:1.35;margin-top:7px}.route-summary-card{background:var(--clr-bg-alt);border:2px solid var(--clr-border);padding:16px}.route-summary-heading{margin-bottom:8px}.route-summary-text{font-family:var(--font-body);font-size:13px;color:var(--clr-text-muted);line-height:1.6}.route-highlights{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.route-highlight-pill{background:var(--clr-primary);color:var(--clr-lime);font-family:var(--font-body);font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1;padding:7px 9px;text-transform:uppercase}.route-detail-signals{display:flex;flex-direction:column;gap:9px;margin-top:10px}.route-detail-row{display:grid;grid-template-columns:minmax(92px,.85fr) minmax(70px,1fr) 38px;align-items:center;grid-gap:8px;gap:8px}.route-detail-label,.route-detail-value{font-family:var(--font-body);font-size:10px;font-weight:800;color:var(--clr-text-muted);letter-spacing:.06em;text-transform:uppercase}.route-detail-value{text-align:right}.route-detail-track{height:7px;border:1px solid var(--clr-border-lt);background:var(--clr-bg-alt);overflow:hidden}.route-detail-fill{display:block;height:100%;background:var(--clr-primary)}.route-detail-actions{display:grid;justify-items:start;grid-gap:8px;gap:8px;margin-top:12px}.route-details-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:30px;width:-moz-fit-content;width:fit-content;margin-top:0;border:2px solid var(--clr-border-lt);background:var(--clr-bg-alt);color:var(--clr-primary);font-family:var(--font-body);font-size:10px;font-weight:900;letter-spacing:.09em;line-height:1.1;padding:7px 10px;text-transform:uppercase;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.route-details-toggle:hover{border-color:var(--clr-primary);background:rgba(3,39,7,.06)}.route-session-dock{position:fixed;right:calc(24px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:45;width:min(410px,calc(100vw - 48px));border:2px solid var(--clr-primary);background:hsla(60,20%,95%,.94);color:var(--clr-primary);box-shadow:6px 6px 0 rgba(26,46,26,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px;animation:dockRise .24s ease both}@keyframes dockRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.route-session-dock-planningNewRoute{border-color:var(--clr-border-lt)}.route-session-dock-summary{min-width:0;border:0;background:transparent;color:inherit;text-align:left;padding:0;cursor:pointer}.route-session-dock-kicker,.route-session-dock-route{display:block;font-family:var(--font-body);text-transform:uppercase}.theme-night .route-details-toggle{color:var(--clr-lime);border-color:rgba(232,240,74,.24);background:hsla(60,20%,95%,.04)}.theme-night .route-details-toggle:hover{border-color:rgba(232,240,74,.58);background:rgba(232,240,74,.08)}.route-session-dock-kicker{color:var(--clr-text-muted);font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}.route-session-dock-route{color:var(--clr-primary);font-size:13px;font-weight:900;letter-spacing:.06em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-session-dock-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) 40px;grid-gap:8px;gap:8px}.route-session-dock-icon,.route-session-dock-secondary,.route-session-dock-start{min-height:38px;border:2px solid var(--clr-primary);font-family:var(--font-body);font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;cursor:pointer}.route-session-dock-start{background:var(--clr-primary);color:var(--clr-lime)}.route-session-dock-icon,.route-session-dock-secondary{background:transparent;color:var(--clr-primary)}.route-session-dock-icon{display:inline-flex}.btn-new-route,.route-session-dock-icon{align-items:center;justify-content:center}.btn-new-route{width:100%;margin-top:10px;background:transparent;border:2px solid var(--clr-border-lt);color:var(--clr-text-muted);font-family:var(--font-body);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:10px;cursor:pointer;display:flex;gap:6px;transition:border-color .15s,color .15s}.btn-new-route:hover{border-color:var(--clr-primary);color:var(--clr-primary)}.theme-night .planner-panel,.theme-night .results-header{background:var(--clr-primary)}.theme-night .bottom-sheet-results,.theme-night .results-panel,.theme-night .tablet-panel-content .results-panel,.theme-night .tablet-panel-results{background:var(--clr-bg)}.theme-night .results-panel{border-left-color:var(--clr-lime)}.theme-night .results-footer{border-top-color:var(--clr-border-lt)}.theme-night .route-option-card,.theme-night .route-summary-card,.theme-night .selected-route-summary{background:var(--clr-bg-alt);border-color:var(--clr-border-lt)}.theme-night .route-option-card.active{border-color:var(--clr-lime);box-shadow:4px 4px 0 var(--clr-lime)}.theme-night .route-detail-fill{color:var(--clr-white)}.theme-night .route-detail-track{background:#0f130f;border-color:var(--clr-border-lt)}.theme-night .route-detail-fill,.theme-night .route-highlight-pill{background:var(--clr-lime);color:var(--clr-primary)}.theme-night .route-session-dock{background:rgba(5,7,5,.9);border-color:rgba(232,240,74,.72);color:var(--clr-lime);box-shadow:6px 6px 0 rgba(232,240,74,.12),0 14px 34px rgba(0,0,0,.42)}.theme-night .route-session-dock-kicker{color:var(--clr-text-muted)}.theme-night .route-session-dock-route{color:var(--clr-lime)}.theme-night .route-session-dock-start{background:var(--clr-lime);border-color:var(--clr-lime);color:var(--clr-primary)}.theme-night .route-session-dock-icon,.theme-night .route-session-dock-secondary{border-color:rgba(232,240,74,.72);color:var(--clr-lime)}.theme-night .btn-new-route:hover{border-color:var(--clr-lime);color:var(--clr-lime)}.loading-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:var(--clr-lime);opacity:0;animation:fade-in .36s ease forwards}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}.loading-main{width:min(680px,100%);display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2.7vh,28px);margin:0 auto;max-height:calc(100dvh - 48px);padding:24px 0;opacity:0;animation:loading-rise .5s cubic-bezier(.22,1,.36,1) .08s forwards}@keyframes loading-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-brand{order:1;font-size:clamp(50px,12vw,88px);color:var(--clr-primary);text-shadow:0 2px 0 hsla(0,0%,100%,.42)}.loading-brand:after{height:.07em;opacity:.82}.loading-route-mark{order:3;position:relative;width:min(156px,42vw);aspect-ratio:1;height:auto;display:grid;place-items:center}.loading-blob-stage{--loader-bg:var(--clr-primary);--loader-ink:var(--clr-lime);filter:drop-shadow(0 14px 28px rgba(3,39,7,.18))}.loading-blob-loader{width:100%;aspect-ratio:1;box-sizing:border-box;border:14px solid transparent;background:radial-gradient(farthest-side,var(--loader-ink) 98%,transparent) 0 0 /28% 28%,radial-gradient(farthest-side,var(--loader-ink) 98%,transparent) 100% 0 /28% 28%,radial-gradient(farthest-side,var(--loader-ink) 98%,transparent) 100% 100% /28% 28%,radial-gradient(farthest-side,var(--loader-ink) 98%,transparent) 0 100% /28% 28%,linear-gradient(var(--loader-ink) 0 0) 50% /52% 52%,var(--loader-bg);background-repeat:no-repeat;filter:blur(5px) contrast(12);animation:loading-blob .86s infinite}@keyframes loading-blob{to{background-position:100% 0,100% 100%,0 100%,0 0,50%}}.loading-copy{order:2;text-align:center}.loading-title{font-family:var(--font-body);font-size:clamp(32px,6.2vw,46px);font-weight:900;color:var(--clr-primary);letter-spacing:0;line-height:1.04;margin:0 0 10px;text-transform:none}.loading-subtitle{font-family:var(--font-body);font-size:clamp(14px,2.5vw,18px);color:rgba(3,39,7,.72);line-height:1.45;max-width:560px;margin:0 auto}.loading-steps{order:4;width:min(520px,100%);display:flex;flex-direction:column;gap:9px}.loading-step{min-height:50px;border:2px solid rgba(3,39,7,.18);background:hsla(0,0%,100%,.16);color:rgba(3,39,7,.62);display:flex;align-items:center;gap:14px;padding:11px 15px;transition:border-color .2s,background .2s,color .2s,transform .2s}.loading-step.active{background:hsla(0,0%,100%,.5);border-color:var(--clr-primary);color:var(--clr-primary);transform:translateX(3px)}.loading-step.done{background:rgba(3,39,7,.07);color:var(--clr-primary)}.loading-step-icon{flex-shrink:0;width:20px;height:20px}.loading-step-label{font-family:var(--font-body);font-size:15px;font-weight:800;letter-spacing:.03em}.theme-night .loading-overlay{background:#030503}.theme-night .loading-brand,.theme-night .loading-title{color:var(--clr-lime)}.theme-night .loading-subtitle{color:var(--clr-text-muted)}.theme-night .loading-route-mark{--loader-bg:var(--clr-lime);--loader-ink:#030503;filter:drop-shadow(0 18px 36px rgba(232,240,74,.18))}.theme-night .loading-step{background:hsla(0,0%,100%,.05);border-color:rgba(232,240,74,.12);color:var(--clr-text-muted)}.theme-night .loading-step.active{background:rgba(232,240,74,.08);border-color:var(--clr-lime);color:var(--clr-lime)}.theme-night .loading-step.done{background:rgba(232,240,74,.06);border-color:rgba(232,240,74,.14);color:var(--clr-lime)}.handoff-overlay{position:fixed;inset:0;background:hsla(0,0%,4%,.75);z-index:600;display:flex;align-items:center;justify-content:center;padding:24px}.handoff-modal{background:var(--clr-bg);border:3px solid var(--clr-primary);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.theme-night .handoff-modal{border-color:rgba(232,240,74,.42);background:#080b08;color:var(--clr-text)}.handoff-header{background:var(--clr-primary);padding:20px 24px;border-bottom:3px solid var(--clr-lime)}.handoff-subtitle{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-sidebar-text-dim);margin-bottom:4px}.handoff-title{font-family:var(--font-display);font-size:24px;font-weight:900;color:var(--clr-lime);letter-spacing:var(--display-letter-spacing);text-transform:uppercase;line-height:1;-webkit-text-stroke:0 currentColor;paint-order:normal}.handoff-body{padding:24px;display:flex;flex-direction:column;gap:20px;flex:1 1}.handoff-route-name{font-family:var(--font-body);font-size:20px;font-weight:700;color:var(--clr-text);letter-spacing:.04em;text-transform:uppercase}.handoff-route-meta{font-family:var(--font-body);font-size:12px;margin-top:4px}.handoff-route-meta,.theme-night .handoff-route-meta{color:var(--clr-text-muted)}.handoff-stats{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--clr-primary)}.theme-night .handoff-stats{border-color:var(--clr-border-lt)}.handoff-stat{padding:12px;border-right:2px solid var(--clr-primary);display:flex;flex-direction:column;gap:2px}.theme-night .handoff-stat{border-right-color:var(--clr-border-lt)}.handoff-stat:last-child{border-right:none}.handoff-stat-label{font-family:var(--font-body);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-text-muted)}.handoff-stat-value{font-family:var(--font-body);font-size:18px;font-weight:500;color:var(--clr-text);line-height:1}.handoff-stat-value.fit-label{font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.15}.handoff-nav-options{display:flex;flex-direction:column;gap:8px}.nav-option-btn,.nav-option-link{display:flex;align-items:center;gap:12px;background:var(--clr-bg-alt);border:2px solid var(--clr-border-lt);color:var(--clr-text);font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:14px 16px;text-decoration:none;cursor:pointer;transition:border-color .15s,background .15s;width:100%;text-align:left}.nav-option-btn:hover,.nav-option-link:hover{border-color:var(--clr-primary);background:var(--clr-bg)}.theme-night .nav-option-btn,.theme-night .nav-option-link{background:var(--clr-bg-alt);border-color:var(--clr-border-lt);color:var(--clr-text)}.theme-night .nav-option-btn:hover,.theme-night .nav-option-link:hover{border-color:rgba(232,240,74,.62);background:#101410}.handoff-footer{padding:20px 24px;border-top:2px solid var(--clr-primary);display:flex;flex-direction:column;gap:10px}.theme-night .handoff-footer{border-top-color:var(--clr-border-lt);background:#0b0e0b}.btn-cancel{width:100%;background:transparent;border:2px solid var(--clr-border-lt);color:var(--clr-text-muted);font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px;cursor:pointer;transition:border-color .15s,color .15s}.btn-cancel:hover{border-color:var(--clr-primary);color:var(--clr-text)}.theme-night .btn-cancel{border-color:var(--clr-border-lt);color:var(--clr-text-muted)}.theme-night .btn-cancel:hover{border-color:rgba(232,240,74,.62);color:var(--clr-lime)}.failed-card{--failed-title-color:var(--clr-text);--failed-body-color:var(--clr-text-muted);--failed-chip-bg:var(--clr-bg-alt);--failed-chip-border:var(--clr-primary);--failed-chip-color:var(--clr-text);--failed-chip-hover-bg:var(--clr-primary);--failed-chip-hover-color:var(--clr-sidebar-text);padding:32px 24px;flex-direction:column;gap:16px;text-align:center}.failed-card,.failed-icon{display:flex;align-items:center}.failed-icon{width:56px;height:56px;background:#ffeaea;border:2px solid #e85454;justify-content:center;color:#e85454}.failed-title{font-family:var(--font-body);font-size:18px;font-weight:800;color:var(--failed-title-color);letter-spacing:.04em;text-transform:uppercase}.failed-message{font-family:var(--font-body);font-size:13px;color:var(--failed-body-color);line-height:1.5}.failed-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.failed-chip{min-height:36px;padding:0 14px;border:2px solid var(--failed-chip-border);background:var(--failed-chip-bg);color:var(--failed-chip-color);font-family:var(--font-body);font-size:12px;font-weight:800;cursor:pointer}.failed-chip:hover{background:var(--failed-chip-hover-bg);color:var(--failed-chip-hover-color)}.failed-action-list{display:flex;flex-direction:column;gap:6px;width:100%;max-width:320px}.failed-action-item{font-family:var(--font-body);font-size:12px;color:var(--failed-body-color);line-height:1.35}.app-footer{height:var(--footer-height);background:var(--clr-primary);border-top:2px solid var(--clr-lime);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0}.footer-text{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-sidebar-text-dim)}@media (min-width:1441px) and (max-width:2599px){:root{--display-heavy-stroke:0;--display-command-stroke:0;--display-logo-stroke:0;--display-squash-y:1;--command-squash-y:1}.viewport-desktop{--sidebar-width:clamp(440px,24vw,500px)}.app-header{width:clamp(270px,22vw,380px);height:52px}.header-logo{font-size:30px}.theme-toggle-btn{right:9px;width:34px;height:34px}.theme-toggle-btn svg{width:20px;height:20px}.viewport-desktop .panel-header{padding:24px 24px 18px}.viewport-desktop .panel-title{font-size:42px;letter-spacing:var(--display-letter-spacing);line-height:1}.viewport-desktop .panel-subtitle{font-size:13px;margin-top:8px}.viewport-desktop .panel-body{padding:20px 24px;gap:20px}.viewport-desktop .panel-footer{padding:18px 24px 24px}.viewport-desktop .form-label{font-size:15px}.viewport-desktop .location-input{font-size:16px;padding:15px 14px 15px 44px}.viewport-desktop .location-input-icon{left:14px;width:20px;height:20px}.viewport-desktop .use-location-btn{font-size:15px;padding:13px 14px}.viewport-desktop .mode-option{padding:22px 8px;gap:8px}.viewport-desktop .mode-option svg,.viewport-desktop .vibe-tile svg{width:22px;height:22px}.viewport-desktop .mode-option-label{font-size:16px}.viewport-desktop .mode-option-status{font-size:11px}.viewport-desktop .time-option{padding:18px 5px}.viewport-desktop .time-option-value{font-size:34px}.viewport-desktop .time-option-unit{font-size:12px}.viewport-desktop .vibe-grid{gap:8px}.viewport-desktop .vibe-tile{min-height:clamp(122px,7.4vw,144px);padding:24px 10px 22px;gap:14px}.viewport-desktop .vibe-tile-label{font-size:13px}.viewport-desktop .vibe-count{font-size:12px}.viewport-desktop .btn-generate{min-height:88px;font-size:32px;letter-spacing:var(--display-letter-spacing);padding:24px 20px}.viewport-desktop .results-header{padding:20px 24px 16px}.viewport-desktop .results-title{font-size:25px}.viewport-desktop .results-subtitle{font-size:12px}.viewport-desktop .results-body{padding:20px 24px;gap:22px}.viewport-desktop .results-footer{padding:18px 24px 24px}.viewport-desktop .route-option-card{padding:16px}.viewport-desktop .route-option-name{font-size:18px}.viewport-desktop .route-option-meta,.viewport-desktop .route-summary-text{font-size:15px}.viewport-desktop .section-heading{font-size:14px}.viewport-desktop .route-detail-label,.viewport-desktop .route-detail-value{font-size:12px}.loading-brand{font-size:clamp(96px,6.4vw,132px)}.loading-main{width:min(920px,64vw);gap:clamp(20px,2.3vh,32px)}.loading-route-mark{width:clamp(154px,9vw,188px)}.loading-steps{width:min(600px,40vw);gap:10px}.loading-step{min-height:58px;padding:14px 18px}.loading-step-icon{width:24px;height:24px}.loading-step-label{font-size:17px}.loading-title{font-size:clamp(48px,2.75vw,58px);line-height:1;margin-bottom:12px}.loading-subtitle{font-size:clamp(18px,1vw,21px);max-width:650px}}@media (min-width:1025px) and (max-width:1440px){.viewport-tablet .tablet-adaptive-panel{width:clamp(430px,39vw,500px)}.viewport-tablet .app-header{left:calc(clamp(430px, 39vw, 500px) + ((100vw - clamp(430px, 39vw, 500px)) / 2))}.tablet-panel-content .panel-title{font-size:42px;letter-spacing:var(--display-letter-spacing);line-height:1}.tablet-panel-content .panel-subtitle{font-size:13px}.tablet-panel-content .form-label{font-size:15px}.tablet-panel-content .location-input{font-size:16px;padding:15px 14px 15px 44px}.tablet-panel-content .mode-option-label{font-size:16px}.tablet-panel-content .time-option-value{font-size:34px}.tablet-panel-content .vibe-tile-label{font-size:12px}.tablet-panel-content .btn-generate{min-height:82px;font-size:32px;letter-spacing:var(--display-letter-spacing);line-height:1.2}.loading-main{width:min(680px,78vw);gap:clamp(20px,2.7vh,30px)}.loading-brand{font-size:clamp(78px,7.8vw,110px)}.loading-route-mark{width:clamp(140px,13vw,170px);height:auto}.loading-title{font-size:clamp(42px,4.3vw,54px)}.loading-subtitle{font-size:clamp(16px,1.6vw,20px);max-width:600px}.loading-steps{width:min(560px,68vw);gap:10px}.loading-step{min-height:54px;padding:12px 16px}.loading-step-label{font-size:16px}}@media (min-width:2600px){:root{--sidebar-width:clamp(610px,17.2vw,690px);--display-heavy-stroke:0;--display-command-stroke:0;--display-logo-stroke:0;--display-squash-y:1;--command-squash-y:1}.app-header{top:calc(24px + env(safe-area-inset-top));width:clamp(360px,14vw,460px);height:58px}.header-logo{font-size:34px}.theme-toggle-btn{right:10px;width:38px;height:38px}.theme-toggle-btn svg{width:22px;height:22px}.panel-header{padding:28px 28px 22px}.panel-title{font-size:clamp(70px,2vw,82px);line-height:.92}.panel-subtitle{font-size:15px;margin-top:8px}.panel-body{padding:22px 28px;gap:22px}.panel-footer{padding:22px 28px 28px}.form-section{gap:10px}.form-label{font-size:17px}.location-input{font-size:18px;padding:18px 16px 18px 48px}.location-input-icon{left:16px;width:22px;height:22px}.use-location-btn{margin-top:10px;font-size:17px;padding:15px 14px}.use-location-btn svg{width:20px;height:20px}.mode-option{padding:26px 8px;gap:10px}.mode-option svg{width:24px;height:24px}.mode-option-label{font-size:18px}.mode-option-status{font-size:12px}.time-option{padding:22px 6px}.time-option-value{font-size:40px}.time-option-unit{font-size:13px}.vibe-grid{gap:8px}.vibe-tile{min-height:clamp(148px,4vw,168px);padding:30px 12px 28px;gap:16px}.vibe-tile svg{width:25px;height:25px}.vibe-tile-label{font-size:15px;letter-spacing:.08em}.vibe-count{font-size:13px}.btn-generate{min-height:112px;font-size:clamp(52px,1.5vw,62px);padding:32px 22px}.results-header{padding:24px 28px 20px}.results-title{font-size:30px}.results-subtitle{font-size:14px}.results-body{padding:22px 28px;gap:24px}.results-footer{padding:22px 28px 28px}.section-heading{font-size:17px}.route-option-card{padding:20px}.route-option-name{font-size:22px}.route-option-meta{font-size:16px}.route-summary-text,.selected-route-line{font-size:19px;line-height:1.65}.route-detail-label,.route-detail-value,.route-details-toggle{font-size:14px}.route-detail-track{height:10px}.handoff-stat{padding:18px}.handoff-stat-label{font-size:13px}.handoff-stat-value{font-size:32px}.route-summary-card{padding:24px}.route-summary-heading{margin-bottom:16px}.route-highlight-pill{font-size:13px;padding:9px 11px}.loading-main{width:min(980px,52vw);gap:clamp(24px,2.2vh,36px)}.loading-brand{font-size:clamp(128px,5.8vw,172px)}.loading-route-mark{width:clamp(188px,7.2vw,236px);height:auto}.loading-title{font-size:clamp(64px,2.8vw,84px)}.loading-subtitle{font-size:clamp(21px,.9vw,26px);max-width:780px}.loading-steps{width:min(720px,36vw);gap:12px}.loading-step{min-height:68px;padding:16px 20px}.loading-step-label{font-size:19px}}@media (min-width:768px) and (max-width:1440px){.viewport-tablet .app-main{position:relative}.viewport-tablet .map-canvas{width:100%;flex:1 1}.viewport-tablet .map-zoom-controls{top:calc(94px + env(safe-area-inset-top));right:calc(18px + env(safe-area-inset-right))}.viewport-tablet .route-session-dock{right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 36px))}.viewport-tablet .route-session-dock-route{font-size:12px}.viewport-tablet .app-header{left:calc(clamp(360px, 36vw, 430px) + ((100vw - clamp(360px, 36vw, 430px)) / 2));width:clamp(240px,30vw,360px)}.tablet-adaptive-panel{position:absolute;top:calc(88px + env(safe-area-inset-top));bottom:calc(16px + env(safe-area-inset-bottom));left:calc(14px + env(safe-area-inset-left));width:clamp(360px,36vw,430px);z-index:50;display:flex;flex-direction:column;overflow:hidden;border-radius:28px 28px 10px 10px;box-shadow:0 22px 54px rgba(10,20,10,.28);animation:tabletPanelRise .36s cubic-bezier(.2,.9,.2,1) both}.tablet-panel-planner{background:var(--clr-primary);border:3px solid rgba(232,240,74,.92)}.tablet-panel-results{background:var(--clr-bg);border:3px solid var(--clr-primary);border-top-color:var(--clr-lime)}.tablet-panel-handle{height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:inherit}.tablet-panel-handle:before{content:"";width:44px;height:4px;border-radius:999px;background:hsla(97,24%,81%,.45)}.tablet-panel-results .tablet-panel-handle{background:var(--clr-primary)}.tablet-panel-results .tablet-panel-handle:before{background:var(--clr-sidebar-text-dim)}.tablet-panel-content{flex:1 1;min-height:0;overflow:hidden;display:flex}.tablet-panel-content .planner-panel,.tablet-panel-content .results-panel{width:100%;height:100%;min-height:0;border:none;position:static;flex-shrink:1;z-index:auto}.tablet-panel-content .planner-panel{background:transparent}.tablet-panel-content .results-panel{background:var(--clr-bg);overflow:hidden}.tablet-panel-content .results-header{margin:0;border-top:none}.tablet-panel-content .failed-card{--failed-title-color:#f4f6ef;--failed-body-color:#d8e1d2;--failed-chip-bg:hsla(60,20%,95%,.08);--failed-chip-border:rgba(232,240,74,.24);--failed-chip-color:#f4f6ef;--failed-chip-hover-bg:var(--clr-lime);--failed-chip-hover-color:#050705;width:100%;min-height:100%;padding:36px 22px;background:var(--clr-primary);color:var(--clr-sidebar-text)}.tablet-panel-content .panel-header{padding:18px 18px 14px}.tablet-panel-content .panel-title{font-size:clamp(34px,4.4vw,50px)}.tablet-panel-content .panel-body,.tablet-panel-content .results-body{padding:14px 18px}.tablet-panel-content .panel-footer,.tablet-panel-content .results-footer{padding:14px 18px 18px}.tablet-panel-content .btn-generate{min-height:clamp(58px,6.4vw,70px);padding:clamp(12px,1.45vw,16px) 14px;font-size:clamp(20px,2.1vw,26px);letter-spacing:-.02em;line-height:1.05;gap:8px}.tablet-panel-content .vibe-tile{min-height:88px;padding:16px 6px 14px}.tablet-panel-content .results-footer{box-shadow:0 -8px 18px rgba(26,46,26,.08)}@keyframes tabletPanelRise{0%{opacity:0;transform:translateY(28px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}}@media (min-width:1025px) and (max-width:1440px){.viewport-tablet .tablet-adaptive-panel{width:clamp(430px,39vw,500px)}.viewport-tablet .app-header{left:calc(clamp(430px, 39vw, 500px) + ((100vw - clamp(430px, 39vw, 500px)) / 2));width:clamp(280px,28vw,380px);height:52px}.viewport-tablet .header-logo{font-size:30px}.tablet-panel-content .panel-title{font-size:clamp(46px,5vw,58px);line-height:.95}.tablet-panel-content .panel-subtitle{font-size:13px}.tablet-panel-content .panel-body,.tablet-panel-content .results-body{padding:18px 22px;gap:18px}.tablet-panel-content .panel-footer,.tablet-panel-content .results-footer{padding:18px 22px 22px}.tablet-panel-content .form-label{font-size:15px}.tablet-panel-content .location-input{font-size:16px;padding:15px 14px 15px 44px}.tablet-panel-content .mode-option{padding:22px 8px}.tablet-panel-content .mode-option-label{font-size:16px}.tablet-panel-content .time-option{padding:18px 5px}.tablet-panel-content .time-option-value{font-size:34px}.tablet-panel-content .vibe-tile{min-height:112px}.tablet-panel-content .vibe-tile-label{font-size:12px}.tablet-panel-content .btn-generate{min-height:82px;font-size:clamp(34px,3vw,42px)}}@media (min-width:768px) and (max-width:1440px){.viewport-tablet.route-session-resultsMinimized .app-header{left:50%}}@media (max-width:767px){.map-zoom-controls{display:none}.app-header{top:calc(10px + env(safe-area-inset-top));width:min(250px,calc(100vw - 96px));height:42px;padding:0 18px;border-radius:999px;z-index:80}.app-header .header-brand-block{gap:1px}.app-header .header-logo{font-size:24px}.app-header .header-kicker{display:none}.app-header-context{width:min(250px,calc(100vw - 96px));height:42px}.app-header-context .header-route-context{gap:8px;font-size:clamp(12px,3.35vw,15px);letter-spacing:.075em}.app-header-context .header-route-context span:not(:last-child):after{margin-left:8px}.app-main{position:relative}.map-canvas{flex:1 1;width:100%;z-index:1}.mobile-planner-surface{position:absolute;top:calc(104px + env(safe-area-inset-top));right:0;bottom:0;left:0;z-index:30;display:flex;background:var(--clr-primary);border-top:1px solid var(--clr-sidebar-border);animation:mobilePlannerIn .36s cubic-bezier(.22,1,.36,1) both}.mobile-planner-surface:before{content:"";position:absolute;top:-42px;right:0;left:0;height:42px;pointer-events:none;background:linear-gradient(transparent,var(--clr-primary))}.mobile-planner-surface .failed-card,.mobile-planner-surface .planner-panel{width:100%;height:100%;min-height:0;border:none;position:relative;z-index:1}.mobile-planner-surface .failed-card{--failed-title-color:#f4f6ef;--failed-body-color:#d8e1d2;--failed-chip-bg:hsla(60,20%,95%,.08);--failed-chip-border:rgba(232,240,74,.24);--failed-chip-color:#f4f6ef;--failed-chip-hover-bg:var(--clr-lime);--failed-chip-hover-color:#050705}.mobile-planner-surface .planner-panel{background:transparent}.mobile-planner-surface .panel-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-planner-surface .vibe-expand-btn{display:flex}@keyframes mobilePlannerIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.bottom-sheet-container{position:fixed;bottom:0;left:0;right:0;max-height:calc(100dvh - 54px - env(safe-area-inset-top));border-top:3px solid var(--clr-lime);border-radius:18px 18px 0 0;z-index:40;display:flex;flex-direction:column;box-shadow:0 -8px 32px rgba(0,0,0,.2);touch-action:pan-y;overscroll-behavior:contain}.bottom-sheet-planner{background:var(--clr-primary)}.bottom-sheet-results{background:var(--clr-bg);border-top:3px solid var(--clr-lime);overflow:hidden}.bottom-sheet-drag-zone{width:100%;height:34px;padding:0;border:none;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.bottom-sheet-handle{width:40px;height:4px;background:var(--clr-sidebar-text-dim);border-radius:2px}.bottom-sheet-drag-zone:active{cursor:-webkit-grabbing;cursor:grabbing}.bottom-sheet-results .bottom-sheet-handle{background:var(--clr-primary)}.bottom-sheet-results.bottom-sheet-peek .bottom-sheet-handle{background:var(--clr-sidebar-text-dim)}.bottom-sheet-content{flex:1 1;min-height:0;overflow-y:hidden;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.bottom-sheet-full .bottom-sheet-content,.bottom-sheet-mid .bottom-sheet-content{overflow-y:auto;touch-action:pan-y}.bottom-sheet-container.is-dragging .bottom-sheet-content,.bottom-sheet-peek .bottom-sheet-content{overflow-y:hidden;touch-action:none}.bottom-sheet-peek{border-top-color:var(--clr-lime);background:var(--clr-primary)}.bottom-sheet-full,.bottom-sheet-mid{background:var(--clr-bg)}.mobile-route-chip{position:fixed;right:auto;bottom:calc(var(--mobile-sheet-height, 0px) + 14px);left:50%;z-index:38;width:max-content;max-width:min(286px,calc(100vw - 72px));display:flex;align-items:center;justify-content:center;gap:9px;margin:0 auto;transform:translateX(-50%);background:rgba(26,46,26,.94);color:var(--clr-lime);border:2px solid var(--clr-lime);box-shadow:0 8px 26px rgba(0,0,0,.34);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--font-body);font-size:10px;font-weight:900;letter-spacing:.06em;line-height:1;padding:8px 14px;text-transform:uppercase;pointer-events:none;animation:mobileChipIn .26s ease both;white-space:nowrap}.mobile-route-chip span:not(:last-child):after{content:"";display:inline-block;width:3px;height:3px;margin-left:9px;border-radius:999px;background:currentColor;opacity:.48;vertical-align:middle}.mobile-route-chip-muted{opacity:.54;font-size:8px;margin-left:2px}.mobile-route-dock{position:fixed;left:50%;bottom:calc(var(--mobile-sheet-height, 0px) + 12px);z-index:42;width:min(336px,calc(100vw - 32px));transform:translateX(-50%);border:2px solid var(--clr-lime);background:rgba(26,46,26,.94);color:var(--clr-lime);box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:9px;animation:mobileChipIn .26s ease both}.mobile-route-dock-summary{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-body);font-size:10px;font-weight:900;letter-spacing:.06em;line-height:1;padding:0 4px 8px;text-transform:uppercase;white-space:nowrap}.mobile-route-dock-summary span:not(:last-child):after{content:"";display:inline-block;width:3px;height:3px;margin-left:9px;border-radius:999px;background:currentColor;opacity:.48;vertical-align:middle}.mobile-route-dock-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;grid-gap:7px;gap:7px}.mobile-route-dock-icon,.mobile-route-dock-link,.mobile-route-dock-start{min-height:36px;border:2px solid;font-family:var(--font-body);font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase}.mobile-route-dock-start{background:var(--clr-lime);color:var(--clr-primary);border-color:var(--clr-lime)}.mobile-route-dock-icon,.mobile-route-dock-link{background:transparent;color:var(--clr-lime)}.mobile-route-dock-icon{display:inline-flex;align-items:center;justify-content:center}@keyframes mobileChipIn{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.mobile-results-peek{height:100%;padding:0 16px 14px;display:flex;flex-direction:column;justify-content:center;gap:10px;background:var(--clr-primary);color:var(--clr-sidebar-text)}.mobile-peek-hint{font-family:var(--font-body);font-size:11px;font-weight:900;color:rgba(232,240,74,.82);letter-spacing:.1em;line-height:1.15;text-transform:uppercase}.mobile-peek-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.mobile-peek-route{min-width:0;min-height:64px;background:var(--clr-sidebar-2);border:2px solid var(--clr-sidebar-border);color:var(--clr-sidebar-text);padding:10px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.mobile-peek-route.active{background:var(--clr-lime);border-color:var(--clr-lime);color:var(--clr-primary);box-shadow:3px 3px 0 rgba(5,7,5,.75)}.mobile-peek-name{font-size:14px;letter-spacing:.01em}.mobile-peek-fit,.mobile-peek-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-body);font-weight:900;line-height:1;text-align:center;text-transform:uppercase}.mobile-peek-fit{font-size:8px;letter-spacing:.08em;opacity:.76}.mobile-results-panel{min-height:100%}.mobile-results-panel .results-header{padding-top:4px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.results-minimize-btn{width:34px;height:34px;border:2px solid rgba(232,240,74,.5);background:transparent;color:var(--clr-lime);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-results-panel .results-body{flex:1 1;min-height:0}.mobile-results-panel .route-options{margin-top:8px}.mobile-results-panel .route-option-card{padding:12px}.mobile-results-panel .route-option-card.active{border-color:var(--clr-primary);box-shadow:4px 4px 0 var(--clr-primary)}.mobile-results-panel .route-summary-card,.mobile-results-panel .selected-route-summary{padding:11px 12px}.mobile-results-panel .selected-route-line{font-size:11px}.mobile-results-panel .route-summary-text{font-size:12px;line-height:1.55}.mobile-results-panel .route-highlights{gap:6px;margin-top:8px}.mobile-results-panel .route-highlight-pill{font-size:9px;padding:6px 8px}.mobile-results-panel .route-detail-signals{gap:8px;margin-top:8px}.mobile-results-panel .route-detail-row{grid-template-columns:minmax(82px,.9fr) minmax(62px,1fr) 34px}.mobile-results-panel .route-detail-label,.mobile-results-panel .route-detail-value,.mobile-results-panel .route-details-toggle{font-size:9px}.mobile-sheet-more{width:100%;border:none;background:transparent;color:hsla(120,8%,52%,.78);font-family:var(--font-body);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:2px 10px 0}.theme-night .bottom-sheet-full,.theme-night .bottom-sheet-mid,.theme-night .mobile-results-panel,.theme-night .mobile-results-panel .results-footer{background:var(--clr-bg)}.theme-night .bottom-sheet-results .bottom-sheet-handle{background:rgba(232,240,74,.32)}.theme-night .mobile-route-chip{background:rgba(5,7,5,.88);border-color:rgba(232,240,74,.72);color:var(--clr-lime);box-shadow:0 10px 30px rgba(0,0,0,.58),0 0 18px rgba(232,240,74,.08)}.theme-night .mobile-route-dock{background:rgba(5,7,5,.9);border-color:rgba(232,240,74,.72);box-shadow:0 12px 32px rgba(0,0,0,.62),0 0 18px rgba(232,240,74,.08)}.theme-night .mobile-results-panel .route-option-card{background:var(--clr-bg-alt);border-color:var(--clr-border-lt);color:var(--clr-text)}.theme-night .mobile-results-panel .route-option-card.active{background:var(--clr-bg);border-color:var(--clr-lime);box-shadow:4px 4px 0 var(--clr-lime)}.theme-night .mobile-results-panel .route-detail-label,.theme-night .mobile-results-panel .route-detail-value,.theme-night .mobile-results-panel .route-option-meta,.theme-night .mobile-results-panel .route-option-name,.theme-night .mobile-results-panel .route-summary-text,.theme-night .mobile-results-panel .section-heading{color:var(--clr-text-muted)}.theme-night .mobile-results-panel .route-option-name,.theme-night .mobile-results-panel .selected-route-line{color:var(--clr-white)}.theme-night .mobile-results-panel .route-detail-track{background:#101410}.planner-panel{width:100%;height:auto;flex-shrink:0;background:transparent;border:none;display:flex;flex-direction:column;overflow:visible;z-index:auto}.panel-header{padding:16px 20px 12px;border-bottom:1px solid var(--clr-sidebar-border)}.panel-title{font-size:32px;letter-spacing:0;line-height:1}.panel-body{flex:1 1;overflow:visible;padding:12px 20px;gap:14px}.panel-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:var(--clr-primary);box-shadow:0 -10px 20px rgba(5,7,5,.16)}.bottom-sheet-content .btn-generate,.panel-footer .btn-generate{min-height:clamp(56px,7.2vw,62px);padding:14px 12px;font-size:24px;letter-spacing:0;line-height:1.2;gap:8px}.results-panel{width:100%;min-height:100%;height:auto;position:static;inset:auto;z-index:auto;border:none;background:var(--clr-bg);display:flex;flex-direction:column;overflow:visible}.results-header{padding:18px 20px 14px;background:var(--clr-primary);border-bottom:3px solid var(--clr-lime);flex-shrink:0;margin:0}.results-title{font-size:25px;letter-spacing:0;line-height:.98}.results-subtitle{font-size:11px;margin-top:6px;letter-spacing:.12em}.results-body{padding:18px 20px 20px;gap:20px}.results-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:14px 20px calc(18px + env(safe-area-inset-bottom));margin:0;background:var(--clr-bg);border-top:2px solid var(--clr-primary);box-shadow:0 -8px 18px rgba(26,46,26,.08);display:flex;flex-direction:column;gap:12px}.results-footer .btn-generate{min-height:clamp(56px,7.2vw,62px);padding:14px 12px;font-size:24px;letter-spacing:0;line-height:1.2}.results-footer .btn-new-route{min-height:52px;margin-top:0;padding:14px 16px;background:var(--clr-bg-alt);border-color:var(--clr-border-lt);font-size:12px}.vibe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vibe-tile{min-height:clamp(82px,24vw,104px);padding:14px 6px 12px;gap:8px}.vibe-tile-label{font-size:10px;letter-spacing:.075em}.loading-main{padding:18px 0;gap:clamp(16px,2.9vh,24px);width:100%}.loading-brand{font-size:clamp(48px,10vw,92px)}.loading-route-mark{width:clamp(124px,24vw,156px);height:auto}.loading-title{font-size:clamp(30px,5.4vw,44px)}.loading-subtitle{font-size:clamp(14px,2vw,18px);max-width:min(500px,92vw)}.loading-steps{width:100%;max-width:480px}.loading-step{min-height:48px;padding:10px 13px}.loading-step-label{font-size:clamp(13px,2.1vw,15px)}}@media (max-width:430px){.app-header{width:min(224px,calc(100vw - 92px));height:40px}.theme-toggle-btn{width:28px;height:28px;right:7px}.panel-header{padding:14px 16px 10px}.panel-title{font-size:28px}.panel-body,.results-body{padding:12px 16px 16px}.panel-footer,.results-footer{padding-right:16px;padding-left:16px}.form-label{font-size:11px}.location-input,.mode-option,.nav-option-btn,.nav-option-link,.time-option,.use-location-btn{min-height:44px}.location-input{font-size:16px;padding-top:12px;padding-bottom:12px}.mobile-results-peek{padding-right:12px;padding-left:12px;gap:8px}.mobile-route-dock{width:min(310px,calc(100vw - 24px));padding:8px}.mobile-route-dock-summary{font-size:9px;gap:7px}.mobile-route-dock-summary span:not(:last-child):after{margin-left:7px}.mobile-route-dock-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) 36px;gap:6px}.mobile-route-dock-icon,.mobile-route-dock-link,.mobile-route-dock-start{min-height:34px;font-size:9px}.mobile-peek-hint{font-size:10px;letter-spacing:.08em}.mobile-peek-routes{gap:6px}.mobile-peek-route{min-height:58px;padding:9px 5px}.mobile-peek-name{font-size:12px}.mobile-peek-fit{font-size:7px;letter-spacing:.06em}.mode-option{padding:12px 4px;gap:4px}.mode-option-label{font-size:11px}.mode-option-status{font-size:8px}.time-option{padding:11px 3px}.time-option-value{font-size:22px}.vibe-grid{gap:6px}.vibe-tile{min-height:74px;padding:10px 4px 9px;gap:6px}.vibe-tile svg{width:16px;height:16px}.route-option-header{gap:10px}.route-option-name{font-size:13px;letter-spacing:.03em}.handoff-stats{grid-template-columns:1fr}.handoff-stat{border-right:none;border-bottom:2px solid var(--clr-primary)}.handoff-stat:last-child{border-bottom:none}}@media (max-width:767px) and (max-height:720px){.app-header{top:calc(8px + env(safe-area-inset-top));height:38px}.panel-header{padding-top:12px;padding-bottom:8px}.panel-title{font-size:26px}.panel-body{gap:10px}.form-section{gap:6px}.vibe-tile{min-height:66px}.bottom-sheet-content .btn-generate,.panel-footer .btn-generate,.results-footer .btn-generate{min-height:52px;padding:12px;font-size:22px}.loading-main{gap:18px;padding:16px 0}.loading-brand{font-size:clamp(42px,9vw,58px)}.loading-route-mark{width:clamp(104px,22vw,126px);height:auto}.loading-title{font-size:clamp(26px,5vw,34px)}.loading-subtitle{font-size:12px;max-width:320px}.loading-steps{gap:8px}.loading-step{min-height:42px;padding:9px 11px}}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{display:none!important}.mapboxgl-canvas{outline:none!important}