@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}:root{color-scheme:light;accent-color:var(--teal-500);--teal-950:#0a2723;--teal-900:#10352f;--teal-800:#153f38;--teal-700:#1c5a4f;--teal-600:#237265;--teal-500:#35907f;--teal-300:#8ec7b8;--teal-100:#d8eae3;--teal-50:#eef5f2;--coral-700:#c9502f;--coral-600:#e2603c;--coral-500:#f07857;--coral-200:#ffd3c5;--coral-50:#fff1ec;--amber-600:#a5761c;--amber-100:#fbeccc;--amber-50:#fdf7ea;--red-600:#b23b2e;--red-50:#fdeeec;--bg:#f5f6f8;--bg-tint:none;--surface:#fff;--surface-2:#f7faf8;--surface-3:#eef3f1;--surface-invert:var(--teal-800);--glass:#fcfdfcd1;--ink:#20272d;--ink-soft:#48535d;--ink-muted:#626e78;--ink-invert:#fff;--ink-invert-soft:#bdd6cf;--line:#dde6e2;--line-strong:#c6d5cf;--focus:#1f7a68;--accent:var(--coral-500);--accent-strong:var(--coral-600);--accent-soft:var(--coral-50);--accent-control:#b94327;--accent-control-hover:#99341f;--primary:var(--teal-800);--primary-hover:var(--teal-700);--map-control-ink:var(--teal-800);--link:var(--teal-700);--link-hover:var(--teal-600);--tone-positive:var(--teal-700);--tone-positive-soft:var(--teal-600);--tone-positive-strong:var(--teal-900);--tone-warning:#79530f;--tone-danger:#9f3227;--tone-accent:#b94327;--tint-positive:var(--teal-50);--tint-positive-strong:var(--teal-100);--tint-positive-border:var(--teal-300);--tint-warning:var(--amber-50);--tint-warning-strong:var(--amber-100);--tint-warning-border:#d7b967;--tint-danger:var(--red-50);--tint-danger-border:#df9d95;--tint-accent:var(--coral-50);--tint-accent-strong:var(--coral-200);--tint-accent-border:var(--coral-200);--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:24px;--r-pill:999px;--shadow-xs:0 1px 2px #10352f0f;--shadow-sm:0 1px 2px #10352f0d, 0 2px 8px #10352f0d;--shadow-md:0 2px 4px #10352f0d, 0 8px 24px #10352f14;--shadow-lg:0 4px 8px #10352f0f, 0 18px 48px #10352f24;--shadow-xl:0 8px 16px #0a27231a, 0 32px 70px #0a272338;--ring:0 0 0 3px #1f7a6838;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--font-body:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Manrope", var(--font-body);--t-display:2rem;--t-h1:1.75rem;--t-h2:1.125rem;--t-body:.9375rem;--t-sm:.8125rem;--t-xs:.75rem;--t-eyebrow:.6875rem;--header-h:68px;--page-max:940px;--sheet-peek:32svh;--tabbar-h:0px;--ease:cubic-bezier(.22, .75, .3, 1);--fast:.14s var(--ease);--normal:.24s var(--ease);--slow:.38s var(--ease)}@media(max-width:900px){:root{--header-h:60px}}@media(max-width:640px){:root{--tabbar-h: calc(60px + env(safe-area-inset-bottom)) }}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0d1917;--bg-tint:none;--surface:#142522;--surface-2:#182b27;--surface-3:#1f342f;--surface-invert:var(--teal-100);--glass:#142522d1;--ink:#eaf2ef;--ink-soft:#b9cbc5;--ink-muted:#8ca39c;--ink-invert:#fff;--ink-invert-soft:#bdd6cf;--line:#24413a;--line-strong:#315148;--focus:#4fb89e;--map-control-ink:var(--teal-100);--link:#9ed3c5;--link-hover:#d8eae3;--tone-positive:#9ed3c5;--tone-positive-soft:#69b7a4;--tone-positive-strong:#d8eae3;--tone-warning:#f4c96f;--tone-danger:#ff9f92;--tone-accent:#ffab92;--tint-positive:#17342e;--tint-positive-strong:#21463d;--tint-positive-border:#477b6f;--tint-warning:#332b18;--tint-warning-strong:#493c1b;--tint-warning-border:#76612b;--tint-danger:#3a211f;--tint-danger-border:#82453e;--tint-accent:#3b241f;--tint-accent-strong:#573127;--tint-accent-border:#884c3a;--shadow-xs:0 1px 2px #0000003d;--shadow-sm:0 1px 2px #00000038, 0 2px 8px #00000038;--shadow-md:0 2px 4px #0000003d, 0 8px 24px #0000004d;--shadow-lg:0 4px 8px #00000047, 0 18px 48px #0006;--shadow-xl:0 8px 16px #00000052, 0 32px 70px #00000080;--ring:0 0 0 3px #4fb89e47}}:root[data-theme=dark]{color-scheme:dark;--bg:#0d1917;--bg-tint:none;--surface:#142522;--surface-2:#182b27;--surface-3:#1f342f;--surface-invert:var(--teal-100);--glass:#142522d1;--ink:#eaf2ef;--ink-soft:#b9cbc5;--ink-muted:#8ca39c;--ink-invert:#fff;--ink-invert-soft:#bdd6cf;--line:#24413a;--line-strong:#315148;--focus:#4fb89e;--map-control-ink:var(--teal-100);--link:#9ed3c5;--link-hover:#d8eae3;--tone-positive:#9ed3c5;--tone-positive-soft:#69b7a4;--tone-positive-strong:#d8eae3;--tone-warning:#f4c96f;--tone-danger:#ff9f92;--tone-accent:#ffab92;--tint-positive:#17342e;--tint-positive-strong:#21463d;--tint-positive-border:#477b6f;--tint-warning:#332b18;--tint-warning-strong:#493c1b;--tint-warning-border:#76612b;--tint-danger:#3a211f;--tint-danger-border:#82453e;--tint-accent:#3b241f;--tint-accent-strong:#573127;--tint-accent-border:#884c3a;--shadow-xs:0 1px 2px #0000003d;--shadow-sm:0 1px 2px #00000038, 0 2px 8px #00000038;--shadow-md:0 2px 4px #0000003d, 0 8px 24px #0000004d;--shadow-lg:0 4px 8px #00000047, 0 18px 48px #0006;--shadow-xl:0 8px 16px #00000052, 0 32px 70px #00000080;--ring:0 0 0 3px #4fb89e47}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s-4))}body{min-height:100svh;font-family:var(--font-body);font-size:var(--t-body);color:var(--ink);background-color:var(--bg);background-image:var(--bg-tint);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;line-height:1.55}h1,h2,h3{font-family:var(--font-display);letter-spacing:0;margin:0;line-height:1.2}p{margin:0 0 .75em}p:last-child{margin-bottom:0}a{color:var(--link);-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}@supports (color:color-mix(in lab,red,red)){a{-webkit-text-decoration-color:color-mix(in srgb,var(--link) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--link) 45%,transparent)}}a{text-underline-offset:3px;transition:color var(--fast)}a:hover{color:var(--link-hover)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}:where(p,li,dd,figcaption){overflow-wrap:anywhere}ul,ol{margin:0}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--teal-100);color:var(--teal-900)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--teal-300);background-clip:content-box}.eyebrow{font-size:var(--t-eyebrow);letter-spacing:.16em;text-transform:uppercase;color:var(--tone-accent);font-weight:800;display:inline-block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:640px){input,select,textarea{font-size:1rem}}.icon{stroke-width:1.75px;flex:none;width:1.15em;height:1.15em;display:block}.icon-lg{width:1.4em;height:1.4em}.site-header{z-index:40;height:var(--header-h);align-items:center;gap:var(--s-4);padding:0 clamp(var(--s-3),2vw,var(--s-6));background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.site-header:after{content:"";pointer-events:none;background:linear-gradient(#10352f0f,#0000);height:14px;position:absolute;inset:100% 0 auto}.header-center{flex:auto;justify-content:center;min-width:0;display:flex}.header-end{align-items:center;gap:var(--s-2);flex:none;display:flex}.header-user{max-width:160px}.header-user>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.brand{color:var(--ink);font-family:var(--font-display);letter-spacing:0;white-space:nowrap;flex:none;align-items:center;gap:10px;font-size:1.0625rem;font-weight:800;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.brand b{color:var(--tone-accent)}.brand-mark{border-radius:var(--r-md);color:#fff;background:linear-gradient(145deg,var(--teal-700),var(--teal-900));width:38px;height:38px;box-shadow:var(--shadow-sm);place-items:center;display:grid}.brand-mark .icon{width:21px;height:21px}.nav-links{align-items:center;gap:var(--s-1);display:flex}.nav-link{border-radius:var(--r-sm);color:var(--ink-soft);white-space:nowrap;transition:background var(--fast),color var(--fast);align-items:center;gap:7px;padding:9px 12px;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover{background:var(--surface-3);color:var(--ink)}.nav-link[aria-current=page]{color:var(--tone-positive-strong);background:var(--tint-positive)}.icon-btn.menu-toggle{display:none}.mobile-menu{z-index:41;top:calc(var(--header-h) + var(--s-2));right:var(--s-4);width:min(380px,calc(100vw - 2 * var(--s-4)));gap:var(--s-1);padding:var(--s-3);max-height:calc(100svh - var(--header-h));overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:slide-down var(--normal) both;display:grid;position:fixed;overflow-y:auto}.mobile-menu .nav-link{padding:13px 14px;font-size:1rem}.mobile-menu .btn{justify-content:flex-start;padding:13px 14px}.menu-scrim{inset:var(--header-h) 0 0;z-index:40;animation:fade-in var(--fast) both;background:#0a272347;position:fixed}.mobile-tabbar{display:none}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}}@keyframes fade-in{0%{opacity:0}}.btn{border-radius:var(--r-md);background:var(--surface);min-height:42px;color:var(--ink);font-weight:700;font-size:var(--t-body);white-space:nowrap;transition:background var(--fast),border-color var(--fast),color var(--fast),box-shadow var(--fast),transform var(--fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5}.btn-primary{background:var(--primary);color:var(--ink-invert);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(160deg,var(--teal-600),var(--teal-800));color:var(--ink-invert);box-shadow:var(--shadow-md)}.btn-accent{background:linear-gradient(160deg,var(--accent-control),var(--accent-control-hover));color:#fff;box-shadow:var(--shadow-sm)}.btn-accent:hover:not(:disabled){background:var(--accent-control-hover);color:#fff;box-shadow:var(--shadow-md)}.btn-outline{background:var(--surface);border-color:var(--line-strong);color:var(--ink);box-shadow:var(--shadow-xs)}.btn-outline:hover:not(:disabled){border-color:var(--teal-300);background:var(--surface-2)}.btn-ghost{color:var(--ink-soft);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.btn-danger{background:var(--surface);border-color:var(--tint-danger-border);color:var(--tone-danger)}.btn-danger:hover:not(:disabled){background:var(--tint-danger)}.btn-sm{min-height:34px;font-size:var(--t-sm);border-radius:var(--r-sm);padding:0 12px}.btn-lg{border-radius:var(--r-lg);min-height:50px;padding:0 22px;font-size:1rem}.btn-block{width:100%}.icon-btn{border-radius:var(--r-md);width:42px;height:42px;color:var(--ink-soft);transition:background var(--fast),color var(--fast);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.count-badge{border-radius:var(--r-pill);background:var(--accent-control);color:#fff;min-width:20px;height:20px;font-size:var(--t-xs);place-items:center;padding:0 6px;font-weight:800;display:inline-grid}.btn-primary .count-badge{background:var(--accent-control)}.search{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);width:100%;max-width:560px;height:44px;box-shadow:var(--shadow-xs);transition:border-color var(--fast),box-shadow var(--fast);align-items:center;gap:10px;padding:0 6px 0 14px;display:flex}.search:hover{border-color:var(--teal-300)}.search:focus-within{border-color:var(--focus);box-shadow:var(--ring)}.search>.icon{color:var(--ink-muted)}.search input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:100%}.search input::placeholder{color:var(--ink-muted)}.search .icon-btn{border-radius:var(--r-sm);width:32px;height:32px}.field{gap:6px;min-width:0;display:grid}.field>span,.field-label{font-size:var(--t-sm);letter-spacing:0;color:var(--ink-soft);font-weight:700}.field input,.field select,.field textarea,.input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);transition:border-color var(--fast),box-shadow var(--fast);padding:10px 12px}.field textarea{resize:vertical;line-height:1.55}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--teal-300)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus);box-shadow:var(--ring);outline:none}.field input[type=file]{font-size:var(--t-sm);color:var(--ink-soft);padding:9px 12px}.field input[type=file]::file-selector-button{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);cursor:pointer;margin-right:10px;padding:7px 12px;font-weight:700}.field select,.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b8079' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;background-size:16px;padding-right:34px}.field-row{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));display:grid}.field-error,.field>.field-error{color:var(--tone-danger);font-size:var(--t-sm);align-items:center;gap:6px;font-weight:600;display:flex}.field [aria-invalid=true]{border-color:var(--tint-danger-border);background-color:var(--tint-danger)}.form-error-summary{border-left:3px solid var(--tone-danger);background:var(--tint-danger);color:var(--tone-danger);overflow-wrap:anywhere;margin:16px 0;padding:16px 20px}.form-error-summary ul{margin-top:8px;padding-left:20px}[role=alert]:not(.form-error-summary):not(.field-error){margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--tint-danger-border);border-radius:var(--r-md);background:var(--tint-danger);color:var(--tone-danger);font-size:var(--t-sm);font-weight:600}.field-hint{color:var(--ink-muted);font-size:var(--t-sm)}.field-label-wrap{display:contents}.stat-bar-list{gap:var(--s-3);margin:var(--s-2) 0 0;padding:0;list-style:none;display:grid}.stat-bar-row p{font-size:var(--t-sm);margin:0 0 4px}.stat-bar-track{border-radius:var(--r-full,999px);background:var(--surface-3);height:8px;overflow:hidden}.stat-bar-fill{border-radius:inherit;background:var(--tone-positive);height:100%}.lightbox-scrim{z-index:60;animation:fade-in var(--fast) both;background:#0a0a0ad9;position:fixed;inset:0}.lightbox{z-index:61;justify-content:center;align-items:center;gap:var(--s-3);padding:var(--s-4);background:0 0;border:none;outline:none;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:var(--r-md);max-width:min(90vw,1100px);max-height:78vh}.lightbox-footer{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.lightbox-caption{font-size:var(--t-sm)}.lightbox-counter{font-size:var(--t-sm);opacity:.7}.lightbox-nav{color:#fff;background:#00000059;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#0000008c}.lightbox-prev{left:var(--s-4)}.lightbox-next{right:var(--s-4)}.lightbox [data-slot=dialog-close]{color:#fff}.image-dropzone{margin-top:var(--s-2);padding:var(--s-5) var(--s-4);border:2px dashed var(--line);border-radius:var(--r-md);background:var(--surface-3);color:var(--ink-muted);text-align:center;cursor:pointer;place-items:center;gap:4px;transition:border-color .15s,background .15s,color .15s;display:grid}.image-dropzone svg{opacity:.7;width:26px;height:26px}.image-dropzone strong{color:var(--ink);font-size:var(--t-sm)}.image-dropzone small{font-size:var(--t-xs)}.image-dropzone:hover,.image-dropzone:focus-visible{border-color:var(--accent);outline:none}.image-dropzone-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.image-dropzone[aria-disabled=true]{cursor:not-allowed;opacity:.6}.image-preview-grid{gap:var(--s-3);margin-top:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.image-preview-card{gap:var(--s-2);min-width:0;padding:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-xs);margin:0;display:grid}.image-preview-card img{aspect-ratio:4/3;border-radius:var(--r-sm);object-fit:cover;background:var(--surface-3);width:100%}.image-preview-card figcaption{gap:.15rem;min-width:0;display:grid}.image-preview-card figcaption span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.image-preview-card figcaption small{color:var(--ink-muted)}.upload-progress{border-radius:var(--r-sm);width:100%;height:6px;accent-color:var(--teal-500);overflow:hidden}.chip-group{gap:var(--s-2);flex-wrap:wrap;display:flex}.checkbox-chip{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);min-height:38px;font-size:var(--t-sm);color:var(--ink-soft);cursor:pointer;transition:background var(--fast),border-color var(--fast),color var(--fast);align-items:center;gap:7px;padding:0 14px;font-weight:600;display:inline-flex}.checkbox-chip:hover{border-color:var(--teal-300)}.checkbox-chip:has([data-state=checked]){background:var(--tint-positive);border-color:var(--tint-positive-border);color:var(--tone-positive-strong)}.checkbox-chip:has([data-slot=checkbox]:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.chip{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-soft);font-size:var(--t-xs);white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-weight:600;display:inline-flex}.chip-solid{background:var(--surface)}.chip-high,.chip-approved{background:var(--tint-positive-strong);border-color:var(--tint-positive-border);color:var(--tone-positive-strong)}.chip-medium,.chip-pending{background:var(--tint-warning-strong);border-color:var(--tint-warning-border);color:var(--tone-warning)}.chip-low{background:var(--surface-3)}.chip-hidden{background:var(--surface-3);color:var(--ink-muted)}.chip-reported,.chip-rejected{background:var(--tint-danger);border-color:var(--tint-danger-border);color:var(--tone-danger)}.chip-accent{background:var(--tint-accent);border-color:var(--tint-accent-border);color:var(--tone-accent)}.rating{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:700;display:inline-flex}.rating .icon{color:#e6a532;fill:#e6a532;stroke:none;width:1em;height:1em}.empty-state{justify-items:center;gap:var(--s-2);padding:var(--s-8) var(--s-5);border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface-2);text-align:center;color:var(--ink-muted);display:grid}.empty-state b{color:var(--ink);font-size:1rem}.empty-state .empty-icon{border-radius:var(--r-pill);background:var(--surface-3);width:46px;height:46px;color:var(--tone-positive);place-items:center;margin-bottom:2px;display:grid}.empty-state .btn{margin-top:var(--s-2)}.skeleton{border-radius:var(--r-sm);background:var(--surface-3);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-row{gap:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);grid-template-columns:44px 1fr;align-items:center;padding:14px;display:grid}.skeleton-lines{gap:7px;display:grid}.section-title{font-size:var(--t-h2);align-items:center;gap:10px;font-weight:800;display:flex}.section-title .section-icon{border-radius:var(--r-sm);background:var(--tint-positive);width:32px;height:32px;color:var(--tone-positive);flex:none;place-items:center;display:grid}.nav-group-trigger{font:inherit;cursor:pointer;background:0 0;border:0;font-weight:600}.nav-group-trigger[data-active],.nav-link[aria-current=page]{color:var(--tone-positive-strong);background:var(--tint-positive)}.nav-chevron{opacity:.7;width:14px;height:14px}.nav-link .count-badge{margin-inline-start:2px}.nav-menu{min-width:220px;padding:var(--s-2)}.nav-menu ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.nav-menu-item{border-radius:var(--r-sm);width:100%;color:var(--ink-soft);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.nav-menu-item:hover,.nav-menu-item:focus-visible{background:var(--surface-3);color:var(--ink)}.nav-menu-item[aria-current=page]{color:var(--tone-positive-strong);background:var(--tint-positive)}.prefs-menu{padding:var(--s-2)}.prefs-menu .segmented,.menu-section .segmented{margin-bottom:0}.segmented .segmented-option[aria-checked=true]{background:var(--teal-800);color:var(--ink-invert)}.notification-btn{text-decoration:none;position:relative}.notification-btn[aria-current=page]{color:var(--tone-positive-strong);background:var(--tint-positive)}.notification-btn .count-badge{min-width:18px;height:18px;box-shadow:0 0 0 2px var(--surface);padding:0 5px;position:absolute;top:-2px;right:-2px}.menu-section{gap:var(--s-1);padding-top:var(--s-2);border-top:1px solid var(--line);display:grid}.menu-heading{padding:var(--s-1) 14px 0;color:var(--ink-muted);font-family:inherit;font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:800}.mobile-menu .menu-cta{margin-bottom:var(--s-1);justify-content:center}.mobile-menu .menu-logout{font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;font-weight:600}.filter-chips{padding:0 var(--s-3) var(--s-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-removable{cursor:pointer;border:0;align-items:center;gap:4px;display:inline-flex}.chip-removable .icon{width:12px;height:12px}.chip-clear-all{color:var(--tone-positive-strong);font:inherit;font-size:var(--t-sm);cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.empty-actions{justify-content:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.location-notice{margin:0 0 var(--s-2)}.spot-picker{gap:var(--s-2);display:grid}.spot-picker-label{font-size:var(--t-sm);font-weight:700}.spot-picker-value{align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);display:flex}.spot-picker-value>span{flex:1;min-width:0;display:grid}.spot-picker-value small,.spot-picker-option small{color:var(--ink-muted)}.spot-picker-panel{gap:var(--s-2);max-height:320px;padding:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);display:grid;overflow-y:auto}.spot-picker-panel ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.spot-picker-heading{padding:var(--s-2) var(--s-2) 2px;color:var(--ink-muted);font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:800;display:block}.spot-picker-option{border-radius:var(--r-sm);cursor:pointer;gap:2px;padding:10px 12px;display:grid}.spot-picker-option[data-active]{background:var(--surface-3)}.spot-picker-option[aria-disabled=true]{cursor:not-allowed;opacity:.6}.spot-picker-picked{color:var(--tone-positive-strong);font-weight:700}@media(max-width:1360px){.nav-links,.site-header .header-cta,.site-header .header-user,.site-header .header-login{display:none}.icon-btn.menu-toggle{display:inline-grid}}@media(max-width:900px){.site-header{gap:var(--s-2);padding:0 var(--s-3)}.brand-label{display:none}.search{height:42px}.mobile-menu{top:var(--header-h);border-radius:0 0 var(--r-lg) var(--r-lg);border-width:0 0 1px;width:auto;left:0;right:0}}@media(min-width:2101px){.site-header:has(.header-center .search) .header-center{min-width:300px}}.compare-action{flex-wrap:wrap;gap:.35rem;display:inline-flex}.compare-max-reached{color:var(--tone-warning);flex-basis:100%}.compare-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.compare-list{margin:0 0 1rem}.compare-list dt{color:var(--ink-muted);margin-top:.8rem;font-size:.85rem}.compare-list dd{overflow-wrap:anywhere;margin:.2rem 0 0}.compare-list dd.compare-diff{border-radius:var(--r-sm);background:var(--tint-accent,var(--tint-positive));margin-left:-6px;padding:2px 6px;font-weight:600}.compare-undo{align-items:center;gap:var(--s-2);display:flex}@media(max-width:768px){.compare-grid{grid-template-columns:1fr}}@media(max-width:640px){.mobile-menu{max-height:calc(100svh - var(--header-h) - var(--tabbar-h) - var(--s-2));padding-bottom:var(--s-4)}.mobile-menu .nav-link,.mobile-menu .btn{min-height:46px}.btn-lg{min-height:48px}.image-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.icon-btn.menu-toggle{display:none}.mobile-tabbar{z-index:39;padding:5px var(--s-1) max(6px,env(safe-area-inset-bottom));background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);border-top:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.mobile-tabbar-item{border-radius:var(--r-md);min-height:48px;color:var(--ink-muted);font:inherit;text-align:center;background:0 0;border:0;align-content:center;justify-items:center;gap:2px;padding:4px 2px;font-size:.6875rem;font-weight:600;line-height:1.1;text-decoration:none;display:grid}.mobile-tabbar-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-tabbar-item .icon{box-sizing:content-box;border-radius:var(--r-pill);width:21px;height:21px;transition:background var(--fast),color var(--fast);background:0 0;padding:3px 12px}.mobile-tabbar-item:active .icon{background:var(--surface-3)}.mobile-tabbar-item[aria-current=page]{color:var(--tone-positive);font-weight:700}.mobile-tabbar-item[aria-current=page] .icon{background:var(--tint-positive-strong)}.mobile-tabbar-item[aria-expanded=true]{color:var(--ink)}.page-body{padding-bottom:calc(var(--s-12) + var(--tabbar-h))}}@media(max-width:480px){.site-header{gap:var(--s-1);padding-inline:var(--s-2)}.site-header .brand-mark{width:36px;height:36px}.site-header .header-end{gap:var(--s-1)}.site-header .header-end .icon-btn,.site-header .header-end>.btn{width:44px;min-width:44px;height:44px;padding:0}.site-header .header-end>.btn{font-size:0;position:relative}.site-header .header-end>.btn .icon{font-size:var(--t-body)}.site-header .header-end>.btn .count-badge{min-width:18px;height:18px;font-size:var(--t-xs);box-shadow:0 0 0 2px var(--surface);padding:0 5px;position:absolute;top:-2px;right:-2px}}@media(max-width:380px){.image-preview-grid{grid-template-columns:1fr}}@media(max-width:640px){.btn-sm{min-height:40px;padding-inline:14px}.icon-btn{width:44px;height:44px}.search .icon-btn{width:36px;height:36px}.favorite-btn-sm{height:40px}}.app-shell{overscroll-behavior:none;flex-direction:column;height:100svh;display:flex;overflow:hidden}.map-stage{isolation:isolate;flex:auto;min-height:0;position:relative}.map-canvas-shell,.map-canvas{position:absolute;inset:0}.map-canvas{background:var(--surface-3)}.map-error{z-index:20;width:min(360px,calc(100% - 2 * var(--s-4)));justify-items:center;gap:var(--s-3);padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-error p{color:var(--ink-muted);margin:0}.map-canvas-loading{color:var(--ink-muted,currentColor);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;animation:1.4s ease-in-out infinite map-canvas-pulse;display:flex}.map-canvas-loading-icon{width:2rem;height:2rem}@keyframes map-canvas-pulse{0%,to{opacity:1}50%{opacity:.6}}.map-tools{z-index:12;top:var(--s-4);gap:var(--s-2);display:flex;position:absolute;left:50%;transform:translate(-50%)}.area-button{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);color:var(--map-control-ink)}.area-button:hover:not(:disabled){background:var(--surface)}.search-console{z-index:15;top:var(--s-4);bottom:var(--s-4);left:var(--s-4);width:380px;max-width:calc(100% - 2 * var(--s-4));border:1px solid var(--line);border-radius:var(--r-2xl);background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;overflow:hidden}.sheet-handle{display:none}.console-head{align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-4) var(--s-3);display:flex}.console-search{flex:auto;min-width:0;max-width:none}.filter-toggle{flex:none}.filter-toggle-chevron{transition:transform var(--fast)}.console-filters{min-height:0;padding:0 var(--s-4) var(--s-4);flex:auto;overflow:auto}.filter-grid{gap:var(--s-3) var(--s-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.filter-foot{align-items:stretch;gap:var(--s-2);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line);flex-direction:column;display:flex}.filter-foot .radius-row{align-items:stretch;gap:var(--s-2);flex-direction:column;display:flex}.filter-foot .btn{width:100%}.results-heading{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:0 var(--s-5) var(--s-3);display:flex}.results-heading h1{margin-top:4px;font-size:1.5rem}.result-count{border-radius:var(--r-md);background:var(--tint-positive);min-width:40px;height:34px;color:var(--tone-positive-strong);font-variant-numeric:tabular-nums;place-items:center;padding:0 10px;font-weight:800;display:grid}.results-scroll{overscroll-behavior:contain;min-height:0;padding:0 var(--s-3) var(--s-4);flex:auto;overflow:auto}.spot-list{gap:6px;display:grid}.spot-card{gap:var(--s-3);border-radius:var(--r-md);width:100%;color:var(--ink);text-align:left;transition:background var(--fast),border-color var(--fast),box-shadow var(--fast);background:0 0;border:1px solid #0000;grid-template-columns:40px 1fr auto;align-items:center;padding:12px;display:grid}.spot-card:hover{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.spot-card.selected{background:var(--surface);border-color:var(--tint-positive-border);box-shadow:var(--shadow-sm)}.spot-card-icon{border-radius:var(--r-sm);background:var(--tint-accent);width:40px;height:40px;color:var(--tone-accent);place-items:center;display:grid}.spot-card.selected .spot-card-icon{background:var(--accent-control);color:#fff}.spot-card-main{min-width:0;display:grid}.spot-card-main b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spot-card-main small{color:var(--ink-muted);font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;overflow:hidden}.spot-card-meta{font-size:var(--t-sm);justify-items:end;gap:2px;display:grid}.spot-card-meta small{color:var(--ink-muted);font-variant-numeric:tabular-nums}.spot-preview{z-index:18;right:var(--s-4);bottom:var(--s-4);width:min(400px,calc(100% - 2 * var(--s-4)));padding:var(--s-6);border-radius:var(--r-2xl);color:var(--ink-invert);background:radial-gradient(120% 100% at 100% 0%,#35907f8c,transparent 60%),linear-gradient(155deg,var(--teal-800),var(--teal-950));box-shadow:var(--shadow-xl);animation:preview-in var(--normal) both;position:absolute}@keyframes preview-in{0%{opacity:0;transform:translateY(14px)}}.spot-preview .eyebrow{color:var(--coral-200)}.spot-preview h2{color:#fff;margin:6px 44px 4px 0;font-size:1.5rem}.spot-preview .preview-address{margin:0 0 var(--s-5);color:var(--ink-invert-soft);font-size:var(--t-sm)}.preview-close{color:var(--ink-invert-soft);position:absolute;top:12px;right:12px}.preview-close:hover:not(:disabled){color:#fff;background:#ffffff24}.preview-stats{gap:var(--s-2);margin-bottom:var(--s-5);grid-template-columns:repeat(3,1fr);display:grid}.preview-stats>div{border-radius:var(--r-md);background:#ffffff17;gap:2px;padding:10px 12px;display:grid}.preview-stats small{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-invert-soft);font-size:10px;font-weight:700}.preview-stats b{font-size:var(--t-body);color:#fff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-actions{gap:var(--s-2);display:flex}.preview-actions .btn{flex:1 1 0}.preview-actions .btn-outline{color:#fff;background:#ffffff1a;border-color:#ffffff40}.preview-actions .btn-outline:hover:not(:disabled){background:#ffffff2e}.preview-score .score-badge{color:#fff;background:#ffffff1a;border-color:#ffffff40}.preview-score .score-badge b{color:var(--score-tone,#fff)}.preview-score .favorite-btn{color:#fff;background:#ffffff1a;border-color:#ffffff40}.preview-score .favorite-btn:hover:not(:disabled),.preview-score .favorite-btn.is-active{color:#fff;background:#ffffff2e;border-color:#fff6}.preview-score .compare-action .btn-outline{color:#fff;background:#ffffff1a;border-color:#ffffff40}.preview-score .compare-action .btn-outline:hover:not(:disabled){background:#ffffff2e}.preview-score .compare-action .btn-ghost{color:var(--ink-invert-soft)}.preview-score .compare-action .btn-ghost:hover:not(:disabled){color:#fff;background:#ffffff1f}.maplibregl-ctrl-top-right{top:6px}.maplibregl-ctrl-group{border:1px solid var(--line);overflow:hidden;border-radius:var(--r-md)!important;box-shadow:var(--shadow-md)!important}.maplibregl-ctrl-group button+button{border-top-color:var(--line)!important}.maplibregl-ctrl-attrib{border-radius:var(--r-pill) 0 0 0;font-size:10px}.maplibregl-ctrl-attrib.maplibregl-compact{border-radius:var(--r-pill)}@media(max-width:900px){.map-tools{top:var(--s-3)}.search-console{width:auto;max-width:none;height:var(--sheet-peek);border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding-bottom:env(safe-area-inset-bottom);transition:height var(--normal);border-width:1px 0 0;inset:auto 0 0}.search-console.expanded,.search-console.filters-open{height:88%}.sheet-handle{touch-action:none;background:0 0;border:0;width:100%;padding:10px 0 4px;display:block}.sheet-handle:before{content:"";border-radius:var(--r-pill);background:var(--line-strong);width:44px;height:4px;margin:0 auto;display:block}.console-head{padding:4px var(--s-3) var(--s-3)}.results-heading{padding:0 var(--s-4) var(--s-3)}.results-heading h1{font-size:1.25rem}.results-scroll{padding:0 var(--s-2) var(--s-4)}.spot-preview{right:var(--s-2);left:var(--s-2);bottom:calc(var(--sheet-peek) + var(--s-2));width:auto;padding:var(--s-4)}.spot-preview h2{font-size:1.25rem}.spot-preview .preview-address,.preview-stats{margin-bottom:var(--s-3)}.preview-stats>div{padding:8px 10px}.maplibregl-ctrl-bottom-right{bottom:calc(var(--sheet-peek) + 4px)}}@media(max-width:620px){.filter-label{display:none}.site-header .header-end .btn{padding:0 12px}.preview-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.preview-actions .btn,.preview-actions .favorite-btn,.preview-actions .compare-action{width:100%;min-width:0}}@media(max-width:480px){.map-tools{left:var(--s-3);width:auto;right:52px;transform:none}.map-tools .btn{width:100%}.spot-card{gap:var(--s-2);grid-template-columns:36px minmax(0,1fr) auto}.preview-stats{gap:6px}.preview-stats>div{padding:7px 8px}.preview-stats b{font-size:var(--t-sm)}}.map-user-dot{background:#1a73e8;border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 2px #1a73e859}.map-user-dot:after{content:"";border:2px solid #1a73e866;border-radius:50%;animation:2s ease-out infinite mm-user-pulse;position:absolute;inset:-8px}@keyframes mm-user-pulse{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}@media(max-width:640px){.search-console{bottom:var(--tabbar-h);padding-bottom:max(var(--s-3),env(safe-area-inset-bottom))}.maplibregl-ctrl-bottom-right{bottom:calc(var(--sheet-peek) + var(--tabbar-h) + 4px)}}.page{flex-direction:column;min-height:100svh;display:flex}.page-body{width:100%;max-width:var(--page-max);padding:var(--s-6) clamp(var(--s-4),3vw,var(--s-6)) var(--s-12);margin:0 auto}.page-body--wide{max-width:1180px}.catalog-page,.search-page,.logs-page,.plans-page,.profile-page,.account-page,.contributions-page,.compare-page{padding-top:var(--s-8)}.detail-page{max-width:1040px}.detail-status{justify-items:center;gap:var(--s-3);width:min(460px,calc(100% - 2 * var(--s-4)));padding:var(--s-8) var(--s-6);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-md);text-align:center;margin:auto;display:grid}.detail-status b{font-family:var(--font-display);font-size:1.25rem}.detail-status p{color:var(--ink-muted)}.detail-status-actions{justify-content:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.auth-card{gap:var(--s-3)}.auth-card .btn{width:100%}.auth-divider{align-items:center;gap:var(--s-3);width:100%;margin:var(--s-1) 0;color:var(--ink-muted);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.1em;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.spot-jump-nav{top:var(--header-h,0px);z-index:5;gap:var(--s-2);margin:var(--s-2) 0 var(--s-4);padding:var(--s-2) 0;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex;position:sticky}.spot-jump-nav a{border-radius:var(--r-pill);color:var(--ink-soft);font-size:var(--t-sm);background:var(--surface-3);padding:6px 12px;font-weight:600;text-decoration:none}.spot-jump-nav a:hover,.spot-jump-nav a:focus-visible{color:var(--ink);background:var(--tint-positive)}.detail-hero{aspect-ratio:16/9;border-radius:var(--r-2xl);background:var(--surface-3);max-height:420px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.detail-hero img{object-fit:cover;width:100%;height:100%;display:block}.detail-hero-trigger,.detail-gallery-trigger{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.detail-hero-trigger:focus-visible,.detail-gallery-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.detail-hero-empty{align-content:center;place-items:center;gap:var(--s-2);height:100%;color:var(--ink-muted);background:linear-gradient(150deg,var(--tint-positive),var(--surface-3));display:grid}.detail-hero-empty .icon{width:34px;height:34px;color:var(--tone-positive)}.detail-head{padding:var(--s-6) 0 var(--s-2)}.detail-head h1{margin:var(--s-2) 0 var(--s-4);font-size:clamp(1.65rem,4vw,var(--t-display))}.form-step-nav{top:var(--header-h,0px);z-index:5;margin-bottom:var(--s-4);padding:var(--s-2) 0;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;overflow-x:auto}.form-step-nav ol{gap:var(--s-2);white-space:nowrap;margin:0;padding:0;list-style:none;display:flex}.form-step-nav a{border-radius:var(--r-full,999px);font-size:var(--t-sm);color:var(--ink-muted);align-items:center;gap:6px;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-flex}.form-step-index{background:var(--surface-3);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;display:inline-flex}.form-step-nav a[aria-current=step]{color:var(--tone-positive);background:var(--tint-positive)}.form-step-nav a[aria-current=step] .form-step-index{background:var(--tone-positive);color:#fff}.detail-tags{gap:var(--s-2);flex-wrap:wrap;display:flex}.detail-lead{max-width:68ch;margin-top:var(--s-4);color:var(--ink-soft);font-size:1rem;line-height:1.65}.detail-cta{align-items:center;gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.detail-section{margin-top:var(--s-5);padding:var(--s-5) clamp(var(--s-4),2vw,var(--s-6));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.detail-section>.section-title{margin-bottom:var(--s-4)}.detail-note{color:var(--ink-muted);font-size:var(--t-sm)}.detail-coords{color:var(--ink-soft);font-variant-numeric:tabular-nums}.detail-links{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.detail-list,.detail-reviews{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.detail-list>li,.detail-reviews>li{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.detail-list>li:hover{border-color:var(--line-strong)}.detail-list>li{transition:border-color var(--fast),background var(--fast),box-shadow var(--fast)}.detail-list>li:has(a:hover){border-color:var(--teal-300);background:var(--surface);box-shadow:var(--shadow-sm)}.detail-list>li a{text-decoration-thickness:1px}.detail-row-main{align-items:baseline;gap:var(--s-2);flex-wrap:wrap;display:flex}.detail-row-main b{font-size:1rem}.detail-row-main i{color:var(--ink-muted);font-size:var(--t-sm)}.detail-row-meta{margin-top:var(--s-2);flex-wrap:wrap;gap:6px;display:flex}.detail-reviews li{background:var(--surface)}.detail-list+.detail-note,.detail-gallery+.detail-note{margin-top:var(--s-3)}.review-head+p{margin-top:var(--s-2)}.detail-reviews time{color:var(--ink-muted);font-size:var(--t-xs);margin-top:6px;display:block}.review-head{align-items:center;gap:var(--s-2);display:flex}.avatar{border-radius:var(--r-pill);background:var(--tint-positive-strong);width:34px;height:34px;color:var(--tone-positive-strong);font-weight:800;font-size:var(--t-sm);text-transform:uppercase;flex:none;place-items:center;display:grid}.detail-gallery{column-width:180px;column-gap:var(--s-3)}.detail-gallery figure{margin:0 0 var(--s-3);break-inside:avoid}.detail-gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-md);background:var(--surface-3);width:100%;transition:transform var(--normal)}.detail-gallery figure:hover img{transform:scale(1.02)}.detail-gallery figcaption{color:var(--ink-muted);font-size:var(--t-xs);margin-top:6px}.list-head{justify-content:space-between;align-items:flex-end;gap:var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.list-head h1{margin:var(--s-2) 0 0;font-size:var(--t-display)}.fish-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.fish-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs);color:inherit;transition:transform var(--fast),box-shadow var(--fast),border-color var(--fast);flex-direction:column;padding:10px;text-decoration:none;display:flex}.fish-card:hover{border-color:var(--tint-positive-border);box-shadow:var(--shadow-md);color:inherit;transform:translateY(-2px)}.fish-card-image{aspect-ratio:4/3;border-radius:var(--r-md);background:linear-gradient(150deg,var(--tint-positive),var(--surface-3));color:var(--tone-positive);place-items:center;margin-bottom:10px;display:grid;overflow:hidden}.fish-card-image img{object-fit:cover;width:100%;height:100%}.fish-card-image .icon{width:38px;height:38px}.fish-card-image.tile-2,.detail-hero-empty.tile-2{background:linear-gradient(150deg,var(--tint-accent),var(--tint-accent-strong));color:var(--tone-accent)}.fish-card-image.tile-3,.detail-hero-empty.tile-3{background:linear-gradient(150deg,var(--tint-warning),var(--tint-warning-strong));color:var(--tone-warning)}.fish-card-image.tile-4,.detail-hero-empty.tile-4{background:linear-gradient(150deg,var(--tint-positive),var(--tint-positive-strong));color:var(--tone-positive-strong)}.fish-card-image.tile-5,.detail-hero-empty.tile-5{background:linear-gradient(150deg,var(--tint-accent),var(--tint-positive));color:var(--tone-accent)}.fish-card-image.tile-6,.detail-hero-empty.tile-6{background:linear-gradient(150deg,var(--tint-warning),var(--tint-positive));color:var(--tone-warning)}.fish-card b{padding:0 4px}.fish-card i{color:var(--ink-muted);font-size:var(--t-xs);padding:0 4px 4px}.location-picker{border:1px solid var(--line);border-radius:var(--r-lg);height:clamp(260px,42vh,380px);overflow:hidden}.form-stack{gap:var(--s-4);display:grid}.form-page{max-width:820px}.form-page>h1:first-of-type{margin-top:var(--s-3);font-size:clamp(1.65rem,4vw,var(--t-display))}.list-toolbar{justify-content:space-between;align-items:end;gap:var(--s-3);margin-bottom:var(--s-5);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-wrap:wrap;display:flex}.list-toolbar .field{flex:0 240px}.filter-panel{margin:0 0 var(--s-5);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.duplicate-warning{border-color:var(--tint-warning-border);background:var(--tint-warning)}.duplicate-warning .section-icon{background:var(--tint-warning-strong);color:var(--tone-warning)}.form-footer{align-items:center;gap:var(--s-3);margin-top:var(--s-5);padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--bg);flex-wrap:wrap;display:flex;position:sticky;bottom:0}@supports (color:color-mix(in lab,red,red)){.form-footer{background:color-mix(in srgb,var(--bg) 92%,transparent)}}.form-footer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:2}.admin-queue>.detail-cta>.search{flex:280px;width:auto}.admin-queue-filters{align-items:end;gap:var(--s-3);margin-bottom:var(--s-4);padding:var(--s-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:minmax(220px,1fr) minmax(140px,auto) minmax(140px,auto) auto;display:grid}.admin-queue-filters .field{margin:0}.bulk-action-bar,.filter-summary{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);padding:var(--s-3);background:var(--tint-accent);border:1px solid var(--tint-accent-border);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.filter-summary{justify-content:space-between}.admin-overview{gap:var(--s-5);margin-bottom:var(--s-6);display:grid}.admin-overview-group{gap:var(--s-3);display:grid}.admin-overview-group h2{color:var(--ink-muted);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:800}.stat-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.stat-card{padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs);gap:2px;display:grid}.stat-card b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.75rem;line-height:1.1}.stat-card span{color:var(--ink-muted);font-size:var(--t-xs)}.stat-alert{border-color:var(--tint-warning-border);background:var(--tint-warning)}.stat-alert b{color:var(--tone-warning)}.stat-grid--compact{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.stat-grid--compact .stat-card{padding:var(--s-3);border-radius:var(--r-md);box-shadow:none;background:var(--surface-2)}.stat-grid--compact .stat-card b{font-size:1.15rem}.observability-panel{margin-bottom:var(--s-6);padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.observability-panel .stat-grid{margin:var(--s-4) 0}.dependency-list{gap:var(--s-2);flex-wrap:wrap;display:flex}.dependency-status{background:var(--surface-3);color:var(--ink-muted);font-size:var(--t-xs);border-radius:999px;padding:5px 9px;font-weight:700}.dependency-status--up{color:var(--tone-positive);background:var(--tint-positive)}.dependency-status--down{color:var(--tone-danger);background:var(--tint-danger)}.guide-hub{gap:var(--s-4);margin:var(--s-6) 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:0;list-style:none;display:grid}.guide-card{gap:var(--s-2);height:100%;padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);transition:box-shadow var(--fast),transform var(--fast);text-decoration:none;display:grid}.guide-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.guide-card>span:not(.section-icon){color:var(--ink-muted)}.guide-card .guide-card-cta{color:var(--tone-positive-strong);align-items:center;gap:6px;font-weight:700;display:inline-flex}.segmented{margin-bottom:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented button{border-radius:var(--r-sm);min-height:34px;color:var(--ink-soft);font-weight:700;font-size:var(--t-sm);white-space:nowrap;transition:background var(--fast),color var(--fast);background:0 0;border:0;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.segmented button:hover{background:var(--surface-3)}.segmented button.active,.segmented button[data-state=active]{background:var(--teal-800);color:var(--ink-invert)}.tab-count{background:var(--coral-500);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.segmented button.active .tab-count,.segmented button[data-state=active] .tab-count{color:var(--teal-800);background:#fff}.section-heading{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.queue-split{gap:var(--s-4);grid-template-columns:minmax(260px,340px) 1fr;align-items:start;display:grid}.queue-list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.queue-select-row{align-items:center;gap:var(--s-2);grid-template-columns:auto minmax(0,1fr);display:grid}.queue-checkbox{align-items:center;gap:var(--s-2);min-height:32px;color:var(--ink-muted);font-size:var(--t-xs);display:inline-flex}.queue-checkbox input{width:18px;height:18px;accent-color:var(--accent-control)}.queue-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:left;width:100%;transition:border-color var(--fast),box-shadow var(--fast);border-left:3px solid #0000;gap:3px;padding:12px 14px;display:grid}.queue-row:hover{box-shadow:var(--shadow-sm)}.queue-row.active{border-color:var(--tint-positive-border);border-left-color:var(--tone-positive);box-shadow:var(--shadow-sm)}.spot-review .section-title{margin-bottom:var(--s-3)}.spot-review .detail-tags+p{margin-top:var(--s-3)}.spot-review{top:calc(var(--header-h) + var(--s-4));margin-top:0;position:sticky}@media(max-width:768px){.admin-queue-filters{grid-template-columns:1fr 1fr}.admin-queue-filters .field:first-child,.admin-queue-filters .detail-cta{grid-column:1/-1}.queue-split{grid-template-columns:1fr}.spot-review{position:static}.segmented{scroll-snap-type:x proximity;flex-wrap:nowrap;width:100%;display:flex;overflow-x:auto}.segmented button{scroll-snap-align:start;flex:none}}@media(max-width:640px){.page-body{padding:var(--s-4) var(--s-3) var(--s-10)}.detail-head{padding-top:var(--s-5)}.detail-cta .btn,.form-footer .btn{flex:160px}.detail-section{margin-top:var(--s-4);padding:var(--s-4);border-radius:var(--r-md)}.detail-hero{margin-inline:calc(-1 * var(--s-3));border-radius:0}.list-head{align-items:stretch}.list-head>.search,.list-head>.detail-cta{width:100%}.catalog-page,.search-page,.logs-page,.plans-page,.profile-page,.account-page,.contributions-page,.compare-page{padding-top:var(--s-4)}.list-toolbar{padding:var(--s-3);align-items:stretch}.list-toolbar>*,.list-toolbar .field{flex-basis:auto;width:100%}.section-heading{gap:var(--s-2);flex-direction:column}}.catch-form{gap:1rem;margin-bottom:1.5rem;display:grid}.form-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.detail-status>.field{text-align:left;width:100%}.detail-head h1,.section-title,.catch-card-body{overflow-wrap:anywhere}.catch-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.catch-card{border:1px solid var(--line);border-radius:var(--r-md);padding:.9rem;display:block}.weather-panel,.weather-summary{gap:var(--s-4);display:grid}.weather-main{align-items:center;gap:var(--s-3);display:flex}.weather-main .icon{width:36px;height:36px;color:var(--tone-warning)}.weather-main strong{font:700 2rem/1 var(--font-display)}.weather-summary dl{gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0;display:grid}.weather-summary dl div,.weather-hours>div{padding:var(--s-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm)}.weather-summary dt,.weather-source,.weather-hours small{color:var(--ink-muted);font-size:var(--t-xs)}.weather-summary dd{margin:var(--s-1) 0 0;font-weight:700}.weather-hours{gap:var(--s-2);padding-bottom:var(--s-2);grid-template-columns:repeat(8,minmax(82px,1fr));display:grid;overflow-x:auto}.weather-hours>div{justify-items:center;gap:var(--s-2);display:grid}.weather-hours .icon{color:var(--tone-positive)}.weather-source,.weather-status{margin:0}.search-page-form{gap:var(--s-3);margin-bottom:var(--s-6);grid-template-columns:minmax(0,1fr) auto;display:grid}.search-kind-filters{gap:var(--s-2);margin:calc(var(--s-3) * -1) 0 var(--s-5);scrollbar-width:thin;padding-block:2px;display:flex;overflow-x:auto}.search-kind-filters button{flex:none}.search-suggestion button{color:var(--accent-control);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.search-results{gap:var(--s-2);padding:0;list-style:none;display:grid}.search-results a{align-items:center;gap:var(--s-3);padding:var(--s-4);color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.search-results li{gap:2px;display:grid}.search-results .search-result-map{padding:4px var(--s-3);color:var(--tone-positive-strong);font-size:var(--t-sm);background:0 0;border:0;grid-template-columns:none;justify-self:start;gap:6px;font-weight:700;display:inline-flex}.search-results .search-result-map:hover{background:var(--tint-positive);box-shadow:none;transform:none}.search-results a:hover{border-color:var(--tint-positive-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.search-results a>span:nth-child(2){gap:var(--s-1);display:grid}.search-results small,.search-results a>span>span{color:var(--ink-muted)}.search-results mark{color:inherit;background:var(--tint-accent-strong);border-radius:2px;padding-inline:1px}@media(max-width:480px){.search-page-form{grid-template-columns:1fr}.search-results a{grid-template-columns:auto minmax(0,1fr)}.search-results a>.icon:last-child{display:none}}.affiliate-panel{padding:var(--s-5);background:var(--tint-warning);border:1px solid var(--tint-warning-border);border-radius:var(--r-lg)}.affiliate-head{justify-content:space-between;align-items:start;gap:var(--s-3);display:flex}.affiliate-head h2{margin:var(--s-1) 0 var(--s-4)}.affiliate-grid{gap:var(--s-3);display:grid}.affiliate-card{align-items:center;gap:var(--s-4);padding:var(--s-3);background:var(--surface);border-radius:var(--r-md);grid-template-columns:80px minmax(0,1fr) auto;display:grid}.affiliate-card img,.affiliate-placeholder{object-fit:cover;background:var(--surface-3);border-radius:var(--r-sm);place-items:center;width:80px;height:80px;display:grid}.affiliate-card h3,.affiliate-card p{margin:var(--s-1) 0}.affiliate-actions{gap:var(--s-1);justify-items:end;display:grid}.affiliate-report-link{color:var(--ink-muted);font-size:var(--t-xs);text-decoration:underline}.affiliate-card small,.affiliate-disclosure{color:var(--ink-muted);font-size:var(--t-xs)}.affiliate-disclosure{gap:var(--s-2);margin:var(--s-3) 0 0;display:flex}@media(max-width:640px){.affiliate-card{grid-template-columns:64px minmax(0,1fr)}.affiliate-card .btn{grid-column:1/-1;width:100%}.affiliate-card img,.affiliate-placeholder{width:64px;height:64px}}.catch-card>.btn{margin-top:1rem}.detail-section>summary{margin:calc(-1 * var(--s-2)) 0 var(--s-3);padding:var(--s-2) 0;color:var(--ink);font-family:var(--font-display);font-size:var(--t-h2);cursor:pointer;font-weight:800}.catch-image-grid{gap:var(--s-3);margin:var(--s-4) 0;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.catch-image-card{gap:var(--s-2);min-width:0;padding:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);margin:0;display:grid}.catch-image-card img{aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);background:var(--surface-3);width:100%}.catch-image-card .btn{white-space:normal;width:100%;min-width:0}.fish-image-upload{align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.fish-image-upload .field{flex:220px}.fish-species-thumb{border-radius:var(--r-md);object-fit:cover;background:var(--surface-3);flex-shrink:0;width:56px;height:56px}.fish-species-thumb--empty{border:1px dashed var(--line-strong);color:var(--ink-muted);place-items:center;display:grid}.fish-species-thumb--sm{border-radius:var(--r-sm);width:36px;height:36px}.notification-log-item{gap:var(--s-1);flex-direction:column;display:flex}.notification-log-item time{color:var(--ink-muted);font-size:.85em}.notification-log-item-unread{padding-left:var(--s-3);border-left:3px solid var(--accent-control);background:var(--surface-2);border-radius:var(--r-sm);position:relative}.affiliate-spot-results{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.account-avatar-thumb{object-fit:cover;background:var(--surface-3);border-radius:50%;flex-shrink:0;width:72px;height:72px}.account-avatar-thumb--empty{border:1px dashed var(--line-strong);color:var(--ink-muted);place-items:center;display:grid}.legal-page{max-width:840px}.compare-toolbar{align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.compare-toggle{align-items:center;gap:var(--s-2);font-weight:600;display:inline-flex}.compare-column{flex-direction:column;min-width:0;display:flex}.compare-column .compare-list{flex:1}.compare-column>.btn{white-space:normal;width:100%}.data-grid{gap:var(--s-2) var(--s-4);margin:var(--s-4) 0;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);display:grid}.simple-table{width:100%;margin:var(--s-3) 0;border-collapse:collapse;font-size:var(--t-sm)}.simple-table td,.simple-table th{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);text-align:left}.simple-table tr:last-child td{border-bottom:none}.data-grid dt{color:var(--ink-muted);font-size:var(--t-sm);font-weight:700}.data-grid dd{min-width:0;margin:0}.checklist-view{gap:var(--s-2);margin:var(--s-3) 0 var(--s-5);padding:0;list-style:none;display:grid}.checklist-view li{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.legal-page h2{margin-top:var(--s-6);margin-bottom:var(--s-2)}.legal-page p{line-height:1.75}.legal-links,.auth-legal{gap:var(--s-3);flex-wrap:wrap;display:flex}.legal-links{margin-top:var(--s-8);padding-top:var(--s-4);border-top:1px solid var(--line)}.auth-legal{max-width:38rem;color:var(--ink-muted);font-size:var(--t-sm);text-align:center;justify-content:center;line-height:1.6}@media(max-width:480px){.detail-status{width:calc(100% - 2 * var(--s-3));margin-block:var(--s-6);padding:var(--s-6) var(--s-4)}.fish-grid{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr))}.fish-card{padding:var(--s-2)}.legal-links{flex-direction:column;align-items:flex-start}.data-grid{gap:var(--s-1);grid-template-columns:1fr}.data-grid dd+dt{margin-top:var(--s-2)}}.diff-list{gap:var(--s-2);margin:var(--s-4) 0;padding:0;list-style:none;display:grid}.diff-list li{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);gap:4px;display:grid}.diff-field{color:var(--ink-muted);font-size:var(--t-sm);font-weight:700}.diff-values{align-items:baseline;gap:var(--s-2);flex-wrap:wrap;min-width:0;display:flex}.diff-from,.diff-to{overflow-wrap:anywhere;min-width:0}.diff-from{color:var(--ink-muted);-webkit-text-decoration-color:var(--tone-danger);text-decoration-color:var(--tone-danger)}.diff-to{color:var(--tone-positive);font-weight:700}.diff-arrow{color:var(--ink-muted);flex:none;align-self:center}.page-body--wide .detail-head{margin-bottom:var(--s-4)}.page-body--wide .detail-head h1{margin-bottom:var(--s-1)}.admin-attention{gap:var(--s-3);margin-bottom:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.attention-item{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-left:4px solid var(--line-strong,var(--line));border-radius:var(--r-md);background:var(--surface);color:inherit;text-align:left;cursor:pointer;transition:box-shadow var(--fast),transform var(--fast);gap:2px;display:grid}.attention-item:hover{box-shadow:var(--shadow-sm,var(--shadow-xs));transform:translateY(-1px)}.attention-item b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.1}.attention-item span{color:var(--ink-muted);font-size:var(--t-xs);font-weight:600}.attention-item--alert{border-left-color:var(--tone-warning);background:var(--tint-warning)}.attention-item--alert b{color:var(--tone-warning)}.page-body--wide .segmented{width:100%;margin-bottom:var(--s-5);scrollbar-width:thin;flex-wrap:nowrap;display:flex;overflow-x:auto}.admin-insights{margin-top:var(--s-8,var(--s-6));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.admin-insights>summary{padding:var(--s-4) var(--s-5);cursor:pointer;font-weight:800}.admin-insights[open]>summary{border-bottom:1px solid var(--line)}.admin-insights .admin-overview,.admin-insights .observability-panel{margin:var(--s-5)}.admin-insights .observability-panel{border:0;padding:0}.admin-insights .stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-queue .detail-reviews>li{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.spot-edit-form{gap:var(--s-3);margin:var(--s-4) 0;border:1px dashed var(--tint-accent-border,var(--line));background:var(--surface-2);display:grid}.spot-edit-form .field{gap:6px;display:grid}.spot-edit-form .detail-cta{margin-top:var(--s-1)}.spot-edit-form .field-row{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.spot-review .section-heading{flex-wrap:wrap;align-items:center}.spot-review .section-heading>.section-title{flex:220px;margin:0}.spot-review .section-heading{gap:var(--s-2)}.pagination{justify-content:center;align-items:center;gap:var(--s-2);margin:var(--s-6) 0 var(--s-2);display:flex}.pagination[data-busy]{opacity:.6}.pagination-arrow,.pagination-page,.pagination-status{min-width:44px;min-height:44px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink-soft);font:inherit;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-xs);transition:background var(--fast),border-color var(--fast),color var(--fast),transform var(--fast);justify-content:center;align-items:center;gap:4px;font-weight:700;display:inline-flex}.pagination-arrow:hover:not(:disabled),.pagination-page:hover:not(:disabled):not([aria-current=page]){border-color:var(--teal-300);background:var(--surface-2);color:var(--ink)}.pagination-arrow:active:not(:disabled),.pagination-page:active:not(:disabled){transform:translateY(1px)}.pagination-arrow:disabled{opacity:.4;box-shadow:none}.pagination-status{box-shadow:none;cursor:default;background:0 0;border-style:dashed}.pagination-pages{align-items:center;gap:var(--s-1);margin:0;padding:0;list-style:none;display:flex}.pagination-page[aria-current=page]{border-color:var(--primary);background:var(--primary);color:var(--ink-invert);box-shadow:var(--shadow-sm)}.pagination-gap{min-width:24px;color:var(--ink-muted);letter-spacing:1px;place-items:center;display:grid}@media(max-width:520px){.pagination{gap:var(--s-1)}.pagination-arrow-label{display:none}.pagination-arrow{min-width:46px;padding:0}.pagination-pages{flex:1;justify-content:center}.pagination-pages li:not(:has([aria-current=page])){display:none}.pagination-page[aria-current=page]{padding-inline:var(--s-5)}.pagination-status{flex:1;max-width:12rem}}.calendar{--calendar-cell:40px;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-lg);background:var(--surface);display:grid}.calendar-head{align-items:center;gap:var(--s-2);grid-template-columns:44px minmax(0,1fr) 44px;display:grid}.calendar-month{font-family:var(--font-display);font-size:var(--t-h2);text-align:center;text-transform:capitalize}.calendar-nav{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:44px;height:44px;color:var(--ink-soft);transition:background var(--fast),color var(--fast),border-color var(--fast);place-items:center;display:inline-grid}.calendar-nav:hover:not(:disabled){border-color:var(--teal-300);background:var(--surface-2);color:var(--ink)}.calendar-nav:disabled{opacity:.35}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.calendar-weekdays span{padding-bottom:var(--s-1);color:var(--ink-muted);font-size:var(--t-xs);text-align:center;text-transform:capitalize;font-weight:700}.calendar-day{min-height:var(--calendar-cell);border-radius:var(--r-sm);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;transition:background var(--fast),color var(--fast),border-color var(--fast);background:0 0;border:1px solid #0000;place-items:center;padding:0;font-weight:600;display:grid}.calendar-day:hover:not(:disabled):not([aria-selected=true]){background:var(--surface-3)}.calendar-day[data-outside]{color:var(--ink-muted);opacity:.5}.calendar-day:disabled{opacity:.25;cursor:not-allowed}.calendar-day[data-today]:not([aria-selected=true]){border-color:var(--tint-positive-border);color:var(--tone-positive)}.calendar-day[aria-selected=true]{background:var(--primary);border-color:var(--primary);color:var(--ink-invert);font-weight:800}.calendar-day[data-marked]:after{content:"";border-radius:var(--r-pill);background:var(--accent-control);width:4px;height:4px;margin-top:22px;position:absolute}.calendar-day{position:relative}.calendar-day[aria-selected=true]:after{background:var(--ink-invert)}.calendar-foot{padding-top:var(--s-1);border-top:1px solid var(--line);justify-content:center;display:flex}.date-field{gap:6px;min-width:0;display:grid;position:relative}.date-field-control{gap:var(--s-2);align-items:center;display:flex}.date-field-trigger{align-items:center;gap:var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);min-width:0;min-height:44px;color:var(--ink);font:inherit;text-align:left;transition:border-color var(--fast),box-shadow var(--fast);flex:1;padding:10px 12px;font-weight:600;display:flex}.date-field-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.date-field-trigger[data-empty]{color:var(--ink-muted);font-weight:500}.date-field-trigger:hover{border-color:var(--teal-300)}.date-field-trigger[aria-expanded=true]{border-color:var(--focus);box-shadow:var(--ring)}.date-field-caret{color:var(--ink-muted);transition:transform var(--fast);flex:none}.date-field-trigger[aria-expanded=true] .date-field-caret{transform:rotate(180deg)}.date-field-clear{border-color:var(--line);flex:none;width:44px;height:44px}.date-field-scrim{display:none}.date-field-popover{z-index:45;width:min(320px,calc(100vw - 2 * var(--s-4)));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:calendar-pop var(--fast) both;position:absolute;top:calc(100% + 6px);left:0}@keyframes calendar-pop{0%{opacity:0;transform:translateY(-6px)}}@media(max-width:640px){.calendar{--calendar-cell:44px;padding:var(--s-4)}.date-field-scrim{z-index:50;animation:fade-in var(--fast) both;background:#0a272373;display:block;position:fixed;inset:0}.date-field-popover{z-index:51;width:auto;padding-bottom:max(var(--s-3),env(safe-area-inset-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-xl);animation:calendar-sheet var(--normal) both;border-width:1px 0 0;position:fixed;inset:auto 0 0}@keyframes calendar-sheet{0%{transform:translateY(100%)}}}.tide-page{max-width:1000px}.tide-controls-wrap{z-index:1;border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:24px;position:relative}.tide-controls{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.tide-controls label,.tide-controls .field,.tide-controls .date-field{min-width:0;max-width:280px;font-size:var(--t-sm);flex:200px;gap:8px;font-weight:600;display:grid}.tide-nearest-note{align-items:center;gap:6px;margin-top:10px;display:inline-flex}.tide-controls input{border:1px solid var(--line);background:var(--surface-2);width:100%;min-width:0;height:44px;color:var(--ink);font:inherit;border-radius:6px;padding:8px 12px}.tide-day-actions{align-items:center;gap:8px;min-height:44px;display:flex}.tide-page .tide-summary{border-radius:8px;flex-wrap:wrap}.tide-page .tide-day-title{flex-wrap:wrap}.tide-page>section[aria-label]{padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.tide-panel{gap:var(--s-4);display:grid}.tide-day-title{justify-content:space-between;align-items:baseline;gap:var(--s-3);display:flex}.tide-day-title b{font-family:var(--font-display);font-size:1rem}.tide-day-title span{color:var(--ink-muted);font-size:var(--t-xs)}.tide-summary{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-radius:var(--r-lg);color:var(--ink-invert);background:radial-gradient(100% 120% at 0% 0%,#35907f99,transparent 65%),linear-gradient(135deg,var(--teal-800),var(--teal-950));box-shadow:var(--shadow-sm);display:flex}.tide-summary>div{align-items:center;gap:var(--s-3);min-width:0;display:flex}.tide-summary small{color:var(--ink-invert-soft);letter-spacing:.14em;margin-bottom:1px;font-size:10px;font-weight:700;display:block}.tide-summary b{font-size:var(--t-body);display:block}.tide-summary strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.5rem}.tide-state-icon{border-radius:var(--r-pill);color:#fff;background:#ffffff26;flex:none;place-items:center;width:40px;height:40px;display:grid}.tide-chart-wrap{padding-left:44px;position:relative}.tide-chart{width:100%;display:block;overflow:visible}.tide-now-readout{height:34px;position:relative}.tide-now-label{text-align:center;white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:0;background:#a12d49;border-radius:4px;width:148px;max-width:100%;padding:4px 8px;font-size:12px;font-weight:700;position:absolute}.tide-now-marker line{stroke:#a12d49;stroke-width:2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.tide-now-marker circle{fill:#a12d49;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.tide-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:4 7}.tide-line{fill:none;stroke:var(--teal-600);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.tide-scale{color:var(--ink-muted);font-size:var(--t-xs);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:34px auto 24px 0}.tide-hours{color:var(--ink-muted);font-size:var(--t-xs);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.tide-extremes{gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(132px,1fr));display:grid}.tide-extremes>div{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);gap:4px;display:grid}.tide-extremes time{color:var(--ink-soft);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.tide-extremes b{font-family:var(--font-display);font-variant-numeric:tabular-nums}.tide-event{border-radius:var(--r-pill);width:fit-content;font-size:var(--t-xs);padding:3px 9px;font-weight:700}.tide-event.high{color:var(--tone-positive-strong);background:var(--tint-positive-strong)}.tide-event.low{color:var(--tone-warning);background:var(--tint-warning-strong)}.tide-meta{gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;display:grid}.tide-meta div{min-width:0}.tide-meta dt{color:var(--ink-muted);font-size:var(--t-xs)}.tide-meta dd{overflow-wrap:anywhere;font-size:var(--t-sm);margin:3px 0 0;font-weight:600}.tide-disclaimer{gap:var(--s-2);padding:var(--s-3);border:1px solid var(--tint-warning-border);border-radius:var(--r-md);background:var(--tint-warning);color:var(--ink-soft);font-size:var(--t-xs);margin:0;line-height:1.55;display:flex}.tide-disclaimer .icon{color:var(--tone-warning);flex:none}.tide-status{place-items:center;gap:var(--s-3);min-height:140px;color:var(--ink-muted);display:grid}@media(max-width:640px){.tide-page>section[aria-label]{padding:var(--s-4) var(--s-3);border-radius:var(--r-md)}.tide-controls{gap:var(--s-3)}.tide-day-actions{justify-content:flex-start;width:100%}.tide-day-actions .icon-btn{display:none}.tide-chart-wrap{padding-left:36px}.tide-summary{padding:var(--s-3) var(--s-4)}.tide-summary strong{font-size:1.25rem}}.day-strip{gap:var(--s-2);margin:var(--s-4) 0;padding:var(--s-1) var(--s-1) var(--s-3);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;display:flex;overflow-x:auto}.day-strip::-webkit-scrollbar{display:none}.day-strip-item{width:60px;padding:var(--s-2) var(--s-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink-soft);font:inherit;scroll-snap-align:center;box-shadow:var(--shadow-xs);transition:background var(--fast),border-color var(--fast),color var(--fast),transform var(--fast);flex:none;justify-items:center;gap:1px;display:grid}.day-strip-item:hover:not([data-selected]){border-color:var(--teal-300);background:var(--surface-2)}.day-strip-item:active{transform:translateY(1px)}.day-strip-weekday,.day-strip-month{font-size:var(--t-xs);text-transform:capitalize;color:var(--ink-muted);font-weight:700}.day-strip-date{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.125rem;font-weight:800;line-height:1.15}.day-strip-item[data-selected]{border-color:var(--primary);background:var(--primary);box-shadow:var(--shadow-sm)}.day-strip-item[data-selected] .day-strip-weekday,.day-strip-item[data-selected] .day-strip-month{color:var(--ink-invert-soft)}.day-strip-item[data-selected] .day-strip-date{color:var(--ink-invert)}@media(max-width:640px){.day-strip{margin-inline:calc(-1 * var(--s-3));padding-inline:var(--s-3)}}.tide-next-actions{gap:var(--s-2);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.tide-table-details,.tide-explain{margin-top:var(--s-3)}.tide-table-details summary,.tide-explain summary{cursor:pointer;font-weight:700}.tide-table{width:100%;margin-top:var(--s-2);border-collapse:collapse;font-variant-numeric:tabular-nums}.tide-table th,.tide-table td{padding:6px var(--s-2);border-bottom:1px solid var(--line);text-align:start}.score-panel{gap:var(--s-4);display:grid}.score-status{min-height:120px;color:var(--ink-muted);place-items:center;display:grid}.score-tone-great,.score-gauge-great{--score-tone:var(--tone-positive)}.score-gauge-good{--score-tone:var(--tone-positive-soft)}.score-gauge-fair{--score-tone:var(--tone-warning)}.score-gauge-poor{--score-tone:var(--tone-accent)}.score-head{gap:var(--s-4);flex-wrap:wrap;align-items:center;display:flex}.score-gauge{flex:none;width:108px;height:108px}.score-gauge-track{fill:none;stroke:var(--line);stroke-width:10px}.score-gauge-value{fill:none;stroke:var(--score-tone,var(--tone-positive-soft));stroke-width:10px;stroke-linecap:round;transition:stroke-dasharray var(--normal) var(--ease)}.score-gauge-number{fill:var(--ink);font-family:var(--font-display);text-anchor:middle;font-size:30px;font-weight:800}.score-gauge-unit{fill:var(--ink-muted);text-anchor:middle;font-size:12px}.score-eyebrow{font-size:var(--t-eyebrow);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);display:block}.score-rating{font-family:var(--font-display);font-size:1.25rem;font-weight:800}.score-rating-great{color:var(--tone-positive)}.score-rating-good{color:var(--tone-positive-soft)}.score-rating-fair{color:var(--tone-warning)}.score-rating-poor{color:var(--tone-accent)}.score-lead{font-size:var(--t-sm);color:var(--ink-soft);margin:4px 0 0}.score-windows h3{margin:0 0 var(--s-2);font-family:var(--font-display);font-size:1rem}.score-windows ul{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.score-window{align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-left:3px solid var(--teal-500);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--t-sm);grid-template-columns:auto 1fr auto;display:grid}.score-window-great{border-left-color:var(--teal-700)}.score-window-good{border-left-color:var(--teal-500)}.score-window-fair{border-left-color:var(--amber-600)}.score-window-poor{border-left-color:var(--coral-600)}.score-window-time{align-items:center;gap:var(--s-2);white-space:nowrap;font-weight:600;display:inline-flex}.score-window-time .icon{color:var(--tone-positive-soft)}.score-window-reason{color:var(--ink-muted);font-size:var(--t-xs)}.score-window b{font-family:var(--font-display);font-size:1rem}.score-factors{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.score-factor{gap:var(--s-1) var(--s-3);font-size:var(--t-sm);grid-template-columns:5.5rem 1fr;align-items:center;display:grid}.score-factor-label{font-weight:600}.score-factor-value{color:var(--ink-soft)}.score-factor-bar{border-radius:var(--r-pill);background:var(--line);grid-column:1/-1;height:6px;overflow:hidden}.score-factor-bar>span{border-radius:var(--r-pill);background:var(--teal-500);height:100%;display:block}.score-factor-great .score-factor-bar>span{background:var(--teal-700)}.score-factor-fair .score-factor-bar>span{background:var(--amber-600)}.score-factor-poor .score-factor-bar>span{background:var(--coral-600)}.score-meta{gap:var(--s-2);font-size:var(--t-xs);margin:0;display:grid}.score-meta dt{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.score-meta dd{color:var(--ink-soft);margin:2px 0 0}.score-badge{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);font-size:var(--t-xs);padding:4px 10px;font-weight:600;display:inline-flex}.score-badge b{font-family:var(--font-display);color:var(--score-tone,var(--tone-positive))}.score-badge .icon{color:var(--score-tone,var(--tone-positive))}.preview-score:empty{display:none}.preview-score{align-items:center;gap:var(--s-2);margin:var(--s-2) 0 var(--s-1);flex-wrap:wrap;display:flex}@media(max-width:480px){.score-window{grid-template-columns:1fr auto}.score-window-reason{grid-column:1/-1}}.favorite-btn{align-items:center;gap:var(--s-2);padding:0 var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);height:40px;color:var(--ink-soft);font:inherit;cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease);font-weight:600;display:inline-flex}.favorite-btn:hover{border-color:var(--teal-500);color:var(--tone-positive)}.favorite-btn.is-active{background:var(--tint-positive);border-color:var(--tint-positive-border);color:var(--tone-positive)}.favorite-btn.is-active .icon{color:var(--tone-warning)}.favorite-btn:disabled{opacity:.6;cursor:progress}.favorite-btn-sm{height:32px;padding:0 var(--s-3);font-size:var(--t-xs)}.profile-tabs{gap:var(--s-2);margin:var(--s-4) 0 var(--s-5);flex-wrap:wrap;display:flex}.profile-tab{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-soft);font:inherit;cursor:pointer;min-height:42px;font-weight:600;text-decoration:none;display:inline-flex}.profile-tab.is-active,.profile-tab[data-state=active]{background:var(--teal-700);border-color:var(--teal-700);color:var(--ink-invert)}.favorite-list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.favorite-card{align-items:center;gap:var(--s-3);padding:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:inherit;grid-template-columns:56px 1fr auto;text-decoration:none;display:grid}.favorite-card:hover{border-color:var(--tint-positive-border)}.favorite-card img,.favorite-card-icon{border-radius:var(--r-sm);object-fit:cover;width:56px;height:56px}.favorite-card-icon{background:var(--surface-2);color:var(--ink-muted);place-items:center;display:grid}.favorite-card-main{gap:2px;min-width:0;display:grid}.favorite-card-main b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.favorite-card-main small{color:var(--ink-muted)}.favorite-control{align-items:flex-start;gap:var(--s-2);flex-direction:column;max-width:100%;display:inline-flex}.favorite-control small{overflow-wrap:anywhere}.favorite-row{gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.favorite-card{grid-template-columns:56px minmax(0,1fr) auto;min-width:0}@media(max-width:480px){.profile-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-tab{padding-inline:var(--s-2);text-align:center;justify-content:center}.favorite-row{grid-template-columns:minmax(0,1fr)}.favorite-row>.favorite-control,.favorite-row>.compare-action{width:100%}}.pwa-toast{left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:60;align-items:center;gap:var(--s-3);width:min(560px,100vw - 24px);padding:var(--s-3) var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);font-size:var(--t-sm);display:flex;position:fixed;transform:translate(-50%)}.pwa-toast>span{align-items:center;gap:var(--s-2);flex:1;display:inline-flex}.pwa-toast-actions{align-items:center;gap:var(--s-2);display:inline-flex}.pwa-toast-notes{color:var(--ink-muted)}.tide-alert{margin-top:var(--s-3);gap:var(--s-1);display:grid}@media(max-width:480px){.pwa-toast{flex-direction:column;align-items:stretch}.pwa-toast-actions,.pwa-toast-actions .btn{width:100%}.pwa-toast-actions .btn{flex:1}}@media(max-width:640px){.pwa-toast{bottom:calc(max(16px,env(safe-area-inset-bottom)) + var(--tabbar-h))}}@keyframes mm-spin{to{transform:rotate(360deg)}}@keyframes mm-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes mm-hero{0%{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}@keyframes mm-pop{0%{transform:scale(1)}40%{transform:scale(1.32)}to{transform:scale(1)}}@keyframes mm-progress{0%{transform:translate(-100%)}to{transform:translate(340%)}}.spinner,.detail-status[aria-live]:before,.detail-status[role=status]:before,.tide-status[aria-live]:before,.tide-status[role=status]:before,.score-status:before,.weather-status:before{content:"";border:3px solid var(--teal-600);border-radius:50%;width:26px;height:26px;display:block}@supports (color:color-mix(in lab,red,red)){.spinner,.detail-status[aria-live]:before,.detail-status[role=status]:before,.tide-status[aria-live]:before,.tide-status[role=status]:before,.score-status:before,.weather-status:before{border:3px solid color-mix(in srgb,var(--teal-600) 20%,transparent)}}.spinner,.detail-status[aria-live]:before,.detail-status[role=status]:before,.tide-status[aria-live]:before,.tide-status[role=status]:before,.score-status:before,.weather-status:before{border-top-color:var(--teal-600);animation:.7s linear infinite mm-spin}.weather-status{align-items:center;gap:var(--s-3);color:var(--ink-muted);display:flex}.weather-status:before{border-width:2px;width:20px;height:20px}.page-body>*,.spot-list>*,.fish-grid>*,.favorite-list>li,.score-windows li,.score-factors li,.tide-extremes>div{animation:mm-rise .42s var(--ease) both}.page-body>:nth-child(2){animation-delay:40ms}.page-body>:nth-child(3){animation-delay:90ms}.page-body>:nth-child(4){animation-delay:.14s}.page-body>:nth-child(n+5){animation-delay:.18s}.detail-hero{animation:mm-hero .55s var(--ease) both}.spot-list>:nth-child(2),.fish-grid>:nth-child(2),.favorite-list>li:nth-child(2),.score-windows li:nth-child(2),.score-factors li:nth-child(2),.tide-extremes>div:nth-child(2){animation-delay:50ms}.spot-list>:nth-child(3),.fish-grid>:nth-child(3),.favorite-list>li:nth-child(3),.score-windows li:nth-child(3),.score-factors li:nth-child(3),.tide-extremes>div:nth-child(3){animation-delay:.1s}.spot-list>:nth-child(4),.fish-grid>:nth-child(4),.score-factors li:nth-child(4),.tide-extremes>div:nth-child(4){animation-delay:.15s}.spot-list>:nth-child(n+5),.fish-grid>:nth-child(n+5),.score-factors li:nth-child(n+5){animation-delay:.19s}.favorite-btn.is-active .icon{animation:mm-pop .3s var(--ease)}.route-progress{z-index:80;pointer-events:none;background:var(--teal-600);height:2px;position:fixed;inset:0 0 auto;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.route-progress{background:color-mix(in srgb,var(--teal-600) 14%,transparent)}}.route-progress:before{content:"";background:var(--teal-600);width:30%;animation:1.1s ease-in-out infinite mm-progress;position:absolute;inset:0}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-3{top:calc(var(--spacing) * 3)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-px{height:1px}.max-h-\[min\(24rem\,var\(--radix-select-content-available-height\)\)\]{max-height:min(24rem,var(--radix-select-content-available-height))}.min-h-\[44px\]{min-height:44px}.w-full{width:100%}.w-px{width:1px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-\[4px\]{border-radius:4px}.rounded-\[var\(--r-lg\)\]{border-radius:var(--r-lg)}.rounded-\[var\(--r-md\)\]{border-radius:var(--r-md)}.rounded-\[var\(--r-sm\)\]{border-radius:var(--r-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-strong\)\]{border-color:var(--line-strong)}.bg-\[var\(--line\)\]{background-color:var(--line)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.p-0{padding:0}.p-1{padding:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-\[length\:var\(--t-body\)\]{font-size:var(--t-body)}.text-\[length\:var\(--t-xs\)\]{font-size:var(--t-xs)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--ink-muted\)\]{color:var(--ink-muted)}.text-\[var\(--tone-positive\)\]{color:var(--tone-positive)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.opacity-70{opacity:.7}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[clip-path\:inset\(50\%\)\]{clip-path:inset(50%)}.\[clip\:rect\(0\,0\,0\,0\)\]{clip:rect(0,0,0,0)}@media(hover:hover){.hover\:border-\[var\(--teal-300\)\]:hover{border-color:var(--teal-300)}}.focus\:border-\[var\(--focus\)\]:focus{border-color:var(--focus)}.focus\:shadow-\[var\(--ring\)\]:focus{--tw-shadow:var(--ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:shadow-\[var\(--ring\)\]:focus-visible{--tw-shadow:var(--ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-\[var\(--tint-positive\)\][data-highlighted]{background-color:var(--tint-positive)}.data-\[highlighted\]\:text-\[var\(--tone-positive-strong\)\][data-highlighted]{color:var(--tone-positive-strong)}.data-\[placeholder\]\:text-\[var\(--ink-muted\)\][data-placeholder]{color:var(--ink-muted)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-\[var\(--teal-700\)\][data-state=checked]{border-color:var(--teal-700)}.data-\[state\=checked\]\:bg-\[var\(--teal-700\)\][data-state=checked]{background-color:var(--teal-700)}.data-\[state\=checked\]\:font-semibold[data-state=checked]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
