/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Blazor error / reconnect UI (template default — scoped to MainLayout) */
#blazor-error-ui[b-d5bxszdc5d] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-d5bxszdc5d] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* ── Skip navigation (WCAG 2.4.1) ─────────────────── */
.skip-link[b-d5bxszdc5d] {
    position: absolute;
    top: -9999px;
    left: -9999px;
    padding: 0.75rem 1.5rem;
    background: var(--rz-primary);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
    z-index: 9999;
}

.skip-link:focus[b-d5bxszdc5d] {
    position: fixed;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
}

/* ── Site header ──────────────────────────────────── */
.site-title-link[b-d5bxszdc5d] {
    text-decoration: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
}

.site-logo[b-d5bxszdc5d] {
    height: 44px;
    width: auto;
    flex-shrink: 0;
}

.site-title[b-d5bxszdc5d] {
    font-family: 'KunstlerScript', cursive;
    font-size: 1.75rem;
    font-weight: bold;
    color: var(--rz-primary);
    line-height: 1;
    white-space: nowrap;
}

/* ── Header bar (full-width flex row) ─────────── */
.header-bar[b-d5bxszdc5d] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 1rem;
    gap: 0.75rem;
}

/* ── Sponsor block — pinned to the far right ──── */
.sponsor-block[b-d5bxszdc5d] {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    flex-shrink: 0;
}

.sponsor-tagline[b-d5bxszdc5d] {
    font-size: 0.72rem;
    color: var(--rz-text-secondary-color);
    font-style: italic;
    white-space: nowrap;
    margin: 0;
    line-height: 1;
}

.sponsor-row[b-d5bxszdc5d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sponsor-btn[b-d5bxszdc5d] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.85rem;
    background: #db61a2;
    color: #1A1816;      /* dark on #db61a2: 5.4:1 (AA) */
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: var(--rz-border-radius);
    transition: background-color 0.15s;
    white-space: nowrap;
}

.sponsor-btn:hover[b-d5bxszdc5d],
.sponsor-btn:focus-visible[b-d5bxszdc5d] {
    background: #c44f8e;
    color: #1A1816;
    text-decoration: none;
}

.sponsor-btn .rzi[b-d5bxszdc5d] {
    font-size: 0.95rem;
}

/* ── Site footer ──────────────────────────────────── */
.site-footer[b-d5bxszdc5d] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--rz-base-300);
    font-size: 0.9rem;
    color: var(--rz-text-secondary-color);
}

.site-footer a[b-d5bxszdc5d] {
    color: var(--rz-primary);
    text-decoration: underline;
}

.site-footer a:hover[b-d5bxszdc5d] {
    color: var(--rz-primary-darker);
}

/* ── Dark mode ────────────────────────────────────── */
@media (prefers-color-scheme: dark) {
    .site-title[b-d5bxszdc5d] {
        color: var(--rz-text-color); /* warm white — green looks muddy on near-black */
    }

    /* Pink sponsor button: #db61a2 on #1A1816 = 7.1:1 (AAA) — no change needed.
       Use light text here since dark bg makes dark text harder. */
    .sponsor-btn[b-d5bxszdc5d],
    .sponsor-btn:hover[b-d5bxszdc5d],
    .sponsor-btn:focus-visible[b-d5bxszdc5d] {
        color: #1A1816;
    }

    .site-footer a:hover[b-d5bxszdc5d] {
        color: var(--rz-primary-light); /* primary-darker too dark on dark surfaces */
    }

    .skip-link[b-d5bxszdc5d] {
        color: #1A1816; /* dark text on lightened green bg: 7.3:1 */
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-cxceg4km6c],
.components-reconnect-repeated-attempt-visible[b-cxceg4km6c],
.components-reconnect-failed-visible[b-cxceg4km6c],
.components-pause-visible[b-cxceg4km6c],
.components-resume-failed-visible[b-cxceg4km6c],
.components-rejoining-animation[b-cxceg4km6c] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-retrying[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-failed[b-cxceg4km6c],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-cxceg4km6c] {
    display: block;
}


#components-reconnect-modal[b-cxceg4km6c] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-cxceg4km6c 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-cxceg4km6c 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-cxceg4km6c 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-cxceg4km6c]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-cxceg4km6c 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-cxceg4km6c {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-cxceg4km6c {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-cxceg4km6c {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-cxceg4km6c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-cxceg4km6c] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-cxceg4km6c] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-cxceg4km6c] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-cxceg4km6c] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-cxceg4km6c] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-cxceg4km6c] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-cxceg4km6c 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-cxceg4km6c] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-cxceg4km6c {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
/* ── Stat cards (WCAG 1.4.4 — legible at any size) ── */
.stat-card[b-d26ojc48ka] {
  text-align: center;
  padding: 1.25rem 0.75rem;
  border-top: 4px solid var(--rz-primary);
  height: 100%;
}

.stat-card--warning[b-d26ojc48ka] { border-top-color: var(--rz-warning); }
.stat-card--success[b-d26ojc48ka] { border-top-color: var(--rz-success); }

.stat-card .stat-icon[b-d26ojc48ka] {
  font-size: 1.75rem;
  color: var(--rz-text-secondary-color);
  margin-bottom: 0.375rem;
}

.stat-card .stat-value[b-d26ojc48ka] {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--rz-text-color);
  line-height: 1;
}

