:root {
    --geodome-background: #f4f1e9;
    --geodome-background-deep: #e8e2d5;
    --geodome-surface: #fffdf8;
    --geodome-leaf: #2f684e;
    --geodome-leaf-bright: #89a46b;
    --geodome-sage: #cad4be;
    --geodome-terracotta: #d66f3d;
    --geodome-terracotta-text: #9f3f1f;
    --geodome-terracotta-soft: #f0d2be;
    --geodome-gold: #e4b755;
    --geodome-text: #153a2f;
    --geodome-text-soft: #577067;
    --geodome-line: rgba(21, 58, 47, 0.16);
    --geodome-radius: 18px;
    --geodome-radius-large: 30px;
    --geodome-shadow: 0 24px 70px rgba(24, 48, 39, 0.14);
    --geodome-reading-width: 42rem;
    --geodome-page-title-size: clamp(2.75rem, 4vw, 4.5rem);
    --geodome-section-title-size: clamp(1.65rem, 3vw, 2rem);
    --geodome-section-gap: 1rem;
    --geodome-workspace-width: 84rem;
    --geodome-serif: Georgia, "Times New Roman", serif;
    --geodome-sans: "Segoe UI", Arial, sans-serif;
    --geodome-rail-width: 88px;
    --geodome-rail-expanded-width: 300px;
    --geodome-active-rail-width: var(--geodome-rail-width);
    --mud-palette-primary: #2f684e !important;
    --mud-palette-primary-rgb: 47, 104, 78 !important;
    --mud-palette-primary-text: #fffdf8 !important;
    --mud-palette-primary-darken: #153a2f !important;
    --mud-palette-primary-hover: rgba(47, 104, 78, 0.12) !important;
}

* { box-sizing: border-box; }
html { background: var(--geodome-background); color: var(--geodome-text); font-family: var(--geodome-sans); min-height: 100%; scroll-behavior: smooth; }
body {
    background:
        radial-gradient(circle at 10% 0%, rgba(255, 255, 255, 0.9), transparent 30rem),
        var(--geodome-background);
    color: var(--geodome-text);
    font-family: var(--geodome-sans);
    min-height: 100vh;
}
button, input, select, textarea { font: inherit; }
.geodome-shell { min-height: 100vh; }
.geodome-appbar {
    background: rgba(255, 253, 248, 0.94);
    border-bottom: 1px solid var(--geodome-line);
    color: var(--geodome-text);
    display: none;
    min-height: 64px;
    padding-inline: 0.75rem 1rem;
}
.geodome-wordmark {
    align-items: center;
    color: var(--geodome-text);
    display: inline-flex;
    font-family: var(--geodome-serif);
    font-size: 1.45rem;
    font-weight: 500;
    letter-spacing: -0.03em;
    margin-inline-start: 0.5rem;
    min-height: 44px;
    text-decoration: none;
}
.garden-welcome h1 { font-family: var(--geodome-serif); font-weight: 500; letter-spacing: -0.03em; }
.geodome-appbar-account {
    align-items: center;
    color: var(--geodome-leaf);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 700;
    min-height: 44px;
    padding-inline: 0.5rem;
    text-decoration: none;
}
.geodome-rail {
    background: var(--geodome-text) !important;
    border: 0 !important;
    color: var(--geodome-surface);
}
.geodome-rail .mud-drawer-content {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow-x: hidden;
    padding: 24px 14px;
}
.geodome-rail-header {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 0.4rem;
}
.geodome-rail-brand {
    align-items: center;
    color: var(--geodome-surface);
    display: flex;
    flex: 0 0 auto;
    gap: 14px;
    min-height: 54px;
    text-decoration: none;
    white-space: nowrap;
}
.geodome-rail-mark {
    align-items: center;
    background:
        linear-gradient(45deg, transparent 46%, rgba(255, 255, 255, 0.35) 47% 53%, transparent 54%),
        linear-gradient(-45deg, transparent 46%, rgba(255, 255, 255, 0.25) 47% 53%, transparent 54%);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 54px;
    font-family: var(--geodome-serif);
    font-size: 25px;
    height: 54px;
    justify-content: center;
    width: 54px;
}
.geodome-rail-name {
    font-family: var(--geodome-serif);
    font-size: 1.35rem;
    letter-spacing: -0.025em;
}
.geodome-rail-toggle {
    background: rgba(255, 255, 255, 0.09) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: var(--geodome-surface) !important;
    flex: 0 0 44px;
    height: 44px;
    min-height: 44px;
    min-width: 44px;
    width: 44px;
}
.geodome-drawer-heading {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.12em;
    padding: 2rem 0.85rem 0.5rem;
    text-transform: uppercase;
    transition: opacity 160ms ease;
    white-space: nowrap;
}
.geodome-navigation {
    display: grid;
    gap: 6px;
    margin-block: auto;
    padding: 1rem 0;
}
.geodome-navigation-region {
    display: flex;
    flex: 1 0 auto;
    min-height: 0;
    width: 100%;
}
.geodome-navigation-region .geodome-navigation { width: 100%; }
.geodome-navigation .mud-nav-item { width: 100%; }
.geodome-navigation .mud-nav-link {
    border-radius: 15px;
    color: rgba(255, 255, 255, 0.62);
    min-height: 52px;
    overflow: hidden;
    padding: 14px 15px;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
    white-space: nowrap;
}
.geodome-navigation .mud-nav-link .mud-icon-root {
    color: currentColor;
    flex: 0 0 24px;
    font-size: 23px;
    margin-inline-end: 18px;
}
.geodome-navigation .mud-nav-link.active,
.geodome-navigation .mud-nav-link:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--geodome-surface);
    transform: translateY(-2px);
}
.geodome-rail-recent {
    flex: 0 1 auto;
    max-height: 42vh;
    opacity: 1;
    overflow: auto;
    transition: max-height 180ms ease, opacity 140ms ease;
}
.geodome-rail-account {
    align-items: center;
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.82);
    display: flex;
    flex: 0 0 auto;
    gap: 18px;
    margin-top: 0.5rem;
    min-height: 44px;
    overflow: hidden;
    padding: 10px 15px;
    text-decoration: none;
    white-space: nowrap;
}
.geodome-rail-account:hover,
.geodome-rail-account:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    color: var(--geodome-surface);
}
.geodome-rail-account .mud-icon-root { flex: 0 0 24px; }
.geodome-rail.mud-drawer--closed .geodome-drawer-heading,
.geodome-rail.mud-drawer--closed .geodome-rail-name,
.geodome-rail.mud-drawer--closed .geodome-rail-account span {
    opacity: 0;
}

