/* Hugo bindings for StatsTheme.cs. stats.css and MudBlazor.min.css are unchanged copies. */
:root {
    --frog-wordmark-color: white;
    --frog-staging-height: 0px;
    --frog-staging-accent: var(--stats-warning);
    --frog-link: var(--stats-primary);
    --frog-link-hover: var(--stats-accent-strong);
    --frog-link-visited: var(--stats-primary);
    --frog-focus: #ffdd00;
    --frog-focus-text: #0b0c0c;
    --frog-reading-width: 65ch;
    --mud-palette-primary: var(--stats-primary);
    --mud-palette-primary-text: var(--stats-primary-contrast);
    --mud-palette-primary-hover: var(--stats-accent-soft);
    --mud-palette-text-primary: var(--stats-text-primary);
    --mud-palette-text-secondary: var(--stats-text-secondary);
    --mud-palette-action-default: var(--stats-text-secondary);
    --mud-palette-action-default-hover: var(--stats-accent-soft);
    --mud-palette-background: var(--stats-background);
    --mud-palette-surface: var(--stats-surface);
    --mud-palette-appbar-background: var(--stats-appbar);
    --mud-palette-appbar-text: var(--stats-appbar-text);
    --mud-palette-divider: var(--stats-divider);
    --mud-palette-lines-default: var(--stats-divider);
    --mud-palette-table-lines: var(--stats-divider-light);
    --mud-default-borderradius: var(--stats-radius-sm);
    --mud-appbar-height: 64px;
    --mud-zindex-appbar: 1100;
    --mud-zindex-drawer: 1200;
    --mud-elevation-0: none;
    --mud-typography-default-family: 'IBM Plex Sans', 'Segoe UI', sans-serif;
    --mud-typography-default-size: 1.125rem;
    --mud-typography-default-weight: 400;
    --mud-typography-default-lineheight: 1.5;
    --mud-typography-default-letterspacing: .01071em;
    --mud-typography-default-text-transform: none;
    --mud-typography-h4-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif;
    --mud-typography-h4-size: 2.125rem;
    --mud-typography-h4-weight: 600;
    --mud-typography-h4-lineheight: 1.235;
    --mud-typography-h4-letterspacing: -.015em;
    --mud-typography-h4-text-transform: none;
    --mud-typography-h6-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif;
    --mud-typography-h6-size: 1.25rem;
    --mud-typography-h6-weight: 600;
    --mud-typography-h6-lineheight: 1.6;
    --mud-typography-h6-letterspacing: .0075em;
    --mud-typography-h6-text-transform: none;
    --mud-typography-body2-family: 'IBM Plex Sans', 'Segoe UI', sans-serif;
    --mud-typography-body2-size: 1rem;
    --mud-typography-body2-weight: 400;
    --mud-typography-body2-lineheight: 1.43;
    --mud-typography-body2-letterspacing: .01071em;
    --mud-typography-body2-text-transform: none;
}
:root[data-theme="light"] {
    --frog-link: var(--stats-primary);
    --frog-link-hover: var(--stats-text-primary);
    --frog-link-visited: var(--stats-primary);
    --stats-shell-glow-primary: #349f3433;
    --stats-shell-glow-secondary: #00426f33;
}
html, body { min-width: 0; }
.frog-staging { --frog-staging-height: 2rem; }
.frog-staging-bar {
    position: fixed;
    inset: 0 0 auto;
    height: var(--frog-staging-height);
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--frog-staging-accent) 18%, var(--stats-surface-solid));
    border-bottom: 2px solid var(--frog-staging-accent);
    color: var(--stats-text-primary);
    font-size: .8125rem;
    font-weight: 600;
    letter-spacing: .03em;
    z-index: 1101;
}
.mud-appbar.stats-appbar { top: var(--frog-staging-height); }
.stats-shell { padding-top: calc(var(--stats-appbar-height) + var(--frog-staging-height)); }

