:root{--ink:#1b2838;--mist:#f4f1ec;--deep-water:#0f4c5c;--seafoam:#3daa9b;--sunrise:#e8925c;--tide:#8fa3ad;--primary:var(--deep-water);--primary-light:var(--seafoam);--primary-dark:#0a3a47;--secondary:var(--seafoam);--secondary-light:#5bc4b5;--secondary-dark:#2e8a7d;--accent:var(--sunrise);--accent-light:#f0a87a;--background:var(--mist);--surface:#fff;--surface-light:#faf9f7;--text:var(--ink);--text-secondary:var(--tide);--text-light:#a8b8c2;--success:#00d4aa;--warning:#ffb020;--error:#ff4757;--info:#0077be;--border:#e2ddd4;--border-light:#ede9e3;--overlay:#1a233280;--overlay-light:#1a233233;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-round:999px;--shadow-sm:0 1px 2px #1a23321a;--shadow-md:0 2px 4px #1a233226;--shadow-lg:0 4px 8px #1a233233;--shadow-xl:0 8px 16px #1a233240;--transition-fast:.15s ease-in-out;--transition-base:.25s ease-in-out;--transition-slow:.35s ease-in-out;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md);letter-spacing:-.02em}h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}h5{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}p{margin-bottom:var(--spacing-md);color:var(--text);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.text-muted{color:var(--text-secondary)}.text-light{color:var(--text-light)}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-dark)}.btn{border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);line-height:var(--line-height-tight);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;display:inline-flex}.btn-primary:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary:hover{background-color:var(--surface-light);border-color:var(--text-secondary)}.btn-accent:hover{background-color:var(--accent-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-sm{font-size:var(--font-size-sm);padding:8px 16px}.btn-lg{font-size:var(--font-size-md);padding:14px 28px}.btn-block{width:100%}.form-label{margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text);letter-spacing:.01em;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);width:100%;color:var(--text);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:border-color var(--transition-fast);padding:12px 16px;font-family:inherit}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light);font-size:var(--font-size-sm)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);border:1px solid var(--border-light)}code{background-color:var(--surface-light);border-radius:var(--radius-sm);padding:2px 6px;font-family:SF Mono,Monaco,Cascadia Code,Courier New,monospace;font-size:.9em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--surface-light)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-round)}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@media (width<=768px){:root{--font-size-3xl:2rem;--font-size-4xl:2.5rem}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}body{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}}@media (hover:none) and (pointer:coarse){.btn{min-width:44px;min-height:44px}.btn-sm{min-height:38px}button,a,input[type=button],input[type=submit]{min-height:44px}}html,body{max-width:100vw;overflow-x:clip}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (width<=768px){.form-input,.form-select,.form-textarea{appearance:none;font-size:16px}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}button:focus-visible,.btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.skip-to-main{z-index:999;background:var(--primary);color:#fff;border-radius:var(--radius-md);padding:1rem;text-decoration:none;position:absolute;left:-9999px}.skip-to-main:focus{top:1rem;left:50%;transform:translate(-50%)}.skeleton{background:linear-gradient(90deg, var(--surface-light) 25%, var(--border-light) 50%, var(--surface-light) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.container{max-width:1200px;padding:0 var(--spacing-lg);margin:0 auto}.container-fluid{width:100%;padding:0 var(--spacing-lg)}.text-left{text-align:left}.text-right{text-align:right}.d-flex{display:flex}.flex-column{flex-direction:column}.justify-center{justify-content:center}.align-center{align-items:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.m-0{margin:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-0{padding:0}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.hide-mobile{display:block}.show-mobile{display:none}@media (width<=768px){.hide-mobile{display:none!important}.show-mobile{display:block!important}.container,.container-fluid{padding:0 var(--spacing-md)}}@media print{.no-print{display:none!important}body{color:#000;background:#fff}}.site-layout{background:var(--mist);flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.site-header{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffeb;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;max-width:1100px;height:64px;margin:0 auto;padding:0 24px;display:flex}.site-layout--chart,.site-layout--chart .site-main{background:var(--deep-water);min-height:100dvh;overflow:visible}.site-layout--chart .site-main{flex-direction:column;display:flex}.site-logo{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.site-logo-mark{object-fit:contain;width:32px;height:32px}.site-logo-text{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.site-nav{align-items:center;gap:4px;display:flex}.site-nav-link{border-radius:var(--radius-sm);color:var(--tide);transition:color var(--transition-fast), background var(--transition-fast);padding:8px 14px;font-size:.875rem;font-weight:500;text-decoration:none}.site-nav-link:hover{color:var(--ink);background:#0f4c5c0f}.site-nav-link--active{color:var(--deep-water);font-weight:600}.site-nav-cta{border-radius:var(--radius-sm);color:#fff;background:var(--sunrise);transition:opacity var(--transition-fast);margin-left:8px;padding:8px 18px;font-size:.875rem;font-weight:600;text-decoration:none}.site-nav-cta:hover{opacity:.9;color:#fff}.site-header-inner>.site-nav-cta{margin-left:8px}.site-nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;display:none}.site-nav-toggle-bar{background:var(--ink);width:100%;height:2px;transition:transform var(--transition-fast), opacity var(--transition-fast);border-radius:1px;display:block}.site-hero{background:linear-gradient(160deg, var(--deep-water) 0%, var(--ink) 100%);color:#fff;text-align:center;padding:72px 24px 64px}.site-hero--compact{padding:48px 24px 40px}.site-hero h1{color:#fff;letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(2rem,5vw,3rem);font-weight:700}.site-hero p{color:#ffffffd9;max-width:540px;margin:0 auto;font-size:1.125rem}.site-hero .hero-meta{color:#fff9;margin-top:16px;font-size:.875rem;font-style:italic}.site-footer{background:var(--ink);color:#ffffffb3;padding:48px 24px 24px}.site-footer-inner{border-bottom:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:48px;max-width:1100px;margin:0 auto;padding-bottom:32px;display:flex}.site-footer-brand{align-items:flex-start;gap:12px;display:flex}.site-footer-brand-link{color:inherit;align-items:flex-start;gap:12px;text-decoration:none;display:flex}.site-footer-mark{object-fit:contain;opacity:.9;width:36px;height:36px}.site-footer-name{color:#fff;margin-bottom:4px;font-size:1.125rem;font-weight:700}.site-footer-tagline{color:#ffffff80;font-size:.875rem}.site-footer-links{gap:64px;display:flex}.site-footer-col h4{text-transform:uppercase;letter-spacing:.06em;color:#fff6;margin-bottom:12px;font-size:.75rem;font-weight:600}.site-footer-col a{color:#ffffffb3;transition:color var(--transition-fast);margin-bottom:8px;font-size:.875rem;text-decoration:none;display:block}.site-footer-col a:hover{color:#fff}.site-footer-bottom{color:#fff6;justify-content:space-between;align-items:center;max-width:1100px;margin:24px auto 0;font-size:.8125rem;display:flex}.site-footer-version{font-variant-numeric:tabular-nums}.site-content{max-width:1100px;margin:0 auto;padding:48px 24px}.site-content--narrow{max-width:760px}@media (width<=768px){.site-nav-toggle{display:flex}.site-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#fffffffa;flex-direction:column;align-items:stretch;gap:2px;padding:12px 16px 16px;display:none;position:absolute;top:64px;left:0;right:0}.site-nav--open{display:flex}.site-nav-link{padding:12px 16px;font-size:1rem}.site-header-inner>.site-nav-cta{margin:0}.site-header,.site-header-inner{position:relative}.site-footer-inner{flex-direction:column;gap:32px}.site-footer-links{gap:32px}.site-footer-bottom{text-align:center;flex-direction:column;gap:4px}.site-hero{padding:48px 20px 40px}.site-content{padding:32px 16px}}.last-mile-diagram{max-width:none}.last-mile-svg{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid var(--border);background:var(--surface);outline:none;width:100%;height:auto;display:block}.last-mile-svg text{pointer-events:none}.last-mile-svg:focus-visible{border-color:var(--seafoam)}.last-mile-paper{fill:#f7f3ec}.last-mile-water{fill:#0f4c5c2e}.last-mile-shore{fill:none;stroke:var(--deep-water);stroke-width:1.6px;opacity:.4}.last-mile-ripple{fill:none;stroke:var(--deep-water);stroke-width:1.1px;opacity:.22}.last-mile-ripple--a{animation:7s ease-in-out infinite ripple-drift}.last-mile-ripple--b{animation:9s ease-in-out infinite reverse ripple-drift}@keyframes ripple-drift{0%,to{opacity:.18;transform:translate(0)}50%{opacity:.32;transform:translate(-6px,3px)}}.last-mile-sand{fill:#e8e2d8}.last-mile-stall{fill:#a08c7073;stroke:none}.last-mile-stall-mark{display:none}.last-mile-trail{fill:none;stroke:var(--tide);stroke-width:2px;stroke-dasharray:7 6;stroke-linecap:round}.last-mile-node circle{fill:var(--mist);stroke:var(--sunrise);stroke-width:2.2px}.last-mile-node text{fill:var(--sunrise);text-anchor:middle;font-family:inherit;font-size:11px;font-weight:700}.last-mile-caption{fill:var(--tide);letter-spacing:.08em;text-transform:uppercase;text-anchor:middle;font-size:11px;font-weight:700}.last-mile-water-pin path{fill:var(--deep-water)}.last-mile-water-pin circle{fill:var(--sunrise)}.walker{pointer-events:none}.walker-head{fill:var(--mist);stroke:var(--ink);stroke-width:1.7px}.walker-cap{fill:var(--deep-water);stroke:var(--deep-water);stroke-width:.6px}.walker-torso,.walker-arm-back line,.walker-arm-rod line,.walker-leg line{fill:none;stroke:var(--ink);stroke-width:1.8px;stroke-linecap:round}.walker-rod-blank{fill:none;stroke:var(--sunrise);stroke-width:1.5px;stroke-linecap:round}.walker-line{fill:none;stroke:var(--tide);stroke-width:1px;stroke-linecap:round}.walker-float{fill:var(--sunrise)}.walker-cast-rig{display:none}.walker-line--hang,.walker-float--hang,.walker-rod--carry,.walker--cast .walker-cast-rig{display:block}.walker--cast .walker-line--hang,.walker--cast .walker-float--hang,.walker--cast .walker-rod--carry{display:none}.walker--cast .walker-torso{transform-origin:0 -33px;transform:rotate(10deg)}.walker--cast .walker-arm-rod{transform-origin:0 -29px;animation:.75s cubic-bezier(.2,.85,.25,1) both cast-arm}.walker--cast .walker-line--cast{stroke-dasharray:96;stroke-dashoffset:96px;animation:.5s ease-out .28s forwards cast-line-out}.walker--cast .walker-float--cast{opacity:0;animation:.28s .7s forwards float-plop}.walker-splash-ring{fill:none;stroke:var(--sunrise);stroke-width:1.1px;opacity:0;transform-box:fill-box;transform-origin:50%}.walker--cast .walker-splash-ring--a{animation:1.5s ease-out .72s infinite cast-splash}.walker--cast .walker-splash-ring--b{animation:1.7s ease-out .9s infinite cast-splash}.walker--cast .walker-splash-ring--c{animation:1.9s ease-out 1.08s infinite cast-splash}@keyframes cast-arm{0%{transform:rotate(-48deg)}to{transform:rotate(34deg)}}@keyframes cast-line-out{to{stroke-dashoffset:0}}@keyframes float-plop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes cast-splash{0%{opacity:.55;transform:scale(.4)}to{opacity:0;transform:scale(3.6)}}.walker--walk .walker-bob{animation:.48s ease-in-out infinite walker-bob}.walker--walk .walker-leg--far{transform-origin:0 -17px;animation:.48s ease-in-out infinite walker-stride-far}.walker--walk .walker-leg--near{transform-origin:0 -17px;animation:.48s ease-in-out infinite walker-stride-near}.walker--walk .walker-arm-back{transform-origin:0 -29px;animation:.48s ease-in-out infinite walker-arm-back}.walker--walk .walker-arm-rod{transform-origin:0 -29px;animation:.48s ease-in-out infinite walker-arm-rod}@keyframes walker-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.2px)}}@keyframes walker-stride-far{0%,to{transform:rotate(24deg)}50%{transform:rotate(-20deg)}}@keyframes walker-stride-near{0%,to{transform:rotate(-20deg)}50%{transform:rotate(24deg)}}@keyframes walker-arm-back{0%,to{transform:rotate(-12deg)}50%{transform:rotate(14deg)}}@keyframes walker-arm-rod{0%,to{transform:rotate(10deg)}50%{transform:rotate(-8deg)}}.last-mile-range-value{fill:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:11px;font-weight:700}.last-mile-compass-ring{fill:#f4f1ece0;stroke:var(--deep-water);stroke-width:1.4px}.last-mile-compass-tick{stroke:var(--deep-water);stroke-width:1.4px}.last-mile-compass-n{fill:var(--deep-water);letter-spacing:.08em;text-anchor:middle;font-size:6.5px;font-weight:800}.last-mile-compass-needle{fill:var(--sunrise)}.last-mile-compass-hub{fill:var(--deep-water)}.last-mile-copy{color:var(--ink);min-height:1.6em;margin:16px 0 0;font-size:1.125rem;line-height:1.45}.last-mile-hint{color:var(--tide);margin:6px 0 0;font-size:.8125rem}.last-mile-toggles{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.last-mile-toggle{border:1px solid var(--border);background:var(--surface);color:var(--deep-water);border-radius:var(--radius-round);cursor:pointer;padding:8px 14px;font-size:.8125rem;font-weight:600}.last-mile-toggle--on{background:var(--deep-water);color:var(--surface);border-color:var(--deep-water)}.last-mile-trail-gone{fill:none;stroke:var(--sunrise);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.last-mile-diagram--stage{position:absolute;inset:0;overflow:hidden}.last-mile-diagram--stage .last-mile-svg{cursor:ew-resize;background:#0a3a47;border:none;width:100%;height:100%;overflow:hidden}.last-mile-sky,.last-mile-islands,.last-mile-island-reflects,.last-mile-wave,.last-mile-foam,.last-mile-haze,.last-mile-wet,.last-mile-horizon,.last-mile-rock,.last-mile-dune,.last-mile-grass,.last-mile-shallow,.last-mile-fish{display:none}.last-mile-water-top{stop-color:#0f4c5c;stop-opacity:.2}.last-mile-water-mid{stop-color:#0f4c5c;stop-opacity:.14}.last-mile-water-bot{stop-color:#0f4c5c;stop-opacity:.1}.last-mile-diagram--stage .last-mile-sky,.last-mile-diagram--stage .last-mile-islands,.last-mile-diagram--stage .last-mile-island-reflects,.last-mile-diagram--stage .last-mile-wave,.last-mile-diagram--stage .last-mile-foam,.last-mile-diagram--stage .last-mile-haze,.last-mile-diagram--stage .last-mile-wet,.last-mile-diagram--stage .last-mile-horizon,.last-mile-diagram--stage .last-mile-rock,.last-mile-diagram--stage .last-mile-dune,.last-mile-diagram--stage .last-mile-grass,.last-mile-diagram--stage .last-mile-shallow,.last-mile-diagram--stage .last-mile-fish{display:block}.last-mile-diagram--stage .last-mile-fish{pointer-events:none}.last-mile-diagram--stage .last-mile-paper{fill:none}.last-mile-sky-top{stop-color:#0a3a47}.last-mile-sky-mid{stop-color:#c45c3e}.last-mile-sky-bot{stop-color:#e8925c}.last-mile-diagram--stage .last-mile-sky-top{animation:18s ease-in-out infinite alternate sky-top}.last-mile-diagram--stage .last-mile-sky-mid{animation:18s ease-in-out infinite alternate sky-mid}.last-mile-diagram--stage .last-mile-sky-bot{animation:18s ease-in-out infinite alternate sky-bot}.last-mile-diagram--stage .last-mile-water-top{stop-color:#0a3542;stop-opacity:1}.last-mile-diagram--stage .last-mile-water-mid{stop-color:#156b73;stop-opacity:1}.last-mile-diagram--stage .last-mile-water-bot{stop-color:#4eb8a8;stop-opacity:.95}.last-mile-island--west,.last-mile-island--far{fill:#3d5c66;opacity:.4}.last-mile-island--mid{fill:#1a3840;opacity:.82}.last-mile-island--near{fill:#122c34;opacity:.92}.last-mile-island--rock{fill:#0e242c;opacity:.88}.last-mile-island-reflects{opacity:.28}.last-mile-horizon{stroke:#f4f1ec38;stroke-width:.7px}.last-mile-wave{fill:none;stroke:#f4f1ec29;stroke-width:.85px;stroke-linecap:round}.last-mile-wave--a{animation:7s ease-in-out infinite wave-drift}.last-mile-wave--b{animation:9s ease-in-out infinite reverse wave-drift}.last-mile-wave--c{animation:11s ease-in-out infinite wave-drift}.last-mile-wave--d{stroke-width:1.05px;stroke:#f4f1ec38;animation:8s ease-in-out infinite reverse wave-drift}.last-mile-shallow{fill:#6ed2be38}.last-mile-foam{fill:#f4f1ec8c;stroke:none}.last-mile-diagram--stage .last-mile-sand{fill:#e0c196}.last-mile-wet{fill:#c49a72}.last-mile-dune{fill:#d4b086}.last-mile-grass{fill:none;stroke:#5a6b48;stroke-width:1.15px;stroke-linecap:round}.last-mile-rock{fill:#6b5e52}.last-mile-rock--dark{fill:#4a4038}.last-mile-diagram--stage .last-mile-shore{stroke:#1b283847;stroke-width:1.1px}@keyframes wave-drift{0%,to{opacity:.14;transform:translate(0)}50%{opacity:.26;transform:translate(5px,-1.5px)}}@keyframes sky-top{0%{stop-color:#1a3344}50%{stop-color:#3d5c78}to{stop-color:#1b2838}}@keyframes sky-mid{0%{stop-color:#c45c3e}50%{stop-color:#e8925c}to{stop-color:#8b3a3a}}@keyframes sky-bot{0%{stop-color:#e8925c}50%{stop-color:#f0c08a}to{stop-color:#e8925c}}.last-mile-fish-body{fill:#2a5560}.last-mile-fish-belly{fill:#4e8a8a}.last-mile-fish-tail,.last-mile-fish-fin{fill:#1e3f48}.last-mile-fish-eye{fill:#f4e4c4}.last-mile-fish--swim-a{transform-box:fill-box;transform-origin:50%;animation:10s ease-in-out infinite fish-swim-a}.last-mile-fish--swim-b{transform-box:fill-box;transform-origin:50%;animation:13s ease-in-out infinite fish-swim-b}.last-mile-fish-leap{transform-box:fill-box;transform-origin:50%;animation:4.8s ease-in-out infinite fish-jump}.last-mile-fish-splash-ring{fill:none;stroke:#f4f1ecbf;stroke-width:1px;opacity:0;transform-box:fill-box;transform-origin:50%}.last-mile-fish-splash-ring--a{animation:4.8s ease-out infinite fish-splash}.last-mile-fish-splash-ring--b{animation:4.8s ease-out .1s infinite fish-splash}.last-mile-fish-drop{fill:#f4f1eccc;opacity:0}.last-mile-fish-drop--a{animation:4.8s ease-out infinite fish-drop}.last-mile-fish-drop--b{animation:4.8s ease-out 60ms infinite fish-drop}.last-mile-fish-drop--c{animation:4.8s ease-out .12s infinite fish-drop}@keyframes fish-swim-a{0%{transform:translate(0)rotate(-6deg)scale(1)}24%{transform:translate(32px,-5px)rotate(7deg)scale(1)}46%{transform:translate(70px,-3px)rotate(-4deg)scale(1)}50%{transform:translate(70px,-3px)rotate(-4deg)scaleX(-1)}74%{transform:translate(32px,4px)rotate(6deg)scaleX(-1)}96%{transform:translateY(2px)rotate(-5deg)scaleX(-1)}to{transform:translate(0)rotate(-6deg)scale(1)}}@keyframes fish-swim-b{0%{transform:translate(0)rotate(5deg)scaleX(-1)}24%{transform:translate(-36px,4px)rotate(-7deg)scaleX(-1)}46%{transform:translate(-78px,2px)rotate(4deg)scaleX(-1)}50%{transform:translate(-78px,2px)rotate(4deg)scale(1)}74%{transform:translate(-36px,-4px)rotate(-6deg)scale(1)}96%{transform:translateY(-2px)rotate(5deg)scale(1)}to{transform:translate(0)rotate(5deg)scaleX(-1)}}@keyframes fish-jump{0%,52%{transform:translateY(10px)rotate(-18deg)}60%{transform:translate(8px,-22px)rotate(-55deg)}68%{transform:translate(18px,-6px)rotate(10deg)}74%{transform:translate(24px,12px)rotate(38deg)}84%,to{transform:translate(6px,10px)rotate(-12deg)}}@keyframes fish-splash{0%,70%,to{opacity:0;transform:scale(.3)}74%{opacity:.8;transform:scale(1.2)}88%{opacity:0;transform:scale(2.8)}}@keyframes fish-drop{0%,70%,to{opacity:0;transform:translate(0)}74%{opacity:.9;transform:translateY(-3px)}86%{opacity:0;transform:translateY(6px)}}.last-mile-diagram--stage .last-mile-stall{fill:#5a4e3e33;stroke:none}.last-mile-diagram--stage .last-mile-caption{display:none}.last-mile-diagram--stage .last-mile-trail{stroke:#5a463259}.last-mile-diagram--stage .walker-head{fill:var(--mist);stroke:var(--ink)}.last-mile-diagram--stage .walker-torso,.last-mile-diagram--stage .walker-arm-back line,.last-mile-diagram--stage .walker-arm-rod line,.last-mile-diagram--stage .walker-leg line{stroke:var(--ink)}.last-mile-diagram--stage .walker-splash-ring{stroke:#f4f1ecd9}.last-mile-diagram--stage .last-mile-range{opacity:.9}.last-mile-diagram--stage .last-mile-range-value{fill:var(--ink);font-size:10px}.last-mile-diagram--stage .last-mile-compass{opacity:.82}.last-mile-diagram--stage .last-mile-compass-ring{fill:#0c44528c;stroke:#f4f1ec66}.last-mile-diagram--stage .last-mile-compass-tick,.last-mile-diagram--stage .last-mile-compass-n,.last-mile-diagram--stage .last-mile-compass-hub{stroke:#f4f1ec80;fill:#f4f1eca6}.last-mile-diagram--stage .last-mile-copy,.last-mile-diagram--stage .last-mile-toggles,.last-mile-diagram--stage .last-mile-hint{display:none}.last-mile-diagram--stage:not(.last-mile-diagram--at-pin) .last-mile-node--lot circle{animation:1.8s ease-in-out infinite lot-pulse}.last-mile-diagram--at-pin .last-mile-water-pin{animation:.9s pin-arrive}@keyframes lot-pulse{0%,to{stroke-width:2.2px}50%{stroke-width:3.4px}}@keyframes pin-arrive{0%,to{opacity:1}40%{opacity:.4}}@media (prefers-reduced-motion:reduce){.last-mile-diagram *,.last-mile-diagram :before,.last-mile-diagram :after{transition:none!important;animation:none!important}.walker--cast .walker-line--cast,.walker--cast .walker-float--cast{stroke-dashoffset:0;opacity:1}}.photo-screen{z-index:80;background:#000;place-items:center;display:grid;position:fixed;inset:0}.photo-screen-backdrop{cursor:zoom-out;background:0 0;border:0;padding:0;position:absolute;inset:0}.photo-screen-close,.photo-screen-nav{z-index:2;color:var(--mist);cursor:pointer;background:#0f4c5c8c;border:1px solid #f4f1ec38;position:absolute}.photo-screen-close{letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;font-size:.75rem;font-weight:700;top:16px;right:16px}.photo-screen-nav{width:44px;height:44px;font-size:1.75rem;line-height:1;top:50%;transform:translateY(-50%)}.photo-screen-nav--prev{left:16px}.photo-screen-nav--next{right:16px}.photo-screen-frame{z-index:1;flex-direction:column;align-items:center;gap:12px;max-width:min(92vw,1100px);max-height:92dvh;margin:0;display:flex;position:relative}.photo-screen-frame img{object-fit:contain;max-width:100%;max-height:calc(92dvh - 40px);display:block}.photo-screen-frame figcaption{color:#f4f1ecb8;font-size:.8125rem;font-weight:600}.photo-screen-close:hover,.photo-screen-nav:hover{color:var(--mist);background:#0f4c5cd9}.chart{background:var(--deep-water);min-height:100dvh;color:var(--mist);flex-direction:column;flex:1;line-height:1.45;display:flex;position:relative}.chart-plate{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:1240px;margin:0 auto;padding:36px 40px 48px;display:flex}.chart-deferred-slot{min-width:0;min-height:1px}.chart-kicker{letter-spacing:.16em;text-transform:uppercase;color:#f4f1ec73;margin:0 0 8px;font-size:.6875rem;font-weight:700}.chart-head,.chart-intro,.chart-notes,.chart-foot{z-index:3;background:var(--deep-water);position:relative}.chart-head{border-bottom:1px solid #f4f1ec1f;justify-content:space-between;align-items:center;gap:24px;padding-bottom:14px;display:flex}.chart-brand{letter-spacing:-.03em;color:var(--mist);align-items:center;gap:10px;margin:0;font-size:1rem;font-weight:700;display:flex}.chart-brand img{background:var(--mist);object-fit:contain;width:28px;height:28px;padding:3px;display:block}.chart-head-meta{align-items:baseline;gap:28px;display:flex}.chart-stat{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin:0;display:flex}.chart-stat strong{letter-spacing:-.03em;font-size:1.25rem;font-weight:700;line-height:1}.chart-stat span{letter-spacing:.08em;text-transform:uppercase;color:#f4f1ec80;font-size:.75rem}.chart-play{color:var(--sunrise);font-size:.8125rem;font-weight:600;text-decoration:none}.chart-play:hover{color:var(--mist)}.chart-connect{border:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 28px;margin:0 0 8px;padding:0;display:flex}.chart-store,.chart-social{color:var(--mist);background:0 0;border:0;align-items:center;gap:8px;margin:0;padding:0;font-size:.8125rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.chart-store svg,.chart-social svg{flex-shrink:0;width:15px;height:15px}.chart-store{color:var(--sunrise)}.chart-store:hover:not(.chart-store--soon),.chart-social:hover{color:var(--mist)}.chart-store--soon{color:#f4f1ec6b;cursor:default;font-weight:600}.chart-social{color:#f4f1ecc7}.chart-hero{padding:clamp(52px,9vh,92px) 0 clamp(46px,7vh,72px)}.chart-intro{text-align:center;max-width:52rem;margin:0 auto}.chart-title{letter-spacing:-.035em;color:var(--mist);margin:0 0 8px;font-size:clamp(2.25rem,4.2vw,3.5rem);font-weight:700;line-height:1.15}.chart-lead-copy{margin:0;color:#f4f1ec9e;max-width:38rem;margin-inline:auto;font-size:1rem;line-height:1.5}.chart-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;margin-top:22px;display:flex}.chart-hero-download{border:1px solid var(--sunrise);border-radius:var(--radius-round);background:var(--sunrise);min-height:48px;color:var(--ink);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:9px;padding:0 20px;font-size:.9375rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.chart-hero-download svg{width:17px;height:17px}.chart-hero-download:hover{border-color:var(--accent-light);background:var(--accent-light);transform:translateY(-1px)}.chart-hero-download:focus-visible,.chart-hero-explore:focus-visible{outline:3px solid var(--mist);outline-offset:4px}.chart-hero-explore{min-height:44px;color:var(--mist);text-underline-offset:4px;align-items:center;font-size:.9375rem;font-weight:600;text-decoration-color:#f4f1ec73;display:inline-flex}.chart-hero-explore:hover{color:var(--sunrise);text-decoration-color:currentColor}.chart-featured{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(28px,5vw,64px);padding:0 0 clamp(48px,7vh,76px);scroll-margin-top:24px;display:grid}.chart-featured-intro{max-width:26rem}.chart-section-title{color:var(--mist);letter-spacing:-.035em;margin:0 0 10px;font-size:clamp(1.5rem,2.4vw,2.125rem);font-weight:700;line-height:1.18}.chart-section-copy{color:#f4f1ec9e;max-width:44ch;margin:0;font-size:.9375rem;line-height:1.55}.chart-pin--featured{border-radius:var(--radius-lg);background:#f4f1ec0e;border:1px solid #f4f1ec29;min-width:0;padding:clamp(18px,2.5vw,28px)}.chart-pin-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.chart-pin-heading .chart-kicker{margin-bottom:0}.chart-pin--featured .pin-read--featured{grid-template-columns:minmax(120px,.85fr) minmax(0,1.15fr);gap:18px}.pin-read--featured .pin-read-photo-btn,.pin-read--featured .pin-read-photo,.pin-read--featured .pin-read-photo--empty{aspect-ratio:8/5;border-radius:var(--radius-md);width:100%;height:auto}.pin-read--featured .pin-read-photo{object-fit:cover}.pin-read--featured .pin-read-photo--empty{background:linear-gradient(145deg,#3daa9b40,#e8925c33)}.pin-read--featured .pin-read-name{font-size:clamp(1.125rem,1.8vw,1.375rem)}.pin-read-facts{gap:9px;width:100%;margin-top:2px;display:grid}.pin-read-fact{color:#f4f1ecb8;flex-direction:column;gap:2px;font-size:.75rem;line-height:1.4;display:flex}.pin-read-fact--route{border-left:2px solid var(--sunrise);background:#f4f1ec0f;padding:8px 10px}.pin-read-fact-label{color:#f4f1ec75;letter-spacing:.1em;text-transform:uppercase;font-size:.625rem;font-weight:700;line-height:1.2}.chart-pin--featured .pin-read-empty{border-radius:var(--radius-md);border:1px dashed #f4f1ec3d;padding:18px}.chart-figure{z-index:1;isolation:isolate;contain:layout paint;background:#0a3a47;border:1px solid #f4f1ec24;flex:none;height:clamp(250px,30vh,300px);margin:26px 0 0;position:relative;overflow:hidden}.chart-figure .last-mile-diagram--stage{position:absolute;inset:0;overflow:hidden}.chart-how{border-top:1px solid #f4f1ec1f;padding:28px 0 clamp(44px,7vh,72px)}.chart-section-heading{max-width:48rem}.chart-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 0;padding:0;list-style:none;display:grid}.chart-step{border-radius:var(--radius-md);background:#f4f1ec0b;border:1px solid #f4f1ec21;min-width:0;padding:20px}.chart-step-number{color:var(--sunrise);letter-spacing:.12em;font-variant-numeric:tabular-nums;margin-bottom:18px;font-size:.75rem;font-weight:700;display:block}.chart-step h3{color:var(--mist);letter-spacing:-.02em;margin:0 0 7px;font-size:1rem;font-weight:700}.chart-step p{color:#f4f1ec9e;margin:0;font-size:.875rem;line-height:1.5}.chart-community{border-top:1px solid #f4f1ec1f;min-width:0;padding:8px 0 28px}.chart-notes{border-top:1px solid #f4f1ec1f;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:0 36px;margin-top:0;padding-top:20px;padding-bottom:16px;display:grid}.chart-notes-heading{grid-column:1/-1;margin-bottom:18px}.chart-glossary dl{margin:0}.chart-glossary-row{border-top:1px solid #f4f1ec1a;grid-template-columns:7.25rem 1fr;gap:16px;padding:9px 0;display:grid}.chart-glossary-row dt{letter-spacing:.04em;color:var(--sunrise);margin:0;font-size:.75rem;font-weight:700}.chart-glossary-row dd{color:#f4f1ec94;margin:0;font-size:.875rem;line-height:1.4}.pin-read{color:var(--mist);background:0 0;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:16px;padding:0;display:grid}.pin-read-photo-btn{cursor:zoom-in;background:0 0;border:0;min-height:0;margin:0;padding:0;display:block}.pin-read-photo{object-fit:cover;background:#f4f1ec14;border:1px solid #f4f1ec29;width:96px;height:72px;display:block}.pin-read-photo--empty{height:72px}.pin-read-copy{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.pin-read-name{letter-spacing:-.02em;color:var(--mist);font-size:1.0625rem;font-weight:700;line-height:1.25}.pin-read-line{color:#f4f1ec8c;font-size:.8125rem}.pin-read-pulse{color:var(--seafoam);font-size:.8125rem;font-weight:600}.pin-read-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:6px;display:flex}.pin-read-open{color:var(--sunrise);font-size:.8125rem;font-weight:600;text-decoration:none}.pin-read-open:hover{color:var(--mist)}.pin-read-shuffle{font:inherit;color:#f4f1ec73;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600}.pin-read-shuffle:hover{color:var(--mist)}.pin-read-shuffle:disabled{opacity:.55;cursor:default}.pin-read-empty{color:#f4f1ec8c;margin:0;font-size:.875rem}.chart-foot{border-top:1px solid #f4f1ec1f;margin-top:auto;padding-top:28px}.chart-mpa .mpa-strip{grid-template-columns:1fr;align-items:start;gap:8px}.chart-mpa .mpa-chart{background:0 0;border:none;max-height:84px}.chart-mpa .mpa-island{fill:#2a6b78;stroke:#f4f1ec47}.chart-mpa .mpa-island-label{fill:#f4f1ec8c}.chart-mpa .mpa-zone{fill:#3daa9b59;stroke:var(--seafoam)}.chart-mpa .mpa-strip-lead{color:var(--mist);margin:0 0 4px;font-size:.8125rem;line-height:1.4}.chart-mpa .mpa-strip-note{color:#f4f1ec80;margin:0 0 8px;font-size:.6875rem;line-height:1.4}.chart-mpa .mpa-flag{color:var(--mist);background:0 0;border-color:#f4f1ec38;border-radius:0;padding:3px 7px;font-size:.625rem}.about-legal{color:#f4f1ec6b;text-align:center;margin:6px 0 0;font-size:.75rem}.about-legal a{color:#f4f1ec8c;font-weight:500;text-decoration:none}.about-legal a:hover{color:var(--mist)}@media (width<=1180px){.chart-notes{grid-template-columns:minmax(0,1fr) minmax(280px,1.05fr)}.chart-mpa{grid-column:2}}@media (width<=900px){.chart-plate{padding:18px 18px 28px}.chart-hero{padding:44px 0 40px}.chart-intro{max-width:42rem}.chart-featured{grid-template-columns:1fr;gap:20px;padding-bottom:42px}.chart-featured-intro{max-width:42rem}.chart-pin--featured{max-width:620px}.chart-head-meta{gap:16px}.chart-figure{height:clamp(220px,36vh,280px)}.chart-steps{grid-template-columns:1fr;gap:10px}.chart-step{grid-template-columns:36px minmax(0,1fr);align-items:baseline;column-gap:12px;padding:16px;display:grid}.chart-step-number{grid-row:span 2;margin:0}.chart-step h3{margin-bottom:4px}.chart-notes{grid-template-columns:1fr;gap:22px}.chart-mpa{grid-column:auto}.chart-connect{justify-content:center}}@media (width<=560px){.chart-head{flex-direction:column;align-items:flex-start;gap:10px}.pin-read{grid-template-columns:72px 1fr;gap:12px}.chart-pin--featured .pin-read--featured{grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);gap:12px}.chart-hero-actions{gap:8px 16px;margin-top:18px}.pin-read-photo,.pin-read-photo--empty{width:72px;height:54px}}.App{background:var(--background);flex-direction:column;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;display:flex}.btn{height:50px;padding:0 var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;gap:var(--spacing-sm);text-align:center;border:none;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background-color:var(--deep-water);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.btn-secondary{background-color:var(--surface);color:var(--deep-water);border:2px solid var(--deep-water)}.btn-secondary:hover:not(:disabled){background-color:#0f4c5c0f}.btn-accent{background-color:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background-color:#e85a28}.btn-success{background-color:var(--success);color:#fff}.btn-warning{background-color:var(--warning);color:#fff}.btn-danger{background-color:var(--error);color:#fff}.btn-link{color:var(--primary);box-shadow:none;background:0 0;font-weight:500;text-decoration:none}.btn-link:hover:not(:disabled){color:var(--primary-dark);text-decoration:underline}.btn-sm{height:40px;padding:0 var(--spacing-md);font-size:14px}.btn-lg{height:56px;padding:0 var(--spacing-xl);font-size:18px}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{margin-bottom:var(--spacing-sm);color:var(--text);font-size:14px;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{width:100%;height:50px;padding:0 var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base);background-color:var(--surface);color:var(--text);font-size:16px}.form-group textarea{height:auto;min-height:100px;padding:var(--spacing-md);resize:vertical}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);border-width:2px;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)}.form-group small{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:12px;line-height:1.4;display:block}.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.card-title{color:var(--text);margin-bottom:var(--spacing-xs);font-size:20px;font-weight:600}.card-subtitle{color:var(--text-secondary);font-size:14px}.loading{text-align:center;padding:var(--spacing-xxl);color:var(--text-secondary);align-items:center;gap:var(--spacing-md);flex-direction:column;font-size:16px;display:flex}.loading:before{content:"";border:4px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-message{text-align:center;padding:var(--spacing-xxl);color:var(--text-secondary);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-size:16px}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);align-items:center;gap:var(--spacing-sm);font-weight:500;display:flex}.alert-success{color:#065f46;border-left:4px solid var(--success);background-color:#d1fae5}.alert-error{color:#c41e3a;border-left:4px solid var(--error);background-color:#ffe5e5}.alert-warning{color:#8b5a00;border-left:4px solid var(--warning);background-color:#fff4e5}.alert-info{color:#004b87;border-left:4px solid var(--info);background-color:#e5f2ff}.badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-round);align-items:center;font-size:12px;font-weight:700;display:inline-flex}.badge-primary{background-color:var(--primary);color:#fff}.badge-success{background-color:var(--success);color:#fff}.badge-warning{background-color:var(--warning);color:#fff}.badge-danger{background-color:var(--error);color:#fff}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.p-1{padding:var(--spacing-sm)}.p-2{padding:var(--spacing-md)}.p-3{padding:var(--spacing-lg)}.p-4{padding:var(--spacing-xl)}.error-message{color:#c41e3a;padding:var(--spacing-lg);border-radius:var(--radius-md);margin:var(--spacing-lg);text-align:center;border-left:4px solid var(--error);background-color:#ffe5e5}.error-message a{color:var(--primary);font-weight:600;text-decoration:underline}.no-data{text-align:center;padding:var(--spacing-xxl);color:var(--text-secondary);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-size:16px}
