:root,[data-bs-theme]{--bs-font-sans-serif: var(--font-sans);--bs-body-font-family: var(--font-sans);--bs-body-font-size: var(--fs-base);--bs-body-line-height: var(--lh-base);--bs-body-color: var(--color-text);--bs-body-bg: var(--color-bg);--bs-emphasis-color: var(--color-heading);--bs-heading-color: var(--color-heading);--bs-secondary-color: var(--color-text-muted);--bs-secondary-bg: var(--color-surface-sunken);--bs-tertiary-color: var(--color-text-subtle);--bs-tertiary-bg: var(--color-surface-2);--bs-link-color: var(--color-link);--bs-link-hover-color: var(--color-link-hover);--bs-link-decoration: none;--bs-border-color: var(--color-border);--bs-border-color-translucent: var(--color-divider);--bs-border-radius: var(--radius-md);--bs-border-radius-sm: var(--radius-sm);--bs-border-radius-lg: var(--radius-lg);--bs-border-radius-xl: var(--radius-xl);--bs-border-radius-xxl: var(--radius-2xl);--bs-border-radius-pill: var(--radius-pill);--bs-box-shadow: var(--shadow-md);--bs-box-shadow-sm: var(--shadow-sm);--bs-box-shadow-lg: var(--shadow-lg);--bs-focus-ring-color: var(--color-focus-ring);--bs-focus-ring-width: 3px;--bs-highlight-bg: var(--amber-100);--bs-code-color: var(--coral-600);--bs-form-valid-color: var(--color-success);--bs-form-valid-border-color: var(--color-success);--bs-form-invalid-color: var(--color-danger);--bs-form-invalid-border-color: var(--color-danger);--bs-primary: var(--color-primary);--bs-primary-text-emphasis: var(--color-primary-text);--bs-primary-bg-subtle: var(--color-primary-soft);--bs-primary-border-subtle: var(--lake-200);--bs-success-text-emphasis: var(--color-success);--bs-success-bg-subtle: var(--color-success-soft);--bs-success-border-subtle: var(--reed-200);--bs-danger-text-emphasis: var(--color-danger);--bs-danger-bg-subtle: var(--color-danger-soft);--bs-danger-border-subtle: var(--coral-100);--bs-warning-text-emphasis: var(--color-warning);--bs-warning-bg-subtle: var(--color-warning-soft);--bs-warning-border-subtle: var(--amber-100);--bs-info-text-emphasis: var(--color-info);--bs-info-bg-subtle: var(--color-info-soft);--bs-info-border-subtle: var(--lake-100)}:root,[data-bs-theme="light"]{--bs-primary-rgb: 11,101,118;--bs-success-rgb: 78,122,16;--bs-danger-rgb: 192,54,44;--bs-warning-rgb: 242,182,64;--bs-info-rgb: 22,125,144;--bs-body-color-rgb: 30,28,24;--bs-body-bg-rgb: 247,245,240;--bs-emphasis-color-rgb: 18,17,14;--bs-link-color-rgb: 11,101,118;--bs-link-hover-color-rgb: 11,64,75;--bs-secondary-color-rgb: 97,90,78}[data-bs-theme="dark"]{--bs-primary-rgb: 111,195,209;--bs-success-rgb: 185,231,90;--bs-danger-rgb: 239,106,90;--bs-info-rgb: 111,195,209;--bs-body-color-rgb: 230,237,238;--bs-body-bg-rgb: 12,23,25;--bs-emphasis-color-rgb: 244,248,248;--bs-link-color-rgb: 111,195,209;--bs-link-hover-color-rgb: 168,216,223;--bs-secondary-color-rgb: 157,176,179;--bs-primary-border-subtle: var(--night-600);--bs-success-border-subtle: var(--night-600);--bs-danger-border-subtle: var(--night-600);--bs-warning-border-subtle: var(--night-600);--bs-info-border-subtle: var(--night-600);--bs-code-color: var(--coral-400)}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-padding-top: calc(var(--header-h) + var(--space-4));scroll-padding-bottom: var(--space-4)}html:has(.subnav){scroll-padding-top: calc(var(--header-h) + var(--subnav-h,53px) + var(--space-4))}@media (max-width: 991.98px){html:has(body.has-bottom-nav){scroll-padding-bottom: calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--space-4))}}html:has(.sticky-actions){scroll-padding-bottom: calc(var(--sticky-actions-h,76px) + var(--safe-bottom) + var(--space-4))}@media (prefers-reduced-motion: no-preference){html{scroll-behavior: smooth}}body{min-height: 100vh;min-height: 100dvh;display: flex;flex-direction: column;font-family: var(--font-sans);font-size: var(--fs-base);line-height: var(--lh-base);color: var(--color-text);background: var(--color-bg);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;font-synthesis-weight: none}main{flex: 1 0 auto}::selection{background: color-mix(in srgb,var(--lake-300) 45%,transparent)}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color: var(--color-heading);font-weight: var(--fw-bold);line-height: var(--lh-snug);letter-spacing: var(--tracking-snug);margin-bottom: var(--space-3);text-wrap: balance}h1,.h1,h2,.h2{font-family: var(--font-display);letter-spacing: var(--tracking-tight);line-height: var(--lh-tight)}h1,.h1{font-size: var(--fs-3xl);font-weight: 760}h2,.h2{font-size: var(--fs-2xl);font-weight: var(--fw-bold)}h3,.h3{font-size: var(--fs-xl);font-weight: var(--fw-bold)}h4,.h4{font-size: var(--fs-lg);font-weight: var(--fw-semibold)}h5,.h5{font-size: var(--fs-md);font-weight: var(--fw-semibold)}h6,.h6{font-size: var(--fs-base);font-weight: var(--fw-semibold)}.display-hero{font-family: var(--font-display);font-size: var(--fs-4xl);font-weight: 760;line-height: 1.03;letter-spacing: -0.028em}p{text-wrap: pretty}.lead{font-size: var(--fs-md);font-weight: var(--fw-regular);color: var(--color-text-muted);line-height: 1.6}small,.small{font-size: var(--fs-sm)}.text-muted,.text-body-secondary{color: var(--color-text-muted) !important}.text-subtle{color: var(--color-text-subtle) !important}.eyebrow{display: inline-flex;align-items: center;gap: var(--space-2);margin-bottom: var(--space-2);font-size: var(--fs-xs);font-weight: var(--fw-semibold);letter-spacing: var(--tracking-wide);text-transform: uppercase;color: var(--color-primary-text)}.num,.tabular{font-variant-numeric: tabular-nums}a{color: var(--color-link);text-decoration: none;text-underline-offset: 0.18em;text-decoration-thickness: 1px}a:hover{color: var(--color-link-hover);text-decoration: underline}a.link-plain,a.link-plain:hover{color: inherit;text-decoration: none}img,svg,video,canvas{vertical-align: middle}img{max-width: 100%;height: auto}hr{border-color: var(--color-border);opacity: 1}:focus{outline: none}:focus-visible{outline: 2px solid var(--color-focus);outline-offset: 2px;border-radius: var(--radius-xs)}.btn:focus-visible,.form-control:focus,.form-control:focus-within,.form-select:focus,.form-check-input:focus{outline: none;box-shadow: var(--shadow-focus)}.skip-link{position: fixed;top: var(--space-2);left: var(--space-2);z-index: var(--z-skip-link);padding: var(--space-2) var(--space-4);border-radius: var(--radius-pill);background: var(--color-primary);color: var(--color-primary-contrast);font-weight: var(--fw-semibold);transform: translateY(-200%);transition: transform var(--dur-fast) var(--ease-out)}.skip-link:focus{transform: none;color: var(--color-primary-contrast)}main:focus{outline: none}.container-app{width: 100%;max-width: calc(var(--container-max) + 2 * var(--gutter));margin-inline: auto;padding-inline: var(--gutter)}.container-narrow{max-width: calc(var(--container-narrow) + 2 * var(--gutter))}.page{padding-block: var(--space-6) var(--section-gap)}.page--flush-top{padding-top: 0}.section{margin-top: var(--section-gap)}.section:first-child{margin-top: 0}.section--tint{background: var(--color-bg-accent);padding-block: var(--section-gap)}.stack>* + *{margin-top: var(--stack-gap,var(--space-4))}.cluster{display: flex;flex-wrap: wrap;align-items: center;gap: var(--cluster-gap,var(--space-2))}.page-grid{display: grid;gap: var(--space-7);grid-template-columns: minmax(0,1fr)}@media (min-width: 992px){.page-grid{grid-template-columns: minmax(0,1fr) 340px}.page-grid--left{grid-template-columns: 260px minmax(0,1fr)}.page-grid--three{grid-template-columns: 240px minmax(0,1fr) 320px}}@media (min-width: 992px) and (max-width: 1199.98px){.page-grid--three{grid-template-columns: minmax(0,1fr) 300px}.page-grid--three>:first-child{display: none}}.sticky-aside{position: sticky;top: calc(var(--header-h) + var(--space-5))}.surface{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-card);box-shadow: var(--shadow-xs)}.surface-pad{padding: var(--space-5)}@media (min-width: 768px){.surface-pad{padding: var(--space-6)}}.panel,.box{background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-card);padding: var(--space-5)}.panel__title{font-family: var(--font-sans);font-size: var(--fs-md);font-weight: var(--fw-bold);letter-spacing: var(--tracking-snug);margin-bottom: var(--space-4);display: flex;align-items: center;gap: var(--space-2)}.divider{height: 1px;background: var(--color-border);border: 0;margin-block: var(--space-5)}/* 03 Icons ------------------------------------------------------------- <svg class="icon" aria-hidden="true"><use href="/assets/icons/sprite.svg#fish"/></svg>Lucide stroke icons inherit colour via currentColor. */ .icon{display: inline-block;flex: none;width: var(--icon-size,1.25em);height: var(--icon-size,1.25em);fill: none;stroke: currentColor;stroke-width: var(--icon-stroke,2);stroke-linecap: round;stroke-linejoin: round;vertical-align: -0.25em}.icon--xs{--icon-size: 14px}.icon--sm{--icon-size: 16px}.icon--md{--icon-size: 20px}.icon--lg{--icon-size: 24px}.icon--xl{--icon-size: 32px;--icon-stroke: 1.75}.icon--2xl{--icon-size: 48px;--icon-stroke: 1.5}.icon--fill{fill: currentColor}.icon--brand{stroke: none}.icon-circle{display: inline-grid;place-items: center;width: var(--circle,44px);height: var(--circle,44px);border-radius: 50%;background: var(--color-primary-soft);color: var(--color-primary);flex: none}.icon-circle--accent{background: var(--color-accent-soft);color: var(--color-accent-text)}.icon-circle--premium{background: var(--color-premium-soft);color: var(--color-premium-text)}.btn{--bs-btn-padding-x: 1.125rem;--bs-btn-padding-y: 0.625rem;--bs-btn-font-size: var(--fs-base);--bs-btn-font-weight: var(--fw-semibold);--bs-btn-line-height: 1.375;--bs-btn-border-radius: var(--radius-pill);--bs-btn-border-width: 1px;--bs-btn-focus-box-shadow: var(--shadow-focus);--bs-btn-disabled-opacity: 0.5;display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);min-height: var(--tap-min);letter-spacing: -0.005em;white-space: nowrap;transition: background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.btn:active:not(:disabled){transform: translateY(1px) scale(0.985)}.btn .icon{--icon-size: 1.15em}.btn-sm{--bs-btn-padding-x: 0.875rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-size: var(--fs-sm);--bs-btn-border-radius: var(--radius-pill);min-height: 36px}.btn-lg{--bs-btn-padding-x: 1.5rem;--bs-btn-padding-y: 0.8125rem;--bs-btn-font-size: var(--fs-md);--bs-btn-border-radius: var(--radius-pill);min-height: 52px}.btn-primary{--bs-btn-color: var(--color-primary-contrast);--bs-btn-bg: var(--color-primary);--bs-btn-border-color: var(--color-primary);--bs-btn-hover-color: var(--color-primary-contrast);--bs-btn-hover-bg: var(--color-primary-hover);--bs-btn-hover-border-color: var(--color-primary-hover);--bs-btn-active-color: var(--color-primary-contrast);--bs-btn-active-bg: var(--color-primary-active);--bs-btn-active-border-color: var(--color-primary-active);--bs-btn-disabled-color: var(--color-primary-contrast);--bs-btn-disabled-bg: var(--color-primary);--bs-btn-disabled-border-color: var(--color-primary)}.btn-catch{--bs-btn-color: var(--color-accent-contrast);--bs-btn-bg: var(--color-accent);--bs-btn-border-color: color-mix(in srgb,var(--reed-500) 45%,var(--color-accent));--bs-btn-hover-color: var(--color-accent-contrast);--bs-btn-hover-bg: var(--color-accent-hover);--bs-btn-hover-border-color: var(--reed-500);--bs-btn-active-color: var(--color-accent-contrast);--bs-btn-active-bg: var(--color-accent-active);--bs-btn-active-border-color: var(--reed-600);--bs-btn-disabled-color: var(--color-accent-contrast);--bs-btn-disabled-bg: var(--color-accent);--bs-btn-disabled-border-color: var(--color-accent);box-shadow: var(--shadow-cta);font-weight: var(--fw-bold)}.btn-outline-primary{--bs-btn-color: var(--color-primary);--bs-btn-border-color: color-mix(in srgb,var(--color-primary) 45%,transparent);--bs-btn-hover-color: var(--color-primary-contrast);--bs-btn-hover-bg: var(--color-primary);--bs-btn-hover-border-color: var(--color-primary);--bs-btn-active-color: var(--color-primary-contrast);--bs-btn-active-bg: var(--color-primary-hover);--bs-btn-active-border-color: var(--color-primary-hover);--bs-btn-disabled-color: var(--color-primary);--bs-btn-disabled-border-color: var(--color-border)}.btn-outline-secondary,.btn-secondary{--bs-btn-color: var(--color-text);--bs-btn-bg: var(--color-surface);--bs-btn-border-color: var(--color-border-strong);--bs-btn-hover-color: var(--color-heading);--bs-btn-hover-bg: var(--color-surface-2);--bs-btn-hover-border-color: var(--color-text-subtle);--bs-btn-active-color: var(--color-heading);--bs-btn-active-bg: var(--color-surface-sunken);--bs-btn-active-border-color: var(--color-text-subtle);--bs-btn-disabled-color: var(--color-text-muted);--bs-btn-disabled-bg: var(--color-surface);--bs-btn-disabled-border-color: var(--color-border)}.btn-soft{--bs-btn-color: var(--color-primary-text);--bs-btn-bg: var(--color-primary-soft);--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--color-primary-text);--bs-btn-hover-bg: var(--color-primary-soft-2);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--color-primary-text);--bs-btn-active-bg: var(--color-primary-soft-2);--bs-btn-active-border-color: transparent}.btn-ghost{--bs-btn-color: var(--color-text);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--color-heading);--bs-btn-hover-bg: var(--color-surface-sunken);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--color-heading);--bs-btn-active-bg: var(--color-surface-sunken);--bs-btn-active-border-color: transparent}.btn-danger,.btn-outline-danger{--bs-btn-color: var(--color-danger);--bs-btn-bg: transparent;--bs-btn-border-color: color-mix(in srgb,var(--color-danger) 45%,transparent);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: var(--coral-600);--bs-btn-hover-border-color: var(--coral-600);--bs-btn-active-color: #fff;--bs-btn-active-bg: var(--coral-700);--bs-btn-active-border-color: var(--coral-700)}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: var(--coral-600);--bs-btn-border-color: var(--coral-600)}.btn-premium{--bs-btn-color: var(--amber-800);--bs-btn-bg: var(--amber-400);--bs-btn-border-color: var(--amber-500);--bs-btn-hover-color: var(--amber-800);--bs-btn-hover-bg: var(--amber-300);--bs-btn-hover-border-color: var(--amber-500);--bs-btn-active-color: var(--amber-800);--bs-btn-active-bg: var(--amber-500);--bs-btn-active-border-color: var(--amber-500);font-weight: var(--fw-bold)}.btn-link{--bs-btn-color: var(--color-link);--bs-btn-hover-color: var(--color-link-hover);--bs-btn-active-color: var(--color-link-hover);--bs-btn-font-weight: var(--fw-semibold);text-decoration: none;min-height: 0;padding-inline: 0}.btn-link:hover{text-decoration: underline}.btn-social{--bs-btn-color: var(--color-heading);--bs-btn-bg: var(--color-surface);--bs-btn-border-color: var(--color-border-strong);--bs-btn-hover-color: var(--color-heading);--bs-btn-hover-bg: var(--color-surface-2);--bs-btn-hover-border-color: var(--color-text-subtle);--bs-btn-active-bg: var(--color-surface-sunken);--bs-btn-active-color: var(--color-heading);--bs-btn-border-radius: var(--radius-control);width: 100%;min-height: 50px;font-weight: var(--fw-semibold)}.btn-social .icon{--icon-size: 20px}.btn-social--quiet{min-height: var(--tap-min);font-size: var(--fs-sm);box-shadow: none}.btn-icon,.icon-btn{position: relative;display: inline-grid;place-items: center;width: var(--tap-min);height: var(--tap-min);padding: 0;border: 0;border-radius: 50%;background: transparent;color: var(--color-text);transition: background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-btn:hover{background: var(--color-surface-sunken);color: var(--color-heading);text-decoration: none}.icon-btn .icon{--icon-size: 22px}.icon-btn--sm{width: 36px;height: 36px}.icon-btn--sm .icon{--icon-size: 18px}.icon-btn--solid{background: var(--color-surface);border: 1px solid var(--color-border);box-shadow: var(--shadow-xs)}.icon-btn__badge{position: absolute;top: 6px;right: 4px;min-width: 18px;height: 18px;padding-inline: 5px;border-radius: var(--radius-pill);background: var(--coral-600);color: #fff;font-size: var(--fs-2xs);font-weight: var(--fw-bold);line-height: 18px;text-align: center;box-shadow: 0 0 0 2px var(--color-surface)}.btn-block,.w-100.btn{width: 100%}.app-header{position: sticky;top: 0;z-index: var(--z-header);height: var(--header-h);background: color-mix(in srgb,var(--color-surface) 86%,transparent);-webkit-backdrop-filter: saturate(1.6) blur(14px);backdrop-filter: saturate(1.6) blur(14px);border-bottom: 1px solid var(--color-divider);transition: box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.app-header.is-scrolled{box-shadow: var(--shadow-sm)}.app-header__inner{height: 100%;display: flex;align-items: center;gap: var(--space-3)}.brand{display: inline-flex;align-items: center;flex: none;gap: var(--space-2);height: 44px;color: var(--color-primary);text-decoration: none}.brand:hover{color: var(--color-primary-hover);text-decoration: none}.brand__logo{display: block;height: 30px;width: auto}.brand__logo--kimba{height: 28px;aspect-ratio: 731 / 198}.brand__logo--pinfishing{height: 32px;aspect-ratio: 270 / 67}/* Brand switch: <html data-brand="kimba|pinfishing">— Twig prints only the right logo;the CSS switch lets one static prototype show both. */ [data-brand="kimba"] .only-pinfishing,[data-brand="pinfishing"] .only-kimba{display: none !important}.app-nav{display: none}@media (min-width: 992px){.app-nav{display: block;margin-left: var(--space-4)}}.app-nav__list{display: flex;gap: var(--space-1);margin: 0;padding: 0;list-style: none}.app-nav__link{position: relative;display: inline-flex;align-items: center;gap: var(--space-1-5,6px);height: 40px;padding-inline: var(--space-3);border-radius: var(--radius-pill);color: var(--color-text-muted);font-size: var(--fs-sm);font-weight: var(--fw-semibold);white-space: nowrap;text-decoration: none;transition: color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.app-nav__link:hover{color: var(--color-heading);background: var(--color-surface-sunken);text-decoration: none}.app-nav__link.is-active,.app-nav__link[aria-current="page"]{color: var(--color-primary-text);background: var(--color-primary-soft)}.pro-mark{display: inline-flex;align-items: center;height: 16px;padding-inline: 5px;border-radius: var(--radius-xs);background: var(--color-premium-soft);color: var(--color-premium-text);font-size: 10px;font-weight: var(--fw-heavy);letter-spacing: 0.04em;line-height: 1;text-transform: uppercase}.app-header__actions{display: flex;align-items: center;gap: var(--space-1);margin-left: auto}.app-header__cta{display: none}@media (min-width: 992px){.app-header__cta{display: inline-flex;margin-left: var(--space-2)}.app-header__menu-btn{display: none}}.header-search{position: relative;display: none}@media (min-width: 1400px){.header-search{display: block;width: clamp(180px,14vw,240px)}.header-search-btn{display: none}}.app-nav__item--xl{display: none}@media (min-width: 1200px){.app-nav__item--xl{display: list-item}.app-nav__more-xl{display: none}}.cta-label-short{display: inline}.cta-label-long{display: none}@media (min-width: 1200px){.cta-label-short{display: none}.cta-label-long{display: inline}}.header-search .form-control{height: 40px;min-height: 40px;padding-left: 40px;padding-right: 36px;border-radius: var(--radius-pill);background: var(--color-surface-sunken);border-color: transparent;font-size: var(--fs-sm)}.header-search .form-control:focus{background: var(--color-surface);border-color: var(--color-focus)}.header-search>.icon{position: absolute;left: 14px;top: 50%;transform: translateY(-50%);--icon-size: 18px;color: var(--color-text-subtle);pointer-events: none}.kbd-hint{position: absolute;right: 10px;top: 50%;transform: translateY(-50%);padding: 1px 6px;border: 1px solid var(--color-border-strong);border-radius: var(--radius-xs);background: transparent;color: var(--color-text-subtle);font-size: var(--fs-2xs);font-family: var(--font-mono);line-height: 1.4;box-shadow: none;pointer-events: none}.header-search .form-control:focus~.kbd-hint,.header-search .form-control:not(:placeholder-shown)~.kbd-hint{display: none}.avatar-btn{display: inline-flex;align-items: center;gap: var(--space-1);padding: 3px;border: 0;border-radius: var(--radius-pill);background: transparent}.avatar-btn:hover{background: var(--color-surface-sunken)}.avatar-btn .icon{--icon-size: 16px;color: var(--color-text-subtle);margin-right: 4px}.user-menu{min-width: 260px}.user-menu__head{display: flex;gap: var(--space-3);align-items: center;padding: var(--space-3) var(--space-4) var(--space-3)}.user-menu__name{font-weight: var(--fw-bold);color: var(--color-heading);line-height: 1.2}.user-menu__meta{font-size: var(--fs-xs);color: var(--color-text-muted)}.search-sheet.offcanvas-top{height: auto;border-bottom-left-radius: var(--radius-xl);border-bottom-right-radius: var(--radius-xl)}.bottom-nav{position: fixed;inset: auto 0 0 0;z-index: var(--z-bottom-nav);display: grid;grid-template-columns: repeat(5,1fr);align-items: end;height: calc(var(--bottom-nav-h) + var(--safe-bottom));padding: 0 var(--space-1) var(--safe-bottom);background: color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter: saturate(1.6) blur(14px);backdrop-filter: saturate(1.6) blur(14px);border-top: 1px solid var(--color-divider);transition: transform var(--dur-base) var(--ease-out)}.bottom-nav.is-hidden{transform: translateY(100%)}@media (min-width: 992px){.bottom-nav{display: none}}@media (max-width: 991.98px){body.has-bottom-nav{padding-bottom: calc(var(--bottom-nav-h) + var(--safe-bottom))}}.bottom-nav__item,.bottom-nav__add{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 3px;height: var(--bottom-nav-h);color: var(--color-text-muted);font-size: var(--fs-2xs);font-weight: var(--fw-semibold);letter-spacing: 0.01em;text-decoration: none;-webkit-tap-highlight-color: transparent}.bottom-nav__item .icon{--icon-size: 24px;--icon-stroke: 1.9}.bottom-nav__item:hover{color: var(--color-heading);text-decoration: none}.bottom-nav__item.is-active,.bottom-nav__item[aria-current="page"]{color: var(--color-primary)}.bottom-nav__item.is-active .icon,.bottom-nav__item[aria-current="page"] .icon{--icon-stroke: 2.4}.bottom-nav__add{color: var(--color-heading)}.bottom-nav__add:hover{color: var(--color-heading);text-decoration: none}.bottom-nav__add-btn{display: grid;place-items: center;width: 52px;height: 52px;margin-top: -22px;border-radius: 18px;background: var(--color-accent);color: var(--color-accent-contrast);border: 1px solid color-mix(in srgb,var(--reed-500) 40%,transparent);box-shadow: 0 0 0 5px var(--color-surface),var(--shadow-cta);transition: transform var(--dur-fast) var(--ease-spring)}.bottom-nav__add-btn .icon{--icon-size: 28px;--icon-stroke: 2.5}.bottom-nav__add:active .bottom-nav__add-btn{transform: scale(0.94)}.drawer.offcanvas{--bs-offcanvas-width: min(340px,88vw);background: var(--color-surface)}.drawer .offcanvas-header{padding: var(--space-4) var(--space-5);border-bottom: 1px solid var(--color-divider)}.drawer__nav{list-style: none;margin: 0;padding: var(--space-3)}.drawer__link{display: flex;align-items: center;gap: var(--space-3);min-height: 48px;padding: var(--space-2) var(--space-3);border-radius: var(--radius-md);color: var(--color-text);font-weight: var(--fw-semibold);text-decoration: none}.drawer__link .icon{color: var(--color-text-subtle)}.drawer__link:hover{background: var(--color-surface-sunken);color: var(--color-heading);text-decoration: none}.drawer__link[aria-current="page"]{background: var(--color-primary-soft);color: var(--color-primary-text)}.drawer__link[aria-current="page"] .icon{color: currentColor}.drawer__link .pro-mark,.drawer__link .badge-count{margin-left: auto}.drawer__section-title{margin: var(--space-4) var(--space-3) var(--space-1);font-size: var(--fs-xs);font-weight: var(--fw-bold);letter-spacing: var(--tracking-wide);text-transform: uppercase;color: var(--color-text-subtle)}.app-footer{margin-top: var(--section-gap);background: var(--lake-950);color: #c9d6d8;padding-block: var(--space-10) var(--space-6);font-size: var(--fs-sm)}[data-bs-theme="dark"] .app-footer{background: var(--night-950);border-top: 1px solid var(--color-border)}.app-footer a{color: #e6eff0}.app-footer a:hover{color: #fff}.app-footer .brand{color: #fff}.app-footer__grid{display: grid;gap: var(--space-7) var(--space-6);grid-template-columns: repeat(2,minmax(0,1fr))}@media (min-width: 768px){.app-footer__grid{grid-template-columns: 1.6fr repeat(4,1fr)}}.app-footer__about{grid-column: 1 / -1;max-width: 34ch}@media (min-width: 768px){.app-footer__about{grid-column: auto}}.app-footer__title{margin-bottom: var(--space-3);color: #fff;font-family: var(--font-sans);font-size: var(--fs-xs);font-weight: var(--fw-bold);letter-spacing: var(--tracking-wide);text-transform: uppercase}.app-footer__links{list-style: none;margin: 0;padding: 0;display: grid;gap: var(--space-2)}.app-footer__bottom{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--space-4);margin-top: var(--space-9);padding-top: var(--space-5);border-top: 1px solid rgb(255 255 255 / 0.1);color: #9fb4b7}.locale-switch{display: inline-flex;padding: 3px;border-radius: var(--radius-pill);background: rgb(255 255 255 / 0.07);gap: 2px}.locale-switch a,.locale-switch span{display: inline-flex;align-items: center;gap: 6px;height: 32px;padding-inline: var(--space-3);border-radius: var(--radius-pill);font-weight: var(--fw-semibold);font-size: var(--fs-xs);text-decoration: none}.locale-switch [aria-current="true"]{background: rgb(255 255 255 / 0.14);color: #fff}.theme-switch{display: inline-flex;padding: 3px;gap: 2px;border-radius: var(--radius-pill);background: var(--theme-switch-bg,rgb(255 255 255 / 0.07))}.theme-switch button{display: grid;place-items: center;width: 32px;height: 32px;border: 0;border-radius: 50%;background: transparent;color: inherit}.theme-switch button .icon{--icon-size: 16px}.theme-switch button[aria-pressed="true"]{background: var(--theme-switch-active,rgb(255 255 255 / 0.16));color: var(--theme-switch-active-color,#fff)}.theme-switch--light{--theme-switch-bg: var(--color-surface-sunken);--theme-switch-active: var(--color-surface);--theme-switch-active-color: var(--color-heading);color: var(--color-text-muted)}.theme-switch--light button[aria-pressed="true"]{box-shadow: var(--shadow-xs)}.catch-grid{display: grid;gap: var(--space-4);grid-template-columns: repeat(var(--cols,2),minmax(0,1fr))}@media (min-width: 768px){.catch-grid{--cols: 3;gap: var(--space-5)}}@media (min-width: 1200px){.catch-grid{--cols: 4}}.catch-grid--3{--cols: 2}@media (min-width: 768px){.catch-grid--3{--cols: 3}}@media (min-width: 1200px){.catch-grid--3{--cols: 3}}@media (max-width: 575.98px){.catch-grid{gap: var(--space-3)}.catch-grid--feed{--cols: 1;gap: var(--space-5)}}.catch-feed{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--space-5)}.catch-card{position: relative;display: flex;flex-direction: column;min-width: 0;background: var(--color-surface);border: 1px solid var(--color-border);border-radius: var(--radius-card);box-shadow: var(--shadow-xs);overflow: hidden;transition: box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}@media (hover: hover){.catch-card:hover{box-shadow: var(--shadow-md);transform: translateY(-2px);border-color: var(--color-border-strong)}.catch-card:hover .catch-card__media img{transform: scale(1.03)}}.catch-card__media{position: relative;display: block;aspect-ratio: var(--ratio,4 / 3);overflow: hidden;background: var(--color-skeleton);isolation: isolate}.catch-card__media img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform var(--dur-slow) var(--ease-out),opacity var(--dur-slow) var(--ease-out)}.catch-card--feed .catch-card__media{--ratio: var(--natural-ratio,4 / 5);max-height: 78vh}.catch-card__badges{position: absolute;inset: var(--space-3) var(--space-3) auto var(--space-3);z-index: var(--z-overlay);display: flex;justify-content: space-between;gap: var(--space-2);pointer-events: none}.photo-chip{display: inline-flex;align-items: center;gap: 5px;height: 28px;padding-inline: 10px;border-radius: var(--radius-pill);background: rgb(8 24 28 / 0.55);-webkit-backdrop-filter: blur(10px) saturate(1.4);backdrop-filter: blur(10px) saturate(1.4);color: #fff;font-size: var(--fs-xs);font-weight: var(--fw-semibold);white-space: nowrap;line-height: 1}.photo-chip .icon{--icon-size: 14px}.photo-chip--light{background: rgb(255 255 255 / 0.85);color: var(--sand-900)}.photo-chip--released{background: rgb(66 104 12 / 0.94)}.catch-card__body{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--space-1);padding: var(--space-3) var(--space-4) var(--space-2)}.catch-card__title-row{display: flex;align-items: baseline;justify-content: space-between;gap: var(--space-2);min-width: 0}.catch-card__title{margin: 0;min-width: 0;font-family: var(--font-sans);font-size: var(--fs-md);font-weight: var(--fw-bold);letter-spacing: var(--tracking-snug);line-height: 1.25;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.catch-card__title a{color: inherit;text-decoration: none}.catch-card__title a::after{content: "";position: absolute;inset: 0;z-index: 0}.measure{flex: none;font-family: var(--font-display);font-size: var(--fs-md);font-weight: var(--fw-heavy);color: var(--color-primary-text);font-variant-numeric: tabular-nums;letter-spacing: -0.01em;white-space: nowrap}.measure small{font-family: var(--font-sans);font-size: 0.72em;font-weight: var(--fw-semibold);color: var(--color-text-muted);margin-left: 0.18em}.catch-card__meta{display: flex;align-items: center;gap: 4px;min-width: 0;margin: 0;font-size: var(--fs-sm);color: var(--color-text-muted);white-space: nowrap}.catch-card__meta .icon{--icon-size: 15px;color: var(--color-text-subtle)}.catch-card__meta .truncate{overflow: hidden;text-overflow: ellipsis}.catch-card__meta a{position: relative;z-index: var(--z-raised);color: inherit}.catch-card__footer{position: relative;z-index: var(--z-raised);display: flex;align-items: center;justify-content: space-between;gap: var(--space-2);margin-top: auto;padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4)}.catch-card__actions{display: flex;flex: none;align-items: center}.catch-card__footer .user-chip{flex: 1 1 auto}@media (max-width: 575.98px){.catch-grid:not(.catch-grid--feed) .catch-card__body{padding: var(--space-2) var(--space-3) 0}.catch-grid:not(.catch-grid--feed) .catch-card__title,.catch-grid:not(.catch-grid--feed) .measure{font-size: var(--fs-base)}.catch-grid:not(.catch-grid--feed) .catch-card__footer{padding: var(--space-1) var(--space-1) var(--space-1) var(--space-3)}.catch-grid:not(.catch-grid--feed) .user-chip__name{position: absolute;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap}.catch-grid:not(.catch-grid--feed) .catch-card__meta{font-size: var(--fs-xs)}.catch-grid:not(.catch-grid--feed) .catch-card__meta time,.catch-grid:not(.catch-grid--feed) .catch-card__meta [aria-hidden="true"]:not(.icon){display: none}.catch-grid:not(.catch-grid--feed) .photo-chip{height: 24px;padding-inline: 8px;font-size: var(--fs-2xs)}.catch-grid:not(.catch-grid--feed) .catch-card__badges{inset: var(--space-2) var(--space-2) auto}}.catch-row{position: relative;display: grid;grid-template-columns: 64px minmax(0,1fr) auto;align-items: center;gap: var(--space-3);padding: var(--space-2);margin-inline: calc(var(--space-2) * -1);border-radius: var(--radius-md);color: inherit;text-decoration: none}.catch-row:hover{background: var(--color-surface-sunken);text-decoration: none;color: inherit}.catch-row__img{width: 64px;height: 64px;border-radius: var(--radius-sm);object-fit: cover;background: var(--color-skeleton)}.catch-row__img--icon{display: inline-grid;place-items: center;flex: none;background: var(--color-surface-2);color: var(--color-text-subtle)}.catch-row__img--icon .icon{--icon-size: 28px}.catch-row__title{font-weight: var(--fw-semibold);color: var(--color-heading);line-height: 1.3}.catch-row__meta{font-size: var(--fs-xs);color: var(--color-text-muted)}.catch-row .measure{font-size: var(--fs-base)}.rank{display: inline-grid;place-items: center;width: 24px;height: 24px;border-radius: 50%;background: var(--color-surface-sunken);font-size: var(--fs-xs);font-weight: var(--fw-bold);color: var(--color-text-muted)}.rank--1{background: var(--amber-100);color: var(--amber-800)}[data-bs-theme="dark"] .rank--1{background: var(--color-premium-soft);color: var(--color-premium-text)}.catch-detail{display: grid;gap: var(--space-6);grid-template-columns: minmax(0,1fr)}@media (min-width: 992px){.catch-detail{grid-template-columns: minmax(0,1.45fr) minmax(340px,1fr);grid-template-areas: "media aside" "body aside";grid-template-rows: auto 1fr;column-gap: var(--space-8);row-gap: var(--space-7);align-items: start}.catch-detail__media{grid-area: media}.catch-detail__body{grid-area: body}.catch-detail__aside{grid-area: aside;position: sticky;top: calc(var(--header-h) + var(--space-5))}}.gallery{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--space-3)}.gallery__main{position: relative;margin: 0;border-radius: var(--radius-xl);overflow: hidden;background: var(--color-skeleton);aspect-ratio: var(--ratio,4 / 3);max-height: 80vh}.gallery__main img{width: 100%;height: 100%;object-fit: contain;background: var(--sand-950)}.gallery__main .catch-card__badges{inset: var(--space-4) var(--space-4) auto}.gallery__thumbs{display: flex;gap: var(--space-2)}.gallery__thumb{width: 76px;height: 76px;padding: 0;border: 2px solid transparent;border-radius: var(--radius-md);overflow: hidden;background: var(--color-skeleton);opacity: 0.7;transition: opacity var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.gallery__thumb img{width: 100%;height: 100%;object-fit: cover}.gallery__thumb[aria-current="true"],.gallery__thumb:hover{opacity: 1;border-color: var(--color-primary)}@media (max-width: 575.98px){.catch-detail .gallery__main{margin-inline: calc(var(--gutter) * -1);border-radius: 0}}.catch-title{display: flex;flex-wrap: wrap;align-items: baseline;gap: var(--space-1) var(--space-3);margin-bottom: var(--space-1)}.catch-title .measure{font-size: var(--fs-2xl)}.latin{font-style: italic;color: var(--color-text-muted);font-size: var(--fs-sm)}.fact-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));grid-auto-flow: row dense;gap: 1px;margin: 0;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: var(--color-border);overflow: hidden}.fact-grid>div{padding: var(--space-3) var(--space-4);background: var(--color-surface);min-width: 0}.fact-grid dt{display: flex;align-items: center;gap: 6px;margin-bottom: 2px;font-size: var(--fs-xs);font-weight: var(--fw-semibold);letter-spacing: 0.02em;color: var(--color-text-muted)}.fact-grid dt .icon{--icon-size: 14px;color: var(--color-text-subtle)}.fact-grid dd{margin: 0;font-weight: var(--fw-semibold);color: var(--color-heading);overflow-wrap: anywhere}.fact-grid dd a{font-weight: var(--fw-semibold)}.fact-grid__wide{grid-column: 1 / -1}.action-bar{display: flex;align-items: center;gap: var(--space-2);padding-block: var(--space-3);border-block: 1px solid var(--color-divider)}.action-bar .spacer{flex: 1}@media (max-width: 419.98px){.action-bar [data-controller="share"]>span{position: absolute;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap}}.locked-note{display: flex;gap: var(--space-3);align-items: flex-start;padding: var(--space-3) var(--space-4);border-radius: var(--radius-md);background: var(--color-premium-soft);color: var(--color-text);font-size: var(--fs-sm)}.locked-note .icon{color: var(--color-premium-text);margin-top: 2px}.breadcrumb{--bs-breadcrumb-divider: "›";--bs-breadcrumb-item-padding-x: 0.4rem;--bs-breadcrumb-divider-color: var(--color-text-subtle);--bs-breadcrumb-item-active-color: var(--color-text-muted);--bs-breadcrumb-margin-bottom: var(--space-3);flex-wrap: nowrap;overflow-x: auto;scrollbar-width: none;font-size: var(--fs-sm);white-space: nowrap}.breadcrumb::-webkit-scrollbar{display: none}.breadcrumb a{color: var(--color-text-muted);font-weight: var(--fw-medium)}.breadcrumb a:hover{color: var(--color-link)}.breadcrumb-item{flex-shrink: 0}.breadcrumb-item.active{flex-shrink: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis}.section-head{display: flex;align-items: flex-end;justify-content: space-between;gap: var(--space-4);margin-bottom: var(--space-5)}.section-head h2,.section-head .h2{margin: 0;font-size: var(--fs-xl);font-family: var(--font-display);letter-spacing: var(--tracking-tight)}@media (min-width: 768px){.section-head h2,.section-head .h2{font-size: var(--fs-2xl)}}.section-head p{margin: var(--space-1) 0 0;color: var(--color-text-muted)}.link-arrow{display: inline-flex;align-items: center;gap: 4px;flex: none;font-weight: var(--fw-semibold);font-size: var(--fs-sm);white-space: nowrap}.link-arrow .icon{--icon-size: 16px;transition: transform var(--dur-fast) var(--ease-out)}.link-arrow:hover .icon{transform: translateX(3px)}.page-head{padding-block: var(--space-6) var(--space-5)}.page-head h1{margin-bottom: var(--space-2)}.page-head .lead{margin: 0;max-width: 60ch}.rubric-hero{position: relative;padding-block: var(--space-5) var(--space-7);background: radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--lake-100) 70%,transparent) 0%,transparent 60%),linear-gradient(180deg,var(--color-bg-accent),var(--color-bg));border-bottom: 1px solid var(--color-divider)}[data-bs-theme="dark"] .rubric-hero{background: radial-gradient(120% 90% at 100% 0%,rgb(22 125 144 / 0.22) 0%,transparent 60%),linear-gradient(180deg,var(--night-850),var(--color-bg))}.rubric-hero__grid{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--space-6);align-items: center}@media (min-width: 992px){.rubric-hero__grid{grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);gap: var(--space-8)}}.rubric-hero__title{font-size: var(--fs-3xl);margin-bottom: var(--space-3)}.rubric-hero .lead{max-width: 56ch;margin-bottom: var(--space-5)}.rubric-hero__suffix{font-weight: 400;color: var(--color-text-muted);font-size: .6em;white-space: nowrap}.rubric-hero__about{max-width: 64ch;margin: calc(-1 * var(--space-3)) 0 var(--space-5);color: var(--color-text-muted);font-size: var(--fs-sm)}.rubric-hero__actions{display: flex;flex-wrap: wrap;gap: var(--space-2);margin-top: var(--space-5)}.rubric-hero__media{position: relative;border-radius: var(--radius-xl);overflow: hidden;box-shadow: var(--shadow-lg);aspect-ratio: 4 / 3;background: var(--color-skeleton)}.rubric-hero__media>img{width: 100%;height: 100%;object-fit: cover}.rubric-hero__media .map{height: 100%;border-radius: 0;border: 0}.media-caption{position: absolute;left: var(--space-3);bottom: var(--space-3);z-index: 500}.stat-chips{display: flex;flex-wrap: wrap;gap: var(--space-2);margin: 0;padding: 0;list-style: none}.stat-chip{display: inline-flex;flex-direction: column;justify-content: center;min-width: 96px;padding: var(--space-2) var(--space-4);border-radius: var(--radius-md);background: var(--color-surface);border: 1px solid var(--color-border);box-shadow: var(--shadow-xs);line-height: 1.2}.stat-chip__value{font-family: var(--font-display);font-size: var(--fs-lg);font-weight: var(--fw-heavy);color: var(--color-heading);font-variant-numeric: tabular-nums;letter-spacing: -0.01em}.stat-chip__label{font-size: var(--fs-xs);color: var(--color-text-muted);font-weight: var(--fw-medium)}.stat-chip--accent{background: var(--color-primary);border-color: var(--color-primary)}.stat-chip--accent .stat-chip__value,.stat-chip--accent .stat-chip__label{color: var(--color-primary-contrast)}@media (max-width: 575.98px){.stat-chips{display: grid;grid-template-columns: repeat(2,minmax(0,1fr))}.stat-chip{min-width: 0}}.kpi-row{display: grid;gap: var(--space-3);grid-template-columns: repeat(2,minmax(0,1fr))}@media (min-width: 768px){.kpi-row{grid-template-columns: repeat(4,minmax(0,1fr))}}.kpi{padding: var(--space-4);border-radius: var(--radius-card);background: var(--color-surface);border: 1px solid var(--color-border)}.kpi__label{font-size: var(--fs-xs);font-weight: var(--fw-semibold);color: var(--color-text-muted)}.kpi__value{font-family: var(--font-display);font-size: var(--fs-2xl);font-weight: var(--fw-heavy);color: var(--color-heading);line-height: 1.1;font-variant-numeric: tabular-nums}.kpi__delta{font-size: var(--fs-xs);font-weight: var(--fw-semibold);color: var(--color-success)}.subnav{position: sticky;top: var(--header-h);z-index: var(--z-sticky);background: color-mix(in srgb,var(--color-bg) 90%,transparent);-webkit-backdrop-filter: blur(12px);backdrop-filter: blur(12px);border-bottom: 1px solid var(--color-divider)}.subnav__list{display: flex;gap: var(--space-1);margin: 0;padding: var(--space-2) 0;list-style: none;overflow-x: auto;scrollbar-width: none}.subnav__list::-webkit-scrollbar{display: none}.subnav__link{display: inline-flex;align-items: center;gap: 6px;height: 36px;padding-inline: var(--space-3);border-radius: var(--radius-pill);color: var(--color-text-muted);font-size: var(--fs-sm);font-weight: var(--fw-semibold);white-space: nowrap;text-decoration: none}.subnav__link:hover{background: var(--color-surface-sunken);color: var(--color-heading);text-decoration: none}.subnav__link.is-active{background: var(--color-heading);color: var(--color-bg)}.subnav__count{font-size: var(--fs-xs);font-weight: var(--fw-medium);font-variant-numeric: tabular-nums}.tag-list{display: flex;flex-wrap: wrap;gap: var(--space-2);margin: 0;padding: 0;list-style: none}.tag{display: inline-flex;align-items: center;gap: 6px;min-height: 32px;max-width: 100%;padding: 4px 12px;border-radius: var(--radius-pill);background: var(--color-surface-sunken);color: var(--color-text);font-size: var(--fs-sm);font-weight: var(--fw-medium);line-height: 1.2;overflow-wrap: anywhere;text-decoration: none;transition: background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}a.tag:hover{background: var(--color-border);color: var(--color-heading);text-decoration: none}.tag .icon{--icon-size: 15px;opacity: 0.8}.tag__count{color: var(--color-text-subtle);font-size: var(--fs-xs);font-variant-numeric: tabular-nums}.tag--sm{min-height: 26px;padding: 3px 9px;font-size: var(--fs-xs)}.tag--species{background: var(--color-primary-soft);color: var(--color-primary-text)}a.tag--species:hover{background: var(--color-primary-soft-2);color: var(--color-primary-text)}.tag--bait{background: var(--color-accent-soft);color: var(--color-accent-text)}a.tag--bait:hover{background: color-mix(in srgb,var(--reed-200) 60%,transparent);color: var(--color-accent-text)}.tag--technique{background: transparent;border: 1px solid var(--color-border-strong)}.tag--premium{background: var(--color-premium-soft);color: var(--color-premium-text);font-weight: var(--fw-bold)}.tag--water{background: color-mix(in srgb,var(--lake-200) 35%,transparent);color: var(--color-primary-text)}.chip{display: inline-flex;align-items: center;gap: 6px;height: 38px;padding-inline: 14px;border: 1px solid var(--color-border-strong);border-radius: var(--radius-pill);background: var(--color-surface);color: var(--color-text);font-size: var(--fs-sm);font-weight: var(--fw-semibold);white-space: nowrap;cursor: pointer;user-select: none;transition: all var(--dur-fast) var(--ease-out)}.chip:hover{border-color: var(--color-text-subtle);color: var(--color-heading)}.chip .icon{--icon-size: 16px}.chip[aria-pressed="true"],.chip.is-active,.btn-check:checked + .chip{background: var(--color-heading);border-color: var(--color-heading);color: var(--color-bg)}.btn-check:focus-visible + .chip{box-shadow: var(--shadow-focus)}.chip-scroll{display: flex;min-width: 0;max-width: 100%;gap: var(--space-2);overflow-x: auto;scrollbar-width: none;padding-block: 2px;-webkit-mask-image: linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image: linear-gradient(90deg,#000 calc(100% - 32px),transparent)}.chip-scroll::-webkit-scrollbar{display: none}.filter-bar{position: sticky;top: var(--header-h);z-index: var(--z-sticky);display: flex;align-items: center;gap: var(--space-3);margin-inline: calc(var(--gutter) * -1);padding: var(--space-3) var(--gutter);background: color-mix(in srgb,var(--color-bg) 92%,transparent);-webkit-backdrop-filter: blur(12px);backdrop-filter: blur(12px);border-bottom: 1px solid var(--color-divider)}.filter-bar .chip-scroll{flex: 1;min-width: 0}.filter-bar__end{display: flex;gap: var(--space-2);flex: none}.select-pill{height: 38px;min-height: 38px;padding-block: 0;padding-left: 14px;border-radius: var(--radius-pill) !important;font-size: var(--fs-sm);font-weight: var(--fw-semibold);width: auto}.avatar{--avatar-size: 40px;--avatar-hue: 190;position: relative;display: inline-grid;place-items: center;flex: none;width: var(--avatar-size);height: var(--avatar-size);border-radius: 50%;overflow: hidden;background: hsl(var(--avatar-hue) 42% 86%);color: hsl(var(--avatar-hue) 55% 22%);font-size: calc(var(--avatar-size) * 0.38);font-weight: var(--fw-bold);letter-spacing: -0.02em;line-height: 1;text-transform: uppercase;user-select: none}[data-bs-theme="dark"] .avatar{background: hsl(var(--avatar-hue) 32% 26%);color: hsl(var(--avatar-hue) 60% 88%)}.avatar img{width: 100%;height: 100%;object-fit: cover}.avatar--xs{--avatar-size: 24px}.avatar--sm{--avatar-size: 32px}.avatar--md{--avatar-size: 40px}.avatar--lg{--avatar-size: 56px}.avatar--xl{--avatar-size: 96px}.avatar--2xl{--avatar-size: 128px}.avatar--ring{box-shadow: 0 0 0 3px var(--color-surface)}.avatar--premium{box-shadow: 0 0 0 2px var(--color-surface),0 0 0 4px var(--amber-400)}.avatar-stack{display: inline-flex}.avatar-stack .avatar{box-shadow: 0 0 0 2px var(--color-surface)}.avatar-stack .avatar + .avatar{margin-left: -8px}.presence::after{content: "";position: absolute;right: 1px;bottom: 1px;width: 25%;height: 25%;border-radius: 50%;background: var(--reed-500);box-shadow: 0 0 0 2px var(--color-surface)}.user-chip{display: inline-flex;align-items: center;gap: var(--space-2);min-width: 0;color: var(--color-text);font-size: var(--fs-sm);font-weight: var(--fw-semibold);text-decoration: none}.user-chip:hover{color: var(--color-heading);text-decoration: none}.user-chip>span:last-child{min-width: 0;overflow: hidden}.user-chip__name{display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.user-chip__meta{display: block;font-size: var(--fs-xs);font-weight: var(--fw-regular);color: var(--color-text-muted)}.badge{--bs-badge-padding-x: 0.5em;--bs-badge-padding-y: 0.3em;--bs-badge-font-size: var(--fs-2xs);--bs-badge-font-weight: var(--fw-bold);--bs-badge-border-radius: var(--radius-pill);letter-spacing: 0.02em}.badge-premium{display: inline-flex;align-items: center;gap: 4px;height: 22px;padding-inline: 8px;border-radius: var(--radius-pill);background: linear-gradient(135deg,var(--amber-300),var(--amber-400));color: var(--amber-800);font-size: var(--fs-2xs);font-weight: var(--fw-heavy);letter-spacing: 0.05em;text-transform: uppercase;line-height: 1}.badge-premium .icon{--icon-size: 12px;--icon-stroke: 2.5}.badge-soft{display: inline-flex;align-items: center;gap: 4px;height: 22px;padding-inline: 8px;border-radius: var(--radius-pill);background: var(--color-surface-sunken);color: var(--color-text-muted);font-size: var(--fs-2xs);font-weight: var(--fw-bold);letter-spacing: 0.03em;text-transform: uppercase;white-space: nowrap}.badge-soft--success{background: var(--color-success-soft);color: var(--color-success)}.badge-soft--danger{background: var(--color-danger-soft);color: var(--color-danger)}.badge-soft--info{background: var(--color-info-soft);color: var(--color-info)}.badge-soft--warning{background: var(--color-warning-soft);color: var(--color-warning)}.badge-count{display: inline-grid;place-items: center;min-width: 20px;height: 20px;padding-inline: 6px;border-radius: var(--radius-pill);background: var(--color-primary);color: var(--color-primary-contrast);font-size: var(--fs-2xs);font-weight: var(--fw-bold)}.comment-thread{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--space-5);margin: 0;padding: 0;list-style: none}.comment{display: grid;grid-template-columns: auto minmax(0,1fr);gap: var(--space-3);min-width: 0}.comment__bubble{padding: var(--space-3) var(--space-4);border-radius: 4px var(--radius-lg) var(--radius-lg) var(--radius-lg);background: var(--color-surface-2);border: 1px solid var(--color-divider)}.comment__head{display: flex;flex-wrap: wrap;align-items: baseline;gap: 2px var(--space-2);margin-bottom: 2px}.comment__author{font-weight: var(--fw-bold);color: var(--color-heading);font-size: var(--fs-sm)}.comment__author:hover{color: var(--color-link)}.comment__time{font-size: var(--fs-xs);color: var(--color-text-subtle)}.comment__body{margin: 0;overflow-wrap: anywhere}.comment__actions{display: flex;gap: var(--space-3);margin-top: var(--space-1);padding-left: var(--space-2);font-size: var(--fs-xs);font-weight: var(--fw-semibold)}.comment__actions button{padding: 4px 0;border: 0;background: none;color: var(--color-text-muted)}.comment__actions button:hover{color: var(--color-heading)}.comment--owner .comment__bubble{background: var(--color-primary-soft);border-color: transparent}.comment-replies{grid-column: 2;display: grid;gap: var(--space-4);margin: var(--space-3) 0 0;padding: 0;list-style: none}.comment-form{display: grid;grid-template-columns: auto minmax(0,1fr);gap: var(--space-3);align-items: start}.comment-form__box{display: flex;align-items: flex-end;gap: var(--space-2);padding: 6px 6px 6px var(--space-4);border: 1px solid var(--color-border-strong);border-radius: var(--radius-xl);background: var(--color-surface);transition: border-color var(--dur-fast),box-shadow var(--dur-fast)}.comment-form__box:focus-within{border-color: var(--color-focus);box-shadow: var(--shadow-focus)}.comment-form__box textarea{flex: 1;min-height: 32px;max-height: 200px;padding: 6px 0;border: 0;background: transparent;color: var(--color-text);resize: none;field-sizing: content;font: inherit}.comment-form__box textarea:focus{outline: none}.comment-form__box .btn{--bs-btn-padding-x: 0.875rem;min-height: 36px;height: 36px}.like-btn,.meta-btn{display: inline-flex;align-items: center;gap: 5px;min-height: 36px;padding: 0 10px;border: 0;border-radius: var(--radius-pill);background: transparent;color: var(--color-text-muted);font-size: var(--fs-sm);font-weight: var(--fw-semibold);font-variant-numeric: tabular-nums;text-decoration: none;transition: background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.like-btn .icon,.meta-btn .icon{--icon-size: 20px}.like-btn:hover,.meta-btn:hover{background: var(--color-surface-sunken);color: var(--color-heading);text-decoration: none}.like-btn[aria-pressed="true"]{color: var(--color-like-text)}.like-btn[aria-pressed="true"] .icon{color: var(--color-like)}.like-btn[aria-pressed="true"] .icon{fill: currentColor;animation: like-pop var(--dur-slow) var(--ease-spring)}.like-btn[aria-pressed="true"]:hover{background: var(--color-like-soft);color: var(--color-like-text)}.like-btn[aria-busy="true"]{opacity: 0.7}.like-btn--lg{min-height: var(--tap-min);padding-inline: var(--space-4);border: 1px solid var(--color-border-strong);background: var(--color-surface)}.like-btn--lg[aria-pressed="true"]{border-color: color-mix(in srgb,var(--color-like) 40%,transparent);background: var(--color-like-soft)}@keyframes like-pop{0%{transform: scale(1)}35%{transform: scale(1.35)}100%{transform: scale(1)}}.empty-state{display: grid;justify-items: center;gap: var(--space-3);padding: var(--space-9) var(--space-5);border: 1.5px dashed var(--color-border-strong);border-radius: var(--radius-xl);background: var(--color-surface-2);text-align: center}.empty-state__art{width: 120px;height: auto;margin-bottom: var(--space-2);color: var(--color-primary)}.empty-state h2,.empty-state h3{margin: 0;font-size: var(--fs-lg);font-family: var(--font-sans);letter-spacing: var(--tracking-snug)}.empty-state p{max-width: 42ch;margin: 0;color: var(--color-text-muted)}.empty-state__actions{display: flex;flex-wrap: wrap;justify-content: center;gap: var(--space-2);margin-top: var(--space-2)}.empty-state--compact{padding: var(--space-6) var(--space-4)}.error-page{display: grid;grid-template-columns: minmax(0,1fr);place-items: center;min-height: calc(100vh - var(--header-h) - 200px);padding-block: var(--space-10);text-align: center}.error-page>*{width: 100%;min-width: 0}.error-page .hero-search{width: 100%}.error-page__code{font-family: var(--font-display);font-size: clamp(5rem,3rem + 10vw,9rem);font-weight: var(--fw-heavy);line-height: 0.9;letter-spacing: -0.05em;color: transparent;background: linear-gradient(180deg,var(--lake-400),var(--lake-700));-webkit-background-clip: text;background-clip: text}.error-page__art{width: min(320px,70vw);margin-inline: auto;color: var(--color-primary)}.error-page h1{font-size: var(--fs-2xl)}.error-page .lead{max-width: 46ch;margin-inline: auto}.skeleton{display: block;border-radius: var(--radius-sm);background: linear-gradient(90deg,var(--color-skeleton) 0%,var(--color-skeleton-shine) 45%,var(--color-skeleton) 90%);background-size: 300% 100%;animation: skeleton-shine var(--dur-skeleton) ease-in-out infinite;color: transparent !important;user-select: none;pointer-events: none}.skeleton-text{height: 0.9em;margin-block: 0.35em;border-radius: var(--radius-xs)}.skeleton-text--lg{height: 1.3em}.skeleton-circle{border-radius: 50%}.skeleton-media{aspect-ratio: 4 / 3;border-radius: 0}@keyframes skeleton-shine{0%{background-position: 100% 0}100%{background-position: -100% 0}}.skeleton-card{pointer-events: none}.skeleton-card .catch-card__body{gap: var(--space-2)}img.lazy-fade{opacity: 0;transition: opacity var(--dur-slow) var(--ease-out)}img.lazy-fade.is-loaded{opacity: 1}.no-js img.lazy-fade{opacity: 1}.spinner{display: inline-block;width: var(--spinner,20px);height: var(--spinner,20px);border: 2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color: currentColor;border-radius: 50%;animation: spin 0.7s linear infinite}@keyframes spin{to{transform: rotate(360deg)}}.pagination{--bs-pagination-padding-x: 0.25rem;--bs-pagination-padding-y: 0;--bs-pagination-font-size: var(--fs-sm);--bs-pagination-color: var(--color-text);--bs-pagination-bg: transparent;--bs-pagination-border-width: 0;--bs-pagination-border-radius: var(--radius-pill);--bs-pagination-hover-color: var(--color-heading);--bs-pagination-hover-bg: var(--color-surface-sunken);--bs-pagination-focus-color: var(--color-heading);--bs-pagination-focus-bg: var(--color-surface-sunken);--bs-pagination-focus-box-shadow: var(--shadow-focus);--bs-pagination-active-color: var(--color-bg);--bs-pagination-active-bg: var(--color-heading);--bs-pagination-disabled-color: var(--color-text-subtle);--bs-pagination-disabled-bg: transparent;gap: 4px;flex-wrap: wrap;justify-content: center}.page-link{display: inline-grid;place-items: center;min-width: 40px;height: 40px;border-radius: var(--radius-pill) !important;font-weight: var(--fw-semibold);font-variant-numeric: tabular-nums}.page-link .icon{--icon-size: 18px}.load-more{display: grid;justify-items: center;gap: var(--space-3);margin-top: var(--space-7)}.load-more__meta{font-size: var(--fs-sm);color: var(--color-text-muted)}.progress-line{width: 180px;height: 4px;border-radius: 2px;background: var(--color-surface-sunken);overflow: hidden}.progress-line>span{display: block;height: 100%;background: var(--color-primary);border-radius: inherit}.form-label{margin-bottom: var(--space-2);font-size: var(--fs-sm);font-weight: var(--fw-semibold);color: var(--color-heading)}.form-label .optional,.form-label .required-mark{font-weight: var(--fw-regular);color: var(--color-text-subtle)}.invalid-feedback .icon{vertical-align: -0.15em}.form-text{margin-top: var(--space-1);font-size: var(--fs-xs);color: var(--color-text-muted)}.form-control,.form-select{min-height: 48px;padding: 0.6875rem 0.9375rem;border: 1px solid var(--color-border-strong);border-radius: var(--radius-control);background-color: var(--color-surface);color: var(--color-text);font-size: var(--fs-base);transition: border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast)}.form-control::placeholder{color: var(--color-text-subtle);opacity: 1}.form-control:hover:not(:focus):not(:disabled),.form-select:hover:not(:focus):not(:disabled){border-color: var(--color-text-subtle)}.form-control:focus,.form-select:focus{border-color: var(--color-focus);background-color: var(--color-surface);color: var(--color-text)}.form-control:disabled,.form-select:disabled{background-color: var(--color-surface-sunken);opacity: 0.7}.form-control-sm,.form-select-sm{min-height: 38px;padding-block: 0.375rem;font-size: var(--fs-sm);border-radius: var(--radius-sm)}.form-control-lg{min-height: 56px;font-size: var(--fs-md);border-radius: var(--radius-lg)}textarea.form-control{min-height: 112px;line-height: var(--lh-base)}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23615a4e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e");padding-right: 2.75rem;background-position: right 0.875rem center;background-size: 18px 18px}[data-bs-theme="dark"] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239db0b3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e")}.form-floating>.form-control,.form-floating>.form-select{height: 58px;min-height: 58px;padding-inline: 0.9375rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-select{padding-top: 1.625rem;padding-bottom: 0.5rem}.form-floating>label{padding: 1.0625rem 0.9375rem;color: var(--color-text-muted);font-weight: var(--fw-medium)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color: var(--color-text-muted);transform: scale(0.8) translateY(-0.625rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after{background: transparent}.form-floating>textarea.form-control{height: 120px}.input-group-text{border-color: var(--color-border-strong);background: var(--color-surface-sunken);color: var(--color-text-muted);font-weight: var(--fw-semibold);border-radius: var(--radius-control)}.input-affix{position: relative}.input-affix>.form-control{padding-right: 3.25rem}.input-affix__unit{position: absolute;right: 0.9375rem;top: 50%;transform: translateY(-50%);color: var(--color-text-muted);font-weight: var(--fw-semibold);pointer-events: none}.form-floating.input-affix .input-affix__unit{top: auto;bottom: 0.6rem;transform: none}.input-affix__btn{position: absolute;right: 4px;top: 50%;transform: translateY(-50%)}.form-check{min-height: 24px;padding-left: 2rem;margin-bottom: var(--space-2)}.form-check .form-check-input{margin-left: -2rem}.form-check-input{width: 1.25rem;height: 1.25rem;margin-top: 0.125rem;border: 1.5px solid var(--color-border-strong);background-color: var(--color-surface)}.form-check-input:checked{background-color: var(--color-primary);border-color: var(--color-primary)}.form-check-input[type="checkbox"]{border-radius: 6px}.form-check-input:focus{border-color: var(--color-focus)}.form-check-label{color: var(--color-text)}.form-switch{padding-left: 3.25rem}.form-switch .form-check-input{width: 2.75rem;height: 1.5rem;margin-left: -3.25rem;margin-top: 0;border-radius: var(--radius-pill);--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23a79f90'/%3e%3c/svg%3e")}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%233a9aab'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-switch--row{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);padding-left: 0}.form-switch.form-switch--row .form-check-input{order: 2;margin-left: 0;flex: none}.form-range::-webkit-slider-thumb{background: var(--color-primary)}.form-range::-moz-range-thumb{background: var(--color-primary)}.form-range::-webkit-slider-runnable-track{background: var(--color-surface-sunken)}.was-validated .form-control:invalid,.form-control.is-invalid{border-color: var(--color-danger)}.was-validated .form-control:valid,.form-control.is-valid{border-color: var(--color-success)}.invalid-feedback{font-size: var(--fs-xs);font-weight: var(--fw-semibold);color: var(--color-danger)}.form-control.is-invalid:focus{box-shadow: 0 0 0 3px color-mix(in srgb,var(--color-danger) 25%,transparent)}.segmented{display: inline-flex;max-width: 100%;overflow-x: auto;scrollbar-width: none;padding: 4px;gap: 4px;border-radius: var(--radius-pill);background: var(--color-surface-sunken)}.segmented label,.segmented>a{display: inline-flex;align-items: center;gap: 6px;min-height: 36px;padding-inline: var(--space-4);border-radius: var(--radius-pill);color: var(--color-text-muted);font-size: var(--fs-sm);font-weight: var(--fw-semibold);cursor: pointer;white-space: nowrap}.segmented input{position: absolute;opacity: 0;pointer-events: none}.segmented>a{text-decoration: none}.segmented>a[aria-current]{color: var(--color-heading)}.segmented input:checked + label,.segmented>a[aria-current]{background: var(--color-surface);color: var(--color-heading);box-shadow: var(--shadow-sm)}.segmented input:focus-visible + label{box-shadow: var(--shadow-focus)}.segmented--block{display: flex}.segmented--block label{flex: 1;justify-content: center}.choice-card{position: relative;display: flex;gap: var(--space-3);padding: var(--space-4);border: 1.5px solid var(--color-border);border-radius: var(--radius-md);background: var(--color-surface);cursor: pointer;transition: border-color var(--dur-fast),background-color var(--dur-fast)}.choice-card:hover{border-color: var(--color-border-strong)}.choice-card .form-check-input{flex: none;margin: 2px 0 0}.choice-card__title{display: block;font-weight: var(--fw-semibold);color: var(--color-heading)}.choice-card__desc{display: block;font-size: var(--fs-sm);color: var(--color-text-muted)}.choice-card:has(input:checked){border-color: var(--color-primary);background: var(--color-primary-soft)}.form-section{padding: var(--space-5);border: 1px solid var(--color-border);border-radius: var(--radius-xl);background: var(--color-surface)}@media (min-width: 768px){.form-section{padding: var(--space-6) var(--space-7)}}.form-section + .form-section{margin-top: var(--space-4)}.form-section__head{display: flex;align-items: center;gap: var(--space-3);margin-bottom: var(--space-5)}.form-section__head h2{margin: 0;font-family: var(--font-sans);font-size: var(--fs-lg);letter-spacing: var(--tracking-snug)}.form-section__head p{margin: 0;font-size: var(--fs-sm);color: var(--color-text-muted)}.step-num{display: grid;place-items: center;width: 32px;height: 32px;flex: none;border-radius: 50%;background: var(--color-primary-soft);color: var(--color-primary-text);font-weight: var(--fw-heavy);font-size: var(--fs-sm)}.step-num.is-done{background: var(--color-primary);color: var(--color-primary-contrast)}.password-meter{display: grid;grid-template-columns: repeat(4,1fr);gap: 4px;margin-top: var(--space-2)}.password-meter span{height: 4px;border-radius: 2px;background: var(--color-surface-sunken)}.password-meter[data-score="1"] span:nth-child(-n + 1){background: var(--coral-500)}.password-meter[data-score="2"] span:nth-child(-n + 2){background: var(--amber-400)}.password-meter[data-score="3"] span:nth-child(-n + 3){background: var(--reed-500)}.password-meter[data-score="4"] span{background: var(--reed-600)}.sticky-actions{position: sticky;bottom: 0;z-index: var(--z-sticky);display: flex;align-items: center;gap: var(--space-3);margin-top: var(--space-5);padding: var(--space-3) var(--space-4);border: 1px solid var(--color-border);border-radius: var(--radius-xl);background: color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter: blur(12px);backdrop-filter: blur(12px);box-shadow: var(--shadow-lg)}@media (max-width: 991.98px){.has-bottom-nav .sticky-actions{bottom: calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--space-2))}}.sticky-actions__status{flex: 1;min-width: 0;font-size: var(--fs-sm);color: var(--color-text-muted)}.sticky-actions__status .icon{color: var(--color-success)}.dropzone{position: relative;display: grid;justify-items: center;gap: var(--space-3);padding: var(--space-8) var(--space-5);border: 2px dashed color-mix(in srgb,var(--color-primary) 40%,var(--color-border-strong));border-radius: var(--radius-xl);background: radial-gradient(80% 120% at 50% 0%,var(--color-primary-soft) 0%,transparent 70%),var(--color-surface);text-align: center;transition: border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.dropzone:hover{border-color: var(--color-primary)}.dropzone.is-dragover{border-color: var(--color-primary);border-style: solid;background: var(--color-primary-soft);transform: scale(1.01)}.dropzone.is-dragover .dropzone__icon{transform: translateY(-4px) scale(1.06)}.dropzone__icon{display: grid;place-items: center;width: 72px;height: 72px;border-radius: 24px;background: var(--color-primary);color: var(--color-primary-contrast);box-shadow: var(--shadow-md);transition: transform var(--dur-base) var(--ease-spring)}.dropzone__icon .icon{--icon-size: 34px;--icon-stroke: 1.8}.dropzone__title{margin: 0;font-family: var(--font-display);font-size: var(--fs-xl);font-weight: var(--fw-bold);color: var(--color-heading);letter-spacing: var(--tracking-tight)}.dropzone__hint{margin: 0;color: var(--color-text-muted);font-size: var(--fs-sm)}.dropzone__hint .btn-link{--bs-btn-font-size: inherit;min-height: 0;vertical-align: baseline}.dropzone__actions{display: flex;flex-wrap: wrap;justify-content: center;gap: var(--space-2);margin-top: var(--space-2)}.dropzone__input{position: absolute;width: 1px;height: 1px;opacity: 0;pointer-events: none}.dropzone--compact,.has-files>.dropzone{padding: var(--space-5);grid-template-columns: auto 1fr;justify-items: start;text-align: left}.dropzone--compact .dropzone__icon,.has-files>.dropzone .dropzone__icon{width: 52px;height: 52px;border-radius: 16px;grid-row: span 2}.dropzone--compact .dropzone__icon .icon,.has-files>.dropzone .dropzone__icon .icon{--icon-size: 26px}.dropzone--compact .dropzone__title,.has-files>.dropzone .dropzone__title{font-size: var(--fs-md)}.has-files>.dropzone .dropzone__actions,.has-files>.dropzone .dropzone__actions + p{display: none !important}.photo-previews{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: var(--space-3);margin: var(--space-4) 0 0;padding: 0;list-style: none}.photo-thumb{position: relative;aspect-ratio: 1;border-radius: var(--radius-lg);overflow: hidden;background: var(--color-skeleton);box-shadow: var(--shadow-sm)}.photo-thumb img{width: 100%;height: 100%;object-fit: cover}.photo-thumb__cover{position: absolute;left: var(--space-2);bottom: var(--space-2)}.photo-thumb__remove{position: absolute;top: var(--space-2);right: var(--space-2);display: grid;place-items: center;width: 32px;height: 32px;padding: 0;border: 0;border-radius: 50%;background: rgb(8 24 28 / 0.6);color: #fff;-webkit-backdrop-filter: blur(6px);backdrop-filter: blur(6px)}.photo-thumb__remove:hover{background: var(--coral-600)}.photo-thumb__remove .icon{--icon-size: 16px}.photo-thumb__rotate{right: auto;left: var(--space-2)}.invalid-feedback[hidden],.alert[hidden]{display: none !important}.photo-thumb__remove:disabled{opacity: 0.6}.photo-thumb__progress{position: absolute;inset: auto var(--space-2) var(--space-2) var(--space-2);height: 4px;border-radius: 2px;background: rgb(255 255 255 / 0.35);overflow: hidden}.photo-thumb__progress>span{display: block;height: 100%;width: var(--progress,0%);background: #fff;transition: width var(--dur-base) linear}.photo-thumb.is-processing img{filter: blur(2px) saturate(0.6)}.photo-thumb.is-error{outline: 2px solid var(--color-danger)}.photo-thumb--add{display: grid;place-items: center;border: 2px dashed var(--color-border-strong);background: var(--color-surface-2);box-shadow: none;color: var(--color-text-muted);font-size: var(--fs-sm);font-weight: var(--fw-semibold);cursor: pointer}.photo-thumb--add:hover{border-color: var(--color-primary);color: var(--color-primary)}.exif-banner{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3);margin-top: var(--space-4);padding: var(--space-3) var(--space-4);border-radius: var(--radius-lg);background: var(--color-accent-soft);border: 1px solid color-mix(in srgb,var(--reed-400) 40%,transparent)}.exif-banner__text{flex: 1 1 260px;font-size: var(--fs-sm)}.exif-banner__text strong{color: var(--color-heading)}.exif-banner .icon-circle{--circle: 36px;background: var(--color-accent);color: var(--color-accent-contrast)}.ts-hidden-accessible{border: 0 !important;clip: rect(0 0 0 0) !important;clip-path: inset(50%) !important;overflow: hidden !important;padding: 0 !important;position: absolute !important;width: 1px !important;white-space: nowrap !important}.ts-wrapper{position: relative}.ts-wrapper.form-select,.ts-wrapper.form-control{padding: 0;border: 0;background: none;box-shadow: none;min-height: 0}.ts-control{position: relative;z-index: 1;display: flex;flex-wrap: wrap;align-items: center;gap: 6px;width: 100%;min-height: 48px;padding: 0.5rem 2.75rem 0.5rem 2.75rem;border: 1px solid var(--color-border-strong);border-radius: var(--radius-control);background: var(--color-surface);color: var(--color-text);font-size: var(--fs-base);line-height: 1.5;cursor: text;overflow: hidden;transition: border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ts-wrapper::before{content: "";position: absolute;left: 0.9375rem;top: 50%;z-index: 2;width: 18px;height: 18px;transform: translateY(-50%);background: currentColor;color: var(--color-text-subtle);-webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3ccircle cx='11' cy='11' r='8'/%3e%3cpath d='m21 21-4.3-4.3'/%3e%3c/svg%3e") center / contain no-repeat;mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3ccircle cx='11' cy='11' r='8'/%3e%3cpath d='m21 21-4.3-4.3'/%3e%3c/svg%3e") center / contain no-repeat;pointer-events: none}.ts-wrapper.no-icon::before{display: none}.ts-wrapper.no-icon .ts-control{padding-left: 0.9375rem}.ts-wrapper::after{content: "";position: absolute;right: 0.9375rem;top: 50%;z-index: 2;width: 18px;height: 18px;transform: translateY(-50%);background: var(--color-text-subtle);-webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e") center / contain no-repeat;mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e") center / contain no-repeat;transition: transform var(--dur-fast) var(--ease-out);pointer-events: none}.ts-wrapper.dropdown-active::after{transform: translateY(-50%) rotate(180deg)}.ts-wrapper:hover .ts-control{border-color: var(--color-text-subtle)}.ts-wrapper.focus .ts-control{border-color: var(--color-focus);box-shadow: var(--shadow-focus)}.ts-wrapper.is-invalid .ts-control{border-color: var(--color-danger)}.ts-wrapper.disabled .ts-control{opacity: 0.6;background: var(--color-surface-sunken);cursor: default}.ts-control>input{flex: 1 1 auto;min-width: 7rem;display: inline-block !important;padding: 0 !important;min-height: 0 !important;max-height: none !important;max-width: 100% !important;margin: 0 !important;text-indent: 0 !important;border: 0 none !important;background: none !important;color: var(--color-text);font: inherit;line-height: inherit !important;user-select: auto !important;box-shadow: none !important}.ts-control>input::placeholder{color: var(--color-text-subtle)}.ts-control>input:focus{outline: none !important}.input-hidden .ts-control>input{opacity: 0;position: absolute;left: -10000px}.ts-wrapper.single .ts-control{cursor: pointer}.ts-wrapper.single.input-active .ts-control{cursor: text}.ts-wrapper.single .ts-control>.item{font-weight: var(--fw-semibold);color: var(--color-heading)}.ts-wrapper.single.input-active .ts-control>.item{opacity: 0.45}.ts-wrapper.multi .ts-control>.item{display: inline-flex;align-items: center;gap: 4px;height: 30px;padding: 0 4px 0 10px;border-radius: var(--radius-pill);background: var(--color-primary-soft);color: var(--color-primary-text);font-size: var(--fs-sm);font-weight: var(--fw-semibold);cursor: pointer}.ts-wrapper.multi .ts-control>.item.active{background: var(--color-primary);color: var(--color-primary-contrast)}.ts-control .item .remove{display: inline-grid;place-items: center;width: 22px;height: 22px;border-radius: 50%;color: inherit;text-decoration: none;font-size: 16px;line-height: 1}.ts-control .item .remove:hover{background: rgb(0 0 0 / 0.08)}.ts-dropdown{position: absolute;top: 100%;left: 0;z-index: var(--z-dropdown);width: 100%;margin-top: 6px;padding: 6px;border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface-raised);color: var(--color-text);box-shadow: var(--shadow-lg);font-size: var(--fs-base);animation: pop-in var(--dur-fast) var(--ease-out)}.ts-dropdown-content{max-height: min(320px,50vh);overflow: hidden auto;scroll-behavior: smooth;overscroll-behavior: contain}.ts-dropdown .option,.ts-dropdown .optgroup-header,.ts-dropdown .no-results,.ts-dropdown .create{padding: 10px 12px;border-radius: var(--radius-sm)}.ts-dropdown [data-selectable]{cursor: pointer;overflow: hidden}.ts-dropdown .option{display: flex;align-items: center;gap: var(--space-3)}.ts-dropdown .option.active,.ts-dropdown .create.active{background: var(--color-primary-soft);color: var(--color-heading)}.ts-dropdown .option.selected{font-weight: var(--fw-semibold)}.ts-dropdown .option.selected::after{content: "";width: 16px;height: 16px;margin-left: auto;background: var(--color-primary);-webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M20 6 9 17l-5-5'/%3e%3c/svg%3e") center / contain no-repeat;mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M20 6 9 17l-5-5'/%3e%3c/svg%3e") center / contain no-repeat}.ts-dropdown .optgroup-header{padding-block: 8px 4px;font-size: var(--fs-2xs);font-weight: var(--fw-bold);letter-spacing: var(--tracking-wide);text-transform: uppercase;color: var(--color-text-subtle);cursor: default}.ts-dropdown .no-results{color: var(--color-text-muted);font-size: var(--fs-sm)}.ts-dropdown .create{color: var(--color-link);font-weight: var(--fw-semibold)}.ts-dropdown .highlight{background: color-mix(in srgb,var(--amber-300) 45%,transparent);border-radius: 2px;color: inherit}.ts-dropdown .spinner{margin: 10px 12px}.ac-option__thumb{display: grid;place-items: center;flex: none;width: 36px;height: 36px;border-radius: var(--radius-sm);background: var(--color-primary-soft);color: var(--color-primary);overflow: hidden}.ac-option__thumb img{width: 100%;height: 100%;object-fit: cover}.ac-option__thumb .icon{--icon-size: 18px}.ac-option__text{min-width: 0;line-height: 1.3}.ac-option__title{display: block;font-weight: var(--fw-semibold);color: var(--color-heading)}.ac-option__meta{display: block;font-size: var(--fs-xs);color: var(--color-text-muted)}.ac-option__count{margin-left: auto;font-size: var(--fs-xs);color: var(--color-text-subtle);font-variant-numeric: tabular-nums}@keyframes pop-in{from{opacity: 0;transform: translateY(-4px) scale(0.98)}to{opacity: 1;transform: none}}.search-suggest{position: absolute;top: calc(100% + 6px);left: 0;right: 0;z-index: var(--z-dropdown);max-height: min(70vh,480px);overflow: hidden auto;overscroll-behavior: contain;padding: 6px;border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface-raised);color: var(--color-text);box-shadow: var(--shadow-lg);font-size: var(--fs-base);text-align: start;animation: pop-in var(--dur-fast) var(--ease-out)}.search-suggest[hidden]{display: none}.header-search .search-suggest{left: auto;width: min(440px,calc(100vw - 2 * var(--space-4)))}.search-suggest--inline{position: static;margin-top: var(--space-3);max-height: calc(100dvh - 150px);box-shadow: none;animation: none}.search-suggest__heading{padding: 8px 12px 4px;font-size: var(--fs-2xs);font-weight: var(--fw-bold);letter-spacing: var(--tracking-wide);text-transform: uppercase;color: var(--color-text-subtle)}.search-suggest__group + .search-suggest__group{margin-top: 2px}.search-suggest__option{display: flex;align-items: center;gap: var(--space-3);min-height: 44px;padding: 6px 12px;border-radius: var(--radius-sm);color: inherit;text-decoration: none;cursor: pointer}.search-suggest__option:hover{color: inherit}.search-suggest__option[aria-selected="true"]{background: var(--color-primary-soft);color: var(--color-heading)}.search-suggest__option .ac-option__title{overflow-wrap: anywhere}.search-suggest__all{margin-top: 4px;border-top: 1px solid var(--color-divider);border-radius: 0 0 var(--radius-sm) var(--radius-sm)}.search-suggest__all .ac-option__thumb{background: transparent;color: var(--color-text-subtle)}.search-suggest__all .ac-option__title{font-weight: var(--fw-semibold);color: var(--color-link)}.search-suggest__empty{padding: 10px 12px;color: var(--color-text-muted);font-size: var(--fs-sm)}.search-suggest mark{padding: 0;border-radius: 2px;background: color-mix(in srgb,var(--amber-300) 45%,transparent);color: inherit}.home-hero:has(.search-suggest:not([hidden])){overflow: clip visible}.ts-demo-open .ts-dropdown{position: relative;animation: none}.map{position: relative;isolation: isolate;width: 100%;height: var(--map-h,360px);border-radius: var(--radius-xl);border: 1px solid var(--color-border);overflow: hidden;background: var(--color-map-bg);z-index: var(--z-base)}.map--sm{--map-h: 220px;border-radius: var(--radius-lg)}.map--lg{--map-h: 480px}.map--picker{--map-h: 320px}@media (min-width: 768px){.map--picker{--map-h: 380px}}.map .leaflet-container{width: 100%;height: 100%;background: var(--color-map-bg);font-family: var(--font-sans);font-size: var(--fs-sm)}.map .leaflet-tile-pane{filter: var(--map-tile-filter)}.map__placeholder{position: absolute;inset: 0;display: grid;place-items: center;align-content: center;gap: var(--space-3);color: var(--color-primary-text);text-align: center;background: radial-gradient(circle at 30% 40%,color-mix(in srgb,var(--lake-300) 45%,transparent) 0 14%,transparent 15%),radial-gradient(ellipse 40% 26% at 62% 58%,color-mix(in srgb,var(--lake-300) 40%,transparent) 0 60%,transparent 62%),repeating-radial-gradient(circle at 30% 40%,transparent 0 18px,color-mix(in srgb,var(--lake-400) 14%,transparent) 18px 19px),var(--color-map-bg);z-index: 1}.map__placeholder .btn{position: relative}.map.is-ready .map__placeholder{display: none}.map__overlay{position: absolute;z-index: 1000;display: flex;gap: var(--space-2);pointer-events: none}.map__overlay>*{pointer-events: auto}.map__overlay--top{top: var(--space-3);left: var(--space-3);right: var(--space-3)}.map__overlay--bottom{bottom: var(--space-3);left: var(--space-3);right: var(--space-3)}.map__hint{padding: 6px 12px;border-radius: var(--radius-pill);background: color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow: var(--shadow-sm);font-size: var(--fs-xs);font-weight: var(--fw-semibold);color: var(--color-heading)}.leaflet-control-zoom.leaflet-bar,.leaflet-bar{border: 0 !important;border-radius: var(--radius-md) !important;box-shadow: var(--shadow-md) !important;overflow: hidden}.leaflet-bar a,.leaflet-bar a:hover{width: 36px !important;height: 36px !important;line-height: 36px !important;background: var(--color-surface) !important;color: var(--color-heading) !important;border-bottom-color: var(--color-border) !important;font-size: 18px !important}.leaflet-bar a:hover{background: var(--color-surface-2) !important;text-decoration: none}.leaflet-control-attribution{padding: 2px 8px !important;border-top-left-radius: var(--radius-sm);background: color-mix(in srgb,var(--color-surface) 80%,transparent) !important;color: var(--color-text-muted) !important;font-size: 10px !important}.leaflet-control-attribution a{color: var(--color-text-muted) !important}.leaflet-popup-content-wrapper{border-radius: var(--radius-lg) !important;background: var(--color-surface-raised) !important;color: var(--color-text) !important;box-shadow: var(--shadow-lg) !important}.leaflet-popup-tip{background: var(--color-surface-raised) !important}.leaflet-popup-content{margin: 12px 14px !important;font-size: var(--fs-sm);line-height: 1.4}.leaflet-popup-content a{font-weight: var(--fw-semibold)}.leaflet-container a.leaflet-popup-close-button{color: var(--color-text-muted)}/* Custom markers (L.divIcon with className "map-pin"). */ .map-pin{background: none;border: 0}.map-pin__dot{position: relative;display: grid;place-items: center;width: 34px;height: 34px;border-radius: 50% 50% 50% 4px;transform: rotate(-45deg);background: var(--color-primary);border: 2px solid #fff;box-shadow: 0 4px 10px rgb(6 29 35 / 0.35)}.map-pin__dot>*{transform: rotate(45deg);color: #fff}.map-pin__dot .icon{--icon-size: 16px}.map-pin--catch .map-pin__dot{background: var(--reed-300)}.map-pin--catch .map-pin__dot>*{color: var(--reed-950)}.map-pin--water .map-pin__dot{background: var(--lake-500)}/* the chosen water body's outline (catch form); CSS beats Leaflet's stroke/fill attributes,so it follows the theme */ .map .map-shape{stroke: var(--map-shape);fill: var(--map-shape)}.map-pin--me .map-pin__dot{width: 20px;height: 20px;border-radius: 50%;transform: none;background: var(--lake-500);box-shadow: 0 0 0 6px rgb(22 125 144 / 0.25)}.map-cluster{display: grid;place-items: center;width: 40px;height: 40px;border-radius: 50%;background: var(--color-primary);color: var(--color-primary-contrast);font-weight: var(--fw-bold);font-size: var(--fs-sm);box-shadow: 0 0 0 6px color-mix(in srgb,var(--color-primary) 28%,transparent),var(--shadow-md)}.map-legend{display: flex;flex-wrap: wrap;gap: var(--space-3);margin-top: var(--space-2);font-size: var(--fs-xs);color: var(--color-text-muted)}.map-legend i{display: inline-block;width: 10px;height: 10px;border-radius: 50%;margin-right: 6px;vertical-align: 0}.plan-grid{display: grid;gap: var(--space-4);grid-template-columns: minmax(0,1fr)}@media (min-width: 768px){.plan-grid{grid-template-columns: repeat(3,minmax(0,1fr));align-items: stretch}}.plan-card{position: relative;display: flex;flex-direction: column;gap: var(--space-4);padding: var(--space-6);border: 1px solid var(--color-border);border-radius: var(--radius-xl);background: var(--color-surface);box-shadow: var(--shadow-xs)}.plan-card--featured{border: 2px solid var(--color-primary);box-shadow: var(--shadow-lg)}@media (min-width: 768px){.plan-card--featured{transform: translateY(-8px)}}.plan-card__ribbon{position: absolute;top: -13px;left: 50%;transform: translateX(-50%);padding: 4px 12px;border-radius: var(--radius-pill);background: var(--color-primary);color: var(--color-primary-contrast);font-size: var(--fs-xs);font-weight: var(--fw-bold);white-space: nowrap}.plan-card__name{margin: 0;font-family: var(--font-sans);font-size: var(--fs-md);font-weight: var(--fw-bold)}.plan-card__price{display: flex;align-items: baseline;gap: var(--space-1);margin: 0}.plan-card__amount{font-family: var(--font-display);font-size: 2.75rem;font-weight: var(--fw-heavy);line-height: 1;letter-spacing: -0.03em;color: var(--color-heading)}.plan-card__period{color: var(--color-text-muted);font-weight: var(--fw-semibold)}.plan-card__note{margin: 0;font-size: var(--fs-sm);color: var(--color-text-muted)}.plan-card__save{color: var(--color-success);font-weight: var(--fw-bold)}.plan-card .btn{margin-top: auto}.feature-list{display: grid;gap: var(--space-3);margin: 0;padding: 0;list-style: none;font-size: var(--fs-sm)}.feature-list li{display: flex;gap: var(--space-2);align-items: flex-start}.feature-list .icon{--icon-size: 18px;margin-top: 1px;color: var(--color-success)}.feature-list .is-off{color: var(--color-text-subtle)}.feature-list .is-off .icon{color: var(--color-text-subtle)}.premium-hero{position: relative;overflow: hidden;padding-block: var(--space-10) var(--space-9);background: radial-gradient(90% 120% at 90% 0%,rgb(58 154 171 / 0.55),transparent 60%),linear-gradient(160deg,var(--lake-800),var(--lake-950));color: #d7e6e8;text-align: center}.premium-hero h1{color: #fff}.premium-hero .lead{color: #bcd2d5;margin-inline: auto;max-width: 52ch}.premium-hero .eyebrow{color: var(--amber-300)}.locked-preview{position: relative;border-radius: var(--radius-xl);overflow: hidden}.locked-preview__content{filter: blur(6px) saturate(0.8);opacity: 0.7;pointer-events: none;user-select: none}.locked-preview__overlay{position: absolute;inset: 0;display: grid;place-items: center;align-content: center;gap: var(--space-3);padding: var(--space-5);text-align: center;background: linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 20%,transparent),color-mix(in srgb,var(--color-surface) 85%,transparent))}.locked-preview__overlay .icon-circle{--circle: 52px}.locked-preview__overlay p{max-width: 36ch;margin: 0}.compare-table{width: 100%;border-collapse: separate;border-spacing: 0;font-size: var(--fs-sm)}.compare-table th,.compare-table td{padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--color-divider);text-align: center}.compare-table th:first-child,.compare-table td:first-child{text-align: left}.compare-table thead th{font-weight: var(--fw-bold);color: var(--color-heading);border-bottom-color: var(--color-border-strong)}.compare-table .icon{--icon-size: 18px}.compare-table .yes{color: var(--color-success)}.compare-table .no{color: var(--color-text-subtle)}.compare-table .col-premium{background: var(--color-primary-soft)}.pay-methods{display: flex;flex-wrap: wrap;gap: var(--space-2);justify-content: center}.pay-method{display: inline-flex;align-items: center;height: 32px;padding-inline: 12px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);background: var(--color-surface);color: var(--color-text-muted);font-size: var(--fs-xs);font-weight: var(--fw-bold)}.alert{--bs-alert-padding-x: var(--space-4);--bs-alert-padding-y: var(--space-3);--bs-alert-border-radius: var(--radius-lg);--bs-alert-border: 1px solid var(--bs-alert-border-color);display: flex;gap: var(--space-3);align-items: flex-start;font-size: var(--fs-sm)}.alert>.icon{--icon-size: 20px;flex: none;margin-top: 1px}.alert__body{flex: 1;min-width: 0}.alert__title{display: block;margin-bottom: 2px;font-weight: var(--fw-bold);color: var(--color-heading)}.alert-info{--bs-alert-color: var(--color-text);--bs-alert-bg: var(--color-info-soft);--bs-alert-border-color: color-mix(in srgb,var(--lake-400) 30%,transparent)}.alert-info>.icon{color: var(--color-info)}.alert-success{--bs-alert-color: var(--color-text);--bs-alert-bg: var(--color-success-soft);--bs-alert-border-color: color-mix(in srgb,var(--reed-500) 35%,transparent)}.alert-success>.icon{color: var(--color-success)}.alert-warning{--bs-alert-color: var(--color-text);--bs-alert-bg: var(--color-warning-soft);--bs-alert-border-color: color-mix(in srgb,var(--amber-400) 45%,transparent)}.alert-warning>.icon{color: var(--color-warning)}.alert-danger{--bs-alert-color: var(--color-text);--bs-alert-bg: var(--color-danger-soft);--bs-alert-border-color: color-mix(in srgb,var(--coral-400) 40%,transparent)}.alert-danger>.icon{color: var(--color-danger)}.alert-archive{--bs-alert-color: var(--color-text);--bs-alert-bg: var(--color-surface-2);--bs-alert-border-color: var(--color-border-strong);border-style: dashed}.alert .btn-close{margin-left: auto}.toast-container{z-index: var(--z-toast);padding: var(--space-4)}@media (max-width: 991.98px){.toast-container{bottom: calc(var(--bottom-nav-h) + var(--safe-bottom)) !important}}.toast{--bs-toast-max-width: 380px;--bs-toast-padding-x: var(--space-4);--bs-toast-padding-y: var(--space-3);--bs-toast-font-size: var(--fs-sm);--bs-toast-color: #f1f6f6;--bs-toast-bg: var(--lake-950);--bs-toast-border-width: 0;--bs-toast-border-radius: var(--radius-lg);--bs-toast-box-shadow: var(--shadow-xl)}[data-bs-theme="dark"] .toast{--bs-toast-bg: var(--night-700)}.toast-body{display: flex;align-items: center;gap: var(--space-3)}.toast-body .icon{--icon-size: 20px;color: var(--reed-300)}.toast-body a{color: var(--lake-200);font-weight: var(--fw-semibold)}.toast .btn-close{filter: invert(1) grayscale(1) brightness(2);margin-left: auto}.toast.showing,.toast.show{animation: toast-in var(--dur-base) var(--ease-out)}@keyframes toast-in{from{opacity: 0;transform: translateY(12px) scale(0.98)}to{opacity: 1;transform: none}}.prose{max-width: var(--prose-max);font-size: 1.0625rem;line-height: var(--lh-prose);color: var(--color-text)}.prose>* + *{margin-top: 1.1em}.prose p,.prose ul,.prose ol{margin-bottom: 0}.prose h2{margin: 2em 0 0.6em;font-size: var(--fs-2xl);scroll-margin-top: calc(var(--header-h) + var(--space-5))}.prose h3{margin: 1.6em 0 0.5em;font-size: var(--fs-xl);scroll-margin-top: calc(var(--header-h) + var(--space-5))}.prose h2 + *,.prose h3 + *{margin-top: 0}.prose a:not(.btn){color: var(--color-link);text-decoration: underline;text-decoration-color: color-mix(in srgb,currentColor 35%,transparent)}.prose a:not(.btn):hover{text-decoration-color: currentColor}.prose strong{color: var(--color-heading);font-weight: var(--fw-bold)}.prose ul,.prose ol{padding-left: 1.3em}.prose li + li{margin-top: 0.4em}.prose li::marker{color: var(--color-primary);font-weight: var(--fw-bold)}.prose blockquote{margin-inline: 0;padding: var(--space-2) 0 var(--space-2) var(--space-5);border-left: 3px solid var(--color-primary);font-size: var(--fs-md);color: var(--color-heading)}.prose figure{margin-block: 1.8em}.prose figure img{width: 100%;border-radius: var(--radius-lg);background: var(--color-skeleton)}.prose figcaption{margin-top: var(--space-2);font-size: var(--fs-sm);color: var(--color-text-muted);text-align: center}.prose table{width: 100%;font-size: var(--fs-sm);border-collapse: collapse}.prose th,.prose td{padding: var(--space-2) var(--space-3);border-bottom: 1px solid var(--color-border);text-align: left;vertical-align: top}.prose th{color: var(--color-heading);font-weight: var(--fw-bold);background: var(--color-surface-2)}.prose code{padding: 0.1em 0.35em;border-radius: var(--radius-xs);background: var(--color-surface-sunken);font-size: 0.9em}.prose .lead{font-size: 1.1875rem;color: var(--color-text-muted)}.prose .table-scroll{overflow-x: auto}.callout{display: flex;gap: var(--space-3);padding: var(--space-4) var(--space-5);border-radius: var(--radius-lg);background: var(--color-primary-soft);font-size: var(--fs-base)}.callout>.icon{color: var(--color-primary);margin-top: 3px}.callout--tip{background: var(--color-accent-soft)}.owner-box{border: 1px solid color-mix(in srgb,var(--color-premium-text) 35%,transparent)}.owner-box__list{display: grid;grid-template-columns: max-content 1fr;gap: var(--space-1) var(--space-3)}.owner-box__list dt{font-weight: var(--fw-semibold,600)}.owner-box__list dd{margin: 0;min-width: 0}@media (max-width: 575.98px){.owner-box__list{grid-template-columns: 1fr}.owner-box__list dd{margin-bottom: var(--space-2)}}mark.owner-placeholder{padding: 0 0.2em;border-radius: var(--radius-sm,4px);background: var(--color-premium-soft);color: var(--color-premium-text)}.callout--tip>.icon{color: var(--color-accent-text)}.article-head{max-width: 820px;margin-inline: auto;padding-block: var(--space-7) var(--space-5);text-align: center}.article-head h1{font-size: var(--fs-3xl)}.article-meta{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: var(--space-2) var(--space-4);font-size: var(--fs-sm);color: var(--color-text-muted)}.article-meta .icon{--icon-size: 16px}.article-cover{max-width: 1040px;margin: 0 auto var(--space-7);border-radius: var(--radius-xl);overflow: hidden;aspect-ratio: var(--ratio,21 / 9);background: var(--color-skeleton)}.article-cover--contain{background: #fff}.article-cover img{width: 100%;height: 100%;object-fit: cover}.article-cover--contain img{object-fit: contain}.article-layout{display: grid;gap: var(--space-7);grid-template-columns: minmax(0,1fr);justify-content: center}@media (min-width: 1200px){.article-layout{grid-template-columns: 220px minmax(0,var(--prose-max)) 220px}}.toc{font-size: var(--fs-sm)}.toc__title{margin-bottom: var(--space-2);font-size: var(--fs-xs);font-weight: var(--fw-bold);letter-spacing: var(--tracking-wide);text-transform: uppercase;color: var(--color-text-subtle)}.toc ol{margin: 0;padding: 0;list-style: none;border-left: 2px solid var(--color-border)}.toc a{display: block;margin-left: -2px;padding: 6px 0 6px var(--space-3);border-left: 2px solid transparent;color: var(--color-text-muted);line-height: 1.35;text-decoration: none}.toc a:hover{color: var(--color-heading)}.toc a.is-active,.toc a[aria-current="true"]{border-left-color: var(--color-primary);color: var(--color-primary-text);font-weight: var(--fw-semibold)}.toc-mobile{border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface)}.toc-mobile summary{display: flex;align-items: center;justify-content: space-between;padding: var(--space-3) var(--space-4);font-weight: var(--fw-semibold);cursor: pointer;list-style: none}.toc-mobile summary::-webkit-details-marker{display: none}.toc-mobile[open] summary .icon{transform: rotate(180deg)}.toc-mobile .toc{padding: 0 var(--space-4) var(--space-4)}.disclosure{padding: var(--space-3) var(--space-4);border-radius: var(--radius-md);background: var(--color-surface-2);border: 1px solid var(--color-divider);font-size: var(--fs-xs);color: var(--color-text-muted)}.product-card{display: grid;grid-template-columns: 96px minmax(0,1fr);gap: var(--space-4);margin-block: 1.6em;padding: var(--space-4);border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface);box-shadow: var(--shadow-xs);font-size: var(--fs-base);line-height: var(--lh-base)}@media (min-width: 576px){.product-card{grid-template-columns: 128px minmax(0,1fr) auto;align-items: center;padding: var(--space-5)}}.product-card__media{display: grid;place-items: center;aspect-ratio: 1;border-radius: var(--radius-md);background: linear-gradient(145deg,var(--color-primary-soft),var(--color-surface-2));color: var(--color-primary);overflow: hidden}.product-card__media img{width: 100%;height: 100%;object-fit: contain}.product-card__media .icon{--icon-size: 44px;--icon-stroke: 1.5}.product-card__label{display: inline-block;margin-bottom: 4px;font-size: var(--fs-2xs);font-weight: var(--fw-heavy);letter-spacing: var(--tracking-wide);text-transform: uppercase;color: var(--color-accent-text)}.product-card__title{margin: 0 0 4px;font-family: var(--font-sans);font-size: var(--fs-md);font-weight: var(--fw-bold);letter-spacing: var(--tracking-snug)}.prose .product-card__title{margin: 0 0 4px;font-size: var(--fs-md)}.product-card__specs{margin: 0;padding: 0;list-style: none;display: flex;flex-wrap: wrap;gap: 4px 12px;font-size: var(--fs-sm);color: var(--color-text-muted)}.prose .product-card__specs li + li{margin-top: 0}.product-card__cta{grid-column: 1 / -1;display: flex;flex-direction: column;gap: 4px;align-items: stretch}@media (min-width: 576px){.product-card__cta{grid-column: auto;align-items: flex-end}}.product-card__cta small{color: var(--color-text-subtle);font-size: var(--fs-2xs);text-align: center}.prose .product-card a.btn{text-decoration: none}.pros-cons{display: grid;gap: var(--space-4);grid-template-columns: minmax(0,1fr)}@media (min-width: 576px){.pros-cons{grid-template-columns: 1fr 1fr}}.pros-cons>div{padding: var(--space-4);border-radius: var(--radius-md);background: var(--color-surface-2)}.pros-cons h4{display: flex;gap: 6px;align-items: center;font-size: var(--fs-sm);font-family: var(--font-sans);margin: 0 0 var(--space-2)}.pros-cons ul{margin: 0;padding-left: 1.1em;font-size: var(--fs-sm)}.data-table-wrap{border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface);overflow: auto}.data-table{width: 100%;border-collapse: separate;border-spacing: 0;font-size: var(--fs-sm)}.data-table th,.data-table td{padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--color-divider);white-space: nowrap;vertical-align: middle}.data-table thead th{position: sticky;top: 0;z-index: 1;background: var(--color-surface-2);color: var(--color-text-muted);font-size: var(--fs-xs);font-weight: var(--fw-bold);letter-spacing: 0.03em;text-transform: uppercase;text-align: left}.data-table tbody tr:hover{background: var(--color-surface-2)}.data-table tbody tr:last-child td{border-bottom: 0}.data-table .num{text-align: right}.data-table__actions{display: flex;gap: 4px;justify-content: flex-end}.data-table-toolbar{display: flex;flex-wrap: wrap;gap: var(--space-3);align-items: center;justify-content: space-between;margin-bottom: var(--space-3)}.bulk-bar{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-2) var(--space-4);border-radius: var(--radius-md);background: var(--color-primary-soft);font-size: var(--fs-sm);font-weight: var(--fw-semibold)}.dropdown-menu{--bs-dropdown-bg: var(--color-surface-raised);--bs-dropdown-border-color: var(--color-border);--bs-dropdown-border-radius: var(--radius-lg);--bs-dropdown-inner-border-radius: var(--radius-md);--bs-dropdown-box-shadow: var(--shadow-lg);--bs-dropdown-padding-x: 6px;--bs-dropdown-padding-y: 6px;--bs-dropdown-item-padding-x: 0.75rem;--bs-dropdown-item-padding-y: 0.5625rem;--bs-dropdown-item-border-radius: var(--radius-sm);--bs-dropdown-link-color: var(--color-text);--bs-dropdown-link-hover-color: var(--color-heading);--bs-dropdown-link-hover-bg: var(--color-surface-sunken);--bs-dropdown-link-active-color: var(--color-primary-text);--bs-dropdown-link-active-bg: var(--color-primary-soft);--bs-dropdown-divider-bg: var(--color-divider);--bs-dropdown-header-color: var(--color-text-subtle);--bs-dropdown-font-size: var(--fs-sm);box-shadow: var(--bs-dropdown-box-shadow)}.dropdown-menu.show{animation: pop-in var(--dur-fast) var(--ease-out)}.dropdown-item{display: flex;align-items: center;gap: var(--space-3);font-weight: var(--fw-medium)}.dropdown-item .icon{--icon-size: 18px;color: var(--color-text-subtle)}.dropdown-item:hover .icon{color: currentColor}.dropdown-item .badge-count{margin-left: auto}.dropdown-toggle::after{display: none}.nav-underline{--bs-nav-underline-gap: var(--space-5);--bs-nav-underline-border-width: 2px;--bs-nav-underline-link-active-color: var(--color-heading);--bs-nav-link-color: var(--color-text-muted);--bs-nav-link-hover-color: var(--color-heading);--bs-nav-link-font-weight: var(--fw-semibold);--bs-nav-link-padding-y: 0.75rem;flex-wrap: nowrap;overflow-x: auto;scrollbar-width: none;border-bottom: 1px solid var(--color-border)}.nav-underline::-webkit-scrollbar{display: none}.nav-underline .nav-link{white-space: nowrap;display: inline-flex;align-items: center;gap: 6px}.nav-underline .nav-link.active{border-bottom-color: var(--color-primary)}.nav-pills{--bs-nav-pills-border-radius: var(--radius-pill);--bs-nav-pills-link-active-color: var(--color-bg);--bs-nav-pills-link-active-bg: var(--color-heading);--bs-nav-link-color: var(--color-text-muted);--bs-nav-link-hover-color: var(--color-heading);--bs-nav-link-font-weight: var(--fw-semibold);gap: 4px}.modal{--bs-modal-bg: var(--color-surface);--bs-modal-border-width: 0;--bs-modal-border-radius: var(--radius-xl);--bs-modal-inner-border-radius: var(--radius-xl);--bs-modal-box-shadow: var(--shadow-xl);--bs-modal-header-border-color: var(--color-divider);--bs-modal-footer-border-color: var(--color-divider);--bs-modal-padding: var(--space-5)}.modal-backdrop{--bs-backdrop-bg: var(--lake-950);--bs-backdrop-opacity: 0.55}.modal-title{font-family: var(--font-sans);font-size: var(--fs-lg);font-weight: var(--fw-bold)}@media (max-width: 575.98px){.modal-sheet .modal-dialog{position: fixed;inset: auto 0 0 0;margin: 0;max-width: none}.modal-sheet .modal-content{border-radius: var(--radius-xl) var(--radius-xl) 0 0;padding-bottom: var(--safe-bottom)}}.offcanvas{--bs-offcanvas-bg: var(--color-surface);--bs-offcanvas-color: var(--color-text);--bs-offcanvas-border-color: var(--color-border);--bs-offcanvas-box-shadow: var(--shadow-xl)}.offcanvas-bottom{--bs-offcanvas-height: auto;max-height: 88vh;border-radius: var(--radius-xl) var(--radius-xl) 0 0;padding-bottom: var(--safe-bottom)}.offcanvas-bottom::before{content: "";display: block;width: 40px;height: 4px;margin: 10px auto 0;border-radius: 2px;background: var(--color-border-strong)}.offcanvas-title{font-family: var(--font-sans);font-size: var(--fs-lg);font-weight: var(--fw-bold)}.btn-close{--bs-btn-close-focus-shadow: var(--shadow-focus);border-radius: 50%}[data-bs-theme="dark"] .btn-close{filter: invert(1) grayscale(100%) brightness(200%)}.accordion{--bs-accordion-bg: var(--color-surface);--bs-accordion-border-color: var(--color-border);--bs-accordion-border-radius: var(--radius-lg);--bs-accordion-inner-border-radius: var(--radius-lg);--bs-accordion-btn-padding-y: 1.125rem;--bs-accordion-btn-color: var(--color-heading);--bs-accordion-active-color: var(--color-heading);--bs-accordion-active-bg: var(--color-surface);--bs-accordion-btn-focus-box-shadow: inset 0 0 0 2px var(--color-focus)}.accordion-button{font-weight: var(--fw-semibold)}.accordion-button:not(.collapsed){box-shadow: none}.accordion-button:focus-visible{z-index: 3;box-shadow: inset 0 0 0 2px var(--color-focus)}.tooltip{--bs-tooltip-bg: var(--lake-950);--bs-tooltip-border-radius: var(--radius-sm);--bs-tooltip-font-size: var(--fs-xs)}.progress,.progress-stacked{--bs-progress-bg: var(--color-surface-sunken);--bs-progress-bar-bg: var(--color-primary);--bs-progress-border-radius: var(--radius-pill)}.list-group{--bs-list-group-bg: var(--color-surface);--bs-list-group-border-color: var(--color-border);--bs-list-group-border-radius: var(--radius-lg);--bs-list-group-action-hover-bg: var(--color-surface-2);--bs-list-group-active-bg: var(--color-primary-soft);--bs-list-group-active-color: var(--color-primary-text);--bs-list-group-active-border-color: var(--color-border)}.home-hero{position: relative;overflow: hidden;padding-block: var(--space-8) var(--space-9);background: linear-gradient(180deg,transparent 75%,var(--color-bg)),radial-gradient(70% 90% at 100% 10%,color-mix(in srgb,var(--lake-200) 55%,transparent),transparent 70%),radial-gradient(50% 60% at 0% 75%,color-mix(in srgb,var(--reed-100) 55%,transparent),transparent 70%),var(--color-bg)}[data-bs-theme="dark"] .home-hero{background: radial-gradient(70% 90% at 100% 10%,rgb(22 125 144 / 0.28),transparent 70%),radial-gradient(60% 70% at 0% 100%,rgb(130 181 31 / 0.12),transparent 70%),var(--color-bg)}.home-hero__grid{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--space-8);align-items: center}@media (min-width: 992px){.home-hero__grid{grid-template-columns: minmax(0,1fr) minmax(0,0.95fr)}}.home-hero h1{margin-bottom: var(--space-4);max-width: 15ch}.home-hero .lead{max-width: 46ch;font-size: clamp(1.0625rem,1rem + 0.3vw,1.25rem)}.hero-search{position: relative;display: flex;align-items: center;gap: var(--space-2);max-width: 540px;margin-top: var(--space-6);padding: 6px 6px 6px var(--space-5);border: 1px solid var(--color-border);border-radius: var(--radius-pill);background: var(--color-surface);box-shadow: var(--shadow-lg)}.hero-search:focus-within{border-color: var(--color-focus);box-shadow: var(--shadow-lg),var(--shadow-focus)}.hero-search>.icon{color: var(--color-text-subtle)}.hero-search input{flex: 1;min-width: 0;height: 44px;border: 0;background: transparent;color: var(--color-text);font-size: var(--fs-base)}.hero-search input:focus{outline: none}.hero-search input::placeholder{color: var(--color-text-subtle)}.hero-proof{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3) var(--space-5);margin-top: var(--space-6);font-size: var(--fs-sm);color: var(--color-text-muted)}.hero-proof strong{color: var(--color-heading);font-family: var(--font-display);font-size: var(--fs-lg);font-weight: var(--fw-heavy);margin-right: 4px;font-variant-numeric: tabular-nums}.hero-mosaic{position: relative;display: grid;grid-template-columns: 1.1fr 0.9fr;grid-template-rows: 1fr 1fr;gap: var(--space-3);aspect-ratio: 1 / 0.92}.hero-mosaic__tile{position: relative;margin: 0;border-radius: var(--radius-xl);overflow: hidden;box-shadow: var(--shadow-lg);background: var(--color-skeleton)}.hero-mosaic__tile:first-child{grid-row: span 2}.hero-mosaic__tile img{width: 100%;height: 100%;object-fit: cover}.hero-mosaic__tile figcaption{position: absolute;inset: auto var(--space-3) var(--space-3) var(--space-3);display: flex;flex-wrap: wrap;gap: 6px}.hero-mosaic__tile:first-child figcaption{inset: var(--space-3) var(--space-3) auto}.hero-mosaic__tile figcaption .photo-chip{display: block;max-width: 100%;overflow: hidden;text-overflow: ellipsis;line-height: 28px}.hero-mosaic__tile figcaption .photo-chip .icon{vertical-align: -3px;margin-right: 4px}.hero-float{position: absolute;z-index: 2;left: -24px;bottom: 28px;display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3) var(--space-4) var(--space-3) var(--space-3);border-radius: var(--radius-lg);background: var(--color-surface);box-shadow: var(--shadow-xl);font-size: var(--fs-sm)}@media (max-width: 991.98px){.hero-float{left: 12px;bottom: 12px}.hero-mosaic{aspect-ratio: 1 / 0.8}}.steps{display: grid;gap: var(--space-5);grid-template-columns: minmax(0,1fr);counter-reset: step}@media (min-width: 768px){.steps{grid-template-columns: repeat(3,minmax(0,1fr))}}.step{position: relative;padding: var(--space-6);border-radius: var(--radius-xl);background: var(--color-surface);border: 1px solid var(--color-border)}.step h3{font-size: var(--fs-lg);margin: var(--space-4) 0 var(--space-2);font-family: var(--font-sans)}.step p{margin: 0;color: var(--color-text-muted)}.step::after{counter-increment: step;content: counter(step,decimal-leading-zero);position: absolute;top: var(--space-5);right: var(--space-5);font-family: var(--font-display);font-size: var(--fs-2xl);font-weight: var(--fw-heavy);color: var(--color-border-strong)}.place-grid{display: grid;gap: var(--space-3);grid-template-columns: repeat(auto-fill,minmax(min(100%,320px),1fr))}.place-card{position: relative;display: grid;grid-template-columns: 56px minmax(0,1fr) auto;align-items: center;gap: var(--space-3);padding: var(--space-3) var(--space-4) var(--space-3) var(--space-3);border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface);color: inherit;text-decoration: none;transition: border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast)}.place-card:hover{border-color: var(--color-border-strong);box-shadow: var(--shadow-md);color: inherit;text-decoration: none;transform: translateY(-1px)}.place-card__thumb{width: 56px;height: 56px;border-radius: var(--radius-md);object-fit: cover;background: var(--color-primary-soft);display: grid;place-items: center;color: var(--color-primary);overflow: hidden}.place-card__thumb img{width: 100%;height: 100%;object-fit: cover}.place-card__title{display: block;font-weight: var(--fw-bold);color: var(--color-heading);line-height: 1.3}.place-card__meta{display: block;font-size: var(--fs-xs);color: var(--color-text-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.place-card__count{text-align: right;font-size: var(--fs-xs);color: var(--color-text-muted);line-height: 1.2}.place-card__count strong{display: block;font-family: var(--font-display);font-size: var(--fs-md);color: var(--color-heading);font-variant-numeric: tabular-nums}.species-grid{display: grid;gap: var(--space-3);grid-template-columns: repeat(2,minmax(0,1fr))}@media (max-width: 575.98px){.species-grid{grid-template-columns: none;grid-auto-flow: column;grid-auto-columns: 40%;overflow-x: auto;scroll-snap-type: x mandatory;scrollbar-width: none;margin-inline: calc(var(--gutter) * -1);padding-inline: var(--gutter);scroll-padding-inline: var(--gutter)}.species-grid::-webkit-scrollbar{display: none}.species-grid>*{scroll-snap-align: start}}@media (min-width: 576px){.species-grid{grid-template-columns: repeat(4,minmax(0,1fr))}}@media (min-width: 992px){.species-grid{grid-template-columns: repeat(auto-fit,minmax(8rem,1fr))}}.species-card{position: relative;display: block;aspect-ratio: 3 / 4;border-radius: var(--radius-lg);overflow: hidden;background: var(--color-skeleton);color: #fff;text-decoration: none;isolation: isolate}.species-card img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform var(--dur-slow) var(--ease-out)}.species-card::after{content: "";position: absolute;inset: 0;background: var(--color-scrim-photo)}.species-card:hover{color: #fff;text-decoration: none}@media (hover: hover){.species-card:hover img{transform: scale(1.05)}}.species-card__body{position: absolute;inset: auto var(--space-3) var(--space-3);z-index: 1;line-height: 1.25}.species-card__name{display: block;font-weight: var(--fw-bold);font-size: var(--fs-base)}.species-card__meta{display: block;font-size: var(--fs-xs);opacity: 0.85;font-variant-numeric: tabular-nums}.guide-grid{display: grid;gap: var(--space-5);grid-template-columns: minmax(0,1fr)}@media (min-width: 576px){.guide-grid{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (min-width: 992px){.guide-grid{grid-template-columns: repeat(4,minmax(0,1fr))}}.guide-card{position: relative;display: grid;gap: var(--space-2);color: inherit;text-decoration: none}.guide-card:hover{color: inherit;text-decoration: none}.guide-card__media{aspect-ratio: 16 / 10;border-radius: var(--radius-lg);overflow: hidden;background: var(--color-skeleton)}.guide-card__media--empty{display: grid;place-items: center;color: var(--color-primary);background: var(--color-primary-soft)}.guide-card__media img{width: 100%;height: 100%;object-fit: cover;transition: transform var(--dur-slow) var(--ease-out)}@media (hover: hover){.guide-card:hover .guide-card__media img{transform: scale(1.04)}.guide-card:hover .guide-card__title{color: var(--color-link)}}.guide-card__title{margin: 0;font-family: var(--font-sans);font-size: var(--fs-md);font-weight: var(--fw-bold);line-height: 1.3;letter-spacing: var(--tracking-snug);transition: color var(--dur-fast)}.guide-card__meta{display: flex;gap: var(--space-2);align-items: center;font-size: var(--fs-xs);color: var(--color-text-muted)}.tile-grid{display: grid;gap: var(--space-3);grid-template-columns: repeat(2,minmax(0,1fr))}@media (min-width: 768px){.tile-grid{grid-template-columns: repeat(5,minmax(0,1fr));gap: var(--space-4)}}.tile{display: grid;gap: var(--space-3);padding: var(--space-5);border-radius: var(--radius-xl);background: var(--color-surface);border: 1px solid var(--color-border);color: inherit;text-decoration: none;transition: transform var(--dur-fast),box-shadow var(--dur-fast),border-color var(--dur-fast)}.tile:hover{transform: translateY(-2px);box-shadow: var(--shadow-md);border-color: var(--color-border-strong);color: inherit;text-decoration: none}.tile__title{font-weight: var(--fw-bold);color: var(--color-heading);font-size: var(--fs-md);line-height: 1.2}.tile__meta{font-size: var(--fs-xs);color: var(--color-text-muted)}.bar-list{display: grid;gap: var(--space-3);margin: 0;padding: 0;list-style: none}.bar-list__row{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 4px var(--space-3);align-items: baseline;font-size: var(--fs-sm)}.bar-list__label{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight: var(--fw-semibold);color: var(--color-heading)}.bar-list__label a{color: inherit}.bar-list__value{font-variant-numeric: tabular-nums;color: var(--color-text-muted);font-weight: var(--fw-semibold)}.bar-list__bar{grid-column: 1 / -1;height: 8px;border-radius: 4px;background: var(--color-surface-sunken);overflow: hidden}.bar-list__bar>span{display: block;height: 100%;width: var(--pct,0%);border-radius: inherit;background: linear-gradient(90deg,var(--lake-400),var(--lake-600))}[data-bs-theme="dark"] .bar-list__bar>span{background: linear-gradient(90deg,var(--lake-500),var(--lake-300))}.bar-list--accent .bar-list__bar>span{background: linear-gradient(90deg,var(--reed-300),var(--reed-500))}.col-chart{display: grid;grid-template-columns: repeat(var(--n,12),minmax(0,1fr));align-items: end;gap: 4px;height: var(--h,140px)}.col-chart__col{position: relative;height: var(--pct,0%);min-height: 3px;border-radius: 6px 6px 2px 2px;background: color-mix(in srgb,var(--lake-400) 55%,transparent)}.col-chart__col.is-peak{background: var(--color-primary)}.col-chart__col.is-now{background: var(--reed-400)}.col-chart__labels{display: grid;grid-template-columns: repeat(var(--n,12),minmax(0,1fr));gap: 4px;margin-top: 6px;font-size: var(--fs-2xs);color: var(--color-text-subtle);text-align: center;font-variant-numeric: tabular-nums}.bite-meter{display: inline-flex;gap: 3px}.bite-meter span{width: 8px;height: 16px;border-radius: 3px;background: var(--color-surface-sunken)}.bite-meter[data-level="1"] span:nth-child(-n + 1),.bite-meter[data-level="2"] span:nth-child(-n + 2){background: var(--amber-400)}.bite-meter[data-level="3"] span:nth-child(-n + 3){background: var(--lake-400)}.bite-meter[data-level="4"] span:nth-child(-n + 4),.bite-meter[data-level="5"] span{background: var(--reed-500)}.bite-label{font-weight: var(--fw-bold)}.bite-label[data-level="1"],.bite-label[data-level="2"]{color: var(--color-warning)}.bite-label[data-level="3"]{color: var(--color-primary-text)}.bite-label[data-level="4"],.bite-label[data-level="5"]{color: var(--color-success)}.day-strip{display: grid;grid-auto-flow: column;grid-auto-columns: minmax(84px,1fr);gap: var(--space-2);overflow-x: auto;scrollbar-width: thin;padding-bottom: 4px}.day-card{display: grid;gap: 6px;justify-items: center;padding: var(--space-3) var(--space-2);border: 1.5px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface);color: inherit;text-align: center;font-size: var(--fs-sm);cursor: pointer;transition: border-color var(--dur-fast),background-color var(--dur-fast)}.day-card:hover{border-color: var(--color-border-strong)}.day-card[aria-selected="true"],.day-card.is-active{border-color: var(--color-primary);background: var(--color-primary-soft)}.day-card__day{font-weight: var(--fw-bold);color: var(--color-heading)}.day-card__date{font-size: var(--fs-xs);color: var(--color-text-muted)}.day-card__temp{font-variant-numeric: tabular-nums;font-weight: var(--fw-semibold)}.day-card .icon{--icon-size: 26px;color: var(--color-text-muted)}.day-card.is-locked{background: var(--color-surface-2);border-style: dashed}.day-card.is-locked .icon,.day-card.is-locked .bite-meter{opacity: 0.5}.weather-facts{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-3)}@media (min-width: 768px){.weather-facts{grid-template-columns: repeat(4,minmax(0,1fr))}}.weather-fact{display: flex;gap: var(--space-3);align-items: center;padding: var(--space-3);border-radius: var(--radius-md);background: var(--color-surface-2);border: 1px solid var(--color-divider)}.weather-fact .icon-circle{--circle: 38px}.weather-fact__label{font-size: var(--fs-xs);color: var(--color-text-muted)}.weather-fact__value{font-weight: var(--fw-bold);color: var(--color-heading);font-variant-numeric: tabular-nums}.hour-chart{width: 100%;height: 160px;display: block;overflow: visible}.hour-chart .area{fill: color-mix(in srgb,var(--lake-400) 22%,transparent)}.hour-chart .line{fill: none;stroke: var(--color-primary);stroke-width: 2.5;stroke-linejoin: round;stroke-linecap: round}.hour-chart .band{fill: color-mix(in srgb,var(--reed-300) 35%,transparent)}.hour-chart .grid{stroke: var(--color-divider);stroke-width: 1}.hour-chart text{fill: var(--color-text-subtle);font-size: 11px;font-family: var(--font-sans)}.hour-chart .now{stroke: var(--coral-500);stroke-width: 1.5;stroke-dasharray: 3 3}.compass{width: 100%;max-width: 220px;aspect-ratio: 1;margin-inline: auto;display: block}.compass .ring{fill: none;stroke: var(--color-border)}.compass .petal{fill: color-mix(in srgb,var(--lake-400) 55%,transparent);stroke: var(--color-primary);stroke-width: 1}.compass .petal.is-peak{fill: var(--color-primary)}.compass text{fill: var(--color-text-muted);font-size: 10px;font-weight: 700;font-family: var(--font-sans);text-anchor: middle;dominant-baseline: middle}.moon-row{display: grid;grid-template-columns: repeat(8,minmax(0,1fr));gap: 6px;text-align: center;font-size: var(--fs-2xs);color: var(--color-text-muted)}.moon-row .moon{display: block;width: 100%;max-width: 32px;aspect-ratio: 1;margin: 0 auto 6px}.moon-row .moon circle.base{fill: var(--color-surface-sunken)}.moon-row .moon path{fill: var(--amber-300)}.moon-row b{display: block;color: var(--color-heading);font-size: var(--fs-xs);font-variant-numeric: tabular-nums}.filter-panel{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--space-5)}.filter-panel__group{display: grid;gap: var(--space-2)}.filter-panel__actions{position: sticky;bottom: 0;z-index: 1;margin-inline: calc(-1 * var(--bs-offcanvas-padding-x,1rem));padding: var(--space-3) var(--bs-offcanvas-padding-x,1rem) calc(var(--space-3) + env(safe-area-inset-bottom));background: var(--color-surface,var(--bs-body-bg));border-top: 1px solid var(--color-border,rgba(0,0,0,.08))}.filter-panel__label{font-size: var(--fs-xs);font-weight: var(--fw-bold);letter-spacing: var(--tracking-wide);text-transform: uppercase;color: var(--color-text-subtle)}.active-filters{display: flex;flex-wrap: wrap;gap: var(--space-2);align-items: center}.active-filters .tag{padding-right: 4px}.active-filters .tag :is(button,a){display: grid;place-items: center;width: 22px;height: 22px;padding: 0;border: 0;border-radius: 50%;background: transparent;color: inherit}.active-filters .tag :is(button,a):hover{background: rgb(0 0 0 / 0.08)}.profile-cover{height: clamp(120px,18vw,200px);background: radial-gradient(60% 120% at 80% 0%,rgb(111 195 209 / 0.6),transparent 60%),linear-gradient(135deg,var(--lake-700),var(--lake-950))}.profile-head{display: grid;gap: var(--space-4);grid-template-columns: auto minmax(0,1fr);align-items: end;margin-top: calc(var(--space-10) * -1 + var(--space-2))}.profile-head .avatar{box-shadow: 0 0 0 5px var(--color-bg)}@media (max-width: 575.98px){.profile-head{grid-template-columns: minmax(0,1fr);gap: var(--space-3)}.profile-head .avatar{--avatar-size: 96px}}.profile-head__actions{grid-column: 1 / -1;display: flex;gap: var(--space-2);flex-wrap: wrap}@media (min-width: 768px){.profile-head{grid-template-columns: auto minmax(0,1fr) auto}.profile-head__actions{grid-column: auto}}.profile-head h1{margin: 0;overflow-wrap: anywhere;font-size: var(--fs-2xl);display: flex;align-items: center;gap: var(--space-2);flex-wrap: wrap}.profile-head__meta{display: flex;flex-wrap: wrap;gap: 2px var(--space-4);margin-top: var(--space-1);font-size: var(--fs-sm);color: var(--color-text-muted)}.profile-head__meta .icon{--icon-size: 15px}.stats-strip{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));margin-block: var(--space-5);border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface);overflow: hidden}.stats-strip>div{padding: var(--space-3) var(--space-2);text-align: center}.stats-strip>div + div{border-left: 1px solid var(--color-divider)}.stats-strip b{display: block;font-family: var(--font-display);font-size: var(--fs-xl);font-weight: var(--fw-heavy);color: var(--color-heading);font-variant-numeric: tabular-nums;line-height: 1.2}.stats-strip span{font-size: var(--fs-xs);color: var(--color-text-muted)}.record-list{display: grid;gap: 0;margin: 0;padding: 0;list-style: none}.record-list li{display: grid;grid-template-columns: 44px minmax(0,1fr) auto;gap: var(--space-3);align-items: center;padding: var(--space-3) 0;border-bottom: 1px solid var(--color-divider)}.record-list li:last-child{border-bottom: 0}.record-list img{width: 44px;height: 44px;border-radius: var(--radius-sm);object-fit: cover}.inbox{display: grid;grid-template-columns: minmax(0,1fr);height: calc(100dvh - var(--header-h) - var(--space-10));min-height: 520px;border: 1px solid var(--color-border);border-radius: var(--radius-xl);background: var(--color-surface);overflow: hidden}@media (min-width: 992px){.inbox{grid-template-columns: 340px minmax(0,1fr)}}@media (max-width: 991.98px){.inbox{height: calc(100dvh - var(--header-h) - var(--bottom-nav-h) - var(--space-6));border-radius: var(--radius-lg)}.inbox[data-view="list"] .thread{display: none}.inbox[data-view="thread"] .inbox__list{display: none}}.inbox__list{display: flex;flex-direction: column;min-height: 0;border-right: 1px solid var(--color-divider)}.inbox__head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-2);padding: var(--space-4);border-bottom: 1px solid var(--color-divider)}.inbox__head h1,.inbox__head h2{margin: 0;font-size: var(--fs-lg);font-family: var(--font-sans);letter-spacing: var(--tracking-snug)}.inbox__search{padding: var(--space-3) var(--space-4)}.inbox__items{flex: 1;min-height: 0;margin: 0;padding: 0 var(--space-2) var(--space-2);list-style: none;overflow-y: auto}.convo{position: relative;display: grid;grid-template-columns: auto minmax(0,1fr) auto;gap: var(--space-3);align-items: center;padding: var(--space-3);border-radius: var(--radius-md);color: inherit;text-decoration: none}.convo:hover{background: var(--color-surface-sunken);color: inherit;text-decoration: none}.convo[aria-current="true"]{background: var(--color-primary-soft)}.convo__name{display: block;font-weight: var(--fw-semibold);color: var(--color-heading);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.convo__snippet{display: block;font-size: var(--fs-sm);color: var(--color-text-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.convo__time{align-self: start;font-size: var(--fs-xs);color: var(--color-text-subtle);white-space: nowrap}.convo.is-unread .convo__name{font-weight: var(--fw-heavy)}.convo.is-unread .convo__snippet{color: var(--color-text);font-weight: var(--fw-medium)}.convo.is-unread::after{content: "";position: absolute;right: var(--space-3);bottom: var(--space-4);width: 10px;height: 10px;border-radius: 50%;background: var(--color-primary)}.thread{display: flex;flex-direction: column;min-height: 0;min-width: 0}.thread__head{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3) var(--space-4);border-bottom: 1px solid var(--color-divider)}.thread__body{flex: 1;min-height: 0;overflow-y: auto;padding: var(--space-5) var(--space-4);display: flex;flex-direction: column;gap: var(--space-2);background: var(--color-surface-2)}.thread__day{align-self: center;margin-block: var(--space-3);padding: 2px 10px;font-family: var(--font-sans);line-height: var(--lh-base);letter-spacing: normal;border-radius: var(--radius-pill);background: var(--color-surface-sunken);font-size: var(--fs-xs);font-weight: var(--fw-semibold);color: var(--color-text-muted)}.bubble{max-width: min(76%,520px);padding: 10px 14px;border-radius: 18px 18px 18px 6px;background: var(--color-surface);border: 1px solid var(--color-divider);box-shadow: var(--shadow-xs);overflow-wrap: anywhere}.bubble__time{display: block;margin-top: 2px;font-size: var(--fs-2xs);color: var(--color-text-subtle);text-align: right}.bubble--me{align-self: flex-end;border-radius: 18px 18px 6px 18px;background: var(--color-primary);color: var(--color-primary-contrast);border-color: transparent}.bubble--me .bubble__time{color: color-mix(in srgb,var(--color-primary-contrast) 75%,transparent)}.bubble--me a{color: inherit;text-decoration: underline}.bubble-card{display: flex;gap: var(--space-3);align-items: center;margin-top: 6px;padding: 6px;border-radius: var(--radius-md);background: rgb(255 255 255 / 0.14);color: inherit;text-decoration: none}.bubble-card img{width: 52px;height: 52px;border-radius: var(--radius-sm);object-fit: cover}.thread__composer{padding: var(--space-3) var(--space-4);border-top: 1px solid var(--color-divider);background: var(--color-surface)}.thread__title{margin: 0;font-family: var(--font-sans);font-size: var(--fs-md);font-weight: var(--fw-bold);letter-spacing: normal;line-height: var(--lh-snug)}.thread__title a{color: var(--color-heading);text-decoration: none}.thread__title a:hover{text-decoration: underline}.thread__more{align-self: center}.thread__form{flex: 1;min-height: 0;overflow-y: auto;padding: var(--space-5) var(--space-4)}.inbox__items>li{position: relative}.convo__delete{position: absolute;top: 50%;right: var(--space-2);transform: translateY(-50%);opacity: 0;background: var(--color-surface)}.inbox__items>li:hover .convo__delete,.convo__delete:focus-visible{opacity: 1}@media (hover: none){.convo__delete{display: none}}.post{display: grid;gap: var(--space-4);grid-template-columns: minmax(0,1fr);padding: var(--space-5);border: 1px solid var(--color-border);border-radius: var(--radius-lg);background: var(--color-surface)}@media (min-width: 768px){.post{grid-template-columns: 180px minmax(0,1fr)}}.post__author{display: flex;gap: var(--space-3);align-items: center}@media (min-width: 768px){.post__author{flex-direction: column;align-items: flex-start;padding-right: var(--space-4);border-right: 1px solid var(--color-divider)}}.post__meta{display: flex;justify-content: space-between;gap: var(--space-3);margin-bottom: var(--space-3);font-size: var(--fs-xs);color: var(--color-text-subtle)}.post__body{overflow-wrap: anywhere}.post__body blockquote{margin: 0 0 var(--space-3);padding: var(--space-3) var(--space-4);border-left: 3px solid var(--color-border-strong);border-radius: 0 var(--radius-sm) var(--radius-sm) 0;background: var(--color-surface-2);font-size: var(--fs-sm);color: var(--color-text-muted)}.post--op{border-color: color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.settings-nav{display: grid;gap: 2px;margin: 0;padding: 0;list-style: none}.settings-nav a{display: flex;align-items: center;gap: var(--space-3);min-height: 44px;padding: var(--space-2) var(--space-3);border-radius: var(--radius-md);color: var(--color-text);font-weight: var(--fw-semibold);font-size: var(--fs-sm);text-decoration: none}.settings-nav a .icon{--icon-size: 18px;color: var(--color-text-subtle)}.settings-nav a:hover{background: var(--color-surface-sunken);color: var(--color-heading)}.settings-nav a[aria-current="page"]{background: var(--color-surface);color: var(--color-heading);box-shadow: var(--shadow-sm)}.settings-nav a[aria-current="page"] .icon{color: var(--color-primary)}.settings-nav .is-danger,.settings-nav .is-danger .icon{color: var(--color-danger)}@media (max-width: 991.98px){.settings-nav{display: flex;gap: 4px;overflow-x: auto;scrollbar-width: none;margin-inline: calc(var(--gutter) * -1);padding: 2px var(--gutter)}.settings-nav::-webkit-scrollbar{display: none}.settings-nav a{white-space: nowrap;border: 1px solid var(--color-border);border-radius: var(--radius-pill);min-height: 40px;background: var(--color-surface)}}.connected-account{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3) 0;border-bottom: 1px solid var(--color-divider)}.connected-account>.flex-fill{min-width: 0;overflow-wrap: anywhere}.connected-account:last-child{border-bottom: 0}.connected-account__icon{display: grid;place-items: center;width: 40px;height: 40px;border-radius: var(--radius-md);border: 1px solid var(--color-border);background: var(--color-surface)}.connected-account__icon .icon{--icon-size: 20px}.danger-zone{border-color: color-mix(in srgb,var(--color-danger) 40%,var(--color-border))}.auth{display: grid;min-height: calc(100dvh - var(--header-h));grid-template-columns: minmax(0,1fr)}@media (min-width: 992px){.auth{grid-template-columns: minmax(0,1fr) minmax(0,1fr)}}.auth__aside{position: relative;display: none;overflow: hidden;padding: var(--space-10);background: linear-gradient(160deg,var(--lake-800),var(--lake-950));color: #d7e6e8}@media (min-width: 992px){.auth__aside{display: flex;flex-direction: column;justify-content: flex-end}}.auth__aside h2{color: #fff;font-size: var(--fs-2xl);max-width: 18ch}.auth__aside-photos{position: absolute;inset: 0;display: grid;grid-template-columns: repeat(3,1fr);gap: 10px;padding: 10px;opacity: 0.4;transform: rotate(-6deg) scale(1.25)}.auth__aside-photos{grid-auto-rows: minmax(0,1fr)}.auth__aside-photos img{width: 100%;height: 100%;object-fit: cover;border-radius: var(--radius-lg)}.auth__aside::before{content: "";position: absolute;inset: 0;z-index: 1;background: linear-gradient(180deg,rgb(6 29 35 / 0.2),rgb(6 29 35 / 0.92) 70%)}.auth__aside>*:not(.auth__aside-photos){position: relative;z-index: 2}.auth__main{display: grid;grid-template-columns: minmax(0,1fr);place-items: center;padding: var(--space-7) var(--gutter) var(--space-10)}.auth-card{width: 100%;max-width: 420px}.auth-card h1{font-size: var(--fs-2xl);margin-bottom: var(--space-2)}.or-divider{display: flex;align-items: center;gap: var(--space-3);margin-block: var(--space-5);color: var(--color-text-subtle);font-size: var(--fs-xs);font-weight: var(--fw-semibold);text-transform: uppercase;letter-spacing: var(--tracking-wide)}.or-divider::before,.or-divider::after{content: "";flex: 1;height: 1px;background: var(--color-border)}.value-list{display: grid;gap: var(--space-3);margin: var(--space-5) 0 0;padding: 0;list-style: none}.value-list li{display: flex;gap: var(--space-3);align-items: center}.value-list .icon-circle{--circle: 36px;background: rgb(255 255 255 / 0.1);color: var(--reed-300)}.auth__aside{order: -1}.auth__eyebrow{color: var(--reed-300)}.auth-form{--stack-gap: var(--space-3)}.auth-card--panel{max-width: 480px}@media (min-width: 992px){.auth--single{grid-template-columns: minmax(0,1fr)}}.membership-box{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-3);padding: var(--space-4);border-radius: var(--radius-lg);background: var(--color-premium-soft)}/* Ad slot — FIXED reserved height prevents CLS (the <ins>fills it;no data-ad-format="auto",which would let the responsive unit grow the box);max one above the fold. */ .ad-slot{position: relative;display: grid;place-items: center;height: var(--ad-h,250px);border-radius: var(--radius-lg);background: var(--color-surface-2);border: 1px dashed var(--color-border-strong);color: var(--color-text-subtle);font-size: var(--fs-xs);overflow: hidden}.ad-slot::before{content: attr(data-label);position: absolute;top: 6px;left: 10px;font-size: var(--fs-2xs);font-weight: var(--fw-bold);letter-spacing: var(--tracking-wide);text-transform: uppercase;color: var(--color-text-subtle)}.ad-slot--leader{--ad-h: 120px}.ad-slot--inline{--ad-h: 280px;margin-block: var(--space-7)}@media (min-width: 768px){.ad-slot--leader{--ad-h: 100px}}.promo{position: relative;display: grid;gap: var(--space-5);padding: var(--space-7);border-radius: var(--radius-2xl);overflow: hidden;background: radial-gradient(80% 140% at 100% 0%,rgb(58 154 171 / 0.5),transparent 60%),linear-gradient(150deg,var(--lake-800),var(--lake-950));color: #cfe0e2}@media (min-width: 992px){.promo{grid-template-columns: minmax(0,1fr) minmax(0,0.9fr);align-items: center;padding: var(--space-9)}}.promo h2{color: #fff}.promo .eyebrow{color: var(--amber-300)}.promo .feature-list{color: #dce9ea;font-size: var(--fs-base)}.promo .feature-list .icon{color: var(--reed-300)}.glass-card{padding: var(--space-5);border-radius: var(--radius-xl);background: rgb(255 255 255 / 0.08);border: 1px solid rgb(255 255 255 / 0.14);-webkit-backdrop-filter: blur(12px);backdrop-filter: blur(12px);color: #e8f1f2}.glass-card .bite-meter span{background: rgb(255 255 255 / 0.15)}.glass-card .bite-label{color: var(--reed-300)}.composer{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3);border: 1px solid var(--color-border);border-radius: var(--radius-xl);background: var(--color-surface);box-shadow: var(--shadow-xs)}.composer__prompt{flex: 1;min-width: 0;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;display: flex;align-items: center;min-height: 44px;padding-inline: var(--space-4);border-radius: var(--radius-pill);background: var(--color-surface-sunken);color: var(--color-text-muted);text-decoration: none}.composer__prompt{display: block;line-height: 44px}.composer__prompt:hover{color: var(--color-heading);text-decoration: none;background: var(--color-border)}.mini-profile{text-align: center}.mini-profile .stats-strip{grid-template-columns: repeat(3,minmax(0,1fr))}.mini-profile .stats-strip b{font-size: var(--fs-md)}.mini-profile .avatar{margin-bottom: var(--space-2)}.side-nav{display: grid;gap: 2px;margin: 0;padding: 0;list-style: none}.side-nav a{display: flex;align-items: center;gap: var(--space-3);min-height: 42px;padding: 0 var(--space-3);border-radius: var(--radius-md);color: var(--color-text);font-weight: var(--fw-semibold);font-size: var(--fs-sm);text-decoration: none}.side-nav a:hover{background: var(--color-surface-sunken);color: var(--color-heading)}.side-nav a .icon{--icon-size: 18px;color: var(--color-text-subtle)}.side-nav a .badge-count{margin-left: auto}.side-nav a[aria-current="page"]{background: var(--color-primary-soft);color: var(--color-primary-text)}.side-nav a[aria-current="page"] .icon{color: currentColor}.species-facts{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-2);margin: 0}.species-facts>div{padding: var(--space-3);border-radius: var(--radius-md);background: var(--color-surface);border: 1px solid var(--color-border)}.species-facts dt{font-size: var(--fs-xs);font-weight: var(--fw-semibold);color: var(--color-text-muted)}.species-facts dd{margin: 0;font-weight: var(--fw-bold);color: var(--color-heading)}.line-clamp-2,.line-clamp-3{display: -webkit-box;-webkit-box-orient: vertical;overflow: hidden}.line-clamp-2{-webkit-line-clamp: 2;line-clamp: 2}.line-clamp-3{-webkit-line-clamp: 3;line-clamp: 3}.truncate{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.scroll-x{overflow-x: auto;scrollbar-width: thin}.bleed-x{margin-inline: calc(var(--gutter) * -1);padding-inline: var(--gutter)}.gap-2px{gap: 2px}.fw-heavy{font-weight: var(--fw-heavy) !important}.font-display{font-family: var(--font-display) !important}.bg-surface{background: var(--color-surface) !important}.pt-section{padding-top: var(--section-gap) !important}.bg-tint{background: var(--color-bg-accent) !important}.text-heading{color: var(--color-heading) !important}.text-primary{color: var(--color-primary-text) !important}.text-success{color: var(--color-success) !important}.text-danger{color: var(--color-danger) !important}.text-premium{color: var(--color-premium-text) !important}.border-soft{border-color: var(--color-divider) !important}.rounded-card{border-radius: var(--radius-card) !important}.min-w-0{min-width: 0}.flex-none{flex: none}.mt-6{margin-top: var(--space-7) !important}.mt-7{margin-top: var(--space-8) !important}.mb-6{margin-bottom: var(--space-7) !important}.my-6{margin-block: var(--space-7) !important}.py-6{padding-block: var(--space-7) !important}.py-7{padding-block: var(--space-8) !important}.gap-6{gap: var(--space-7) !important}.visually-hidden-focusable:not(:focus):not(:focus-within){position: absolute !important}@media (pointer: coarse){:root{--subnav-h: 61px}.btn-sm,.like-btn,.meta-btn,.chip,.select-pill,.subnav__link{min-height: var(--tap-min)}.chip,.select-pill,.subnav__link{height: var(--tap-min)}.icon-btn--sm{width: var(--tap-min);height: var(--tap-min)}a.tag{min-height: 40px}.form-check-input{width: 1.5rem;height: 1.5rem}.form-switch .form-check-input{width: 2.75rem}.photo-thumb__remove::after,.active-filters .tag :is(button,a)::after{content: "";position: absolute;inset: -6px}.active-filters .tag :is(button,a){position: relative;width: 28px;height: 28px}.comment-form__box .btn{height: var(--tap-min);min-height: var(--tap-min)}.comment-form__box textarea,.form-control-sm{min-height: var(--tap-min)}.photo-thumb__cover::after{content: "";position: absolute;inset: -8px -5px}.thread__head .icon-btn{flex: none}.settings-nav a{min-height: var(--tap-min)}.theme-switch button{width: 40px;height: 40px}.skip-link{min-height: var(--tap-min)}.leaflet-bar a,.leaflet-bar a:hover{width: var(--tap-min) !important;height: var(--tap-min) !important;line-height: var(--tap-min) !important}.page-link{min-width: var(--tap-min);height: var(--tap-min)}}@media (max-width: 991.98px){html:has(body.has-bottom-nav .sticky-actions){scroll-padding-bottom: calc(var(--bottom-nav-h) + var(--sticky-actions-h,76px) + var(--safe-bottom) + var(--space-4))}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0s !important;transition-delay: 0s !important;scroll-behavior: auto !important}.catch-card:hover,.tile:hover,.place-card:hover{transform: none}.catch-card:hover .catch-card__media img{transform: none}}@media print{.app-header,.bottom-nav,.app-footer,.ad-slot,.subnav,.filter-bar,.sticky-actions,.toast-container,.map{display: none !important}body{background: #fff;color: #000}.catch-card,.surface,.panel{box-shadow: none;break-inside: avoid}a[href^="http"]::after{content: " (" attr(href) ")";font-size: 0.8em}}.avatar-btn--caret{padding-inline: 2px;margin-inline-start: -6px}.catch-card__placeholder{display: grid;place-items: center;aspect-ratio: 4 / 3;color: var(--color-text-subtle);background: var(--color-surface-sunken)}.app-footer__attribution{margin-top: var(--space-5);color: var(--color-text-muted)}.app-footer__attribution a{color: inherit}.app-footer__consent{font-size: inherit;color: inherit;text-decoration: none;min-height: 0}.consent-banner{position: fixed;inset-inline: 0;bottom: 0;z-index: var(--z-toast);padding: var(--space-4) 0 calc(var(--space-4) + var(--safe-bottom));background: var(--color-surface);border-top: 1px solid var(--color-border);box-shadow: var(--shadow-xl)}.consent-banner[hidden]{display: none}/* QA F30: above the bottom nav on phones/tablets — the raised "+" (≈ 20 px over the bar) stays visible and tappable */ @media (max-width: 991.98px){.has-bottom-nav .consent-banner{bottom: calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--space-6));padding-bottom: var(--space-4);border-bottom: 1px solid var(--color-border)}}.consent-banner__inner{display: flex;flex-wrap: wrap;gap: var(--space-4);align-items: center;justify-content: space-between}.consent-banner__text{flex: 1 1 420px}.consent-banner__actions{display: flex;gap: var(--space-3)}.consent-banner__actions .btn{min-width: 8.5rem}@media (max-width: 991.98px){.has-bottom-nav .consent-banner{bottom: calc(var(--bottom-nav-h) + var(--safe-bottom));padding-bottom: var(--space-4)}}.app-footer--compact{padding-block: var(--space-5);margin-top: var(--space-8)}.app-footer--compact .app-footer__bottom{border-top: 0;margin-top: 0;padding-top: 0}.app-footer__legal a{color: inherit}/* QA F23: the native "Choose file" button of file inputs looks like a design-system secondary button */ .form-control[type="file"]::file-selector-button{margin-inline-end: var(--space-3);padding: var(--space-1) var(--space-3);border: 1px solid var(--color-border-strong);border-radius: var(--radius-sm);background: var(--color-surface);color: var(--color-text);font: inherit;font-weight: var(--fw-semibold);cursor: pointer}.form-control[type="file"]:hover::file-selector-button{background: var(--color-surface-2);color: var(--color-heading)}