:root {
    --digest-nav-height: 5.75rem;
}

:is(.digest-room-page, .digest-topic-page, .digest-secondary-page) {
    min-height: 100vh;
    background: var(--digest-canvas);
    color-scheme: light;
    color: var(--digest-text);
    font-family: var(--brand-body);
}

:is(.digest-room-page, .digest-topic-page, .digest-secondary-page) nav {
    border-bottom: 1px solid var(--digest-rule-subtle);
}

:is(.digest-room-page, .digest-topic-page, .digest-secondary-page) .digest-nav {
    width: min(100%, 96rem);
    min-height: var(--digest-nav-height);
    margin-inline: auto;
    background: var(--digest-canvas);
}

:is(.digest-room-page, .digest-topic-page, .digest-secondary-page) :is(.site-brand, nav a) {
    color: var(--digest-heading);
}

:is(.digest-room-page, .digest-topic-page, .digest-secondary-page) #mobileMenuToggle {
    min-width: 44px;
    min-height: 44px;
}

:is(.digest-room-page, .digest-topic-page, .digest-secondary-page) :is(.digest-nav a[aria-current='page'], #mobileMenu a[aria-current='page']) {
    border-color: var(--brand-warm);
    color: var(--digest-heading);
}

:is(.digest-room-page, .digest-topic-page, .digest-secondary-page) :where(a, button, input, select):focus-visible {
    outline-color: var(--digest-accent-text);
}

:is(.digest-room-page, .digest-topic-page, .digest-secondary-page) #mobileMenu {
    top: var(--digest-nav-height);
    border-color: var(--digest-rule-subtle);
    background: var(--digest-surface-muted);
}

.digest-loading-state {
    color: var(--digest-muted);
}

.digest-loader {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 1rem;
    border: 4px solid var(--digest-rule-medium);
    border-top-color: var(--digest-accent);
    border-radius: 9999px;
}

.digest-error-state {
    color: var(--digest-text);
}

.digest-error-state__icon,
.digest-error-state__title {
    color: var(--digest-heading);
}

.digest-error-state__message {
    color: var(--digest-muted);
}

.digest-error-state__retry {
    min-height: 44px;
    border: 1px solid var(--digest-heading);
    border-radius: 9999px;
    padding: 0.65rem 1.1rem;
    background: var(--digest-heading);
    color: var(--digest-surface);
    font-size: 0.875rem;
    transition: background-color 160ms ease, color 160ms ease;
}

.digest-error-state__retry:hover {
    background: var(--digest-accent-text);
}

@media (prefers-reduced-motion: reduce) {
    :is(.digest-room-page, .digest-topic-page, .digest-secondary-page) .fade-in,
    :is(.digest-room-page, .digest-topic-page, .digest-secondary-page) .animate-spin {
        animation: none !important;
    }

    .digest-error-state__retry { transition: none; }
    :is(.digest-room-page, .digest-topic-page, .digest-secondary-page) :is(.weekly-card, .skip-link) {
        transition: none !important;
    }
}
