:root{color-scheme:dark;--bg:#0b1620;--panel:#101e2b;--line:#1f3447;--fg:#e8f1f8;--mute:#8fa6b8;--accent:#4cc9f0}*{box-sizing:border-box}body,html{height:100%;margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.shell{display:grid;grid-template-columns:320px 1fr;height:100dvh}.panel{background:var(--panel);border-right:1px solid var(--line);padding:16px;overflow-y:auto}h1{margin:0 0 4px;font-size:22px}h2{margin:20px 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.note,h2{color:var(--mute)}.note{margin:0}.note.small{font-size:12px;margin-top:20px}.row{gap:8px;align-items:center;padding:5px 0}.fish,.row{display:flex;cursor:pointer}.fish{gap:10px;align-items:flex-start;width:100%;text-align:left;background:transparent;color:inherit;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;font:inherit}.fish.on,.fish:hover{border-color:var(--accent)}.fish small{display:block;color:var(--mute);font-size:12px}.dot{width:12px;height:12px;border-radius:50%;margin-top:5px;flex:none;border:2px solid #fff}.mapwrap{position:relative;min-height:0}.mapwrap .map{position:absolute;inset:0;width:100%;height:100%}.toast{position:absolute;left:12px;bottom:28px;max-width:420px;background:rgba(11,22,32,.92);border:1px solid var(--line);padding:8px 12px;border-radius:8px;font-size:13px;pointer-events:none}.toast-retry{pointer-events:auto;margin-left:6px;padding:3px 10px;border-radius:6px;border:1px solid var(--line);background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.seg{display:flex;gap:4px;flex-wrap:wrap}.seg button{flex:1 1;background:transparent;color:inherit;border:1px solid var(--line);border-radius:8px;padding:7px 8px;font:inherit;font-size:13px;cursor:pointer}.seg button.on{background:var(--accent);color:#04202b;border-color:var(--accent);font-weight:600}.legend{height:12px;border-radius:6px;margin-bottom:8px}.range label{display:block;font-size:13px;color:var(--mute);margin-bottom:6px}.range input[type=range]{display:block;width:100%;margin:4px 0 0}.link{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;font-size:13px;padding:0}.link:disabled{color:var(--mute);cursor:default}.spot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.spot small{display:block;color:var(--mute);font-size:12px}.card{left:12px;top:12px;background:rgba(11,22,32,.94);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;max-width:320px;padding-right:34px;max-height:calc(100% - 140px);overflow-y:auto;overflow-x:hidden;overflow-wrap:anywhere;scrollbar-width:thin;z-index:6}.card,.cardx{position:absolute}.cardx{top:4px;right:4px;width:30px;height:30px;border-radius:50%;border:0;background:transparent;font-size:16px;cursor:pointer}.cardx,.kn{color:var(--mute)}.kn{display:block;margin-top:6px}.kn input{width:56px;background:#0b1620;color:inherit;border:1px solid var(--line);border-radius:6px;padding:2px 6px}.spot-marker{position:relative;width:16px;height:16px;cursor:pointer}.spot-name{position:absolute;left:20px;top:-2px;white-space:nowrap;font-size:12px;font-weight:600;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000,0 0 6px #000;pointer-events:none}.spotpanel{position:absolute;left:12px;top:12px;z-index:6;width:min(340px,calc(100% - 96px));max-height:calc(100% - 140px);overflow:auto;background:#0b1620;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px}.spotpanel label{display:block;margin:6px 0 2px;font-size:12px;color:var(--mute)}.spotpanel input{display:block;width:100%;box-sizing:border-box;margin-top:3px;padding:9px 10px;border-radius:8px;border:1px solid var(--line);background:#0b1620;color:var(--fg);font:inherit;font-size:16px}.cf-label{margin:6px 0 2px;font-size:12px;color:var(--mute)}.cf{display:grid;grid-gap:6px;gap:6px}.cf-row{display:flex;align-items:center;gap:3px}.cf-lab{width:28px;font-size:12px;color:var(--mute)}.spotpanel .cf-in{display:inline-block;width:auto;margin:0;padding:8px 4px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spotpanel .cf-2{width:2.6em}.spotpanel .cf-3{width:3.2em}.spotpanel .cf-5{width:4.4em}.cf-sym{color:var(--mute);margin-right:5px}.cf-h{padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--fg);font:inherit;font-weight:600;cursor:pointer}.sp-title{font-weight:700;margin-bottom:2px}.sp-hint{color:var(--mute);font-size:12px;margin:5px 0}.sp-error{color:#ff9a8a;font-size:13px;margin:6px 0}.sp-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.sp-actions button,.sp-enter{padding:9px 14px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--fg);font:inherit;cursor:pointer}.sp-actions .sp-save,.sp-enter{background:var(--accent);color:#04202b;border-color:var(--accent);font-weight:600}.sp-actions .sp-remove{color:#ff9a8a;margin-left:auto}.sp-actions .sp-danger{background:#b3261e;border-color:#b3261e;margin-left:auto}.sp-list{margin-top:10px;border-top:1px solid var(--line);max-height:36vh;overflow:auto}.sp-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.sp-go{flex:1 1;text-align:left;background:none;border:0;color:var(--fg);font:inherit;cursor:pointer;padding:0}.sp-go small{display:block;color:var(--mute);font-size:12px}.sp-edit{background:none;border:0;color:var(--accent);font:inherit;cursor:pointer;padding:6px}.spot-pin{width:16px;height:16px;border-radius:50%;background:#ff4d4d;border:3px solid #fff;box-shadow:0 0 0 1px #000;cursor:pointer}.timebar{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;gap:6px;background:rgba(11,22,32,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:5px 8px 5px 5px;width:min(560px,calc(100% - 200px))}.timebar:focus-within,.timebar:hover{background:rgba(11,22,32,.92)}.tbmini{position:absolute;right:12px;bottom:70px;z-index:4;width:38px;height:38px;border-radius:50%;border:0;background:rgba(11,22,32,.7);color:var(--fg);font-size:14px;cursor:pointer}.timehead .tbbtn.tbon,.timerow .tbbtn.tbon{color:#ffd27a;font-weight:700}.timehead .tbbtn,.timerow .tbbtn{flex:none;border-radius:50%;border:0;cursor:pointer;width:28px;height:28px;background:transparent;color:var(--mute);font-size:15px}.timelabel{flex:none;width:134px;font-size:10.5px;line-height:1.3;text-align:right;white-space:nowrap}.timelabel .pill{display:inline-block;padding:1px 7px;border-radius:9px;font-size:10px;letter-spacing:.04em;color:#04202b}.timelabel em{font-style:normal;color:var(--mute)}.timelabel .tdate{font-size:11.5px;font-weight:600;color:var(--fg)}.timelabel.past .pill{background:#5fd6a0}.timelabel.today .pill{background:#6ec6ff}.timelabel.future .pill{background:#ffc857}.timerow input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;border-radius:4px;outline:none;background:linear-gradient(to right,#3fbf86 0,#3fbf86 calc(var(--now, 50%) - 1.5px),#fff calc(var(--now, 50%) - 1.5px),#fff calc(var(--now, 50%) + 1.5px),#e3a640 calc(var(--now, 50%) + 1.5px),#e3a640 100%)}.timerow input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid #0b1620;box-shadow:0 0 0 1px rgba(255,255,255,.5)}.timerow input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid #0b1620}.timerow{display:flex;align-items:center;gap:10px}.timerow button{flex:none;width:30px;height:30px;border-radius:50%;border:0;background:var(--accent);color:#04202b;font-size:14px;cursor:pointer}.timerow input{flex:1 1;min-width:0}.timemeta{display:flex;align-items:center;gap:10px;padding-left:6px;font-size:12px;color:var(--mute);flex-wrap:wrap}.timemeta .grow{flex:1 1}.timemeta .chip{background:transparent;color:inherit;border:1px solid var(--line);border-radius:12px;padding:2px 10px;font:inherit;cursor:pointer}.timemeta .chip.on{background:var(--accent);color:#04202b;border-color:var(--accent);font-weight:600}.deltanums{display:flex;flex-direction:column;gap:2px;padding-left:6px;font-size:12px;color:var(--mute)}.deltanums b{color:var(--fg)}.ghostnote i{display:inline-block;width:22px;border-top:2px dotted #b9c6d3;vertical-align:middle;margin-right:6px}.deltakey{display:flex;align-items:center;gap:8px;padding-left:6px;font-size:11px;color:var(--mute)}.deltakey i{flex:1 1;height:8px;border-radius:4px;background:linear-gradient(90deg,rgb(30,80,210),rgb(245,245,245),rgb(215,40,40))}.timemeta .obs{color:#7ee2a8;font-weight:600}.timemeta .fc{color:#ffd27a;font-weight:600}.timemeta input[type=date]{background:#0b1620;color:inherit;border:1px solid var(--line);border-radius:6px;padding:2px 4px;font:inherit;color-scheme:dark}.slakey{display:flex;flex-direction:column;gap:3px;margin-bottom:4px}.slakey i{display:inline-block;width:22px;height:0;margin-right:8px;vertical-align:middle;border-top:2px solid}.slakey i.z{border-top:4px solid #fff;box-shadow:0 0 0 1px #06101a}.slakey i.pos{border-top-color:#ffab9a}.slakey i.neg{border-top-style:dashed;border-top-color:#8fbfff}.depthkey{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 0 24px;font-size:12px;color:var(--mute)}.depthkey i{display:inline-block;width:14px;height:3px;margin-right:5px;vertical-align:middle;border-radius:2px}.sheet-close,.sheet-open{display:none}.shell{position:relative}.tool-float{position:absolute;z-index:5;top:10px;left:332px;width:min(440px,calc(100% - 332px - 70px));background:rgba(11,22,32,.92);border:1px solid var(--line);border-radius:12px;padding:6px}.tool-float .hint{margin:6px 4px 2px;font-size:12.5px;line-height:1.3;color:var(--fg);opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{top:96px;max-height:calc(100% - 96px - 120px)}@media (max-width:720px){.shell{display:block;position:relative}.mapwrap{position:absolute;inset:0}.tool-float{display:none}.sheet-open{display:none!important;position:absolute;z-index:5;left:12px;bottom:calc(26px + env(safe-area-inset-bottom));background:var(--accent);color:#04202b;border:0;border-radius:22px;padding:12px 18px;font:inherit;font-weight:600;box-shadow:0 2px 10px rgba(0,0,0,.5)}.panel{position:absolute;z-index:10;left:0;right:0;bottom:0;max-height:72dvh;border:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;transform:translateY(105%);transition:transform .22s ease;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.panel.open{transform:none}.sheet-close{display:block;margin-left:auto;padding:4px 0 8px;font-size:15px}.card{top:88px;max-width:calc(100% - 76px);max-height:calc(100% - 88px - 170px);z-index:6;padding-bottom:18px}.spotpanel{top:88px;width:calc(100% - 76px);max-height:calc(100% - 270px)}.toast{bottom:170px}.timebar{left:12px;right:12px;width:auto;transform:none;bottom:calc(84px + env(safe-area-inset-bottom))}.timelabel{width:124px}.timerow{gap:7px}.timerow .tbbtn{width:24px}.tbmini{bottom:calc(84px + env(safe-area-inset-bottom))}}.nogl{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:32px;background:var(--bg);z-index:3;max-width:560px;margin:0 auto}.nogl h2{margin:0 0 6px}.nogl p{color:var(--mute);margin:6px 0}.sp-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sp-view-actions{display:flex;gap:6px}.sp-view-actions button{padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--fg);font:inherit;cursor:pointer}.sc-note{color:var(--mute);font-size:13px;padding:10px 0}.sc-title{font-weight:700;margin:8px 0 4px}.sc-row small,.sc-sub small,.sc-title small{color:var(--mute);font-weight:400;margin-left:4px}.sc-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}.sc-row>span{color:var(--mute);flex:0 1 auto}.sc-row>b{font-weight:600;text-align:right}.sc-tides{margin-top:8px}.sc-tides .sc-sub{margin-bottom:2px}.sc-charts{margin-top:10px;position:relative}.sc-sub{font-size:12px;color:var(--mute);margin-bottom:4px}.spark{margin:6px 0}.spark-h{display:flex;align-items:baseline;gap:8px;font-size:12px}.spark-h span{color:var(--mute)}.spark-h b{font-weight:600}.spark-h small{margin-left:auto;color:var(--mute)}.spark svg{display:block;width:100%;height:54px;background:rgba(255,255,255,.04);border-radius:6px}.spark-box{position:relative}.spark-tick{position:absolute;right:4px;font-size:10px;line-height:1;color:var(--fg);background:rgba(11,22,32,.72);padding:1px 3px;border-radius:3px;pointer-events:none}.spark-tick.top{top:2px}.spark-tick.bot{bottom:2px}.spark .spark-arrow{position:absolute;width:12px;height:12px;display:block;background:none!important;border-radius:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.95)) drop-shadow(0 0 1px rgba(0,0,0,.8))}.spark-line{stroke:#6ec6ff;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.spark-day,.spark-line{vector-effect:non-scaling-stroke}.spark-day{stroke:rgba(255,255,255,.12);stroke-width:1}.spark-now{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.spark-dot{fill:#fff}.sc-days{position:relative;height:14px;font-size:10px;color:var(--mute)}.sc-days span{position:absolute;transform:translateX(-50%)}.sc-foot{margin-top:10px;font-size:11px;color:var(--mute);line-height:1.4}.maplibregl-ctrl-group button{width:38px;height:38px}.maplibregl-ctrl-top-right{top:6px;right:4px}.compass-ctrl button{display:flex;align-items:center;justify-content:center}.compass-ctrl .needle{transition:none}.compass-ctrl:not(.off-north) svg{opacity:.8}.compass-heading{display:none;position:absolute;right:44px;top:50%;transform:translateY(-50%);white-space:nowrap;background:rgba(11,22,32,.9);color:#fff;font-size:12px;font-weight:600;padding:3px 8px;border-radius:8px;pointer-events:none}.compass-ctrl{position:relative}.compass-ctrl.off-north .compass-heading{display:block}.tap-pin{position:relative;width:36px;height:36px;pointer-events:none}.tap-pin span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.tap-pin .tap-dot{width:10px;height:10px;border-radius:50%;background:#ffe14d;border:2px solid #fff;box-shadow:0 0 0 1.5px #000}.tap-pin .tap-dot:after{content:"";position:absolute;left:50%;top:50%;width:2.5px;height:2.5px;margin:-1.25px 0 0 -1.25px;border-radius:50%;background:#000}.tap-pin .tap-ring{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px #000,inset 0 0 0 1.5px #000;animation:tapPulse 1.1s ease-out 2}.tap-pin .tap-arm{background:#fff;box-shadow:0 0 0 1.5px #000;border-radius:1px}.tap-pin .tap-arm.n,.tap-pin .tap-arm.s{width:3px;height:8px}.tap-pin .tap-arm.e,.tap-pin .tap-arm.w{width:8px;height:3px}.tap-pin .tap-arm.n{top:calc(50% - 13px)}.tap-pin .tap-arm.s{top:calc(50% + 13px)}.tap-pin .tap-arm.e{left:calc(50% + 13px)}.tap-pin .tap-arm.w{left:calc(50% - 13px)}@keyframes tapPulse{0%{transform:translate(-50%,-50%) scale(1.7);opacity:.2}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.tap-pin .tap-ring{animation:none}}.card-from{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}.card-from b{color:var(--fg);font-weight:600}.sp-from{margin-top:4px;font-size:13px;color:var(--mute)}.sp-from b{font-weight:600}.sp-from b,.sp-go .sp-dist{color:#7ee2a8}.spot-name .spot-dist{display:block;font-size:11px;font-weight:600;color:#7ee2a8;line-height:1.1}.spot-name .spot-dist:empty{display:none}.you-dot{width:18px;height:18px;border-radius:50%;background:#1e8cff;border:3px solid #fff;box-shadow:0 0 0 1.5px rgba(0,0,0,.6),0 0 0 10px rgba(30,140,255,.22);pointer-events:none}.locate-ctrl button{display:flex;align-items:center;justify-content:center;color:#333}.locate-ctrl[data-state=on] button{color:#1e8cff}.locate-ctrl[data-state=waiting] button{color:#1e8cff;animation:locateWait 1s ease-in-out infinite}.locate-ctrl[data-state=blocked] button{color:#b3261e}@keyframes locateWait{50%{opacity:.35}}.maplibregl-ctrl-scale{background:rgba(8,20,34,.72);color:#fff;border:1.5px solid #fff;border-top:none;font-size:11px;font-weight:600;line-height:1.2;padding:1px 6px;margin:0 10px 78px 0;text-shadow:none}.maplibregl-ctrl-bottom-right .maplibregl-ctrl-attrib.maplibregl-compact{margin:0 6px 6px 0}.ll-marker{position:relative;pointer-events:auto}.ll-dot,.ll-marker{width:14px;height:14px}.ll-dot{display:block;border-radius:3px;transform:rotate(45deg) scale(.8);background:var(--c,#ffb347);border:2px solid #000;box-shadow:0 0 0 1px #fff}.ll-tag{position:absolute;left:18px;top:-4px;white-space:nowrap;font-size:12px;font-weight:700;color:var(--c,#ffd9a0);text-shadow:0 0 3px #000,0 0 3px #000,0 0 6px #000;pointer-events:none}.ll-marker.live .ll-dot{border-radius:50%;transform:none;box-shadow:0 0 0 2px #fff,0 0 0 6px color-mix(in srgb,var(--c) 45%,transparent)}.ll-tag.hide{display:none}.ll-marker{cursor:pointer}.ll-marker.dim{opacity:.45}.ll-marker.sel .ll-dot{transform:rotate(45deg) scale(1.15);box-shadow:0 0 0 2px #fff,0 0 0 5px #000}.ll-marker.sel .ll-tag{font-size:13px}.presets{margin:4px 0 10px}.lgroup{border:1px solid var(--line);border-radius:10px;margin:8px 0;background:rgba(255,255,255,.02)}.lg-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;background:none;border:0;color:var(--fg);font:inherit;font-weight:600;cursor:pointer;text-align:left}.lg-meta{color:var(--mute);font-weight:400;font-size:13px}.lg-meta i{font-style:normal;margin-left:6px}.lg-body{padding:2px 12px 10px}.acct{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0}.acct label{display:block;font-size:13px;color:var(--mute)}.acct input{display:block;width:100%;box-sizing:border-box;margin:6px 0 8px;padding:9px 10px;border-radius:8px;border:1px solid var(--line);background:#0b1620;color:var(--fg);font:inherit;font-size:16px}.acct button:not(.link){padding:9px 14px;border-radius:18px;border:0;background:var(--accent);color:#04202b;font:inherit;font-weight:600;cursor:pointer;margin-right:8px}.acct button:disabled{opacity:.55;cursor:default}.acct-row{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.acct-btns{margin:6px 0}.rowwrap{display:flex;align-items:center;justify-content:space-between;gap:8px}.rowwrap .row{flex:1 1}.qm{flex:none;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--mute);font:inherit;font-size:13px;font-weight:700;cursor:pointer;line-height:1;padding:0}.qm[aria-expanded=true]{background:var(--accent);color:#04202b;border-color:var(--accent)}h2 .qm{margin-left:6px;vertical-align:middle}.helpbox{margin:4px 0 8px 22px;padding:8px 10px;border-left:3px solid var(--accent);background:rgba(255,255,255,.04);border-radius:0 8px 8px 0;font-size:13px;line-height:1.4}.helpbox p{margin:5px 0 0}.helpbox em{font-style:normal;color:var(--accent);font-weight:600}.row input:disabled{cursor:not-allowed}.row:has(input:disabled){opacity:.45;cursor:not-allowed}.offline{margin:0}.offline .note.small{margin-top:8px}.offline h3{margin:0 0 4px;font-size:14px}.offline .help{margin-left:6px;width:20px;height:20px;border-radius:50%;border:1px solid;background:none;color:inherit;font-size:12px;cursor:pointer}.offline .row button:not(.link){margin:4px 4px 4px 0}.offline progress{height:10px}.phead{margin-bottom:2px}.note.small.tight{margin-top:6px}.alist{list-style:none;margin:0;padding:0}.al{padding:6px 0 8px;border-bottom:1px solid var(--line)}.al:last-child{border-bottom:0}.ls{margin:4px 0 2px 24px;font-size:12px;line-height:1.35;color:var(--mute);border-left:3px solid var(--mute);padding-left:8px}.ls b{color:var(--fg);font-weight:600}.ls-observed{border-left-color:#6fd08c}.ls-estimate{border-left-color:#f0c75e}.ls-forecast{border-left-color:var(--accent)}.ls-static{border-left-color:var(--mute)}.al .curkey,.al .depthkey,.al .seg,.al .sub{margin-left:24px;margin-top:6px}.al .seg{margin-right:0}.sub summary{cursor:pointer;font-size:13px;color:var(--accent);padding:4px 0}.attrib{margin-top:16px}.ls.flush{margin-left:0;margin-top:8px}.offline .row button:not(.link){background:transparent;color:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer;text-align:left}.offline .row button:not(.link):hover:not(:disabled){border-color:var(--accent)}.offline .row button:disabled{opacity:.45;cursor:not-allowed}.offline .row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 0 0;cursor:default}.curkey-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:-2px 0 6px;font-size:12px;color:var(--mute)}.spot-marker{z-index:3}.ll-marker{z-index:2}.ll-marker.sel{z-index:3}.ll-marker:after,.spot-marker:after{content:"";position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:50%}.ll-marker{overflow:visible}.update-bar{position:fixed;z-index:60;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;gap:6px}.update-go{flex:1 1;background:var(--accent);color:#04202b;border:0;border-radius:12px;padding:14px 16px;font:inherit;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,.5)}.update-x{flex:none;width:48px;background:rgba(11,22,32,.95);color:var(--fg);border:1px solid var(--line);border-radius:12px;font:inherit}@media (min-width:721px){.update-bar{left:auto;right:16px;width:360px}}.spot-name.compact .spot-dist{display:none}.tbbtn.tbnow{background:var(--accent);color:#04202b;border-color:var(--accent);font-weight:700;padding-left:12px;padding-right:12px;width:auto}.tlg{position:absolute;left:12px;bottom:22px;z-index:3;width:150px;display:grid;grid-gap:3px;gap:3px;padding:5px 8px 4px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(11,22,32,.68);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#eaf3f8;font:inherit;text-align:left;cursor:pointer;transition:background .15s,width .15s}.tlg.open,.tlg:focus-visible,.tlg:hover{background:rgba(11,22,32,.8);width:230px}.tlg-title{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;opacity:0;height:0;overflow:hidden;transition:opacity .15s}.tlg.open .tlg-title,.tlg:focus-visible .tlg-title,.tlg:hover .tlg-title{opacity:.75;height:auto}.tlg-bar{forced-color-adjust:none;display:block;height:8px;border-radius:4px;box-shadow:0 0 0 1px rgba(255,255,255,.28)}.tlg-ends{display:flex;justify-content:space-between;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.7)}.tlg.open .tlg-ends,.tlg:focus-visible .tlg-ends,.tlg:hover .tlg-ends{display:none}.tlg-ticks{position:relative;display:none;height:18px;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tlg.open .tlg-ticks,.tlg:focus-visible .tlg-ticks,.tlg:hover .tlg-ticks{display:block}.tlg-ticks i{position:absolute;top:0;width:1px;height:4px;background:rgba(207,224,234,.5)}.tlg-ticks em{position:absolute;top:6px;transform:translateX(-50%);font-style:normal;opacity:.8}.tlg-ticks span:first-child em{transform:none}@media (max-width:700px){.tlg{bottom:calc(76px + env(safe-area-inset-bottom))}.mapwrap.tb-open .tlg{bottom:calc(164px + env(safe-area-inset-bottom))}}.phone-only{display:none}@media (max-width:720px){.phone-only{display:block}.pchips{position:absolute;z-index:5;top:calc(10px + env(safe-area-inset-top));left:10px;right:56px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.pchips::-webkit-scrollbar{display:none}.pchips.more-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}.pchips.more-l{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 44px),transparent)}.pchips.more-l.more-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 44px),transparent)}.pchip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(11,22,32,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e8f1f6;font:inherit;font-size:13px}.pchip u{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55}.pchip.on{background:#4fd0f2;color:#06222c;border-color:transparent;font-weight:600}.pchip.on u{opacity:.9}.pchip:disabled{opacity:.4}.phint{position:absolute;z-index:5;top:calc(56px + env(safe-area-inset-top));left:10px;right:56px;display:flex;gap:10px;align-items:center;justify-content:space-between;padding:7px 8px 7px 12px;border-radius:12px;background:rgba(11,22,32,.8);border:1px solid rgba(255,255,255,.14);font-size:12.5px;line-height:1.3}.phint button{flex:none;border:0;border-radius:8px;padding:6px 12px;background:#4fd0f2;color:#06222c;font:inherit;font-weight:600}.peek{position:absolute;z-index:6;left:0;right:0;bottom:0;padding:6px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(11,22,32,.92);border-top:1px solid rgba(255,255,255,.12);border-radius:18px 18px 0 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.peek-handle{width:34px;height:4px;border-radius:2px;background:rgba(255,255,255,.3);margin:0 auto 2px}.peek-tabs{display:flex}.peek-tabs button{flex:1 1;background:none;border:0;border-bottom:2px solid transparent;color:#e8f1f6;font:inherit;font-size:14px;padding:9px 0 8px;opacity:.82}.peek-tabs button.on{border-bottom-color:#4fd0f2;opacity:1;font-weight:600}.peek-tabs small{margin-left:6px;font-size:11.5px;opacity:.65}.ptray{position:absolute;z-index:6;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));padding:8px;border-radius:14px;background:rgba(11,22,32,.94);border:1px solid rgba(255,255,255,.14)}.ptray .seg button{padding:12px 4px;font-size:14px}.tbmini{display:none}}.al.off{opacity:.55}.offnote{color:var(--mute);font-weight:400}@media (max-width:720px){.data-bar{bottom:calc(150px + env(safe-area-inset-bottom))}}.spots-far .spot-marker{display:none}.ll-when{font-size:10.5px;font-weight:700;color:var(--c,#ffd9a0);text-shadow:0 0 3px #000,0 0 3px #000,0 0 6px #000;white-space:nowrap;pointer-events:none}.dot-pop{font-size:13px;line-height:1.35;color:#10222e}.dot-pop .dim{color:#566a78;font-size:12px}.scrubwrap{flex:1 1;min-width:0;position:relative;height:46px;display:flex;align-items:center;touch-action:none;cursor:pointer}.timerow .scrubin{pointer-events:none;width:100%;flex:none;height:10px}.scrubbubble{position:absolute;bottom:calc(100% - 2px);transform:translateX(-50%);z-index:6;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 12px;border-radius:12px;background:rgba(11,22,32,.96);border:1px solid rgba(255,255,255,.35);color:var(--fg);font-size:14px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.45)}.scrubbubble small{font-size:10.5px;color:var(--mute)}.scrubbubble.fine{border-color:#6ec6ff}.scrubbubble.fine small{color:#6ec6ff}.scrubbubble.finer{border-color:#ffc857}.scrubbubble.finer small{color:#ffc857}.daychips{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 4px;position:relative;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.daychips::-webkit-scrollbar{display:none}.daychip{flex:none;min-width:52px;height:36px;padding:0 11px;border-radius:18px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:var(--fg);font-size:12px;cursor:pointer;scroll-snap-align:center}.daychip b{font-size:13.5px}.daychip.past{border-color:rgba(95,214,160,.5)}.daychip.future{border-color:rgba(255,200,87,.55)}.daychip.today{border-color:#6ec6ff;color:#6ec6ff;font-weight:700}.daychip.on{background:#fff;color:#04202b;border-color:#fff}.daychip.today.on{background:#6ec6ff;border-color:#6ec6ff;color:#04202b}.steprow{display:flex;gap:6px}.steprow button{flex:1 1;height:36px;border-radius:18px;border:0;background:rgba(255,255,255,.09);color:var(--fg);font-size:12.5px;cursor:pointer}.steprow button:active{background:rgba(255,255,255,.22)}.steprow .stepnow{background:#6ec6ff;color:#04202b;font-weight:700}.steprow .stepnow:disabled{background:rgba(255,255,255,.05);color:var(--mute);font-weight:400;cursor:default}.timehead{justify-content:space-between;padding:2px 2px 0 6px}.timehead,.timehead .timelabel{display:flex;align-items:center;gap:8px}.timehead .timelabel{width:auto;text-align:left;font-size:12px}.timehead .timelabel>div{display:inline-block}.timehead .timelabel .tdate{font-size:13px}.timeheadbtns{display:flex;align-items:center;gap:4px}.timehead .tbbtn{width:32px;height:32px;background:transparent;color:var(--mute);font-size:16px}.timebar{gap:3px;padding:4px 8px 5px;border-radius:16px}.timehead{padding:0 0 0 6px;min-height:28px}.timehead .timelabel{font-size:11px;gap:6px}.timehead .timelabel .tdate{font-size:12.5px}.timeheadbtns{gap:3px}.timehead .tbbtn{width:28px;height:28px;font-size:14px}.timehead .tbbtn.tbplay{background:var(--accent);color:#04202b;font-size:12px}.tbnowbtn{height:26px;padding:0 11px;border-radius:13px;border:0;background:#6ec6ff;color:#04202b;font-size:12px;font-weight:700;cursor:pointer}.tbnowbtn:disabled{background:rgba(255,255,255,.07);color:var(--mute);font-weight:400;cursor:default}.daychips{gap:5px;padding:0 1px 1px}.daychip{min-width:44px;height:28px;padding:0 9px;font-size:11.5px;border-radius:14px}.daychip b{font-size:12.5px}.scrubwrap{height:36px}.timerow{gap:6px}.timerow .stepbtn{flex:none;width:40px;height:28px;border-radius:14px;border:0;background:rgba(255,255,255,.09);color:var(--fg);font-size:11.5px;cursor:pointer}.timerow .stepbtn:active{background:rgba(255,255,255,.22)}.timerow input[type=range]::-webkit-slider-thumb{width:26px;height:26px}.timerow input[type=range]::-moz-range-thumb{width:24px;height:24px}@media (max-width:760px){.timebar{bottom:calc(76px + env(safe-area-inset-bottom))}}.timehead .timelabel{flex:1 1;min-width:0;overflow:hidden;white-space:nowrap}.timehead .timelabel>div:first-child em{display:none}.timehead .timelabel .tdate{overflow:hidden;text-overflow:ellipsis;min-width:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbnowbtn,.timehead .tbbtn,.timeheadbtns{flex:none}.timehead .tbbtn.tbplay{width:32px;height:28px;border-radius:14px}.tbnowbtn{width:54px;padding:0;text-align:center}.timehead{gap:4px}.timehead .timelabel{gap:5px}.timehead .timelabel .pill{padding:1px 6px;font-size:9.5px}.timehead .timelabel .tdate{font-size:12px;letter-spacing:-.01em}.timeheadbtns{gap:2px}.timehead .tbbtn.tbplay{width:30px}.tbnowbtn{width:46px;font-size:11.5px}.timehead .tbbtn{width:26px}.tlg{bottom:calc(22px + var(--stack, 0) * 70px)}.tlg-note{display:none;font-size:9.5px;opacity:.7}.tlg.open .tlg-note,.tlg:hover .tlg-note{display:block}@media (max-width:700px){.tlg{bottom:calc(76px + env(safe-area-inset-bottom) + var(--stack, 0) * 70px)}.mapwrap.tb-open .tlg{bottom:calc(164px + env(safe-area-inset-bottom) + var(--stack, 0) * 70px)}}.maplibregl-ctrl-scale{background:rgba(11,22,32,.78)!important;color:#f2f8fb!important;border:0!important;border-bottom:3px solid #f2f8fb!important;border-left:3px solid #f2f8fb!important;border-right:3px solid #f2f8fb!important;border-radius:0 0 3px 3px!important;padding:1px 7px 2px!important;margin:0 8px 4px 0!important;font:600 13px/1.25 inherit!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.8);text-align:center;box-sizing:content-box}@media (max-width:700px){.maplibregl-ctrl-bottom-right{bottom:calc(80px + env(safe-area-inset-bottom))}}.tlg-always .tlg-title{opacity:.85;height:auto}.tlg-always:not(.open):not(:hover){width:170px}.units{display:grid;grid-gap:10px;gap:10px}.units-row{display:grid;grid-gap:4px;gap:4px}.units-label{font-size:12px;color:var(--mute)}.units .seg{display:flex;gap:6px;flex-wrap:wrap}.units .seg button{flex:1 1 auto;min-height:36px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:var(--fg);font:inherit;font-size:13px;cursor:pointer}.units .seg button.on{background:#4fd0f2;color:#04202b;border-color:#4fd0f2;font-weight:700}