@media (min-width: 721px) {
    .geodome-shell:has(.geodome-rail:not(.mud-drawer--closed)) {
        --geodome-active-rail-width: var(--geodome-rail-expanded-width);
    }

    .geodome-rail.mud-drawer--closed .geodome-navigation .mud-nav-link-text {
        max-width: 0;
        opacity: 0;
        overflow: hidden;
    }
}
.geodome-rail.mud-drawer--closed .geodome-rail-recent {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
}
.geodome-main {
    min-height: 100vh;
    min-width: 0;
    padding: 24px 32px 116px;
}
.geodome-main > * { max-width: none; }
.geodome-main :is(h1, h2) {
    font-family: var(--geodome-serif);
    font-weight: 400;
    text-wrap: pretty;
}
.geodome-main h1 {
    color: var(--geodome-text);
    font-size: clamp(3.375rem, 6vw, 5.75rem);
    letter-spacing: -0.045em;
    line-height: 0.94;
}
.geodome-main h2 {
    color: var(--geodome-text);
    font-size: clamp(2.125rem, 4vw, 3.625rem);
    letter-spacing: -0.035em;
    line-height: 1;
}
.garden-welcome { max-width: var(--geodome-reading-width); padding-top: clamp(2rem, 9vh, 7rem); }
.garden-welcome__eyebrow { color: var(--geodome-terracotta-text); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.12em; margin: 0 0 1rem; text-transform: uppercase; }
.garden-welcome h1 { color: var(--geodome-leaf); font-size: clamp(3.5rem, 10vw, 7rem); line-height: 0.92; margin: 0; }
.garden-welcome__intro { color: var(--geodome-text-soft); font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.6; margin-top: 1.75rem; max-width: 34rem; }
#blazor-error-ui { align-items: center; background: var(--geodome-surface); border-top: 3px solid var(--geodome-terracotta); bottom: 0; box-shadow: var(--geodome-shadow); color: var(--geodome-text); display: none; gap: 1rem; left: 0; padding: 0.75rem max(1rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); position: fixed; right: 0; z-index: 1000; }
#blazor-error-ui .reload { align-items: center; color: var(--geodome-leaf); display: inline-flex; font-weight: 750; min-height: 44px; padding-block: 0.7rem; text-underline-offset: 0.2rem; }
#blazor-error-ui .dismiss { align-items: center; background: transparent; border: 0; color: var(--geodome-text); cursor: pointer; display: inline-flex; font-size: 1.5rem; height: 44px; justify-content: center; margin-inline-start: auto; min-height: 44px; min-width: 44px; position: static; }

