/* Final open_design bridge: imported last so prototype primitives win globally. */
:root {
    --od-bg: #f7faf4;
    --od-surface: #ffffff;
    --od-surface-warm: #edf6e8;
    --od-fg: #101828;
    --od-fg-2: #344054;
    --od-muted: #667085;
    --od-meta: #2f6f46;
    --od-border: #d9e6d2;
    --od-border-soft: #edf4ea;
    --od-accent: #2f6f46;
    --od-success: #16a34a;
    --od-warn: #f59e0b;
    --od-feature-surface: #24583a;
    --od-feature-border: #1b432d;
    --od-feature-fg: #f7fff9;
    --od-feature-muted: #d4eadb;
    --od-feature-meta: #b8e4c8;
    --od-radius-md: 16px;
    --od-radius-lg: 24px;
    --od-pill: 9999px;
    --od-ring: 0 0 0 1px var(--od-border);
    --od-raised: 0 20px 52px rgba(16, 24, 40, 0.11);
    --od-focus: 0 0 0 4px rgba(47, 111, 70, 0.2);
    --color-bg: var(--od-bg);
    --color-white: var(--od-surface);
    --color-text: var(--od-fg);
    --color-text-light: var(--od-muted);
    --color-link: var(--od-accent);
    --color-link-visited: var(--od-accent);
    --color-link-hover: var(--od-success);
    --color-border: var(--od-border);
    --color-border-light: var(--od-border-soft);
    --color-header-bg: var(--od-surface-warm);
    --color-accent: var(--od-success);
    --color-success: var(--od-success);
    --color-warning: var(--od-warn);
    --font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
}

html[data-theme="dark"] {
    --od-bg: #111811;
    --od-surface: #172117;
    --od-surface-warm: #1c2a1c;
    --od-fg: #eef4ff;
    --od-fg-2: #cbd5e1;
    --od-muted: #94a3b8;
    --od-border: #334533;
    --od-border-soft: #243524;
    --od-feature-surface: #1d4a31;
    --od-feature-border: #2d6847;
    --od-feature-fg: #f7fff9;
    --od-feature-muted: #c7dfd0;
    --od-feature-meta: #9be6b1;
    --od-raised: 0 20px 52px rgba(0, 0, 0, 0.34);
    --color-bg: var(--od-bg);
    --color-white: var(--od-surface);
    --color-text: var(--od-fg);
    --color-text-light: var(--od-muted);
    --color-link: #86efac;
    --color-link-visited: #86efac;
    --color-link-hover: #86efac;
    --color-border: var(--od-border);
    --color-border-light: var(--od-border-soft);
    --color-header-bg: var(--od-surface-warm);
}

body {
    background:
        radial-gradient(circle at 12% 6%, color-mix(in srgb, var(--od-success) 15%, transparent), transparent 30rem),
        linear-gradient(180deg, var(--od-bg), color-mix(in srgb, var(--od-surface-warm) 54%, var(--od-surface)));
    color: var(--od-fg);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
    font-size: 16px;
    line-height: 1.52;
}

.open-design-site {
    overflow-x: hidden;
}

.open-design-site *,
.open-design-site *::before,
.open-design-site *::after {
    min-width: 0;
}

.open-design-site h1,
.open-design-site h2,
.open-design-site h3,
.open-design-site p,
.open-design-site strong,
.open-design-site small,
.open-design-site td,
.open-design-site th {
    overflow-wrap: anywhere;
}

a,
a:visited {
    color: inherit;
}

a:hover {
    text-decoration: none;
}

h1,
h2,
h3,
.site-logo h1,
.scientific-name,
.plant-nav-name,
.related-plant-info .scientific,
.search-results .scientific {
    letter-spacing: 0;
}

.site-header {
    background: color-mix(in srgb, var(--od-bg) 86%, transparent);
    border-bottom: 1px solid var(--od-border);
    backdrop-filter: blur(18px);
}

.topnav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: color-mix(in srgb, var(--od-bg) 86%, transparent);
    border-bottom: 1px solid var(--od-border);
    backdrop-filter: blur(18px);
}

.header-content,
.main-content,
.site-footer {
    max-width: 1180px;
}

.nav-inner {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
    flex-wrap: nowrap;
    width: min(1180px, calc(100% - 32px));
}

.main-content {
    display: grid;
    gap: clamp(48px, 7vw, 96px);
    padding-top: clamp(40px, 7vw, 96px);
    padding-bottom: clamp(40px, 7vw, 96px);
}

.main-content:has(> .refresh-home) {
    padding-top: clamp(18px, 3vw, 38px);
}

.site-logo {
    font-weight: 850;
    letter-spacing: -0.025em;
}

.logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--od-fg);
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
}

.logo h1 {
    color: var(--od-fg);
    font-size: 16px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: 0;
    white-space: nowrap;
}

.site-logo-mark,
.mark {
    width: 38px;
    height: 38px;
    border-radius: var(--od-radius-md);
    background: color-mix(in srgb, var(--od-success) 16%, var(--od-surface));
    border: 1px solid color-mix(in srgb, var(--od-success) 30%, var(--od-border));
    color: var(--od-success);
}

.main-nav a,
.open-mobile-nav a {
    color: var(--od-fg-2);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.nav-links,
.nav-links ul {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: nowrap;
}

.nav-links ul {
    list-style: none;
}

.nav-links a {
    color: var(--od-fg-2);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: normal;
    white-space: nowrap;
}

.site-logo,
.main-nav-primary,
.header-controls,
.mobile-nav-toggle,
.nav-browse-cta {
    flex: 0 0 auto;
}

.main-nav-primary {
    min-width: max-content;
}

.search-box {
    flex: 1 1 190px;
    max-width: 260px;
    margin-left: auto;
}

.search-box input {
    width: 100%;
    max-width: none;
}

.main-nav a:hover,
.open-mobile-nav a:hover,
.nav-links a:hover,
.nav-links a[aria-current="page"] {
    color: var(--od-fg);
}

.main-nav-dropdown.nav-links {
    display: none;
}

.header-content.mobile-open .main-nav-dropdown.nav-links {
    display: block;
    flex-basis: 100%;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    margin-left: 0;
}

.btn,
.chip {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: var(--od-pill);
    border: 1px solid var(--od-border);
    background: var(--od-surface);
    color: var(--od-fg);
    font-weight: 700;
    padding: 0 20px;
    text-decoration: none;
    transition: transform 150ms cubic-bezier(0.2, 0, 0, 1), border-color 150ms cubic-bezier(0.2, 0, 0, 1), background 150ms cubic-bezier(0.2, 0, 0, 1);
}

.control-btn.chip,
.mobile-nav-toggle.chip {
    width: 42px;
    min-width: 42px;
    height: 42px;
    flex: 0 0 42px;
    padding: 0;
    white-space: nowrap;
}

.btn:hover,
.chip:hover,
.chip[aria-pressed="true"] {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
}

.btn-primary {
    background: var(--od-success);
    border-color: var(--od-success);
    color: #fff;
}

.mobile-nav {
    display: none;
    gap: 8px;
    padding: 0 16px 12px;
}

.mobile-nav a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-pill);
    background: color-mix(in srgb, var(--od-surface) 88%, transparent);
    color: var(--od-fg-2);
    font-size: 14px;
    font-weight: 700;
}

.nav-browse-cta,
.refresh-btn-primary,
.btn-primary,
.error-btn.primary,
.adopt-btn {
    background: var(--od-success);
    border-color: var(--od-success);
    color: #fff;
}

.control-btn,
.refresh-btn,
.sort-btn,
.facet-toggle,
.facet-reset,
.az-load-more,
.plant-list-load-more,
.quality-load-more,
.duplicate-load-more,
.collection-map-link,
.external-link-item a,
.open-mobile-nav a,
.nav-browse-cta {
    min-height: 42px;
    border-radius: var(--od-pill);
    border: 1px solid var(--od-border);
    background-color: color-mix(in srgb, var(--od-surface) 94%, transparent);
    color: var(--od-fg);
    font-weight: 700;
    text-decoration: none;
    transition: transform 150ms cubic-bezier(0.2, 0, 0, 1), border-color 150ms cubic-bezier(0.2, 0, 0, 1), box-shadow 150ms cubic-bezier(0.2, 0, 0, 1);
}

.control-btn:hover,
.refresh-btn:hover,
.sort-btn:hover,
.facet-toggle:hover,
.facet-reset:hover,
.az-load-more:hover,
.plant-list-load-more:hover,
.quality-load-more:hover,
.duplicate-load-more:hover,
.collection-map-link:hover,
.external-link-item a:hover,
.open-mobile-nav a:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
    box-shadow: var(--od-ring);
}

.search-box input,
.refresh-search,
.hero-search,
.toolbar,
.facet-panel,
.sort-bar,
.pdf-toolbar,
.location-filter input,
.facet-field select {
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 92%, transparent);
}

.search-box input,
.hero-search input,
.refresh-search input,
.location-filter input,
.facet-field select {
    min-height: 46px;
    border-radius: var(--od-pill);
}

.refresh-home .home-hero {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
    align-items: center;
}

.refresh-home .home-hero-copy {
    max-width: 820px;
}

.refresh-home .refresh-search {
    background: var(--od-feature-surface);
    border-color: var(--od-feature-border);
    box-shadow: 0 18px 42px rgba(36, 88, 58, 0.22);
}

.refresh-home .refresh-search input {
    color: var(--od-feature-fg);
}

.refresh-home .refresh-search input::placeholder {
    color: color-mix(in srgb, var(--od-feature-muted) 82%, transparent);
    opacity: 1;
}

.search-box input:focus,
.hero-search:focus-within,
.refresh-search:focus-within,
.location-filter input:focus,
.facet-field select:focus {
    outline: 0;
    box-shadow: var(--od-focus);
}