.stat-card .stat-label[b-d26ojc48ka] {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--rz-text-secondary-color);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 0.25rem;
}

.stat-card .stat-detail[b-d26ojc48ka] {
  font-size: 0.875rem;
  color: var(--rz-text-secondary-color);
  margin-top: 0.375rem;
}

/* ── Top 10 lists ─────────────────────────────────── */
.top-item[b-d26ojc48ka] {
  border-bottom: 1px solid var(--rz-base-300);
  font-size: 1rem;
  padding: 0.375rem 0;
}

.top-item:last-child[b-d26ojc48ka] {
  border-bottom: none;
}

/* ── Clickable card links ─────────────────────────── */
.stat-card-link[b-d26ojc48ka] {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.stat-card-link .stat-card[b-d26ojc48ka],
.stat-card-link .deep-dive-card[b-d26ojc48ka] {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.stat-card-link:hover .stat-card[b-d26ojc48ka],
.stat-card-link:focus .stat-card[b-d26ojc48ka],
.stat-card-link:hover .deep-dive-card[b-d26ojc48ka],
.stat-card-link:focus .deep-dive-card[b-d26ojc48ka] {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  outline: 2px solid var(--rz-primary);
  outline-offset: 2px;
}

/* ── Deep dive navigation cards ──────────────────── */
.deep-dive-card[b-d26ojc48ka] {
  text-align: center;
  padding: 1.25rem 0.75rem;
  height: 100%;
}
/* /Components/Pages/Facts.razor.rz.scp.css */
/* ── Filter panel card ─────────────────────────────────── */
.filter-panel__label[b-v0g163dfft] {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-secondary-color);
  margin: 0 0 1rem 0;
}

/* ── Fact-type checklist headers ───────────────────────── */
.fact-list-header[b-v0g163dfft] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}

/* ── Scrollable checklist container ────────────────────── */
.fact-type-list[b-v0g163dfft] {
  max-height: 260px;
  overflow-y: auto;
  border: 1px solid var(--rz-base-300);
  border-radius: var(--rz-border-radius);
  padding: 0.375rem 0.5rem;
  background: var(--rz-base-background-color);
}

/* Tighten Radzen checkbox list item spacing inside the scroll area */
.fact-type-list :global(.rz-chkbox-label)[b-v0g163dfft] {
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

/* ── Empty-state hint ───────────────────────────────────── */
.filter-hint[b-v0g163dfft] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: var(--rz-text-secondary-color);
  text-align: center;
  gap: 0.75rem;
}

.filter-hint__icon[b-v0g163dfft] {
  font-size: 3rem;
  opacity: 0.4;
}

.filter-hint p[b-v0g163dfft] {
  font-size: 1rem;
  margin: 0;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ── Hero ─────────────────────────────────────────── */
.home-hero[b-ie6azo1tyz] {
  background: linear-gradient(135deg, var(--rz-primary-lighter) 0%, #d4e4cb 100%);
  border-radius: var(--rz-border-radius);
  padding: 3rem 2rem;
  text-align: center;
  margin-bottom: 2rem;
}

.hero-title[b-ie6azo1tyz] {
  font-family: 'KunstlerScript', cursive;
  font-size: clamp(2.75rem, 6vw, 5rem);
  font-weight: normal;
  color: var(--rz-primary); /* #364F29 on #edf2e9 gradient: 7.8:1 (AAA) */
  margin-bottom: 0.5rem;
  line-height: 1.1;
}

.hero-tagline[b-ie6azo1tyz] {
  font-size: 1.25rem;
  color: var(--rz-text-color);
  margin-bottom: 1rem;
}

.hero-description[b-ie6azo1tyz] {
  max-width: 600px;
  margin: 0 auto;
  color: var(--rz-text-color);
  font-size: 1rem;
  line-height: 1.65;
}

/* ── Hero CTA ─────────────────────────────────────── */
.hero-cta[b-ie6azo1tyz] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding: 0.75rem 1.75rem;
  background: var(--rz-primary);
  color: var(--rz-on-primary);
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--rz-border-radius);
  transition: background-color 0.15s;
}

.hero-cta:hover[b-ie6azo1tyz],
.hero-cta:focus-visible[b-ie6azo1tyz] {
  background: var(--rz-primary-dark);
  color: var(--rz-on-primary);
  text-decoration: none;
}