/* Project-level MudBlazor chrome */
.mud-button-root {
    border-radius: 999px;
    font-weight: 650;
    letter-spacing: 0;
    min-height: 44px;
    text-transform: none;
    transition: box-shadow 180ms ease, transform 180ms ease;
}
.mud-icon-button { min-height: 44px; min-width: 44px; }
.mud-button-root:hover { box-shadow: 0 10px 25px rgba(21, 58, 47, 0.12); transform: translateY(-2px); }
.mud-button-filled.mud-button-filled-primary {
    background: var(--geodome-text) !important;
    color: var(--geodome-surface) !important;
}
.mud-button-outlined.mud-button-outlined-primary {
    background: rgba(255, 255, 255, 0.45);
    border-color: var(--geodome-line) !important;
    color: var(--geodome-text) !important;
}
.mud-button-text.mud-button-text-primary,
.mud-primary-text {
    color: var(--geodome-leaf) !important;
}
.mud-button-root:is(:link, :visited) { color: inherit; }
.mud-tabs { border-bottom: 1px solid var(--geodome-line); }
.mud-tabs .mud-tab {
    color: var(--geodome-text-soft);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    min-height: 48px;
    text-transform: uppercase;
}
.mud-tabs .mud-tab.mud-tab-active { color: var(--geodome-text); }
.mud-tabs .mud-tab-slider {
    background: var(--geodome-terracotta) !important;
    height: 2px;
}
.mud-dialog {
    background: var(--geodome-surface);
    border-radius: var(--geodome-radius) !important;
    box-shadow: var(--geodome-shadow);
}
.mud-dialog .mud-dialog-title {
    color: var(--geodome-text);
    font-family: var(--geodome-serif);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 400;
    letter-spacing: -0.025em;
}
.mud-dialog .mud-dialog-actions { border-top: 1px solid var(--geodome-line); }
:is(a, button, [role="button"], [role="tab"]):focus-visible {
    outline: 3px solid var(--geodome-terracotta);
    outline-offset: 3px;
}
.geodome-rail :is(a, button, [role="button"], [role="tab"]):focus-visible {
    outline-color: var(--geodome-gold);
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .geodome-navigation .mud-nav-link, .mud-button-root { transition: none; }
}
@media (max-width: 720px) {
    .geodome-shell { --geodome-active-rail-width: 0px; }

    .geodome-appbar {
        display: flex;
        left: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
    }
    .geodome-wordmark { margin-inline-start: 0; }
    .geodome-shell .geodome-main {
        margin-left: 0 !important;
        padding: 88px 16px calc(96px + env(safe-area-inset-bottom));
        width: 100%;
    }
    .geodome-rail,
    .geodome-rail.mud-drawer--closed {
        bottom: 0 !important;
        height: calc(80px + env(safe-area-inset-bottom)) !important;
        left: 0 !important;
        max-width: 100vw;
        right: 0 !important;
        top: auto !important;
        transform: none !important;
        visibility: visible !important;
        width: 100% !important;
    }
    .geodome-rail .mud-drawer-content {
        display: block;
        height: 100%;
        min-height: 0;
        overflow: visible;
        padding: 6px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    }
    .geodome-rail-header,
    .geodome-drawer-heading,
    .geodome-rail-recent,
    .geodome-rail-account {
        display: none;
    }
    .geodome-navigation-region { height: 100%; }
    .geodome-navigation {
        display: grid;
        gap: 2px;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        height: 100%;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .geodome-navigation .mud-nav-item {
        min-width: 0;
        width: auto;
    }
    .geodome-navigation .mud-nav-link {
        align-items: center;
        border-radius: 12px;
        flex-direction: column;
        gap: 1px;
        justify-content: center;
        min-height: 64px;
        padding: 6px 2px;
        transform: none;
        width: 100%;
    }
    .geodome-navigation .mud-nav-link .mud-icon-root {
        flex: 0 0 auto;
        font-size: 22px;
        margin: 0;
    }
    .geodome-rail.mud-drawer--closed.mud-drawer-mini > .mud-drawer-content > .mud-navmenu .mud-nav-link .mud-icon-root:first-child + .mud-nav-link-text,
    .geodome-navigation .mud-nav-link-text {
        display: block !important;
        font-size: clamp(0.55rem, 2.35vw, 0.64rem);
        line-height: 1.1;
        margin: 0;
        max-width: 100%;
        overflow: visible;
        overflow-wrap: normal;
        text-align: center;
        text-overflow: clip;
        white-space: normal;
    }
}

.geodome-page { max-width: 72rem; animation: garden-arrive 420ms ease-out both; }
.geodome-page__header { align-items: end; display: flex; gap: 2rem; justify-content: space-between; padding-bottom: 1.5rem; }
.geodome-page__eyebrow { color: var(--geodome-text-soft); font-size: .72rem; font-weight: 750; letter-spacing: .12em; margin: 0 0 .7rem; text-transform: uppercase; }
.geodome-page h1 { color: var(--geodome-leaf); font-family: var(--geodome-serif); font-size: var(--geodome-page-title-size); font-weight: 500; letter-spacing: -.045em; line-height: .95; margin: 0; }
.geodome-main h1[tabindex="-1"]:focus { outline: none; }
@keyframes garden-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .geodome-page { animation: none; } }
@media (max-width: 600px) { .geodome-main { padding: 88px 16px calc(96px + env(safe-area-inset-bottom)); } .geodome-page__header { align-items: stretch; flex-direction: column; gap: 1.25rem; } }