.home-hero,
.refresh-page-hero,
.plant-header {
    gap: clamp(32px, 6vw, 48px);
}

.refresh-page-hero-single {
    grid-template-columns: minmax(0, 1fr);
}

.home-hero h1,
.refresh-page-hero h1,
.plant-header h1,
.plant-title-row h1,
.error-page h1 {
    color: var(--od-fg);
    font-size: clamp(54px, 6.4vw, 76px);
    line-height: 1.06;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

.refresh-lead,
.lead,
.refresh-page-hero p,
.plant-header .common-name,
.category-meta {
    color: var(--od-fg-2);
    font-size: clamp(16px, 1.4vw, 18px);
}

.refresh-eyebrow,
.refresh-card-kicker,
.panel-kicker,
.panel-label,
.meta,
.tag,
.info-table caption,
.info-table th,
.plant-hero-fact span,
.station-card-meta,
.stat-label {
    color: var(--od-meta);
    font-family: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.home-specimen-card,
.refresh-side-panel,
.panel,
.browse-card,
.plant-card,
.plant-list-item,
.related-plant-card,
.refresh-row-card,
.open-plant-row,
.station-card,
.refresh-station-card,
.collection-card,
.refresh-image-card,
.stat-card,
.stats-section,
.plant-section,
.info-table,
.plant-image,
.letter-section,
.refresh-letter-section,
.station-index,
.location-index,
.pdf-container,
.refresh-error-page,
.plant-nav-link,
.plant-scope-row,
.az-letter-card {
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 94%, transparent);
    box-shadow: var(--od-ring);
}

.home-specimen-card,
.refresh-side-panel,
.plant-image,
.refresh-error-page {
    box-shadow: var(--od-raised);
}

.home-specimen-card,
.refresh-page-hero .refresh-side-panel,
.open-featured-panel {
    transform: none;
}

.refresh-home .refresh-browse-card,
.refresh-home .open-featured-panel {
    background: var(--od-feature-surface);
    border-color: var(--od-feature-border);
    color: var(--od-feature-fg);
}

.refresh-home .refresh-browse-card h3,
.refresh-home .open-featured-panel h2 {
    color: var(--od-feature-fg);
}

.refresh-home .refresh-browse-card p,
.refresh-home .open-featured-panel .refresh-lead {
    color: var(--od-feature-muted);
}

.refresh-home .refresh-browse-card .refresh-card-kicker,
.refresh-home .open-featured-panel .refresh-eyebrow {
    color: var(--od-feature-meta);
}

.refresh-home .refresh-browse-card:hover {
    border-color: color-mix(in srgb, var(--od-feature-meta) 55%, var(--od-feature-border));
    box-shadow: var(--od-raised);
}

.browse-card:hover,
.plant-card:hover,
.plant-list-item:hover,
.related-plant-card:hover,
.refresh-row-card:hover,
.open-plant-row:hover,
.station-card:hover,
.collection-card:hover,
.az-letter-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--od-success) 38%, var(--od-border));
    box-shadow: var(--od-raised);
}

.letter-nav,
.refresh-letter-nav {
    top: 74px;
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 88%, transparent);
    border: 1px solid var(--od-border);
    box-shadow: var(--od-ring);
    backdrop-filter: blur(18px);
}

.letter-link {
    border-radius: var(--od-radius-md);
    font-weight: 800;
}

.letter-link.active,
.letter-grid button[aria-pressed="true"],
.sort-btn.active {
    background: var(--od-success);
    border-color: var(--od-success);
    color: #fff;
}

.row-card,
.refresh-row-card,
.open-plant-row {
    grid-template-columns: minmax(120px, 0.5fr) minmax(0, 1fr) auto;
    padding: 16px;
    border-radius: var(--od-radius-md);
}

.plant-list-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 16px;
    gap: 16px;
}

.plant-list-thumb,
.related-plant-image,
.plant-card-image,
.collection-card-image,
.refresh-image-card-media,
.plant-image img,
.plant-image .placeholder-image {
    border-radius: calc(var(--od-radius-lg) - 4px);
    background:
        radial-gradient(circle at 45% 14%, color-mix(in srgb, var(--od-success) 20%, transparent), transparent 9rem),
        linear-gradient(140deg, color-mix(in srgb, var(--od-success) 20%, var(--od-surface)), var(--od-surface-warm));
}

.home-specimen-art.has-illustration {
    position: relative;
    background:
        radial-gradient(circle at 45% 14%, color-mix(in srgb, var(--od-success) 20%, transparent), transparent 9rem),
        linear-gradient(140deg, color-mix(in srgb, var(--od-success) 20%, var(--od-surface)), var(--od-surface-warm));
}

.home-specimen-art.has-illustration .placeholder-image {
    position: relative;
    inset: auto;
    opacity: 0.18;
    background-size: 30% auto, 100%;
}

.home-specimen-art .stem,
.home-specimen-art .leaf,
.home-specimen-art .flower {
    display: none;
}

.home-specimen-art.has-illustration .stem,
.home-specimen-art.has-illustration .leaf,
.home-specimen-art.has-illustration .flower {
    display: none;
    position: static;
}

.home-specimen-art.has-illustration .stem {
    width: 2px;
    height: 206px;
    left: 50%;
    bottom: 56px;
    background: color-mix(in srgb, var(--od-success) 72%, var(--od-fg));
    transform: rotate(4deg);
}

.home-specimen-art.has-illustration .leaf {
    border-radius: 80% 0 80% 0;
    background: color-mix(in srgb, var(--od-success) 62%, var(--od-surface));
    border: 1px solid color-mix(in srgb, var(--od-success) 40%, var(--od-border));
    transform-origin: bottom left;
}

.home-specimen-art.has-illustration .leaf.one {
    width: 120px;
    height: 46px;
    left: 70px;
    bottom: 106px;
    transform: rotate(-34deg);
}

.home-specimen-art.has-illustration .leaf.two {
    width: 152px;
    height: 56px;
    left: 136px;
    bottom: 142px;
    transform: rotate(20deg);
}

.home-specimen-art.has-illustration .leaf.three {
    width: 96px;
    height: 38px;
    right: 72px;
    bottom: 86px;
    transform: rotate(-18deg);
}

.home-specimen-art.has-illustration .flower {
    width: 76px;
    height: 76px;
    left: calc(50% - 35px);
    top: 62px;
    border-radius: 50% 50% 46% 46%;
    background: color-mix(in srgb, var(--od-warn) 42%, var(--od-surface));
    border: 1px solid color-mix(in srgb, var(--od-warn) 42%, var(--od-border));
}

.map-panel,
.pdf-canvas-wrap,
.plant-empty-state,
.map-state,
.collections-empty {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--od-success) 10%, transparent) 1px, transparent 1px),
        linear-gradient(0deg, color-mix(in srgb, var(--od-success) 10%, transparent) 1px, transparent 1px),
        color-mix(in srgb, var(--od-surface-warm) 48%, var(--od-surface));
    background-size: 36px 36px;
}

.info-table {
    overflow: hidden;
}

.info-table th,
.info-table td,
.table th,
.table td {
    border-bottom: 1px solid var(--od-border-soft);
    padding: 16px;
}

.status,
.open-toxicity-table .status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: var(--od-pill);
    border: 1px solid color-mix(in srgb, var(--od-warn) 30%, var(--od-border));
    background: color-mix(in srgb, var(--od-warn) 14%, var(--od-surface));
    color: var(--od-fg-2);
    font-size: 14px;
    font-weight: 800;
}

.chart-row,
.quality-queue-list .chart-row,
.duplicate-review-item,
.location-group {
    border: 1px solid var(--od-border-soft);
    border-radius: var(--od-radius-md);
    padding: 14px 16px;
    background: var(--od-surface);
}

.chart-bar-track {
    background: var(--od-border-soft);
}

.chart-bar-fill {
    background: var(--od-accent);
    color: transparent;
}

.stat-number {
    color: var(--od-accent);
}

.chart-bar-fill {
    color: transparent;
}

.site-footer {
    border-top: 1px solid var(--od-border);
    color: var(--od-muted);
    font-size: 14px;
}

.footer {
    padding: 24px 0;
}

.footer-inner {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.back-to-top {
    background: var(--od-success);
    box-shadow: var(--od-raised);
}

/* Legacy harmonization: make old components inherit the open_design system. */
.search-results,
.language-modal-card,
.recently-viewed-item,
.plant-nav a,
.plant-scope-title,
.plant-scope-link,
.search-filter-panel,
.search-filter-group,
.filter-chip,
.common-name-card,
.synonym-card,
.taxonomy-card,
.location-card,
.external-links,
.location-collection-block,
details,
.curator-section,
.toxicity-section,
.quality-card,
.duplicate-card,
.stat-card,
.chart-card,
.chart-row,
.quality-queue-list,
.duplicate-review-item {
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 94%, transparent);
    box-shadow: var(--od-ring);
}

.search-results {
    top: calc(100% + 8px);
    border-top: 1px solid var(--od-border);
    overflow: hidden;
    box-shadow: var(--od-raised);
}

.search-results a,
.search-results .search-status,
.search-results .no-results {
    padding: 14px 16px;
}

.search-results a:hover,
.search-results a:focus {
    background: color-mix(in srgb, var(--od-success) 8%, var(--od-surface));
    box-shadow: none;
}

.search-results mark,
.search-match {
    border-radius: 6px;
    background: color-mix(in srgb, var(--od-warn) 32%, var(--od-surface));
    color: var(--od-fg);
}

.language-modal {
    backdrop-filter: blur(18px);
    background: rgba(16, 24, 40, 0.28);
}

.language-modal-card {
    max-width: 520px;
    padding: 32px;
    box-shadow: var(--od-raised);
}

.language-modal-card h2 {
    font-size: clamp(30px, 5vw, 54px);
    line-height: 1.06;
}

