:root{--bg:#0b1a24;--bg-2:#112633;--fg:#eef5f8;--muted:#b2c6d0;--line:#ffffff2e;--card:#142a38f7;--card-solid:#163142;--accent:#5fd3c7;--accent-2:#f7b955;--danger:#ff8a65;--danger-text:#ffb39b;--danger-mix:16%;--on-accent:#06202a;--night:#00000047;--flood:#5fd3c7;--ebb:#f7b955;--slack:#9db4c0;--now:#f7b955;--wind-calm:#9ccc65;--wind-fresh:#f7b955;--wind-strong:#ff8a65;--wind-gale:#e53935;--shadow:0 6px 24px #00000059;--radius:14px;--sat:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--sab:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--sal:var(--safe-area-inset-left,env(safe-area-inset-left,0px));--sar:var(--safe-area-inset-right,env(safe-area-inset-right,0px));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f2f7f9;--bg-2:#e3edf2;--fg:#10222c;--muted:#51677a;--line:#10222c1f;--card:#ffffffeb;--card-solid:#fff;--accent:#0f7f8f;--accent-2:#b8700e;--danger:#c2410c;--danger-text:var(--danger);--danger-mix:22%;--on-accent:#fff;--night:#10222c14;--flood:#0f7f8f;--ebb:#b8700e;--slack:#51677a;--now:#b8700e;--wind-calm:#5a9e2f;--wind-fresh:#b8700e;--wind-strong:#c2410c;--wind-gale:#b71c1c;--shadow:0 6px 24px #10222c2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f2f7f9;--bg-2:#e3edf2;--fg:#10222c;--muted:#51677a;--line:#10222c1f;--card:#ffffffeb;--card-solid:#fff;--accent:#0f7f8f;--accent-2:#b8700e;--danger:#c2410c;--danger-text:var(--danger);--danger-mix:22%;--on-accent:#fff;--night:#10222c14;--flood:#0f7f8f;--ebb:#b8700e;--slack:#51677a;--now:#b8700e;--wind-calm:#5a9e2f;--wind-fresh:#b8700e;--wind-strong:#c2410c;--wind-gale:#b71c1c;--shadow:0 6px 24px #10222c2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-height:100%;color:var(--fg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font:15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font:inherit;color:inherit}a{color:var(--accent)}input,select{font-size:16px}.tabular{font-variant-numeric:tabular-nums}.small{color:var(--muted);font-size:12.5px}.muted{color:var(--muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pill{background:var(--card);color:var(--fg);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:42px;padding:10px 14px;text-decoration:none;display:inline-flex}.pill.icon{justify-content:center;width:42px;padding:0;font-size:18px}.pill[aria-expanded=true],.pill.active{background:var(--accent);color:var(--on-accent)}.btn{background:var(--accent);color:var(--on-accent);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn.secondary{color:var(--fg);border:1px solid var(--line);background:0 0}.btn.danger{color:var(--danger);border:1px solid var(--line);background:0 0}.btn:disabled{opacity:.7;cursor:default}.btn.sm{min-height:36px;padding:6px 10px;font-size:13.5px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tips-row{justify-content:center}progress{width:100%;height:8px;accent-color:var(--accent)}.seg{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;min-height:36px;padding:8px 12px}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}details summary{cursor:pointer;color:var(--muted);padding:6px 0;font-size:13px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);-webkit-backdrop-filter:blur(10px);margin:10px 0;padding:14px}.card h3,.card h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}.card p{margin:6px 0}.chip{background:#7f7f7f29;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.chip.good,.chip.accent{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.chip.warn,.chip.amber{background:color-mix(in srgb, var(--accent-2) 22%, transparent);color:var(--accent-2)}.chip.bad,.chip.danger{background:color-mix(in srgb, var(--danger) var(--danger-mix,22%), transparent);color:var(--danger-text,var(--danger))}.chip.stale{color:var(--muted);background:#7f7f7f33}.kv{grid-template-columns:auto 1fr;gap:2px 10px;font-size:13.5px;display:grid}.kv span:nth-child(odd){color:var(--muted)}.swatch{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.sheet-backdrop{z-index:40;background:#00000073;position:fixed;inset:0}.sheet{z-index:41;background:var(--card-solid);max-height:min(84vh,760px);color:var(--fg);border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--line);box-shadow:var(--shadow);padding-bottom:var(--sab);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}@media (min-width:720px){.sheet{border-radius:var(--radius);width:440px;bottom:24px;left:50%;right:auto;transform:translate(-50%)}}.sheet .grip{background:var(--line);border-radius:2px;flex:none;width:40px;height:4px;margin:10px auto 6px}.sheet .sheet-head{flex:none;align-items:center;gap:8px;padding:4px 14px 8px;display:flex}.sheet .sheet-head h2{flex:1;margin:0;font-size:16px}.sheet .sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 14px 14px;overflow-y:auto}.sheet .close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:22px}@media (prefers-reduced-motion:no-preference){.sheet{animation:.22s ease-out sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (min-width:720px){@keyframes sheet-in{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}}}.toast{left:50%;bottom:calc(var(--sab) + 80px);background:var(--card-solid);color:var(--fg);border:1px solid var(--line);box-shadow:var(--shadow);z-index:60;border-radius:999px;max-width:90vw;padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}.topnav{z-index:30;padding:calc(var(--sat) + 8px) calc(var(--sar) + 12px) 8px calc(var(--sal) + 12px);background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex;position:sticky;top:0}.topnav .brand{color:var(--fg);flex:1;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.topnav .brand .logo{border-radius:7px;width:26px;height:26px}.picker .search{border:1px solid var(--line);width:100%;color:var(--fg);background:0 0;border-radius:10px;margin:2px 0 8px;padding:10px 12px}.picker .quick{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.picker h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 4px;font-size:12px}.picker .st{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;min-height:44px;padding:9px 4px;display:flex}.picker .st[aria-selected=true]{color:var(--accent)}.picker .st .nm{flex:1}.picker .st .nm small{color:var(--muted);font-size:12px;display:block}.picker .st .dist{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.picker .st .badges{gap:4px;display:flex}.picker .st .badges i{color:var(--muted);background:#7f7f7f2e;border-radius:999px;padding:1px 6px;font-size:11px;font-style:normal}.updates input[type=email]{min-width:0;font:inherit;color:var(--fg);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;flex:160px;padding:9px 10px}.updates .hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.floatplan{gap:10px;margin:8px 0;display:grid}.floatplan .fp{gap:4px;font-size:14px;display:grid}.floatplan .fp span{color:var(--muted);font-size:13px}.floatplan input,.floatplan textarea{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:10px;width:100%;padding:9px 10px;font-size:16px}.floatplan .fp.check{color:var(--fg);align-items:center;gap:8px;display:flex}.floatplan .fp.check input{width:auto}:root[data-theme=sun]{--bg:#fff;--bg-2:#eef3f5;--fg:#000;--muted:#1f2f38;--line:#00000073;--card:#fff;--card-solid:#fff;--accent:#005f6b;--accent-2:#8a4b00;--danger:#a12000;--danger-text:var(--danger);--danger-mix:22%;--on-accent:#fff;--night:#0000001a;--flood:#005f6b;--ebb:#8a4b00;--slack:#1f2f38;--now:#8a4b00;--wind-calm:#2e6b0f;--wind-fresh:#8a4b00;--wind-strong:#a12000;--wind-gale:#7f0000;--shadow:0 2px 0 #0009;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=sun] body{font-size:17px}:root[data-theme=sun] .pill,:root[data-theme=sun] .btn,:root[data-theme=sun] .card{-webkit-backdrop-filter:none;border:2px solid #000}:root[data-theme=sun] .btn{font-weight:700}:root[data-theme=sun] .small{font-size:14.5px}@media (max-width:719px){.sheet.search-sheet{top:calc(var(--sat) + 8px);border-radius:var(--radius);padding-bottom:0;animation:none;bottom:auto;left:8px;right:8px}.sheet.search-sheet .grip{display:none}}.sheet.search-sheet .sheet-body{flex-direction:column;padding-top:0;display:flex}.sheet.search-sheet .search-box{flex:none;padding:4px 14px 8px}.sheet.search-sheet .search{margin:0;font-size:16px}.sheet.search-sheet .group{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:8px 0 2px;font-size:11px;font-weight:700}#info .digl{margin:4px 0;padding-left:18px;font-size:14px}#info .digl li{margin:2px 0}.route-issues p{margin:6px 0}:root.lite *,:root.lite :before,:root.lite :after{-webkit-backdrop-filter:none!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}.lite-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.toggle.lite-off .sub:after{content:" · off in Lite mode"}html.glass-mirror{--glass-fill:color-mix(in srgb, var(--card-solid) 76%, transparent);--glass-line:color-mix(in srgb, var(--fg) 16%, transparent);--glass-soft:color-mix(in srgb, var(--fg) 7%, transparent);--glass-hi:inset 0 1px 0 #ffffff2e}html.glass-mirror #panel{background:var(--glass-fill);border-color:var(--glass-line);-webkit-backdrop-filter:blur(36px)saturate(170%);box-shadow:var(--glass-hi), 0 -10px 40px #00000047;border-radius:26px 26px 0 0}@media (min-width:720px){html.glass-mirror #panel{border-radius:26px}}html.glass-mirror #info,html.glass-mirror .sheet,html.glass-mirror #regionpick .rp-card,html.glass-mirror #offline-tip,html.glass-mirror #measurebar{background:var(--glass-fill);border-color:var(--glass-line);-webkit-backdrop-filter:blur(36px)saturate(170%);box-shadow:var(--glass-hi), var(--shadow);border-radius:24px}html.glass-mirror .card,html.glass-mirror #panel .card{background:var(--glass-soft);border-color:color-mix(in srgb, var(--fg) 10%, transparent);border-radius:18px}html.glass-mirror .btn{border-radius:999px;box-shadow:inset 0 1px #ffffff47,0 1px 3px #00000038}html.glass-mirror .btn.secondary,html.glass-mirror .btn.danger{background:var(--glass-soft);border-color:var(--glass-line);box-shadow:inset 0 1px #ffffff1f}html.glass-mirror .seg{background:var(--glass-soft);border-color:var(--glass-line);border-radius:999px;gap:2px;padding:3px;overflow:visible}html.glass-mirror .seg button{border-radius:999px;padding:7px 14px}html.glass-mirror .seg button[aria-pressed=true]{box-shadow:inset 0 1px #ffffff4d,0 1px 3px #00000040}html.glass-mirror .pill{border-radius:999px}html.glass-mirror input[type=text],html.glass-mirror input[type=email],html.glass-mirror input[type=search],html.glass-mirror select{border-radius:12px}html.glass-mirror #panel .panel-close,html.glass-mirror .sheet .close,html.glass-mirror #info .close{background:var(--glass-soft);border-radius:50%}html.glass-mirror #panel .card:has(>details.group.fold){background:0 0;border:0;border-radius:0}html.glass-mirror .group>summary{border-radius:18px}html.glass-mirror .group[open]>summary{border-radius:18px 18px 0 0}
