/*
 * Signed-in application visual refresh.
 * Replaces the warm brown/cream shell with a cool navy, blue and teal system,
 * and keeps the footer compact while the content region owns the full page.
 */

:root {
    --ash-ink: #17253b;
    --ash-muted: #64748b;
    --ash-ground: #eef4f8;
    --ash-surface: #ffffff;
    --ash-line: #d4dfe8;
    --ash-line-soft: #e7edf3;
    --ash-copper: #2563a6;
    --ash-copper-deep: #174a7c;
    --ash-ember: #58c3b7;
    --ash-header: #12324a;
    --ash-forest: #2f855a;
    --ash-village: #d97706;
    --ash-path: #7c3aed;
    --ash-corner: #2563eb;
    --ash-parent: #52657a;
}

html,
body.ash-body {
    background: var(--ash-ground) !important;
}

body.ash-body {
    color: var(--ash-ink);
}

.ash-content {
    flex: 1 0 auto;
    min-height: 0;
    background:
        radial-gradient(circle at 8% 8%, rgba(88, 195, 183, .10), transparent 30%),
        radial-gradient(circle at 92% 10%, rgba(37, 99, 166, .08), transparent 32%),
        linear-gradient(180deg, #f6f9fb 0%, var(--ash-ground) 100%);
}

.appnav {
    background: #12324a;
    border-bottom-color: #58c3b7;
    box-shadow: 0 5px 18px rgba(18, 50, 74, .22);
}

.appnav-brand {
    color: #f7fbff;
}

.appnav-brand .fidel {
    color: #79d7cd;
}

.appnav-link {
    color: #dbe8f2;
}

.appnav-link:hover {
    background: rgba(121, 215, 205, .14);
    color: #ffffff;
}

.appnav-link[aria-current="page"] {
    color: #12324a;
    background: #dff7f3;
    border-color: #79d7cd;
}

.langdd summary,
.whodd summary {
    border-color: rgba(219, 232, 242, .34);
    background: rgba(7, 30, 48, .34);
    color: #e8f1f7;
}

.langdd summary::after,
.whodd summary::after,
.whodd-role,
.whodd-meta-role {
    color: #79d7cd;
}

.langdd summary:hover,
.whodd summary:hover {
    border-color: rgba(121, 215, 205, .72);
}

.langdd-list,
.whodd-list {
    background: #173b55;
    border-color: rgba(121, 215, 205, .45);
    box-shadow: 0 14px 34px rgba(7, 30, 48, .34);
}

.langdd-item,
.whodd-item,
.whodd-meta-name {
    color: #e8f1f7;
}

.langdd-item:hover,
.whodd-item:hover,
.langdd-item[aria-current="true"] {
    background: rgba(121, 215, 205, .14);
    color: #ffffff;
}

.whodd-role {
    background: rgba(121, 215, 205, .14);
}

.whodd-role-admin {
    background: rgba(96, 165, 250, .18);
    color: #bfdbfe;
}

.appnav-note {
    background: #173b55;
    color: #dbe8f2;
    border-bottom-color: rgba(121, 215, 205, .32);
}

/* Inline Learning World styles are emitted after linked styles, so the
   stronger body-qualified selectors deliberately win without changing markup. */
body.ash-body .lwh-hero {
    background:
        radial-gradient(650px 250px at 92% -25%, rgba(88, 195, 183, .25), transparent 70%),
        linear-gradient(135deg, #12324a 0%, #174a6b 58%, #1f5f78 100%) !important;
    color: #f7fbff;
    box-shadow: 0 18px 40px rgba(18, 50, 74, .24);
}

body.ash-body .lwh-hero-kicker {
    color: #8be0d7;
}

body.ash-body .lwh-hero-sub {
    color: #dceaf3;
}

body.ash-body .lwh-hero-note {
    color: #adc4d3;
}

body.ash-body .lwh-btn-primary {
    background: #67d0c5;
    color: #0d3444;
    border-color: #8be0d7;
}

body.ash-body .lwh-btn-primary:hover {
    background: #8be0d7;
}

body.ash-body .lwh-btn-ghost {
    background: rgba(255, 255, 255, .08);
    color: #f7fbff;
    border-color: rgba(220, 234, 243, .48);
}

body.ash-body .lwh-btn-ghost:hover {
    background: rgba(255, 255, 255, .16);
}

body.ash-body .lwh-area {
    border-color: var(--ash-line);
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(18, 50, 74, .07);
}

body.ash-body .lwh-area-blurb {
    color: #4b5d70;
}

body.ash-body .lwh-game {
    background: #f7fafc;
    border-color: #dce5ed;
    color: var(--ash-ink);
}

body.ash-body .lwh-game:hover {
    background: #ffffff;
    border-color: #b8c9d8;
    box-shadow: 0 4px 14px rgba(18, 50, 74, .10);
}

.registry-menu-hero,
.buttonWrapper.registry-game-card,
.adminx-card {
    box-shadow: 0 6px 18px rgba(18, 50, 74, .07);
}

.registry-menu-count {
    color: #f7fbff;
}

.registry-menu-count small {
    color: #c8dbe8;
}

.buttonWrapper.registry-game-card:hover,
.buttonWrapper.registry-game-card:focus-visible {
    border-color: #9cb6c9;
    box-shadow: 0 10px 24px rgba(18, 50, 74, .14);
}

.ash-footer {
    flex: 0 0 auto;
    min-height: 0 !important;
    margin-top: 0;
    padding: 10px clamp(14px, 3vw, 28px) !important;
    background: #0f2a3e;
    border-top: 1px solid #58c3b7;
    color: #c8dbe8;
    line-height: 1.35;
    gap: 6px 18px;
}

.ash-footer a {
    color: #e2eef5;
}

.ash-footer .fidel {
    color: #79d7cd;
}

@media (max-width: 680px) {
    .ash-footer {
        justify-content: center;
        text-align: center;
        padding-block: 11px !important;
    }
}