.language-modal-actions {
    gap: 12px;
}

.language-modal-btn,
.filter-chip,
.text-toggle-btn,
.plant-nav a,
.plant-scope-link,
.collection-map-link,
.external-link-item a,
.pdf-download-link,
.az-load-more,
.plant-list-load-more,
.quality-load-more,
.duplicate-load-more {
    min-height: 42px;
    border-radius: var(--od-pill);
    border: 1px solid var(--od-border);
    background: var(--od-surface);
    color: var(--od-fg);
    font-weight: 700;
    transition: transform 150ms cubic-bezier(0.2, 0, 0, 1), border-color 150ms cubic-bezier(0.2, 0, 0, 1), box-shadow 150ms cubic-bezier(0.2, 0, 0, 1);
}

.language-modal-btn:hover,
.filter-chip:hover,
.text-toggle-btn:hover,
.plant-nav a:hover,
.plant-scope-link:hover,
.collection-map-link:hover,
.external-link-item a:hover,
.pdf-download-link:hover,
.az-load-more:hover,
.plant-list-load-more:hover,
.quality-load-more:hover,
.duplicate-load-more:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
    box-shadow: var(--od-ring);
}

.recently-viewed-section {
    padding: 24px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 94%, transparent);
    box-shadow: var(--od-ring);
}

.recently-viewed-section h2,
.quality-queue-page h1,
.stats-page h1,
.toxicity-page h1,
.station-page h1,
.stations-page h1 {
    color: var(--od-fg);
    font-size: clamp(36px, 5vw, 54px);
    line-height: 1.08;
    letter-spacing: 0;
}

.recently-viewed-item {
    min-height: 58px;
    padding: 10px 14px;
    max-width: none;
}

.recently-viewed-item .scientific,
.related-plant-info .scientific,
.plant-nav-name {
    color: var(--od-fg);
    font-style: normal;
    font-weight: 800;
}

.recently-viewed-item .common,
.related-plant-info .common,
.plant-scope-context,
.plant-nav-label {
    color: var(--od-muted);
}

.plant-nav {
    border-top: 0;
    padding-top: 0;
}

.plant-nav a {
    max-width: none;
    width: 100%;
    padding: 16px;
    background: color-mix(in srgb, var(--od-surface) 94%, transparent);
}

.plant-nav-thumb {
    width: 72px;
    height: 72px;
    border-radius: var(--od-radius-md);
    border: 1px solid var(--od-border-soft);
    background: var(--od-surface-warm);
}

.plant-scope-row {
    grid-template-columns: minmax(160px, 240px) 1fr;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.plant-scope-title {
    padding: 18px;
    border-left: 5px solid var(--od-success);
}

.plant-scope-links {
    gap: 12px;
}

.plant-scope-link {
    padding: 16px;
}

.info-table caption {
    padding: 18px 18px 0;
}

.info-table th,
.info-table td {
    vertical-align: top;
}

.external-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.adopt-btn {
    width: fit-content;
    margin-top: 14px;
    padding-inline: 20px;
}

.toxicity-source-note,
.confidence-note,
.image-credit-inline,
.plant-list-visible-count,
.map-subtitle {
    color: var(--od-muted);
    font-size: 14px;
}

.refresh-list-page,
.category-page,
.collections-page,
.map-page,
.stats-page,
.quality-queue-page,
.toxicity-page,
.stations-page,
.station-page {
    display: grid;
    gap: clamp(32px, 6vw, 64px);
}

.sort-bar,
.facet-panel,
.quality-load-controls,
.duplicate-load-controls {
    padding: 12px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 86%, transparent);
    box-shadow: var(--od-ring);
}

.sort-label,
.facet-label,
.collection-map-label,
.station-note {
    color: var(--od-muted);
    font-family: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.plant-list-grid,
.collections-grid,
.related-plants-grid,
.stats-grid,
.quality-grid {
    gap: 20px;
}

.plant-list-info h3,
.collection-card h2,
.related-plant-info,
.station-title {
    color: var(--od-fg);
}

.plant-list-info p,
.collection-card p,
.station-en,
.location-group .common {
    color: var(--od-muted);
}

.plant-list-load-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.stats-page .stats-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.stats-page .stat-card {
    display: grid;
    align-content: center;
    min-height: 132px;
    padding: 22px 18px;
}

.stats-page .stat-number {
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.04em;
}

.stats-page .stats-section {
    margin-top: 0;
    padding: clamp(20px, 3vw, 32px);
}

.stats-page .stats-section > h2 {
    margin-bottom: 18px;
    font-size: clamp(1.4rem, 3vw, 2rem);
}

.stats-page .family-chart {
    gap: 10px;
}

.stats-page .chart-row {
    grid-template-columns: minmax(150px, 0.55fr) minmax(120px, 1fr) max-content;
}

.stats-page .chart-label {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    font-weight: 750;
}

.stats-page .chart-value {
    min-width: max-content;
    color: var(--od-fg-2);
    font-weight: 800;
}

.quality-queue-row {
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) max-content !important;
}

.quality-queue-details {
    color: var(--od-fg-2);
}

.quality-queue-details .common + .common {
    margin-top: 4px;
    color: var(--od-muted);
    font-size: 13px;
}

.quality-missing-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    padding: 4px 10px;
    border-radius: var(--od-pill);
    background: color-mix(in srgb, var(--od-warn) 16%, var(--od-surface));
    border: 1px solid color-mix(in srgb, var(--od-warn) 34%, var(--od-border));
}

.quality-load-controls,
.duplicate-load-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 14px;
}

.quality-visible-count,
.duplicate-visible-count {
    margin: 0;
    color: var(--od-muted);
    font-size: 14px;
}

.duplicate-review-item summary {
    padding-right: 28px;
    overflow-wrap: anywhere;
}

.duplicate-review-item ul {
    padding-left: 20px;
}

.duplicate-review-item li {
    overflow-wrap: anywhere;
}

/* Deeper open_design adoption: page-specific structures and prototype motifs. */
.breadcrumb {
    color: var(--od-muted);
    font-size: 14px;
    margin-bottom: 32px;
}

.breadcrumb a:hover {
    color: var(--od-fg);
}

.plant-page {
    display: grid;
    gap: clamp(40px, 7vw, 80px);
}

.plant-header {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
}

.plant-header .refresh-eyebrow,
.plant-title-row,
.plant-header .common-name {
    grid-column: auto;
}

.plant-title-row {
    align-items: start;
}

.copy-name-btn {
    border-radius: var(--od-pill);
    border: 1px solid var(--od-border);
    background: var(--od-surface);
    color: var(--od-fg-2);
    box-shadow: var(--od-ring);
}

.copy-name-btn:hover,
.copy-name-btn.copied {
    color: var(--od-success);
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
}

.plant-hero-media {
    grid-column: auto;
    grid-row: auto;
    padding: 20px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 92%, var(--od-surface-warm));
    box-shadow: var(--od-raised);
}

.plant-hero-image {
    min-height: 430px;
    overflow: hidden;
    border: 1px solid var(--od-border-soft);
    border-radius: calc(var(--od-radius-lg) - 4px);
    background:
        radial-gradient(circle at 52% 22%, color-mix(in srgb, var(--od-warn) 34%, transparent), transparent 8rem),
        linear-gradient(135deg, color-mix(in srgb, var(--od-success) 18%, var(--od-surface)), var(--od-surface-warm));
}

.plant-hero-image img,
.plant-hero-image .placeholder-image {
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
}

.plant-hero-image.has-illustration {
    position: relative;
}

.plant-hero-image.has-illustration .placeholder-image {
    position: relative;
    inset: auto;
}

.plant-hero-image .petal {
    display: none;
}

.plant-hero-image.has-illustration .petal {
    display: none;
    position: static;
    width: 94px;
    height: 142px;
    left: calc(50% - 47px);
    top: 72px;
    border-radius: 70% 70% 50% 50%;
    background: color-mix(in srgb, var(--od-warn) 40%, var(--od-surface));
    border: 1px solid color-mix(in srgb, var(--od-warn) 36%, var(--od-border));
    transform-origin: bottom center;
}

.plant-hero-image.has-illustration .petal.left {
    transform: rotate(-24deg);
}

.plant-hero-image.has-illustration .petal.right {
    transform: rotate(24deg);
}

.plant-hero-image.has-illustration .petal.center {
    transform: translateY(-10px);
    background: color-mix(in srgb, var(--od-warn) 50%, var(--od-surface));
}

.plant-hero-image.has-illustration::after {
    content: none;
    position: absolute;
    width: 3px;
    height: 180px;
    left: 50%;
    bottom: 64px;
    background: color-mix(in srgb, var(--od-success) 68%, var(--od-fg));
}

.plant-hero-caption {
    display: block;
    margin: 8px 0 0;
    padding: 0;
    color: var(--od-muted);
    font-size: 0.6875rem;
    font-style: italic;
    line-height: 1.25;
    text-align: center;
}

.plant-hero-facts {
    grid-column: auto;
    grid-row: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-self: stretch;
}

.plant-hero-fact {
    min-height: 132px;
    display: grid;
    align-content: space-between;
    padding: 20px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 94%, transparent);
    box-shadow: var(--od-ring);
}

.plant-hero-fact:last-child:nth-child(odd) {
    grid-column: auto;
}

.plant-hero-fact strong {
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.plant-content {
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.75fr);
    gap: clamp(24px, 5vw, 48px);
    align-items: start;
}

.plant-main {
    order: 1;
    display: grid;
    gap: 20px;
}

.plant-sidebar {
    order: 2;
    display: grid;
    gap: 20px;
}

.plant-sidebar > .plant-image:first-child {
    display: none;
}

.plant-image,
.plant-image.placeholder {
    padding: 20px;
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 92%, var(--od-surface-warm));
    border: 1px solid var(--od-border);
    box-shadow: var(--od-raised);
}