.hero-cta .rzi[b-ie6azo1tyz] {
  font-size: 1.4rem;
}

/* ── Feature cards ────────────────────────────────── */
.feature-card[b-ie6azo1tyz] {
  height: 100%;
  text-align: center;
  padding: 1.5rem;
}

.feature-card h3[b-ie6azo1tyz] {
  margin: 0.5rem 0;
}

.feature-icon[b-ie6azo1tyz] {
  display: flex;
  justify-content: center;
}

/* ── Supported features list ──────────────────────── */
.supported-list[b-ie6azo1tyz] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.supported-list li[b-ie6azo1tyz] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  line-height: 1.5;
}

/* ── Dark mode ────────────────────────────────────── */
@media (prefers-color-scheme: dark) {
  /* Hardcoded light green gradient stop replaced with dark green */
  .home-hero[b-ie6azo1tyz] {
    background: linear-gradient(135deg, #263318 0%, #1f2e18 100%);
  }
}
/* /Components/Pages/Surnames.razor.rz.scp.css */
.goons-link[b-52kjq4ck2r] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rz-text-secondary-color);
  transition: color 0.15s ease;
}

.goons-link:hover[b-52kjq4ck2r],
.goons-link:focus-visible[b-52kjq4ck2r] {
  color: var(--rz-primary);
  outline: 2px solid var(--rz-primary);
  outline-offset: 2px;
  border-radius: 2px;
}
/* /Components/Pages/Upload.razor.rz.scp.css */
/* ── Drop zone ────────────────────────────────────── */
.upload-drop-zone[b-k5wpu13a2x] {
  border: 2px dashed var(--rz-base-400);
  border-radius: var(--rz-border-radius);
  padding: 2.5rem 1rem;
  transition: border-color 0.2s, background-color 0.2s;
  background: var(--rz-base-100);
  min-height: 160px;
}

.upload-drop-zone.drag-over[b-k5wpu13a2x] {
  border-color: var(--rz-primary);
  background: var(--rz-primary-lighter);
}

/* ── Progress log ─────────────────────────────────── */
.progress-log[b-k5wpu13a2x] {
  font-family: 'Courier New', monospace;
  font-size: 0.9rem;
  background: var(--rz-base-100);
  border: 1px solid var(--rz-base-300);
  border-radius: var(--rz-border-radius);
  padding: 0.75rem;
  max-height: 300px;
  overflow-y: auto;
  color: var(--rz-text-color);
}

.log-line[b-k5wpu13a2x] {
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-all;
}
/* /Components/Shared/HealthBar.razor.rz.scp.css */
/* ── Health bar wrapper ───────────────────────────── */
.health-bar[b-3dny9aixmm] {
  margin-bottom: 1.5rem;
  position: relative;
}

/* Clickable variant — invisible <a> stretches over the whole bar */
.health-bar--clickable[b-3dny9aixmm] {
  cursor: pointer;
  border-radius: 6px;
  padding: 0.4rem 0.5rem;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  transition: background-color 0.15s ease;
}

.health-bar--clickable:hover[b-3dny9aixmm],
.health-bar--clickable:focus-within[b-3dny9aixmm] {
  background-color: var(--rz-base-200);
}

.health-bar-overlay[b-3dny9aixmm] {
  position: absolute;
  inset: 0;
  border-radius: 6px;
  z-index: 1;
}

.health-bar-overlay:focus-visible[b-3dny9aixmm] {
  outline: 2px solid var(--rz-primary);
  outline-offset: 2px;
}

.health-label[b-3dny9aixmm] {
  font-size: 1rem;
  font-weight: 500;
  color: var(--rz-text-color);
}

.health-value[b-3dny9aixmm] {
  font-size: 0.9rem;
  color: var(--rz-text-secondary-color);
}

.health-status[b-3dny9aixmm] {
  font-size: 0.875rem;
  font-weight: 600;
}

/* Status text colours — all verified against var(--rz-base-background-color) */
.health-status--good[b-3dny9aixmm] { color: var(--rz-success); } /* #364F29 light / #7BAF5A dark — both AAA */
.health-status--ok[b-3dny9aixmm]   { color: #8C5E18; }           /* 4.83:1 on #F7F8F5 (AA) */
.health-status--low[b-3dny9aixmm]  { color: var(--rz-danger);  } /* #b71c1c light / #EF5350 dark — both AA+ */

/* ── Dark mode ────────────────────────────────────── */
@media (prefers-color-scheme: dark) {
  /* Brand amber is fully accessible on dark bg: #C7882C on #1A1816 = 6.2:1 (AAA) */
  .health-status--ok[b-3dny9aixmm] { color: #C7882C; }
}
/* /Components/Shared/RelationshipFilter.razor.rz.scp.css */
.rel-filter[b-vnjyxowat4] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.rel-filter__dropdown[b-vnjyxowat4] {
  min-width: 220px;
}
