:root{--font-sans:"Avenir Next","Helvetica Neue",Arial,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--ink:#efdeda;--muted:#a58884;--faint:#6f5450;--panel:#0d0708;--panel-2:#140b0c;--line:rgba(255,120,110,0.14);--line-bright:rgba(255,120,110,0.26);--aqua:#ff5a4f;--aqua-deep:#c23a31;--amber:#f5b94c;--danger:#ff6b5e;--timeline-h:calc(64px + env(safe-area-inset-bottom, 0px));--timeline-elevated:rgba(217,147,43,.55);--timeline-high:rgba(229,72,77,.6);--route-optimum:#ff6b5e;--route-direct:#8a5b52;--ui-z-map:0;--ui-z-dock:20;--ui-z-controls:40;--ui-z-backdrop:50;--ui-z-panel:60;--ui-z-navigation:70;--ui-z-alert:80;--ui-z-modal:100;--ui-z-toast:120;--ui-touch-target:44px;--ui-panel-radius:12px;--ui-panel-gap:12px}@media (max-width:820px){:root{--timeline-h:calc(96px + env(safe-area-inset-bottom, 0px))}}*{box-sizing:border-box}body,html{width:100%;min-height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{background:#050303;color:var(--ink);font-family:var(--font-sans)}button,input{font:inherit}button{color:inherit}a,button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100dvh;background:#060404}.brand{display:flex;align-items:center;gap:9px;color:#f5e4e0;text-decoration:none;font-size:16px;font-weight:650;letter-spacing:-.02em}.brand>span:last-child span{color:#b09390;font-weight:450}.brand-mark{width:31px;height:31px;display:grid;place-items:center;color:#1f0503;background:var(--aqua);border-radius:8px 8px 8px 3px;transform:rotate(-3deg)}.brand-mark svg{transform:rotate(3deg)}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;background:transparent;color:#a58a86;cursor:pointer}.icon-button:hover{color:white;background:rgba(255,255,255,.05);border-color:var(--line)}.model-status{height:38px;display:flex;align-items:center;gap:7px;padding:0 13px;border:1px solid var(--line-bright);border-radius:19px;color:#c8b0ac;background:rgba(14,7,8,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-family:var(--font-mono);font-size:12px;box-shadow:0 6px 22px rgba(0,0,0,.24)}.model-status span:last-child{color:#8a6a67}.live-dot{width:6px;height:6px;background:var(--aqua);border-radius:50%;box-shadow:0 0 9px var(--aqua)}.upgrade-button{height:38px;display:flex;align-items:center;gap:7px;padding:0 14px;border:1px solid rgba(255,90,79,.25);border-radius:19px;color:var(--aqua);background:rgba(14,7,8,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:13px;font-weight:650;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.24)}.upgrade-button:hover{background:rgba(255,90,79,.14)}.avatar{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line-bright);border-radius:50%;background:rgba(14,7,8,.92);color:var(--muted);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.24)}.avatar:hover{color:var(--ink);border-color:color-mix(in srgb,var(--aqua) 48%,var(--line-bright));background:color-mix(in srgb,var(--aqua) 7%,rgba(14,7,8,.92))}.avatar.signed-in{border-color:var(--aqua)}.account-control{position:relative;display:grid;place-items:center}.account-menu{position:absolute;z-index:60;top:46px;right:0;width:302px;padding:12px;border:1px solid var(--line-bright);border-radius:12px;background:rgba(14,7,8,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(0,0,0,.35)}.account-head{position:relative;display:flex;flex-direction:column;gap:4px;padding:2px 26px 10px 2px}.account-head strong{font-size:14px}.account-head span{color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.account-close{position:absolute;top:-2px;right:-2px;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--muted);background:transparent;cursor:pointer}.account-close:hover{color:var(--ink);background:rgba(255,255,255,.06)}.account-save{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border:1px solid var(--line-bright);border-radius:8px;color:var(--ink);background:transparent;font-size:12px;font-weight:650;cursor:pointer}.account-save:hover{border-color:var(--aqua)}.account-save:disabled{opacity:.45;cursor:default}.account-save.primary{border:1px solid transparent;background:var(--aqua);color:#1f0503}.account-section{margin:12px 2px 6px;color:var(--faint);font:600 10px var(--font-mono);letter-spacing:.1em}.account-empty{display:flex;gap:7px;align-items:center;padding:6px 2px 8px;color:var(--muted);font-size:12px}.account-routes{max-height:240px;overflow-y:auto;display:grid;grid-gap:3px;gap:3px;scrollbar-width:thin}.account-route{display:grid;grid-template-columns:1fr 28px;grid-gap:4px;gap:4px;align-items:center}.route-load{display:flex;align-items:center;gap:9px;min-width:0;padding:7px 8px;border:0;border-radius:7px;color:inherit;background:transparent;text-align:left;cursor:pointer}.route-load:hover{background:rgba(255,255,255,.05)}.route-load svg{flex:0 0 auto;color:var(--aqua)}.route-load span{min-width:0;display:flex;flex-direction:column;gap:2px}.route-load strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.route-load small{color:var(--faint);font-size:10.5px}.route-delete{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:6px;color:var(--faint);background:transparent;cursor:pointer}.route-delete:hover{color:var(--danger);background:rgba(229,72,77,.1)}.account-signout{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;padding:8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:transparent;font-size:12px;cursor:pointer}.account-signout:hover{color:var(--ink);border-color:var(--line-bright)}.auth-switch{margin:16px 0 14px;grid-template-columns:1fr 1fr}.auth-fields{display:grid;grid-gap:10px;gap:10px;text-align:left}.auth-fields label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.auth-fields input{height:40px;padding:0 11px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:rgba(255,255,255,.03);font-size:13px;outline:0}.auth-fields input:focus{border-color:var(--aqua)}.auth-error{padding:9px 11px;border:1px solid rgba(229,72,77,.35);border-radius:7px;color:#fecaca;background:rgba(127,29,29,.22);font-size:12px}.auth-fields .calculate-button{width:100%;margin:4px 0 0}.auth-modal>small{display:block;margin-top:12px}.workspace{position:relative;height:100dvh;overflow:hidden}.global-navigation{display:none}.floating-actions{position:absolute;z-index:40;top:calc(14px + env(safe-area-inset-top, 0px));right:calc(14px + env(safe-area-inset-right, 0px));display:flex;align-items:center;gap:9px}.float-button{width:38px;height:38px;border:1px solid var(--line-bright);border-radius:50%;background:rgba(14,7,8,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 22px rgba(0,0,0,.24)}.search-cluster{position:absolute;z-index:46;top:calc(14px + env(safe-area-inset-top, 0px));left:calc(14px + env(safe-area-inset-left, 0px));width:min(400px,calc(100% - 28px));display:flex;flex-direction:column;gap:10px;transition:opacity .18s ease}.workspace.sidebar-open .search-cluster{opacity:0;pointer-events:none}.map-search-shell{position:relative}.map-search-pill{height:48px;display:flex;align-items:center;gap:2px;padding:0 6px;border:1px solid var(--line-bright);border-radius:24px;background:rgba(14,7,8,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 28px rgba(0,0,0,.3)}.map-search-pill>button,.pill-glyph{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#a58a86;background:transparent;cursor:pointer}.pill-glyph{cursor:default}.map-search-pill>button:hover{color:white;background:rgba(255,255,255,.06)}.map-search-pill input{flex:1 1;min-width:0;padding:0 4px;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}.map-search-pill input::placeholder{color:#7c5f5c}.map-search-results{max-height:min(380px,48dvh)}.place-card{position:relative;display:flex;gap:12px;padding:14px;border:1px solid var(--line-bright);border-radius:14px;background:rgba(14,7,8,.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 36px rgba(0,0,0,.35)}.place-icon{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--aqua);background:rgba(255,90,79,.1)}.place-body{min-width:0;display:flex;flex-direction:column;gap:4px}.place-body strong{font-size:14px}.place-body small{color:var(--muted);font:11px var(--font-mono);text-transform:capitalize}.place-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.place-actions button{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line-bright);border-radius:16px;background:transparent;color:#c9aca8;font-size:12px;font-weight:600;cursor:pointer}.place-actions button:hover{border-color:rgba(255,90,79,.4);color:var(--aqua)}.place-actions button.primary{border-color:transparent;background:var(--aqua);color:#1f0503}.place-actions button.primary:hover{background:#ff7d72;color:#1f0503}.place-close{position:absolute;top:8px;right:8px;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;color:#8f6f6c;background:transparent;cursor:pointer}.place-close:hover{color:white;background:rgba(255,255,255,.06)}.search-pin{position:relative;width:26px;height:34px}.search-pin:before{content:"";position:absolute;left:2px;top:3px;width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--aqua);border:2px solid #060404;box-shadow:0 4px 12px rgba(0,0,0,.4)}.search-pin:after{content:"";position:absolute;left:10px;top:11px;width:6px;height:6px;border-radius:50%;background:#060404}.route-sidebar{position:absolute;z-index:44;top:calc(74px + env(safe-area-inset-top, 0px));left:14px;width:min(400px,calc(100% - 28px));max-height:calc(100dvh - 148px - env(safe-area-inset-top, 0px));background:var(--panel);border:1px solid var(--line-bright);border-radius:14px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 18px 50px rgba(0,0,0,.4);transition:opacity .28s ease,transform .28s ease;scrollbar-width:thin;scrollbar-color:#4a2a28 transparent}.sheet-backdrop{display:none}.route-sidebar.closed{opacity:0;transform:translateX(-18px);pointer-events:none}.workspace.sidebar-open .route-sidebar{top:calc(14px + env(safe-area-inset-top, 0px));max-height:calc(100dvh - 88px - env(safe-area-inset-top, 0px))}.sidebar-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 12px}.sheet-grip,.sidebar-close .close-mobile{display:none}.sidebar-hint{margin:6px 0 0;color:var(--faint);font-size:11px;line-height:1.45}.eyebrow{display:block;margin-bottom:4px;color:#628089;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.15em}.sidebar-heading h1{margin:0;font-size:20px;letter-spacing:-.02em}.route-form{position:relative;display:grid;grid-template-columns:26px 1fr;grid-gap:8px 4px;gap:8px 4px;padding:4px 20px 15px}.port-track{display:grid;grid-template-rows:subgrid;justify-items:center}.track-node{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;padding-top:15px;color:#051217;font-family:var(--font-mono);font-size:12px;font-weight:700}.track-node b{width:19px;height:19px;display:grid;flex:0 0 19px;place-items:center;border-radius:50%;background:var(--aqua);font:inherit}.track-node:last-child b{background:#f2faf9}.track-node i{position:absolute;top:38px;bottom:-19px;left:calc(50% - .5px);width:1px;background:repeating-linear-gradient(180deg,#47626a 0 3px,transparent 3px 6px)}.port-combobox,.route-stop-control{position:relative;min-width:0}.port-input{min-height:48px;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:2px 8px;gap:2px 8px;padding:7px 11px;border:1px solid var(--line);border-radius:7px;background:#0d1c23;cursor:text}.port-input>span{grid-column:1/3;color:#58717a;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em}.port-input div{display:flex;min-width:0}.port-input input{min-width:0;width:100%;padding:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px;font-weight:600}.port-input input::placeholder{color:#50676e;font-weight:450}.port-input svg{color:#6e868d}.search-spinner{animation:search-spin .8s linear infinite}@keyframes search-spin{to{transform:rotate(1turn)}}.location-results{position:absolute;z-index:70;top:calc(100% + 5px);left:0;right:0;max-height:min(380px,46dvh);overflow-y:auto;padding:5px;border:1px solid var(--line-bright);border-radius:8px;background:#0d1c23;box-shadow:0 14px 35px rgba(0,0,0,.42)}.location-results button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px;border:0;border-radius:5px;color:#c9aca8;background:transparent;text-align:left;cursor:pointer}.location-results button:hover,.location-results button[aria-selected=true]{background:rgba(255,90,79,.08)}.location-results button span{min-width:0;display:flex;flex-direction:column;gap:3px}.location-results button strong{overflow:hidden;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.location-results button i,.location-results button small{color:#60777e;font:10px var(--font-mono)}.location-results button i{flex:0 0 auto;padding:3px 4px;border:1px solid var(--line);border-radius:4px;font-style:normal}.location-empty{padding:11px 8px;color:#60777e;font:11px var(--font-mono)}.location-section{padding:8px 8px 4px;color:#60777e;font:10px var(--font-mono);letter-spacing:.1em}.stop-expand{position:absolute;z-index:3;top:5px;right:7px;display:flex;align-items:center;gap:3px;padding:2px 4px;border:0;border-radius:4px;color:#60777e;background:transparent;cursor:pointer}.stop-expand:hover{color:var(--aqua);background:rgba(255,90,79,.08)}.stop-expand svg:last-child{transition:transform .18s ease}.stop-expand.open svg:last-child{transform:rotate(180deg)}.stop-details{margin-top:4px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#09161c}.stop-coords{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.stop-coords small{color:#526a71;font:9px var(--font-mono);letter-spacing:.08em}.stop-coords span{color:#a9c2c6;font:11px var(--font-mono)}.stop-detail-actions{display:flex;flex-wrap:wrap;gap:5px}.stop-detail-actions button{display:flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:5px;color:#8aa2a8;background:transparent;font-size:11px;font-weight:600;cursor:pointer}.stop-detail-actions button:hover{color:var(--ink);border-color:var(--line-bright)}.stop-detail-actions button:disabled{opacity:.3;cursor:default}.stop-detail-actions button.danger{border-color:rgba(229,72,77,.3);color:#e08a8a}.stop-detail-actions button.danger:hover{color:#ff9d94;background:rgba(229,72,77,.1)}.route-actions{width:-moz-fit-content;width:fit-content;justify-content:flex-start;gap:3px;margin-top:-3px;padding:0}.add-waypoint,.route-actions,.swap-button{min-height:26px;display:flex;align-items:center}.add-waypoint,.swap-button{gap:4px;padding:3px 6px;border:0;color:#70878e;background:transparent;font-size:10.5px;cursor:pointer}.swap-button svg{transform:rotate(90deg)}.add-waypoint:hover,.swap-button:hover{color:var(--aqua)}.planner-library-button{width:calc(100% - 40px);min-height:48px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;margin:-3px 20px 16px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:color-mix(in srgb,var(--panel) 42%,transparent);text-align:left;cursor:pointer}.planner-library-button:hover{color:var(--ink);border-color:var(--line-bright);background:color-mix(in srgb,var(--aqua) 6%,var(--panel))}.planner-library-button>svg:first-child{color:var(--aqua)}.planner-library-button>span{min-width:0;display:flex;flex-direction:column;gap:2px}.planner-library-button strong{color:var(--ink);font-size:12px}.planner-library-button small{color:var(--faint);font-size:10.5px}.app-shell[data-theme=light] .planner-library-button{color:#5e6e74;background:#fff;border-color:#d7dde0;box-shadow:0 2px 8px rgba(30,44,50,.06)}.app-shell[data-theme=light] .planner-library-button:hover{color:#172329;border-color:#aebcc1;background:#f6f9fa}.departure-row{display:grid;grid-template-columns:1.25fr 1fr;grid-gap:1px;gap:1px;margin:0 20px 17px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--line)}.departure-row>.departure-flexibility,.departure-row>label{display:flex;align-items:center;gap:9px;padding:10px;background:#0d1c23}.departure-row>.departure-flexibility{grid-column:1/-1;padding-top:8px;padding-bottom:8px}.departure-row svg{color:#678188}.departure-row span{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:3px}.departure-row .departure-window-input{width:-moz-fit-content;width:fit-content;flex:0 0 auto;flex-direction:row;align-items:center;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--panel-strong) 78%,transparent)}.departure-window-input button{width:36px;height:34px;display:grid;place-items:center;padding:0;border:0;color:var(--muted);background:transparent;cursor:pointer}.departure-window-input button:hover:not(:disabled){color:var(--aqua);background:color-mix(in srgb,var(--aqua) 8%,transparent)}.departure-window-input button:disabled{opacity:.3;cursor:default}.departure-row .departure-window-input input{flex:0 0 34px;width:34px;height:34px;text-align:right;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.departure-window-input input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.departure-window-input i{padding-right:8px;color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap}.departure-row small,.metric small{color:#7c5f5c;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em}.departure-row input,.departure-row select{width:100%;min-width:0;padding:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px;font-weight:550;color-scheme:dark}.baseline-estimate{margin:-7px 20px 18px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#0d1c23}.estimate-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:#667e85;font:600 7px var(--font-mono);letter-spacing:.08em}.estimate-heading small{color:#4e666d;font:10px var(--font-mono)}.estimate-totals{display:grid;grid-template-columns:.85fr .75fr 1.25fr;grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--line)}.estimate-totals>div{min-width:0;display:flex;flex-direction:column;gap:4px;padding:8px 6px;background:#121f24}.estimate-totals small{color:#526a71;font:9px var(--font-mono);letter-spacing:.06em}.estimate-totals strong{overflow:hidden;font:500 13px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.estimate-legs{display:grid;grid-gap:7px;gap:7px;margin-top:10px}.estimate-legs>div{display:grid;grid-template-columns:18px 1fr;align-items:start;grid-gap:6px;gap:6px}.estimate-legs>div>span{width:17px;height:17px;display:grid;place-items:center;border:1px solid var(--line-bright);border-radius:50%;color:var(--aqua);font:9px var(--font-mono)}.estimate-legs p{min-width:0;display:flex;flex-direction:column;gap:3px;margin:0}.estimate-legs strong{overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.estimate-legs small{color:#586f76;font:10px var(--font-mono)}.estimate-disclaimer{margin:9px 0 0;color:#4e656c;font-size:10px;line-height:1.4}.routing-objective,.vessel-card{margin:0 20px 18px}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#627b83;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.1em}.section-label button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:#6b8b92;font-size:12px;cursor:pointer}.vessel-row{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#0d1c23;color:inherit;text-align:left;cursor:pointer}.vessel-row:hover{border-color:var(--line-bright)}.vessel-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;color:#79b9bc;background:linear-gradient(145deg,#203941,#10252d)}.vessel-summary{overflow:hidden;color:var(--ink);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.vessel-row>svg{color:#4f6970}.segmented{display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border:1px solid var(--line);border-radius:7px;background:#09161c}.segmented button{display:flex;justify-content:center;align-items:center;gap:5px;padding:8px 2px;border:0;border-radius:5px;color:#5f777e;background:transparent;font-size:12px;cursor:pointer}.segmented button.active{color:var(--ink);background:#241113;box-shadow:inset 0 0 0 1px var(--line-bright)}.calculate-button{width:calc(100% - 40px);height:43px;display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 20px 10px;border:0;border-radius:7px;color:#1f0503;background:var(--aqua);font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 7px 30px rgba(255,90,79,.1)}.calculate-button:hover{background:#ff7d72;transform:translateY(-1px)}.calculate-button:disabled{opacity:.62;cursor:wait;transform:none}.mobile-route-submit{display:none}.route-thinking{--ping:var(--aqua);margin:0 20px 12px;padding:8px 12px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:7px;background:rgba(255,90,79,.05)}.sonar{position:relative;flex:0 0 20px;width:20px;height:20px}.sonar i{position:absolute;inset:0;margin:auto;border-radius:50%}.sonar i:first-child{width:6px;height:6px;background:var(--ping);box-shadow:0 0 8px var(--ping)}.sonar i:nth-child(2),.sonar i:nth-child(3){width:6px;height:6px;border:1px solid var(--ping);opacity:0;animation:sonar-ping 2.4s ease-out infinite}.sonar i:nth-child(3){animation-delay:1.2s}@keyframes sonar-ping{0%{width:6px;height:6px;opacity:.85}to{width:20px;height:20px;opacity:0}}.thinking-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.thinking-text strong{font-size:12.5px}.thinking-text small{font-size:11.5px;line-height:1.4;opacity:.72;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-progress-track{width:100%;height:3px;margin-top:3px;overflow:hidden;border-radius:3px;background:rgba(128,128,128,.2)}.route-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--ping,var(--aqua));transition:width .35s ease}.route-error{margin:0 20px 12px;padding:10px 11px;display:flex;align-items:flex-start;gap:8px;border:1px solid rgba(239,68,68,.35);border-radius:7px;color:#fecaca;background:rgba(127,29,29,.22)}.route-error svg{flex:0 0 auto;margin-top:1px}.route-error span{display:grid;grid-gap:3px;gap:3px}.route-error strong{font-size:13px}.route-error small{color:inherit;font-size:12px;line-height:1.45;opacity:.86}.vessel-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:18px 0;text-align:left}.vessel-fields label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vessel-fields label:last-child{grid-column:1/-1}.vessel-fields label div{display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:var(--panel-strong)}.vessel-fields input{min-width:0;width:100%;height:38px;border:0;outline:0;color:var(--ink);background:transparent;font:inherit;font-size:13px}.vessel-fields small{white-space:nowrap;color:var(--muted);font-size:12px;text-transform:none}.route-safety-status{display:flex;align-items:center;gap:8px;margin:-8px 20px 15px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--aqua) 22%,transparent);border-radius:7px;color:var(--aqua);background:color-mix(in srgb,var(--aqua) 7%,transparent)}.route-safety-status>span{min-width:0;display:flex;flex-direction:column;gap:3px}.route-safety-status strong{font-size:11px}.route-safety-status small{color:#61777e;font:10px var(--font-mono)}.route-safety-status.manual_review_required{border-color:rgba(245,185,76,.28);color:var(--amber);background:rgba(245,185,76,.06)}.passage-brief-backdrop{z-index:80}.passage-brief-modal{width:min(760px,calc(100vw - 24px));max-height:min(880px,calc(100vh - 24px));overflow:auto;text-align:left}.brief-decision{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px;border-radius:8px;border:1px solid rgba(245,185,76,.3);color:var(--amber);background:rgba(245,185,76,.07)}.brief-decision.screened{border-color:color-mix(in srgb,var(--aqua) 30%,transparent);color:var(--aqua);background:color-mix(in srgb,var(--aqua) 7%,transparent)}.brief-decision.hold{border-color:rgba(239,91,91,.35);color:#d84d4d;background:rgba(239,91,91,.07)}.brief-decision span,.brief-grid>div{display:flex;flex-direction:column;gap:3px}.brief-decision small,.brief-grid span{color:var(--muted)}.brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.brief-grid>div{padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2)}.brief-grid small,.brief-section h3{font:10px var(--font-mono);letter-spacing:.08em;color:var(--muted)}.brief-grid strong{font-size:14px}.brief-grid span,.brief-limitations,.brief-section li,.brief-section p{font-size:11px;line-height:1.5}.brief-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.brief-section h3{margin:0 0 7px}.brief-section p{margin:4px 0}.brief-alert{padding:7px 8px;border-left:3px solid var(--amber);background:rgba(245,185,76,.06)}.brief-limitations{margin:14px 0}.brief-limitations summary{cursor:pointer;font-weight:700}.brief-actions{display:flex;justify-content:flex-end;margin:12px 0}@media (max-width:640px){.brief-grid{grid-template-columns:1fr}}.plan-usage{display:flex;justify-content:space-between;padding:0 20px 18px;color:#526a71;font-size:11px}.plan-usage button{padding:0;border:0;background:transparent;color:#68b9b5;font-size:11px;cursor:pointer}.map-stage{position:absolute;inset:0;overflow:hidden;background:#071820}.interactive-map,.interactive-map-wrap{position:absolute;inset:0;width:100%;height:100%}.interactive-map-wrap{background:#dfe5e7}.interactive-map{z-index:0}.map-loading-surface{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;color:#526a76;background:radial-gradient(ellipse at 20% 45%,rgba(120,166,140,.38) 0 18%,transparent 19%),radial-gradient(ellipse at 75% 25%,rgba(120,166,140,.3) 0 13%,transparent 14%),linear-gradient(155deg,#cfe2e8,#a9ccd8 55%,#91b9ca);font:600 11px var(--font-mono);letter-spacing:.08em}.map-loading-surface:after,.map-loading-surface:before{content:"";position:absolute;inset:0;opacity:.28;background-image:repeating-linear-gradient(0deg,transparent 0 63px,rgba(49,91,108,.2) 64px),repeating-linear-gradient(90deg,transparent 0 79px,rgba(49,91,108,.18) 80px)}.map-loading-surface:after{opacity:.2;background:linear-gradient(112deg,transparent 35%,rgba(255,255,255,.9) 50%,transparent 65%);animation:map-loading-sheen 1.6s ease-in-out infinite}.map-loading-surface>span:last-child{position:relative;z-index:1;padding:7px 10px;border-radius:6px;background:rgba(255,255,255,.72)}@keyframes map-loading-sheen{0%{transform:translateX(-70%)}to{transform:translateX(70%)}}@media (prefers-reduced-motion:reduce){.map-loading-surface:after{animation:none}}.satellite-imagery-date{position:absolute;z-index:20;left:50%;bottom:calc(var(--timeline-h) + 12px);max-width:calc(100% - 180px);overflow:hidden;padding:5px 9px;border:1px solid rgba(111,129,137,.28);border-radius:6px;color:#42545d;background:rgba(250,252,252,.88);box-shadow:0 3px 12px rgba(15,23,42,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:600 9px/1.2 var(--font-mono);letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap;transform:translateX(-50%);pointer-events:none}.workspace.has-summary .satellite-imagery-date{bottom:calc(var(--timeline-h) + 76px)}.workspace.has-dock .satellite-imagery-date{bottom:calc(var(--timeline-h) + 108px)}.app-shell[data-theme=dark] .satellite-imagery-date{border-color:rgba(255,96,84,.24);color:#d7aaa4;background:rgba(13,7,7,.9);box-shadow:none}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{transition:bottom .2s ease}.maplibregl-ctrl.maplibregl-ctrl-attrib{padding:2px 7px;border-radius:4px;color:rgba(255,255,255,.72);background:rgba(22,29,33,.68);font-size:11px}.maplibregl-ctrl.maplibregl-ctrl-attrib a{color:inherit}.maplibregl-ctrl-group{overflow:hidden;border:1px solid rgba(104,119,126,.22);border-radius:7px;background:rgba(250,252,252,.92);box-shadow:0 4px 16px rgba(15,23,42,.13)}.maplibregl-ctrl-group button{width:34px;height:34px}.maplibregl-ctrl-scale{border-color:#53646c;color:#53646c;background:rgba(255,255,255,.78);font:11px var(--font-mono)}.route-recenter{position:absolute;z-index:37;height:36px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--line-bright);border-radius:18px;color:var(--ink);background:rgba(14,7,8,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 22px rgba(0,0,0,.24);font-size:11.5px;font-weight:650;cursor:pointer}.route-recenter svg{color:var(--aqua)}.route-recenter:hover{border-color:color-mix(in srgb,var(--aqua) 55%,var(--line-bright))}.maplibregl-popup-content{min-width:150px;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:6px;color:#273238;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(15,23,42,.2)}.maplibregl-popup-content strong{font-size:13px}.maplibregl-popup-content span{color:#64747b;font-size:11px}.stop-popup{display:flex;flex-direction:column;gap:4px}.stop-toolbar{display:flex;gap:6px;margin-top:7px}.stop-toolbar button{display:flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid rgba(47,65,73,.25);border-radius:6px;color:#3d4f56;background:rgba(47,65,73,.05);font-size:12px;font-weight:600;cursor:pointer}.stop-toolbar button:hover{background:rgba(47,65,73,.12)}.stop-toolbar button.danger{border-color:rgba(214,69,69,.4);color:#b3261e;background:rgba(214,69,69,.07)}.stop-toolbar button.danger:hover{background:rgba(214,69,69,.15)}.stop-toolbar button b{font-weight:600}.pin-popup{position:relative;display:flex;flex-direction:column;gap:7px;padding-right:14px}.pin-popup strong{font-size:12.5px;font-family:var(--font-mono)}.pin-dismiss{position:absolute;top:-4px;right:-6px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#8a979c;background:transparent;font-size:15px;line-height:1;cursor:pointer}.pin-dismiss:hover{color:#273238;background:rgba(47,65,73,.1)}.pin-wx{color:#44566b;font:11px var(--font-mono)}.app-shell[data-theme=dark] .pin-wx{color:#d8b6b1}.pin-actions{display:flex;gap:5px}.pin-actions button{padding:6px 9px;border:1px solid rgba(47,65,73,.25);border-radius:14px;color:#3d4f56;background:transparent;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.pin-actions button:hover{border-color:rgba(11,95,165,.45);color:#0b5fa5}.pin-actions button.primary{border-color:transparent;background:#0a5290;color:#fff}.pin-actions button.primary:hover{background:#0b5fa5}.maplibregl-popup-tip{border-top-color:rgba(255,255,255,.96)!important}.map-art,.map-vignette,.marine-map{position:absolute;inset:0;width:100%;height:100%}.marine-map{background:#071a23}.map-art{transition:filter .3s}.layer-waves .map-art{filter:hue-rotate(25deg) saturate(1.1)}.layer-precipitation .map-art{filter:hue-rotate(105deg) saturate(1.25)}.layer-pressure .map-art{filter:saturate(.5) contrast(1.15)}.map-vignette{pointer-events:none;box-shadow:inset 0 0 140px rgba(0,0,0,.46)}.continents{fill:#13282e;stroke:#34505a;stroke-width:1.1}.coast-detail{fill:none;stroke:#4b656d;stroke-width:1.5;opacity:.5}.labels text{fill:#55727a;font:500 10px var(--font-mono);letter-spacing:.12em}.labels .ocean{fill:#325761;font-size:13px;letter-spacing:.28em}.isobars{fill:none;stroke:rgba(155,210,211,.17);stroke-width:1.2}.wind-field{fill:none;stroke:rgba(160,216,217,.6);stroke-width:1.2}.direct-route{fill:none;stroke:#f5b94c;stroke-width:1.5;stroke-dasharray:6 7;opacity:.55}.optimal-route{fill:none;stroke:var(--aqua);stroke-width:3;filter:url(#glow);transition:opacity .2s}.optimal-route.muted{opacity:.3}.route-points circle{fill:#07161d;stroke:#eafcf9;stroke-width:3;filter:url(#glow)}.ship-marker circle{fill:#06171b;stroke:var(--aqua);stroke-width:1.5;filter:url(#glow)}.ship-marker path{fill:var(--aqua)}.weather-badge rect{fill:#10272d;stroke:rgba(255,90,79,.35)}.weather-badge text{fill:#eafcf9;font:600 10px var(--font-mono);text-anchor:middle}.weather-badge .sub{fill:#6f989b;font-size:9px;letter-spacing:.1em}.weather-badge.alert rect{stroke:rgba(245,185,76,.5)}.layer-panel-backdrop{position:absolute;z-index:41;inset:0;display:block;padding:0;border:0;background:transparent;opacity:0;pointer-events:none}.layer-panel-backdrop.open{opacity:1;pointer-events:auto}.layer-controls{position:absolute;z-index:42;top:calc(64px + env(safe-area-inset-top, 0px));right:calc(14px + env(safe-area-inset-right, 0px));display:flex;flex-direction:column;align-items:flex-end;gap:9px}.layer-controls>button{height:38px;display:flex;align-items:center;gap:7px;padding:0 13px;border:1px solid var(--line-bright);border-radius:19px;color:#8ba2a8;background:rgba(14,7,8,.91);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:12px;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.24)}.layer-controls>button.active{color:#d4e7e7;border-color:rgba(255,90,79,.3)}.layer-popover{position:absolute;top:45px;right:0;width:min(460px,calc(100vw - 28px));max-height:min(80dvh,calc(100dvh - 150px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:13px;border:1px solid var(--line-bright);border-radius:13px;background:rgba(9,22,28,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.35)}.layer-title{display:flex;align-items:center;justify-content:space-between;padding:5px 6px 9px;color:#607a81;font:600 8px var(--font-mono);letter-spacing:.1em}.layer-title button{border:0;background:transparent;color:#607a81;cursor:pointer}.model-picker{display:flex;overflow-x:auto;gap:3px;margin:0 5px 7px;padding:3px;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.1)}.model-picker button{flex:1 0 auto;min-width:52px;padding:5px 2px;border:0;border-radius:4px;color:#60777e;background:transparent;font:10px var(--font-mono);cursor:pointer}.model-picker button.active{color:var(--aqua);background:color-mix(in srgb,var(--aqua) 10%,transparent)}.layer-row{width:100%;display:grid;grid-template-columns:31px 1fr 18px;align-items:center;grid-gap:8px;gap:8px;padding:7px;border:0;border-radius:6px;background:transparent;text-align:left;cursor:pointer}.layer-row.selected,.layer-row:hover{background:rgba(255,255,255,.045)}.layer-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:5px;color:#6f8c93;background:#12272e}.layer-row.selected .layer-icon{color:var(--aqua);background:rgba(255,90,79,.1)}.layer-row>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.layer-row strong{color:#c9aca8;font-size:12px;font-weight:550}.layer-row small{color:#516970;font:11px var(--font-mono)}.layer-row>i{width:16px;height:16px;display:grid;place-items:center;border:1px solid #355058;border-radius:50%;color:#061513;font-style:normal}.layer-row.selected>i{border-color:var(--aqua);background:var(--aqua)}.legend{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:6px;gap:6px;padding:9px 7px 3px;color:#7c5f5c;font:10px var(--font-mono)}.display-divider{margin:9px 5px 4px;padding-top:9px;border-top:1px solid var(--line);color:#607a81;font:600 8px var(--font-mono);letter-spacing:.1em}.layer-row.display-toggle{grid-template-columns:1fr auto;cursor:default}.layer-row.display-toggle>span{display:flex;flex-direction:column;gap:3px}.satellite-detail-toggle{width:calc(100% - 10px);margin:6px 5px 2px;border:1px solid var(--line);background:rgba(128,128,128,.06)}.ui-switch{position:relative;flex:0 0 auto;width:40px;height:24px;padding:0;border:1px solid rgba(128,128,128,.25);border-radius:999px;background:rgba(128,128,128,.28);cursor:pointer;transition:background .18s ease,border-color .18s ease}.ui-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#f4f5f6;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .18s ease}.ui-switch[aria-checked=true]{border-color:transparent;background:var(--aqua)}.ui-switch[aria-checked=true] .ui-switch-thumb{transform:translateX(16px);background:#fff}.ui-switch:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.app-shell[data-theme=light] .ui-switch{border-color:#c3ced3;background:#dde5e8}.app-shell[data-theme=light] .ui-switch[aria-checked=true]{border-color:transparent;background:#0b5fa5}.clock-row{cursor:default}.ui-segmented-control{display:inline-flex;flex-direction:row;flex-wrap:nowrap;flex:0 0 auto;gap:2px;padding:2.5px;border:0;border-radius:15px;background:rgba(128,128,128,.18)}.ui-segmented-control button{padding:5px 13px;border:0;border-radius:12px;color:var(--muted);background:transparent;font:650 11px var(--font-sans);white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease}.ui-segmented-control button.active{color:#fff;background:var(--aqua);box-shadow:0 1px 4px rgba(0,0,0,.25)}.ui-segmented-control button:focus-visible{outline:2px solid var(--aqua);outline-offset:1px}.app-shell[data-theme=light] .ui-segmented-control{background:#e4eaee}.app-shell[data-theme=light] .ui-segmented-control button.active{color:#fff;background:#0b5fa5}.legend-bar{height:5px;border-radius:4px;background:linear-gradient(90deg,#484fa4,#3f6fba,#248fb5,#169d84,#20aa4b,#72ae36,#c2a23a,#d17b3b,#bd4d5e,#a23d86,#6844b5,#3f67d8,#f4f8ff)}.legend-bar.waves{background:linear-gradient(90deg,#3aa3c9,#4383d8,#5f61e0,#8a4fe0,#b13fd1,#d13fa3)}.legend-bar.currents{background:linear-gradient(90deg,#43c9b0,#3fb6c9,#4383d8,#4d61e0,#6d4fe0,#3b3591)}.legend-bar.pressure{background:linear-gradient(90deg,#00658e,#00769b,#008ca6,#35a0a6,#74aca3,#b9c0b3,#c3ac8f,#bd875f,#ae5e32)}.route-summary{position:absolute;z-index:4;left:50%;bottom:calc(var(--timeline-h) + 13px);transform:translateX(-50%);width:max-content;max-width:min(920px,calc(100% - 210px));height:58px;overflow-x:auto;border:1px solid var(--line-bright);border-radius:10px;background:rgba(16,8,9,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 28px rgba(0,0,0,.24);transition:transform .28s ease}.workspace.sidebar-open .route-summary{transform:translateX(calc(-50% + 206px));max-width:min(920px,calc(100% - 640px))}.summary-tabs{position:absolute;bottom:100%;left:10px;display:flex}.summary-tabs button{height:29px;display:flex;align-items:center;gap:6px;padding:0 11px;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;color:#8f6f6c;background:rgba(14,7,8,.82);font-size:11px;cursor:pointer}.summary-tabs button.active{border-color:var(--line-bright);color:#dcc0bc;background:rgba(16,8,9,.97)}.summary-tabs i{width:6px;height:6px;border-radius:50%}.baseline-chip{align-self:stretch;max-width:230px;display:flex;align-items:center;gap:7px;padding:0 16px;border-right:1px solid var(--line);color:#a98a86;font-size:11px;line-height:1.3}.baseline-chip i{width:6px;height:6px;border-radius:50%}.app-shell[data-theme=light] .baseline-chip{color:#748288;border-color:rgba(47,65,73,.16)}.track-node b[draggable=true]{cursor:-webkit-grab;cursor:grab}.track-node.dragging b{opacity:.45}.route-stop-control.drop-target .port-input{border-color:var(--aqua);box-shadow:0 0 0 1px var(--aqua)}.summary-main{height:100%;display:flex;align-items:center}.metric{min-width:125px;display:flex;flex-direction:column;gap:2px;padding:0 16px;border-right:1px solid var(--line)}.metric:last-child{border-right:0}.metric small{color:var(--faint);font:600 9px var(--font-mono);letter-spacing:.1em}.metric strong{font:600 21px var(--font-mono)}.metric>span{color:#8f6f6c;font-size:11px}.metric>span.saving{color:#c96a55}.metric.risk strong{display:flex;align-items:center;gap:7px}.metric.risk strong i{width:7px;height:7px;border-radius:50%}.metric.risk .low{background:var(--aqua);box-shadow:0 0 8px var(--aqua)}.metric.risk .raised{background:var(--amber);box-shadow:0 0 8px var(--amber)}.route-tool-button{height:40px;display:flex;justify-content:center;align-items:center;gap:7px;margin:0 14px;border:1px solid rgba(255,90,79,.28);border-radius:7px;color:var(--aqua);background:rgba(255,90,79,.08);font-size:12px;font-weight:650;cursor:pointer}.route-tool-button:hover{background:rgba(255,90,79,.14)}.timeline-panel{position:absolute;z-index:4;left:0;right:0;bottom:0;height:var(--timeline-h);display:grid;grid-template-columns:39px 138px auto auto 1fr auto 56px;grid-template-areas:"play time scale back strip fwd now";align-items:center;grid-gap:8px;gap:8px;padding:0 max(16px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--line);background:rgba(5,3,3,.97)}.play-button,.step-button{display:grid;place-items:center;border:1px solid var(--line-bright);color:#b39490;background:#180d0e;cursor:pointer}.play-button{grid-area:play;width:34px;height:34px;border-radius:50%;color:var(--aqua)}.step-button{width:24px;min-width:24px;height:24px;padding:0;border-radius:5px}.step-button.back{grid-area:back}.step-button.fwd{grid-area:fwd}.pause-icon{font:700 11px var(--font-mono);letter-spacing:-1px}.forecast-time{grid-area:time;min-width:0;display:flex;flex-direction:column;gap:3px}.forecast-time strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-time small{color:#7c5f5c;font:10px var(--font-mono);letter-spacing:.1em}.forecast-time strong{font:500 13px var(--font-mono)}.step-scale{grid-area:scale;display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.02)}.step-scale button{padding:4px 8px;border:0;border-radius:5px;color:var(--muted);background:transparent;font:600 10px var(--font-mono);letter-spacing:.06em;cursor:pointer}.step-scale button:hover{color:var(--ink)}.step-scale button.active{color:var(--ink);background:rgba(255,90,79,.16)}.timeline-zoom{grid-area:scale;display:flex;gap:3px}.timeline-zoom button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:rgba(255,255,255,.03);cursor:pointer}.timeline-zoom button:hover:not(:disabled){color:var(--ink);border-color:var(--aqua)}.timeline-zoom button:disabled{opacity:.35;cursor:default}.watch-strip{grid-area:strip;position:relative;min-width:0;height:38px;display:flex;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.02);cursor:pointer;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.watch-strip:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.strip-weather{z-index:0;opacity:.9}.strip-severity,.strip-weather{position:absolute;inset:0;pointer-events:none}.strip-severity{z-index:1;opacity:.68}.strip-progress{z-index:2;top:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(255,255,255,.16))}.strip-progress,.strip-weather-label{position:absolute;pointer-events:none}.strip-weather-label{z-index:3;top:3px;left:6px;padding:1px 4px;border-radius:3px;color:rgba(255,255,255,.9);background:rgba(8,18,30,.52);font:700 8px var(--font-mono);letter-spacing:.1em}.strip-day{position:relative;z-index:2;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.32);container-type:inline-size}.strip-day:last-of-type{border-right:0}.strip-day em{overflow:hidden;max-width:92%;color:white;font:700 10px var(--font-mono);font-style:normal;letter-spacing:.08em;text-shadow:0 1px 3px rgba(0,0,0,.85);white-space:nowrap;pointer-events:none}@container (max-width: 52px){.strip-day em{display:none}}.strip-tick{position:absolute;z-index:3;bottom:0;width:1px;height:7px;background:rgba(255,255,255,.5);pointer-events:none}.strip-tick.minor{height:4px;opacity:.6}.strip-needle{position:absolute;z-index:4;top:0;bottom:0;width:2px;margin-left:-1px;background:white;box-shadow:0 0 8px rgba(255,255,255,.9);pointer-events:none}.strip-needle:after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--aqua)}.now-button{grid-area:now;height:25px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:5px;color:#8a6a67;background:transparent;font:10px var(--font-mono);cursor:pointer}.now-button:hover{color:var(--ink);border-color:var(--line-bright)}.modal-backdrop{position:fixed;z-index:100;inset:0;background:rgba(4,2,2,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.premium-mark{display:grid;place-items:center;color:#1f0503;background:var(--aqua);box-shadow:0 0 25px rgba(255,90,79,.18)}.modal-backdrop{display:grid;place-items:center;padding:20px}.upgrade-modal{position:relative;width:min(420px,100%);padding:34px;border:1px solid rgba(255,90,79,.22);border-radius:14px;background:radial-gradient(circle at top,rgba(97,38,35,.25),transparent 48%),#0d0708;box-shadow:0 30px 100px rgba(0,0,0,.6);text-align:center;animation:modal-in .25s ease}@keyframes modal-in{0%{transform:translateY(10px) scale(.98);opacity:0}}.modal-close{position:absolute;top:13px;right:13px;width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:6px;color:#8f6f6c;background:transparent;cursor:pointer}.premium-mark{width:48px;height:48px;margin:0 auto 14px;border-radius:13px}.upgrade-modal h2{margin:8px 0 10px;font-size:24px;letter-spacing:-.03em}.upgrade-modal>p{margin:0 auto;max-width:330px;color:#987672;font-size:13px;line-height:1.6}.price{display:flex;align-items:center;justify-content:center;gap:9px;margin:20px 0}.price strong{font:500 34px var(--font-mono)}.price span{color:#8f6f6c;font-size:11px;line-height:1.4;text-align:left}.benefits{display:grid;grid-gap:9px;gap:9px;margin:0 auto 22px;width:-moz-fit-content;width:fit-content;text-align:left}.benefits div{display:flex;align-items:center;gap:9px;color:#c2a5a1;font-size:12px}.benefits svg{color:var(--aqua)}.upgrade-modal .calculate-button{width:100%;margin:0 0 10px}.upgrade-modal>small{color:#6d4c48;font-size:11px}.toast{position:fixed;z-index:200;left:50%;bottom:calc(var(--timeline-h) + 14px);transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,90,79,.25);border-radius:7px;color:#e5c9c5;background:#170c0d;font-size:12px;box-shadow:0 10px 35px rgba(0,0,0,.4);animation:toast-in .25s ease}.toast svg{color:var(--aqua)}@keyframes toast-in{0%{transform:translate(-50%,10px);opacity:0}}.model-status.stale{border-color:rgba(229,72,77,.55);color:#f0b5b7}.live-dot.stale{background:#e5484d;box-shadow:0 0 9px #e5484d}.stale-banner{z-index:30;top:calc(74px + env(safe-area-inset-top, 0px));gap:8px;max-width:min(560px,calc(100% - 24px));padding:9px 14px;border:1px solid rgba(229,72,77,.5);border-radius:8px;color:#ffd9da;background:rgba(63,14,16,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px}.routing-chip,.stale-banner{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.35)}.routing-chip{--ping:var(--aqua);z-index:45;bottom:calc(var(--timeline-h) + 14px);gap:4px;max-width:min(430px,calc(100% - 20px));padding:8px 8px 8px 15px;border:1px solid var(--line-bright);border-radius:24px;background:rgba(14,7,8,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.routing-chip-body{display:flex;align-items:center;gap:11px;min-width:0;padding:0;border:0;background:none;color:inherit;cursor:pointer;text-align:left}.routing-chip .thinking-text{min-width:0;display:grid;grid-gap:1px;gap:1px}.routing-chip strong{color:var(--ink);font-size:12.5px;font-weight:650;white-space:nowrap}.workspace.has-summary .routing-chip{bottom:calc(var(--timeline-h) + 13px + 58px + 12px)}@media (max-width:820px){.satellite-imagery-date{bottom:calc(var(--timeline-h) + 86px);max-width:calc(100% - 24px)}.workspace.has-dock .satellite-imagery-date,.workspace.has-summary .satellite-imagery-date{display:none}.workspace.has-summary .routing-chip{bottom:calc(var(--timeline-h) + 10px + 58px + 12px)}}.routing-chip small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routing-chip-cancel{flex:0 0 34px}.app-shell[data-theme=light] .routing-chip{--ping:#0a5290;border-color:#d7dde0;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(30,44,50,.18)}.app-shell[data-theme=light] .routing-chip strong{color:#172329}.app-shell[data-theme=light] .routing-chip small{color:#5c707a}.route-recovery-chip{position:absolute;z-index:45;left:50%;bottom:calc(var(--timeline-h) + 14px);transform:translateX(-50%);display:flex;align-items:center;gap:7px;max-width:min(600px,calc(100% - 20px));padding:8px;border:1px solid var(--line-bright);border-radius:12px;color:var(--ink);background:rgba(14,7,8,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.35)}.workspace.has-summary .route-recovery-chip{bottom:calc(var(--timeline-h) + 13px + 58px + 12px)}.route-recovery-copy{min-width:0;display:flex;align-items:center;gap:8px;padding:0 6px 0 2px}.route-recovery-copy>svg{flex:0 0 auto;color:var(--aqua)}.route-recovery-copy>span{min-width:0;display:grid;grid-gap:2px;gap:2px}.route-recovery-copy small,.route-recovery-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-recovery-copy strong{font-size:12.5px}.route-recovery-copy small{color:var(--muted);font-size:10.5px}.route-recovery-chip>button{flex:0 0 auto;padding:7px 11px;border:1px solid var(--line-bright);border-radius:8px;color:var(--ink);background:transparent;font-size:11.5px;font-weight:650;cursor:pointer}.route-recovery-chip>button.primary{border-color:transparent;color:#1f0503;background:var(--aqua)}.route-recovery-chip>button:disabled{opacity:.4;cursor:default}.app-shell[data-theme=light] .route-recovery-chip{border-color:#d7dde0;color:#172329;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(30,44,50,.18)}.app-shell[data-theme=light] .route-recovery-chip>button{border-color:#d0dadd;color:#33434a}.app-shell[data-theme=light] .route-recovery-chip>button.primary{border-color:transparent;color:#fff;background:#0b5fa5}@media (max-width:820px){.workspace.has-summary .route-recovery-chip{bottom:calc(var(--timeline-h) + 10px + 58px + 12px)}.route-recovery-chip{left:8px;right:8px;transform:none;max-width:none}.route-recovery-copy{flex:1 1}.route-recovery-copy small{display:none}.route-recovery-chip>button{padding:7px 9px}}.location-help{position:absolute;z-index:49;top:calc(72px + env(safe-area-inset-top, 0px));left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 20px));display:grid;grid-template-columns:auto 1fr auto;align-items:start;grid-gap:9px;gap:9px;padding:11px 12px;border:1px solid rgba(245,185,76,.45);border-radius:9px;color:var(--ink);background:rgba(20,11,7,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 34px rgba(0,0,0,.3)}.location-help>svg{margin-top:2px;color:var(--amber)}.location-help span{display:grid;grid-gap:3px;gap:3px}.location-help strong{font-size:12.5px}.location-help small{color:var(--muted);font-size:11.5px;line-height:1.45}.location-help button{width:28px;height:28px;display:grid;place-items:center;margin:-5px -6px 0 0;border:0;border-radius:50%;color:var(--muted);background:transparent;cursor:pointer}.stale-banner svg{flex-shrink:0;color:#e5484d}.stale-banner strong{color:#ff8f93}.stale-dismiss{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;margin:-4px -6px -4px 2px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.stale-dismiss:hover{background:rgba(229,72,77,.18)}.overlay-empty-note{position:absolute;z-index:6;top:calc(66px + env(safe-area-inset-top, 0px));left:50%;transform:translateX(-50%);width:max-content;max-width:min(420px,calc(100% - 120px));padding:8px 14px;border:1px solid var(--line-bright);border-radius:8px;color:#c2a5a1;background:rgba(14,7,8,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12.5px;line-height:1.4;text-align:center;text-wrap:balance;pointer-events:none}.trial-note{display:flex;align-items:flex-start;gap:8px;margin-top:4px;padding:11px 13px;border:1px solid rgba(255,90,79,.3);border-radius:8px;color:#e5c9c5;background:rgba(255,90,79,.07);font-size:13px;line-height:1.45;text-align:left}.trial-note svg{flex-shrink:0;margin-top:1px;color:var(--aqua)}.brand-pill{position:absolute;z-index:40;top:calc(14px + env(safe-area-inset-top, 0px));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;height:44px;padding:0 18px 0 10px;border:1px solid var(--line-bright);border-radius:22px;background:rgba(14,7,8,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 22px rgba(0,0,0,.24);color:inherit;text-decoration:none;font-size:16px;font-weight:650;letter-spacing:-.01em}.brand-pill span.brand-word{color:var(--muted);font-weight:450}.app-shell[data-theme=light] .brand-pill{border-color:#d7dde0;color:#172329;background:rgba(255,255,255,.96);box-shadow:0 8px 26px rgba(30,44,50,.16)}.voyage-dock{position:absolute;z-index:5;left:50%;bottom:calc(var(--timeline-h) + 13px);transform:translateX(-50%);width:max-content;max-width:min(1240px,calc(100% - 210px));border:1px solid var(--line-bright);border-radius:10px;background:rgba(10,5,5,.95);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(0,0,0,.28);transition:transform .28s ease}.workspace.sidebar-open .voyage-dock{transform:translateX(calc(-50% + 206px));max-width:min(1240px,calc(100% - 640px))}.hud-context{display:flex;align-items:center;gap:12px;padding:9px 16px 0;color:var(--muted);font:11px var(--font-mono);letter-spacing:.06em}.hud-context strong{color:var(--ink);font-weight:600}.hud-context .hud-edit{margin-left:auto;display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line-bright);border-radius:15px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;cursor:pointer}.hud-context .hud-edit:hover{color:var(--ink);border-color:var(--aqua)}.hud-row{display:flex;align-items:stretch;padding:6px 6px 10px}.hud-cell{display:flex;flex-direction:column;gap:2px;min-width:118px;padding:6px 18px;border-right:1px solid var(--line)}.hud-cell:last-child{border-right:0}.hud-cell small{color:var(--muted);font:10px var(--font-mono);letter-spacing:.12em}.hud-cell strong{display:flex;align-items:baseline;gap:5px;font:600 23px/1.05 var(--font-display,var(--font-sans));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hud-cell strong em{font:600 14px var(--font-display,var(--font-sans));font-style:normal;color:var(--muted)}.hud-cell span.hud-sub{color:var(--faint);font-size:11px}.hud-arrow{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-bright);color:var(--aqua)}.hud-arrow svg{transition:transform .3s ease}.hud-status{align-self:center;justify-self:start;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:16px;font:700 13px var(--font-display,var(--font-sans));letter-spacing:.04em}.hud-status.ok{color:#4ade80;background:rgba(34,197,94,.12)}.hud-status.elevated{color:var(--amber);background:rgba(245,185,76,.12)}.hud-status.high{color:var(--danger);background:rgba(229,72,77,.14)}.app-shell[data-theme=dark] .hud-status.ok{color:#e8a598;background:rgba(201,106,85,.14)}.app-shell[data-theme=light] .hud-status.ok{color:#157a43;background:rgba(31,138,76,.1)}.totals-row{display:flex;align-items:center;gap:18px;padding:8px 16px 10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.totals-row b{color:var(--ink);font:600 15px var(--font-display,var(--font-sans));font-weight:600}.totals-row .route-tool-button{height:32px;margin:0;padding:0 14px;font-size:12px}.totals-row .route-tool-button:first-of-type{margin-left:auto}.totals-row .risk-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}.totals-row .risk-dot.low{background:#4ade80}.app-shell[data-theme=dark] .totals-row .risk-dot.low{background:#c96a55}.app-shell[data-theme=light] .totals-row .risk-dot.low{background:#1f8a4c}.totals-row .risk-dot.raised{background:var(--amber)}.voyage-dock .summary-tabs{position:static;padding-left:0}.voyage-dock .summary-tabs button{border:1px solid transparent;border-radius:6px;height:26px}.voyage-dock .summary-tabs button.active{border-color:var(--line-bright)}.metric strong{font:600 17px var(--font-display,var(--font-sans));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.forecast-time strong{font:600 15px var(--font-display,var(--font-sans));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:1180px){.hud-row{flex-wrap:wrap}}@media (max-width:900px){.brand-pill{display:none}.overlay-empty-note{left:10px;right:10px;width:auto;max-width:none;transform:none;top:calc(66px + env(safe-area-inset-top, 0px))}}@media (max-width:820px){.voyage-dock{left:8px;right:8px;bottom:calc(var(--timeline-h) + 8px);width:auto;max-width:none}.voyage-dock,.workspace.sidebar-open .voyage-dock{transform:none}.hud-row{padding-bottom:4px}.hud-cell{min-width:33%;padding:6px 10px}.hud-cell strong{font-size:22px}.totals-row{flex-wrap:wrap;gap:10px 14px}}@media (max-width:1050px){.metric{min-width:0;padding:0 11px}.metric strong{font-size:14px}.route-tool-button{margin:0 9px}.model-status{display:none}}@media (max-width:820px){body{overflow:hidden}.app-shell{--mobile-submit-h:calc(64px + env(safe-area-inset-bottom, 0px))}.search-cluster{top:calc(10px + env(safe-area-inset-top, 0px));left:calc(10px + env(safe-area-inset-left, 0px));width:auto}.floating-actions,.search-cluster{right:calc(10px + env(safe-area-inset-right, 0px))}.floating-actions{top:calc(68px + env(safe-area-inset-top, 0px));flex-direction:column;align-items:flex-end}.floating-actions .model-status{display:none}.floating-actions .avatar,.floating-actions .float-button,.floating-actions .upgrade-button,.layer-controls>button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;line-height:0}.floating-actions svg,.layer-controls>button svg{display:block;margin:auto;transform:none}.floating-actions .theme-button,.floating-actions .upgrade-button{display:none}.upgrade-button{padding:0}.upgrade-button span{display:none}.sheet-backdrop{position:absolute;z-index:59;inset:0;display:block;padding:0;border:0;background:rgba(8,14,17,.34);opacity:0;pointer-events:none;transition:opacity .22s ease}.sheet-backdrop.open{opacity:1;pointer-events:auto}.route-sidebar{z-index:60;left:0;right:0;width:100%;padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px));border:0;border-top:1px solid var(--line-bright);border-radius:16px 16px 0 0;box-shadow:0 -18px 50px rgba(0,0,0,.45);-webkit-overflow-scrolling:touch}.route-sidebar,.workspace.sidebar-open .route-sidebar{top:auto;bottom:0;height:min(76dvh,100dvh);max-height:100dvh}.route-sidebar.open{opacity:1;visibility:visible;transform:translateY(0)}.route-sidebar.closed{opacity:0;visibility:hidden;transform:translateY(calc(100% + 24px))}.sheet-drag-zone{position:-webkit-sticky;position:sticky;z-index:6;top:0;touch-action:none;background:var(--panel);cursor:-webkit-grab;cursor:grab}.sheet-drag-zone:active{cursor:-webkit-grabbing;cursor:grabbing}.sheet-grip{display:block;height:34px}.sheet-grip:before{content:"";display:block;width:42px;height:4px;margin:9px auto 0;border-radius:2px;background:var(--line-bright)}.sidebar-heading{padding-top:0}.sidebar-close .close-desktop{display:none}.sidebar-close .close-mobile{display:block}.mobile-route-submit{position:absolute;z-index:8;left:0;right:0;bottom:0;display:block;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px,env(safe-area-inset-left,0px));border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-route-submit .calculate-button{width:100%;margin:0}.desktop-route-calculate{display:none}.workspace.sidebar-open .timeline-panel{visibility:hidden;pointer-events:none}.workspace.sidebar-open .route-summary{transform:none}.layer-panel-backdrop{z-index:47;background:rgba(8,14,17,.2)}.layer-controls{z-index:48;top:calc(116px + env(safe-area-inset-top, 0px));right:calc(10px + env(safe-area-inset-right, 0px))}.layer-controls>button{width:38px;justify-content:center;gap:0;padding:0;font-size:0}.layer-controls>button>span{display:none}.layer-popover{position:fixed;inset:auto 0 var(--timeline-h) 0;width:auto;max-height:calc(100dvh - var(--timeline-h) - 68px);padding:14px max(14px,env(safe-area-inset-right,0px)) 18px max(14px,env(safe-area-inset-left,0px));border-right:0;border-left:0;border-bottom:0;border-radius:16px 16px 0 0}.route-summary{left:8px;right:8px;height:58px;bottom:calc(var(--timeline-h) + 10px);transform:none;width:auto;max-width:none}.summary-main{min-width:700px}.summary-main .metric{min-width:120px;gap:2px;padding:0 12px}.summary-main .metric>span{display:none}.summary-main .metric strong{font-size:16px}.timeline-panel{height:var(--timeline-h);grid-template-columns:30px minmax(0,1fr) auto 30px;grid-template-rows:1fr auto;grid-template-areas:"play time scale now" "back strip strip fwd";gap:0 4px;padding:4px max(4px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom, 0px)) max(4px,env(safe-area-inset-left,0px))}.play-button{width:30px;height:30px}.step-button{align-self:center}.step-scale button{padding:4px 6px}.watch-strip{height:32px}.forecast-time{gap:1px}.forecast-time small{font-size:9px}.forecast-time strong{font-size:11px}.now-button{width:30px;height:30px;padding:0;font-size:0}.now-button span,.workspace.sidebar-open .maplibregl-ctrl-bottom-left,.workspace.sidebar-open .maplibregl-ctrl-bottom-right{display:none}.workspace.sidebar-open .brand-pill,.workspace.sidebar-open .floating-actions,.workspace.sidebar-open .layer-controls,.workspace.sidebar-open .location-help,.workspace.sidebar-open .overlay-empty-note,.workspace.sidebar-open .route-recenter,.workspace.sidebar-open .route-recovery-chip,.workspace.sidebar-open .routing-chip{visibility:hidden;opacity:0;pointer-events:none}.route-recenter{width:38px;padding:0;justify-content:center;border-radius:50%}.route-recenter span{display:none}.planning-hud .hud-context{flex-wrap:wrap;gap:7px;padding:9px 10px 7px}.planning-hud .hud-context>strong{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-hud .planning-compact-metrics{display:none}.planning-hud .hud-edit{flex-shrink:0}.planning-hud .hud-recalculate{order:2;width:100%;justify-content:center}.planning-hud .totals-row{flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.planning-hud .totals-row::-webkit-scrollbar{display:none}.planning-hud .totals-row>*{flex:0 0 auto}.stop-expand{top:4px;right:4px;width:40px;height:40px;justify-content:center;padding:0;border-radius:7px}.stop-detail-actions button{min-height:40px;padding:7px 10px}.add-waypoint,.swap-button{min-height:32px;padding:5px 7px}.stale-banner{top:calc(60px + env(safe-area-inset-top, 0px));font-size:12px}.location-help{left:calc(10px + env(safe-area-inset-left, 0px));right:calc(58px + env(safe-area-inset-right, 0px));width:auto;transform:none}.auth-fields input,.departure-row input,.map-search-pill input,.polar-picker select,.port-input input,.vessel-fields input,.waitlist-row input{font-size:16px}.departure-row .departure-window-input{width:100%}.departure-window-input button{width:44px;height:40px}.departure-row .departure-window-input input{width:auto;height:40px;flex:1 1 auto;text-align:center}}@media (max-width:520px){.place-actions button{padding:8px 11px}.layer-popover{width:auto}.route-summary{left:8px;right:8px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-shell[data-theme=dark]{--ink:#ff6a5c;--muted:#c9443a;--faint:#812d28;--panel:#0d0707;--panel-2:#160a0a;--line:#351616;--line-bright:#552020;--aqua:#ff3b30;--aqua-deep:#b82924;--amber:#e8542f;--timeline-elevated:rgba(217,147,43,.6);--timeline-high:rgba(255,59,48,.55);--route-optimum:#ff6b5e;--route-direct:#8a5b52;background:#050303}.app-shell[data-theme=dark] .float-button,.app-shell[data-theme=dark] .map-search-pill,.app-shell[data-theme=dark] .model-status,.app-shell[data-theme=dark] .place-card,.app-shell[data-theme=dark] .upgrade-button{background:rgba(10,5,5,.94)}.app-shell[data-theme=dark] .search-pin:before{border-color:#000000}.app-shell[data-theme=dark] .search-pin:after{background:#000000}.app-shell[data-theme=dark] .baseline-estimate,.app-shell[data-theme=dark] .departure-row>.departure-flexibility,.app-shell[data-theme=dark] .departure-row>label,.app-shell[data-theme=dark] .location-results,.app-shell[data-theme=dark] .port-input,.app-shell[data-theme=dark] .vessel-row{background:#150a0a}.app-shell[data-theme=dark] .segmented,.app-shell[data-theme=dark] .stop-details{background:#0c0606}.app-shell[data-theme=dark] .stop-coords span{color:#d8b6b1}.app-shell[data-theme=dark] .segmented button.active,.app-shell[data-theme=dark] .vessel-icon{background:#241111}.app-shell[data-theme=dark] .route-summary,.app-shell[data-theme=dark] .summary-tabs button.active,.app-shell[data-theme=dark] .timeline-panel,.app-shell[data-theme=dark] .voyage-dock{background:rgba(6,3,3,.96)}.app-shell[data-theme=dark] .layer-controls>button,.app-shell[data-theme=dark] .layer-popover,.app-shell[data-theme=dark] .map-search{background:rgba(10,5,5,.94)}.app-shell[data-theme=dark] .maplibregl-ctrl-group{border-color:rgba(255,96,84,.25);background:rgba(14,7,7,.92)}.app-shell[data-theme=dark] .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(.7) sepia(1) saturate(3) hue-rotate(-35deg) opacity(.8)}.app-shell[data-theme=dark] .maplibregl-popup-content{color:#f0d6d0;background:rgba(14,7,7,.97)}.app-shell[data-theme=dark] .maplibregl-popup-content span{color:#a8807b}.app-shell[data-theme=dark] .stop-toolbar button{border-color:rgba(255,96,84,.3);color:#d8b6b1;background:rgba(255,90,79,.06)}.app-shell[data-theme=dark] .stop-toolbar button:hover{background:rgba(255,90,79,.14)}.app-shell[data-theme=dark] .stop-toolbar button.danger{border-color:rgba(255,107,94,.45);color:#ff9d94;background:rgba(255,90,79,.1)}.app-shell[data-theme=dark] .stop-toolbar button.danger:hover{background:rgba(255,90,79,.2)}.app-shell[data-theme=dark] .pin-dismiss{color:#a8807b}.app-shell[data-theme=dark] .pin-dismiss:hover{color:#f0d6d0;background:rgba(255,255,255,.08)}.app-shell[data-theme=dark] .pin-actions button{border-color:rgba(255,96,84,.3);color:#d8b6b1}.app-shell[data-theme=dark] .pin-actions button:hover{border-color:rgba(255,90,79,.55);color:#ff8f85}.app-shell[data-theme=dark] .pin-actions button.primary{border-color:transparent;background:var(--aqua);color:#1f0503}.app-shell[data-theme=dark] .pin-actions button.primary:hover{background:#ff7d72}.app-shell[data-theme=dark] .maplibregl-popup-tip{border-top-color:rgba(14,7,7,.97)!important}.app-shell[data-theme=dark] .maplibregl-canvas{filter:sepia(.45) hue-rotate(-28deg) saturate(.75) brightness(.62)}.app-shell[data-theme=light]{--ink:#0e1b2a;--muted:#526273;--faint:#7b8a99;--panel:#ffffff;--panel-2:#f8fafc;--line:#dce3ea;--line-bright:#c5cfd9;--aqua:#1667e8;--aqua-deep:#0e58cd;--amber:#d98a13;--route-optimum:#1667e8;--route-direct:#64748b;color:var(--ink);background:#f4f7fa}.app-shell[data-theme=light] .brand-mark{color:white;background:#0b5fa5}.app-shell[data-theme=light] .route-sidebar{border-color:#d7dde0;box-shadow:0 18px 44px rgba(35,48,54,.18)}.app-shell[data-theme=light] .sidebar-hint{color:#8a979c}.app-shell[data-theme=light] .icon-button{color:#66767c}.app-shell[data-theme=light] .icon-button:hover{color:#172329;background:#edf0f1}.app-shell[data-theme=light] .float-button,.app-shell[data-theme=light] .map-search-pill,.app-shell[data-theme=light] .model-status,.app-shell[data-theme=light] .place-card,.app-shell[data-theme=light] .route-recenter,.app-shell[data-theme=light] .upgrade-button{border-color:#d7dde0;background:rgba(255,255,255,.96);box-shadow:0 8px 26px rgba(30,44,50,.16)}.app-shell[data-theme=light] .map-search-pill>button{color:#66767c}.app-shell[data-theme=light] .map-search-pill>button:hover{color:#172329;background:#edf0f1}.app-shell[data-theme=light] .map-search-pill input{color:#1e2b30}.app-shell[data-theme=light] .map-search-pill input::placeholder{color:#8a979c}.app-shell[data-theme=light] .place-icon{color:#0b5fa5;background:#e3eef9}.app-shell[data-theme=light] .place-body strong{color:#172329}.app-shell[data-theme=light] .place-actions button{border-color:#d0dadd;color:#4e6067}.app-shell[data-theme=light] .place-actions button.primary{border-color:transparent;background:#0a5290;color:white}.app-shell[data-theme=light] .place-close:hover{color:#172329;background:#edf0f1}.app-shell[data-theme=light] .search-pin:before{border-color:#ffffff}.app-shell[data-theme=light] .search-pin:after{background:#ffffff}.app-shell[data-theme=light] .model-status{color:#405057}.app-shell[data-theme=light] .model-status span:last-child{color:#89969b}.app-shell[data-theme=light] .baseline-estimate,.app-shell[data-theme=light] .departure-row>.departure-flexibility,.app-shell[data-theme=light] .departure-row>label,.app-shell[data-theme=light] .port-input,.app-shell[data-theme=light] .vessel-row{background:#ffffff}.app-shell[data-theme=light] .departure-row input,.app-shell[data-theme=light] .port-input input,.app-shell[data-theme=light] .vessel-summary{color:#1e2b30;color-scheme:light}.app-shell[data-theme=light] .stop-details{border-color:#d7dde0;background:#f6f8f8}.app-shell[data-theme=light] .stop-coords span{color:#3d4f56}.app-shell[data-theme=light] .stop-detail-actions button{border-color:#d0dadd;color:#4e6067}.app-shell[data-theme=light] .stop-detail-actions button:hover{color:#172329;border-color:#aebcc1}.app-shell[data-theme=light] .stop-detail-actions button.danger{border-color:rgba(214,69,69,.35);color:#b3261e}.app-shell[data-theme=light] .stop-expand:hover{color:#0b5fa5;background:rgba(11,95,165,.07)}.app-shell[data-theme=light] .departure-row small,.app-shell[data-theme=light] .port-input>span,.app-shell[data-theme=light] .section-label{color:#728187}.app-shell[data-theme=light] .swap-button{border-color:#d0dadd;color:#617178;background:#fff}.app-shell[data-theme=light] .location-results{border-color:#d7dde0;background:#fff;box-shadow:0 14px 35px rgba(37,49,54,.14)}.app-shell[data-theme=light] .location-results button{color:#243238}.app-shell[data-theme=light] .estimate-totals>div{background:#f6f8f8}.app-shell[data-theme=light] .vessel-icon{color:#0b5fa5;background:#e3eef9}.app-shell[data-theme=light] .segmented{background:#e9edef}.app-shell[data-theme=light] .segmented button{color:#69787e}.app-shell[data-theme=light] .segmented button.active{color:#17282d;background:#fff;box-shadow:0 1px 4px rgba(31,45,51,.12)}.app-shell[data-theme=light] .calculate-button{color:white;background:#0a5290;box-shadow:0 7px 24px rgba(10,82,144,.16)}.app-shell[data-theme=light] .route-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.app-shell[data-theme=light] .route-thinking{--ping:#0a5290;background:rgba(10,82,144,.05)}.app-shell[data-theme=light] .plan-usage{color:#849096}.app-shell[data-theme=light] .layer-controls>button,.app-shell[data-theme=light] .layer-popover{color:#5c6b71;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(30,44,50,.13)}.app-shell[data-theme=light] .layer-row.selected,.app-shell[data-theme=light] .layer-row:hover{background:#eef2f3}.app-shell[data-theme=light] .layer-icon{color:#66767d;background:#edf1f2}.app-shell[data-theme=light] .layer-row.selected .layer-icon{color:#0b5fa5;background:#e3eef9}.app-shell[data-theme=light] .layer-row strong{color:#2b393f}.app-shell[data-theme=light] .layer-row small{color:#78878d}.app-shell[data-theme=light] .route-summary,.app-shell[data-theme=light] .summary-tabs button.active,.app-shell[data-theme=light] .timeline-panel,.app-shell[data-theme=light] .voyage-dock{border-color:rgba(47,65,73,.16);color:#1d292e;background:#fff;box-shadow:0 12px 30px rgba(30,44,50,.12)}.app-shell[data-theme=light] .hud-cell strong,.app-shell[data-theme=light] .hud-context strong,.app-shell[data-theme=light] .totals-row b{color:#172329}.app-shell[data-theme=light] .hud-cell small,.app-shell[data-theme=light] .hud-context,.app-shell[data-theme=light] .totals-row{color:#74838a}.app-shell[data-theme=light] .hud-cell span.hud-sub{color:#8a979c}.app-shell[data-theme=light] .hud-arrow{color:#0b5fa5;border-color:rgba(11,95,165,.35)}.app-shell[data-theme=light] .voyage-dock .summary-tabs button{background:rgba(235,239,240,.93)}.app-shell[data-theme=light] .voyage-dock .summary-tabs button.active{background:#fff}.app-shell[data-theme=light] .summary-tabs button{color:#748288;background:rgba(235,239,240,.93)}.app-shell[data-theme=light] .metric.risk .low{background:#1f8a4c;box-shadow:0 0 8px rgba(31,138,76,.5)}.app-shell[data-theme=light] .metric small,.app-shell[data-theme=light] .metric>span{color:#74838a}.app-shell[data-theme=light] .forecast-time small{color:#5d6b71}.app-shell[data-theme=light] .forecast-time strong,.app-shell[data-theme=light] .metric strong{color:#172329}.app-shell[data-theme=light] .route-tool-button{color:#0b5fa5;border-color:rgba(10,82,144,.22);background:#e3eef9}.app-shell[data-theme=light] .play-button,.app-shell[data-theme=light] .step-button{border-color:#d6dde0;color:#0b5fa5;background:#f3f5f5}.app-shell[data-theme=light] .now-button{color:#627278}.app-shell[data-theme=light]{--timeline-elevated:rgba(216,138,18,.5);--timeline-high:rgba(214,69,69,.5)}.app-shell[data-theme=light] .step-scale,.app-shell[data-theme=light] .watch-strip{border-color:#d6dde0;background:#f3f5f5}.app-shell[data-theme=light] .step-scale button{color:#69787e}.app-shell[data-theme=light] .step-scale button.active{color:#17282d;background:#fff;box-shadow:0 1px 4px rgba(31,45,51,.12)}.app-shell[data-theme=light] .watch-strip{background:#edf2f4}.app-shell[data-theme=light] .strip-day{border-color:rgba(47,65,73,.2)}.app-shell[data-theme=light] .strip-day em{color:#40545e;text-shadow:none}.app-shell[data-theme=light] .watch-strip.has-weather .strip-day em{color:#fff;text-shadow:none}.app-shell[data-theme=light] .strip-tick{background:rgba(47,65,73,.28)}.app-shell[data-theme=light] .strip-progress{background:linear-gradient(90deg,transparent,rgba(11,95,165,.12))}.app-shell[data-theme=light] .modal-backdrop{background:rgba(50,61,66,.35)}.app-shell[data-theme=light] .upgrade-modal{color:#172329;background:#f8f9f9}.app-shell[data-theme=light] .benefits div{color:#4e6067}.app-shell[data-theme=light] .location-help{border-color:#e2ba69;color:#273840;background:rgba(255,250,239,.97);box-shadow:0 12px 34px rgba(36,49,55,.16)}.app-shell[data-theme=light] .location-help>svg{color:#a96500}.app-shell[data-theme=light] .location-help button,.app-shell[data-theme=light] .location-help small{color:#5e6f77}.app-shell[data-theme=light] .toast{border-color:#c9d8e0;color:#273840;background:rgba(255,255,255,.97);box-shadow:0 10px 30px rgba(36,49,55,.18)}.app-shell[data-theme=light] .toast svg{color:#0b67b2}.app-shell[data-theme=light] .overlay-empty-note{color:#405057;background:rgba(255,255,255,.9)}.app-shell[data-theme=light] .stale-banner{color:#7f1d1f;background:rgba(255,235,236,.95)}.app-shell[data-theme=light] .model-status.stale,.app-shell[data-theme=light] .stale-banner strong{color:#b3261e}.app-shell[data-theme=light] .trial-note{color:#0a3d66;background:rgba(11,95,165,.08)}.app-shell[data-theme=light] .avatar{border-color:#d7dde0;color:#40525a;background:#fff}.app-shell[data-theme=light] .avatar.signed-in{border-color:#0b5fa5;color:#0b5fa5}.app-shell[data-theme=light] .account-menu{border-color:#d7dde0;background:rgba(255,255,255,.97);box-shadow:0 18px 44px rgba(35,48,54,.18)}.app-shell[data-theme=light] .account-close:hover{color:#172329;background:#edf0f1}.app-shell[data-theme=light] .account-save{color:#1e2b30;border-color:#d0dadd}.app-shell[data-theme=light] .account-save.primary{background:#0a5290;color:#fff}.app-shell[data-theme=light] .route-load:hover{background:#eef2f3}.app-shell[data-theme=light] .auth-fields input{background:#fff;color:#1e2b30}.app-shell[data-theme=light] .auth-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.app-shell[data-theme=dark] .account-menu{background:rgba(10,5,5,.96)}@media (max-width:820px){.modal-backdrop{place-items:center;padding:10px}.vessel-modal{width:calc(100vw - 20px);min-width:0;max-height:calc(100dvh - 20px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:25px 16px 18px}.vessel-modal .premium-mark{width:42px;height:42px;margin-bottom:9px}.vessel-modal h2{margin:5px 0 7px;font-size:21px}.vessel-modal>p{font-size:12px;line-height:1.45}.vessel-fields{gap:8px;margin:13px 0}.polar-picker,.polar-picker select,.vessel-fields label{min-width:0;max-width:100%}.polar-picker select{width:100%}.account-menu{position:fixed;top:calc(60px + env(safe-area-inset-top, 0px));left:calc(10px + env(safe-area-inset-left, 0px));right:calc(10px + env(safe-area-inset-right, 0px));width:auto}.pin-popup{max-width:226px}.pin-actions{flex-wrap:wrap}}.seo-site{--aqua:#43e9d4;--aqua-deep:#16a99e;height:100dvh;overflow-y:auto;overflow-x:hidden;color:#eaf6f5;background:#071319}.seo-header{position:-webkit-sticky;position:sticky;z-index:20;top:0;height:calc(68px + env(safe-area-inset-top, 0px));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:30px;gap:30px;padding:0 max(24px,calc((100vw - 1180px) / 2));border-bottom:1px solid var(--line);background:rgba(7,19,25,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.seo-header nav{display:flex;gap:28px}.seo-header nav a{color:#7f969c;text-decoration:none;font-size:13px}.seo-header nav a:hover{color:var(--aqua)}.seo-header>.seo-cta{justify-self:end}.seo-cta{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px;border:1px solid var(--aqua);border-radius:7px;color:#061513;background:var(--aqua);text-decoration:none;font-size:13px;font-weight:700;cursor:pointer}.seo-cta:hover{background:color-mix(in srgb,var(--aqua) 82%,white)}.seo-cta.small{min-height:34px;padding:0 13px;font-size:12px}.seo-hero{position:relative;min-height:570px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;grid-gap:65px;gap:65px;max-width:1180px;margin:auto;padding:75px 24px 70px}.seo-hero:before{position:absolute;z-index:0;top:-260px;left:-350px;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(34,125,121,.15),transparent 65%);content:"";pointer-events:none}.seo-hero-copy,.seo-map-card{position:relative;z-index:1}.seo-kicker{display:flex;align-items:center;gap:8px;color:#729197;font:600 11px var(--font-mono);letter-spacing:.13em}.seo-kicker>span{width:18px;height:1px;background:var(--aqua)}.seo-hero h1{max-width:650px;margin:15px 0 20px;font-size:clamp(38px,5vw,64px);font-weight:500;letter-spacing:-.055em;line-height:1.03}.seo-hero-copy>p{max-width:600px;margin:0;color:#83999f;font-size:15px;line-height:1.7}.seo-actions{display:flex;align-items:center;gap:18px;margin-top:29px}.seo-secondary{color:#93abad;text-decoration:none;font-size:12px;border-bottom:1px solid #415c63;padding:10px 0 5px}.trust-line{display:flex;flex-wrap:wrap;gap:17px;margin-top:29px;color:#5f777e;font-size:11px}.trust-line span{display:flex;align-items:center;gap:5px}.trust-line svg{color:var(--aqua)}.seo-map-card{overflow:hidden;border:1px solid rgba(131,185,190,.22);border-radius:13px;background:#0a1a21;box-shadow:0 35px 100px rgba(0,0,0,.34);transform:perspective(1000px) rotateY(-2deg) rotateX(1deg)}.mini-map{position:relative;height:330px;overflow:hidden;background-color:#0a232c;background-image:linear-gradient(rgba(110,170,176,.08) 1px,transparent 0),linear-gradient(90deg,rgba(110,170,176,.08) 1px,transparent 0);background-size:45px 45px}.mini-map:after{position:absolute;inset:0;box-shadow:inset 0 0 90px rgba(0,0,0,.45);content:""}.mini-map svg{position:absolute;z-index:2;inset:0;width:100%;height:100%}.mini-land{fill:#173139;stroke:#3c5961;stroke-width:1}.mini-route{fill:none;stroke:var(--aqua);stroke-width:3;stroke-dasharray:7 4;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--aqua) 60%,transparent))}.mini-map circle{fill:#07191f;stroke:#e8fffc;stroke-width:2}.mini-storm{position:absolute;z-index:1;border-radius:50%;filter:blur(2px)}.mini-storm.one{width:320px;height:240px;top:-30px;left:80px;background:radial-gradient(circle,rgba(102,76,158,.52),rgba(41,128,142,.22) 50%,transparent 72%)}.mini-storm.two{width:270px;height:210px;right:-50px;bottom:-40px;background:radial-gradient(circle,rgba(229,155,70,.38),rgba(42,163,150,.2) 50%,transparent 72%)}.mini-ship{position:absolute;z-index:4;left:52%;top:55%;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--aqua);border-radius:50%;color:var(--aqua);background:#081c22;box-shadow:0 0 20px color-mix(in srgb,var(--aqua) 40%,transparent)}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.mini-stats>div{display:flex;align-items:center;gap:9px;padding:14px 12px;border-right:1px solid var(--line);color:#608087}.mini-stats>div:last-child{border:0}.mini-stats span{display:flex;flex-direction:column;gap:3px;color:#506b72;font-size:10px}.mini-stats strong{color:#b5c8ca;font:500 8px var(--font-mono)}.seo-section{max-width:1180px;margin:auto;padding:90px 24px}.section-heading{max-width:670px;margin-bottom:38px}.section-heading>span{color:#648188;font:600 11px var(--font-mono);letter-spacing:.13em}.section-heading h1,.section-heading h2,.seo-section.split h2{margin:12px 0;font-size:clamp(28px,3vw,39px);font-weight:500;letter-spacing:-.04em}.section-heading p,.seo-section.split>div:first-child>p{color:#73898f;font-size:13px;line-height:1.65}.condition-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.condition-grid article{min-height:215px;padding:22px;border:1px solid var(--line);border-radius:9px;background:linear-gradient(145deg,rgba(18,42,50,.55),rgba(8,22,28,.75))}.condition-grid article>svg{color:var(--aqua)}.condition-grid article>span{display:block;margin:25px 0 8px;color:#5b777e;font:600 8px var(--font-mono);letter-spacing:.12em}.condition-grid h3{margin:0 0 10px;font-size:14px;font-weight:550}.condition-grid p{margin:0;color:#60777d;font-size:12px;line-height:1.6}.seo-section.split{display:grid;grid-template-columns:.85fr 1.15fr;grid-gap:85px;gap:85px;align-items:start}.hazard-list,.seo-section.split{border-top:1px solid var(--line)}.hazard-list>div{display:grid;grid-template-columns:26px 24px 1fr;grid-column-gap:9px;column-gap:9px;padding:18px 0;border-bottom:1px solid var(--line)}.hazard-list>div>span{color:#415d64;font:11px var(--font-mono)}.hazard-list svg{color:var(--amber)}.hazard-list strong{font-size:13px}.hazard-list p{grid-column:3;margin:5px 0 0;color:#5e757c;font-size:12px}.conversion-band{max-width:1132px;min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px auto;padding:24px 30px;border:1px solid color-mix(in srgb,var(--aqua) 22%,transparent);border-radius:10px;background:radial-gradient(circle at 20% 0,rgba(48,150,142,.18),transparent 45%),#0b2026}.conversion-band>div{display:flex;align-items:center;gap:15px}.conversion-band>div>svg{color:var(--aqua)}.conversion-band span{display:flex;flex-direction:column;gap:5px}.conversion-band strong{font-size:16px}.conversion-band small{color:#687f85;font-size:12px}.seo-section.related{padding-top:80px}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px}.related-grid>a{position:relative;min-height:120px;padding:18px;border:1px solid var(--line);border-radius:8px;color:inherit;background:#0a1c23;text-decoration:none}.related-grid>a:hover{border-color:color-mix(in srgb,var(--aqua) 30%,transparent);transform:translateY(-2px)}.related-grid a>span{font-size:13px;font-weight:600;text-transform:capitalize}.related-grid p{max-width:85%;color:#5f767d;font-size:12px;line-height:1.5}.related-grid svg{position:absolute;right:16px;bottom:16px;color:var(--aqua)}.faq-list{display:grid;grid-gap:8px;gap:8px;max-width:800px;margin-top:45px}.faq-list details{padding:16px 0;border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;font-size:13px;cursor:pointer}.faq-list p{max-width:690px;margin:12px 0 0;color:#637a80;font-size:12px;line-height:1.65}.route-corridor{max-width:900px;display:grid;grid-template-columns:1fr 1.6fr 1fr;align-items:center;grid-gap:25px;gap:25px;margin:10px auto 90px;padding:24px;border:1px solid var(--line);border-radius:10px;background:#0a1c23}.route-corridor>div{display:flex;flex-direction:column;gap:5px}.route-corridor>div:last-child{text-align:right}.route-corridor div>span{color:#58737a;font:11px var(--font-mono)}.route-corridor strong{font-size:15px}.route-corridor small{color:#516970;font:11px var(--font-mono)}.route-corridor>i{display:flex;align-items:center;color:var(--aqua)}.route-corridor>i:before{flex:1 1;height:1px;background:repeating-linear-gradient(90deg,var(--aqua) 0 5px,transparent 5px 10px);content:""}.route-corridor>i span{width:5px;height:5px;margin-left:20px;border-radius:50%;background:var(--aqua)}.seo-footer{min-height:130px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:25px;gap:25px;max-width:1180px;margin:auto;padding:30px 24px;border-top:1px solid var(--line)}.seo-footer p{color:#7c5f5c;font-size:12px}.seo-footer>span{color:#405a61;font:11px var(--font-mono)}.error-digest{margin:20px 0 0;color:#5f777e;font:11px var(--font-mono);letter-spacing:.06em}@media (max-width:900px){.seo-header{grid-template-columns:1fr auto;padding:0 20px}.seo-header nav{display:none}.seo-hero{grid-template-columns:1fr;gap:50px;padding-top:60px}.seo-hero-copy{max-width:680px}.seo-map-card{max-width:650px;width:100%;transform:none}.condition-grid{grid-template-columns:1fr 1fr}.seo-section.split{grid-template-columns:1fr;gap:35px}.related-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.seo-header{height:calc(62px + env(safe-area-inset-top, 0px))}.seo-header .seo-cta{padding:0 9px;font-size:0}.seo-header .seo-cta svg{width:17px;height:17px}.seo-hero{padding:48px 18px}.seo-hero h1{font-size:39px}.seo-hero-copy>p{font-size:13px}.seo-actions{align-items:stretch;flex-direction:column}.seo-secondary{align-self:flex-start}.trust-line{flex-direction:column;gap:9px}.mini-map{height:250px}.mini-stats{grid-template-columns:1fr}.mini-stats>div{border-right:0;border-bottom:1px solid var(--line)}.seo-section{padding:65px 18px}.condition-grid,.related-grid{grid-template-columns:1fr}.conversion-band{align-items:flex-start;flex-direction:column;margin:10px 18px}.conversion-band .seo-cta{width:100%}.route-corridor{grid-template-columns:1fr;margin:0 18px 60px}.route-corridor>div:last-child{text-align:left}.route-corridor>i{transform:rotate(90deg);width:80px;margin:10px auto}.seo-footer{grid-template-columns:1fr;gap:10px}}.seo-landing{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:#071319}.seo-stage{position:relative}.seo-stage,.seo-stage .app-shell{height:100dvh}.seo-brief-panel{--brief-bg:rgba(7,19,25,.95);--brief-bg-solid:rgba(7,19,25,.94);--brief-border:rgba(131,185,190,.24);--brief-ink:#c7d9dc;--brief-head:#eef8f7;--brief-sub:#dbeceb;--brief-muted:#7f979c;--brief-faint:#6e888e;--brief-line:rgba(131,185,190,.14);--brief-link:#43e9d4;--brief-value:#e2efee;--brief-chip:rgba(255,255,255,.02);position:absolute;z-index:34;inset:14px auto 14px 14px;width:min(460px,calc(100vw - 28px));display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}.seo-brief-panel[data-theme=light]{--brief-bg:rgba(255,255,255,.96);--brief-bg-solid:rgba(255,255,255,.96);--brief-border:rgba(47,65,73,.18);--brief-ink:#3a4a51;--brief-head:#182328;--brief-sub:#24333a;--brief-muted:#637278;--brief-faint:#7b898f;--brief-line:rgba(47,65,73,.12);--brief-link:#0b5fa5;--brief-value:#182328;--brief-chip:rgba(47,65,73,.04)}.seo-brief-panel>*{pointer-events:auto}.seo-brief-toggle{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--brief-border);border-radius:9px;color:var(--brief-head);background:var(--brief-bg-solid);font:650 12px var(--font-sans);letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 32px rgba(0,0,0,.28)}.seo-brief-toggle:hover{border-color:var(--brief-link)}.seo-brief-toggle.restore{padding:8px 12px;font-size:11px}.seo-brief-sheet{position:relative;margin-top:10px;width:100%;display:flex;flex-direction:column;min-height:0;max-height:calc(100% - 46px);border:1px solid var(--brief-border);border-radius:13px;background:var(--brief-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 26px 70px rgba(0,0,0,.35)}.seo-brief-close{position:absolute;z-index:3;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--brief-border);border-radius:50%;color:var(--brief-muted);background:var(--brief-bg-solid);cursor:pointer}.seo-brief-close:hover{color:var(--brief-head);border-color:var(--brief-link)}.seo-brief-grip,.seo-brief-sheet[hidden]{display:none}.seo-brief-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0}.seo-brief{padding:22px 24px 26px;color:var(--brief-ink);font-size:13.5px;line-height:1.65}.seo-brief h1{margin:10px 0 12px;color:var(--brief-head);font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.2}.seo-brief h2{margin:26px 0 9px;color:var(--brief-sub);font-size:14px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.seo-brief a{color:var(--brief-link);text-decoration:none}.seo-brief a:hover{text-decoration:underline}.seo-answer{margin:0 0 14px;color:var(--brief-sub);font-size:14px}.seo-route-cta{width:100%;min-height:68px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;grid-gap:11px;gap:11px;margin:0 0 20px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--brief-link) 70%,var(--brief-border));border-radius:10px;color:var(--brief-head);background:color-mix(in srgb,var(--brief-link) 10%,var(--brief-bg-solid));text-align:left;cursor:pointer}.seo-route-cta:hover{border-color:var(--brief-link);background:color-mix(in srgb,var(--brief-link) 16%,var(--brief-bg-solid))}.seo-route-cta-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:#061513;background:var(--brief-link)}.seo-route-cta>span:nth-child(2){min-width:0;display:grid;grid-gap:2px;gap:2px}.seo-route-cta strong{overflow:hidden;color:var(--brief-head);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.seo-route-cta small{color:var(--brief-muted);font-size:11px;line-height:1.35}.seo-crumbs ol{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;color:var(--brief-faint);font:600 10.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.seo-crumbs li+li:before{content:"›";margin:0 5px;color:var(--brief-faint)}.seo-crumbs a{color:var(--brief-muted)}.seo-facts{width:100%;margin:6px 0 4px;border-collapse:collapse}.seo-facts caption{padding-bottom:7px;color:var(--brief-sub);font-size:14px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;text-align:left}.seo-facts td,.seo-facts th{padding:6px 8px 6px 0;border-top:1px solid var(--brief-line);font-size:13px;text-align:left;vertical-align:top}.seo-facts th{width:46%;color:var(--brief-muted);font-weight:500}.seo-facts td{color:var(--brief-value);font-weight:600}.seo-forecast table{width:100%;margin:4px 0 8px;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.seo-forecast td,.seo-forecast th{padding:5px 8px 5px 0;border-top:1px solid var(--brief-line);font-size:12.5px;text-align:left}.seo-forecast thead th{border-top:0;color:var(--brief-faint);font:600 10.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.seo-forecast tbody th{color:var(--brief-muted);font-weight:600}.seo-forecast td{color:var(--brief-value)}.seo-provenance{color:var(--brief-muted);font-size:11.5px;line-height:1.6}.seo-faq details{margin:0 0 8px;border:1px solid var(--brief-line);border-radius:9px;background:var(--brief-chip)}.seo-faq summary{padding:10px 13px;color:var(--brief-sub);font-size:13px;font-weight:600;cursor:pointer}.seo-faq details>p{margin:0;padding:0 13px 12px;color:var(--brief-ink)}.seo-related ul{margin:4px 0 12px;padding:0;list-style:none}.seo-related li{padding:5px 0;border-top:1px solid var(--brief-line)}.seo-related small{color:var(--brief-faint);font:600 10.5px var(--font-mono);margin-left:6px}.site-footer{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-gap:40px;gap:40px;max-width:1180px;margin:auto;padding:46px 24px 40px;color:#8aa0a6;background:#071319}.site-footer .brand{color:#eaf6f5}.site-footer .brand-mark{background:#43e9d4;color:#06211e}.site-footer-brand p{margin:12px 0 0;font-size:12.5px;line-height:1.6;max-width:300px}.site-footer h2{margin:4px 0 10px;color:#dbeceb;font-size:12px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{padding:3px 0}.site-footer a{color:#9db7bb;text-decoration:none;font-size:12.5px;text-transform:capitalize}.site-footer a:hover{color:#43e9d4}.site-footer-note{grid-column:1/-1;margin-top:18px;padding-top:16px;border-top:1px solid rgba(131,185,190,.14);color:#5d777e;font:11px var(--font-mono)}.seo-hub-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:10px;gap:10px;margin:24px 0 0;padding:0;list-style:none}.seo-hub-list li{border:1px solid rgba(131,185,190,.16);border-radius:10px;background:rgba(255,255,255,.02)}.seo-hub-list a{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 14px;color:#dcebe9;text-decoration:none;font-size:13.5px}.seo-hub-list a:hover{color:#43e9d4}.seo-hub-list small{color:#6e888e;font:600 10.5px var(--font-mono);white-space:nowrap}.seo-hub-cluster{margin-top:38px;padding-top:28px;border-top:1px solid rgba(131,185,190,.14)}.seo-directory-heading,.seo-hub-cluster h2{margin:0 0 14px;color:#dbeceb;font-size:17px;font-weight:600}.seo-hub-list.compact{margin-top:0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.seo-directory-heading{margin-top:42px}@media (max-width:820px){.seo-brief-panel{inset:auto 0 0 0;width:auto;align-items:stretch}.seo-brief-panel.min{inset:auto auto calc(var(--timeline-h, 64px) + 12px) 10px;width:auto;align-items:flex-start}.seo-brief-toggle{display:none}.seo-brief-panel.min .seo-brief-toggle{display:inline-flex}.seo-brief-sheet{margin-top:0;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;box-shadow:0 -18px 50px rgba(0,0,0,.4);transition:none}.seo-brief-grip{display:block;flex:0 0 26px;touch-action:none;cursor:-webkit-grab;cursor:grab}.seo-brief-grip:before{content:"";display:block;width:42px;height:4px;margin:9px auto 0;border-radius:2px;background:var(--brief-border)}.seo-brief-scroll{height:52dvh;transition:height .28s ease}.seo-brief-panel.expanded .seo-brief-scroll{height:calc(92dvh - 46px)}.seo-brief h1{font-size:19px}.site-footer{grid-template-columns:1fr;gap:26px}}.point-forecast-panel{position:absolute;z-index:6;left:50%;bottom:calc(var(--timeline-h) + 13px);transform:translateX(-50%);width:min(880px,calc(100% - 40px));border:1px solid var(--line-bright);border-radius:12px;background:rgba(10,5,5,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 16px 44px rgba(0,0,0,.32);transition:transform .28s ease}.workspace.sidebar-open .point-forecast-panel{transform:translateX(calc(-50% + 206px));width:min(880px,calc(100% - 640px))}.pf-head{display:flex;align-items:center;gap:12px;padding:11px 12px 9px 16px;border-bottom:1px solid var(--line)}.pf-title{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:2px}.pf-title strong{overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.pf-title small{color:var(--faint);font:10.5px var(--font-mono)}.pf-rating{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:14px;font-size:11.5px;font-weight:700;letter-spacing:.03em}.pf-rating.ok{color:#6ee7a0;background:rgba(31,138,76,.16)}.pf-rating.elevated{color:#f5c96e;background:rgba(217,147,43,.16)}.pf-rating.high{color:#ff9d94;background:rgba(229,72,77,.18)}.pf-status{display:flex;align-items:center;gap:8px;padding:18px 16px;color:var(--muted);font-size:12.5px}.pf-status.error{color:#ff9d94}.pf-compare{padding:9px 12px 10px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}.pf-compare-head{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;grid-gap:5px 12px;gap:5px 12px;margin-bottom:7px}.pf-compare-head strong{color:var(--ink);font-size:11px}.pf-compare-head span{color:var(--muted);font:10.5px var(--font-mono)}.pf-compare-head small{color:var(--faint);font:9.5px var(--font-mono);text-align:right}.pf-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.pf-model-card{min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.025)}.pf-model-card.selected{border-color:color-mix(in srgb,var(--aqua) 55%,var(--line));background:color-mix(in srgb,var(--aqua) 7%,transparent)}.pf-model-card>div{display:flex;align-items:center;justify-content:space-between;gap:5px}.pf-model-card strong{color:var(--ink);font:700 10.5px var(--font-mono)}.pf-model-card i{color:var(--aqua);font:650 8px var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.pf-model-card p{margin:4px 0 2px;color:var(--muted);font:10.5px var(--font-mono)}.pf-model-card p b{color:var(--ink);font-size:12.5px}.pf-model-card small{display:block;overflow:hidden;color:var(--faint);font:9px/1.35 var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.pf-model-card.unavailable p{min-height:26px;color:var(--faint);line-height:1.25}.pf-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:thin}.pf-strip{position:relative;padding:6px 0 10px}.pf-cursor{position:absolute;top:0;bottom:0;z-index:0;background:rgba(255,255,255,.05);border-radius:6px;pointer-events:none}.pf-row{position:relative;display:flex}.pf-row>span{flex:0 0 52px;display:flex;align-items:center;justify-content:center}.pf-days{height:15px}.pf-days span{position:absolute;top:0;padding-left:6px;color:var(--muted);font:650 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-left:1px solid var(--line-bright)}.pf-hours span{height:18px;color:var(--faint);font:10.5px var(--font-mono)}.pf-hours span.day-start{border-left:1px solid var(--line)}.pf-barbs span{height:28px;color:#c9aca8}.pf-bars{display:block}.pf-hit{fill:transparent}.pf-wind-bar{fill:var(--aqua)}.pf-gust-bar{fill:rgba(255,90,79,.26)}.pf-values,.pf-values em{align-items:center}.pf-values em{position:-webkit-sticky;position:sticky;left:8px;z-index:2;width:0;overflow:visible;display:flex;gap:4px;color:var(--faint);font:650 9.5px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-style:normal;text-shadow:0 0 6px rgba(5,3,3,.9)}.pf-values span{height:21px;color:var(--muted);font:11.5px var(--font-mono);gap:3px}.pf-values.strong span{color:var(--ink);font-weight:650}.pf-wave{display:block;margin-top:2px}.pf-wave-arrow{display:inline-block;font-style:normal;font-size:10px;color:var(--faint)}.tide-chart{display:block}.tide-area{fill:rgba(63,182,201,.15)}.tide-line{stroke:#3fb6c9;stroke-width:2;stroke-linecap:round}.tide-day-line{stroke:var(--line)}.tide-day-label{fill:var(--muted);font:650 9.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.tide-now-line{stroke:var(--aqua);stroke-width:1.5;stroke-dasharray:3 3}.tide-extreme-dot{fill:#3fb6c9;stroke:rgba(5,3,3,.9);stroke-width:1.5}.tide-extreme-label{fill:var(--ink);font:10px var(--font-mono)}.tide-next{display:flex;flex-wrap:wrap;gap:7px 16px;padding:9px 14px 12px;border-top:1px solid var(--line)}.tide-next span{display:flex;align-items:center;gap:5px;color:var(--muted);font:11.5px var(--font-mono)}.tide-next b{color:var(--ink);font-weight:650}.tide-next svg{color:#3fb6c9}.app-shell[data-theme=light] .point-forecast-panel{border-color:#d7dde0;background:rgba(255,255,255,.97);box-shadow:0 16px 44px rgba(30,44,50,.2)}.app-shell[data-theme=light] .pf-hours span,.app-shell[data-theme=light] .pf-title small,.app-shell[data-theme=light] .pf-wave-arrow{color:#8a979c}.app-shell[data-theme=light] .pf-days span,.app-shell[data-theme=light] .pf-values span{color:#66767c}.app-shell[data-theme=light] .pf-values.strong span{color:#17282d}.app-shell[data-theme=light] .pf-values em{color:#8a979c;text-shadow:0 0 6px rgba(255,255,255,.9)}.app-shell[data-theme=light] .pf-barbs span{color:#44566b}.app-shell[data-theme=light] .pf-cursor{background:rgba(23,40,45,.06)}.app-shell[data-theme=light] .pf-wind-bar{fill:#0b5fa5}.app-shell[data-theme=light] .pf-gust-bar{fill:rgba(11,95,165,.22)}.app-shell[data-theme=light] .pf-rating.ok{color:#157a43;background:rgba(31,138,76,.12)}.app-shell[data-theme=light] .pf-rating.elevated{color:#9a6a12;background:rgba(217,147,43,.14)}.app-shell[data-theme=light] .pf-rating.high{color:#b3312f;background:rgba(229,72,77,.12)}.app-shell[data-theme=light] .tide-day-label{fill:#8a979c}.app-shell[data-theme=light] .tide-extreme-label{fill:#17282d}.app-shell[data-theme=light] .tide-extreme-dot{stroke:rgba(255,255,255,.95)}.app-shell[data-theme=light] .tide-line{stroke:#0e7f93}.app-shell[data-theme=light] .tide-next span{color:#66767c}.app-shell[data-theme=light] .tide-next b{color:#17282d}.app-shell[data-theme=light] .tide-next svg{color:#0e7f93}.app-shell[data-theme=light] .tide-now-line{stroke:#0b5fa5}@media (max-width:820px){.point-forecast-panel{left:8px;right:8px;bottom:calc(var(--timeline-h) + 8px)}.point-forecast-panel,.workspace.sidebar-open .point-forecast-panel{transform:none;width:auto}.pf-compare-head{grid-template-columns:1fr auto}.pf-compare-head small{grid-column:1/-1;text-align:left}.pf-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.hover-popup{pointer-events:none}.hover-popup .maplibregl-popup-content{min-width:0;padding:5px 9px;border-radius:5px}.hover-popup .maplibregl-popup-content span{color:inherit;font:600 11px var(--font-sans)}.pin-warning{width:100%;display:block;padding:6px 8px;border:0;border-radius:5px;font:650 11px var(--font-sans);text-align:left;cursor:pointer}.pin-warning:after{float:right;margin-left:8px;content:"Details +";font-size:9px;opacity:.75}.pin-warning[aria-expanded=true]:after{content:"Close −"}.pin-warning.warning{color:#b3312f;background:rgba(214,69,69,.12)}.pin-warning.advisory{color:#9a6a12;background:rgba(223,166,61,.14)}.pin-warning.info{color:#2a5f92;background:rgba(67,131,216,.12)}.app-shell[data-theme=dark] .pin-warning.warning{color:#ff9d94}.app-shell[data-theme=dark] .pin-warning.advisory{color:#e8542f}.app-shell[data-theme=dark] .pin-warning.info{color:#c9443a}.pin-warning-details{max-height:min(240px,38dvh);overflow-y:auto;overscroll-behavior:contain;padding:8px 9px;border:1px solid rgba(214,69,69,.22);border-radius:6px;background:rgba(214,69,69,.05);scrollbar-width:thin}.pin-warning-details[hidden]{display:none}.pin-warning-details a,.pin-warning-details p,.pin-warning-details span,.pin-warning-details strong{display:block}.pin-warning-details strong{margin-bottom:5px;font:650 11.5px var(--font-sans)}.pin-warning-details .pin-warning-meta{color:#6d7478;font:9.5px/1.4 var(--font-mono)}.pin-warning-details p{margin:8px 0 0;color:#445057;font:10.5px/1.5 var(--font-sans);white-space:pre-line}.pin-warning-details .pin-warning-instruction{padding-top:7px;border-top:1px solid rgba(214,69,69,.16);font-weight:650}.pin-warning-details a{margin-top:9px;color:#0b5fa5;font-size:10.5px;font-weight:650;text-decoration:none}.app-shell[data-theme=dark] .pin-warning-details p{color:#d8b6b1}.app-shell[data-theme=dark] .pin-warning-details .pin-warning-meta{color:#a8807b}.app-shell[data-theme=dark] .pin-warning-details a{color:#ff8f85}.departure-planner{width:min(980px,calc(100% - 40px))}.dp-window-view{display:grid;grid-gap:8px;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.dp-window-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dp-window-heading strong{color:var(--ink);font-size:12px}.dp-window-heading small{color:var(--faint);font-size:10px;text-align:right}.dp-window-strip{min-width:0;display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 1px 5px;scroll-snap-type:x proximity;scrollbar-width:thin}.dp-window-strip>button{min-width:132px;display:grid;grid-gap:6px;gap:6px;padding:8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:color-mix(in srgb,var(--panel-strong) 82%,transparent);text-align:left;scroll-snap-align:start;cursor:pointer}.dp-window-strip>button.selected,.dp-window-strip>button:hover{border-color:var(--aqua);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aqua) 35%,transparent)}.dp-window-strip>button strong{overflow:hidden;color:var(--ink);font:650 10.5px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.dp-window-strip>button small{color:var(--faint);font:10px var(--font-mono)}.dp-route-weather{height:9px;display:flex!important;flex:0 0 auto!important;flex-direction:row!important;gap:1px!important;overflow:hidden;border-radius:4px;background:var(--line)}.dp-route-weather i{min-width:3px;flex:1 1;background:#3687a4}.dp-route-weather i.elevated{background:var(--amber)}.dp-route-weather i.high{background:var(--danger)}.dp-route-weather i.unavailable{background:repeating-linear-gradient(135deg,var(--line-bright) 0 3px,transparent 3px 6px)}.dp-window-detail{min-width:0;display:grid;grid-template-columns:1.2fr 1fr 1.4fr auto;align-items:center;grid-gap:8px 14px;gap:8px 14px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel-strong) 70%,transparent)}.dp-window-detail>span{min-width:0;display:grid;grid-gap:2px;gap:2px}.dp-window-detail small{color:var(--faint);font:8.5px var(--font-mono);letter-spacing:.08em}.dp-window-detail strong{overflow:hidden;color:var(--ink);font:600 11px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.dp-scroll{overflow:auto;max-height:42dvh;overscroll-behavior:contain;scrollbar-width:thin}.dp-table{width:100%;border-collapse:collapse;font-size:12px}.dp-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:8px 10px;text-align:left;color:var(--faint);background:rgba(10,5,5,.98);font:650 9.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.dp-table td{padding:7px 10px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);white-space:nowrap}.dp-table tr.best td{background:rgba(63,182,201,.07)}.dp-depart{color:var(--ink)!important;font-weight:650}.dp-best-chip{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 7px;border-radius:9px;color:#7fd4e2;background:rgba(63,182,201,.16);font:700 9px var(--font-mono);letter-spacing:.06em}.dp-table .hud-status{font-size:9.5px}.dp-apply{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--line-bright);border-radius:12px;color:#c9aca8;background:transparent;font:650 11px var(--font-sans);cursor:pointer}.dp-apply:hover{border-color:rgba(255,90,79,.4);color:var(--aqua)}.dp-footnote{margin:0;padding:9px 14px 12px;color:var(--faint);font-size:10.5px;line-height:1.5}.app-shell[data-theme=light] .dp-table th{background:rgba(255,255,255,.98)}.app-shell[data-theme=light] .dp-table td{color:#66767c}.app-shell[data-theme=light] .dp-depart{color:#17282d!important}.app-shell[data-theme=light] .dp-best-chip{color:#0e7f93;background:rgba(14,127,147,.12)}.app-shell[data-theme=light] .dp-apply{color:#44566b}.app-shell[data-theme=light] .dp-apply:hover{color:#0b5fa5;border-color:rgba(11,95,165,.4)}@media (max-width:820px){.departure-planner{width:calc(100% - 8px)}.dp-window-view{padding:9px 8px 10px}.dp-window-heading{align-items:flex-start;flex-direction:column;gap:2px}.dp-window-heading small{text-align:left}.dp-window-strip>button{min-width:min(148px,46vw)}.dp-window-detail{grid-template-columns:minmax(0,1fr)}.dp-window-detail .dp-apply{min-height:40px;justify-content:center}.dp-scroll{display:none}.dp-footnote{padding-right:9px;padding-left:9px}}.tide-gate-line{margin-top:6px;font-size:11.5px;line-height:1.55}.tide-gate-line strong{font-weight:650}.start-button{display:flex;align-items:center;gap:7px;padding:8px 18px;border:0;border-radius:18px;background:var(--aqua);color:#1f0503;font-size:13px;font-weight:700;cursor:pointer}.start-button:hover{background:#ff7d72}.underway-hud .hud-context,.underway-live{align-items:center}.underway-live{display:flex;gap:6px;color:#7fd4e2;font:700 10.5px var(--font-mono);letter-spacing:.1em}.underway-live i{width:7px;height:7px;border-radius:50%;background:#3fb6c9;box-shadow:0 0 9px #3fb6c9;animation:pulse-live 1.6s ease-in-out infinite}@keyframes pulse-live{50%{opacity:.35}}.underway-exit,.underway-hud .hud-cell strong.xte-off{color:var(--danger)}.underway-disclaimer{display:flex;align-items:center;gap:5px;margin:0;padding:6px 14px 10px;color:var(--faint);font-size:10px}.voyage-dock.collapsed{width:min(820px,calc(100% - 32px));max-width:none}.voyage-dock.collapsed .hud-context{min-height:46px;padding:7px 10px}.voyage-dock.collapsed .hud-context>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-compact-metrics,.underway-compact-metrics{color:var(--faint);white-space:nowrap}.hud-context .hud-collapse{color:var(--ink);border-color:color-mix(in srgb,var(--aqua) 45%,var(--line-bright))}.planning-hud .hud-context .hud-edit{margin-left:0}.planning-hud .hud-context .hud-collapse{margin-left:auto}.underway-hud.collapsed .underway-compact-metrics{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app-shell[data-theme=light] .start-button{background:#0b5fa5;color:white}.app-shell[data-theme=light] .start-button:hover{background:#0d6fbf}.app-shell[data-theme=light] .underway-live{color:#0e7f93}@media (prefers-reduced-motion:reduce){.underway-live i{animation:none}}.totals-row .start-button{height:32px;padding:0 16px;font-size:12px}.underway-hud .hud-context .hud-edit{margin-left:0}.underway-hud .hud-context button.hud-edit:first-of-type{margin-left:auto}@media (max-width:820px){.underway-hud .hud-context{flex-wrap:wrap;row-gap:7px}.voyage-dock.collapsed{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom, 0px));width:auto}.voyage-dock.collapsed .hud-context{flex-wrap:nowrap;gap:7px}.voyage-dock.collapsed .hud-context>span:first-child{flex-shrink:0}.planning-hud.collapsed .planning-compact-metrics,.underway-hud.collapsed .underway-next{display:none}.underway-hud.collapsed .underway-compact-metrics{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.voyage-dock.collapsed .hud-edit{flex-shrink:0;padding:6px 8px}.voyage-dock.collapsed .hud-edit:not(.hud-collapse):not(.underway-exit){font-size:0;gap:0}.planning-hud.collapsed .hud-context>strong{flex:1 1;min-width:0}.point-forecast-panel{max-height:calc(100dvh - var(--timeline-h) - 84px);overflow-y:auto}.totals-row .route-tool-button,.totals-row .start-button{margin-left:0}}.legal-shell{height:100dvh;overflow-y:auto}.legal-page{max-width:760px;margin:0 auto;padding:56px 22px 64px}.legal-page h1{margin:6px 0 4px;font-size:30px;letter-spacing:-.02em}.legal-updated{color:var(--faint);font:12px var(--font-mono)}.legal-page h2{margin:34px 0 10px;font-size:17px}.legal-page li,.legal-page p{color:var(--muted);font-size:14px;line-height:1.75}.legal-page strong{color:var(--ink)}.legal-page ul{margin:0;padding-left:20px;display:grid;grid-gap:8px;gap:8px}.legal-back{margin-top:40px}.legal-page a{color:var(--aqua);text-decoration:none}.legal-page a:hover{text-decoration:underline}.plan-usage a{color:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.disclaimer-backdrop{z-index:90}.disclaimer-modal small a{color:var(--aqua);text-decoration:none}.disclaimer-modal small a:hover{text-decoration:underline}.app-shell[data-theme=light] .legal-page a{color:#0b5fa5}.app-shell[data-theme=light] .disclaimer-modal .eyebrow{color:#4e6972}.app-shell[data-theme=light] .disclaimer-modal>p{color:#765b57}.waitlist-row{display:grid;grid-gap:9px;gap:9px;margin-top:4px}.waitlist-row input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:rgba(255,255,255,.03);font-size:13px;outline:0;text-align:center}.waitlist-row input:focus{border-color:var(--aqua)}.waitlist-row .calculate-button{width:100%;margin:0}.app-shell[data-theme=light] .waitlist-row input{color:#1e2b30;background:#f5f7f8;border-color:#d7dde0}.card-heading{margin:12px 4px 7px;color:var(--faint);font:650 9.5px var(--font-mono);letter-spacing:.1em}.layer-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px;padding:0 2px}.layer-cards.cards-3{grid-template-columns:repeat(3,1fr)}.layer-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:transparent;cursor:pointer}.card-thumb{position:relative;height:58px;display:grid;place-items:center;border:2px solid transparent;border-radius:10px;color:rgba(255,255,255,.92);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 2px 8px rgba(0,0,0,.25);transition:border-color .15s ease}.card-thumb svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.layer-card:hover .card-thumb{border-color:var(--line-bright)}.layer-card.selected .card-thumb{border-color:var(--aqua)}.card-label{color:var(--muted);font-size:11px;font-weight:600;text-align:center}.layer-card.selected .card-label{color:var(--aqua)}.layer-card.unavailable .card-thumb{opacity:.45}.card-nodata{position:absolute;top:5px;right:5px;padding:2px 6px;border-radius:8px;color:#f5c96e;background:rgba(10,5,5,.8);font:650 8px var(--font-mono);letter-spacing:.05em}.card-thumb{background-size:cover;background-position:50%}.card-thumb svg{position:absolute;right:5px;bottom:5px;width:21px;height:21px;padding:3px;border-radius:6px;color:#fff;background:rgba(8,18,26,.62)}.thumb-chart{background-image:url(/thumbs/chart.png)}.thumb-satellite{background-image:linear-gradient(135deg,rgba(6,45,73,.08),rgba(28,82,48,.15)),url(/thumbs/basemap.png);filter:saturate(1.35) contrast(1.08)}.thumb-bathy{background-image:url(/thumbs/bathy.png)}.thumb-enc{background-image:url(/thumbs/enc.png)}.thumb-wind{background-image:url(/thumbs/wind.png)}.thumb-waves{background-image:url(/thumbs/waves.png)}.thumb-currents{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 62'%3E%3Cg stroke='white' stroke-width='2' fill='none' stroke-linecap='round' opacity='.92'%3E%3Cpath d='M10 14 C40 20 60 8 88 16'/%3E%3Cpath d='M88 16 l-7 -3 M88 16 l-6 4'/%3E%3Cpath d='M8 32 C36 40 64 26 90 34'/%3E%3Cpath d='M90 34 l-7 -3 M90 34 l-6 4'/%3E%3Cpath d='M12 50 C40 56 66 44 86 50'/%3E%3Cpath d='M86 50 l-7 -3 M86 50 l-6 4'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(130deg,rgba(67,201,176,.85),rgba(67,131,216,.85) 60%,rgba(77,97,224,.85)),url(/thumbs/basemap.png)}.thumb-pressure{background-image:url(/thumbs/pressure.png)}.thumb-detail{background-image:url(/thumbs/detail.png)}.thumb-seamark{background-image:url(/thumbs/seamark.png)}.thumb-tides{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 62'%3E%3Cpath d='M0 40 C14 18 28 18 42 40 C56 62 70 62 84 40 C92 28 96 26 100 28 L100 62 L0 62 Z' fill='rgba(255,255,255,.28)'/%3E%3Cpath d='M0 40 C14 18 28 18 42 40 C56 62 70 62 84 40 C92 28 96 26 100 28' stroke='white' stroke-width='2.2' fill='none'/%3E%3Ccircle cx='21' cy='24' r='3' fill='white'/%3E%3Ccircle cx='63' cy='56' r='3' fill='white'/%3E%3C/svg%3E"),linear-gradient(175deg,#56b7cb 0 30%,#0e7f93)}.thumb-ais{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 62'%3E%3Cg stroke='white' stroke-width='1.3'%3E%3Cpath d='M22 30 l5 -12 l5 12 z' fill='%234383d8' transform='rotate(40 27 24)'/%3E%3Cpath d='M52 44 l5 -12 l5 12 z' fill='%23c95545' transform='rotate(-25 57 38)'/%3E%3Cpath d='M70 18 l4.5 -11 l4.5 11 z' fill='%232f9e57' transform='rotate(75 74 12)'/%3E%3C/g%3E%3C/svg%3E"),url(/thumbs/basemap.png)}.thumb-warnings{background-image:url(/thumbs/warnings.png)}.thumb-tropical{background-image:radial-gradient(circle at 58% 47%,transparent 0 12%,rgba(255,255,255,.9) 13% 16%,transparent 17%),conic-gradient(from 30deg at 58% 47%,#c026d3,#5b6fe8,#2d9eb5,#c026d3)}.model-picker{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible}.app-shell[data-theme=light] .card-label{color:#66767c}.app-shell[data-theme=light] .layer-card.selected .card-label{color:#0b5fa5}.app-shell[data-theme=light] .layer-card.selected .card-thumb{border-color:#0b5fa5}.app-shell[data-theme=light] .card-thumb{box-shadow:inset 0 0 0 1px rgba(23,40,45,.1),0 2px 8px rgba(30,44,50,.14)}@media (max-width:520px){.layer-cards{grid-template-columns:repeat(3,1fr)}.card-thumb{height:52px}}.vessel-modal{min-width:0;overflow-x:hidden}.polar-picker,.vessel-fields,.vessel-fields label,.vessel-fields label div,.vessel-modal>*,.vessel-quick-profile{min-width:0;max-width:100%;box-sizing:border-box}.vessel-quick-profile{width:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:7px;gap:7px;margin:18px 0 4px;padding:12px;border:1px solid color-mix(in srgb,var(--aqua) 28%,var(--line));border-radius:9px;text-align:left;background:color-mix(in srgb,var(--aqua) 7%,var(--panel-strong))}.vessel-quick-profile label{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.vessel-quick-profile select{min-width:0;width:100%;max-width:100%;height:42px;padding:0 11px;border:1px solid var(--line-bright);border-radius:7px;color:var(--ink);background:var(--panel-strong);box-sizing:border-box;font:700 13px var(--font-sans);outline:0}.vessel-quick-profile select:focus{border-color:var(--aqua);box-shadow:0 0 0 2px color-mix(in srgb,var(--aqua) 15%,transparent)}.vessel-quick-profile small{color:var(--faint);font-size:10.5px;line-height:1.45}.polar-picker{width:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;margin-top:14px;text-align:left}.polar-picker select{min-width:0;width:100%;max-width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:rgba(255,255,255,.03);box-sizing:border-box;font-size:12.5px;outline:0}.polar-picker select:focus{border-color:var(--aqua)}.polar-upload{min-width:0;width:100%;max-width:100%;display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px dashed var(--line-bright);border-radius:7px;color:var(--muted);box-sizing:border-box;font-size:12px;cursor:pointer}.polar-upload input{display:none}.polar-upload:hover{color:var(--ink);border-color:var(--aqua)}.polar-note{color:var(--faint);font:11px var(--font-mono)}.app-shell[data-theme=light] .polar-picker select{color:#1e2b30;background:#f5f7f8;border-color:#d7dde0}.app-shell[data-theme=light] .vessel-quick-profile{background:#edf5f7;border-color:#c8dce1}.app-shell[data-theme=light] .vessel-quick-profile select{color:#1e2b30;background:#fff;border-color:#c9d4d8}.thumb-buoys{background-image:url(/thumbs/buoys.png)}.buoy-table td:first-child{font-family:var(--font-sans)}.app-shell.thumb-mode .brand-pill,.app-shell.thumb-mode .floating-actions,.app-shell.thumb-mode .layer-controls,.app-shell.thumb-mode .maplibregl-ctrl,.app-shell.thumb-mode .overlay-empty-note,.app-shell.thumb-mode .search-cluster,.app-shell.thumb-mode .stale-banner,.app-shell.thumb-mode .timeline-panel,.app-shell.thumb-mode .toast{display:none!important}@media (max-width:820px){.app-shell .layer-popover{background:var(--panel)}}:root{--profile-h:0px}.workspace.has-profile{--timeline-h:calc(65px + var(--profile-h) + env(safe-area-inset-bottom, 0px))}.timeline-panel.with-profile{height:auto;row-gap:0;grid-template-rows:auto 64px;grid-template-areas:"profile profile profile profile profile profile profile" "play time scale back strip fwd now";align-items:center}.passage-profile{grid-area:profile;align-self:start;width:100%;padding:9px 0 7px}.pp-toolbar{min-width:0;display:flex;align-items:center;gap:10px}.pp-headline{min-width:0;flex:1 1 260px;display:flex;align-items:flex-start;gap:9px}.pp-headline p{flex:1 1;min-width:0;margin:0;display:flex;flex-direction:column;gap:3px}.pp-headline strong{color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.35}.pp-summary-line{min-width:0;display:flex;align-items:center;gap:7px;overflow:hidden;white-space:nowrap}.pp-summary-line>strong{flex:0 0 auto}.pp-summary-metrics{overflow:hidden;color:var(--muted);font:600 11.5px var(--font-mono);text-overflow:ellipsis}.pp-stale-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;padding:2px 5px;border:1px solid color-mix(in srgb,var(--amber) 42%,transparent);border-radius:4px;color:var(--amber);font:700 8.5px var(--font-mono);letter-spacing:.08em}.pp-tone{flex:0 0 auto;width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--muted)}.pp-tone.ok{background:#1f8a4c}.pp-tone.elevated{background:var(--amber)}.pp-tone.high{background:var(--danger)}.pp-tone.unknown{background:var(--faint)}.pp-caveat{display:flex;align-items:center;gap:5px;color:var(--amber);font-size:11.5px;line-height:1.3}.pp-stale-note{color:var(--muted)}.pp-scrub-hint{color:var(--faint);font-size:11px;line-height:1.3}.pp-detail-toggle{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:5px;padding:6px 11px;border:1px solid var(--line-bright);border-radius:16px;background:transparent;color:var(--muted);font-size:11.5px;font-weight:600;cursor:pointer}.pp-detail-toggle:hover{color:var(--ink);border-color:var(--aqua)}.pp-detail-toggle:disabled{cursor:wait;opacity:.7}.pp-toolbar-actions{flex:0 0 auto;display:flex;align-items:center;gap:7px}.pp-cadence{height:32px;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--panel-strong) 76%,transparent)}.pp-cadence>span{margin:0 4px 0 6px;color:var(--faint);font:700 8px var(--font-mono);letter-spacing:.1em}.pp-cadence button{min-width:34px;height:24px;padding:0 7px;border:0;border-radius:12px;color:var(--muted);background:transparent;font:700 10px var(--font-mono);cursor:pointer}.pp-cadence button:hover{color:var(--ink)}.pp-cadence button.active{color:#fff;background:var(--aqua);box-shadow:0 1px 5px rgba(0,0,0,.2)}.pp-refresh-weather{border-color:color-mix(in srgb,var(--aqua) 55%,var(--line-bright));background:color-mix(in srgb,var(--aqua) 10%,transparent);color:var(--aqua)}.pp-refresh-weather:hover{background:color-mix(in srgb,var(--aqua) 16%,transparent)}.pp-refresh-weather .spinning{animation:pp-spin .8s linear infinite}@keyframes pp-spin{to{transform:rotate(1turn)}}.pp-selected-weather{display:flex;align-items:baseline;gap:5px 9px;overflow-x:auto;color:var(--muted);font:11px var(--font-mono);line-height:1.3;scrollbar-width:none;white-space:nowrap}.pp-selected-weather::-webkit-scrollbar,.pp-state-strip::-webkit-scrollbar{display:none}.pp-selected-weather>span{color:var(--faint);font-size:9.5px;font-weight:700;letter-spacing:.1em}.pp-selected-weather b{color:var(--ink);font-weight:700}.pp-selected-weather.high b{color:var(--danger)}.pp-selected-weather.elevated b{color:var(--amber)}.pp-selected-weather i{font-style:normal}.pp-state-strip{display:grid;grid-gap:5px;gap:5px;margin-top:7px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:1px;scrollbar-width:none}.pp-state{position:relative;min-height:55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;overflow:hidden;padding:5px 7px 5px 9px;border:1px solid var(--line);border-left:3px solid #1f8a4c;border-radius:7px;color:var(--muted);background:rgba(255,255,255,.025);cursor:pointer;text-align:left}.pp-state.elevated{border-left-color:var(--amber)}.pp-state.high{border-left-color:var(--danger)}.pp-state.no-data{border-left-color:var(--faint);background-image:repeating-linear-gradient(135deg,transparent 0 7px,rgba(127,127,127,.08) 7px 9px)}.pp-state.active{box-shadow:inset 0 0 0 1px var(--aqua)}.pp-state.active,.pp-state:hover{border-color:var(--aqua)}.pp-state small{width:100%;display:flex;align-items:center;gap:4px;overflow:hidden;color:var(--faint);font:650 8.5px var(--font-mono);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}.pp-state small b{color:var(--aqua);font:inherit;letter-spacing:.08em}.pp-state strong{color:var(--ink);font:700 13px var(--font-mono);line-height:1.2;white-space:nowrap}.pp-state strong em{color:var(--muted);font-size:9px;font-style:normal;font-weight:500}.pp-state strong i{margin-left:5px;color:var(--muted);font-size:10px;font-style:normal;font-weight:600}.pp-state>span{max-width:100%;overflow:hidden;font:9px var(--font-mono);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.pp-state.no-data strong{color:var(--muted);font-size:10px;letter-spacing:.05em}.pp-chips{display:flex;gap:7px;margin-top:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.pp-chips::-webkit-scrollbar{display:none}.pp-chip{flex:0 0 auto;min-height:44px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 11px;border:1px solid var(--line-bright);border-left-width:3px;border-radius:8px;background:rgba(255,255,255,.03);cursor:pointer;text-align:left}.pp-chip.elevated{border-left-color:var(--amber)}.pp-chip.high{border-left-color:var(--danger)}.pp-chip:hover{border-color:var(--aqua)}.pp-chip-when{color:var(--ink);font:650 11.5px var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.pp-chip-what{color:var(--ink);font-size:12.5px;font-weight:600;white-space:nowrap}.pp-chip-for{color:var(--muted);font:10.5px var(--font-mono);letter-spacing:.04em}.pp-readout{display:flex;align-items:stretch;gap:0;margin-top:9px;overflow-x:auto;scrollbar-width:none}.pp-readout::-webkit-scrollbar{display:none}.pp-readout>span{flex:0 0 auto;min-width:88px;display:flex;flex-direction:column;gap:1px;padding:0 13px;border-left:1px solid var(--line)}.pp-readout>span:first-child{padding-left:0;border-left:0}.pp-readout small{color:var(--faint);font:650 9.5px var(--font-mono);letter-spacing:.1em}.pp-readout strong{color:var(--ink);font:600 20px var(--font-display,var(--font-sans));font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.pp-readout strong em{margin-left:2px;color:var(--muted);font:400 11px var(--font-mono);font-style:normal}.pp-readout i{color:var(--muted);font:11px var(--font-mono);font-style:normal;white-space:nowrap}.pp-readout-time strong{font-size:14px;letter-spacing:.01em}.pp-plots{position:relative;margin-top:8px;touch-action:none;cursor:ew-resize;-moz-user-select:none;user-select:none;-webkit-user-select:none}.pp-plots:focus-visible{outline:2px solid var(--aqua);outline-offset:3px;border-radius:4px}.pp-svg{display:block;width:100%}.pp-needle{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--aqua);box-shadow:0 0 7px var(--aqua);pointer-events:none}.pp-wind-area{fill:rgba(255,90,79,.16)}.pp-wind-line{fill:none;stroke:var(--aqua);stroke-width:2;stroke-linejoin:round}.pp-gust-line{fill:none;stroke:rgba(255,90,79,.5);stroke-width:1.25;stroke-linejoin:round}.pp-wave-area{stroke:none}.pp-wave-line{fill:none;stroke-width:2;stroke-linejoin:round}.pp-reading{fill:var(--ink);opacity:.55}.pp-grid{stroke:var(--line);stroke-width:1}.pp-dayline{stroke:var(--line-bright);stroke-width:1}.pp-grid-label{fill:var(--faint);font:9.5px var(--font-mono)}.pp-limit{stroke:var(--amber);stroke-width:1.25;stroke-dasharray:5 4;opacity:.8}.pp-limit-label{fill:var(--amber);font:650 9px var(--font-mono);letter-spacing:.08em;text-anchor:end;opacity:.9}.pp-series-label{font:650 9px var(--font-mono);letter-spacing:.1em}.pp-series-wind{fill:var(--aqua)}.pp-series-gust{fill:rgba(255,90,79,.62)}.pp-axis-day,.pp-series-wave{fill:var(--muted)}.pp-axis-day{font:650 10px var(--font-mono);letter-spacing:.08em}.pp-axis-start{fill:var(--faint)}.pp-barb{color:#c9aca8}.pp-light-night{fill:rgba(4,10,26,.42)}.pp-light-twilight{fill:rgba(24,32,64,.24)}.pp-hatch-line{stroke:var(--muted);stroke-width:2.5;opacity:.34}.pp-beyond{opacity:.9}.pp-drawn{opacity:.6}.pp-horizon{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:3 3}.pp-horizon-label{fill:var(--muted);font:650 9px var(--font-mono);letter-spacing:.08em}.pp-foot{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;margin-top:7px;color:var(--muted);font-size:11.5px}.pp-exposure b{color:var(--ink);font-weight:650}.pp-exposure.high b{color:var(--danger)}.pp-exposure.elevated b{color:var(--amber)}.pp-arrival{color:var(--ink);font-size:12px}.pp-arrival small{margin-right:5px;color:var(--faint);font:650 9.5px var(--font-mono);letter-spacing:.1em}.pp-source{margin-left:auto;color:var(--faint);font:10.5px var(--font-mono);letter-spacing:.04em}.passage-profile.stale .pp-svg{opacity:.55}.passage-profile.stale .pp-wave-line,.passage-profile.stale .pp-wind-line{stroke-dasharray:4 3}@media (max-width:820px){.workspace.has-profile{--timeline-h:calc(97px + var(--profile-h) + env(safe-area-inset-bottom, 0px))}.timeline-panel.with-profile{height:auto;row-gap:0;grid-template-rows:auto 44px 36px;grid-template-areas:"profile profile profile profile" "play time scale now" "back strip strip fwd"}.passage-profile{padding:6px 0 5px}.pp-toolbar{flex-wrap:wrap;gap:5px 8px}.pp-toolbar .pp-headline{flex-basis:calc(100% - 142px)}.pp-headline strong{font-size:13px}.pp-caveat{font-size:12px}.pp-readout>span{min-width:78px;padding:0 10px}.pp-readout strong{font-size:18px}.pp-readout i{font-size:10.5px}.pp-foot{font-size:12px;gap:3px 12px}.pp-source{margin-left:0;font-size:11px}.pp-chip-what{font-size:13px}.pp-state-strip{margin-right:calc(-1 * max(10px, env(safe-area-inset-right, 0px)));margin-left:calc(-1 * max(10px, env(safe-area-inset-left, 0px)));padding-right:max(10px,env(safe-area-inset-right,0px));padding-left:max(10px,env(safe-area-inset-left,0px))}.pp-state{min-height:57px}}.app-shell[data-theme=light] .pp-headline strong{color:#172329}.app-shell[data-theme=light] .pp-tone.high{background:#b3261e}.app-shell[data-theme=light] .pp-caveat{color:#8a5a08}.app-shell[data-theme=light] .pp-stale-note,.app-shell[data-theme=light] .pp-summary-metrics{color:#5c6a70}.app-shell[data-theme=light] .pp-stale-badge{color:#815207;border-color:rgba(138,90,8,.35)}.app-shell[data-theme=light] .pp-detail-toggle{color:#5c6a70}.app-shell[data-theme=light] .pp-chip{background:rgba(23,40,45,.03)}.app-shell[data-theme=light] .pp-chip.high{border-left-color:#b3261e}.app-shell[data-theme=light] .pp-chip.elevated{border-left-color:#a86c0a}.app-shell[data-theme=light] .pp-chip-what,.app-shell[data-theme=light] .pp-chip-when{color:#172329}.app-shell[data-theme=light] .pp-chip-for,.app-shell[data-theme=light] .pp-foot,.app-shell[data-theme=light] .pp-readout i{color:#5c6a70}.app-shell[data-theme=light] .pp-arrival small,.app-shell[data-theme=light] .pp-readout small{color:#66767c}.app-shell[data-theme=light] .pp-arrival,.app-shell[data-theme=light] .pp-readout strong{color:#172329}.app-shell[data-theme=light] .pp-readout strong em,.app-shell[data-theme=light] .pp-source{color:#5c6a70}.app-shell[data-theme=light] .pp-exposure b{color:#172329}.app-shell[data-theme=light] .pp-exposure.high b{background:none;color:#b3261e}.app-shell[data-theme=light] .pp-exposure.elevated b{color:#8a5a08}.app-shell[data-theme=light] .pp-needle{background:#0b5fa5;box-shadow:0 0 7px rgba(11,95,165,.5)}.app-shell[data-theme=light] .pp-wind-area{fill:rgba(11,95,165,.14)}.app-shell[data-theme=light] .pp-wind-line{stroke:#0b5fa5}.app-shell[data-theme=light] .pp-gust-line{stroke:rgba(11,95,165,.5)}.app-shell[data-theme=light] .pp-series-wind{fill:#0b5fa5}.app-shell[data-theme=light] .pp-series-gust{fill:rgba(11,95,165,.66)}.app-shell[data-theme=light] .pp-series-wave{fill:#5c6a70}.app-shell[data-theme=light] .pp-reading{fill:#17282d;opacity:.5}.app-shell[data-theme=light] .pp-grid-label{fill:#5c6a70}.app-shell[data-theme=light] .pp-axis-day{fill:#46565c}.app-shell[data-theme=light] .pp-axis-start{fill:#5c6a70}.app-shell[data-theme=light] .pp-limit,.app-shell[data-theme=light] .pp-limit-label{stroke:#8a5a08;fill:#8a5a08}.app-shell[data-theme=light] .pp-barb{color:#44566b}.app-shell[data-theme=light] .pp-light-night{fill:rgba(28,42,78,.16)}.app-shell[data-theme=light] .pp-light-twilight{fill:rgba(40,56,96,.09)}.app-shell[data-theme=light] .pp-hatch-line{stroke:#5c6a70;opacity:.3}.app-shell[data-theme=light] .pp-horizon,.app-shell[data-theme=light] .pp-horizon-label{stroke:#5c6a70;fill:#5c6a70}.app-shell[data-theme=light]{--danger:#b3261e}.pp-note{color:var(--muted);font-size:11.5px;line-height:1.3}.pp-unforecast{color:var(--faint)}.app-shell[data-theme=light] .pp-note{color:#5c6a70}.app-shell[data-theme=light] .pp-unforecast{color:#66767c}.model-substitute{color:var(--faint);font-style:italic}.app-shell[data-theme=light] .model-substitute{color:#66767c}.weather-legend{position:absolute;z-index:20;width:min(290px,calc(100% - 28px));display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;grid-gap:7px;gap:7px;padding:10px 12px;border:1px solid var(--line-bright);border-radius:9px;color:var(--muted);background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 6px 20px rgba(14,27,42,.12);font:10px var(--font-mono);pointer-events:none}.weather-legend-title{display:flex;align-items:baseline;gap:7px;color:var(--ink);letter-spacing:.09em}.weather-legend-title strong{font-size:10px}.weather-legend-title small{color:var(--muted);font-size:9px;text-transform:none}.weather-legend .legend-bar{display:block;height:7px}.app-shell[data-theme=dark] .weather-legend{color:#c9443a;background:rgba(13,7,7,.94);box-shadow:none}.app-shell[data-theme=dark] .weather-legend .legend-bar{background:linear-gradient(90deg,#160a0a,#351616,#552020,#812d28,#b82924,#ff3b30,#e8542f)}@media (min-width:1024px){.global-navigation{position:absolute;z-index:70;inset:0 0 auto 0;height:60px;display:flex;align-items:center;gap:22px;padding:0 410px 0 14px;border-bottom:1px solid var(--line);color:var(--ink);background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.global-brand{flex:0 0 auto;display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;font-size:16px;font-weight:700;letter-spacing:-.025em}.global-brand>span:last-child strong{color:var(--muted);font-weight:500}.global-navigation nav{min-width:0;display:flex;align-items:center;gap:2px}.global-help,.global-navigation nav a,.global-navigation nav button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:0;border-radius:7px;color:var(--muted);background:transparent;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.global-help:hover,.global-navigation nav a:hover,.global-navigation nav button:hover{color:var(--ink);background:color-mix(in srgb,var(--aqua) 7%,transparent)}.global-navigation nav .active{color:var(--aqua);background:color-mix(in srgb,var(--aqua) 10%,transparent)}.global-help{margin-left:auto}.global-navigation .brand-mark{width:34px;height:34px}.floating-actions{z-index:72;top:calc(10px + env(safe-area-inset-top, 0px))}.floating-actions .avatar,.floating-actions .float-button,.floating-actions .model-status,.floating-actions .upgrade-button{height:40px}.brand-pill{display:none}.search-cluster{top:calc(74px + env(safe-area-inset-top, 0px))}.overlay-empty-note,.stale-banner{top:calc(72px + env(safe-area-inset-top, 0px))}.route-sidebar,.workspace.sidebar-open .route-sidebar{top:calc(74px + env(safe-area-inset-top, 0px));left:14px;width:320px;max-height:calc(100dvh - var(--timeline-h) - 88px - env(safe-area-inset-top, 0px));border-radius:10px}.layer-panel-backdrop{display:none}.layer-controls{top:calc(74px + env(safe-area-inset-top, 0px));right:calc(14px + env(safe-area-inset-right, 0px));width:304px;align-items:flex-end}.layer-controls>button{min-height:44px;border-radius:8px}.layer-popover{position:relative;top:0;right:auto;width:304px;max-height:min(80dvh,calc(100dvh - var(--timeline-h) - 192px - env(safe-area-inset-top, 0px)));border-radius:10px}}.app-shell{--global-attribution-h:20px;position:relative;height:100dvh;min-height:0;overflow:hidden;padding-bottom:var(--global-attribution-h)}.app-shell>.workspace{height:100%}.global-attribution{position:absolute;z-index:76;right:0;bottom:0;left:0;height:var(--global-attribution-h);display:flex;align-items:center;justify-content:flex-end;gap:4px;overflow:hidden;padding:0 max(8px,env(safe-area-inset-right,0px));border-top:1px solid var(--line);color:var(--faint);background:var(--panel);font:9px/1 var(--font-sans);white-space:nowrap}.global-attribution i{width:1px;height:9px;margin:0 3px;background:var(--line-bright)}.global-attribution a{color:inherit;text-decoration:none}.global-attribution a:hover{color:var(--ink);text-decoration:underline}.app-shell[data-theme=light] .global-attribution{color:#64747a;background:#f7f9f9;border-color:#d7dde0}.app-shell.thumb-mode{--global-attribution-h:0px;padding-bottom:0}.app-shell.thumb-mode .global-attribution{display:none}.workspace{--map-action-size:44px;--map-action-gap:8px;--map-action-step:calc(var(--map-action-size) + var(--map-action-gap));--map-action-rail-top:calc(var(--map-control-top) + 50px);--map-action-bg:rgba(255,255,255,.95);--map-action-color:#52646b;--map-action-border:rgba(73,91,99,.28);--map-action-shadow:0 7px 22px rgba(28,46,55,.18)}.app-shell[data-theme=dark] .workspace{--map-action-bg:rgba(14,7,8,.95);--map-action-color:#d5b9b5;--map-action-border:rgba(255,120,110,.27);--map-action-shadow:0 7px 22px rgba(0,0,0,.32)}.workspace .layer-controls{align-items:stretch;gap:var(--map-action-gap)}.workspace .layer-controls>button,.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button,.workspace .route-recenter{position:relative;width:var(--map-action-size);min-width:var(--map-action-size);height:var(--map-action-size);min-height:var(--map-action-size);display:grid;place-items:center;grid-gap:0;gap:0;margin:0;padding:0;border:1px solid var(--map-action-border);border-radius:12px;color:var(--map-action-color);background-color:var(--map-action-bg);box-shadow:var(--map-action-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer}.workspace .layer-controls>button:focus-visible,.workspace .layer-controls>button:hover,.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button:focus-visible,.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button:hover,.workspace .route-recenter:focus-visible,.workspace .route-recenter:hover{border-color:color-mix(in srgb,var(--aqua) 58%,var(--map-action-border));color:var(--aqua);background-color:color-mix(in srgb,var(--aqua) 8%,var(--map-action-bg))}.workspace .layer-controls>button.active{color:var(--aqua);border-color:color-mix(in srgb,var(--aqua) 58%,var(--map-action-border))}.workspace .layer-controls>button>span,.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button:before,.workspace .route-recenter>span{position:absolute;top:50%;right:calc(100% + 8px);display:block;width:max-content;max-width:min(220px,calc(100vw - 80px));padding:7px 9px;transform:translate(5px,-50%);border:1px solid var(--map-action-border);border-radius:7px;color:var(--map-action-color);background:var(--map-action-bg);box-shadow:var(--map-action-shadow);opacity:0;visibility:hidden;pointer-events:none;font:650 11px/1 var(--font-sans);letter-spacing:0;text-align:left;white-space:nowrap;transition:opacity .12s ease,transform .12s ease,visibility .12s}.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button:before{content:attr(aria-label)}.workspace .layer-controls>button:focus-visible>span,.workspace .layer-controls>button:hover>span,.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button:focus-visible:before,.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button:hover:before,.workspace .route-recenter:focus-visible>span,.workspace .route-recenter:hover>span{transform:translateY(-50%);opacity:1;visibility:visible}.workspace .route-recenter,.workspace.has-dock .route-recenter,.workspace.has-summary .route-recenter{z-index:43}.workspace .maplibregl-ctrl-bottom-right,.workspace.has-dock .maplibregl-ctrl-bottom-right,.workspace.has-summary .maplibregl-ctrl-bottom-right{display:flex;flex-direction:column;align-items:stretch;gap:var(--map-action-gap);z-index:42}.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:none;clear:none;display:flex;flex-direction:column;gap:var(--map-action-gap);margin:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button+button{border-top-width:1px}.workspace .maplibregl-ctrl-bottom-right .maplibregl-ctrl button:disabled{opacity:.45}.workspace .layer-popover{position:absolute;top:0;right:calc(100% + 10px);width:min(304px,calc(100vw - var(--map-gutter-right) - var(--map-action-size) - 24px));max-width:none}@media (max-width:820px){.workspace{--map-action-size:40px;--map-action-gap:7px;--map-action-rail-top:calc(var(--map-control-top) + 106px)}.global-attribution{justify-content:flex-start;font-size:8px}}.vessel-modal{height:calc(100vh - 40px);height:calc(100dvh - 40px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden}.vessel-modal-scroll{flex:1 1;min-width:0;min-height:0;max-width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.vessel-modal-scroll>p{margin:0 auto;max-width:330px;color:#987672;font-size:13px;line-height:1.6}.vessel-modal-actions{flex:0 0 auto;min-width:0;padding-top:14px;border-top:1px solid var(--line);background:var(--panel)}.vessel-modal-actions .calculate-button{width:100%;margin:0 0 8px}.vessel-modal-actions>small{display:block;color:var(--faint);font-size:10px;line-height:1.35}.app-shell[data-theme=light] .vessel-modal-actions{background:#f8f9f9;border-color:#d7dde0}@media (max-width:820px){.vessel-modal{height:calc(100vh - 20px);height:calc(100dvh - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow:hidden}.vessel-modal-scroll>p{font-size:12px;line-height:1.45}}@media (min-width:1024px) and (max-width:1240px){.global-navigation{gap:12px;padding-right:190px}.global-help,.global-navigation nav a,.global-navigation nav button{padding:0 8px}.global-help,.global-navigation nav svg{display:none}}@media (min-width:1241px) and (max-width:1350px){.global-help{display:none}}@media (max-width:820px){.weather-legend{width:min(270px,calc(100% - 20px))}.workspace.has-dock .weather-legend,.workspace.has-summary .weather-legend{display:none}.map-search-pill{height:52px;border-radius:12px}.floating-actions .avatar,.layer-controls>button,.map-search-pill>button,.pill-glyph{width:44px;height:44px}}@media (min-width:1024px) and (max-width:1199px){.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .search-cluster{left:calc(460px + 28px);width:min(320px,calc(100vw - 516px))}.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .route-sidebar{left:calc(460px + 28px)}.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .route-summary{left:calc(460px + 28px);width:min(508px,calc(100vw - 516px));max-width:calc(100vw - 516px);transform:none}.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .workspace.sidebar-open .route-summary,.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .workspace:has(.layer-popover) .route-summary{visibility:hidden;pointer-events:none}}@media (min-width:1200px){.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .search-cluster{left:calc(460px + 28px);width:min(400px,calc(100vw - 820px))}.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .route-sidebar{left:calc(460px + 28px)}.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .route-summary{left:calc(460px + 28px);width:min(720px,calc(100vw - 516px));max-width:calc(100vw - 516px);transform:none}.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .workspace.sidebar-open .route-summary,.seo-stage:has(.seo-brief-panel:not(.min)) .app-shell.embedded-app .workspace:has(.layer-popover) .route-summary{visibility:hidden;pointer-events:none}}.app-shell.thumb-mode .global-navigation,.app-shell.thumb-mode .weather-legend,.workspace:has(.stale-banner) .location-help{top:calc(118px + env(safe-area-inset-top, 0px))}@media (min-width:821px) and (max-width:900px){.location-help{left:calc(14px + env(safe-area-inset-left, 0px));width:min(540px,calc(100% - 28px));transform:none}.workspace:has(.stale-banner) .location-help{top:calc(138px + env(safe-area-inset-top, 0px))}}@media (max-width:820px){.workspace:has(.stale-banner) .location-help{top:calc(138px + env(safe-area-inset-top, 0px))}}.app-shell a>svg,.app-shell button>svg{display:block;flex:0 0 auto}.app-shell a:focus-visible,.app-shell button:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.layer-title button,.location-help button,.modal-close,.pin-dismiss,.stale-dismiss{line-height:0}.layer-title button{width:32px;height:32px;display:grid;place-items:center;padding:0;border-radius:50%}.layer-title button:hover{background:color-mix(in srgb,var(--aqua) 8%,transparent)}.pause-icon{display:block;line-height:1}.seo-landing{overflow:clip;overscroll-behavior:none}.seo-landing>.seo-stage{flex:0 0 100dvh;min-height:100dvh}.seo-landing>.site-footer{flex:0 0 auto;margin:0 auto}.workspace{overflow:clip;overscroll-behavior:none}.workspace.sidebar-open .planning-hud{visibility:hidden;opacity:0;pointer-events:none}@media (min-width:821px) and (max-width:1199px){.planning-hud{width:min(680px,calc(100% - 32px));max-width:none}.planning-hud .totals-row{display:none}.planning-hud .hud-context{min-height:44px;gap:8px;padding:7px 12px}.planning-hud .hud-context>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-hud .hud-context .hud-edit:not(.hud-collapse):not(.hud-recalculate){display:none}.planning-hud .hud-context .hud-collapse{margin-left:auto}}.timeline-panel.with-profile{min-height:0}.timeline-panel.with-profile .passage-profile{min-width:0}@media (min-width:821px) and (max-height:560px){.workspace.has-dock .planning-hud{display:none}.timeline-panel.with-profile{max-height:min(72dvh,calc(100dvh - 60px));grid-template-rows:minmax(0,1fr) 64px;overflow:hidden}.timeline-panel.with-profile .passage-profile{height:100%;min-height:0;align-self:stretch;overflow-y:auto;padding:6px 0 5px;scrollbar-width:thin}.timeline-panel.with-profile .pp-toolbar{position:-webkit-sticky;position:sticky;z-index:2;top:0;padding:2px 0 5px;background:var(--panel)}.timeline-panel.with-profile .pp-chips,.timeline-panel.with-profile .pp-scrub-hint,.timeline-panel.with-profile .pp-source{display:none}.timeline-panel.with-profile .pp-stale-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:820px){.workspace.sidebar-open .planning-hud{max-width:none;visibility:hidden;opacity:0;pointer-events:none}.planning-hud .totals-row{display:none}.planning-hud .hud-context{min-height:44px;flex-wrap:nowrap;gap:8px;padding:7px 10px}.planning-hud .hud-context>span:first-child{flex:0 0 auto}.planning-hud .hud-context>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-hud .hud-context .hud-edit:not(.hud-collapse):not(.hud-recalculate){display:none}.planning-hud .hud-context .hud-collapse{margin-left:auto;flex:0 0 auto}.planning-hud.route-dirty .hud-context{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"status route edit" "recalculate recalculate recalculate";align-items:center;grid-gap:7px 8px;gap:7px 8px}.planning-hud.route-dirty .hud-context>span:first-child{grid-area:status}.planning-hud.route-dirty .hud-context>strong{grid-area:route}.planning-hud.route-dirty .hud-context .hud-recalculate{grid-area:recalculate;width:100%;min-width:0;justify-content:center;margin-left:0}.planning-hud.route-dirty .hud-context .hud-collapse{grid-area:edit;margin-left:0}.timeline-panel.with-profile{max-height:min(62dvh,calc(100dvh - 88px - env(safe-area-inset-top, 0px)));grid-template-rows:minmax(0,1fr) 44px 36px;overflow:hidden}.timeline-panel.with-profile .passage-profile{height:100%;min-height:0;align-self:stretch;overflow-y:auto;padding:6px max(10px,env(safe-area-inset-right,0px)) 5px max(10px,env(safe-area-inset-left,0px));scrollbar-width:thin}.timeline-panel.with-profile .pp-toolbar{position:-webkit-sticky;position:sticky;z-index:2;top:0;padding:1px 0 5px;background:var(--panel)}.timeline-panel.with-profile .pp-chips,.timeline-panel.with-profile .pp-scrub-hint,.timeline-panel.with-profile .pp-source{display:none}.timeline-panel.with-profile .pp-stale-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-panel.with-profile .pp-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0;gap:0;overflow:visible}.timeline-panel.with-profile .pp-readout>span{min-width:0;padding:0 8px}.timeline-panel.with-profile .pp-readout>span.pp-wind{padding-left:0;border-left:0}.timeline-panel.with-profile .pp-angle,.timeline-panel.with-profile .pp-made-good,.timeline-panel.with-profile .pp-readout-time{display:none}.timeline-panel.with-profile .pp-readout i{overflow:hidden;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.timeline-panel.with-profile .pp-foot{gap:2px 10px;line-height:1.3}.workspace:has(.passage-profile.detail-full) .planning-hud,.workspace:has(.passage-profile.detail-half) .planning-hud{display:none}}@media (min-width:821px) and (max-width:1199px) and (min-height:561px){.stale-banner{top:calc(132px + env(safe-area-inset-top, 0px));left:calc(14px + env(safe-area-inset-left, 0px));width:min(480px,calc(100% - 28px));max-width:none;transform:none}.workspace:has(.stale-banner) .location-help{top:calc(180px + env(safe-area-inset-top, 0px))}}@media (max-height:560px){.workspace.has-dock .location-help{display:none}.workspace.has-dock .stale-banner{z-index:72;top:calc(11px + env(safe-area-inset-top, 0px));left:auto;right:calc(220px + env(safe-area-inset-right, 0px));width:198px;max-width:none;padding:6px 9px;transform:none;font-size:10.5px;line-height:1.2}.workspace.has-dock .stale-banner>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.workspace.has-dock .stale-banner>span:before{content:"Stale forecast · do not plan"}.workspace.has-dock .stale-banner>span{font-size:0}.workspace.has-dock .stale-banner>span:before{font-size:10.5px}}@media (min-width:1200px) and (max-height:560px){.workspace.has-dock .stale-banner{left:50%;right:auto;transform:translateX(-50%);width:220px}}@media (min-width:821px) and (max-height:560px){.workspace.has-dock .layer-controls,.workspace.has-dock .maplibregl-ctrl-group,.workspace.has-dock .maplibregl-ctrl-scale,.workspace.has-dock .route-recenter,.workspace.has-dock .search-cluster,.workspace.has-dock .weather-legend,.workspace.has-summary .route-summary{display:none}}@media (max-width:820px) and (max-height:560px){.workspace:has(.planning-hud.route-dirty) .route-recenter{visibility:hidden;pointer-events:none}.workspace.has-dock .stale-banner{top:calc(66px + env(safe-area-inset-top, 0px));right:calc(58px + env(safe-area-inset-right, 0px));left:calc(10px + env(safe-area-inset-left, 0px));width:auto}}.workspace.has-profile .planning-hud{left:0;right:0;bottom:var(--timeline-h);width:auto;max-width:none;transform:none;border-right:0;border-bottom:0;border-left:0;border-radius:0;background:rgba(5,3,3,.97);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.workspace.has-profile.sidebar-open .planning-hud{transform:none}.workspace.has-profile .planning-hud .hud-context{min-height:50px;gap:10px;padding:7px max(16px,env(safe-area-inset-right,0px)) 7px max(16px,env(safe-area-inset-left,0px));letter-spacing:.04em}.workspace.has-profile .planning-hud .hud-context>strong{font-size:12.5px}.passage-live{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;color:var(--aqua);font:700 9.5px var(--font-mono);letter-spacing:.1em}.passage-live i{width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 8px color-mix(in srgb,var(--aqua) 65%,transparent)}.workspace.has-profile .planning-compact-metrics{display:inline;padding-left:10px;border-left:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.passage-actions>summary,.workspace.has-profile .planning-hud .hud-edit{min-height:34px;padding:6px 10px;border-radius:7px}.workspace.has-profile .planning-hud .hud-collapse{margin-left:auto}.workspace.has-profile .planning-hud .start-button{flex:0 0 auto;height:36px;padding:0 15px;border-radius:8px}.passage-actions{position:relative;flex:0 0 auto}.passage-actions>summary{display:flex;align-items:center;gap:6px;border:1px solid var(--line-bright);color:var(--muted);background:transparent;font:600 11px var(--font-sans);letter-spacing:0;cursor:pointer;list-style:none}.passage-actions>summary::-webkit-details-marker{display:none}.passage-actions>summary:hover,.passage-actions[open]>summary{color:var(--ink);border-color:var(--aqua)}.passage-actions-menu{position:absolute;z-index:30;right:0;bottom:calc(100% + 9px);width:min(540px,calc(100vw - 32px));display:grid;grid-template-columns:minmax(0,1fr);grid-gap:0;gap:0;padding:10px 12px;border:1px solid var(--line-bright);border-radius:10px;color:var(--muted);background:var(--panel);box-shadow:0 18px 46px rgba(0,0,0,.28)}.passage-actions:not([open]) .passage-actions-menu{display:none}.passage-actions-summary{display:flex;align-items:baseline;gap:14px;padding:2px 2px 9px;color:var(--muted);font-size:11px}.passage-actions-summary b{color:var(--ink);font-weight:700}.passage-actions-menu>section{display:grid;grid-gap:7px;gap:7px;padding:9px 0;border-top:1px solid var(--line)}.passage-actions-menu>section h3{margin:0;color:var(--faint);font:700 9px var(--font-mono);letter-spacing:.12em}.passage-actions-menu .summary-tabs{width:100%}.passage-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.passage-actions-menu .route-tool-button{width:100%;height:36px;margin:0;padding:0 9px;white-space:nowrap}.passage-actions-menu .route-tool-button:disabled{cursor:not-allowed;opacity:.48}.timeline-panel.with-profile{box-shadow:0 -16px 38px rgba(0,0,0,.18)}.passage-profile.detail-full{padding-top:10px}.passage-profile.detail-full .pp-headline{align-items:center}.passage-profile.detail-full .pp-readout{margin-top:8px}.passage-profile.detail-full .pp-plots{margin-top:6px;overflow:hidden;border-radius:8px;background:#101b2a;box-shadow:inset 0 0 24px rgba(0,0,0,.18)}.pp-chart-bg{fill:#101b2a}.passage-profile.detail-full .pp-grid{stroke:rgba(190,211,230,.14)}.passage-profile.detail-full .pp-dayline{stroke:rgba(190,211,230,.2)}.passage-profile.detail-full .pp-axis-day,.passage-profile.detail-full .pp-grid-label{fill:rgba(225,237,247,.72)}.passage-profile.detail-full .pp-axis-start{fill:rgba(225,237,247,.52)}.passage-profile.detail-full .pp-wind-area{filter:saturate(1.12)}.passage-profile.detail-full .pp-wind-line{stroke:rgba(255,255,255,.92);stroke-width:1.8;filter:drop-shadow(0 0 2px rgba(255,255,255,.3))}.passage-profile.detail-full .pp-gust-line{stroke:rgba(255,228,126,.82);stroke-width:1.35}.passage-profile.detail-full .pp-wave-line{stroke-width:2.2;filter:drop-shadow(0 0 2px rgba(80,170,240,.35))}.passage-profile.detail-full .pp-reading{fill:rgba(255,255,255,.82);opacity:.32}.passage-profile.detail-full .pp-barb{color:rgba(234,242,249,.82)}.passage-profile.detail-full .pp-series-wind{fill:#f7fbff}.passage-profile.detail-full .pp-series-gust{fill:#ffe47e}.passage-profile.detail-full .pp-series-wave{fill:#c7e7ff}.passage-profile.detail-full .pp-limit{stroke:#ffbd59;opacity:.9}.passage-profile.detail-full .pp-limit-label{fill:#ffd58a;opacity:1}.pp-offscale-limit{fill:#a7b8c8;font:650 8.5px var(--font-mono);letter-spacing:.07em;text-anchor:end}.passage-profile.detail-full .pp-needle{top:0;bottom:0;z-index:5;width:2px;background:white;box-shadow:0 0 7px rgba(255,255,255,.85)}.passage-profile.detail-full .pp-needle.hovering{box-shadow:0 0 0 1px rgba(9,22,35,.42),0 0 10px rgba(255,255,255,.95)}.pp-needle-dot{position:absolute;z-index:6;width:10px;height:10px;margin:-5px 0 0 -5px;border:2px solid white;border-radius:50%;background:#162638;box-shadow:0 0 0 2px rgba(13,26,40,.45),0 0 9px rgba(255,255,255,.75);pointer-events:none}.pp-needle-wave{background:#4b8fe2}.pp-hover-card{position:absolute;z-index:9;top:34px;width:252px;display:grid;grid-gap:7px;gap:7px;padding:10px 11px;transform:translateX(10px);border:1px solid rgba(195,215,231,.34);border-radius:8px;color:#eaf3f8;background:rgba(12,26,41,.96);box-shadow:0 10px 28px rgba(0,0,0,.3);pointer-events:none}.pp-hover-card.align-left{transform:translateX(calc(-100% - 10px))}.pp-hover-card header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid rgba(195,215,231,.2)}.pp-hover-card header strong{font:700 11px var(--font-mono);letter-spacing:.02em}.pp-hover-card header span{color:#a8bbc9;font:9.5px var(--font-mono);white-space:nowrap}.pp-hover-card>div{display:grid;grid-template-columns:48px 1fr;grid-column-gap:8px;column-gap:8px;align-items:baseline}.pp-hover-card small{grid-row:1/span 2;color:#8fa6b8;font:700 8.5px var(--font-mono);letter-spacing:.1em}.pp-hover-card b{font:700 11.5px var(--font-mono)}.pp-hover-card div span{grid-column:2;color:#b9c9d5;font:9.5px var(--font-mono)}.pp-hover-card p{margin:0;color:#b9c9d5;font:10.5px var(--font-mono)}.app-shell[data-theme=light] .passage-profile.detail-full .pp-plots{border-color:rgba(47,65,73,.2);background:#f4f8fa;box-shadow:inset 0 0 22px rgba(29,64,84,.045)}.app-shell[data-theme=light] .pp-chart-bg{fill:#f4f8fa}.app-shell[data-theme=light] .passage-profile.detail-full .pp-grid{stroke:rgba(42,67,80,.14)}.app-shell[data-theme=light] .passage-profile.detail-full .pp-dayline{stroke:rgba(42,67,80,.22)}.app-shell[data-theme=light] .passage-profile.detail-full .pp-axis-day,.app-shell[data-theme=light] .passage-profile.detail-full .pp-grid-label{fill:#566b75}.app-shell[data-theme=light] .passage-profile.detail-full .pp-axis-start{fill:#6d7f87}.app-shell[data-theme=light] .passage-profile.detail-full .pp-wind-line{stroke:#143f55;filter:drop-shadow(0 1px 0 rgba(255,255,255,.75))}.app-shell[data-theme=light] .passage-profile.detail-full .pp-gust-line{stroke:#a55218}.app-shell[data-theme=light] .passage-profile.detail-full .pp-reading{fill:#173f52;opacity:.38}.app-shell[data-theme=light] .passage-profile.detail-full .pp-barb{color:#3e5968}.app-shell[data-theme=light] .passage-profile.detail-full .pp-series-wind{fill:#173f52}.app-shell[data-theme=light] .passage-profile.detail-full .pp-series-gust{fill:#9e4c14}.app-shell[data-theme=light] .passage-profile.detail-full .pp-series-wave{fill:#315f87}.app-shell[data-theme=light] .passage-profile.detail-full .pp-limit{stroke:#9a630b}.app-shell[data-theme=light] .passage-profile.detail-full .pp-limit-label{fill:#815207}.app-shell[data-theme=light] .pp-offscale-limit{fill:#667981}.app-shell[data-theme=light] .passage-profile.detail-full .pp-needle{background:#086dc2;box-shadow:0 0 0 1px rgba(255,255,255,.8),0 0 8px rgba(8,109,194,.62)}.app-shell[data-theme=light] .pp-needle-dot{border-color:#fff;background:#143f55;box-shadow:0 0 0 2px rgba(8,74,117,.38)}.app-shell[data-theme=light] .pp-needle-wave{background:#2676be}.app-shell[data-theme=light] .pp-hover-card{border-color:rgba(36,68,84,.24);color:#172d38;background:rgba(255,255,255,.98);box-shadow:0 10px 28px rgba(32,55,68,.2)}.app-shell[data-theme=light] .pp-hover-card header{border-bottom-color:rgba(36,68,84,.16)}.app-shell[data-theme=light] .pp-hover-card header span,.app-shell[data-theme=light] .pp-hover-card small{color:#657b86}.app-shell[data-theme=light] .pp-hover-card div span,.app-shell[data-theme=light] .pp-hover-card p{color:#526a75}.passage-profile.detail-full .pp-plots{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--aqua) 72%,var(--muted)) color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid rgba(121,151,179,.24);border-radius:7px;background:#07131c;box-shadow:none}.passage-profile.detail-full .pp-plots::-webkit-scrollbar{height:10px}.passage-profile.detail-full .pp-plots::-webkit-scrollbar-track{background:color-mix(in srgb,var(--panel) 86%,transparent)}.passage-profile.detail-full .pp-plots::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:color-mix(in srgb,var(--aqua) 72%,var(--muted));background-clip:padding-box}.pp-matrix{position:relative;flex:0 0 auto;display:flex;overflow:visible;background:#07131c}.pp-matrix-data,.pp-matrix-labels{display:grid;grid-template-rows:34px 24px 24px 26px 34px 24px 24px 24px}.pp-matrix-labels{position:-webkit-sticky;position:sticky;z-index:8;left:0;flex:0 0 auto;background:#101b25;box-shadow:7px 0 12px rgba(0,0,0,.18)}.pp-matrix-data{flex:0 0 auto;min-width:0;grid-auto-flow:row}.pp-matrix-label{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:3px;gap:3px;padding:0 4px;border-right:1px solid rgba(194,211,224,.18);border-bottom:1px solid rgba(194,211,224,.11);color:#b8c6d0;font:10.5px var(--font-sans);text-align:right}.pp-matrix-label:last-child{border-bottom:0}.pp-matrix-label b{overflow:hidden;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.pp-matrix-label small{color:#7f929f;font:9px var(--font-mono)}.pp-matrix-time-label{align-content:center}.pp-matrix-time-label b,.pp-matrix-time-label small{grid-column:1/-1}.pp-matrix-cell,.pp-matrix-wave-label{align-items:center}.pp-matrix-cell{min-width:0;display:flex;justify-content:center;padding:0;overflow:hidden;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.1);color:#f7fbfd;font:650 12px var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 1px rgba(0,0,0,.35)}.pp-matrix-time{flex-direction:column;gap:0;color:#d7e1e7;background:#15232d;text-shadow:none;scroll-snap-align:start}.pp-matrix-time.begins-day{border-left:2px solid rgba(255,255,255,.38)}.pp-matrix-time small{max-width:100%;overflow:hidden;color:#8fa1ad;font-size:8px;text-overflow:clip;text-transform:uppercase;white-space:nowrap}.pp-matrix-time b{font-size:11.5px;line-height:1.1}.pp-matrix-time b i{margin-left:1px;color:#90a1ab;font-size:8px;font-style:normal;font-weight:500}.pp-matrix-time em{color:#788c98;font-size:7.5px;font-style:normal;font-weight:600;line-height:1.1}.pp-matrix-weather{background:color-mix(in srgb,var(--pp-cell-color) 84%,#07131c)}.pp-matrix-direction{color:#c8d4db;background:#101b25}.pp-matrix-direction i,.pp-matrix-wave i{display:inline-block;font:700 17px/1 var(--font-sans);font-style:normal;transform-origin:center}.pp-matrix-wave{display:grid;grid-template-columns:auto auto;grid-template-rows:18px 13px;place-content:center;grid-column-gap:3px;column-gap:3px}.pp-matrix-wave i{grid-column:1/-1;justify-self:center;font-size:14px}.pp-matrix-wave b{justify-self:end}.pp-matrix-wave small{align-self:center;color:currentColor;font-size:8px;opacity:.78}.pp-matrix-speed{color:#dce7ec;background:#17303a}.pp-matrix-cell.no-data{color:#71838e;background-color:#17232b;background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(155,176,190,.08) 6px 8px);text-shadow:none}.pp-matrix-selected-column{z-index:5;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.08);box-shadow:inset 0 0 12px rgba(255,255,255,.08)}.pp-matrix-needle,.pp-matrix-selected-column{position:absolute;top:0;bottom:10px;pointer-events:none}.pp-matrix-needle{z-index:7;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(8,24,35,.32),0 0 6px rgba(255,255,255,.8)}.pp-matrix-needle:before{position:absolute;top:0;left:50%;width:7px;height:7px;transform:translate(-50%,-1px) rotate(45deg);background:#fff;content:""}.passage-profile.stale .pp-matrix{opacity:1}.passage-profile.stale .pp-plots{border-color:color-mix(in srgb,var(--amber) 62%,var(--line-bright));box-shadow:inset 0 2px color-mix(in srgb,var(--amber) 48%,transparent)}.app-shell[data-theme=light] .passage-profile.detail-full .pp-plots,.app-shell[data-theme=light] .pp-matrix{background:#f8fafb}.app-shell[data-theme=light] .pp-matrix-labels{background:#eef1f3}.app-shell[data-theme=light] .pp-matrix-label{border-color:rgba(58,74,82,.14);color:#68777e}.app-shell[data-theme=light] .pp-matrix-label small{color:#89959a}.app-shell[data-theme=light] .pp-matrix-cell{border-color:rgba(47,64,72,.12);color:#10232c;text-shadow:none}.app-shell[data-theme=light] .pp-matrix-time{color:#17282f;background:#f8fafb}.app-shell[data-theme=light] .pp-matrix-time small{color:#7a898f}.app-shell[data-theme=light] .pp-matrix-time b i,.app-shell[data-theme=light] .pp-matrix-time em{color:#718087}.app-shell[data-theme=light] .pp-matrix-weather{background:color-mix(in srgb,var(--pp-cell-color) 72%,white)}.app-shell[data-theme=light] .pp-matrix-direction{color:#526168;background:#f7f8f9}.app-shell[data-theme=light] .pp-matrix-speed{color:#17323d;background:#dce9ed}.app-shell[data-theme=light] .pp-matrix-cell.no-data{color:#869399;background-color:#f1f4f5}.app-shell[data-theme=light] .pp-matrix-selected-column{border-color:rgba(11,95,165,.35);background:rgba(11,95,165,.07)}.app-shell[data-theme=light] .pp-matrix-needle{background:#0b5fa5;box-shadow:0 0 0 1px rgba(255,255,255,.8),0 0 6px rgba(11,95,165,.6)}.app-shell[data-theme=light] .pp-matrix-needle:before{background:#0b5fa5}@media (max-width:820px){.pp-toolbar-actions{gap:4px}.pp-cadence>span{display:none}.pp-cadence button{min-width:36px}.pp-detail-toggle{width:34px;justify-content:center;padding:0;font-size:0}.pp-detail-toggle span{display:none}.pp-matrix-label{gap:2px;padding:0 3px;font-size:10.5px}.pp-matrix-label small{font-size:8.5px}.pp-matrix-cell{font-size:12px}.pp-matrix-time b{font-size:11.5px}.pp-matrix-time small{font-size:7.5px}}.app-shell[data-theme=light] .workspace.has-profile .planning-hud{border-color:rgba(47,65,73,.16);background:rgba(255,255,255,.97)}.app-shell[data-theme=light] .passage-actions-menu{background:#fff}@media (max-width:820px){.workspace.has-profile .planning-hud{left:0;right:0;bottom:var(--timeline-h)}.workspace.has-profile .planning-hud .hud-context{min-height:48px;padding:6px max(10px,env(safe-area-inset-right,0px)) 6px max(10px,env(safe-area-inset-left,0px))}.workspace.has-profile .planning-compact-metrics,.workspace.has-profile .planning-hud .hud-context>span:first-child{display:none}.workspace.has-profile .planning-hud .hud-context>strong{flex:1 1}.workspace.has-profile .planning-hud .hud-collapse{width:36px;justify-content:center;margin-left:0;padding:6px;font-size:0}.workspace.has-profile .planning-hud .start-button{width:38px;padding:0;font-size:0}.workspace.has-profile .planning-hud .start-button svg{width:16px;height:16px}.passage-actions>summary{width:36px;justify-content:center;padding:6px;font-size:0}.passage-actions-menu{position:fixed;z-index:70;right:max(4px,env(safe-area-inset-right,0px));bottom:calc(var(--timeline-h) + 52px);left:max(4px,env(safe-area-inset-left,0px));width:auto;max-height:calc(100dvh - var(--timeline-h) - 68px - env(safe-area-inset-top, 0px));grid-template-columns:minmax(0,1fr);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:10px max(10px,env(safe-area-inset-right,0px)) 12px max(10px,env(safe-area-inset-left,0px));border-radius:14px;scrollbar-width:thin}.passage-actions-summary{flex-wrap:wrap;gap:5px 12px}.passage-action-grid,.passage-actions-menu .summary-tabs,.passage-actions-menu>section{grid-template-columns:repeat(2,minmax(0,1fr))}.passage-actions-menu .route-tool-button{min-height:44px;height:auto;justify-content:flex-start;padding:7px 9px;text-align:left;white-space:normal}.passage-profile.detail-full{padding-top:7px}.workspace.has-profile .planning-hud.route-dirty .hud-context{display:flex;flex-wrap:nowrap}.workspace.has-profile .planning-hud.route-dirty .hud-context .route-alternatives,.workspace.has-profile .planning-hud.route-dirty .hud-context>strong,.workspace.has-profile .planning-hud.route-dirty .passage-actions,.workspace.has-profile .planning-hud.route-dirty .start-button{display:none}.workspace.has-profile .planning-hud.route-dirty .hud-recalculate{order:0;flex:1 1;width:auto;margin:0}}.routing-objective .segmented{grid-template-columns:repeat(4,minmax(0,1fr))}.route-alternatives{position:relative;flex:0 0 auto;font-family:var(--font-sans);letter-spacing:0}.route-alternatives-trigger{margin-left:0!important;white-space:nowrap}.route-alternatives-trigger>svg:last-child{transition:transform .16s ease}.route-alternatives-trigger>svg:last-child.open{transform:rotate(180deg)}.route-alternatives-panel{position:absolute;z-index:45;right:0;bottom:calc(100% + 10px);width:min(720px,calc(100vw - 24px));max-height:min(72dvh,620px);overflow-y:auto;padding:12px;border:1px solid var(--line-bright);border-radius:12px;color:var(--ink);background:var(--panel);box-shadow:0 20px 54px rgba(0,0,0,.38);text-align:left;scrollbar-width:thin}.route-alternatives-panel>header{display:flex;align-items:flex-start;gap:8px;padding:1px 1px 11px}.route-alternatives-panel>header>div{flex:1 1;min-width:0;display:grid;grid-gap:3px;gap:3px}.route-alternatives-panel>header strong{font-size:14px;letter-spacing:0}.route-alternatives-panel>header small{color:var(--muted);font-size:11.5px;line-height:1.35;letter-spacing:0}.route-alternatives-panel>header>button{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:transparent;cursor:pointer}.route-alternatives-panel>header>button:hover{color:var(--ink);border-color:var(--aqua)}.route-alternatives-panel>header>button:disabled{opacity:.5;cursor:default}.route-alternatives-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.route-alternative-card{min-width:0;display:flex;flex-direction:column;gap:9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.route-alternative-card.selected{border-color:var(--aqua);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aqua) 30%,transparent)}.route-alternative-card.active{border-color:color-mix(in srgb,var(--amber) 55%,var(--line))}.route-alternative-heading{min-height:31px;display:flex;align-items:flex-start;gap:6px}.route-alternative-heading>span{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px}.route-alternative-heading strong{color:var(--ink);font-size:13px}.route-alternative-heading small{overflow:hidden;color:var(--faint);font:9.5px var(--font-mono);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.route-alternative-heading em{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;padding:3px 5px;border-radius:5px;color:var(--muted);background:rgba(128,128,128,.12);font:700 8px var(--font-mono);font-style:normal;letter-spacing:.06em}.route-alternative-heading em.selected{color:var(--aqua);background:color-mix(in srgb,var(--aqua) 12%,transparent)}.route-alternative-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;margin:0}.route-alternative-metrics>div{min-width:0;display:grid;grid-gap:2px;gap:2px}.route-alternative-metrics dt{color:var(--faint);font:9px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.route-alternative-metrics dd{overflow:hidden;margin:0;color:var(--ink);font-size:11.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.route-alternative-progress{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:10.5px}.route-alternative-progress span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-alternative-progress progress{width:100%;height:4px;overflow:hidden;border:0;border-radius:4px;accent-color:var(--aqua)}.route-alternative-progress progress::-webkit-progress-bar{border-radius:4px;background:rgba(128,128,128,.18)}.route-alternative-progress progress::-webkit-progress-value{border-radius:4px;background:var(--aqua)}.route-alternative-warning{min-height:28px;display:-webkit-box;margin:0;overflow:hidden;color:var(--amber);font-size:10.5px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.route-alternative-warning svg{position:relative;top:2px;margin-right:3px}.route-alternative-warning.clear{color:#4ade80}.route-alternative-warning.muted{color:var(--faint)}.route-alternative-card>button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:auto;padding:6px 10px;border:1px solid var(--line-bright);border-radius:7px;color:var(--muted);background:transparent;font-size:11px;font-weight:650;cursor:pointer}.route-alternative-card>button.select{color:var(--aqua);border-color:color-mix(in srgb,var(--aqua) 55%,var(--line));background:color-mix(in srgb,var(--aqua) 9%,transparent)}.route-alternative-card>button:hover:not(:disabled){color:var(--ink);border-color:var(--aqua)}.route-alternative-card>button:disabled{opacity:.55;cursor:default}.route-alternatives-error,.route-alternatives-loading{display:flex;align-items:flex-start;gap:7px;margin-bottom:9px;padding:8px 9px;border-radius:7px;font-size:11px;line-height:1.35}.route-alternatives-error{color:var(--amber);background:rgba(245,185,76,.09)}.route-alternatives-loading{justify-content:center;color:var(--muted)}.app-shell[data-theme=light] .route-alternatives-panel{background:#fff;box-shadow:0 20px 54px rgba(24,42,49,.22)}.app-shell[data-theme=light] .route-alternative-card{background:#f7f9fa}.app-shell[data-theme=light] .route-alternative-warning.clear{color:#157a43}@media (min-width:821px) and (max-width:1199px){.planning-hud .hud-context .hud-edit.route-alternatives-trigger{display:flex}}@media (max-width:820px){.planning-hud .hud-context .route-alternatives{margin-left:auto}.planning-hud .hud-context .hud-edit.route-alternatives-trigger{display:flex;margin-left:0;padding:6px 8px}.route-alternatives-trigger span{display:none}.route-alternatives-panel{position:fixed;right:8px;bottom:calc(var(--timeline-h) + 62px + env(safe-area-inset-bottom, 0px));left:8px;width:auto;max-height:calc(100dvh - var(--timeline-h) - 84px)}.route-alternatives-grid{grid-template-columns:1fr}.route-alternative-card{gap:7px}.route-alternative-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.route-alternative-metrics dd{font-size:10.5px}.planning-hud.route-dirty .hud-context{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"status route compare edit" "recalculate recalculate recalculate recalculate"}.planning-hud.route-dirty .hud-context .route-alternatives{grid-area:compare;display:block;margin-left:0}}@media (max-width:430px){.routing-objective .segmented button{flex-direction:column;gap:2px;font-size:10.5px}.route-alternative-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px) and (max-height:560px){.workspace:has(.planning-hud) .maplibregl-ctrl-bottom-left,.workspace:has(.planning-hud) .maplibregl-ctrl-bottom-right,.workspace:has(.planning-hud) .route-recenter,.workspace:has(.planning-hud) .weather-legend{display:none}.workspace:has(.planning-hud) .layer-controls{top:auto;right:calc(10px + env(safe-area-inset-right, 0px));bottom:calc(66px + env(safe-area-inset-bottom, 0px))}.planning-hud.route-dirty{bottom:calc(8px + env(safe-area-inset-bottom, 0px))}.planning-hud.route-dirty .hud-context{min-height:50px;display:flex;flex-wrap:nowrap;gap:7px;padding:7px 9px}.planning-hud.route-dirty .hud-context .route-alternatives,.planning-hud.route-dirty .hud-context>span:first-child,.planning-hud.route-dirty .hud-context>strong{display:none}.planning-hud.route-dirty .hud-context .hud-recalculate{order:0;flex:1 1 auto;width:auto;min-width:0;height:36px;margin:0;overflow:hidden;white-space:nowrap}.planning-hud.route-dirty .hud-context .hud-collapse{flex:0 0 auto;height:36px;margin:0;white-space:nowrap}}.workspace{--map-gutter-x:max(14px,env(safe-area-inset-left,0px));--map-gutter-right:max(14px,env(safe-area-inset-right,0px));--map-control-top:calc(14px + env(safe-area-inset-top, 0px));--map-control-bottom:calc(max(0px, var(--map-inset-bottom) - var(--global-attribution-h)) + 10px);--map-control-gap:10px;--map-right-control-width:40px}.workspace[data-ui-surface=layers] .route-recenter,.workspace[data-ui-surface=layers] .weather-legend,.workspace[data-ui-surface=route] .route-recenter,.workspace[data-ui-surface=route] .weather-legend{display:none}.workspace .search-cluster{top:var(--map-control-top);left:var(--map-gutter-x);width:min(400px,calc(100% - var(--map-gutter-x) - var(--map-gutter-right) - 190px))}.workspace .floating-actions{top:var(--map-control-top);right:var(--map-gutter-right)}.workspace .layer-controls{top:calc(var(--map-control-top) + 50px)}.workspace .maplibregl-ctrl-bottom-left,.workspace.has-dock .maplibregl-ctrl-bottom-left,.workspace.has-profile .maplibregl-ctrl-bottom-left,.workspace.has-summary .maplibregl-ctrl-bottom-left{left:var(--map-gutter-x);right:190px;bottom:var(--map-control-bottom);display:flex;align-items:flex-end;gap:8px}.workspace .maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:none;clear:none;margin:0}.workspace .maplibregl-ctrl-scale{flex:0 0 auto;margin:0}.workspace .maplibregl-ctrl.maplibregl-ctrl-attrib{flex:0 1 auto;max-width:min(520px,calc(100vw - 380px));min-height:18px;overflow:hidden;padding:2px 7px;color:#52636b;background:rgba(255,255,255,.94);font-size:9px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-theme=dark] .workspace .maplibregl-ctrl.maplibregl-ctrl-attrib{color:#c9aaa6;background:rgba(13,7,7,.94)}.workspace .maplibregl-ctrl.maplibregl-ctrl-attrib.maplibregl-compact{box-sizing:border-box;min-width:24px;min-height:24px;padding:2px 0 2px 24px}.workspace .maplibregl-ctrl.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 8px 2px 28px}.workspace .weather-legend,.workspace.has-dock .weather-legend,.workspace.has-summary .weather-legend{right:auto;bottom:calc(var(--map-control-bottom) + 32px);left:var(--map-gutter-x)}.workspace .maplibregl-ctrl-bottom-right,.workspace.has-dock .maplibregl-ctrl-bottom-right,.workspace.has-summary .maplibregl-ctrl-bottom-right{bottom:var(--map-control-bottom)}.workspace .route-recenter,.workspace.has-dock .route-recenter,.workspace.has-summary .route-recenter{right:calc(var(--map-gutter-right) + var(--map-right-control-width) + var(--map-control-gap));bottom:var(--map-control-bottom)}@media (min-width:1024px) and (min-height:561px){.app-shell:not(.fullscreen-map) .workspace{--map-control-top:calc(74px + env(safe-area-inset-top, 0px))}.app-shell:not(.fullscreen-map) .workspace .floating-actions{top:calc(10px + env(safe-area-inset-top, 0px))}}.app-shell.fullscreen-map .global-navigation{display:none}.app-shell.fullscreen-map .workspace{--map-control-top:calc(14px + env(safe-area-inset-top, 0px))}@media (min-width:821px) and (max-height:560px){.global-navigation{display:none}.workspace{--map-control-top:calc(14px + env(safe-area-inset-top, 0px))}.workspace .floating-actions{top:var(--map-control-top)}.workspace .layer-controls{top:calc(var(--map-control-top) + 50px)}.workspace .weather-legend{width:min(270px,calc(100% - 100px));padding:7px 9px}}@media (max-width:820px){.workspace{--map-gutter-x:max(10px,env(safe-area-inset-left,0px));--map-gutter-right:max(10px,env(safe-area-inset-right,0px));--map-control-top:calc(10px + env(safe-area-inset-top, 0px));--map-control-gap:8px;--map-right-control-width:38px}.workspace .search-cluster{right:var(--map-gutter-right);width:auto}.workspace .floating-actions{top:calc(var(--map-control-top) + 58px)}.workspace .layer-controls{top:calc(var(--map-control-top) + 106px)}.workspace .maplibregl-ctrl-bottom-left,.workspace.has-dock .maplibregl-ctrl-bottom-left,.workspace.has-profile .maplibregl-ctrl-bottom-left,.workspace.has-summary .maplibregl-ctrl-bottom-left{right:74px;bottom:var(--map-control-bottom);gap:5px}.workspace .maplibregl-ctrl-scale{max-width:76px}.workspace .maplibregl-ctrl.maplibregl-ctrl-attrib{max-width:calc(100vw - 180px)}.workspace .weather-legend,.workspace.has-dock .weather-legend,.workspace.has-summary .weather-legend{bottom:calc(var(--map-control-bottom) + 32px);width:min(260px,calc(100% - 104px));padding:8px 9px}.workspace .route-recenter,.workspace.has-dock .route-recenter,.workspace.has-summary .route-recenter{right:calc(var(--map-gutter-right) + var(--map-right-control-width) + var(--map-control-gap));bottom:var(--map-control-bottom)}}.workspace .layer-controls{top:var(--map-action-rail-top);right:var(--map-gutter-right)}.workspace .route-recenter,.workspace.has-dock .route-recenter,.workspace.has-summary .route-recenter{top:calc(var(--map-action-rail-top) + var(--map-action-step));right:var(--map-gutter-right);bottom:auto}.workspace.has-fullscreen-control .route-recenter,.workspace.has-fullscreen-control.has-dock .route-recenter,.workspace.has-fullscreen-control.has-summary .route-recenter{top:calc(var(--map-action-rail-top) + var(--map-action-step) + var(--map-action-step))}.workspace .maplibregl-ctrl-bottom-right,.workspace.has-dock .maplibregl-ctrl-bottom-right,.workspace.has-summary .maplibregl-ctrl-bottom-right{top:calc(var(--map-action-rail-top) + var(--map-action-step) + var(--map-action-step));right:var(--map-gutter-right);bottom:auto}.workspace.has-fullscreen-control .maplibregl-ctrl-bottom-right,.workspace.has-fullscreen-control.has-dock .maplibregl-ctrl-bottom-right,.workspace.has-fullscreen-control.has-summary .maplibregl-ctrl-bottom-right{top:calc(var(--map-action-rail-top) + var(--map-action-step) + var(--map-action-step) + var(--map-action-step))}@media (min-width:1024px){.global-navigation{padding-right:470px}.global-help{display:inline-flex!important}}@media (min-width:1024px) and (max-width:1350px){.global-help{width:40px;padding:0!important}.global-help>span{display:none}}@media (min-width:821px) and (max-height:560px){.workspace{--map-action-rail-top:var(--map-control-top)}}@media (max-width:820px){.workspace{--map-action-rail-top:calc(var(--map-control-top) + 106px)}}@media (min-width:821px){.workspace .route-sidebar,.workspace.sidebar-open .route-sidebar{bottom:calc(var(--timeline-h) + 14px);height:auto;max-height:none}}@media (max-width:820px){.workspace .layer-popover{position:fixed;z-index:80;inset:auto 0 var(--timeline-h) 0;width:auto;max-width:none;max-height:calc(100dvh - var(--timeline-h) - 68px);overflow-x:hidden;overflow-y:auto;padding:14px max(14px,env(safe-area-inset-right,0px)) 18px max(14px,env(safe-area-inset-left,0px));border-right:0;border-bottom:0;border-left:0;border-radius:16px 16px 0 0;overscroll-behavior:contain;touch-action:pan-y}}.ui-app-frame{position:relative;contain:layout paint}.ui-app-workspace{isolation:isolate}.ui-app-dock,.ui-app-workspace{min-width:0;min-height:0}.ui-control-rail{isolation:isolate}.ui-overlay-surface{min-width:0;min-height:0;outline:0}.ui-overlay-backdrop{margin:0}.workspace[data-ui-surface=layers] .layer-controls{pointer-events:none}.workspace[data-ui-surface=layers] .layer-popover{pointer-events:auto}.ui-scroll-surface{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--muted) 58%,transparent) transparent;scrollbar-gutter:stable}.ui-scroll-surface::-webkit-scrollbar{width:10px}.ui-scroll-surface::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:8px;background:color-mix(in srgb,var(--muted) 58%,transparent);background-clip:padding-box}.ui-scroll-surface[data-scrollable=true][data-at-end=false]{box-shadow:inset 0 -16px 14px -17px color-mix(in srgb,var(--ink) 62%,transparent)}.ui-scroll-surface[data-scrollable=true][data-at-start=false]{border-top-color:color-mix(in srgb,var(--aqua) 24%,var(--line))}.ui-sheet{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.route-sidebar.ui-sheet{grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.route-sidebar-scroll{height:100%}@media (max-width:820px){.route-sidebar-scroll,.route-sidebar.ui-sheet{padding-bottom:0}.route-sidebar.ui-sheet .mobile-route-submit{position:static;inset:auto;display:block}}.layer-popover.ui-sheet{position:relative;grid-template-rows:auto minmax(0,1fr);padding:0;overflow:hidden}.layer-popover.ui-sheet:has(.layer-popover-scroll[data-scrollable=true][data-at-end=false]):after{position:absolute;z-index:2;right:10px;bottom:8px;left:10px;height:28px;display:grid;place-items:end center;padding-bottom:2px;color:var(--muted);background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--panel) 96%,transparent) 58%);font:700 9px var(--font-mono);letter-spacing:.08em;pointer-events:none;content:"MORE BELOW  ↓"}.layer-popover.ui-sheet .layer-title{min-height:44px;padding:7px 13px;border-bottom:1px solid var(--line);background:inherit}.layer-popover-scroll{min-height:0;padding:10px 13px 15px}@media (max-width:820px){.workspace{--map-action-size:var(--ui-touch-target)}.workspace .layer-popover.ui-sheet{padding:0}.layer-popover-scroll{padding-right:max(14px,env(safe-area-inset-right,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px));padding-left:max(14px,env(safe-area-inset-left,0px))}}.ui-modal-backdrop{z-index:var(--ui-z-modal)}.ui-modal-viewport{position:fixed;z-index:calc(var(--ui-z-modal) + 1);inset:0;display:grid;place-items:center;padding:20px;pointer-events:none}.ui-modal-viewport>.ui-overlay-surface{max-width:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto}.vessel-modal>.vessel-modal-scroll{flex:1 1}.vessel-modal.ui-overlay-surface{overflow:hidden}.passage-brief-modal.ui-overlay-surface{display:grid;padding:0;overflow:hidden}.passage-brief-scroll{max-height:min(880px,calc(100dvh - 24px));padding:34px}.account-menu.ui-overlay-surface{z-index:var(--ui-z-panel)}.timeline-panel.ui-app-dock{z-index:var(--ui-z-dock)}.global-navigation{z-index:var(--ui-z-navigation)}.toast{z-index:var(--ui-z-toast)}.interactive-map{z-index:var(--ui-z-map)}.point-forecast-panel,.route-summary,.voyage-dock{z-index:var(--ui-z-dock)}.floating-actions,.layer-controls,.route-recenter,.route-recovery-chip,.routing-chip,.search-cluster{z-index:var(--ui-z-controls)}.layer-panel-backdrop,.sheet-backdrop{z-index:var(--ui-z-backdrop)}.layer-controls,.layer-popover,.route-sidebar{z-index:var(--ui-z-panel)}.location-help,.stale-banner{z-index:var(--ui-z-alert)}@media (max-width:820px){.passage-brief-scroll{padding:26px 18px 20px}}@media (min-width:1024px){.global-navigation{gap:14px;padding:0 14px}.global-navigation>.floating-actions{position:static;z-index:auto;flex:0 1 auto;margin-left:auto}.global-navigation>.account-control{flex:0 0 auto}.global-navigation .avatar,.global-navigation .float-button{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border:1px solid var(--line-bright);border-radius:10px;color:var(--muted);background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.global-navigation .avatar:hover,.global-navigation .avatar[aria-expanded=true],.global-navigation .float-button:hover{border-color:color-mix(in srgb,var(--aqua) 52%,var(--line-bright));color:var(--aqua);background:color-mix(in srgb,var(--aqua) 9%,var(--panel))}.global-navigation .account-menu{top:48px;right:0}}@media (min-width:1024px) and (max-width:1350px){.global-navigation .model-status{display:none}}@media (max-width:1023px){.global-navigation{display:contents}.global-navigation>.floating-actions,.global-navigation>.global-brand,.global-navigation>nav{display:none}.global-navigation>.account-control{position:absolute;z-index:var(--ui-z-controls);top:var(--map-control-top);right:var(--map-gutter-right)}.global-navigation .avatar{position:relative;width:var(--map-action-size);min-width:var(--map-action-size);height:var(--map-action-size);min-height:var(--map-action-size);padding:0;border:1px solid var(--map-action-border);border-radius:12px;color:var(--map-action-color);background:var(--map-action-bg);box-shadow:var(--map-action-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.global-navigation .avatar:focus-visible,.global-navigation .avatar:hover,.global-navigation .avatar[aria-expanded=true]{border-color:color-mix(in srgb,var(--aqua) 58%,var(--map-action-border));color:var(--aqua);background:color-mix(in srgb,var(--aqua) 8%,var(--map-action-bg))}.global-navigation .account-menu{top:calc(100% + 8px);right:0;width:min(302px,calc(100vw - 20px))}.workspace{--map-action-rail-top:calc(var(--map-control-top) + var(--map-action-step))}}.workspace{--app-control-rail-height:0px}.workspace .layer-controls{align-items:center;width:var(--map-action-size);overflow:visible}.workspace .layer-controls .global-navigation,.workspace .layer-controls .global-navigation nav,.workspace .layer-controls .global-navigation>.floating-actions{display:contents}.workspace .layer-controls .global-navigation{position:static;inset:auto;width:auto;height:auto;max-height:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.workspace .layer-controls .global-navigation>.account-control{position:relative;inset:auto;flex:0 0 var(--map-action-size);width:var(--map-action-size);height:var(--map-action-size)}.workspace .layer-controls .global-navigation .avatar,.workspace .layer-controls .global-navigation .float-button,.workspace .layer-controls .global-navigation .model-status,.workspace .layer-controls .global-navigation .upgrade-button,.workspace .layer-controls .global-navigation nav button{position:relative;flex:0 0 var(--map-action-size);width:var(--map-action-size);min-width:var(--map-action-size);height:var(--map-action-size);min-height:var(--map-action-size);display:grid;place-items:center;grid-gap:0;gap:0;margin:0;padding:0;border:1px solid var(--map-action-border);border-radius:12px;color:var(--map-action-color);background:var(--map-action-bg);box-shadow:var(--map-action-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.workspace .layer-controls .global-navigation .avatar:focus-visible,.workspace .layer-controls .global-navigation .avatar:hover,.workspace .layer-controls .global-navigation .avatar[aria-expanded=true],.workspace .layer-controls .global-navigation .float-button:focus-visible,.workspace .layer-controls .global-navigation .float-button:hover,.workspace .layer-controls .global-navigation .upgrade-button:focus-visible,.workspace .layer-controls .global-navigation .upgrade-button:hover,.workspace .layer-controls .global-navigation nav button.active,.workspace .layer-controls .global-navigation nav button:focus-visible,.workspace .layer-controls .global-navigation nav button:hover{border-color:color-mix(in srgb,var(--aqua) 58%,var(--map-action-border));color:var(--aqua);background:color-mix(in srgb,var(--aqua) 8%,var(--map-action-bg))}.workspace .layer-controls .global-navigation .model-status{flex-direction:column;font:700 7px/1 var(--font-mono)}.workspace .layer-controls .global-navigation .model-status>span:not(.live-dot){display:none}.workspace .layer-controls .global-navigation .model-status .live-dot{margin:0}.workspace .layer-controls .global-navigation .upgrade-button>span,.workspace .layer-controls .global-navigation nav button>span{top:50%;right:calc(100% + 8px);left:auto;transform:translate(5px,-50%);color:var(--map-action-color);background:var(--map-action-bg);border-color:var(--map-action-border)}.workspace .layer-controls .global-navigation .upgrade-button:focus-visible>span,.workspace .layer-controls .global-navigation .upgrade-button:hover>span,.workspace .layer-controls .global-navigation nav button:focus-visible>span,.workspace .layer-controls .global-navigation nav button:hover>span{transform:translateY(-50%)}.workspace .layer-controls .global-navigation .account-menu{top:0;right:calc(100% + 10px);left:auto}.workspace .layer-controls>.map-rail-route-fit,.workspace .layer-controls>.route-recenter{position:relative;inset:auto;z-index:auto}.workspace .maplibregl-ctrl-bottom-right,.workspace.has-dock .maplibregl-ctrl-bottom-right,.workspace.has-fullscreen-control .maplibregl-ctrl-bottom-right,.workspace.has-fullscreen-control.has-dock .maplibregl-ctrl-bottom-right,.workspace.has-fullscreen-control.has-summary .maplibregl-ctrl-bottom-right,.workspace.has-summary .maplibregl-ctrl-bottom-right{top:calc(var(--map-action-rail-top) + var(--app-control-rail-height) + var(--map-action-gap));right:var(--map-gutter-right);bottom:auto}@media (min-width:1024px){.workspace{--map-action-size:40px;--map-action-gap:4px;--map-action-rail-top:calc(8px + env(safe-area-inset-top, 0px))}.workspace .layer-controls .global-navigation nav,.workspace .layer-controls .global-navigation>.floating-actions{position:static;width:auto;margin:0;padding:0;border:0}.workspace .layer-controls .global-navigation .model-status{display:grid}.route-sidebar,.search-cluster,.workspace.sidebar-open .route-sidebar{left:var(--map-gutter-x)}.workspace .layer-controls>.layer-popover.ui-sheet{position:absolute;top:0;right:calc(100% + 10px);left:auto;width:304px;max-height:calc(100dvh - var(--timeline-h) - var(--map-action-rail-top) - 12px)}}@media (max-width:1023px){.workspace .layer-controls .global-navigation>.floating-actions,.workspace .layer-controls .global-navigation>nav{display:none}.workspace .layer-controls .global-navigation>.account-control{display:block;position:relative;top:auto;right:auto}}@media (max-width:820px){.workspace .layer-controls>.layer-popover.ui-sheet{position:fixed;inset:auto 0 var(--timeline-h) 0;width:auto;max-width:none;max-height:calc(100dvh - var(--timeline-h) - 68px);border-radius:16px 16px 0 0}}@media (min-width:821px) and (max-height:560px){.workspace .layer-controls .global-navigation>.account-control{display:block}}@media (min-width:1024px){.global-navigation{position:absolute;z-index:var(--ui-z-navigation);inset:calc(74px + env(safe-area-inset-top, 0px)) auto auto 14px;width:56px;height:auto;max-height:calc(100dvh - var(--timeline-h) - 88px - env(safe-area-inset-top, 0px));display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;overflow:visible;border:1px solid var(--line-bright);border-radius:14px;color:var(--ink);background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.global-navigation nav,.global-navigation>.floating-actions{position:static;z-index:auto;width:44px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;margin:0}.global-navigation nav{padding-bottom:6px;border-bottom:1px solid var(--line)}.global-navigation .avatar,.global-navigation .float-button,.global-navigation .model-status,.global-navigation .upgrade-button,.global-navigation nav button{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding:0;border:1px solid transparent;border-radius:11px;color:var(--muted);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.global-navigation .avatar:hover,.global-navigation .avatar[aria-expanded=true],.global-navigation .float-button:hover,.global-navigation .upgrade-button:hover,.global-navigation nav button.active,.global-navigation nav button:hover{border-color:color-mix(in srgb,var(--aqua) 48%,var(--line-bright));color:var(--aqua);background:color-mix(in srgb,var(--aqua) 9%,var(--panel))}.global-navigation .upgrade-button>span,.global-navigation nav button>span{position:absolute;top:50%;left:calc(100% + 10px);width:max-content;padding:6px 9px;transform:translateY(-50%) translateX(-3px);border:1px solid var(--line-bright);border-radius:7px;color:var(--ink);background:var(--panel-strong);box-shadow:0 8px 22px rgba(0,0,0,.22);font-size:11px;line-height:1;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.global-navigation .upgrade-button:focus-visible>span,.global-navigation .upgrade-button:hover>span,.global-navigation nav button:focus-visible>span,.global-navigation nav button:hover>span{transform:translateY(-50%) translateX(0);opacity:1}.global-navigation .model-status{flex-direction:column;padding:4px;border-color:var(--line);font:700 7px/1.05 var(--font-mono);text-align:center}.global-navigation .model-status>span:not(.live-dot){display:none}.global-navigation .model-status .live-dot{flex:0 0 auto;margin:0 0 3px}.global-navigation .upgrade-button svg{margin:0}.global-navigation>.account-control{position:relative;flex:0 0 auto;width:44px}.global-navigation .account-menu{top:0;right:auto;left:calc(100% + 10px)}.brand-pill{display:flex;top:calc(16px + env(safe-area-inset-top, 0px));height:36px;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none}.brand-pill .brand-mark{width:30px;height:30px}.search-cluster{top:calc(14px + env(safe-area-inset-top, 0px));left:84px}.route-sidebar,.workspace.sidebar-open .route-sidebar{top:calc(74px + env(safe-area-inset-top, 0px));left:84px}.overlay-empty-note,.stale-banner{top:calc(66px + env(safe-area-inset-top, 0px))}}.weather-legend{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;cursor:pointer;pointer-events:auto}.weather-legend:hover{border-color:color-mix(in srgb,var(--aqua) 48%,var(--line-bright))}.weather-legend-ticks{position:absolute;inset:0 7px;display:grid;grid-template-columns:repeat(7,1fr);align-items:center;color:white;font:700 10px var(--font-mono);text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.8);pointer-events:none}.weather-legend-ticks i{font-style:normal;text-align:center}.weather-legend-ticks i:first-child{text-align:left}.weather-legend-ticks i:last-child{text-align:right}.weather-legend:has(.weather-legend-ticks) .legend-bar{position:relative;grid-column:2/-1;width:100%;height:22px;overflow:hidden;border-radius:11px}.app-shell[data-theme=dark] .weather-legend .legend-bar.wind,.weather-legend .legend-bar.wind{background:linear-gradient(90deg,#484fa4,#3f6fba 8.6%,#248fb5 14.3%,#20aa4b 28.6%,#c2a23a 50%,#bd4d5e 64.3%,#6844b5 83%,#3f67d8 93%,#f4f8ff)}.legend-unit-button{width:100%;color:inherit;cursor:pointer}.model-quick-switch{position:relative;width:var(--map-action-size);height:var(--map-action-size)}.model-quick-switch .model-status{cursor:pointer}.model-quick-menu{position:absolute;z-index:calc(var(--ui-z-panel) + 2);top:0;right:calc(100% + 10px);width:190px;display:grid;grid-gap:3px;gap:3px;padding:7px;border:1px solid var(--map-action-border);border-radius:11px;color:var(--ink);background:var(--map-action-bg);box-shadow:var(--map-action-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.model-quick-menu>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 7px;border-bottom:1px solid var(--line);font:700 8px var(--font-mono);letter-spacing:.08em}.model-quick-menu>div small{color:var(--faint);font-weight:500;letter-spacing:0}.model-quick-menu>button{min-height:39px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;grid-gap:1px 8px;gap:1px 8px;padding:6px 8px;border:1px solid transparent;border-radius:7px;color:var(--muted);background:transparent;text-align:left;cursor:pointer}.model-quick-menu>button span{color:var(--ink);font:700 11px var(--font-mono)}.model-quick-menu>button small{grid-column:1;color:var(--faint);font-size:9px}.model-quick-menu>button svg{grid-column:2;grid-row:1/3;color:var(--aqua)}.model-quick-menu>button.active,.model-quick-menu>button:hover{border-color:color-mix(in srgb,var(--aqua) 36%,var(--line));background:color-mix(in srgb,var(--aqua) 8%,transparent)}@media (min-width:1024px){.workspace .search-cluster{top:calc(6px + env(safe-area-inset-top, 0px));left:var(--map-gutter-x)}.workspace .route-sidebar,.workspace.sidebar-open .route-sidebar{left:var(--map-gutter-x)}.workspace .route-sidebar-scroll{margin-left:0;transform:none}}@media (max-width:820px){.global-navigation>.account-control{top:calc(var(--map-control-top) + 60px)}.workspace{--map-action-size:var(--ui-touch-target);--map-action-gap:8px;--map-action-rail-top:calc(var(--map-control-top) + 60px + var(--map-action-step))}}@media (min-width:821px) and (max-height:560px){.global-navigation{display:contents}.global-navigation>.floating-actions,.global-navigation>.global-brand,.global-navigation>nav{display:none}.global-navigation>.account-control{position:absolute;z-index:var(--ui-z-controls);top:var(--map-control-top);right:var(--map-gutter-right)}.global-navigation .avatar{width:var(--map-action-size);min-width:var(--map-action-size);height:var(--map-action-size);min-height:var(--map-action-size);border-radius:12px}.workspace{--map-action-rail-top:calc(var(--map-control-top) + var(--map-action-step))}}