.plant-image img,
.plant-image .placeholder-image {
    min-height: 430px;
    border-radius: calc(var(--od-radius-lg) - 4px);
    object-fit: cover;
}

.image-credit,
.js-no-image-label {
    display: block;
    margin-top: 16px;
    color: var(--od-muted);
    font-size: 14px;
}

.placeholder-image {
    background:
        radial-gradient(circle at 52% 22%, color-mix(in srgb, var(--od-warn) 34%, transparent), transparent 8rem),
        radial-gradient(circle at 42% 64%, color-mix(in srgb, var(--od-success) 24%, transparent), transparent 10rem),
        linear-gradient(135deg, color-mix(in srgb, var(--od-success) 18%, var(--od-surface)), var(--od-surface-warm));
}

.plant-section {
    padding: 24px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 94%, transparent);
    box-shadow: var(--od-ring);
}

.plant-section h2,
.related-plants-section h2,
.station-index h3,
.location-index h3 {
    margin-bottom: 16px;
    color: var(--od-fg);
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.plant-section h2::before,
.related-plants-section h2::before,
.station-index > h3::before,
.location-index > h3::before {
    content: none;
    display: none;
}

.common-names-list,
.synonyms-list,
.country-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    list-style: none;
}

.common-names-list li,
.synonyms-list li,
.country-badge,
.station-category-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid color-mix(in srgb, var(--od-success) 26%, var(--od-border));
    border-radius: var(--od-pill);
    background: color-mix(in srgb, var(--od-success) 10%, var(--od-surface));
    color: var(--od-fg-2);
    font-size: 14px;
}

.common-name-extra[hidden],
.synonym-extra[hidden] {
    display: none !important;
}

.plant-empty-state {
    min-height: 220px;
    display: grid;
    place-items: center;
    padding: 32px;
    text-align: center;
    border: 1px dashed color-mix(in srgb, var(--od-success) 40%, var(--od-border));
    border-radius: var(--od-radius-lg);
}

.text-toggle-btn {
    min-height: 42px;
    margin-top: 16px;
    padding: 0 20px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-pill);
    background: var(--od-surface);
    color: var(--od-fg);
    font-weight: 700;
}

.text-toggle-btn:hover {
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
}

.plant-distribution-panel .country-badges {
    margin-bottom: 18px;
}

.plant-detail-disclosure {
    overflow: hidden;
    margin-top: 18px;
    border: 1px solid var(--od-border-soft);
    border-radius: 18px;
    background: color-mix(in srgb, var(--od-surface) 88%, var(--od-canopy));
}

.plant-detail-disclosure summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 54px;
    padding: 12px 16px;
    color: var(--od-fg);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.plant-detail-disclosure summary::-webkit-details-marker {
    display: none;
}

.plant-detail-disclosure summary:hover,
.plant-detail-disclosure summary:focus-visible {
    background: color-mix(in srgb, var(--od-success) 8%, var(--od-surface));
}

.disclosure-icon {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 160ms ease;
}

.plant-detail-disclosure[open] .disclosure-icon {
    transform: rotate(225deg) translate(-2px, -2px);
}

.plant-detail-disclosure-body {
    padding: 0 16px 16px;
    border-top: 1px solid var(--od-border-soft);
}

.plant-detail-disclosure-body p {
    margin: 14px 0 0;
    line-height: 1.65;
}

.plant-synonyms-panel .synonyms-list {
    margin-top: 4px;
}

.plant-synonyms-panel .synonyms-list li {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.plant-synonyms-panel .synonyms-load-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.plant-synonyms-panel .synonyms-load-more[hidden] {
    display: none;
}

.related-plants-section,
.plant-nav,
.plant-scoped-nav {
    max-width: 1180px;
    margin-inline: auto;
}

.related-plants-section {
    padding: 0;
    border-top: 0;
}

.related-plants-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.related-plant-card {
    min-height: 260px;
    display: grid;
    align-content: space-between;
    gap: 18px;
    padding: 20px;
}

.related-plant-image {
    min-height: 150px;
}

.plant-nav,
.plant-scoped-nav {
    display: grid;
    gap: 16px;
}

.plant-nav-link,
.plant-scope-row {
    padding: 16px;
}

.refresh-card-grid,
.collections-grid {
    gap: 20px;
}

.collection-card.refresh-image-card {
    min-height: 420px;
    display: grid;
    grid-template-rows: 190px 1fr;
    overflow: hidden;
}

.refresh-image-card-body {
    display: grid;
    align-content: space-between;
    gap: 16px;
}

.refresh-panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.refresh-panel-actions a,
.pdf-download-link,
.map-page > p a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-pill);
    background: var(--od-surface);
    color: var(--od-fg);
    font-weight: 700;
    text-decoration: none;
}

.refresh-panel-actions a:hover,
.pdf-download-link:hover,
.map-page > p a:hover {
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
    opacity: 1;
}

.pdf-container {
    border-radius: var(--od-radius-lg);
    border: 1px solid var(--od-border);
    background: color-mix(in srgb, var(--od-surface) 94%, transparent);
    box-shadow: var(--od-raised);
}

.pdf-toolbar {
    min-height: 62px;
    padding: 10px 12px;
    background: color-mix(in srgb, var(--od-surface) 88%, transparent);
    border-bottom: 1px solid var(--od-border);
    backdrop-filter: blur(18px);
}

.pdf-toolbar button {
    min-height: 40px;
    padding: 0 16px;
    border-radius: var(--od-pill);
    border: 1px solid var(--od-border);
    background: var(--od-surface);
    color: var(--od-fg);
    font-weight: 800;
}

.pdf-toolbar button:hover {
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
}

.pdf-canvas-wrap {
    padding: 24px;
}

.pdf-canvas-page {
    border-radius: 16px;
    box-shadow: var(--od-raised);
}

.station-index,
.location-index {
    padding: 24px;
}

.station-index ol {
    display: grid;
    gap: 12px;
    padding-left: 0;
    list-style: none;
}

.station-index li {
    display: block;
    margin: 0;
    padding: 16px 18px;
    border: 1px solid var(--od-border-soft);
    border-left: 5px solid var(--station-color, var(--od-success));
    border-radius: var(--od-radius-md);
    background: color-mix(in srgb, var(--od-surface) 90%, transparent);
}

.location-filter input {
    max-width: 520px;
}

.location-group {
    margin-top: 12px;
    border: 1px solid var(--od-border-soft);
    border-radius: var(--od-radius-md);
    background: var(--od-surface);
}

.location-group ul {
    column-count: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 8px 16px;
}

.open-filter-band {
    display: block;
    margin-top: 0;
}

.open-map-board,
.open-collection-workflow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.82fr);
    gap: clamp(20px, 4vw, 32px);
    align-items: stretch;
}

.open-map-preview {
    min-height: 460px;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    box-shadow: var(--od-raised);
}

.open-map-list {
    display: grid;
    gap: 12px;
    align-content: start;
}

.open-map-list .row-card {
    min-height: 118px;
}

.open-collection-workflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.open-collection-workflow .panel {
    min-height: 260px;
    display: grid;
    align-content: space-between;
    gap: 24px;
}

.open-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-radius-lg);
    background: color-mix(in srgb, var(--od-surface) 86%, transparent);
    box-shadow: var(--od-ring);
}

.open-toolbar .search {
    flex: 1 1 260px;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-pill);
    background: var(--od-surface);
    color: var(--od-fg);
}

.open-toolbar .select {
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-pill);
    background: var(--od-surface);
    color: var(--od-fg);
    font-weight: 700;
}

.open-toolbar .chip[aria-pressed="true"] {
    background: var(--od-success);
    border-color: var(--od-success);
    color: #fff;
}

.refresh-alpha-list li[hidden],
.refresh-letter-section[hidden],
.az-letter-card[hidden],
.collection-card[hidden] {
    display: none !important;
}

.plant-header.plant-profile-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.05fr);
    gap: clamp(24px, 5vw, 48px);
    align-items: start;
}

.plant-hero-intro {
    grid-column: 1;
}

.plant-profile-hero .plant-hero-media {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.plant-profile-hero .plant-hero-facts {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 0;
}

.plant-profile-hero .plant-hero-fact-wide {
    grid-column: 1 / -1;
}

.plant-hero-lead {
    max-width: 58ch;
    margin-top: 20px;
    color: var(--od-fg-2);
    font-size: clamp(16px, 1.35vw, 18px);
}

.plant-profile-hero .plant-hero-media,
.plant-profile-hero .plant-hero-fact {
    background: color-mix(in srgb, var(--od-surface) 94%, transparent);
    border: 1px solid var(--od-border);
    box-shadow: var(--od-raised);
}

.plant-profile-hero .plant-hero-image,
.plant-profile-hero .plant-hero-image img,
.plant-profile-hero .plant-hero-image .placeholder-image {
    min-height: clamp(340px, 44vw, 520px);
}

.plant-content {
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.72fr);
}

.plant-main {
    order: 1;
}

.plant-sidebar {
    order: 2;
}

.plant-profile-table {
    box-shadow: none;
}

.plant-profile-table th,
.plant-profile-table td {
    padding: 16px 0;
    border-bottom: 1px solid var(--od-border-soft);
}

.plant-profile-table tr:last-child th,
.plant-profile-table tr:last-child td {
    border-bottom: 0;
}

.toxicity-list {
    display: grid;
    gap: 12px;
}

.toxicity-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px;
    border: 1px solid var(--od-border-soft);
    border-radius: var(--od-radius-md);
    background: color-mix(in srgb, var(--od-surface-warm) 42%, var(--od-surface));
}

.toxicity-row strong {
    color: var(--od-fg);
}

.toxicity-pets-label {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.3em;
    align-items: baseline;
}