.geodome-page__status { align-items: center; color: var(--geodome-text-soft); display: flex; gap: 1rem; min-height: 12rem; }
.geodome-page__empty { border-left: 2px solid var(--geodome-terracotta); margin-top: clamp(3rem, 9vw, 7rem); max-width: 40rem; padding: .75rem 0 .75rem 1.5rem; }
.geodome-page__empty h2, .geodome-section-heading { color: var(--geodome-leaf); font-family: var(--geodome-serif); font-size: 1.8rem; font-weight: 500; letter-spacing: -.025em; margin: 0; }
.geodome-page__empty p:not(.geodome-page__eyebrow) { color: var(--geodome-text-soft); line-height: 1.55; margin: .5rem 0 0; }
.geodome-page__empty a { color: var(--geodome-leaf); display: inline-flex; font-weight: 750; min-height: 44px; text-underline-offset: .25rem; }
.geodome-entity-list { list-style: none; margin: 1.25rem 0 0; padding: 0; }
.geodome-entity-list > li { border-top: 1px solid color-mix(in srgb, var(--geodome-sage) 64%, transparent); }
.geodome-entity-list > li:last-child { border-bottom: 1px solid color-mix(in srgb, var(--geodome-sage) 64%, transparent); }
.geodome-entity-list__row { align-items: center; color: var(--geodome-text); display: grid; gap: 1.25rem; min-height: 5.5rem; padding: 1rem .4rem; text-decoration: none; transition: background-color 180ms ease, padding 180ms ease; }
.geodome-entity-list__row:hover { background: color-mix(in srgb, var(--geodome-sage) 38%, transparent); padding-inline: 1rem; }
.geodome-entity-list__row:focus-visible, .geodome-page__empty a:focus-visible { outline: 3px solid var(--geodome-terracotta); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
    .geodome-entity-list__row,
    .growing-area-tile__open {
        transition: none;
    }
}

/* Small terracotta text uses an AA-safe ink; decorative rules keep the brighter accent. */
:is(
    [class$="__eyebrow"],
    [class$="__type"],
    [class$="__period"],
    .mud-typography-overline.mud-primary-text
) {
    color: var(--geodome-terracotta-text) !important;
}

