/* ! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DM Sans,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[out\:json\]{out:json}.\[timeout\:20\]{timeout:20}.\[timeout\:25\]{timeout:25}:root{color-scheme:light;--color-bg-dark:#0d0c0a;--color-bg-light:#f0ece7;--color-bg-card:#161512;--color-text-primary:#fff;--color-text-dark:#0d0c0a;--color-text-muted:#a09d99;--color-accent:#ffdf52;--color-accent-dark:#0d0c0a;--color-border:hsla(0,0%,100%,.12);--color-border-light:rgba(13,12,10,.12);--maroon:#0d0c0a;--maroon-700:rgba(13,12,10,.85);--maroon-900:#0d0c0a;--maroon-50:rgba(13,12,10,.05);--gold:#ffdf52;--gold-700:#ebcb3e;--gold-50:rgba(255,223,82,.3);--bg:#f0ece7;--bg-alt:#e8e3dc;--surface:#fff;--surface-2:#f5f2ee;--line:rgba(13,12,10,.12);--line-2:rgba(13,12,10,.24);--ink:#0d0c0a;--ink-2:rgba(13,12,10,.7);--ink-3:rgba(13,12,10,.55);--ink-4:rgba(13,12,10,.38);--ink-on-maroon:#fff;--water:rgba(13,12,10,.55);--warn:#c4453b;--good:#3e7c4f;--font-display:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--track-display:-0.02em;--track-heading:-0.015em;--gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-5:24px;--gap-6:32px;--pad-card:20px;--container-max:1400px;--container-pad:clamp(24px,4vw,80px);--section-pad-y:clamp(80px,10vw,160px);--gap-lg:64px;--gap-xl:120px;--r-sm:0;--r-md:0;--r-lg:0;--r-xl:8px;--r-pill:999px;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--ease-default:cubic-bezier(0.25,0.1,0.25,1.0);--ease-out:cubic-bezier(0.0,0.0,0.2,1.0);--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-y:scroll}body,html{overflow-x:hidden}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-display);font-weight:600}h1{letter-spacing:var(--track-display);line-height:1}h2{letter-spacing:var(--track-heading);line-height:1.15}h3{line-height:1.2}a,button{font:inherit}a{color:inherit;text-decoration:none}.page-shell{padding:0 var(--gap-6) var(--gap-6)}.hero-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-4);padding:var(--gap-4) 0;background:transparent}.mark-symbol-img{height:32px;width:auto;display:block}.brand-mark,.footer-brand{gap:12px;font-size:.95rem;letter-spacing:-.02em}.brand-mark,.footer-brand,.mark-symbol{display:inline-flex;align-items:center;font-weight:700}.mark-symbol{justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;background:var(--maroon);color:var(--ink-on-maroon);font-size:.85rem}.nav-actions{display:flex;gap:var(--gap-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--r-pill);border:1.5px solid transparent;font-size:14px;font-weight:600;line-height:1;font-family:var(--font-sans);cursor:pointer;transition:background var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease,opacity var(--duration-fast) ease,transform var(--duration-fast) ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:rgba(13,12,10,.85)}.btn-emphasis{background:var(--color-accent);color:var(--color-accent-dark)}.btn-emphasis:hover{opacity:.9}.btn-ghost,.btn-secondary{background:transparent;color:var(--ink);border:1.5px solid rgba(13,12,10,.4);font-weight:500}.btn-ghost:hover,.btn-secondary:hover{border-color:rgba(13,12,10,.8);background:transparent}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--maroon);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.card,.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap-4)}.card-header h2{margin:0;font-size:1.25rem}.chip{display:inline-flex;align-items:center;padding:.6rem .85rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.section-head{display:grid;gap:var(--gap-2);max-width:560px}.section-head h2{margin:0;font-size:clamp(1.5rem,2.5vw,2rem)}.app-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.app-topnav{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 var(--gap-5);background:var(--bg-alt);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.topnav-wordmark{font-weight:700;font-size:1rem;color:var(--ink);text-decoration:none}.topnav-menu-wrap{position:relative}.topnav-logo-btn{display:flex;align-items:center;gap:6px;padding:0;background:transparent;border:none;cursor:pointer;color:var(--ink)}.topnav-logo-btn .mark-symbol{transition:opacity .15s}.topnav-logo-btn:hover .mark-symbol{opacity:.82}.topnav-chevron{color:var(--ink-3);transition:transform .2s;margin-top:1px}.topnav-chevron.open{transform:rotate(180deg)}.topnav-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:var(--gap-2) 0;z-index:200}.topnav-dropdown-user{display:flex;align-items:center;gap:10px;padding:12px 16px}.profile-avatar-sm{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:999px;background:var(--maroon);color:var(--ink-on-maroon);font-weight:700;font-size:.85rem}.topnav-dropdown-name{font-weight:700;font-size:.875rem;color:var(--ink)}.topnav-dropdown-email{font-size:.75rem;color:var(--ink-3)}.topnav-dropdown-divider{height:1px;background:var(--line);margin:var(--gap-2) 0}.topnav-dropdown-link{display:block;padding:10px 16px;font-size:.9rem;font-weight:600;color:var(--ink-2);transition:background .12s,color .12s}.topnav-dropdown-link.active,.topnav-dropdown-link:hover{background:rgba(0,0,0,.06);color:var(--maroon)}.topnav-dropdown-signout{display:block;width:100%;padding:10px 16px;text-align:left;font-size:.9rem;font-weight:600;color:var(--ink-3);background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s}.topnav-dropdown-signout:hover{background:var(--bg-alt);color:var(--ink)}.app-main{flex:1;padding:var(--gap-6)}.app-page{display:grid;gap:var(--gap-6)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap-6);flex-wrap:wrap}.page-copy{margin-top:var(--gap-2);color:var(--ink-2);max-width:54rem}.page-actions{display:flex;gap:var(--gap-3);flex-wrap:wrap}.btn-disabled{opacity:.6;cursor:not-allowed}.trips-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-4)}.trip-card{display:flex;flex-direction:column;gap:var(--gap-4);padding:0 0 1rem;border:none}.trip-image{height:200px;border-radius:var(--r-xl);background:var(--surface-2);display:grid;place-items:center;color:var(--ink-3)}.trip-image img{transition:filter .15s ease}.trip-card:hover .trip-image img{filter:brightness(1.06)}.trip-card-body{display:grid;gap:.5rem}.trip-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-4)}.trip-card-title{margin:0;font-size:28px;font-weight:600;letter-spacing:var(--track-heading);line-height:1.2}.trip-card:hover .trip-card-title{text-decoration:underline;text-underline-offset:3px}.trip-card-meta{margin:0;font-size:13px;font-weight:400;color:var(--ink-3)}.trip-card-photo-btn{position:absolute;top:10px;right:46px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--paper,#fff);border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;transition:border-color .15s ease}.trip-card-photo-btn:hover{border-color:var(--ink);color:var(--ink)}.trip-card-photo-busy{font-size:12px}.trip-summary{margin:0;color:var(--ink-3)}.panel{padding:var(--pad-card);border-radius:var(--r-xl);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-md)}.app-grid-two{display:grid;grid-template-columns:1.7fr 1fr;gap:var(--gap-5)}.chat-panel{display:grid;gap:var(--gap-4);margin-top:var(--gap-4)}.chat-bubble{display:grid;grid-template-columns:auto 1fr;gap:var(--gap-3);padding:var(--gap-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.chat-assistant{background:var(--bg-alt)}.chat-user{background:rgba(224,181,63,.07)}.chat-avatar{width:2.4rem;height:2.4rem;border-radius:999px;background:var(--maroon);color:var(--ink-on-maroon);display:grid;place-items:center;font-weight:700}.subpanel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap-4);margin-bottom:var(--gap-4)}.trip-summary-card{display:grid;gap:var(--gap-3);padding:var(--gap-4);border-radius:var(--r-lg);background:var(--bg-alt)}.trip-summary-card div{display:flex;justify-content:space-between;gap:var(--gap-4);font-family:var(--font-mono)}.trip-summary-card strong{color:var(--ink-2)}.trip-preview-map{min-height:260px;border-radius:var(--r-lg);background:linear-gradient(180deg,hsla(0,0%,100%,.55),hsla(14,36%,86%,.5));display:grid;place-items:center;color:var(--ink-3);font-weight:700}.trip-dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--gap-5)}.info-grid{display:grid;gap:var(--gap-3);margin:var(--gap-4) 0}.info-grid div{display:flex;justify-content:space-between;gap:var(--gap-4);padding:.75rem 0;border-bottom:1px solid var(--line)}.trip-actions{display:flex;flex-wrap:wrap;gap:var(--gap-3)}.chip-done,.chip-draft,.chip-planned{padding:.55rem .85rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase}.chip-draft{background:rgba(55,65,81,.09);color:#374151}.chip-planned{background:rgba(224,181,63,.12);color:var(--gold-700)}.chip-done{background:rgba(79,122,60,.12);color:var(--good)}.upload-layout{display:grid;gap:var(--gap-5)}.gpx-dropzone{border:2px dashed var(--line-2);border-radius:var(--r-xl);background:var(--surface);padding:3.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:var(--gap-4);text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease;outline:none}.gpx-dropzone.dragging,.gpx-dropzone:focus,.gpx-dropzone:hover{border-color:var(--maroon);background:var(--maroon-50)}.gpx-dropzone.dragging{box-shadow:0 0 0 2px var(--gold)}.gpx-dropzone-icon{width:64px;height:64px;border-radius:50%;background:var(--maroon-50);display:grid;place-items:center}.gpx-dropzone-heading{margin:0;font-size:1.5rem;letter-spacing:-.02em}.gpx-dropzone-sub{margin:0;color:var(--ink-3);font-size:.9rem}.upload-tips{padding:var(--pad-card);border-radius:var(--r-lg);background:var(--bg-alt);border:1px solid var(--line)}.upload-tips-list{margin:0;padding-left:1.2rem;display:grid;gap:8px}.upload-tips-list li{color:var(--ink-2);font-size:.875rem;line-height:1.5}.upload-success-icon{width:2rem;height:2rem;border-radius:999px;background:var(--good);color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0}.route-parsed-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-3)}.route-parsed-stat{display:flex;flex-direction:column;gap:4px;padding:.85rem;background:var(--bg-alt);border-radius:var(--r-md)}.route-parsed-stat span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4)}.route-parsed-stat strong{font-size:1.25rem;font-family:var(--font-mono);font-weight:700;letter-spacing:-.02em}.new-trip-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--gap-5);align-items:start}.new-trip-form{display:grid;gap:var(--gap-4)}.style-picker{display:flex;gap:var(--gap-3)}.style-option{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--ink-2)}.style-option input{accent-color:var(--maroon)}.pace-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-3)}.pace-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:var(--r-md);border:1.5px solid var(--line-2);background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.pace-option:hover{border-color:var(--maroon);background:rgba(0,0,0,.04)}.pace-option-selected{border-color:var(--maroon);background:rgba(0,0,0,.06)}.pace-option-hours{font-size:.875rem;font-weight:700;color:var(--maroon);font-family:var(--font-mono)}.pace-option-label{font-size:.75rem;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.pace-option-selected .pace-option-label{color:var(--ink-2)}.sport-collage{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-3);width:100%;max-width:520px;height:160px}.sport-collage-cell{border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.sport-collage-bikepack{background:linear-gradient(135deg,rgba(0,0,0,.18),rgba(210,160,60,.22))}.sport-collage-backpack{background:linear-gradient(135deg,rgba(60,140,130,.2),rgba(40,80,100,.25))}.sport-collage-packraft{background:linear-gradient(135deg,rgba(50,100,180,.18),rgba(60,140,130,.2))}.sport-collage-icon{font-size:2.5rem;opacity:.85}.sport-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-4);width:100%;max-width:520px}.sport-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;border-radius:var(--r-lg);border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s;text-align:center}.sport-option:hover{border-color:var(--maroon);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.sport-option-icon{font-size:2rem}.sport-option-label{font-weight:700;font-size:.95rem;color:var(--ink)}.sport-option-desc{font-size:.78rem;color:var(--ink-3);line-height:1.35}.sport-hero-image{width:100%;max-width:520px;height:120px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center}.sport-hero-bikepack{background:linear-gradient(120deg,rgba(0,0,0,.15),rgba(210,160,60,.2))}.sport-hero-backpack{background:linear-gradient(120deg,rgba(60,140,130,.18),rgba(40,80,100,.22))}.sport-hero-packraft{background:linear-gradient(120deg,rgba(50,100,180,.16),rgba(60,140,130,.18))}.sport-hero-icon{font-size:3rem;opacity:.75}.profile-fitness-stat{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;padding:6px 0;border-bottom:1px solid var(--line)}.profile-fitness-stat:last-of-type{border-bottom:none}.profile-fitness-stat span{color:var(--ink-3)}.profile-fitness-stat strong{font-weight:700}.form-input-error{border-color:var(--maroon)!important}.form-field-error{margin:4px 0 0;font-size:.8rem;color:var(--maroon);font-weight:500}.new-trip-map-preview{height:280px;border-radius:var(--r-lg);overflow:hidden;position:relative}.gear-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding-bottom:0}.gear-tab{padding:10px 20px 12px;background:transparent;border:none;border-bottom:2px solid transparent;font:500 14px/1 var(--font-sans);color:var(--ink-3);cursor:pointer;transition:color .14s,border-color .14s;margin-bottom:-1px}.gear-tab:hover{color:var(--ink)}.gear-tab.active{color:var(--maroon);border-bottom-color:var(--maroon);font-weight:600}.pack-stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-3)}.pack-stat-strip-item{display:flex;flex-direction:column;gap:4px;padding:var(--pad-card);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.pack-stat-strip-value{font-size:1.75rem;font-family:var(--font-mono);font-weight:700;letter-spacing:-.03em;line-height:1}.gear-accordion{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.gear-accordion-item{border-bottom:1px solid var(--line)}.gear-accordion-item:last-child{border-bottom:none}.gear-accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem var(--pad-card);background:transparent;border:none;cursor:pointer;gap:var(--gap-4);text-align:left;transition:background .15s ease}.gear-accordion-header:hover,.gear-accordion-item.open .gear-accordion-header{background:var(--bg-alt)}.gear-accordion-left{display:flex;align-items:center;gap:var(--gap-3);min-width:0}.gear-accordion-name{font-weight:700;font-size:.9375rem}.gear-accordion-summary{color:var(--ink-4);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-accordion-right{display:flex;align-items:center;gap:var(--gap-4);flex-shrink:0}.gear-accordion-weight{font-family:var(--font-mono);font-size:.9rem;font-weight:700;color:var(--ink-2)}.gear-accordion-chevron{font-size:.65rem;color:var(--ink-4);width:12px;text-align:center}.gear-accordion-body{border-top:1px solid var(--line)}.bike-card-add,.gear-accordion-body{padding:var(--pad-card);display:flex;flex-direction:column}.bike-card-add{align-items:center;justify-content:center;gap:var(--gap-3);border:2px dashed var(--line-2);border-radius:var(--r-xl);background:transparent;cursor:pointer;min-height:200px;transition:border-color .15s,background .15s}.bike-card-add:hover{border-color:var(--maroon);background:var(--maroon-50)}.trip-layout{display:flex;flex-direction:column;min-height:100%}.trip-subnav{justify-content:space-between;padding:10px 22px 0;border-bottom:1px solid var(--line);background:var(--surface);gap:20px;min-height:60px;margin:calc(-1 * var(--gap-6)) calc(-1 * var(--gap-6)) 0}.trip-subnav,.trip-subnav-left{display:flex;align-items:center}.trip-subnav-left{gap:12px;min-width:0}.trip-back-btn{font-size:.875rem;font-weight:600;color:var(--ink-3);white-space:nowrap;transition:color .15s ease}.trip-back-btn:hover{color:var(--maroon)}.trip-subnav-divider{width:1px;height:24px;background:var(--line-2);flex-shrink:0}.trip-subnav-name{font-size:.9375rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-subnav-meta{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-3);margin-top:2px;letter-spacing:.04em}.trip-tabs{display:flex;gap:2px;margin-bottom:-1px;flex-shrink:0}.trip-tab{display:inline-flex;align-items:center;padding:10px 14px 12px;background:transparent;border:0;cursor:pointer;font:500 13px/1 var(--font-sans);color:var(--ink-3);border-bottom:2px solid transparent;transition:color .14s,border-color .14s;text-decoration:none}.trip-tab:hover{color:var(--ink)}.trip-tab.active{color:var(--maroon);border-bottom-color:var(--maroon)}.trip-content{padding-top:var(--gap-5);flex:1}.trip-map-strip{height:220px;border-radius:var(--r-lg);border:1px solid var(--line);position:relative;overflow:hidden;margin-bottom:var(--gap-5);display:flex;align-items:flex-end;justify-content:flex-end;padding:var(--gap-4)}.trip-map-strip-chip{position:absolute;top:var(--gap-3);left:var(--gap-3);background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:var(--r-md);padding:.5rem .85rem;font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--ink-2);backdrop-filter:blur(4px)}.trip-map-open-btn{position:absolute;top:var(--gap-3);right:var(--gap-3)}.trip-overview,.trip-overview-grid{display:grid;gap:var(--gap-5)}.trip-overview-grid{grid-template-columns:1.4fr 1fr}.overview-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-3)}.overview-stat{display:flex;flex-direction:column;gap:4px;padding:.85rem;background:var(--bg-alt);border-radius:var(--r-md)}.overview-stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4)}.overview-stat-value{font-size:1.25rem;font-weight:700;font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink)}.elevation-svg{width:100%;display:block;overflow:visible}.elevation-empty,.elevation-svg{height:72px;border-radius:var(--r-sm)}.elevation-empty{display:grid;place-items:center;background:var(--bg-alt);color:var(--ink-4);font-size:.85rem}.rec-card{padding:var(--pad-card)}.rec-bullets{margin:0;padding-left:1.2rem;display:grid;gap:4px}.rec-bullets li{color:var(--ink-2);font-size:.875rem;line-height:1.5}.readiness-list{display:grid;gap:10px}.readiness-item{display:flex;align-items:center;gap:10px;font-size:.9rem}.readiness-dot{width:10px;height:10px;border-radius:999px;border:2px solid var(--line-2);flex-shrink:0}.readiness-dot.done{background:var(--good);border-color:var(--good)}.resupply-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.resupply-row:last-child{border-bottom:none}.resupply-day{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--maroon);background:var(--maroon-50);padding:3px 7px;border-radius:var(--r-sm);white-space:nowrap;flex-shrink:0}.weather-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.weather-strip-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;background:var(--bg-alt);border-radius:var(--r-sm)}.weather-strip-label{font-family:var(--font-mono);font-size:.65rem;font-weight:700;color:var(--ink-4);letter-spacing:.04em}.weather-strip-high{font-size:.875rem;font-weight:700}.weather-strip-low{font-size:.75rem;color:var(--ink-3)}.weather-strip-precip{font-size:.65rem;color:var(--water);font-family:var(--font-mono)}.trip-map-fullbleed{margin:calc(-1 * var(--gap-5));min-height:calc(100vh - 200px);border-radius:var(--r-lg);position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:flex-end}.map-overlay-panel{position:absolute;top:var(--gap-4);right:var(--gap-4);background:hsla(0,0%,100%,.92);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--pad-card);display:grid;gap:12px;backdrop-filter:blur(6px);min-width:180px}.map-overlay-chip{display:flex;flex-direction:column;gap:4px}.map-legend{display:grid;gap:6px}.legend-row{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--ink-2)}.legend-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.map-placeholder-text{width:100%;display:grid;place-items:center;color:var(--ink-4);font-size:.9rem;min-height:300px}.map-pin{width:14px;height:14px;border-radius:999px;border:2.5px solid #fff;box-shadow:none;cursor:default}.map-pin-start{background:var(--good)}.map-pin-end{background:repeating-conic-gradient(#000 0 25%,#fff 0 50%);background-size:8px 8px;background-color:#fff}.map-waypoint{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--surface);border:1.5px solid var(--ink);box-shadow:none;font-size:12px;line-height:1;cursor:pointer}.map-waypoint-water{border-color:var(--water);background:#f5f5f5}.map-waypoint-new{animation:waypoint-pulse 1.4s ease-out 3}.map-layer-control{position:absolute;top:10px;left:10px;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.map-layer-toggle-btn{border:1px solid var(--ink);border-radius:0;padding:8px 12px;font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer}.map-layer-notice,.map-layer-toggle-btn{background:var(--paper,#fff);color:var(--ink)}.map-layer-notice{display:flex;align-items:center;gap:10px;border:1px solid var(--warn);font-size:12px;padding:6px 10px;max-width:240px}.map-layer-notice button{background:none;border:none;cursor:pointer;font-size:11px;color:var(--ink-3);padding:0}.map-layer-panel{background:var(--paper,#fff);border:1px solid var(--ink);padding:10px 12px;gap:10px;min-width:190px}.map-layer-panel,.map-layer-row{display:flex;flex-direction:column}.map-layer-row{gap:4px}.map-layer-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;cursor:pointer}.map-layer-label input{accent-color:var(--ink)}.map-layer-group-title{margin:0;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.map-layer-group-divide{margin-top:4px;padding-top:10px;border-top:1px solid rgba(0,0,0,.1)}.map-layer-slider{width:100%;accent-color:var(--ink)}.map-offline-btn{position:absolute;bottom:12px;left:10px;z-index:5;background:var(--paper,#fff);border:1px solid var(--ink);border-radius:0;padding:8px 12px;font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .15s ease}.map-offline-btn:hover:not(:disabled){background:var(--gold)}.map-offline-btn:disabled{opacity:.75;cursor:default}.mapboxgl-popup-content{border-radius:0;border:1px solid var(--ink);box-shadow:none;padding:10px 12px;font-family:var(--font-sans)}.map-popover{display:flex;flex-direction:column;gap:8px;min-width:140px}.map-popover-label{font-size:13px;font-weight:500;color:var(--ink);line-height:1.35}.map-popover-remove{align-self:flex-start;background:transparent;border:1px solid var(--ink);border-radius:0;padding:6px 10px;font-family:var(--font-sans);font-size:12px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease}.map-popover-remove:hover{background:var(--warn);border-color:var(--warn);color:#fff}@keyframes waypoint-pulse{0%{box-shadow:0 0 0 0 rgba(255,223,82,.9)}70%{box-shadow:0 0 0 14px rgba(255,223,82,0)}to{box-shadow:0 0 0 0 rgba(255,223,82,0)}}.map-loading{position:absolute;inset:0;display:grid;place-items:center;background:hsla(42,56%,79%,.1);color:var(--ink-3);font-size:.875rem;border-radius:inherit}.itinerary-list{display:grid;gap:0;margin-top:var(--gap-4)}.itinerary-row{align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.itinerary-row:last-child{border-bottom:none}.itinerary-day-badge{width:2rem;height:2rem;border-radius:999px;background:var(--maroon-50);color:var(--maroon);font-size:.72rem;font-weight:700;display:grid;place-items:center;flex-shrink:0;font-family:var(--font-mono)}.itinerary-row-body{flex:1;min-width:0}.itinerary-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap-3);margin-bottom:3px}.itinerary-row-top h3{margin:0;font-size:.9375rem}.itinerary-dist{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-3);white-space:nowrap}.itinerary-highlights{margin:0;font-size:.85rem;color:var(--ink-3)}.forecast-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-3);margin-bottom:var(--gap-5)}.forecast-card{display:flex;flex-direction:column;align-items:center;gap:5px;padding:1rem;background:var(--bg-alt);border-radius:var(--r-md);text-align:center}.forecast-day{font-family:var(--font-mono);font-size:.7rem;font-weight:700;color:var(--ink-4);letter-spacing:.04em}.forecast-icon{font-size:1.4rem}.forecast-high{font-size:1.1rem;font-weight:700}.forecast-low{font-size:.875rem;color:var(--ink-3)}.forecast-precip{color:var(--water)}.forecast-precip,.forecast-wind{font-size:.72rem;font-family:var(--font-mono)}.forecast-wind{color:var(--ink-4)}.weather-packing-recs{padding-top:var(--gap-5);border-top:1px solid var(--line)}.trips-filter{display:flex;align-items:center;gap:2px;background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:3px}.filter-tab{padding:.4rem 1rem;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--ink-3);background:transparent;border:none;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.filter-tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.trip-card-ghost{opacity:.5;cursor:not-allowed}.trips-empty{padding:var(--gap-6);text-align:center;color:var(--ink-4)}.bikes-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap-4);margin-bottom:var(--gap-4)}.bikes-section-note{font-size:.75rem;color:var(--ink-4);font-family:var(--font-mono);font-weight:600;letter-spacing:.04em}.bike-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-4)}.bike-card-full{padding:var(--pad-card);display:flex;flex-direction:column;gap:var(--gap-3)}.bike-card-icon{width:2.5rem;height:2.5rem;border-radius:var(--r-md);background:var(--maroon-50);color:var(--maroon);display:grid;place-items:center;font-size:1.3rem}.bike-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bike-field-grid div{display:flex;flex-direction:column;gap:2px}.bike-field-grid span{font-size:.7rem;color:var(--ink-4);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.bike-field-grid strong{font-size:.85rem;font-family:var(--font-mono)}.bike-notes{margin:0;font-size:.85rem;color:var(--ink-3);line-height:1.5}.pack-weight-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-4)}.pack-stat-card{padding:var(--pad-card);display:flex;flex-direction:column;gap:var(--gap-2)}.pack-stat-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.pack-stat-value{font-size:2rem;font-weight:700;font-family:var(--font-mono);letter-spacing:-.03em;line-height:1}.pack-stat-note{font-size:.68rem;font-family:var(--font-mono);color:var(--ink-4);font-weight:600;letter-spacing:.04em}.gear-placeholder-rows{margin-top:var(--gap-3);border-top:1px solid var(--line);padding-top:var(--gap-3)}.gear-placeholder-row{padding:8px 0;display:flex;align-items:center}.conn-flash{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--r-md);font-size:.875rem;margin-bottom:20px}.conn-flash-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.conn-flash-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.conn-flash-dismiss{margin-left:auto;background:none;border:none;cursor:pointer;opacity:.5;font-size:.75rem}.conn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.conn-card{padding:var(--pad-card);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:20px}.conn-card-brand{display:flex;align-items:flex-start;gap:14px}.conn-icon{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.conn-icon-strava{background:#fc4c02;color:#fff}.conn-icon-osm{background:#e8f4fd}.conn-icon-weather{background:#fef9e7}.conn-card-name{margin:0 0 4px;font-size:1rem;font-weight:600}.conn-card-desc{margin:0;font-size:.83rem;color:var(--ink-3);line-height:1.4}.conn-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.conn-card-footer-connected{flex-direction:column;align-items:stretch;gap:12px}.conn-athlete{display:flex;align-items:center;gap:10px}.conn-athlete-avatar{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.conn-athlete-name{display:block;font-size:.875rem;font-weight:600}.conn-athlete-id{display:block;font-size:.75rem;color:var(--ink-3)}.conn-athlete .chip{margin-left:auto}.chip-done{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.chip-draft{background:var(--bg-alt);color:var(--ink-3);border:1px solid var(--line)}.integration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-4)}.integration-card{padding:var(--pad-card);display:flex;flex-direction:column;gap:var(--gap-4)}.integration-card-body{display:flex;align-items:flex-start;gap:var(--gap-4);flex:1}.integration-icon{width:2.8rem;height:2.8rem;border-radius:var(--r-md);background:var(--maroon-50);color:var(--maroon);font-size:1.1rem;font-weight:700;display:grid;place-items:center;flex-shrink:0}.integration-card-body h3{margin:0 0 4px;font-size:1rem}.integration-card-body p{margin:0;font-size:.875rem;color:var(--ink-2);line-height:1.5}.integration-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-3);padding-top:var(--gap-3);border-top:1px solid var(--line)}.btn-sm{padding:.6rem 1rem;font-size:.875rem}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:var(--gap-5);background:var(--color-bg-dark);position:relative;overflow:hidden}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;padding:2.5rem;border-radius:var(--r-xl);display:flex;flex-direction:column;gap:var(--gap-4)}.auth-brand{display:inline-flex;align-items:center;gap:.75rem;font-weight:700;margin-bottom:var(--gap-2)}.auth-heading{margin:0;font-size:1.6rem;letter-spacing:-.02em}.auth-sub{margin:0;color:var(--ink-3);font-size:.95rem}.auth-form{gap:var(--gap-4);margin-top:var(--gap-2)}.auth-form,.form-field{display:flex;flex-direction:column}.form-field{gap:var(--gap-2)}.form-label{font-size:14px;font-weight:500;color:var(--ink-2)}.form-input{padding:.75rem 1rem;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.form-input:focus{border-color:var(--maroon);box-shadow:0 2px 0 0 var(--gold)}.form-input::-moz-placeholder{color:var(--ink-4)}.form-input::placeholder{color:var(--ink-4)}.form-error{margin:0;padding:.75rem 1rem;border-radius:var(--r-md);background:rgba(0,0,0,.07);color:var(--maroon-700);font-size:.875rem;font-weight:500}.auth-submit{width:100%;margin-top:var(--gap-2)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-switch{margin:0;text-align:center;color:var(--ink-3);font-size:.9rem}.auth-link{color:var(--maroon);font-weight:600}.auth-link:hover{text-decoration:underline}.signout-btn{display:block;width:100%;margin-top:var(--gap-3);padding:.6rem 1rem;border-radius:var(--r-md);border:1px solid var(--line-2);background:transparent;color:var(--ink-3);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.signout-btn:hover{background:var(--surface);color:var(--ink)}@media (max-width:1080px){.feature-screens,.hero-grid{grid-template-columns:1fr}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.hero-nav{flex-direction:column;align-items:stretch}.nav-actions,.nav-links{justify-content:center}.section-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}}.home-nav-wrap{position:relative}.home-nav-avatar{width:36px;height:36px;border-radius:50%;background:var(--maroon);color:#fff;font-size:.8rem;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;flex-shrink:0;transition:opacity .15s}.home-nav-avatar:hover{opacity:.85}.home-nav-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.home-nav-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:220px;border-radius:var(--r-md);box-shadow:none;border:1px solid var(--line);padding:.5rem;z-index:200}.home-nav-dropdown,.home-nav-user{display:flex;flex-direction:column;gap:2px}.home-nav-user{padding:.6rem .75rem .5rem}.home-nav-name{font-weight:600;font-size:.875rem;color:var(--ink);line-height:1.3}.home-nav-email{font-size:.75rem;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-nav-sep{border:none;border-top:1px solid var(--line);margin:.25rem 0}.home-nav-item{display:block;padding:.5rem .75rem;border-radius:var(--r-sm);font-size:.875rem;color:var(--ink);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:background .1s}.home-nav-item:hover{background:var(--bg-alt)}.home-nav-signout{color:var(--maroon)}.build-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.build-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 var(--gap-6);background:var(--bg-alt);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;gap:var(--gap-5)}.build-brand{text-decoration:none}.build-brand,.build-header-actions{flex-shrink:0}.build-progress{display:flex;align-items:center;gap:0;flex:1;justify-content:center}.build-step-item{display:flex;align-items:center;gap:6px;position:relative}.build-step-connector{width:32px;height:2px;background:var(--line-2);margin-right:6px;transition:background .2s}.build-step-connector.filled{background:var(--maroon)}.build-step-circle{width:26px;height:26px;border-radius:999px;border:2px solid var(--line-2);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--ink-3);transition:border-color .2s,background .2s,color .2s;flex-shrink:0}.build-step-item.active .build-step-circle,.build-step-item.done .build-step-circle{border-color:var(--maroon);background:var(--maroon);color:var(--ink-on-maroon)}.build-step-label{font-size:.72rem;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em;transition:color .2s}.build-step-item.active .build-step-label{color:var(--ink)}.build-step-item.done .build-step-label{color:var(--ink-2)}.build-main{flex:1;padding:var(--gap-6) var(--gap-5)}.build-page{display:flex;justify-content:center}.build-page-inner{width:100%;max-width:900px;display:grid;gap:var(--gap-6)}.build-step-header{display:grid;gap:6px}.build-step-description{color:var(--ink-3);font-size:.95rem;margin:0;max-width:600px}.build-two-col{grid-template-columns:1fr 340px;align-items:start}.build-left,.build-two-col{display:grid;gap:var(--gap-5)}.build-map-aside{display:flex;flex-direction:column;position:sticky;top:80px}.build-map-wrap{height:340px;border-radius:var(--r-md);overflow:hidden;position:relative;flex:1}.build-nav{display:flex;align-items:center;justify-content:space-between;padding-top:var(--gap-4);border-top:1px solid var(--line)}.strava-cta-panel{border-left:3px solid #fc4c02}.strava-cta-inner{display:flex;align-items:flex-start;gap:14px}.strava-logo-mark{width:36px;height:36px;border-radius:var(--r-sm);background:#fc4c02;color:#fff;font-weight:900;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.build-stub-panel{position:relative;padding:var(--gap-6);display:grid;gap:var(--gap-4);max-width:600px}.build-stub-badge{position:absolute;top:var(--gap-4);right:var(--gap-4);background:var(--gold);color:var(--ink);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:var(--r-sm)}.build-stub-icon{font-size:2.5rem}.build-stub-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.build-stub-list li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--ink-2)}.build-stub-check{color:var(--maroon);font-weight:700;flex-shrink:0;margin-top:1px}.build-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-5)}.build-review-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;padding:6px 0;border-bottom:1px solid var(--line)}.build-review-row:last-child{border-bottom:none}.build-review-row span{color:var(--ink-3)}.build-review-check-row{display:flex;align-items:center;gap:10px;font-size:.875rem;padding:4px 0}.build-review-edit-link{font-size:.78rem;color:var(--maroon);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;flex-shrink:0}@media (max-width:700px){.build-two-col{grid-template-columns:1fr}.build-map-aside{position:static}.build-progress{gap:2px}.build-step-label{display:none}.build-step-connector{width:20px}.build-review-grid{grid-template-columns:1fr}}.trip-card-wrap{position:relative}.trip-card-delete-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;border-radius:var(--r-sm);background:rgba(20,10,10,.65);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s;z-index:2;padding:0;backdrop-filter:blur(4px)}.trip-card-wrap:focus-within .trip-card-delete-btn,.trip-card-wrap:hover .trip-card-delete-btn{opacity:1}.trip-card-delete-btn:hover{background:var(--maroon)}.delete-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:24px;backdrop-filter:blur(2px)}.delete-modal{background:var(--surface);border-radius:var(--r-lg);padding:32px;max-width:420px;width:100%;box-shadow:var(--shadow-md)}.delete-modal-actions{display:flex;gap:8px;justify-content:flex-end}.review-poi-expander{margin-top:0}.review-poi-toggle{width:100%;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;color:var(--ink);text-align:left}.review-poi-body{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.equip-page{display:flex;flex-direction:column;gap:0}.equip-section{padding:32px 0}.equip-section-divider{border:none;border-top:2px solid var(--line);margin:0}.equip-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.equip-section-title{margin:0 0 4px;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.equip-section-sub{margin:0;font-size:.85rem;color:var(--ink-3);line-height:1.4}.cl-new-list-form{display:flex;align-items:center;gap:8px;margin-bottom:16px}.cl-new-list-form .form-input{flex:1;max-width:320px}.cl-empty{display:flex;flex-direction:column;gap:12px;padding:40px 0;font-size:.875rem}.cl-empty,.cl-tab-count{align-items:center;color:var(--ink-3)}.cl-tab-count{display:inline-flex;background:var(--bg-alt);border-radius:999px;padding:1px 7px;font-size:.7rem;margin-left:6px;font-weight:500}.gear-kit-tab.active .cl-tab-count{background:hsla(0,0%,100%,.2);color:inherit}.cl-list{padding-top:4px}.cl-list-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.cl-list-name-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:var(--ink);padding:4px 0}.cl-list-name-btn:hover{color:var(--maroon)}.cl-rename-input{max-width:280px;font-size:1rem;font-weight:600}.cl-progress{font-size:.78rem;color:var(--ink-4);margin-left:auto}.cl-progress-bar{height:3px;background:var(--line);border-radius:2px;margin-bottom:16px;overflow:hidden}.cl-progress-fill{height:100%;background:var(--maroon);border-radius:2px;transition:width .3s ease}.cl-items{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.cl-empty-list{color:var(--ink-4);font-size:.875rem;text-align:center;padding:24px 0;margin:0}.cl-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);transition:background .1s}.cl-item:hover{background:var(--bg-alt)}.cl-item:hover .cl-item-delete{opacity:1}.cl-checkbox{width:18px;height:18px;border-radius:4px;border:2px solid var(--line-2);background:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .15s,background .15s}.cl-checkbox-checked,.cl-checkbox:hover{border-color:var(--maroon)}.cl-checkbox-checked{background:var(--maroon)}.cl-item-text{flex:1;font-size:.9rem;color:var(--ink);line-height:1.4}.cl-item-text-done{text-decoration:line-through;color:var(--ink-4)}.cl-item-delete{background:none;border:none;cursor:pointer;color:var(--ink-4);font-size:.75rem;padding:2px 4px;opacity:0;transition:opacity .1s,color .1s;flex-shrink:0}.cl-item-delete:hover{color:var(--maroon)}.cl-checked-divider{display:flex;align-items:center;justify-content:space-between;margin:12px 0 4px;font-size:.75rem;color:var(--ink-4);padding:0 10px}.cl-clear-btn{background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--maroon);padding:0}.cl-clear-btn:hover{text-decoration:underline}.cl-add-form{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line);margin-top:4px}.cl-add-input{flex:1;background:none;border:none;outline:none;font-size:.9rem;color:var(--ink);padding:6px 10px}.cl-add-input::-moz-placeholder{color:var(--ink-4)}.cl-add-input::placeholder{color:var(--ink-4)}.cl-list-footer{margin-top:20px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.cl-delete-trigger{background:none;border:none;font-size:.78rem;color:var(--ink-4);cursor:pointer;padding:0}.cl-delete-trigger:hover{color:var(--maroon)}.cl-delete-confirm{font-size:.78rem;color:var(--ink-2)}.cl-delete-yes{color:var(--maroon);font-weight:600}.cl-delete-no,.cl-delete-yes{background:none;border:none;cursor:pointer;font-size:.78rem;padding:0}.cl-delete-no{color:var(--ink-3)}.gear-kit-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:1.25rem;overflow-x:auto;scrollbar-width:none}.gear-kit-tabs::-webkit-scrollbar{display:none}.gear-kit-tab{font-size:13px;padding:8px 16px;background:none;cursor:pointer;color:var(--ink-3);border:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:color .12s}.gear-kit-tab.active{color:var(--maroon);border-bottom-color:var(--maroon);font-weight:600}.gear-kit-tab:hover:not(.active){color:var(--ink)}.gear-kit-tab-add{color:var(--ink-4)}.gear-kit-sport-tag{font-size:10px;padding:2px 7px;border-radius:10px;background:rgba(0,0,0,.1);color:var(--maroon);text-transform:capitalize}.gear-vehicle-strip{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:1rem;background:var(--bg-alt)}.gear-vehicle-icon{font-size:18px}.gear-vehicle-info{flex:1}.gear-vehicle-name{font-size:13px;font-weight:600}.gear-vehicle-meta{font-size:11px;color:var(--ink-3);text-transform:capitalize}.gear-vehicle-weight{font-size:13px;font-weight:500;color:var(--ink-2)}.gear-vehicle-edit-btn{background:none;border:none;cursor:pointer;color:var(--ink-4);font-size:.9rem;padding:4px 8px;border-radius:var(--r-sm)}.gear-vehicle-edit-btn:hover{color:var(--ink);background:var(--bg-alt)}.gear-weight-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:.75rem}.gear-weight-cell{padding:12px 14px;background:var(--surface)}.gear-weight-label{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.gear-weight-val{font-size:18px;font-weight:600;color:var(--ink);line-height:1.2}.gear-weight-val.highlight{color:var(--maroon)}.gear-weight-note{font-size:10px;color:var(--ink-4);margin-top:3px}.gear-carry-row{display:flex;align-items:center;gap:10px;padding:8px 14px;background:rgba(0,0,0,.06);border-radius:var(--r-md);margin-bottom:1.25rem;font-size:13px}.gear-carry-label{color:var(--ink-2);font-weight:500}.gear-carry-detail{color:var(--ink-4);font-size:12px;flex:1}.gear-carry-total{font-weight:600;color:var(--maroon);font-size:15px}.gear-category-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:0}.gear-category-item{background:var(--surface)}.gear-category-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;cursor:pointer;width:100%;background:none;border:none;font:inherit;text-align:left;transition:background .1s}.gear-category-header:hover{background:var(--bg-alt)}.gear-category-name{font-size:14px;font-weight:500}.gear-category-count{font-size:12px;color:var(--ink-4)}.gear-category-weight{font-size:13px;color:var(--ink-2)}.gear-category-body{border-top:1px solid var(--line);padding:4px 16px 12px}.gear-item-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2)}.gear-item-row:last-of-type{border-bottom:none}.gear-item-info{flex:1;min-width:0}.gear-item-name{font-size:13px;display:block}.gear-item-desc{font-size:11px;color:var(--ink-4);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-item-badges{display:flex;gap:4px;flex-shrink:0}.gear-item-badge{font-size:10px;padding:2px 7px;border-radius:10px;border:1px solid var(--line-2);background:var(--bg-alt);color:var(--ink-4);cursor:pointer;transition:all .12s}.gear-item-badge.worn{background:rgba(0,0,0,.1);color:var(--maroon);border-color:rgba(0,0,0,.2)}.gear-item-badge.consumable{background:rgba(210,160,60,.12);color:#9a6f0d;border-color:rgba(210,160,60,.3)}.gear-item-weight{font-size:12px;color:var(--ink-3);min-width:58px;text-align:right;flex-shrink:0}.gear-item-qty{gap:5px;font-size:12px;flex-shrink:0}.gear-item-qty,.gear-qty-btn{display:flex;align-items:center}.gear-qty-btn{width:22px;height:22px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg-alt);cursor:pointer;font-size:13px;justify-content:center;padding:0;color:var(--ink)}.gear-qty-btn:disabled{opacity:.35;cursor:default}.gear-item-remove{background:none;border:none;cursor:pointer;color:var(--ink-4);font-size:12px;padding:4px;border-radius:var(--r-sm);opacity:0;transition:opacity .12s}.gear-item-row:hover .gear-item-remove{opacity:1}.gear-item-remove:hover{color:var(--maroon)}.gear-add-item-row{display:flex;align-items:center;gap:8px;padding:10px 0 2px;font-size:12px;color:var(--ink-4);cursor:pointer;background:none;border:none;font:inherit;transition:color .12s}.gear-add-item-row:hover{color:var(--ink)}.gear-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:24px;backdrop-filter:blur(2px)}.gear-modal{background:var(--surface);border-radius:var(--r-lg);padding:28px;max-width:520px;width:100%;box-shadow:var(--shadow-md);max-height:calc(100vh - 80px);overflow-y:auto}.gear-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.gear-modal-header h3{font-size:1rem;margin:0}.gear-modal-close{background:none;border:none;cursor:pointer;color:var(--ink-3);font-size:1rem;padding:4px;line-height:1}.gear-modal-close:hover{color:var(--ink)}.gear-modal-footer{display:flex;gap:8px;justify-content:flex-end}.gear-library-row{display:flex;align-items:center;gap:12px;padding:10px 8px;cursor:pointer;background:none;border:none;font:inherit;text-align:left;width:100%;border-radius:var(--r-sm);transition:background .1s}.gear-library-row:hover{background:var(--bg-alt)}.sport-option.sport-option-selected{border-color:var(--maroon);background:rgba(0,0,0,.06)}@media (max-width:700px){.gear-weight-bar{grid-template-columns:1fr 1fr}.gear-kit-tab{font-size:12px;padding:7px 12px}}.gear-step-lists{display:flex;flex-direction:column;gap:10px;max-width:640px}.gear-step-manage-link{text-align:right;margin-bottom:4px}.gear-step-manage-link a{font-size:.85rem;color:var(--maroon);text-decoration:none}.gear-step-manage-link a:hover{text-decoration:underline}.gear-step-card{display:flex;align-items:flex-start;gap:14px;width:100%;padding:16px 18px;background:var(--surface);border:2px solid var(--line);border-radius:var(--r-md);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.gear-step-card:hover{border-color:var(--maroon)}.gear-step-card.is-selected{border-color:var(--maroon);background:rgba(0,0,0,.04)}.gear-step-card-check{padding-top:2px;flex-shrink:0}.gear-step-checkbox{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;border:2px solid var(--line-2);background:var(--bg);transition:background .15s,border-color .15s}.gear-step-checkbox.checked{background:var(--maroon);border-color:var(--maroon)}.gear-step-card-body{flex:1;min-width:0}.gear-step-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.gear-step-card-name{font-weight:600;font-size:.95rem;color:var(--ink)}.gear-step-sport-badge{font-size:.75rem;color:var(--ink-3);background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:2px 8px;white-space:nowrap;flex-shrink:0}.gear-step-card-meta{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ink-3);margin-bottom:4px}.gear-step-dot{opacity:.5}.gear-step-cats{font-size:.78rem;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-step-selection-hint{font-size:.83rem;color:var(--maroon);font-weight:500;margin:4px 0 0}.gear-step-empty{max-width:480px;padding:40px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:center}.gear-step-empty h3{margin:0 0 8px}.gear-step-empty p{color:var(--ink-3);font-size:.9rem;margin:0}.plan-shell{min-height:100vh;display:flex;flex-direction:column}.plan-upload-section{flex:1;justify-content:center;padding:64px 24px;gap:var(--gap-6)}.plan-dropzone,.plan-upload-section{display:flex;flex-direction:column;align-items:center}.plan-dropzone{width:100%;max-width:520px;position:relative;border-radius:var(--r-lg);border:2px dashed var(--line-2);padding:56px 40px;gap:16px;cursor:pointer;transition:border-color .15s,background .15s}.plan-dropzone:hover{border-color:var(--maroon)}.plan-creating{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--ink-3)}.plan-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--line-2);border-top-color:var(--maroon);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.plan-preview-section{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:48px 24px 64px}.plan-preview-inner{width:100%;max-width:680px;display:flex;flex-direction:column;gap:var(--gap-6)}.plan-preview-header{display:flex;flex-direction:column;gap:8px}.plan-back-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--maroon);font-size:.85rem;text-align:left;width:-moz-fit-content;width:fit-content}.plan-back-btn:hover{text-decoration:underline}.plan-preview-name{margin:0;font-size:1.6rem}.plan-preview-stats{display:flex;flex-wrap:wrap;gap:8px}.plan-stat-pill{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 16px;min-width:100px}.plan-stat-label{font-size:.72rem;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em}.plan-stat-value{font-size:1rem;font-weight:700}.plan-sport-section{display:flex;flex-direction:column;gap:12px}.plan-sport-heading{font-weight:600;margin:0}.plan-sport-picker{display:flex;gap:10px;flex-wrap:wrap}.plan-sport-btn{flex:1;min-width:160px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 16px;border-radius:var(--r-md);background:var(--surface);border:2px solid var(--line);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.plan-sport-btn.selected,.plan-sport-btn:hover{border-color:var(--maroon)}.plan-sport-btn.selected{background:rgba(0,0,0,.05)}.plan-sport-icon{font-size:1.8rem}.plan-sport-label{font-weight:600;font-size:.95rem}.plan-sport-desc{font-size:.78rem;color:var(--ink-3)}.plan-create-row{display:flex;justify-content:flex-end}.plan-create-btn{min-width:240px}.trip-cmd-outer{display:flex;flex-direction:column;height:calc(100vh - 56px);overflow:hidden}.trip-cmd-header{padding:16px 24px 0;border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0}.trip-cmd-breadcrumb{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--ink-3);margin-bottom:8px}.trip-back-link{color:var(--maroon);text-decoration:none}.trip-back-link:hover{text-decoration:underline}.trip-breadcrumb-sep{opacity:.4}.trip-cmd-title-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.trip-name-btn{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer}.trip-name-btn:hover .trip-edit-icon{opacity:1}.trip-edit-icon{color:var(--ink-4);opacity:0;transition:opacity .15s}.trip-cmd-name{margin:0;font-size:1.4rem}.trip-name-input{font-size:1.4rem;font-weight:700;border:none;border-bottom:2px solid var(--maroon);background:transparent;outline:none;padding:0;font-family:inherit;color:var(--ink);width:auto;min-width:200px}.trip-cmd-badges{display:flex;align-items:center;gap:8px}.trip-sport-badge{font-size:.78rem;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.08);color:var(--maroon);font-weight:600}.trip-difficulty-badge{font-size:.75rem;padding:2px 8px;border-radius:4px;background:var(--bg-alt);border:1px solid var(--line);color:var(--ink-3)}.trip-cmd-stat-strip{display:flex;align-items:center;gap:12px;padding-bottom:14px;flex-wrap:wrap}.trip-cmd-stat{display:flex;flex-direction:column}.trip-cmd-stat span{font-size:.7rem;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em}.trip-cmd-stat strong{font-size:.88rem;color:var(--ink)}.trip-cmd-stat-div{width:1px;height:24px;background:var(--line)}.trip-cmd-body{display:grid;grid-template-columns:1fr 1fr;flex:1;overflow:hidden;min-height:0}.trip-cmd-left{display:flex;flex-direction:column;overflow-y:auto;min-height:0}.trip-cmd-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:2;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.trip-cmd-tabs::-webkit-scrollbar{display:none}.trip-cmd-tab{padding:12px 16px;font-size:.82rem;font-weight:500;color:var(--ink-3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;margin-bottom:-1px}.trip-cmd-tab:hover{color:var(--ink)}.trip-cmd-tab.active{color:var(--ink);border-bottom-color:var(--gold);border-bottom-width:3px}.trip-cmd-tab-content{flex:1;padding:0 24px 24px}.trip-cmd-section{padding:24px 0 32px}.trip-cmd-section[hidden]{display:none!important}.trip-cmd-section-heading{margin:0 0 18px;font-size:28px;font-weight:600;letter-spacing:var(--track-heading);line-height:1.2}.trip-cmd-footer{padding:16px 24px;border-top:1px solid var(--line);flex-shrink:0}.btn-link-danger{background:none;border:none;padding:0;cursor:pointer;color:var(--ink-4);font-size:.8rem;text-decoration:underline;text-decoration-style:dotted}.btn-link-danger:hover{color:var(--maroon)}.trip-cmd-map-col{border-left:1px solid var(--line);position:relative;overflow:hidden}.trip-cmd-map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--ink-4);font-size:.85rem}.tab-content-grid{gap:24px}.tab-content-grid,.tab-section{display:flex;flex-direction:column}.tab-section{gap:16px}.tab-section-title{margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600}.cmd-field-row{display:flex;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}.cmd-field-dates{align-items:flex-start;gap:16px}.cmd-field-dates>div{flex:1}.cmd-field-col,.cmd-field-dates>div{display:flex;flex-direction:column;gap:6px}.cmd-field-label{font-size:.8rem;color:var(--ink-3);min-width:90px;flex-shrink:0}.cmd-select{flex:1;background:transparent;border:none;color:var(--ink);font-size:.88rem;font-family:inherit;cursor:pointer;padding:0;outline:none}.cmd-textarea{resize:vertical;min-height:80px;font-size:.88rem;line-height:1.6}.cmd-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cmd-stat-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.cmd-stat-label{font-size:13px;font-weight:400;color:var(--ink-3)}.cmd-stat-value{font-size:40px;font-weight:600;letter-spacing:var(--track-heading);line-height:1.1}.stop-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.stop-marker{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex-shrink:0}.stop-marker-a{background:var(--maroon);color:#fff}.stop-marker-b{background:var(--gold);color:#fff}.stop-info{flex:1;display:flex;flex-direction:column;gap:2px}.stop-label{font-weight:600;font-size:.85rem}.stop-coords{font-size:.8rem;color:var(--ink-3);font-family:var(--font-mono)}.stop-ele{font-size:.75rem;color:var(--ink-4)}.stop-directions{font-size:.8rem;color:var(--maroon);text-decoration:none;white-space:nowrap;padding-top:4px}.stop-directions:hover{text-decoration:underline}.tab-coming-soon{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--ink-3)}.coming-soon-badge{font-size:.7rem;padding:2px 8px;border-radius:4px;background:var(--bg-alt);border:1px solid var(--line);color:var(--ink-4);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.tab-section-stub{text-align:center;padding:40px 24px;background:var(--bg-alt);border:1px dashed var(--line-2);border-radius:var(--r-lg);align-items:center}.tab-section-stub h3{margin:0 0 8px;font-size:1rem}.tab-section-stub p{color:var(--ink-3);font-size:.875rem;margin:0 0 16px;max-width:400px}.stub-icon{font-size:2.5rem;margin-bottom:8px}.elev-profile-wrap{position:relative}.elev-profile-svg{width:100%;height:120px;display:block}.elev-axis-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--ink-4);font-family:var(--font-mono);margin-top:4px}.elev-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.elev-stat{display:flex;flex-direction:column;gap:4px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px}.elev-stat span{font-size:.72rem;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em}.elev-stat strong{font-size:.95rem;font-weight:700}.weather-cards{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.weather-day-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 12px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r-md);min-width:80px;flex:1}.weather-day-label{font-size:.7rem;color:var(--ink-4);text-align:center}.weather-day-icon{font-size:1.6rem}.weather-day-high{font-weight:700;font-size:.95rem}.weather-day-low{color:var(--ink-3);font-size:.85rem}.weather-attribution,.weather-day-precip{font-size:.72rem;color:var(--ink-4)}.weather-attribution a{color:var(--maroon)}.wx-rec-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.wx-rec-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.wx-rec-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.wx-rec-partner-note{font-size:.68rem;color:var(--ink-4)}.wx-rec-block{margin-bottom:28px}.wx-rec-condition{display:flex;align-items:flex-start;gap:12px;background:var(--bg-alt);border-radius:var(--r-md);padding:14px 16px;margin-bottom:12px}.wx-rec-condition-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.wx-rec-condition-headline{margin:0 0 3px;font-size:.875rem;font-weight:600;color:var(--ink);line-height:1.3}.wx-rec-condition-sub{margin:0;font-size:.8rem;color:var(--ink-3);line-height:1.4}.wx-rec-products{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wx-rec-product{border:1px solid var(--line);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:4px;background:var(--surface);transition:border-color .15s}.wx-rec-product:hover{border-color:var(--maroon)}.wx-rec-product-icon{font-size:1.5rem;line-height:1;margin-bottom:4px}.wx-rec-product-body{display:flex;flex-direction:column;gap:2px;flex:1}.wx-rec-product-name{font-size:.85rem;font-weight:600;color:var(--ink);line-height:1.3}.wx-rec-product-brand{font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.wx-rec-product-tagline{margin:4px 0 0;font-size:.78rem;color:var(--ink-2);line-height:1.4}.wx-rec-shop-btn{display:inline-flex;align-items:center;gap:3px;font-size:.78rem;font-weight:600;color:var(--maroon);text-decoration:none;margin-top:8px}.wx-rec-shop-btn:hover{text-decoration:underline}.water-source-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.water-source-row:last-child{border-bottom:none}.water-source-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--water);margin-top:5px}.water-flow-badge{font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.06em;padding:2px 6px;border-radius:2px;background:rgba(95,120,134,.12);color:var(--water)}.water-flow-badge[data-flow=seasonal]{background:rgba(0,0,0,.1);color:var(--maroon)}.water-flow-badge[data-flow=intermittent]{background:rgba(0,0,0,.08);color:var(--ink-3)}.water-conf{font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.04em;opacity:.8}.water-detect-panel{margin-top:16px;border:1px dashed var(--line-2);border-radius:var(--r-md);padding:14px 16px}.water-detect-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.water-detect-sub{margin:2px 0 0;font-size:.78rem;color:var(--ink-3)}.water-suggestion-list{margin-top:12px;border-top:1px solid var(--line)}.water-suggestion-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.water-suggestion-row:last-child{border-bottom:none}.water-suggestion-icon{flex-shrink:0;font-size:.9rem}.btn-strava{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 20px;background:#fc5200;color:#fff;font-family:var(--font-display);font-size:.875rem;font-weight:500;line-height:1;border-radius:0;transition:background .15s ease}.btn-strava:hover{background:#e24a00}.strava-attribution{font-size:.7rem;font-weight:500;letter-spacing:.04em;color:var(--ink-3);white-space:nowrap}.river-gauge-panel{border:1px solid var(--ink);border-radius:var(--r-md);padding:14px 16px;margin-bottom:16px}.river-gauge-updated{font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.06em;color:var(--ink-3);white-space:nowrap;flex-shrink:0}.river-gauge-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--water)}.river-gauge-dot[data-trend=rising]{background:var(--maroon)}.river-gauge-dot[data-trend=falling]{background:var(--ink-4)}.river-gauge-link{text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(0,0,0,.25);transition:text-decoration-color .15s ease}.river-gauge-link:hover{text-decoration-color:var(--ink)}.river-gauge-reading{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}.river-gauge-reading-dim{color:var(--ink-3);font-weight:400}.river-gauge-trend{font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.06em;padding:2px 6px;border-radius:2px;background:rgba(95,120,134,.12);color:var(--water);white-space:nowrap}.river-gauge-trend[data-trend=rising]{background:rgba(0,0,0,.1);color:var(--maroon)}.river-gauge-trend[data-trend=falling]{background:rgba(0,0,0,.08);color:var(--ink-3)}.river-gauge-footnote{margin:10px 0 0;font-size:.72rem;line-height:1.45;color:var(--ink-4)}.terrain-bar{display:flex;height:22px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line-2);margin:6px 0 16px}.terrain-bar-seg{height:100%}.terrain-legend{display:flex;flex-direction:column;gap:6px;max-width:420px}.terrain-legend-row{display:flex;align-items:center;gap:10px;font-size:.85rem}.terrain-swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}.terrain-legend-label{flex:1}.terrain-legend-mi,.terrain-legend-pct{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-2);min-width:56px;text-align:right}.terrain-refresh-link{background:none;border:none;padding:0;font:inherit;color:var(--maroon);text-decoration:underline;cursor:pointer}.gear-breakdown{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.gear-breakdown-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.gear-breakdown-total{font-family:var(--font-mono);font-size:.85rem;font-weight:700}.gear-totals-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.gear-total-cell{display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--line)}.gear-total-value{font-size:22px;font-weight:600}.gear-total-label{font-size:13px;color:var(--ink-3)}.plan-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:760px}.plan-build-card{position:relative;text-decoration:none;color:inherit}.plan-build-badge{display:inline-block;background:var(--gold);color:var(--ink);font-size:12px;font-weight:500;padding:4px 10px;letter-spacing:.02em}.plan-build-card .plan-build-badge{position:absolute;top:10px;right:10px}.plan-build-lede{font-size:20px;font-weight:300;line-height:1.5;color:var(--ink-2);margin:0 0 16px}@media (max-width:720px){.plan-paths{grid-template-columns:1fr}}.cal-inputs{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:14px}.cal-fixed-value{font-size:16px;font-weight:500;padding:.75rem 0}.cal-slider{width:150px;accent-color:var(--ink)}.ad-slot{margin-top:24px;border:1px solid var(--line);padding:14px 16px}.ad-slot-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.ad-slot-headline{font-size:14px;font-weight:500}.ad-slot-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);border:1px solid var(--line-2);padding:2px 6px}.ad-slot-products{display:flex;gap:10px;flex-wrap:wrap}.ad-slot-product{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);padding:10px 12px;min-width:130px;text-decoration:none;color:var(--ink);transition:border-color .15s ease}.ad-slot-product:hover{border-color:var(--ink)}.ad-slot-img{width:100%;max-height:80px;-o-object-fit:contain;object-fit:contain}.ad-slot-name{font-size:13px;font-weight:500}.ad-slot-price{font-size:12px;color:var(--ink-3)}.gear-import-summary{margin:10px 0 0;font-size:13px;color:var(--ink-2);background:var(--gold-50);border:1px solid rgba(0,0,0,.15);padding:8px 12px}.strava-pace-row{margin:2px 0 14px}.strava-pace-note{margin:0;font-size:13px;color:var(--ink-3)}.strava-pace-link{background:none;border:none;padding:0;font-size:13px;color:var(--ink);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.weather-disabled{padding:24px;border:1px dashed var(--line-2);color:var(--ink-3)}.weather-disabled-lede{margin:0 0 6px;font-size:20px;font-weight:300;color:var(--ink-2)}.weather-disabled-sub{margin:0 0 14px;font-size:13px}.date-unsure-check{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.date-unsure-check input{accent-color:var(--ink);width:15px;height:15px;cursor:pointer}.cmd-field-hint{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--ink-3);max-width:46ch}.wx-day-list{display:flex;flex-direction:column}.wx-day-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);position:relative}.wx-day-row:last-child{border-bottom:none}.wx-day-row.is-historical{background:repeating-linear-gradient(-45deg,transparent 0 10px,rgba(0,0,0,.025) 10px 20px)}.wx-day-when{display:flex;flex-direction:column;min-width:96px}.wx-day-num{font-size:14px;font-weight:600}.wx-day-date{font-size:13px;color:var(--ink-3)}.wx-day-miles{font-size:12px;color:var(--ink-4)}.wx-day-icon{font-size:20px}.wx-day-temps{display:flex;align-items:baseline;gap:8px;min-width:110px}.wx-day-hi{font-size:24px;font-weight:600}.wx-day-lo{font-size:16px;color:var(--ink-3)}.wx-day-precip,.wx-day-range{font-size:12px;color:var(--ink-3)}.wx-day-range{display:flex;flex-direction:column;gap:1px}.wx-historical-badge{margin-left:auto;background:var(--ink);color:#fff;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px}.wx-day-err{font-size:13px;color:var(--warn)}.weather-plan-controls{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:14px}.weather-plan-field{display:flex;flex-direction:column;gap:6px}.weather-plan-field>span:first-child{font-size:13px;font-weight:400;color:var(--ink-3)}.weather-plan-input-wrap{display:flex;align-items:center;gap:8px}.weather-plan-unit{font-size:13px;color:var(--ink-3)}.weather-day-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.weather-day-picker-label{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--ink-3);text-transform:uppercase}.weather-day-chips{display:flex;gap:6px;flex-wrap:wrap}.weather-day-chip{background:transparent;border:1.5px solid var(--line-2);border-radius:var(--r-sm);padding:4px 10px;font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--ink-2);cursor:pointer}.weather-day-chip.active{background:var(--gold);border-color:var(--ink);color:var(--ink)}.weather-position-note{margin:0 0 14px;font-size:.8rem;color:var(--ink-2);background:var(--gold-50);border:1px solid rgba(224,165,10,.4);border-radius:var(--r-sm);padding:8px 12px}.water-disclaimer{display:flex;align-items:flex-start;gap:10px;background:rgba(0,0,0,.07);border:1px solid rgba(0,0,0,.35);border-left:3px solid var(--maroon);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:16px}.water-disclaimer span{font-size:.9rem;line-height:1.4}.water-disclaimer p{margin:0;font-size:.78rem;line-height:1.45;color:var(--ink-2)}.water-warning-icon{font-size:.75rem;margin-left:6px;cursor:help;opacity:.85}.elevx-wrap{position:relative;width:100%;cursor:crosshair}.elevx-svg{display:block;width:100%;height:auto}.elevx-axis-text{font-family:var(--font-mono);font-size:10px;fill:var(--ink-4)}.elevx-peak-text{font-family:var(--font-mono);font-size:10.5px;font-weight:600;fill:var(--ink-2)}.elevx-tooltip{position:absolute;top:8px;display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-sm);box-shadow:var(--shadow-md);padding:6px 9px;pointer-events:none;white-space:nowrap;z-index:5}.elevx-tooltip-ele{font-family:var(--font-mono);font-size:.85rem;font-weight:700}.elevx-tooltip-grade,.elevx-tooltip-mi{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-3)}.itinerary-list{margin:4px 0 4px 15px;border-left:2px dashed var(--line-2);padding-left:27px}.itinerary-row{display:flex;align-items:center;gap:10px;padding:8px 0;position:relative}.itinerary-row .resupply-stop-mile{margin-left:auto}.itinerary-icon{font-size:.95rem;flex-shrink:0;position:relative}.climb-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.climb-toggle{display:flex;border:1.5px solid var(--ink);border-radius:var(--r-sm);overflow:hidden}.climb-toggle-btn{background:transparent;border:none;padding:5px 12px;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--ink-2);cursor:pointer}.climb-toggle-btn.active{background:var(--gold);color:var(--ink)}.tab-section-sub{font-size:.85rem;color:var(--ink-3);margin:0 0 16px;line-height:1.5}.resupply-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.resupply-stop-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r-md)}.resupply-stop-icon{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:2px}.resupply-stop-body{flex:1;min-width:0}.resupply-stop-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.resupply-stop-name{font-weight:600;font-size:.9rem;color:var(--ink)}.poi-link{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(0,0,0,.25);transition:border-color .15s ease}.poi-link:hover{border-bottom-color:var(--ink)}.resupply-stop-type-badge{font-size:.72rem;font-weight:500;color:var(--maroon);background:var(--maroon-50);border-radius:4px;padding:2px 6px}.resupply-stop-mile{font-size:.78rem;color:var(--ink-3);margin-left:auto;white-space:nowrap}.resupply-stop-notes{margin:4px 0 0;font-size:.8rem;color:var(--ink-3);line-height:1.45}.resupply-stop-actions{display:flex;gap:4px;flex-shrink:0}.btn-icon{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:6px;font-size:.9rem;line-height:1;opacity:.55;transition:opacity .15s,background .15s}.btn-icon:hover{opacity:1;background:var(--line)}.btn-icon-danger:hover{background:#fee2e2}.resupply-add-panel{padding:16px;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-md)}.resupply-add-heading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:0 0 10px}.resupply-add-row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}.resupply-add-name{flex:1;min-width:160px}.resupply-add-mile{width:80px;flex-shrink:0}.resupply-edit-form{flex:1;display:flex;flex-direction:column;gap:8px}.resupply-edit-row{display:flex;gap:8px;flex-wrap:wrap}.resupply-edit-name{flex:1;min-width:140px}.resupply-edit-mile{width:80px;flex-shrink:0}.resupply-edit-actions{display:flex;gap:8px}@media (max-width:900px){.trip-cmd-body{grid-template-columns:1fr;grid-template-rows:40vh 1fr}.trip-cmd-map-col{order:-1;border-left:none;border-bottom:1px solid var(--line);min-height:40vh}.cmd-stats-grid,.elev-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.plan-sport-picker{flex-direction:column}.plan-create-row{justify-content:stretch}.plan-create-btn{width:100%}.weather-cards{flex-wrap:nowrap;overflow-x:auto}}.lp{background:var(--color-bg-dark);color:var(--color-text-primary)}.lp-display{margin:0;font-size:clamp(56px,7vw,96px);font-weight:800;line-height:1;letter-spacing:-.02em}.lp-h1{font-size:clamp(40px,5.5vw,80px);line-height:1.05;letter-spacing:-.02em}.lp-h1,.lp-h2{margin:0 0 var(--gap-6);font-weight:700}.lp-h2{font-size:clamp(28px,3.5vw,48px);line-height:1.1;letter-spacing:-.015em}.lp-h3{margin:0;font-size:clamp(20px,2.2vw,28px);font-weight:600;line-height:1.2;letter-spacing:-.01em}.lp-body{margin:0;font-size:clamp(14px,1.1vw,16px);font-weight:400;line-height:1.6}.lp-label{margin:0;letter-spacing:.12em;text-transform:uppercase}.lp-counter,.lp-label{font-size:11px;font-weight:500;color:var(--color-text-muted)}.lp-counter{letter-spacing:.1em;font-variant-numeric:tabular-nums}.lp-muted{color:var(--color-text-muted)}.lp-muted-dark{color:rgba(13,12,10,.55)}.lp-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px var(--container-pad);background:transparent;transition:color var(--duration-normal) ease}.nav--dark{color:#fff}.nav--light{color:#0d0c0a}.lp-wordmark{position:absolute;left:50%;transform:translateX(-50%);font-size:16px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:inherit}.lp-nav-left,.lp-nav-right{display:flex;align-items:center;gap:var(--gap-6)}.lp-nav-link{font-size:14px;font-weight:400;color:inherit;opacity:.9;transition:opacity var(--duration-fast) ease}.lp-nav-link:hover{opacity:1}.lp-nav .nav-actions{gap:var(--gap-3)}.lp-nav .btn-ghost{color:inherit;border-color:color-mix(in srgb,currentColor 40%,transparent)}.lp-nav .btn-ghost:hover{border-color:currentColor;background:transparent}.nav--dark .home-nav-avatar{background:#fff;color:var(--ink)}.nav--light .home-nav-avatar{background:var(--ink);color:#fff}.btn .btn-icon{width:20px;height:20px;padding:0;background:var(--color-accent-dark);color:var(--color-accent);border-radius:50%;font-size:12px;opacity:1}.btn .btn-icon,.btn-arrow{display:inline-flex;align-items:center;justify-content:center}.btn-arrow{width:28px;height:28px;border:1.5px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:50%;font-size:13px}.lp-btn-outline{background:transparent;color:var(--color-text-primary);border:1.5px solid hsla(0,0%,100%,.4);font-weight:500;padding:10px 12px 10px 20px;gap:12px}.lp-btn-outline:hover{border-color:hsla(0,0%,100%,.8)}.lp-hero{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;align-items:center}.lp-hero-copy{padding:140px 0 80px var(--container-pad);max-width:680px}.lp-hero-copy .lp-label{margin-bottom:var(--gap-5)}.lp-hero-sub{max-width:420px;margin:var(--gap-5) 0 var(--gap-6);color:var(--color-text-muted)}.lp-actions{display:flex;flex-wrap:wrap;gap:var(--gap-4)}.lp-hero-media{position:relative;height:100vh;min-height:560px}.lp-hero-svg{position:absolute;inset:0;width:100%;height:100%}.lp-hero-gps{position:absolute;right:var(--container-pad);bottom:16%}.gps-annotation{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:11px;font-weight:400;color:hsla(0,0%,100%,.7);letter-spacing:.06em;font-variant-numeric:tabular-nums}.gps-dot{width:6px;height:6px;border-radius:50%;border:1.5px solid hsla(0,0%,100%,.7);background:transparent}.lp-routegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.lp-cell{position:relative;aspect-ratio:3/4;background:var(--color-bg-card);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:var(--gap-6)}.lp-cell+.lp-cell{border-left:1px solid var(--color-border)}.lp-cell-svg{position:absolute;inset:0;width:100%;height:100%}.lp-cell-top{position:relative;display:flex;align-items:baseline;justify-content:space-between}.lp-cell-coords{font-size:11px;color:hsla(0,0%,100%,.7);letter-spacing:.06em;font-variant-numeric:tabular-nums}.lp-cell-info{position:relative}.lp-cell-title{margin:0 0 6px;font-size:clamp(20px,2.2vw,28px);font-weight:600;letter-spacing:-.01em}.lp-cell-meta{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-muted)}.lp-section-dark{background:var(--color-bg-dark);color:var(--color-text-primary)}.lp-section-dark,.lp-section-light{padding:var(--section-pad-y) var(--container-pad)}.lp-section-light{background:var(--color-bg-light);color:var(--color-text-dark)}.lp-labeled{display:grid;grid-template-columns:170px 1fr;gap:var(--gap-6);align-items:start;max-width:var(--container-max);margin:0 auto}.lp-label-col{padding-top:10px;white-space:nowrap}.lp-text-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg);max-width:900px}.lp-section-dark .lp-text-columns .lp-body{color:var(--color-text-muted)}.lp-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-6);max-width:var(--container-max);margin:var(--gap-xl) auto 0}.lp-feature{border-top:1px solid var(--color-border);padding-top:var(--gap-4);display:flex;flex-direction:column;gap:var(--gap-3)}.lp-planner-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(48px,6vw,120px);align-items:start}.lp-steps{list-style:none;margin:0 0 var(--gap-6);padding:0}.lp-step{display:grid;grid-template-columns:40px 1fr;gap:var(--gap-4);padding:var(--gap-5) 0;border-top:1px solid var(--color-border-light)}.lp-step:last-child{border-bottom:1px solid var(--color-border-light)}.lp-step .lp-counter{padding-top:5px;color:rgba(13,12,10,.38)}.lp-step .lp-h3{margin-bottom:4px}.lp-product-panel{background:#fff;border:1px solid var(--color-border-light);border-radius:var(--r-xl);padding:var(--gap-6)}.lp-panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--gap-5)}.lp-panel-head .lp-label,.lp-panel-meta{color:rgba(13,12,10,.55)}.lp-panel-meta{font-size:11px;letter-spacing:.06em;font-variant-numeric:tabular-nums}.lp-elev-svg{width:100%;height:auto;display:block}.lp-panel-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-4);margin-top:var(--gap-5);padding-top:var(--gap-5);border-top:1px solid var(--color-border-light)}.lp-panel-stats div{display:flex;flex-direction:column;gap:2px}.lp-panel-stats strong{font-size:clamp(18px,1.8vw,24px);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.lp-panel-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(13,12,10,.55)}.lp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-6)}.lp-stat{border-left:1px solid var(--color-border);padding-left:var(--gap-5);display:flex;flex-direction:column;gap:var(--gap-3)}.lp-stat-num{font-size:clamp(48px,6vw,88px);font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.lp-stat-label{font-size:13px;line-height:1.5;color:var(--color-text-muted);max-width:230px}.lp-statement{position:relative;background:var(--color-bg-dark);min-height:80vh;display:flex;align-items:flex-end;padding:var(--section-pad-y) var(--container-pad) var(--gap-xl);overflow:hidden}.track-graphic{position:absolute;inset:0;width:100%;height:100%;opacity:.15;pointer-events:none}.lp-statement-inner{position:relative}.lp-statement-inner .lp-body{margin-top:var(--gap-5);max-width:420px}.lp-statement-gps{position:absolute;right:var(--container-pad);bottom:var(--gap-xl)}.lp-footer{background:var(--color-bg-dark);color:var(--color-text-primary);padding:var(--gap-xl) var(--container-pad) var(--gap-6)}.lp-footer-top{display:grid;grid-template-columns:1fr auto auto;gap:clamp(48px,8vw,120px);align-items:start;max-width:var(--container-max);margin:0 auto var(--gap-6);padding-bottom:var(--gap-xl);border-bottom:1px solid var(--color-border)}.lp-footer-headline{margin:0 0 var(--gap-6);font-size:clamp(40px,5vw,72px);font-weight:800;line-height:1;letter-spacing:-.02em}.lp-footer-col-label{margin:0 0 20px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.lp-footer-link{display:block;font-size:14px;font-weight:400;color:var(--color-text-primary);padding:6px 0;transition:opacity var(--duration-fast) ease}.lp-footer-link:hover{opacity:.7}.lp-footer-legal{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-4);max-width:var(--container-max);margin:0 auto;font-size:12px;color:var(--color-text-muted)}.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.animate-on-scroll{opacity:1;transform:none;transition:none}}@media (max-width:1023px){.lp-hero{grid-template-columns:1fr;min-height:0}.lp-hero-copy{padding:140px var(--container-pad) var(--gap-6)}.lp-hero-media{height:52vh;min-height:360px}.lp-labeled{grid-template-columns:1fr}.lp-label-col{padding-top:0}.lp-planner-grid{grid-template-columns:1fr}.lp-feature-grid{grid-template-columns:1fr 1fr;margin-top:var(--gap-lg)}.lp-stats-grid{grid-template-columns:1fr 1fr;gap:var(--gap-lg) var(--gap-6)}}@media (max-width:767px){.lp-routegrid{grid-template-columns:1fr}.lp-cell+.lp-cell{border-left:none;border-top:1px solid var(--color-border)}.lp-feature-grid,.lp-stats-grid,.lp-text-columns{grid-template-columns:1fr}.lp-text-columns{gap:var(--gap-5)}.lp-footer-top{grid-template-columns:1fr;gap:var(--gap-lg)}.lp-nav{padding:16px var(--container-pad)}.lp-nav-left{display:none}.lp-wordmark{position:static;transform:none}}.land-seg-list{display:flex;flex-direction:column;margin-top:4px}.land-seg-row{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.land-seg-row:last-child{border-bottom:none}.land-seg-miles{flex-shrink:0;min-width:84px;font-size:.78rem;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums;padding-top:2px}.land-seg-body{min-width:0;flex:1}.land-seg-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.land-seg-name{font-weight:600;font-size:.9375rem}.land-verdict{display:inline-flex;align-items:center;padding:2px 9px;border:1px solid;border-radius:var(--r-pill);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.land-verdict[data-verdict=dispersed]{color:var(--good)}.land-verdict[data-verdict=designated]{color:var(--ink-2)}.land-verdict[data-verdict=permit]{color:var(--warn)}.land-verdict[data-verdict=prohibited]{color:#fff;background:var(--warn);border-color:var(--warn)}.land-verdict[data-verdict=unknown]{color:var(--ink-3);border-style:dashed}.land-seg-note{margin:4px 0 0;font-size:.85rem;line-height:1.5;color:var(--ink-2)}.land-seg-water{margin:4px 0 0;font-size:.78rem;color:var(--ink-3)}.ntk-list{display:flex;flex-direction:column}.ntk-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.ntk-row:last-child{border-bottom:none}.ntk-icon{flex-shrink:0;font-size:1rem;line-height:1.4}.ntk-body{min-width:0;flex:1}.ntk-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ntk-name{font-weight:600;font-size:.9375rem}.ntk-detail{margin:3px 0 0;font-size:.85rem;line-height:1.5;color:var(--ink-2)}.map-hover-marker{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--gold);border:2px solid var(--ink);font-size:15px;line-height:1;pointer-events:none;animation:hover-marker-pulse 1.2s ease-out infinite}@keyframes hover-marker-pulse{0%{box-shadow:0 0 0 0 rgba(255,223,82,.75)}70%{box-shadow:0 0 0 12px rgba(255,223,82,0)}to{box-shadow:0 0 0 0 rgba(255,223,82,0)}}.water-suggestion-row{cursor:default}.water-suggestion-row:hover{background:var(--surface-2)}.step-head{margin-bottom:20px}.step-count{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-variant-numeric:tabular-nums;margin-bottom:6px}.step-guide{margin:6px 0 0;font-size:.9rem;line-height:1.55;color:var(--ink-3);max-width:56ch}.step-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.trip-cmd-tab.visited{color:var(--ink-2)}.export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.export-note{margin:10px 0 0;font-size:.8rem;color:var(--ink-3);line-height:1.5}.export-recap{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 8px}.export-recap div{display:flex;flex-direction:column;gap:2px;padding:12px;background:var(--bg-alt)}.export-recap span{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.export-recap strong{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.trip-card-more-btn{position:absolute;top:8px;right:84px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;font-size:15px;line-height:1;transition:border-color .15s ease,color .15s ease}.trip-card-more-btn:hover{border-color:var(--ink);color:var(--ink)}.trip-card-menu{position:absolute;top:40px;right:8px;z-index:30;min-width:210px;background:var(--surface);border:1px solid var(--line-2);padding:6px 0}.trip-card-menu button{display:block;width:100%;padding:9px 14px;text-align:left;background:transparent;border:none;font:500 13px/1.2 var(--font-sans);color:var(--ink-2);cursor:pointer}.trip-card-menu button:hover:not(:disabled){background:var(--bg-alt);color:var(--ink)}.trip-card-menu button:disabled{opacity:.55;cursor:default}.trip-card-menu-note{padding:6px 14px 4px;font-size:11px;color:var(--ink-4)}.print-root{display:none}@media print{body>:not(.print-root){display:none!important}body{background:#fff}.print-root{display:block!important;color:#0d0c0a;font-family:var(--font-sans);padding:8px 4px}.print-title{margin:0 0 4px;font-size:26pt;font-weight:800;letter-spacing:-.02em;line-height:1.05}.print-meta{margin:0 0 10px;font-size:11pt;color:rgba(13,12,10,.6)}.print-rule{width:56pt;height:4pt;background:#ffdf52;margin-bottom:14pt}.print-stats{display:flex;gap:22pt;margin-bottom:16pt}.print-stats div{display:flex;flex-direction:column;gap:2pt}.print-stats span{font-size:7.5pt;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(13,12,10,.55)}.print-stats strong{font-size:13pt;font-weight:700}.print-day{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:10pt}.print-day h2{margin:0 0 4pt;padding-top:6pt;border-top:.75pt solid rgba(13,12,10,.18);font-size:10.5pt;font-weight:700;letter-spacing:.02em}.print-day ul{margin:0;padding-left:14pt}.print-day li{font-size:10pt;line-height:1.5;margin-bottom:2pt}.print-notes{color:rgba(13,12,10,.6)}.print-empty{margin:0;font-size:9.5pt;color:rgba(13,12,10,.55)}.print-footer{margin-top:14pt;font-size:8.5pt;color:rgba(13,12,10,.55)}}