.toxicity-pets-label > span {
    min-width: 0;
}

.toxicity-source-note {
    margin-top: 14px;
}

.plant-source-panel {
    position: sticky;
    top: 96px;
}

.plant-source-links {
    display: grid;
    gap: 10px;
}

.plant-source-links .external-link-item {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 0 16px;
    border: 1px solid var(--od-border);
    border-radius: var(--od-pill);
    background: var(--od-surface);
    color: var(--od-fg);
    font-weight: 700;
    text-decoration: none;
    transition: transform var(--od-fast) var(--od-ease), border-color var(--od-fast) var(--od-ease);
}

.plant-source-links .external-link-item:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
}

@media (max-width: 1020px) {
    .home-specimen-card,
    .refresh-page-hero .refresh-side-panel,
    .open-featured-panel {
        transform: none;
    }

    .plant-header,
    .plant-content,
    .open-map-board,
    .open-collection-workflow {
        grid-template-columns: 1fr;
    }

    .plant-header .refresh-eyebrow,
    .plant-hero-intro,
    .plant-profile-hero .plant-hero-media,
    .plant-title-row,
    .plant-header .common-name,
    .plant-hero-facts,
    .plant-profile-hero .plant-hero-facts {
        grid-column: auto;
        grid-row: auto;
    }

    .plant-main {
        order: 1;
    }

    .plant-sidebar {
        order: 2;
    }

    .plant-source-panel {
        position: static;
    }
}

@media (max-width: 1120px) {
    .nav-links.main-nav-primary {
        display: none;
    }

    .header-controls.nav-actions {
        margin-left: auto;
    }

    .mobile-nav-toggle {
        display: inline-flex;
        margin-left: 0;
    }
}

@media (max-width: 920px) {
    .search-box {
        display: none;
    }
}

@media (max-width: 720px) {
    .main-content {
        gap: 40px;
        padding-top: 28px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .home-hero h1,
    .refresh-page-hero h1,
    .plant-header h1,
    .plant-title-row h1,
    .error-page h1 {
        font-size: clamp(42px, 13vw, 54px);
    }

    .row-card,
    .refresh-row-card,
    .open-plant-row {
        grid-template-columns: 1fr;
    }

    .control-btn {
        width: 42px;
    }

    .plant-hero-facts,
    .related-plants-grid {
        grid-template-columns: 1fr;
    }

    .plant-image img,
    .plant-image .placeholder-image {
        min-height: 300px;
    }

    .plant-section,
    .station-index,
    .location-index {
        padding: 16px;
    }

    .collection-card.refresh-image-card {
        min-height: 0;
        grid-template-rows: 170px 1fr;
    }

    .nav-inner {
        min-height: 68px;
        gap: 8px;
        width: min(1180px, calc(100% - 24px));
    }

    .site-logo {
        flex: 1 1 auto;
        order: 1;
    }

    .site-logo h1 {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .header-controls.nav-actions {
        margin-left: auto;
        gap: 6px;
        order: 2;
    }

    .mobile-nav-toggle {
        order: 3;
        margin-left: 0;
    }

    .control-btn.chip,
    .mobile-nav-toggle.chip {
        width: 40px;
        min-width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .nav-links.main-nav-primary,
    .search-box,
    .nav-actions .nav-browse-cta {
        display: none;
    }

    .mobile-nav {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    }

    .logo h1 {
        font-size: 15px;
    }
}

/* Botanical editorial refresh: loaded last to strengthen the visual system without template churn. */
:root {
    --od-bg: #f2efe6;
    --od-surface: #fffdf5;
    --od-surface-warm: #e6efdc;
    --od-fg: #182416;
    --od-fg-2: #3a5138;
    --od-muted: #6d7865;
    --od-meta: #7b4d23;
    --od-border: #d7d0b9;
    --od-border-soft: #e9e2cd;
    --od-accent: #2e6b3f;
    --od-success: #3f7a3e;
    --od-warn: #d88922;
    --od-clay: #b96534;
    --od-moss: #213e26;
    --od-canopy: #d8e5c7;
    --od-feature-surface: #213e26;
    --od-feature-border: #314f32;
    --od-feature-fg: #fbf7e8;
    --od-feature-muted: #d7dfc3;
    --od-feature-meta: #f1bd6a;
    --od-radius-md: 14px;
    --od-radius-lg: 30px;
    --od-raised: 0 28px 70px rgba(48, 42, 25, 0.16);
    --od-soft-shadow: 0 14px 38px rgba(48, 42, 25, 0.09);
    --font-sans: "Aptos", "Segoe UI", Candara, sans-serif;
    --font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}

html[data-theme="dark"] {
    --od-bg: #11170f;
    --od-surface: #182015;
    --od-surface-warm: #222b1b;
    --od-fg: #fbf7e8;
    --od-fg-2: #d8e5c7;
    --od-muted: #aeb9a5;
    --od-meta: #f1bd6a;
    --od-border: #3c4731;
    --od-border-soft: #2d3727;
    --od-canopy: #20341f;
    --od-feature-surface: #243a22;
    --od-feature-border: #4b633d;
    --od-feature-fg: #fff8de;
    --od-feature-muted: #d8e5c7;
    --od-soft-shadow: 0 18px 50px rgba(0, 0, 0, 0.32);
}

body {
    background:
        radial-gradient(900px 500px at 8% -8%, color-mix(in srgb, var(--od-warn) 22%, transparent), transparent 62%),
        radial-gradient(760px 460px at 92% 3%, color-mix(in srgb, var(--od-success) 20%, transparent), transparent 60%),
        linear-gradient(120deg, rgba(63, 122, 62, 0.035) 25%, transparent 25%, transparent 50%, rgba(63, 122, 62, 0.035) 50%, rgba(63, 122, 62, 0.035) 75%, transparent 75%),
        linear-gradient(180deg, var(--od-bg), color-mix(in srgb, var(--od-surface) 76%, var(--od-canopy)));
    background-size: auto, auto, 34px 34px, auto;
    font-family: var(--font-sans);
}

.site-header,
.topnav {
    background: color-mix(in srgb, var(--od-surface) 82%, transparent);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.44) inset, 0 16px 42px rgba(48, 42, 25, 0.06);
}

.logo h1,
.home-hero h1,
.refresh-page-hero h1,
.plant-header h1,
.plant-title-row h1,
.plant-section h2,
.refresh-section-head h2,
.open-featured-panel h2 {
    font-family: var(--font-serif);
}

.site-logo-mark,
.mark {
    background:
        radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--od-warn) 34%, transparent), transparent 36%),
        linear-gradient(145deg, color-mix(in srgb, var(--od-success) 28%, var(--od-surface)), var(--od-surface));
    color: var(--od-moss);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45), 0 10px 22px rgba(48, 42, 25, 0.12);
}

.nav-links a,
.open-mobile-nav a {
    position: relative;
}

.nav-links a::after,
.open-mobile-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    background: var(--od-clay);
    transition: transform 180ms ease;
}

.nav-links a:hover::after,
.nav-links a[aria-current="page"]::after,
.open-mobile-nav a:hover::after {
    transform: scaleX(1);
}

.search-box input,
.hero-search input,
.refresh-search input {
    border: 0;
    background: transparent;
}

.search-box,
.refresh-search,
.hero-search {
    background: color-mix(in srgb, var(--od-surface) 88%, transparent);
    border: 1px solid var(--od-border);
    box-shadow: var(--od-soft-shadow);
}

.search-box::before,
.refresh-search::before,
.hero-search::before {
    content: none;
}

.search-box {
    display: flex;
    align-items: center;
    overflow: visible;
}

.search-box input {
    min-width: 0;
}

.search-results {
    top: calc(100% + 10px);
    border: 1px solid var(--od-border);
    border-radius: 20px;
    box-shadow: var(--od-raised);
}

.refresh-home .home-hero,
.plant-header.plant-profile-hero,
.refresh-page-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(26px, 5vw, 58px);
    border: 1px solid var(--od-border);
    border-radius: clamp(28px, 5vw, 52px);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--od-surface) 92%, transparent), color-mix(in srgb, var(--od-canopy) 72%, var(--od-surface))),
        var(--od-surface);
    box-shadow: var(--od-raised);
    overflow: hidden;
}

.refresh-home .home-hero::before,
.plant-header.plant-profile-hero::before,
.refresh-page-hero::before {
    content: "";
    position: absolute;
    inset: auto -8% -34% auto;
    width: min(520px, 58vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        repeating-radial-gradient(circle, color-mix(in srgb, var(--od-success) 13%, transparent) 0 3px, transparent 3px 18px),
        radial-gradient(circle, color-mix(in srgb, var(--od-warn) 18%, transparent), transparent 64%);
    z-index: -1;
}

.home-hero h1,
.refresh-page-hero h1,
.plant-header h1,
.plant-title-row h1 {
    max-width: 11ch;
    color: var(--od-moss);
    font-size: clamp(46px, 8vw, 94px);
    line-height: 0.96;
    letter-spacing: -0.045em;
}

[data-lang="hu"] .home-hero h1,
[data-lang="hu"] .refresh-page-hero h1,
[data-lang="hu"] .plant-header h1,
[data-lang="hu"] .plant-title-row h1 {
    max-width: 15ch;
    font-size: clamp(44px, 6.8vw, 80px);
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

html[data-theme="dark"] .home-hero h1,
html[data-theme="dark"] .refresh-page-hero h1,
html[data-theme="dark"] .plant-header h1,
html[data-theme="dark"] .plant-title-row h1 {
    color: var(--od-fg);
}

.refresh-lead,
.plant-hero-lead,
.refresh-page-hero p {
    max-width: 66ch;
    color: var(--od-fg-2);
    font-size: clamp(17px, 1.7vw, 21px);
}

.refresh-home .refresh-search {
    display: flex;
    align-items: center;
    max-width: 660px;
    background: var(--od-moss);
    border-color: color-mix(in srgb, var(--od-warn) 42%, var(--od-moss));
}

.refresh-home .home-hero {
    overflow: visible;
    z-index: 2;
}

.refresh-home .home-hero-copy,
.refresh-home .hero-search {
    position: relative;
    z-index: 3;
}

.refresh-home .hero-search-results {
    z-index: 50;
    max-height: min(30rem, 62vh);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.refresh-home .refresh-section-head {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(280px, 1.15fr);
    gap: clamp(20px, 4vw, 48px);
    align-items: end;
    margin-bottom: 22px;
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid var(--od-border);
    border-radius: 28px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--od-surface) 97%, transparent), color-mix(in srgb, var(--od-canopy) 42%, var(--od-surface)));
    box-shadow: var(--od-soft-shadow);
}