.geodome-state-page {
    max-width: 42rem;
    padding-top: clamp(3rem, 12vh, 8rem);
}
.geodome-state-page h1 {
    color: var(--geodome-leaf);
    margin: 0;
}
.geodome-state-page > p:not(.geodome-page__eyebrow) {
    color: var(--geodome-text-soft);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.6;
    margin: 1.5rem 0;
}
.geodome-state-page__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
}
.geodome-state-page__action,
.geodome-state-page__secondary {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-weight: 750;
    justify-content: center;
    min-height: 44px;
    padding: 0.7rem 1.1rem;
    text-decoration: none;
}
.geodome-state-page__action,
.geodome-state-page__action:visited {
    background: var(--geodome-text);
    color: var(--geodome-surface);
}
.geodome-state-page__secondary,
.geodome-state-page__secondary:visited {
    color: var(--geodome-leaf);
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
.geodome-state-page .geodome-state-page__reference {
    font-size: 0.82rem;
    margin-top: 2rem;
}

.account-page {
    background:
        radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.96), transparent 30rem),
        var(--geodome-background);
    margin: 0;
}
.account-shell {
    display: grid;
    min-height: 100vh;
    padding: clamp(1.25rem, 4vw, 3rem);
}
.account-shell__brand {
    align-items: center;
    align-self: start;
    color: var(--geodome-text);
    display: inline-flex;
    font-family: var(--geodome-serif);
    font-size: 1.4rem;
    gap: 0.8rem;
    justify-self: start;
    min-height: 54px;
    text-decoration: none;
}
.account-shell__brand:visited { color: var(--geodome-text); }
.account-shell__brand .geodome-rail-mark {
    background-color: var(--geodome-text);
    color: var(--geodome-surface);
    height: 48px;
    width: 48px;
}
.account-card {
    align-self: center;
    background: color-mix(in srgb, var(--geodome-surface) 94%, transparent);
    border: 1px solid var(--geodome-line);
    border-radius: var(--geodome-radius-large);
    box-shadow: var(--geodome-shadow);
    justify-self: center;
    max-width: 31rem;
    padding: clamp(1.5rem, 5vw, 3.25rem);
    width: 100%;
}
.account-card h1 {
    color: var(--geodome-leaf);
    font-family: var(--geodome-serif);
    font-size: clamp(2.8rem, 9vw, 4.5rem);
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 0.95;
    margin: 0;
}
.account-card > p:not(.geodome-page__eyebrow) {
    color: var(--geodome-text-soft);
    line-height: 1.55;
    margin: 1rem 0 1.75rem;
}
.account-form { display: grid; gap: 1rem; }
.account-form__field { display: grid; gap: 0.4rem; }
.account-form__field label { color: var(--geodome-text); font-size: 0.84rem; font-weight: 750; }
.account-form__field input {
    background: var(--geodome-surface);
    border: 1px solid color-mix(in srgb, var(--geodome-text) 28%, transparent);
    border-radius: 12px;
    color: var(--geodome-text);
    min-height: 48px;
    padding: 0.7rem 0.85rem;
    width: 100%;
}
.account-form__field input:focus-visible {
    border-color: var(--geodome-leaf);
    outline: 3px solid color-mix(in srgb, var(--geodome-terracotta) 72%, transparent);
    outline-offset: 2px;
}
.account-form__field span,
.account-form__validation { color: #a12822; font-size: 0.82rem; }
.account-form__validation:empty { display: none; }
.account-form__validation ul { margin: 0; padding-inline-start: 1.25rem; }
.account-form__submit {
    background: var(--geodome-text);
    border: 0;
    border-radius: 999px;
    color: var(--geodome-surface);
    cursor: pointer;
    font-weight: 750;
    margin-top: 0.5rem;
    min-height: 48px;
    padding: 0.75rem 1.1rem;
}
.account-card__back,
.account-card__back:visited {
    color: var(--geodome-leaf);
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 700;
    margin-top: 1.25rem;
    min-height: 44px;
    padding-block: 0.7rem;
    text-underline-offset: 0.2rem;
}

@media (max-width: 600px) {
    #blazor-error-ui { align-items: stretch; flex-wrap: wrap; }
    #blazor-error-ui .dismiss { position: absolute; right: 0.5rem; top: 0.4rem; }
    .geodome-state-page { padding-top: 2rem; }
    .account-shell { gap: 1.5rem; }
    .account-card { align-self: start; }
}

/* Shared workspace presentation, based on the approved bed and plant surfaces. */
.geodome-main > .geodome-workspace { width: 100%; max-width: var(--geodome-workspace-width); min-width: 0; }
.geodome-main > .garden-page { max-width: none; }
.geodome-page-heading { align-items: end; display: flex; justify-content: space-between; gap: 1rem 2rem; padding: .625rem 0 .75rem; }
.geodome-page-heading__identity { min-width: 0; }
.geodome-page-heading__eyebrow { color: var(--geodome-leaf); font-size: .68rem; font-weight: 750; letter-spacing: .14em; margin: 0 0 .65rem; text-transform: uppercase; }
.geodome-page-heading h1 { color: var(--geodome-leaf); font-family: var(--geodome-serif); font-size: var(--geodome-page-title-size); font-weight: 500; hyphens: auto; letter-spacing: -.045em; line-height: .92; margin: 0; overflow-wrap: break-word; }
.geodome-page-heading__description { color: var(--geodome-text-soft); font-size: .98rem; line-height: 1.58; margin: .75rem 0 0; max-width: var(--geodome-reading-width); }
.geodome-page-heading__actions { flex-shrink: 0; }
.geodome-section { margin-top: var(--geodome-section-gap); min-width: 0; }
.geodome-search-toolbar { align-items: center; display: grid; gap: 1rem; grid-template-columns: minmax(15rem, 1fr) auto; margin-top: 1.5rem; }
.geodome-library-list { border-top: 1px solid color-mix(in srgb, var(--geodome-sage) 72%, transparent); list-style: none; margin: 1.5rem 0 0; padding: 0; }
.geodome-library-list > li { border-bottom: 1px solid color-mix(in srgb, var(--geodome-sage) 64%, transparent); }
.geodome-library-row { align-items: center; color: var(--geodome-text); display: grid; gap: 1.2rem; grid-template-columns: 3rem minmax(0, 1fr) auto; min-height: 5.4rem; padding: 1rem .35rem; text-decoration: none; transition: background-color 180ms ease; }
.geodome-library-row:hover { background: color-mix(in srgb, var(--geodome-sage) 36%, transparent); }
.geodome-library-row:focus-visible { outline: 3px solid var(--geodome-terracotta); outline-offset: -3px; }
.geodome-library-lead { align-items: center; background: color-mix(in srgb, var(--geodome-sage) 52%, var(--geodome-surface)); border-radius: 50%; color: var(--geodome-leaf); display: inline-flex; font-family: var(--geodome-serif); height: 3rem; justify-content: center; }
.geodome-library-identity { display: grid; gap: .15rem; min-width: 0; }
.geodome-library-identity strong { font-family: var(--geodome-serif); font-size: 1.5rem; font-weight: 500; overflow-wrap: anywhere; }
.geodome-library-identity em, .geodome-library-identity small { color: var(--geodome-text-soft); font-size: .82rem; overflow-wrap: anywhere; }
.geodome-status { align-items: center; color: var(--geodome-text-soft); display: flex; gap: .75rem; line-height: 1.55; padding: 1rem 0; }
.geodome-status--error { color: var(--geodome-terracotta-text); }
.geodome-page__empty { margin-top: 1.5rem; }
.geodome-management-dialog .mud-typography-h5 { color: var(--geodome-leaf); font-family: var(--geodome-serif); font-size: 1.75rem; font-weight: 500; }
.geodome-management-dialog .mud-typography-h6 { color: var(--geodome-leaf); font-family: var(--geodome-serif); font-weight: 500; }
.geodome-management-dialog .mud-dialog-actions { gap: .5rem; padding: 1rem 1.5rem; }
.geodome-management-dialog__profile { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: .75rem; }
.geodome-management-dialog__profile p { color: var(--geodome-text-soft); line-height: 1.55; margin: 0; }
.geodome-form-section { display: grid; gap: 1rem; min-width: 0; }
.geodome-form-section + .geodome-form-section { border-top: 1px solid var(--geodome-line); padding-top: 1rem; }
.geodome-form-section h3 { color: var(--geodome-leaf); font-family: var(--geodome-serif); font-size: 1.3rem; font-weight: 500; margin: 0; }
@media (max-width: 760px) {
    :root { --geodome-page-title-size: clamp(2.6rem, 11vw, 3.25rem); }
    .geodome-page-heading { align-items: start; flex-direction: column; }
    .geodome-page-heading__actions { align-self: stretch; }
}
@media (max-width: 620px) {
    .geodome-search-toolbar { grid-template-columns: minmax(0, 1fr); }
    .geodome-search-toolbar > .mud-button-root { justify-self: start; }
    .geodome-library-row { gap: .75rem; grid-template-columns: 2.75rem minmax(0, 1fr) auto; }
    .geodome-library-lead { height: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) { .geodome-library-row { transition: none; } }
