.sidebar[data-v-cb629fee]{border-right:1px solid var(--border);background:linear-gradient(180deg, #0a1b29 0%, var(--panel) 40%, #0a1a27 100%);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:4px 0 24px #00000059}.brand[data-v-cb629fee]{height:var(--topbar-h);flex:none;align-items:center;gap:.7rem;padding:0 1.1rem;text-decoration:none;display:flex;position:relative}.brand[data-v-cb629fee]:after{content:"";background:var(--accent-line);height:1px;position:absolute;inset:auto 0 0}.mark[data-v-cb629fee]{border-radius:9px;width:34px;height:34px;box-shadow:0 2px 10px #0006}.brand-text[data-v-cb629fee]{color:var(--white);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;font-size:.8rem;font-weight:700}nav[data-v-cb629fee]{flex:1;padding:.75rem .6rem;overflow-y:auto}.nav-item[data-v-cb629fee]{border-radius:var(--radius);height:42px;color:var(--text-muted);white-space:nowrap;align-items:center;gap:.75rem;padding:0 .7rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav-item svg[data-v-cb629fee]{flex:none}.nav-item[data-v-cb629fee]:hover{color:var(--text);background:var(--surface-2)}.nav-item.active[data-v-cb629fee]{color:var(--white);background:linear-gradient(90deg,#18b7a03d,#18b7a00a)}.nav-item.active[data-v-cb629fee]:before{content:"";background:var(--teal);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0;box-shadow:0 0 10px #18b7a0b3}.nav-item.active svg[data-v-cb629fee]{color:var(--teal-light)}.ext[data-v-cb629fee]{opacity:.5;margin-left:auto}.user[data-v-cb629fee]{border-top:1px solid var(--border);background:#0000002e;align-items:center;gap:.65rem;padding:.8rem .9rem;display:flex}.avatar[data-v-cb629fee]{background:linear-gradient(135deg, var(--teal), var(--sea-light));width:34px;height:34px;color:var(--white);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:700;display:grid}.user-text[data-v-cb629fee]{flex-direction:column;flex:1;min-width:0;display:flex}.user-name[data-v-cb629fee]{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.user-role[data-v-cb629fee]{color:var(--text-faint);font-size:.74rem}.icon-btn[data-v-cb629fee]{border-radius:var(--radius);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:grid}.icon-btn[data-v-cb629fee]:hover{border-color:var(--border-strong);color:var(--sunset)}.rail .brand[data-v-cb629fee],.rail .nav-item[data-v-cb629fee]{justify-content:center;padding:0}.rail .label[data-v-cb629fee],.rail .ext[data-v-cb629fee],.rail .user-text[data-v-cb629fee]{display:none}.rail .user[data-v-cb629fee]{flex-direction:column;padding:.8rem 0}.topbar[data-v-39c67de3]{z-index:5;height:var(--topbar-h);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b1e2dd1;align-items:center;gap:.9rem;padding:0 1.25rem 0 .75rem;display:flex;position:sticky;top:0;box-shadow:0 6px 20px #00000040}.hamburger[data-v-39c67de3]{border-radius:var(--radius);width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:grid}.hamburger[data-v-39c67de3]:hover{border-color:var(--border);background:var(--surface-2);color:var(--text)}.page-title[data-v-39c67de3]{flex:1;margin:0;font-size:1.05rem;font-weight:600}.status[data-v-39c67de3]{border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .7rem;font-size:.78rem;display:inline-flex}.dot[data-v-39c67de3]{border-radius:50%;width:7px;height:7px}.ok .dot[data-v-39c67de3]{background:var(--teal);box-shadow:0 0 8px #18b7a0b3}.bad .dot[data-v-39c67de3]{background:var(--sunset);box-shadow:0 0 8px #ff7a45b3}.shell[data-v-5d5f5108]{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .2s;display:grid}.shell.rail[data-v-5d5f5108]{grid-template-columns:var(--sidebar-w-collapsed) minmax(0, 1fr)}.shell.narrow[data-v-5d5f5108]{grid-template-columns:minmax(0,1fr)}.shell.narrow .shell-sidebar[data-v-5d5f5108]{z-index:20;width:var(--sidebar-w);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.drawer-open .shell-sidebar[data-v-5d5f5108]{transform:none}.scrim[data-v-5d5f5108]{z-index:15;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;position:fixed;inset:0}.shell-main[data-v-5d5f5108]{background:radial-gradient(1200px 500px at 20% -10%,#18b7a014,#0000 60%);min-width:0}.content[data-v-5d5f5108]{max-width:1400px;margin:0 auto;padding:1.75rem}.fade-enter-active[data-v-5d5f5108],.fade-leave-active[data-v-5d5f5108]{transition:opacity .12s}.fade-enter-from[data-v-5d5f5108],.fade-leave-to[data-v-5d5f5108]{opacity:0}.app[data-v-ecd765e3]{background:radial-gradient(900px 400px at 50% -10%,#18b7a01f,#0000 65%);min-height:100dvh}.app-header[data-v-ecd765e3]{z-index:5;padding:calc(env(safe-area-inset-top) + .6rem) 1.1rem .6rem;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1e2dd9;position:sticky;top:0}.app-header h1[data-v-ecd765e3]{margin:0;font-size:1.6rem;font-weight:700}.app-content[data-v-ecd765e3]{padding:1rem 1rem calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 1rem)}.tabbar[data-v-ecd765e3]{z-index:10;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#091926eb;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.tab[data-v-ecd765e3]{color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.66rem;font-weight:600;text-decoration:none;display:flex}.tab.active[data-v-ecd765e3]{color:var(--teal-light)}.install[data-v-edd76493]{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 2.5rem) 1.4rem 2rem;text-align:center;background:radial-gradient(700px 380px at 50% -5%,#18b7a038,#0000 65%);flex-direction:column;align-items:center;gap:1rem;display:flex}.icon[data-v-edd76493]{width:96px;height:96px;box-shadow:var(--shadow-lg);border-radius:22px}h1[data-v-edd76493]{margin:0;font-size:1.7rem}p[data-v-edd76493]{margin:0;line-height:1.5}.steps[data-v-edd76493]{text-align:left;flex-direction:column;gap:1rem;width:100%;max-width:420px;margin:.5rem 0 0;padding:1.2rem;list-style:none;display:flex}.steps li[data-v-edd76493]{align-items:flex-start;gap:.8rem;line-height:1.5;display:flex}.num[data-v-edd76493]{background:var(--teal);width:28px;height:28px;color:var(--sea-deep);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.inline[data-v-edd76493]{vertical-align:-3px;color:var(--teal-light)}.url[data-v-edd76493]{border-radius:var(--radius);background:var(--bg);word-break:break-all;padding:.6rem;font-family:ui-monospace,monospace}.skip[data-v-edd76493]{color:var(--text-muted);font:inherit;background:0 0;border:0;margin-top:auto;text-decoration:underline}.fish-on[data-v-b14b39a9]{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.big .fish-btn[data-v-b14b39a9]{border-radius:999px;padding:.95rem 1.6rem;font-size:1.15rem}.status[data-v-b14b39a9]{border-radius:var(--radius);background:#18b7a01a;border:1px solid #3fd3bc73;flex-wrap:wrap;align-items:center;gap:.4rem;max-width:360px;padding:.5rem .75rem;font-size:.82rem;display:flex}.status.error[data-v-b14b39a9]{background:#ff7a451a;border-color:#ff7a4573}.link[data-v-b14b39a9]{font:inherit;color:var(--teal-light);cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.dismiss[data-v-b14b39a9]{color:var(--text-faint);margin-left:auto}.dir-arrow[data-v-2c829ff8]{filter:drop-shadow(0 1px 1px #00000073);display:block}.moon[data-v-4f178ed5]{display:block}.dark[data-v-4f178ed5]{fill:var(--moon-dark);stroke:#f2e3c640;stroke-width:.8px}.lit[data-v-4f178ed5]{fill:var(--moon-lit)}.wx[data-v-6475b26d]{display:block;overflow:visible}.sun[data-v-6475b26d]{fill:var(--wx-sun)}.rays path[data-v-6475b26d]{stroke:var(--wx-sun);stroke-width:1.8px;stroke-linecap:round}.moon[data-v-6475b26d]{fill:var(--moon-lit)}.cloud[data-v-6475b26d]{fill:var(--wx-cloud);stroke:#0b1e2d80;stroke-width:.8px}.cloud.faint[data-v-6475b26d]{opacity:.75;transform-origin:18px 20px;transform:translate(4px,1px)scale(.8)}.cloud.dark[data-v-6475b26d]{fill:var(--wx-cloud-dark)}.rain path[data-v-6475b26d]{stroke:var(--rain);stroke-width:1.8px;stroke-linecap:round}.snow circle[data-v-6475b26d]{fill:var(--wx-snow)}.bolt[data-v-6475b26d]{fill:var(--wx-bolt)}.fog path[data-v-6475b26d]{stroke:var(--wx-fog);stroke-width:1.8px;stroke-linecap:round}.home[data-v-041e1166]{flex-direction:column;gap:1.2rem;display:flex}.hero[data-v-041e1166]{background:radial-gradient(400px 200px at 90% 0%, #ff7a452e, transparent 70%), var(--surface-1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.hello p[data-v-041e1166],.hello h2[data-v-041e1166]{margin:0}.hello h2[data-v-041e1166]{font-size:1.4rem}.moon[data-v-041e1166]{align-items:center;gap:.35rem;font-size:.82rem;display:flex;margin-top:.35rem!important}.pending[data-v-041e1166]{align-items:center;gap:.5rem;display:flex}.section-head[data-v-041e1166]{justify-content:space-between;align-items:baseline;margin-bottom:.6rem;display:flex}h3[data-v-041e1166]{margin:0;font-size:1rem}.more[data-v-041e1166]{font-size:.85rem;text-decoration:none}.spot-grid[data-v-041e1166]{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;display:grid}.spot[data-v-041e1166]{font:inherit;color:var(--text);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.95rem 1rem;text-decoration:none;transition:border-color .15s;display:flex}.spot[data-v-041e1166]:hover{border-color:var(--border-strong)}.spot-name[data-v-041e1166]{font-weight:700}.wind[data-v-041e1166]{background:color-mix(in srgb, var(--lvl) 28%, transparent);border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .55rem .2rem .35rem;display:flex}.wind b[data-v-041e1166]{font-size:1.3rem}.wind small[data-v-041e1166]{color:var(--text-muted);font-size:.75rem}.row[data-v-041e1166]{align-items:center;gap:.35rem;font-size:.82rem;display:flex}.here[data-v-041e1166]{color:var(--teal-light);box-shadow:none;border-style:dashed;justify-content:center}.here .spot-name[data-v-041e1166]{color:var(--text)}.recent[data-v-041e1166]{margin:0;padding:.3rem 1rem;list-style:none}.recent li+li[data-v-041e1166]{border-top:1px solid var(--border)}.recent a[data-v-041e1166]{color:var(--text);justify-content:space-between;gap:1rem;padding:.7rem 0;text-decoration:none;display:flex}.recent .muted[data-v-041e1166]{text-align:right;font-size:.85rem}.empty[data-v-041e1166]{text-align:center}@media (width<=600px){.hero[data-v-041e1166]{flex-direction:column;align-items:stretch}.hero[data-v-041e1166] .fish-on{align-items:stretch}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sea-deep:#0b1e2d;--sea:#123a55;--sea-light:#1f5f84;--teal:#18b7a0;--teal-dark:#12917f;--teal-light:#3fd3bc;--sunset:#ff7a45;--sunset-dark:#e0602e;--sand:#f2e3c6;--white:#fff;--bg:var(--sea-deep);--panel:#0e2435;--surface-1:#102b40;--surface-2:#17405c;--surface-3:#1d4a69;--border:#1d3d53;--border-strong:#28506b;--text:#e4eef3;--text-muted:#8fa9b8;--text-faint:#5f7d8e;--wind-0:#1f5f84;--wind-1:#1d8aa0;--wind-2:#18b7a0;--wind-3:#7cc95a;--wind-4:#d8d23e;--wind-5:#f5a623;--wind-6:#ff7a45;--wind-7:#e8453c;--wind-8:#b02a6b;--wave-0:#1f5f84;--wave-1:#2379a8;--wave-2:#2f95c9;--wave-3:#5a7fd6;--wave-4:#8a63d2;--wave-5:#b34fb8;--wave-6:#d93a8c;--temp-0:#4d7cc7;--temp-1:#3f9bc4;--temp-2:#3bb39a;--temp-3:#8cc05a;--temp-4:#e0b43c;--temp-5:#f08a3c;--temp-6:#e2503a;--rain:#4fa3e8;--rain-soft:#4fa3e838;--night:#030a128c;--daylight:#78bee60d;--tide:#3fb6e0;--solunar-major:#f5a623;--solunar-minor:#f5a62373;--moon-lit:#f2e3c6;--moon-dark:#1d3547;--wx-sun:#ffc94a;--wx-cloud:#c9d7e0;--wx-cloud-dark:#7f95a4;--wx-bolt:#ffd23f;--wx-snow:#e8f2f8;--wx-fog:#9fb3c0;--radius:8px;--radius-lg:14px;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--shadow-lg:0 20px 50px #0000008c;--glow-teal:0 0 0 1px #18b7a08c, 0 10px 30px #18b7a02e;--accent-line:linear-gradient(90deg, var(--teal), var(--sunset) 45%, transparent 85%);--sidebar-w:264px;--sidebar-w-collapsed:72px;--topbar-h:60px;--tabbar-h:58px;--font:-apple-system, "SF Pro Text", "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html,body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;margin:0}a{color:var(--teal-light)}code{background:var(--surface-2);border-radius:4px;padding:.1rem .35rem;font-size:.9em}.btn{border-radius:var(--radius);font:inherit;color:var(--sea-deep);background:linear-gradient(180deg, var(--teal-light), var(--teal));cursor:pointer;border:0;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-weight:600;text-decoration:none;transition:filter .15s,box-shadow .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff2e,0 4px 14px #18b7a040}.btn:hover{filter:brightness(1.08)}.btn:focus-visible{outline:2px solid var(--teal-light);outline-offset:2px}.btn.cta{color:var(--white);background:linear-gradient(180deg, #ff9466, var(--sunset));box-shadow:inset 0 1px #ffffff2e,0 4px 14px #ff7a454d}input,select,textarea{color:var(--text);background-color:var(--bg);border-color:var(--border-strong);caret-color:var(--teal);accent-color:var(--teal)}input::placeholder,textarea::placeholder{color:var(--text-faint)}::selection{color:var(--white);background:var(--teal-dark)}input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--teal);box-shadow:0 0 0 1000px var(--bg) inset;transition:background-color 9999s ease-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--teal);box-shadow:0 0 0 1000px var(--bg) inset;transition:background-color 9999s ease-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--teal);box-shadow:0 0 0 1000px var(--bg) inset;transition:background-color 9999s ease-out}textarea:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--teal);box-shadow:0 0 0 1000px var(--bg) inset;transition:background-color 9999s ease-out}select:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--teal);box-shadow:0 0 0 1000px var(--bg) inset;transition:background-color 9999s ease-out}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow);padding:1.25rem}.muted{color:var(--text-muted)}.btn.ghost{color:var(--text);background:var(--surface-2);box-shadow:none}.btn.danger{color:var(--white);background:var(--wind-7);box-shadow:none}.btn:disabled{opacity:.55;cursor:default}.chip{border:1px solid var(--border);font:inherit;color:var(--text-muted);background:var(--surface-1);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.3rem;padding:.4rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.chip.on{color:var(--sea-deep);background:linear-gradient(180deg, var(--teal-light), var(--teal));border-color:#0000}.seg{border:1px solid var(--border);background:var(--surface-1);border-radius:999px;padding:2px;display:inline-flex}.seg button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.32rem .75rem;font-size:.78rem;font-weight:650}.seg button.on{color:var(--text);background:var(--surface-3)}.icon-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);background:var(--surface-1);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.icon-btn.on{color:var(--teal-light);border-color:#3fd3bc80}.icon-btn.spin svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice{border-radius:var(--radius);background:#ff7a451a;border:1px solid #ff7a4573;margin:0;padding:.55rem .8rem;font-size:.85rem}.notice.soft{border-color:var(--border);background:var(--surface-1);color:var(--text-muted)}.field{min-width:0;color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:600;display:flex}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;font:inherit;padding:.6rem .7rem;font-size:1rem;font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #18b7a033}.leaflet-control-attribution{color:var(--text-faint)!important;background:#0b1e2dbf!important}.leaflet-control-attribution a{color:var(--text-muted)!important}.map-pin{position:relative}.map-pin__dot{border:3px solid var(--white);background:var(--teal);border-radius:50%;position:absolute;inset:3px;box-shadow:0 2px 8px #0000008c}.map-pin--catch .map-pin__dot{background:var(--sunset)}.map-pin--new .map-pin__dot{background:var(--sand);animation:1.4s ease-in-out infinite pin-pulse;inset:0}.map-pin--active .map-pin__dot{border-color:var(--teal-light);background:var(--teal);inset:0}.map-pin__label{white-space:nowrap;color:var(--text);pointer-events:none;background:#0b1e2dd1;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:650;position:absolute;top:50%;left:26px;transform:translateY(-50%)}.map-pin--buoy .map-pin__dot,.map-pin--wx .map-pin__dot,.map-pin--tide .map-pin__dot{opacity:.85;border-width:2px;border-radius:3px;inset:5px}.map-pin--buoy .map-pin__dot{background:var(--sunset);transform:rotate(45deg)}.map-pin--wx .map-pin__dot{background:var(--wx-sun)}.map-pin--tide .map-pin__dot{background:var(--tide);border-radius:50%}.map-pin--chosen .map-pin__dot{border-color:var(--teal-light);opacity:1;inset:2px}.map-pin--buoy .map-pin__label,.map-pin--wx .map-pin__label,.map-pin--tide .map-pin__label{color:var(--text-muted);font-size:10px;font-weight:600}@keyframes pin-pulse{50%{box-shadow:0 0 0 8px #f2e3c640}}.leaflet-bar a{color:var(--text)!important;background:var(--surface-2)!important;border-color:var(--border)!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:var(--surface-3);border-radius:999px}::-webkit-scrollbar-track{background:0 0}