.refresh-home .refresh-section-head h2,
.refresh-home .refresh-section-head p {
    min-width: 0;
    margin: 0;
}

.refresh-home .refresh-section-head h2 {
    max-width: 18ch;
    color: var(--od-moss);
    font-size: clamp(34px, 4.6vw, 56px);
    line-height: 1;
    letter-spacing: -0.035em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: balance;
}

.refresh-home .refresh-section-head p {
    max-width: 58ch;
    color: var(--od-fg-2);
    font-size: clamp(16px, 1.6vw, 19px);
    line-height: 1.6;
}

html[data-theme="dark"] .refresh-home .refresh-section-head h2 {
    color: var(--od-feature-fg);
}

.home-specimen-card,
.plant-profile-hero .plant-hero-media,
.plant-profile-hero .plant-hero-fact,
.plant-section,
.refresh-home .refresh-browse-card,
.open-featured-panel,
.open-plant-row,
.mini-stat,
.collection-card,
.plant-list-item,
.refresh-row-card {
    box-shadow: var(--od-soft-shadow);
}

.home-specimen-card,
.plant-profile-hero .plant-hero-media {
    border-radius: 36px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.4), transparent),
        color-mix(in srgb, var(--od-surface) 92%, var(--od-canopy));
}

.home-specimen-card {
    transform: none;
}

.home-specimen-meta .refresh-btn {
    width: auto;
    min-width: 96px;
    max-width: 100%;
    padding-inline: 18px;
    justify-content: center;
    color: #111;
    text-align: center;
    white-space: nowrap;
}

.home-specimen-meta .refresh-btn span {
    color: inherit;
    text-align: center;
}

.plant-profile-hero .plant-hero-media {
    transform: none;
}

.home-specimen-art img,
.plant-hero-image img {
    filter: saturate(1.08) contrast(1.02);
}

.home-specimen-media-link,
.home-specimen-name-link {
    color: inherit;
    text-decoration: none;
}

.home-specimen-media-link {
    display: block;
    border-radius: inherit;
}

.home-specimen-media-link:hover,
.home-specimen-name-link:hover {
    text-decoration: none;
}

.home-specimen-media-link:hover .home-specimen-art img,
.home-specimen-media-link:focus-visible .home-specimen-art img {
    transform: scale(1.025);
}

.home-specimen-media-link:focus-visible,
.home-specimen-name-link:focus-visible {
    outline: 0;
    box-shadow: var(--od-focus);
}

.home-specimen-meta,
.plant-hero-facts,
.plant-section {
    backdrop-filter: blur(10px);
}

.refresh-home .refresh-browse-grid {
    align-items: stretch;
}

.refresh-home .refresh-browse-card {
    position: relative;
    min-height: 214px;
    overflow: hidden;
    background:
        radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--od-warn) 22%, transparent), transparent 88px),
        linear-gradient(150deg, var(--od-feature-surface), color-mix(in srgb, var(--od-feature-surface) 84%, #000));
}

.refresh-home .refresh-browse-card::after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -74px;
    bottom: -76px;
    border-radius: 50% 0 50% 50%;
    transform: rotate(-18deg);
    background: color-mix(in srgb, var(--od-feature-meta) 15%, transparent);
}

.refresh-home .refresh-browse-card:hover {
    transform: translateY(-7px) rotate(-0.5deg);
}

.open-plant-row {
    border-radius: 18px;
}

.open-row-dot {
    background:
        radial-gradient(circle at 38% 34%, var(--od-warn), transparent 36%),
        var(--od-success);
}

.collection-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mini-stat {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: color-mix(in srgb, var(--od-surface) 90%, transparent);
    display: flex;
    min-height: 138px;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 22px 22px 28px;
    border-top: 0;
}

.mini-stat::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, var(--od-success), var(--od-warn));
    z-index: 0;
}

.mini-stat > * {
    position: relative;
    z-index: 1;
}

.mini-stat strong {
    display: block;
    font-family: var(--font-serif);
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
    letter-spacing: -0.02em;
    line-height: 0.92;
    color: var(--od-moss);
}

html[data-theme="dark"] .mini-stat strong {
    color: var(--od-feature-fg);
}

.plant-section {
    border-radius: 26px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--od-surface) 96%, transparent), color-mix(in srgb, var(--od-surface) 86%, var(--od-canopy)));
}

.plant-section h2 {
    color: var(--od-moss);
    font-size: clamp(26px, 3vw, 38px);
}

html[data-theme="dark"] .plant-section h2 {
    color: var(--od-feature-fg);
}

.plant-profile-hero .plant-hero-facts {
    gap: 12px;
}

.plant-profile-hero .plant-hero-fact {
    border-radius: 20px;
    background: color-mix(in srgb, var(--od-surface) 82%, transparent);
}

.external-link-item,
.adopt-btn,
.refresh-btn,
.control-btn,
.chip {
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.05);
}

.adopt-btn {
    background: linear-gradient(135deg, var(--od-clay), var(--od-warn));
    border-color: color-mix(in srgb, var(--od-clay) 70%, var(--od-border));
}

@media (prefers-reduced-motion: no-preference) {
    .refresh-home .home-hero,
    .refresh-section,
    .plant-header.plant-profile-hero,
    .plant-section {
        animation: od-rise 520ms cubic-bezier(0.2, 0, 0, 1) both;
    }

    .refresh-section:nth-of-type(2),
    .plant-section:nth-of-type(2) {
        animation-delay: 80ms;
    }

    .refresh-section:nth-of-type(3),
    .plant-section:nth-of-type(3) {
        animation-delay: 140ms;
    }
}

@keyframes od-rise {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 980px) {
    .refresh-home .home-hero,
    .plant-header.plant-profile-hero {
        grid-template-columns: 1fr;
    }

    .home-specimen-card,
    .plant-profile-hero .plant-hero-media {
        transform: none;
    }

    .collection-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .refresh-home .home-hero,
    .plant-header.plant-profile-hero,
    .refresh-page-hero {
        padding: 22px;
        border-radius: 30px;
    }

    .home-hero h1,
    .refresh-page-hero h1,
    .plant-header h1,
    .plant-title-row h1 {
        max-width: none;
        font-size: clamp(38px, 14vw, 58px);
    }

    [data-lang="hu"] .home-hero h1,
    [data-lang="hu"] .refresh-page-hero h1,
    [data-lang="hu"] .plant-header h1,
    [data-lang="hu"] .plant-title-row h1 {
        max-width: none;
        font-size: clamp(34px, 10.5vw, 48px);
    }

    .collection-strip {
        grid-template-columns: 1fr;
    }

    .search-box::before {
        display: none;
    }
}

/* Match the open_design white-card homepage treatment for primary discovery blocks. */
.refresh-home .refresh-search {
    background: var(--od-surface);
    border-color: var(--od-border);
    box-shadow: var(--od-soft-shadow);
}

.refresh-home .refresh-search::before {
    color: var(--od-meta);
}

.refresh-home .refresh-search input {
    color: var(--od-fg);
}

.refresh-home .refresh-search input::placeholder {
    color: var(--od-muted);
}

.refresh-home .refresh-browse-card,
.refresh-home .open-featured-panel {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--od-surface) 98%, transparent), color-mix(in srgb, var(--od-surface) 90%, var(--od-canopy)));
    border-color: var(--od-border);
    color: var(--od-fg);
}

.refresh-home .refresh-browse-card h3,
.refresh-home .open-featured-panel h2 {
    color: var(--od-moss);
}

.refresh-home .refresh-browse-card p,
.refresh-home .open-featured-panel .refresh-lead {
    color: var(--od-fg-2);
}

.refresh-home .refresh-browse-card .refresh-card-kicker,
.refresh-home .open-featured-panel .refresh-eyebrow {
    color: var(--od-meta);
}

.refresh-home .refresh-browse-card::after {
    background: color-mix(in srgb, var(--od-success) 12%, transparent);
}

.refresh-home .refresh-browse-card:hover {
    border-color: color-mix(in srgb, var(--od-success) 42%, var(--od-border));
}

html[data-theme="dark"] .refresh-home .refresh-browse-card h3,
html[data-theme="dark"] .refresh-home .open-featured-panel h2 {
    color: var(--od-feature-fg);
}

.refresh-home .refresh-browse-card .refresh-card-kicker {
    display: none;
}

.refresh-home .refresh-browse-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: clamp(26px, 3.6vw, 40px);
}

.refresh-home .refresh-browse-card h3 {
    margin-top: 0;
    margin-bottom: 0.75rem;
    color: var(--od-success);
    font-family: var(--font-serif);
    font-size: clamp(2rem, 3.2vw, 2.85rem);
    line-height: 0.98;
    letter-spacing: -0.035em;
}

html[data-theme="dark"] .refresh-home .refresh-browse-card h3 {
    color: #9fdfa1;
}

.refresh-home .open-featured-panel .refresh-eyebrow {
    display: none;
}

.refresh-home .open-featured-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: clamp(28px, 3.8vw, 44px);
}