/* Dither dark glows below the content to soften low-colour-depth banding. */
:root[data-theme="dark"] body::before { content: none; }
:root[data-theme="dark"] {
    --stats-shell-glow-primary: #349f3433;
    --stats-shell-glow-secondary: #00426f33;
}
:root[data-theme="dark"] .stats-shell {
    background:
        radial-gradient(circle at 8% -12%, var(--stats-shell-glow-primary), transparent 38rem),
        radial-gradient(circle at 94% 5%, var(--stats-shell-glow-secondary), transparent 32rem),
        var(--stats-bg);
}
:root[data-theme="dark"] .stats-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../images/gradient-noise.svg') repeat;
    mix-blend-mode: soft-light;
    opacity: .3;
    pointer-events: none;
    z-index: -1;
}

/* Only document layout, accessibility, and the static mobile drawer are added here. */
.frog-wordmark {
    display: block;
    height: 1.5rem;
    aspect-ratio: 687 / 128;
    flex-shrink: 0;
    background-color: var(--frog-wordmark-color);
    mask: url('../wordmark.svg') center / contain no-repeat;
    -webkit-mask: url('../wordmark.svg') center / contain no-repeat;
}
.frog-drawer .stats-drawer-header { background: var(--stats-appbar); color: var(--stats-appbar-text); }
.frog-prose { overflow-wrap: anywhere; }
.frog-prose > :not(pre):not(table):not(.frog-frame__heading) { max-width: var(--frog-reading-width); }
.frog-prose h1 { font-family: var(--mud-typography-h6-family); font-size: 1.5rem; font-weight: 600; line-height: 1.3; margin: 0 0 1rem; }
.stats-page .frog-prose h1::after { display: none; }
.frog-prose > :first-child { margin-top: 0; }
.frog-prose > :last-child { margin-bottom: 0; }
.frog-prose p, .frog-prose ul, .frog-prose ol, .frog-prose pre, .frog-prose blockquote, .frog-prose table { margin-block: 0 1rem; }
.frog-prose h2, .frog-prose h3 { font-family: var(--mud-typography-h6-family); font-weight: 600; margin: 1.5rem 0 .75rem; line-height: 1.6; }
.frog-prose h2 { font-size: 1.25rem; }
.frog-prose h3 { font-size: 1.1rem; }
.frog-prose ul, .frog-prose ol { padding-left: 1.5rem; }
.frog-prose li + li { margin-top: .35rem; }
.stats-page a:not(.mud-nav-link), .frog-frame a, .frog-breadcrumbs a, .frog-noscript-nav a { color: var(--frog-link); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.stats-page a:visited, .frog-frame a:visited, .frog-breadcrumbs a:visited { color: var(--frog-link-visited); }
.stats-page a:hover, .frog-frame a:hover, .frog-breadcrumbs a:hover { color: var(--frog-link-hover) !important; text-decoration-thickness: 3px; }
.frog-prose pre { background: var(--stats-surface-solid); padding: 1rem; border: 1px solid var(--stats-border-soft); border-radius: var(--stats-radius-sm); overflow-x: auto; }
.frog-prose code { font-size: .9em; }
.frog-prose blockquote { border-left: 2px solid var(--stats-accent); padding-left: 1rem; color: var(--stats-muted); }
.frog-prose img { max-width: 100%; height: auto; border-radius: var(--stats-radius-sm); }
.frog-prose table { border-collapse: collapse; display: block; overflow-x: auto; }
.frog-prose td, .frog-prose th { border-bottom: 1px solid var(--stats-border-soft); padding: .6rem 1rem; text-align: left; }
.frog-prose hr { border: 0; border-top: 1px solid var(--stats-border); margin-block: 1.5rem; }
.frog-standalone { padding: calc(1.5rem + var(--frog-staging-height)) 1.5rem 1.5rem; align-items: center; justify-content: center; }
.frog-landing-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.frog-landing-brand { display: flex; align-items: center; gap: .75rem; }
.frog-landing-brand .frog-wordmark { background-color: var(--stats-text-primary); }
.frog-landing-header .stats-theme-toggle { top: 0; color: var(--stats-text-secondary) !important; flex-shrink: 0; }
.frog-frame { width: 100%; max-width: 48rem; padding: 2rem; }
.frog-frame__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.frog-frame__heading .stats-theme-toggle { top: 0; color: var(--stats-text-secondary) !important; flex-shrink: 0; }
.frog-moon { display: none; }
:root[data-theme="light"] .frog-moon { display: inline-flex; }
:root[data-theme="light"] .frog-sun { display: none; }
.frog-sun { display: inline-flex; }
.frog-skip { position: fixed; top: -10rem; left: 1rem; z-index: 1400; padding: .75rem 1rem; background: var(--frog-focus); color: var(--frog-focus-text); }
.frog-skip:focus { top: calc(var(--frog-staging-height) + .5rem); }
:focus-visible { outline: 3px solid var(--frog-focus); outline-offset: 2px; box-shadow: 0 0 0 5px var(--frog-focus-text); }
a:focus-visible, button:focus-visible { background: var(--frog-focus) !important; color: var(--frog-focus-text) !important; text-decoration: none !important; }
.stats-brand:focus-visible .frog-wordmark { background-color: var(--frog-focus-text); }
.stats-brand:focus-visible { outline-offset: -6px; }
.stats-desktop-nav a:focus-visible .mud-nav-link-icon { color: var(--frog-focus-text) !important; }
#content { scroll-margin-top: calc(var(--stats-appbar-height) + var(--frog-staging-height) + 1rem); }
#content:focus { outline: none; }
:target, a, button { scroll-margin-top: calc(var(--stats-appbar-height) + var(--frog-staging-height) + 1rem); }
.stats-theme-toggle .mud-icon-root { opacity: 1; }
.stats-footer { color: var(--stats-text-secondary); font-size: .875rem; letter-spacing: normal; }
.stats-appbar .mud-icon-button, .frog-drawer .mud-icon-button, .frog-frame .mud-icon-button { min-width: 44px; min-height: 44px; }
.stats-desktop-nav .mud-nav-link { font-size: 1rem; }
.frog-page-list { padding: 0; margin: 0; list-style: none; }
.frog-page-list .stats-list-row { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; }
.frog-page-list .stats-list-row:first-of-type { padding-top: 0; }
.frog-breadcrumbs { padding-top: 1rem; }
.frog-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 0; margin: 0; list-style: none; font-size: 1rem; }
.frog-breadcrumbs li + li::before { content: '/'; margin-right: 1rem; color: var(--stats-text-secondary); }
.frog-noscript-nav { display: none; }
.frog-drawer { position: fixed; inset: var(--frog-staging-height) auto 0 0; width: min(280px, 90vw); z-index: 1300; box-shadow: var(--stats-shadow); overflow-y: auto; }
.frog-drawer .stats-drawer-header { justify-content: space-between; }
.frog-drawer-backdrop { position: fixed; inset: var(--frog-staging-height) 0 0; z-index: 1250; background: var(--stats-appbar-active); backdrop-filter: blur(2px); }
[hidden] { display: none !important; }
@media (max-width: 599.98px) {
    .frog-frame { padding: 1.25rem; }
    .frog-frame__heading { flex-wrap: wrap; }
    .frog-frame__heading h1 { flex: 1 1 12rem; margin-bottom: 0; }
    .frog-frame__heading .stats-theme-toggle { margin-left: auto; }
    .stats-appbar .frog-wordmark { height: 1.125rem; }
    .frog-landing-brand .frog-wordmark { height: 1.125rem; }
}
@media (max-width: 959.98px) {
    .stats-appbar .mud-toolbar { padding-inline: 0; }
    .frog-noscript-nav { display: block; padding-top: 1rem; }
    .frog-noscript-nav .mud-nav-link { min-height: 44px; }
}
@media (forced-colors: active) {
    .stats-shell::before { display: none; }
    .frog-wordmark { background: CanvasText; forced-color-adjust: none; }
    :focus-visible { outline-color: Highlight; box-shadow: none; }
    a:focus-visible, button:focus-visible { background: Highlight !important; color: HighlightText !important; }
    .stats-brand:focus-visible .frog-wordmark { background: HighlightText; }
}
