:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef3f0;color:#10242b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:where(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid #d89c28;outline-offset:2px}.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;min-height:100dvh;overflow:hidden;background:#d9e6e3}.map-shell,.map-shell>.map-container{position:absolute;top:0;right:0;bottom:0;left:0}.map-shell>.map-container{background:#bfd0d2}.map-load-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.48),transparent 34%),linear-gradient(145deg,#cbdad9,#a9c2c5);color:#17343c;text-align:center}.map-load-state strong{border-radius:9px;padding:10px 13px;background:#f6f9f7e0;box-shadow:0 8px 24px #07191d1f;font-size:13px}.map-load-state button,.mode-panel-load-state button{min-height:44px;border-radius:8px;padding:0 14px;background:#0f4c5c;color:#fff;font-weight:850}.mode-panel-load-state{position:absolute;z-index:9;left:10px;right:10px;bottom:calc(86px + env(safe-area-inset-bottom));width:min(430px,calc(100vw - 20px));margin:0 auto;border:2px solid rgba(15,76,92,.32);border-radius:14px;padding:14px;display:grid;justify-items:start;gap:7px;background:#f6f9f7fa;color:#10242b;box-shadow:0 14px 38px #07191d3d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mode-panel-load-state span,.lazy-inline-state{color:#4c6269;font-size:12px;font-weight:750}.lazy-inline-state{margin:0;border-radius:8px;padding:10px;background:#eef3f0}.marine-feature-accessibility-list{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.marine-feature-info-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:12px 10px calc(12px + env(safe-area-inset-bottom))}.marine-feature-info-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border-radius:0;background:#07191d61}.marine-feature-info{position:relative;width:min(100%,560px);max-height:min(72vh,620px);overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(18,46,55,.2);border-radius:16px;padding:16px;background:#fafcfbfa;color:#10242b;box-shadow:0 18px 50px #07191d57}.marine-feature-info-header{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:start;margin-bottom:14px}.marine-feature-type{display:inline-flex;min-height:24px;align-items:center;border-radius:999px;padding:0 9px;background:#dceee6;color:#196f5c;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.marine-feature-info h2{margin:7px 0 0;font-size:20px;line-height:1.2}.marine-feature-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin-bottom:12px}.marine-feature-action{min-width:0;min-height:58px;border:1px solid rgba(15,76,92,.16);border-radius:10px;padding:8px 10px;display:flex;align-items:center;gap:9px;background:#e6f1ed;color:#0f4c5c;text-decoration:none}.marine-feature-action[data-action=phone]{background:#0f4c5c;color:#fff}.marine-feature-action>span{min-width:0;display:grid;gap:2px}.marine-feature-action strong,.marine-feature-action small{min-width:0;overflow-wrap:anywhere}.marine-feature-action strong{font-size:14px}.marine-feature-action small{color:currentColor;font-size:11px;font-weight:700;opacity:.82}.marine-feature-contact-empty{margin:0 0 12px;border-radius:9px;padding:11px;background:#eef3f0;color:#4c6269;font-size:13px;font-weight:750}.marine-feature-info-close{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#e6f1ed;color:#0f4c5c}.marine-feature-info-close:focus-visible,.marine-feature-info a:focus-visible{outline:3px solid #d89c28;outline-offset:2px}.marine-feature-details{margin:0;display:grid}.marine-feature-operating-details{margin-bottom:6px}.marine-feature-details>div{min-height:42px;display:grid;grid-template-columns:minmax(108px,.85fr) minmax(0,1.6fr);gap:12px;align-items:start;padding:10px 0;border-top:1px solid rgba(18,46,55,.1)}.marine-feature-details dt,.marine-feature-details dd{margin:0;min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.35}.marine-feature-details dt{color:#4c6269;font-weight:800}.marine-feature-details dd{color:#10242b;font-weight:700}.marine-feature-details a{color:#075f78;text-decoration-thickness:2px;text-underline-offset:2px}.marine-feature-missing{color:#6e7d82;font-style:italic;font-weight:600}.marine-feature-metadata{border-top:1px solid rgba(18,46,55,.1)}.marine-feature-metadata>summary{min-height:46px;padding:0 2px;display:flex;align-items:center;color:#0f4c5c;cursor:pointer;font-size:13px;font-weight:850}.marine-feature-contact-note{margin:12px 0 0;border-radius:9px;padding:9px 10px;background:#fff1cc;color:#805900;font-size:11px;font-weight:750;line-height:1.4}.map-shell[data-pick-mode=start] .map-container,.map-shell[data-pick-mode=destination] .map-container,.map-shell[data-pick-mode=waypoint] .map-container{cursor:crosshair}.pick-target-hint{position:absolute;top:calc(env(safe-area-inset-top) + 64px);left:50%;transform:translate(-50%);min-height:36px;max-width:calc(100vw - 24px);border-radius:8px;padding:8px 12px;display:flex;align-items:center;justify-content:center;background:#10242be0;color:#fff;box-shadow:0 10px 28px #07191d2e;font-size:13px;font-weight:800;pointer-events:none;z-index:2;white-space:nowrap}.top-bar{position:absolute;top:calc(env(safe-area-inset-top) + 10px);left:10px;right:76px;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}.brand-mark,.navigation-button,.map-tool,.compass-dial,.route-panel,.route-panel-toggle,.status-bar,.toast,.data-badge,.layer-panel{border:1px solid rgba(18,46,55,.16);background:#f6f9f7f0;box-shadow:0 10px 28px #07191d29;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-mark,.navigation-button{pointer-events:auto;height:42px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;color:#10242b}.brand-mark{padding:0 12px}.navigation-button{padding:0 11px;background:#0f4c5c;color:#fff}.navigation-button[data-active=true]{background:#196f5c}.map-tool{position:absolute;right:12px;width:42px;height:42px;border-radius:8px;display:grid;place-items:center;color:#10242b}.layer-toggle{top:calc(env(safe-area-inset-top) + 116px)}.locate-toggle{top:calc(env(safe-area-inset-top) + 116px);right:62px}.anchor-toggle{z-index:10;top:calc(env(safe-area-inset-top) + 116px);right:112px}.anchor-toggle[data-active=true]{background:#d89c28;color:#10242b}.anchor-toggle[data-alert=true]{background:#c44a30;color:#fff}.map-shell:not([data-pick-mode=none]) .map-tool,.app-shell:not([data-pick-mode=none]) .anchor-toggle,.app-shell[data-map-tools-suppressed=true] .map-tool,.app-shell[data-map-tools-suppressed=true] .anchor-toggle{display:none}.app-shell[data-anchor-panel-open=true] .anchor-toggle{display:none}.layer-panel{position:absolute;top:calc(env(safe-area-inset-top) + 164px);right:60px;width:178px;border-radius:8px;padding:10px;display:grid;gap:8px;font-size:13px}.layer-panel label{display:flex;align-items:center;gap:7px}.layer-zoom-hint{margin-left:auto;color:#587078;font-size:10px;white-space:nowrap}.compass-dial{position:absolute;top:calc(env(safe-area-inset-top) + 10px);right:12px;width:58px;height:82px;border-radius:8px;display:grid;justify-items:center;align-content:center;gap:2px;color:#10242b}.compass-ring{position:relative;width:34px;height:34px;border:1px solid #0f4c5c;border-radius:50%;display:grid;place-items:center}.compass-needle{position:absolute;width:2px;height:15px;top:3px;left:calc(50% - 1px);transform-origin:50% 14px;background:#c33;border-radius:999px}.compass-course-marker{position:absolute;z-index:2;width:6px;height:6px;top:-3px;left:calc(50% - 3px);transform-origin:50% 20px;border-radius:50%;background:#0f86a6;box-shadow:0 0 0 2px #fff}.compass-value{font-size:14px;font-weight:800;line-height:1}.compass-source{font-size:10px;color:#4c6269}.route-panel{position:absolute;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom) + 86px);max-height:min(62vh,calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px));max-height:min(62dvh,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px));border-radius:8px;padding:10px;display:grid;gap:9px;overflow-y:auto;overscroll-behavior:contain}.route-panel[data-sheet-state=compact]{max-height:112px;overflow-y:hidden}.route-panel[data-sheet-state=full]{top:calc(env(safe-area-inset-top) + 62px);max-height:none}.route-panel-grip{position:absolute;z-index:4;top:3px;left:50%;width:34px;height:4px;overflow:hidden;border-radius:999px;background:#0f4c5c52;color:transparent;transform:translate(-50%);pointer-events:none}.route-panel-header{position:sticky;z-index:3;top:-10px;margin:-10px -10px 0;border-bottom:1px solid rgba(18,46,55,.1);padding:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f6f9f7fa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.route-panel-title{min-width:0;display:flex;align-items:center;gap:8px}.route-panel-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-data-disclaimer{min-height:28px;border-radius:8px;padding:0 9px;display:inline-flex;align-items:center;justify-self:start;gap:5px;background:#fff1cc;color:#805900;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.02em}.route-point-actions,.route-target-actions{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,minmax(52px,auto));gap:8px}.secondary-action,.icon-action{min-height:44px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#e6f1ed;color:#0f4c5c;font-size:12px;font-weight:850}.secondary-action{min-width:0;padding:0 10px}.compact-action{padding:0 9px}.icon-action{width:44px;padding:0}.secondary-action[data-active=true]{background:#0f4c5c;color:#fff}.route-point-status{min-height:34px;border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 10px;background:#eef3f0;color:#4c6269;font-size:12px;font-weight:800}.route-point-status[data-ready=true]{background:#dceee6}.route-point-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-point-status strong{margin-right:5px;color:#10242b}.waypoint-editor{display:grid;gap:7px;border-radius:8px;padding:8px;background:#eef3f0}.waypoint-editor-heading{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#314b54;font-size:12px}.waypoint-empty{margin:0;color:#60737a;font-size:11px;line-height:1.35}.waypoint-list{margin:0;padding:0;display:grid;gap:6px;list-style:none}.waypoint-list li{min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;border-top:1px solid rgba(18,46,55,.1);padding-top:6px;color:#314b54;font-size:11px}.waypoint-list li>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waypoint-list li>div{display:flex;gap:4px}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-grid label{display:grid;gap:4px;min-width:0;color:#4c6269;font-size:12px;font-weight:700}.route-grid input{width:100%;height:44px;border:1px solid rgba(18,46,55,.18);border-radius:8px;padding:0 8px;background:#fff;color:#10242b}.departure-planning{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;color:#4c6269;font-size:12px;font-weight:750}.departure-planning>span{display:inline-flex;align-items:center;gap:5px}.departure-planning input{min-width:0;height:44px;border:1px solid rgba(18,46,55,.18);border-radius:8px;padding:0 8px;background:#fff;color:#10242b}.primary-action{min-height:46px;border-radius:8px;background:#0f4c5c;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.route-panel-toggle{position:absolute;left:10px;bottom:calc(env(safe-area-inset-bottom) + 86px);height:42px;min-width:98px;border-radius:8px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#0f4c5c;color:#fff;font-weight:850}.route-result{min-height:42px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;flex-wrap:wrap;background:#eef3f0;color:#4c6269;font-size:13px;font-weight:800}.course-assistant-launch{min-height:54px;border:1px solid rgba(15,76,92,.24);border-radius:9px;padding:6px 7px 6px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;background:#e7f1ee}.course-assistant-launch>span,.course-assistant-launch>span>span{min-width:0;display:flex}.course-assistant-launch>span{align-items:center;gap:8px;color:#0f4c5c}.course-assistant-launch>span>span{flex-direction:column;gap:2px}.course-assistant-launch strong,.course-assistant-launch small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-assistant-launch strong{font-size:14px}.course-assistant-launch small{color:#587078;font-size:12px;font-weight:750}.course-assistant-launch button{min-width:122px;min-height:40px;border-radius:8px;padding:0 10px;background:#0f4c5c;color:#fff;font-size:11px;font-weight:900}.course-assistant-launch button[data-active=true]{background:#196f5c}.route-options{display:grid;gap:6px}.route-options button{min-height:44px;border:1px solid rgba(18,46,55,.14);border-radius:8px;padding:7px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;background:#eef3f0;color:#4c6269;text-align:left;font-size:11px}.route-options button[data-active=true]{border-color:#196f5c;background:#dceee6;color:#196f5c}.route-options strong{min-width:0;color:#10242b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-options span{white-space:nowrap;font-weight:800}.route-result[data-severity=ok]{background:#dceee6;color:#196f5c}.route-result[data-severity=caution]{background:#fff1cc;color:#805900}.route-result[data-severity=critical]{background:#ffe1dc;color:#9d2c22}.warning-list{display:grid;gap:5px}.warning-list>strong{font-size:13px}.warning-list[role=alert]{border:1px solid rgba(157,44,34,.22);border-radius:8px;padding:9px;background:#ffe1dc;color:#9d2c22}.route-priority-warnings{position:sticky;z-index:2;top:54px}.warning-list[role=alert] p{color:inherit}.warning-list p{margin:0;display:grid;grid-template-columns:16px 1fr;gap:5px;align-items:start;font-size:12px;color:#4c6269}.route-weather-report{border-top:1px solid rgba(18,46,55,.12);padding-top:9px;display:grid;gap:7px}.route-weather-heading{min-height:22px;display:flex;align-items:center;gap:6px;color:#10242b;font-size:13px}.route-weather-heading span{margin-left:auto;color:#4c6269;font-size:11px;font-weight:800}.route-weather-summary{min-height:32px;border-radius:8px;padding:8px 10px;display:flex;align-items:center;background:#dceee6;color:#196f5c;font-size:12px;font-weight:850}.route-weather-summary[data-severity=caution]{background:#fff1cc;color:#805900}.route-weather-summary[data-severity=critical]{background:#ffe1dc;color:#9d2c22}.route-weather-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.route-weather-metrics span{min-height:30px;border-radius:8px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#eef3f0;color:#10242b;font-size:11px;font-weight:850;white-space:nowrap}.route-weather-samples{display:grid;gap:5px}.route-weather-samples div{min-height:26px;display:grid;grid-template-columns:48px repeat(3,minmax(0,1fr));gap:6px;align-items:center;color:#4c6269;font-size:11px}.route-weather-samples strong,.route-weather-samples span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-weather-samples strong{color:#10242b}.route-weather-message{margin:0;min-height:24px;display:inline-flex;align-items:center;gap:5px;color:#4c6269;font-size:12px;font-weight:750}.navigation-data-panel{display:grid;gap:8px;border-radius:8px;padding:9px;background:#e8f1f3;color:#29434c;font-size:11px}.navigation-data-panel>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px}.navigation-data-panel>header>span{color:#60737a}.navigation-data-panel p{margin:0;line-height:1.4}.navigation-data-warning{display:flex;align-items:flex-start;gap:5px;color:#8b3d00}.water-level-list,.navigation-source-list{display:grid;gap:5px}.water-level-list>a{min-height:42px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;border-radius:7px;padding:6px 7px;background:#ffffffb8;color:inherit;text-decoration:none}.water-level-list>a>span{display:grid;gap:2px}.water-level-list>a>span:last-child{text-align:right}.water-level-list>a[data-state=high]{color:#9d2c22}.water-level-list>a[data-state=low],.water-level-list>a[data-state=out-dated]{color:#8b5a00}.navigation-operation,.navigation-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;border-radius:7px;padding:7px;background:#fff;color:inherit;text-decoration:none}.navigation-operation>span,.navigation-notice>span{display:grid;gap:2px}.navigation-source-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;color:#075f78;text-decoration:none}.navigation-source-list>a[data-state=live]>span:nth-child(2){color:#196f5c;font-weight:850}.navigation-source-list small{grid-column:1 / -1;color:#6c5a33;line-height:1.35}.navigation-data-disclaimer{border-top:1px solid rgba(18,46,55,.12);padding-top:7px;color:#6c5a33}.voyage-planning-controls{display:grid;gap:8px;border-radius:8px;padding:9px;background:#eef3f0}.voyage-planning-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px}.voyage-planning-heading label{display:flex;align-items:center;gap:6px;color:#4c6269;font-size:10px;font-weight:800}.voyage-planning-heading label>span{display:inline-flex;align-items:center;gap:3px}.voyage-planning-heading input[type=number]{width:58px;height:30px;border:1px solid rgba(18,46,55,.18);border-radius:7px;padding:0 6px;background:#fff;color:#10242b;text-align:right}.voyage-planning-controls fieldset{margin:0;border:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}.voyage-planning-controls legend{width:100%;margin-bottom:5px;color:#60737a;font-size:10px;font-weight:800}.voyage-planning-controls fieldset label{min-height:28px;border-radius:999px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;background:#fff;color:#314b54;font-size:10px;font-weight:750}.voyage-planning-status{margin:0;color:#60737a;font-size:10px;line-height:1.35}.route-lock-plan{display:grid;gap:7px;border-radius:8px;padding:9px;background:#fff4d6;color:#634a12;font-size:10px}.route-lock-plan>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.route-lock-plan header label,.route-lock-plan header label>span{display:inline-flex;align-items:center;gap:4px;font-weight:750}.route-lock-plan input{width:54px;height:28px;border:1px solid rgba(99,74,18,.25);border-radius:7px;padding:0 5px;background:#fff;text-align:right}.route-lock-plan p,.route-lock-plan small{margin:0;line-height:1.4}.route-lock-plan ol{margin:0;padding:0;display:grid;gap:5px;list-style:none}.route-lock-plan li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;border-top:1px solid rgba(99,74,18,.14);padding-top:5px}.route-lock-plan li>span:first-child{display:grid;gap:2px}.route-lock-plan a{color:#075f78;font-weight:850}.route-tide-panel{display:grid;gap:7px;border-radius:8px;padding:9px;background:#e4f2f6;color:#174b5c;font-size:10px}.route-tide-panel>header{display:flex;align-items:center;gap:6px;font-size:12px}.route-tide-panel p,.route-tide-panel small{margin:0;line-height:1.4}.route-tide-warning{display:flex;align-items:flex-start;gap:5px;color:#8b3d00}.route-tide-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.route-tide-locations article{min-width:0;display:grid;gap:3px;border-radius:7px;padding:7px;background:#ffffffc7}.route-tide-locations article span{overflow-wrap:anywhere}.voyage-tools-disclosure{border-top:1px solid rgba(18,46,55,.12);padding-top:7px}.voyage-tools-disclosure>summary{min-height:44px;border-radius:8px;padding:0 10px;display:flex;align-items:center;background:#e6f1ed;color:#0f4c5c;cursor:pointer;font-size:12px;font-weight:850;list-style-position:inside}.voyage-tools-disclosure>summary:before{content:"›";margin-right:7px;font-size:18px;line-height:1;transform:rotate(0);transition:transform .12s ease}.voyage-tools-disclosure[open]>summary:before{transform:rotate(90deg)}.voyage-tools-disclosure[open]>summary{margin-bottom:8px}.route-bridge-report{display:grid;gap:6px}.route-bridge-summary{min-height:32px;border-radius:8px;padding:8px 10px;display:grid;grid-template-columns:16px 1fr;gap:6px;align-items:start;background:#dceee6;color:#196f5c;font-size:12px;font-weight:850}.route-bridge-report[data-severity=caution] .route-bridge-summary{background:#fff1cc;color:#805900}.route-bridge-report[data-severity=critical] .route-bridge-summary{background:#ffe1dc;color:#9d2c22}.route-bridge-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.route-bridge-metrics span{min-height:28px;border-radius:8px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:#eef3f0;color:#10242b;font-size:11px;font-weight:850;white-space:nowrap}.route-bridge-list{display:grid;gap:5px}.route-bridge-list div{min-height:26px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(70px,.7fr) minmax(76px,.8fr);gap:6px;align-items:center;color:#4c6269;font-size:11px}.route-bridge-list div[data-status=too_low]{color:#9d2c22}.route-bridge-list div[data-status=tight],.route-bridge-list div[data-status=unknown]{color:#805900}.route-bridge-list strong,.route-bridge-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-bridge-list strong{color:#10242b}.route-bridge-list p{margin:0;color:#4c6269;font-size:11px;font-weight:800}.status-bar{position:absolute;z-index:7;left:0;right:0;bottom:0;min-height:calc(70px + env(safe-area-inset-bottom));padding:9px 10px calc(9px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-radius:0}.map-shell .maplibregl-ctrl-bottom-left,.map-shell .maplibregl-ctrl-bottom-right{bottom:calc(72px + env(safe-area-inset-bottom))}@media(max-width:719px){.map-shell .maplibregl-ctrl-bottom-right{top:calc(env(safe-area-inset-top) + 54px);right:auto;bottom:auto;left:0}.map-shell .maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:left;margin:10px 0 0 10px}}.status-item{min-width:0;min-height:24px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:6px;color:#4c6269;font-size:11px}.status-item>svg{grid-row:1 / span 2}.status-item strong{grid-column:2;min-width:0;color:#10242b;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-label{grid-column:2;font-size:10px;font-weight:800}.toast{position:absolute;left:10px;right:10px;top:calc(env(safe-area-inset-top) + 62px);min-height:42px;border-radius:8px;padding:8px 10px;display:grid;grid-template-columns:18px 1fr;align-items:center;gap:8px;color:#8b3d00;font-size:13px;font-weight:700}.toast>div{min-width:0;display:grid;gap:2px}.toast>div>span{overflow-wrap:anywhere}.toast small{color:#6c5a33;font-size:11px}.app-shell[data-has-notification=true] .pick-target-hint{top:calc(env(safe-area-inset-top) + 116px)}.data-badge{position:absolute;right:12px;bottom:calc(env(safe-area-inset-bottom) + 160px);min-height:30px;border-radius:8px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;color:#9d2c22;font-size:11px;font-weight:900;text-transform:uppercase}.app-shell[data-route-panel-open=true] .data-badge{display:none}@media(min-width:720px){.marine-feature-info-layer{align-items:center}.route-panel[data-sheet-state]{top:auto;width:360px;right:auto;bottom:calc(env(safe-area-inset-bottom) + 88px);max-height:min(74vh,calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px));max-height:min(74dvh,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px));overflow-y:auto}.route-panel-grip,.route-panel-size-action{display:none}.locate-toggle{top:calc(env(safe-area-inset-top) + 166px);right:12px}.anchor-toggle{top:calc(env(safe-area-inset-top) + 216px);right:12px}.route-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.status-bar{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1100px){.app-shell[data-route-panel-open=true] .map-shell{left:400px}.app-shell[data-route-panel-open=true] .toast{left:410px}.route-panel[data-sheet-state]{top:calc(env(safe-area-inset-top) + 62px);bottom:calc(env(safe-area-inset-bottom) + 70px);left:0;width:400px;max-height:none;border-radius:0 12px 0 0;padding:12px 14px}.route-panel-header{top:-12px;margin:-12px -14px 0;padding:12px 14px}.route-priority-warnings{top:58px}.marine-feature-info-layer{align-items:stretch;justify-content:flex-end;padding:calc(env(safe-area-inset-top) + 62px) 12px calc(env(safe-area-inset-bottom) + 82px) 0}.marine-feature-info-backdrop{background:#07191d29}.marine-feature-info{width:390px;max-height:none;border-radius:14px;padding:18px;box-shadow:-12px 16px 46px #07191d4d}}@media(max-width:380px){.top-bar{right:72px}.brand-mark strong{display:none}.marine-feature-details>div{grid-template-columns:96px minmax(0,1fr);gap:8px}}@media(max-height:620px)and (orientation:landscape){.route-panel{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 96px)}.compass-dial{height:58px}}.navigation-tool-rail{position:absolute;z-index:12;top:calc(env(safe-area-inset-top) + 108px);right:12px;display:grid;gap:8px;pointer-events:auto}.navigation-tool-rail-button{position:relative;width:50px;height:50px;border:1px solid rgba(18,46,55,.18);border-radius:11px;display:grid;place-items:center;background:#f6f9f7f5;color:#17343c;box-shadow:0 8px 22px #07191d2e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.navigation-tool-rail-button[data-active=true]{border-color:#0f4c5c;box-shadow:0 0 0 3px #0f4c5c38,0 8px 22px #07191d33}.navigation-tool-rail-button[data-status=active]:after,.navigation-tool-rail-button[data-status=caution]:after,.navigation-tool-rail-button[data-status=alarm]:after,.navigation-tool-rail-button[data-status=stale]:after{position:absolute;right:5px;bottom:5px;width:8px;height:8px;border:2px solid #ffffff;border-radius:50%;background:#196f5c;content:""}.navigation-tool-rail-button[data-status=caution]:after{background:#d89c28}.navigation-tool-rail-button[data-status=alarm]{border-color:#b83e2c;background:#fff0ed;color:#9d2c22}.navigation-tool-rail-button[data-status=alarm]:after{background:#c44a30}.navigation-tool-rail-button[data-status=stale]:after{background:#71858b}.navigation-tool-rail-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.navigation-tool-rail-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border:2px solid #f6f9f7;border-radius:999px;padding:0 5px;display:grid;place-items:center;background:#c44a30;color:#fff;font-size:10px;font-weight:900;line-height:1}.navigation-workspace{position:absolute;z-index:10;left:10px;right:10px;bottom:calc(80px + env(safe-area-inset-bottom));max-height:min(62dvh,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 116px));border:1px solid rgba(18,46,55,.2);border-radius:15px;display:flex;flex-direction:column;overflow:hidden;background:#f6f9f7fa;color:#10242b;box-shadow:0 16px 42px #07191d47;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.navigation-workspace[data-status=alarm]{border:2px solid #c44a30}.navigation-workspace[data-status=caution]{border-color:#d89c28}.navigation-workspace[data-sheet-state=compact]{max-height:106px}.navigation-workspace[data-sheet-state=full]{top:calc(env(safe-area-inset-top) + 62px);max-height:none}.navigation-workspace-grip{position:absolute;z-index:2;top:4px;left:50%;width:36px;height:4px;overflow:hidden;border-radius:999px;background:#0f4c5c47;color:transparent;transform:translate(-50%);pointer-events:none}.navigation-workspace-header{flex:0 0 auto;min-height:64px;border-bottom:1px solid rgba(18,46,55,.1);padding:12px 10px 9px;display:flex;align-items:center;gap:7px;background:#f6f9f7fc}.navigation-workspace-heading{min-width:0;flex:1;display:grid;gap:2px}.navigation-workspace-heading>strong{overflow:hidden;color:#0f4c5c;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.navigation-workspace-summary{min-width:0;overflow:hidden;color:#536a71;font-size:11px;font-weight:750;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.navigation-workspace-leading{display:grid;place-items:center;color:#0f4c5c}.navigation-workspace-back,.navigation-workspace-size-action,.navigation-workspace-close{width:44px;height:44px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;background:#e2ece9;color:#23434c}.navigation-workspace-body{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:10px}.navigation-workspace-footer{flex:0 0 auto;border-top:1px solid rgba(18,46,55,.1);padding:9px 10px;background:#f6f9f7fc}.navigation-workspace-load-state{min-height:120px;display:grid;place-content:center;justify-items:center;gap:6px;color:#526a72;text-align:center}.navigation-workspace-load-state strong{color:#17343c}.navigation-workspace-load-state button{min-height:44px;margin-top:8px;border-radius:9px;padding:0 14px;background:#0f4c5c;color:#fff;font-weight:850}.navigation-workspace .route-panel,.navigation-workspace .anchor-watch-panel,.navigation-workspace .course-assistant-panel,.navigation-workspace .conditions-panel,.navigation-workspace .upcoming-events-panel{position:static;inset:auto;width:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0;overflow:visible;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.navigation-workspace .route-panel{display:grid}.navigation-workspace .anchor-watch-header{display:none}.navigation-workspace .conditions-panel-header{margin-bottom:10px}.navigation-workspace .conditions-panel-header .conditions-panel-kicker,.navigation-workspace .conditions-panel-header h2,.navigation-workspace .conditions-panel-close,.navigation-workspace .upcoming-events-header{display:none}.navigation-workspace .course-assistant-panel{z-index:auto}.route-return-action{width:100%;min-height:44px;margin-bottom:8px;justify-content:center}.app-shell:not([data-pick-mode=none]) .navigation-tool-rail,.app-shell[data-map-tools-suppressed=true] .navigation-tool-rail{opacity:.34;pointer-events:none}.app-shell:not([data-pick-mode=none]) .navigation-tool-rail-button[data-tool=anchor][data-status=alarm]{opacity:1;pointer-events:auto}.app-shell .layer-toggle{top:calc(env(safe-area-inset-top) + 344px)}.app-shell .locate-toggle{top:calc(env(safe-area-inset-top) + 344px);right:70px}.app-shell .layer-panel{top:calc(env(safe-area-inset-top) + 396px);right:12px}.app-shell[data-workspace-open=true] .data-badge{display:none}.global-navigation-alert{position:absolute;z-index:14;top:calc(env(safe-area-inset-top) + 62px);left:10px;right:76px;min-height:46px;border:2px solid #c44a30;border-radius:10px;padding:7px 8px 7px 10px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;background:#fff0edfa;color:#8b3024;box-shadow:0 10px 28px #5b1f163d;font-size:12px;font-weight:850}.global-navigation-alert button{min-height:34px;border-radius:8px;padding:0 10px;background:#c44a30;color:#fff;font-size:11px;font-weight:900}.app-shell[data-has-notification=true] .global-navigation-alert,.app-shell[data-has-navigation-alert=true] .pick-target-hint{top:calc(env(safe-area-inset-top) + 116px)}.app-shell[data-has-navigation-alert=true][data-has-notification=true] .pick-target-hint{top:calc(env(safe-area-inset-top) + 170px)}@media(min-width:720px){.navigation-workspace{top:calc(env(safe-area-inset-top) + 62px);right:0;bottom:calc(env(safe-area-inset-bottom) + 70px);left:auto;width:370px;max-height:none;border-radius:14px 0 0}.navigation-workspace[data-sheet-state]{top:calc(env(safe-area-inset-top) + 62px);max-height:none}.navigation-workspace-grip,.navigation-workspace-size-action{display:none}.app-shell[data-workspace-open=true] .navigation-tool-rail,.app-shell[data-workspace-open=true] .compass-dial{right:382px}.app-shell[data-workspace-open=true] .top-bar,.app-shell[data-workspace-open=true] .global-navigation-alert{right:446px}}@media(min-width:720px)and (max-width:1099px){.app-shell[data-workspace-open=true] .layer-toggle{right:382px}.app-shell[data-workspace-open=true] .locate-toggle{right:440px}.app-shell[data-workspace-open=true] .layer-panel{right:382px}}