.refresh-home .open-featured-panel h2 {
    margin-top: 0;
    margin-bottom: 0.85rem;
    color: var(--od-success);
    font-family: var(--font-serif);
    font-size: clamp(2.2rem, 3.6vw, 3.15rem);
    line-height: 0.98;
    letter-spacing: -0.035em;
}

html[data-theme="dark"] .refresh-home .open-featured-panel h2 {
    color: #9fdfa1;
}

.plant-profile-hero .plant-hero-fact > span {
    color: var(--od-success);
    font-family: var(--font-sans);
    font-size: 1.15rem;
    font-weight: 850;
    letter-spacing: 0.01em;
    text-transform: none;
}

.plant-profile-hero .plant-hero-fact > span span {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

.plant-profile-hero .plant-hero-fact strong,
.plant-profile-hero .plant-hero-fact strong a {
    color: var(--od-fg);
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.plant-profile-hero .plant-genus-value,
.plant-profile-hero .plant-genus-value a {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    overflow-wrap: normal;
    word-break: normal;
    white-space: nowrap;
}

.plant-profile-hero .plant-genus-value.is-long,
.plant-profile-hero .plant-genus-value.is-long a {
    font-size: clamp(1rem, 1.7vw, 1.25rem);
}

.plant-profile-hero .plant-genus-value.is-very-long,
.plant-profile-hero .plant-genus-value.is-very-long a {
    font-size: clamp(0.8rem, 1.35vw, 1rem);
}

.plant-profile-hero .plant-genus-value.is-extremely-long,
.plant-profile-hero .plant-genus-value.is-extremely-long a {
    font-size: clamp(0.64rem, 1.05vw, 0.78rem);
}

.plant-profile-hero .plant-common-name-value,
.plant-profile-hero .plant-common-name-value span {
    font-size: clamp(1.75rem, 3.4vw, 2.5rem);
    line-height: 1.04;
    letter-spacing: -0.035em;
    text-transform: none;
}

.plant-profile-hero .plant-common-name-value.is-long,
.plant-profile-hero .plant-common-name-value.is-long span {
    font-size: clamp(1.55rem, 2.8vw, 2.1rem);
}

.plant-profile-hero .plant-common-name-value.is-very-long,
.plant-profile-hero .plant-common-name-value.is-very-long span {
    font-size: clamp(1.3rem, 2.3vw, 1.75rem);
    line-height: 1.12;
}

.plant-profile-hero .plant-hero-fact-wide strong,
.plant-profile-hero .plant-hero-fact-wide strong span {
    color: #111;
}

html[data-theme="dark"] .plant-profile-hero .plant-hero-fact > span {
    color: #9fdfa1;
}

html[data-theme="dark"] .plant-profile-hero .plant-hero-fact strong,
html[data-theme="dark"] .plant-profile-hero .plant-hero-fact strong a {
    color: var(--od-feature-fg);
}

html[data-theme="dark"] .plant-profile-hero .plant-hero-fact-wide strong,
html[data-theme="dark"] .plant-profile-hero .plant-hero-fact-wide strong span {
    color: #111;
}

/* Remove decorative brown kicker labels from cards and page headers. */
.refresh-eyebrow,
.refresh-card-kicker,
.panel-kicker,
.panel-label {
    display: none !important;
}

.plant-header .refresh-eyebrow {
    display: none !important;
}

.plant-identity-panel h2::before,
.plant-source-panel h2::before,
.plant-toxicity-panel h2::before,
.station-index > h3::before,
.location-index > h3::before {
    content: none !important;
    display: none !important;
}

.plant-identity-panel .plant-profile-table {
    width: 100%;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    margin: 0;
    overflow: visible;
}

.plant-identity-panel .plant-profile-table th,
.plant-identity-panel .plant-profile-table td {
    background: transparent !important;
    border-bottom: 1px solid var(--od-border-soft);
    padding-top: 18px;
    padding-bottom: 18px;
    vertical-align: top;
}

.plant-identity-panel .plant-profile-table th {
    width: 34%;
    padding-left: clamp(14px, 2.2vw, 26px);
    padding-right: 18px;
    color: var(--od-success);
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: 0.01em;
    text-transform: none;
}

.plant-identity-panel .plant-profile-table th span {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

.plant-identity-panel .plant-profile-table td {
    padding-left: 12px;
    padding-right: clamp(14px, 2vw, 22px);
    color: var(--od-fg);
    font-size: 1.04rem;
    font-weight: 650;
}

.plant-identity-panel .plant-profile-table td a {
    color: var(--od-fg);
    text-decoration-color: color-mix(in srgb, var(--od-success) 42%, transparent);
    text-underline-offset: 3px;
}

.plant-identity-panel .plant-profile-table tr:last-child th,
.plant-identity-panel .plant-profile-table tr:last-child td {
    border-bottom: 0;
}

html[data-theme="dark"] .plant-identity-panel .plant-profile-table th {
    color: #9fdfa1;
}

html[data-theme="dark"] .plant-identity-panel .plant-profile-table td,
html[data-theme="dark"] .plant-identity-panel .plant-profile-table td a {
    color: var(--od-feature-fg);
}

@media (max-width: 720px) {
    .plant-identity-panel .plant-profile-table th,
    .plant-identity-panel .plant-profile-table td {
        display: block;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .plant-identity-panel .plant-profile-table th {
        padding-bottom: 6px;
        border-bottom: 0;
    }

    .plant-identity-panel .plant-profile-table td {
        padding-top: 0;
    }
}

.plant-profile-hero .scientific-name {
    width: 100%;
    max-width: 100%;
    font-size: clamp(2.4rem, 5.2vw, 4.7rem);
    line-height: 1.02;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.scientific-name,
.plant-card-info h3,
.related-plant-info .scientific,
.recently-viewed-item .scientific,
.search-results .scientific,
.letter-section .scientific {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

@media (max-width: 720px) {
    .plant-profile-hero .scientific-name {
        font-size: clamp(2.15rem, 10vw, 3.35rem);
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }

    .plant-profile-hero .plant-hero-fact > span {
        font-size: 1.05rem;
    }

    .plant-profile-hero .plant-hero-fact strong,
    .plant-profile-hero .plant-hero-fact strong a {
        font-size: clamp(1.3rem, 6vw, 1.6rem);
    }

    .plant-profile-hero .plant-common-name-value,
    .plant-profile-hero .plant-common-name-value span {
        font-size: clamp(1.65rem, 8.4vw, 2.2rem);
    }

    .plant-profile-hero .plant-common-name-value.is-long,
    .plant-profile-hero .plant-common-name-value.is-long span {
        font-size: clamp(1.45rem, 7.2vw, 1.9rem);
    }

    .plant-profile-hero .plant-common-name-value.is-very-long,
    .plant-profile-hero .plant-common-name-value.is-very-long span {
        font-size: clamp(1.2rem, 5.8vw, 1.55rem);
    }

    .plant-profile-hero .plant-genus-value,
    .plant-profile-hero .plant-genus-value a {
        display: block;
        max-width: 100%;
        font-size: clamp(1.05rem, 5.4vw, 1.55rem);
        white-space: nowrap;
    }

    .plant-profile-hero .plant-genus-value.is-long,
    .plant-profile-hero .plant-genus-value.is-long a {
        font-size: clamp(0.95rem, 4.5vw, 1.2rem);
    }

    .plant-profile-hero .plant-genus-value.is-very-long,
    .plant-profile-hero .plant-genus-value.is-very-long a {
        font-size: clamp(0.76rem, 3.7vw, 0.95rem);
    }

    .plant-profile-hero .plant-genus-value.is-extremely-long,
    .plant-profile-hero .plant-genus-value.is-extremely-long a {
        font-size: clamp(0.62rem, 3vw, 0.72rem);
    }
}

/* Keep the primary navigation visible on desktop while preserving mobile space. */
.search-box {
    border-radius: var(--od-pill);
}

.search-box input {
    border-radius: var(--od-pill);
}

@media (min-width: 921px) {
    .nav-inner {
        display: grid;
        grid-template-columns: max-content max-content minmax(190px, 1fr) max-content;
    }

    .site-logo {
        grid-column: 1;
    }

    .nav-links.main-nav-primary {
        display: flex !important;
        grid-column: 2;
    }

    .main-nav-primary ul {
        display: flex !important;
        gap: clamp(12px, 1.15vw, 18px);
    }

    .main-nav-primary a {
        font-size: clamp(12.5px, 0.8vw, 14px);
        white-space: nowrap;
    }

    .search-box {
        display: flex !important;
        grid-column: 3;
        justify-self: end;
        width: 230px;
        flex: 0 1 230px;
        max-width: 250px;
        min-height: 44px;
        margin-left: 0;
    }

    .search-box input {
        min-height: 44px;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .mobile-nav-toggle {
        display: inline-flex !important;
        margin-left: 0;
    }

    .header-controls.nav-actions {
        grid-column: 4;
    }

    .header-content.mobile-open .main-nav-dropdown.nav-links {
        grid-column: 1 / -1;
        grid-row: 2;
        width: max-content;
        max-width: 100%;
        justify-self: end;
    }
}

@media (max-width: 920px) {
    .header-content.mobile-open {
        flex-wrap: wrap;
        padding-bottom: 10px;
    }

    .header-content.mobile-open .main-nav-dropdown.nav-links {
        display: block;
        order: 4;
        width: 100%;
        padding-top: 8px;
        border-top: 1px solid var(--od-border-soft);
    }

    .header-content.mobile-open .main-nav-dropdown ul {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .header-content.mobile-open .main-nav-dropdown a {
        display: flex;
        align-items: center;
        min-height: 46px;
        padding: 0 14px;
        border: 1px solid var(--od-border-soft);
        border-radius: 14px;
        background: var(--od-surface);
        color: var(--od-fg);
        white-space: normal;
    }

    .header-content.mobile-open .search-box {
        display: flex;
        order: 3;
        flex: 1 0 100%;
        max-width: none;
        margin: 4px 0 0;
    }
}

/* Phone-only usability pass. Desktop layout and sizing remain unchanged. */
@media (max-width: 720px) {
    .topnav {
        background: color-mix(in srgb, var(--od-bg) 94%, transparent);
    }

    .nav-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) max-content;
        min-height: 64px;
        align-content: center;
        column-gap: 8px;
        padding-block: 8px;
    }

    .site-logo {
        grid-column: 1;
        gap: 8px;
        min-width: 0;
    }

    .site-logo-mark,
    .mark {
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
        border-radius: 12px;
    }

    .site-logo h1 {
        min-width: 0;
        max-width: none;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: clamp(12px, 3.7vw, 15px);
        line-height: 1;
    }

    .header-controls.nav-actions {
        grid-column: 2;
        display: flex;
        gap: 6px;
        margin-left: 0;
    }

    .control-btn.chip,
    .mobile-nav-toggle.chip,
    .btn,
    .chip,
    .letter-link,
    .pdf-toolbar button,
    .pdf-toolbar-link,
    .location-filter button {
        min-width: 44px;
        min-height: 44px;
    }

    .control-btn.chip,
    .mobile-nav-toggle.chip {
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;
        flex-basis: 40px;
    }

    .header-content.mobile-open .main-nav-dropdown.nav-links {
        display: block;
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        padding-top: 8px;
        border-top: 1px solid var(--od-border-soft);
    }

    .header-content.mobile-open .main-nav-dropdown ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .header-content.mobile-open .main-nav-dropdown a {
        display: flex;
        align-items: center;
        min-height: 48px;
        padding: 0 14px;
        border: 1px solid var(--od-border-soft);
        border-radius: 14px;
        background: var(--od-surface);
        color: var(--od-fg);
        white-space: normal;
    }

    .header-content .search-box {
        display: flex;
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 4px 0 0;
        justify-self: stretch;
    }

    .header-content .search-box input {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        max-width: none;
        min-height: 48px;
        padding-inline: 16px;
        box-sizing: border-box;
    }

    .plant-page > .breadcrumb {
        margin-bottom: 0;
    }

    .plant-page > .plant-profile-hero {
        margin-top: -26px;
    }

    .main-content,
    .main-content:has(> .refresh-home) {
        gap: 32px;
        padding-top: 20px;
        padding-bottom: 48px;
    }

    .refresh-home .home-hero,
    .plant-header.plant-profile-hero,
    .refresh-page-hero {
        gap: 20px;
        padding: 18px;
        border-radius: 24px;
    }

    .home-hero h1,
    .refresh-page-hero h1,
    .plant-header h1,
    .plant-title-row h1 {
        font-size: clamp(34px, 11vw, 48px);
        line-height: 1;
        overflow-wrap: anywhere;
        text-wrap: pretty;
    }

    [data-lang="hu"] .home-hero h1,
    [data-lang="hu"] .refresh-page-hero h1,
    [data-lang="hu"] .plant-header h1,
    [data-lang="hu"] .plant-title-row h1 {
        font-size: clamp(31px, 9.4vw, 43px);
    }

    .refresh-lead,
    .plant-hero-lead,
    .refresh-page-hero p {
        font-size: 16px;
        line-height: 1.55;
    }

    .refresh-home .refresh-section-head {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 16px;
        padding: 18px;
        border-radius: 22px;
    }

    .refresh-home .refresh-section-head h2 {
        max-width: none;
        font-size: clamp(29px, 8.5vw, 38px);
        line-height: 1.04;
        text-wrap: pretty;
    }

    .refresh-home .refresh-browse-card {
        min-height: 158px;
        padding: 18px;
    }

    .refresh-home .refresh-browse-card h3 {
        margin-bottom: 0.5rem;
        font-size: clamp(1.75rem, 8vw, 2.2rem);
    }

    [data-lang="hu"] .refresh-home .refresh-section-head h2 {
        font-size: clamp(27px, 7.8vw, 36px);
    }

    .refresh-side-panel {
        padding: 18px;
        border-radius: 20px;
    }

    .refresh-side-panel h2 {
        font-size: clamp(25px, 8vw, 34px);
    }

    .open-filter-band {
        margin-inline: -16px;
        padding-inline: 16px;
        overflow-x: auto;
        scrollbar-width: thin;
        overscroll-behavior-inline: contain;
    }

    .open-filter-band .toolbar {
        width: max-content;
        min-width: 100%;
        flex-wrap: nowrap;
        padding-bottom: 4px;
    }

    .open-filter-band .toolbar input,
    .open-filter-band .toolbar select {
        width: min(78vw, 320px);
        min-height: 48px;
    }

    .az-index-page .open-filter-band {
        overflow-x: visible;
    }

    .az-index-page .open-filter-band .toolbar {
        width: 100%;
        min-width: 0;
    }

    .az-index-page .open-filter-band .toolbar input {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

    .az-index-page .open-filter-band .toolbar button {
        flex: 0 0 auto;
        padding-inline: 14px;
    }

    .letter-nav,
    .refresh-letter-nav {
        top: 72px;
        display: flex;
        flex-wrap: nowrap;
        gap: 6px;
        margin-inline: -16px;
        padding: 10px 16px;
        overflow-x: auto;
        border-radius: 0;
        scroll-padding-inline: 16px;
        scrollbar-width: thin;
    }

    .letter-link {
        flex: 0 0 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .refresh-row-card,
    .row-card,
    .open-plant-row {
        gap: 8px;
        min-height: 0;
        padding: 16px;
    }

    .refresh-row-arrow {
        display: none;
    }

    .collection-card.refresh-image-card {
        grid-template-rows: 148px auto;
        border-radius: 22px;
    }

    .refresh-image-card-body {
        gap: 10px;
        padding: 16px;
    }

    .refresh-image-card-body h2 {
        margin: 0;
        font-size: clamp(24px, 7.5vw, 32px);
        overflow-wrap: anywhere;
    }

    .refresh-image-card-body p {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .plant-hero-image,
    .plant-hero-image img,
    .plant-hero-image .placeholder-image {
        height: clamp(240px, 72vw, 280px);
        min-height: 0;
        max-height: none;
    }

    .plant-profile-hero .plant-hero-media {
        min-width: 0;
        min-height: 0;
        max-height: none;
        overflow: visible;
        border-radius: 22px;
    }

    .plant-hero-image {
        width: 100%;
        overflow: hidden;
    }

    .plant-hero-image img,
    .plant-hero-image .placeholder-image {
        display: block;
        width: 100%;
        max-width: 100%;
        object-fit: cover;
    }

    .toxicity-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .toxicity-row > div,
    .toxicity-row strong,
    .toxicity-row .status {
        min-width: 0;
        max-width: 100%;
    }

    .toxicity-row strong {
        overflow-wrap: anywhere;
    }

    .toxicity-pets-label {
        width: fit-content;
        max-width: 100%;
    }

    .toxicity-row .status {
        width: fit-content;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .plant-section {
        padding: 16px;
        border-radius: 20px;
    }

    .plant-section h2 {
        font-size: clamp(24px, 7.5vw, 32px);
        overflow-wrap: anywhere;
    }

    .country-badges,
    .station-category-legend {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .country-badge,
    .station-category-chip {
        flex: 0 0 auto;
    }

    .chart-row {
        grid-template-columns: 1fr !important;
        gap: 8px;
    }

    .stats-page .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .stats-page .stat-card {
        min-height: 112px;
        padding: 16px 10px;
        border-radius: 18px;
    }

    .stats-page .stat-number {
        font-size: clamp(1.65rem, 9vw, 2.35rem);
    }

    .stats-page .stat-label {
        font-size: 10px;
        line-height: 1.35;
    }

    .stats-page .stats-section {
        padding: 16px;
        border-radius: 20px;
    }

    .stats-page .stats-section > h2 {
        font-size: clamp(22px, 7vw, 29px);
        line-height: 1.08;
    }

    .stats-page .chart-row:not(.quality-queue-row) {
        grid-template-columns: minmax(0, 1fr) max-content !important;
        grid-template-areas:
            "label value"
            "bar bar";
        gap: 8px 12px;
        padding: 14px;
    }

    .stats-page .chart-row:not(.quality-queue-row) .chart-label {
        grid-area: label;
    }

    .stats-page .chart-row:not(.quality-queue-row) .chart-bar-track {
        grid-area: bar;
        height: 12px;
    }

    .stats-page .chart-row:not(.quality-queue-row) .chart-value {
        grid-area: value;
        align-self: center;
        text-align: right;
    }

    .quality-queue-row {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) max-content !important;
        grid-template-areas:
            "name count"
            "details details";
        gap: 8px 12px;
        padding: 14px;
    }

    .quality-queue-row .chart-label {
        grid-area: name;
        align-self: center;
        font-size: 16px;
    }

    .quality-queue-details {
        grid-area: details;
        padding-top: 8px;
        border-top: 1px solid var(--od-border-soft);
        line-height: 1.45;
    }

    .quality-missing-count {
        grid-area: count;
    }

    .quality-load-controls,
    .duplicate-load-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .quality-load-more,
    .duplicate-load-more {
        width: 100%;
        min-height: 48px;
    }

    .quality-visible-count,
    .duplicate-visible-count {
        text-align: center;
    }

    .duplicate-review-item {
        padding: 14px;
    }

    .duplicate-review-item summary {
        line-height: 1.45;
    }

    .duplicate-review-meta {
        display: block;
        margin: 2px 0 0;
    }

    .info-table:not(.plant-profile-table) {
        display: block;
        overflow-x: auto;
    }

    .site-footer {
        padding-inline: 16px;
        text-align: center;
    }
}
