/* /Components/Layout/AppHeader.razor.rz.scp.css */
.app-header[b-kdhzoa7ulo] {
    position: fixed;
    top: 0;
    right: 0;
    height: var(--pdm-header-height, 5rem);
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    background: rgb(var(--color-surface, 5 20 36) / 0.88);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid rgb(var(--color-outline-variant, 61 74 61) / 0.2);
    transition: left 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.app-header--expanded[b-kdhzoa7ulo] {
    left: 260px;
}

.app-header--collapsed[b-kdhzoa7ulo] {
    left: 68px;
}

.app-header__left[b-kdhzoa7ulo] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.app-header__mobile-logo-link[b-kdhzoa7ulo] {
    display: none;
}

.app-header__mobile-logo[b-kdhzoa7ulo] {
    height: 32px;
    width: auto;
    object-fit: contain;
}

.app-header__credits[b-kdhzoa7ulo] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    background: rgb(var(--color-surface-container, 18 33 49));
    border: 1px solid rgb(var(--color-outline-variant, 61 74 61) / 0.5);
    border-radius: var(--card-radius, 4px);
}

.app-header__credits-icon[b-kdhzoa7ulo] {
    font-size: 14px;
    color: rgb(var(--color-primary, 75 226 119));
}

.app-header__credits-label[b-kdhzoa7ulo] {
    font-size: 12px;
    color: rgb(var(--color-on-surface-variant, 188 203 185));
    letter-spacing: 0.05em;
    font-weight: 500;
}

.app-header__credits-value[b-kdhzoa7ulo] {
    font-size: 12px;
    color: rgb(var(--color-primary, 75 226 119));
    font-weight: 700;
}

.app-header__topup-btn[b-kdhzoa7ulo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: rgb(var(--color-on-primary, 0 57 21));
    background: rgb(var(--color-primary, 75 226 119));
    border: none;
    border-radius: var(--button-radius, 2px);
    cursor: pointer;
    transition: all 0.15s ease;
}

.app-header__topup-btn:hover[b-kdhzoa7ulo] {
    box-shadow: 0 0 15px rgb(var(--color-primary, 75 226 119) / 0.4);
}

.app-header__topup-btn:active[b-kdhzoa7ulo] {
    transform: scale(0.95);
}

.app-header__right[b-kdhzoa7ulo] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.app-header__user[b-kdhzoa7ulo] {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.15s ease;
}

.app-header__user:hover[b-kdhzoa7ulo] {
    opacity: 0.85;
}

.app-header__username[b-kdhzoa7ulo] {
    font-size: 12px;
    font-weight: 700;
    color: rgb(var(--color-on-surface));
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-header__logout-form[b-kdhzoa7ulo] {
    display: inline;
}

.app-header__logout-btn[b-kdhzoa7ulo] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgb(var(--color-surface-container-high));
    color: rgb(var(--color-on-surface-variant));
    border: 2px solid rgb(var(--color-outline-variant));
    border-radius: var(--button-radius, 50%);
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.app-header__logout-btn:hover[b-kdhzoa7ulo] {
    border-color: rgb(var(--color-error));
    color: rgb(var(--color-error));
    background: rgb(var(--color-error) / 0.12);
}

.app-header__logout-icon[b-kdhzoa7ulo] {
    font-size: 16px;
}

.app-header__login-btn[b-kdhzoa7ulo] {
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 700;
    color: rgb(var(--color-on-surface));
    background: rgb(var(--color-surface-container-high));
    border: 1px solid rgb(var(--color-outline-variant) / 0.5);
    border-radius: var(--button-radius, 4px);
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.app-header__login-btn:hover[b-kdhzoa7ulo] {
    background: rgb(var(--color-surface-container));
    color: rgb(var(--color-primary));
    border-color: rgb(var(--color-primary) / 0.5);
}

.app-header__pricing-link[b-kdhzoa7ulo] {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgb(var(--color-on-surface-variant));
    text-decoration: none;
    transition: color 0.15s ease;
    padding: 6px 8px;
}

.app-header__pricing-link:hover[b-kdhzoa7ulo] {
    color: rgb(var(--color-primary));
}

/* ─── Responsive Breakpoints ─── */
@media (max-width: 767px) {
    .app-header[b-kdhzoa7ulo] {
        left: 0 !important;
        padding: 0 12px;
    }
    .app-header__left[b-kdhzoa7ulo] {
        gap: 8px;
    }
    .app-header__right[b-kdhzoa7ulo] {
        gap: 8px;
    }
    .app-header__mobile-logo-link[b-kdhzoa7ulo] {
        display: block;
    }
    .app-header__credits-icon[b-kdhzoa7ulo],
    .app-header__credits-label[b-kdhzoa7ulo] {
        display: none;
    }
    .app-header__credits[b-kdhzoa7ulo] {
        padding: 4px 8px;
    }
    .app-header__topup-btn[b-kdhzoa7ulo] {
        font-size: 11px;
        padding: 4px 8px;
    }
    .app-header__user[b-kdhzoa7ulo] {
        display: flex;
        align-items: center;
        gap: 6px;
    }
    .app-header__username[b-kdhzoa7ulo] {
        font-size: 11px;
        max-width: 90px;
    }
    .app-header__logout-btn[b-kdhzoa7ulo] {
        width: 32px;
        height: 32px;
    }
    .app-header__logout-icon[b-kdhzoa7ulo] {
        font-size: 14px;
    }
    .app-header__login-btn[b-kdhzoa7ulo] {
        padding: 6px 10px;
        font-size: 11px;
    }
    .app-header__pricing-link[b-kdhzoa7ulo] {
        font-size: 11px;
        padding: 4px 6px;
    }
}

@media (min-width: 1024px) {
    .app-header[b-kdhzoa7ulo] {
        padding: 0 40px;
    }
}


/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-h8iw7y6kr3] {
    background: rgb(var(--color-surface-container) / 0.96);
    backdrop-filter: blur(12px);
    border-top: 1px solid rgb(var(--color-error) / 0.4);
    bottom: 0;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.75rem 1.5rem;
    position: fixed;
    width: 100%;
    z-index: 9999;
    color: rgb(var(--color-on-surface));
    font-family: var(--font-body, 'Geist', sans-serif);
    font-size: 0.875rem;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

#blazor-error-ui .reload[b-h8iw7y6kr3] {
    display: inline-flex;
    align-items: center;
    background: rgb(var(--color-primary));
    color: rgb(var(--color-on-primary));
    font-family: var(--font-headline, inherit);
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.35rem 0.75rem;
    border-radius: var(--button-radius, 0.5rem);
    text-decoration: none;
    transition: all 0.2s ease;
    margin-left: 0.5rem;
}

#blazor-error-ui .reload:hover[b-h8iw7y6kr3] {
    box-shadow: 0 0 12px rgb(var(--color-primary) / 0.4);
}

#blazor-error-ui .dismiss[b-h8iw7y6kr3] {
    cursor: pointer;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgb(var(--color-outline));
    font-size: 1rem;
    padding: 0.25rem 0.5rem;
    border-radius: var(--button-radius, 0.375rem);
    transition: color 0.15s ease, background-color 0.15s ease;
}

#blazor-error-ui .dismiss:hover[b-h8iw7y6kr3] {
    color: rgb(var(--color-on-surface));
    background-color: rgb(var(--color-outline-variant) / 0.2);
}

/* /Components/Layout/NavSidebar.razor.rz.scp.css */
.app-sidebar[b-erp8xv729d] {
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    z-index: 50;
    display: flex;
    flex-direction: column;
    background: rgb(var(--color-surface-container-low, 13 28 45));
    border-right: 1px solid rgb(var(--color-outline-variant, 61 74 61) / 0.3);
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.app-sidebar--expanded[b-erp8xv729d] {
    width: 260px;
}

.app-sidebar--collapsed[b-erp8xv729d] {
    width: 68px;
}

.app-sidebar__brand[b-erp8xv729d] {
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgb(var(--color-outline-variant, 61 74 61) / 0.2);
    flex-shrink: 0;
    overflow: hidden;
    padding: 0 16px;
}

.app-sidebar--collapsed .app-sidebar__brand[b-erp8xv729d] {
    padding: 0 8px;
}

.app-sidebar__brand-link[b-erp8xv729d] {
    display: block;
    width: 100%;
    text-decoration: none;
}

.app-sidebar__brand-link--collapsed[b-erp8xv729d] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-sidebar__logo-expanded[b-erp8xv729d] {
    height: 100%;
    width: 100%;
    object-fit: contain;
    border-radius: 4px;
}

.app-sidebar__logo-collapsed[b-erp8xv729d] {
    height: 32px;
    width: 32px;
    object-fit: contain;
}

.app-sidebar__nav[b-erp8xv729d] {
    flex: 1;
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.app-sidebar__nav-item[b-erp8xv729d] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    color: rgb(var(--color-on-surface-variant, 188 203 185));
    background: transparent;
    border-left: 4px solid transparent;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.app-sidebar--collapsed .app-sidebar__nav-item[b-erp8xv729d] {
    padding: 12px 0;
    justify-content: center;
}

.app-sidebar__nav-item:hover[b-erp8xv729d] {
    background: rgb(var(--color-surface-container-high, 28 43 60));
    color: rgb(var(--color-on-surface, 212 228 250));
}

.app-sidebar__nav-item--active[b-erp8xv729d] {
    color: rgb(var(--color-on-secondary-container, 136 199 150));
    background: rgb(var(--color-secondary-container, 21 84 46));
    border-left-color: rgb(var(--color-primary, 75 226 119));
}

.app-sidebar__nav-item--active .app-sidebar__nav-icon[b-erp8xv729d] {
    color: rgb(var(--color-primary, 75 226 119));
}

.app-sidebar__nav-icon[b-erp8xv729d] {
    font-size: 22px;
    flex-shrink: 0;
}

.app-sidebar__nav-label[b-erp8xv729d] {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    font-family: var(--font-headline, inherit);
}

.app-sidebar__footer[b-erp8xv729d] {
    border-top: 1px solid rgb(var(--color-outline-variant, 61 74 61) / 0.25);
    flex-shrink: 0;
}

.app-sidebar__toggle-btn[b-erp8xv729d] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 14px 20px;
    color: rgb(var(--color-outline, 134 149 133));
    background: transparent;
    border: none;
    cursor: pointer;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.app-sidebar--collapsed .app-sidebar__toggle-btn[b-erp8xv729d] {
    padding: 14px 0;
    justify-content: center;
}

.app-sidebar__toggle-btn:hover[b-erp8xv729d] {
    color: rgb(var(--color-primary, 75 226 119));
    background: rgb(var(--color-surface-container-high, 28 43 60));
}

.app-sidebar__toggle-icon[b-erp8xv729d] {
    font-size: 20px;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.app-sidebar__toggle-icon--collapsed[b-erp8xv729d] {
    transform: rotate(180deg);
}

.app-sidebar__toggle-label[b-erp8xv729d] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-family: var(--font-headline, inherit);
}

/* ─── Mobile Bottom Navigation ─── */
.app-mobile-nav[b-erp8xv729d] {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgb(var(--color-surface-container-low, 13 28 45));
    border-top: 1px solid rgb(var(--color-outline-variant, 61 74 61) / 0.3);
    z-index: 50;
    align-items: center;
    justify-content: space-around;
    height: 64px;
    padding: 0 8px;
}

.app-mobile-nav__item[b-erp8xv729d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    color: rgb(var(--color-on-surface-variant, 188 203 185));
    text-decoration: none;
    transition: color 0.15s ease;
}

.app-mobile-nav__item--active[b-erp8xv729d] {
    color: rgb(var(--color-primary, 75 226 119));
}

.app-mobile-nav__icon[b-erp8xv729d] {
    font-size: 20px;
}

.app-mobile-nav__label[b-erp8xv729d] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    font-family: var(--font-headline, inherit);
}

/* ─── Responsive Breakpoints ─── */
@media (max-width: 767px) {
    .app-sidebar[b-erp8xv729d] {
        display: none;
    }
    .app-mobile-nav[b-erp8xv729d] {
        display: flex;
    }
}

/* ═══════════════════════════════════════════════════════════
   THEME-SPECIFIC TEXTURES & STYLES FOR LEFT SIDEBAR & MOBILE NAV
   ═══════════════════════════════════════════════════════════ */

/* ─── 1. Grimoire: Ancient Crypt Masonry & Dressed Ashlar Stone ─── */
[data-theme="grimoire"] .app-sidebar[b-erp8xv729d],
[data-theme="grimoire"] .app-mobile-nav[b-erp8xv729d] {
    background-color: #141210 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200' fill='none'%3E%3Cpath d='M0 0 C40 0.6, 90 -0.6, 140 0 S180 0.6, 200 0M0 200 C40 200.6, 90 199.4, 140 200 S180 200.6, 200 200M0 52 C35 51.4, 75 52.6, 115 52 S170 51.4, 200 52M0 108 C40 108.6, 85 107.4, 130 108 S175 108.6, 200 108M0 156 C30 155.4, 70 156.6, 125 156 S170 155.4, 200 156M85 0 C84.6 16, 85.4 36, 85 52M45 52 C45.4 68, 44.6 90, 45 108M148 52 C147.6 70, 148.4 92, 148 108M110 108 C109.6 122, 110.4 140, 110 156M65 156 C65.4 170, 64.6 186, 65 200M160 156 C159.6 172, 160.4 186, 160 200' stroke='%23000000' stroke-width='0.75' stroke-opacity='0.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 0.6 C40 1.2, 90 0, 140 0.6 S180 1.2, 200 0.6M0 52.6 C35 52, 75 53.2, 115 52.6 S170 52, 200 52.6M0 108.6 C40 109.2, 85 108, 130 108.6 S175 109.2, 200 108.6M0 156.6 C30 156, 70 157.2, 125 156.6 S170 156, 200 156.6' stroke='%23C5A059' stroke-width='0.5' stroke-opacity='0.08' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M118 16 c5 4, 10 9, 15 11M123 20 l-3 6M68 84 c6 -2, 12 3, 18 1M135 178 c6 4, 11 8, 16 9M26 138 c4 -2, 8 2, 12 1' stroke='%23000000' stroke-width='0.5' stroke-opacity='0.22' stroke-linecap='round'/%3E%3Cpath d='M118 16.5 c5 4, 10 9, 15 11M68 84.5 c6 -2, 12 3, 18 1M135 178.5 c6 4, 11 8, 16 9' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.05' stroke-linecap='round'/%3E%3Cpath d='M10 26h65M105 32h80M12 78h24M60 84h70M165 78h25M16 132h80M126 130h64M15 180h42M80 174h65' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='10,14,16,10' fill='none'/%3E%3Ccircle cx='32' cy='22' r='0.8' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='155' cy='36' r='0.7' fill='%23000000' fill-opacity='0.2'/%3E%3Ccircle cx='95' cy='74' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3Ccircle cx='180' cy='95' r='0.7' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='55' cy='135' r='0.8' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='170' cy='142' r='0.7' fill='%23C5A059' fill-opacity='0.07'/%3E%3Ccircle cx='40' cy='185' r='0.7' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='110' cy='188' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(22, 19, 17, 0.95) 0%, rgba(12, 11, 9, 0.98) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border-right: 1.5px solid rgba(197, 160, 89, 0.35) !important;
    border-top-color: rgba(197, 160, 89, 0.35) !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.85), inset -1px 0 0 rgba(0, 0, 0, 0.8) !important;
}

[data-theme="grimoire"] .app-sidebar__brand[b-erp8xv729d] {
    border-bottom: 1px solid rgba(197, 160, 89, 0.25) !important;
    background: rgba(10, 9, 8, 0.45) !important;
}

[data-theme="grimoire"] .app-sidebar__footer[b-erp8xv729d] {
    border-top: 1px solid rgba(197, 160, 89, 0.25) !important;
    background: rgba(10, 9, 8, 0.45) !important;
}

[data-theme="grimoire"] .app-sidebar__legal[b-erp8xv729d] {
    border-top-color: rgba(197, 160, 89, 0.2) !important;
    color: #A3937A !important;
}

[data-theme="grimoire"] .app-sidebar__legal a:hover[b-erp8xv729d] {
    color: #E5C175 !important;
}

[data-theme="grimoire"] .app-sidebar__nav-item[b-erp8xv729d] {
    color: #A3937A !important;
    font-family: 'Cinzel', serif !important;
}

[data-theme="grimoire"] .app-sidebar__nav-item:hover[b-erp8xv729d] {
    background: rgba(197, 160, 89, 0.12) !important;
    color: #FDF1DC !important;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="grimoire"] .app-sidebar__nav-item--active[b-erp8xv729d] {
    color: #E5C175 !important;
    background: linear-gradient(90deg, rgba(139, 30, 30, 0.4) 0%, rgba(28, 25, 23, 0.65) 100%) !important;
    border-left: 4px solid #E5C175 !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="grimoire"] .app-sidebar__nav-item--active .app-sidebar__nav-icon[b-erp8xv729d] {
    color: #E5C175 !important;
    text-shadow: 0 0 10px rgba(197, 160, 89, 0.6) !important;
}

[data-theme="grimoire"] .app-sidebar__toggle-btn[b-erp8xv729d] {
    color: #A3937A !important;
}

[data-theme="grimoire"] .app-sidebar__toggle-btn:hover[b-erp8xv729d] {
    color: #E5C175 !important;
    background: rgba(197, 160, 89, 0.12) !important;
}

[data-theme="grimoire"] .app-mobile-nav__item[b-erp8xv729d] {
    color: #A3937A !important;
    font-family: 'Cinzel', serif !important;
}

[data-theme="grimoire"] .app-mobile-nav__item:hover[b-erp8xv729d],
[data-theme="grimoire"] .app-mobile-nav__item--active[b-erp8xv729d] {
    color: #E5C175 !important;
}

/* ─── 2. Archivist: Scriptorium Laid Manuscript Parchment ─── */
[data-theme="archivist"] .app-sidebar[b-erp8xv729d],
[data-theme="archivist"] .app-mobile-nav[b-erp8xv729d] {
    background-color: #FAF7F0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M0 8h80M0 16h80M0 24h80M0 32h80M0 40h80M0 48h80M0 56h80M0 64h80M0 72h80M0 80h80' stroke='%238C733E' stroke-width='0.5' stroke-opacity='0.07' stroke-dasharray='3,1,5,2,2,1'/%3E%3Cpath d='M40 0v80' stroke='%238C733E' stroke-width='0.75' stroke-opacity='0.09'/%3E%3Cpath d='M10 22c4-2 9 1 14-1M52 35c3 3 8 1 12-1M25 60c5-3 10-1 15-2M60 12c3 1 6-2 9 0' stroke='%23705322' stroke-width='0.6' stroke-opacity='0.09' stroke-linecap='round'/%3E%3Ccircle cx='18' cy='42' r='0.8' fill='%238C733E' fill-opacity='0.1'/%3E%3Ccircle cx='68' cy='58' r='1' fill='%238C733E' fill-opacity='0.08'/%3E%3Ccircle cx='32' cy='14' r='0.7' fill='%238C733E' fill-opacity='0.09'/%3E%3Ccircle cx='48' cy='72' r='0.9' fill='%238C733E' fill-opacity='0.07'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(254, 252, 248, 0.9) 0%, rgba(240, 235, 222, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border-right: 1.5px solid rgba(140, 115, 62, 0.4) !important;
    border-top-color: rgba(140, 115, 62, 0.4) !important;
    box-shadow: 4px 0 20px rgba(140, 115, 62, 0.12) !important;
}

[data-theme="archivist"] .app-sidebar__brand[b-erp8xv729d] {
    border-bottom: 1px solid rgba(140, 115, 62, 0.3) !important;
    background: rgba(243, 239, 228, 0.55) !important;
}

[data-theme="archivist"] .app-sidebar__footer[b-erp8xv729d] {
    border-top: 1px solid rgba(140, 115, 62, 0.3) !important;
    background: rgba(243, 239, 228, 0.55) !important;
}

[data-theme="archivist"] .app-sidebar__legal[b-erp8xv729d] {
    border-top-color: rgba(140, 115, 62, 0.25) !important;
    color: #74685D !important;
}

[data-theme="archivist"] .app-sidebar__legal a:hover[b-erp8xv729d] {
    color: #235347 !important;
}

[data-theme="archivist"] .app-sidebar__nav-item[b-erp8xv729d] {
    color: #5C5240 !important;
    font-family: 'MedievalSharp', cursive !important;
}

[data-theme="archivist"] .app-sidebar__nav-item:hover[b-erp8xv729d] {
    background: rgba(140, 115, 62, 0.1) !important;
    color: #1A1714 !important;
}

[data-theme="archivist"] .app-sidebar__nav-item--active[b-erp8xv729d] {
    color: #235347 !important;
    background: linear-gradient(90deg, rgba(35, 83, 71, 0.16) 0%, rgba(244, 239, 228, 0.6) 100%) !important;
    border-left: 4px solid #235347 !important;
    font-weight: 700 !important;
}

[data-theme="archivist"] .app-sidebar__nav-item--active .app-sidebar__nav-icon[b-erp8xv729d] {
    color: #235347 !important;
}

[data-theme="archivist"] .app-sidebar__toggle-btn[b-erp8xv729d] {
    color: #74685D !important;
}

[data-theme="archivist"] .app-sidebar__toggle-btn:hover[b-erp8xv729d] {
    color: #235347 !important;
    background: rgba(140, 115, 62, 0.1) !important;
}

[data-theme="archivist"] .app-mobile-nav__item[b-erp8xv729d] {
    color: #5C5240 !important;
    font-family: 'MedievalSharp', cursive !important;
}

[data-theme="archivist"] .app-mobile-nav__item:hover[b-erp8xv729d],
[data-theme="archivist"] .app-mobile-nav__item--active[b-erp8xv729d] {
    color: #235347 !important;
}

/* ─── 3. Beta: Tactical HUD Reticle Mesh & Composite Carbon ─── */
[data-theme="beta"] .app-sidebar[b-erp8xv729d],
[data-theme="beta"] .app-mobile-nav[b-erp8xv729d] {
    background-color: #0A1624 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 0l12 6v12l-12 6L0 18V6z' stroke='%234BE277' stroke-width='0.5' stroke-opacity='0.06'/%3E%3Ccircle cx='12' cy='12' r='1' fill='%234BE277' fill-opacity='0.12'/%3E%3Cpath d='M0 12h24M12 0v24' stroke='%234BE277' stroke-width='0.5' stroke-opacity='0.03'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(13, 28, 45, 0.92) 0%, rgba(8, 18, 30, 0.98) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border-right: 1px solid rgba(75, 226, 119, 0.25) !important;
    border-top-color: rgba(75, 226, 119, 0.25) !important;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.5) !important;
}

/* ─── 4. Eldritch: Astral Void & Starlight Navigation ─── */
[data-theme="eldritch"] .app-sidebar[b-erp8xv729d],
[data-theme="eldritch"] .app-mobile-nav[b-erp8xv729d] {
    background-color: #0E0B1A !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M40 0L80 40L40 80L0 40Z' stroke='%23A855F7' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Ccircle cx='40' cy='40' r='1.5' fill='%2322D3EE' fill-opacity='0.15'/%3E%3Cline x1='0' y1='40' x2='80' y2='40' stroke='%2322D3EE' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='4 4'/%3E%3Cline x1='40' y1='0' x2='40' y2='80' stroke='%2322D3EE' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='4 4'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(20, 16, 33, 0.95) 0%, rgba(9, 7, 15, 0.98) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border-right: 1.5px solid rgba(168, 85, 247, 0.35) !important;
    border-top-color: rgba(168, 85, 247, 0.35) !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.85), inset -1px 0 0 rgba(0, 0, 0, 0.8) !important;
}

[data-theme="eldritch"] .app-sidebar__brand[b-erp8xv729d] {
    border-bottom: 1px solid rgba(168, 85, 247, 0.25) !important;
    background: rgba(9, 7, 15, 0.55) !important;
}

[data-theme="eldritch"] .app-sidebar__footer[b-erp8xv729d] {
    border-top: 1px solid rgba(168, 85, 247, 0.25) !important;
    background: rgba(9, 7, 15, 0.55) !important;
}

[data-theme="eldritch"] .app-sidebar__legal[b-erp8xv729d] {
    border-top-color: rgba(168, 85, 247, 0.2) !important;
    color: #94A3B8 !important;
}

[data-theme="eldritch"] .app-sidebar__legal a:hover[b-erp8xv729d] {
    color: #22D3EE !important;
}

[data-theme="eldritch"] .app-sidebar__nav-item[b-erp8xv729d] {
    color: #CBD5E1 !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
}

[data-theme="eldritch"] .app-sidebar__nav-item:hover[b-erp8xv729d] {
    background: rgba(168, 85, 247, 0.15) !important;
    color: #F1F5F9 !important;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="eldritch"] .app-sidebar__nav-item--active[b-erp8xv729d] {
    color: #22D3EE !important;
    background: linear-gradient(90deg, rgba(168, 85, 247, 0.35) 0%, rgba(20, 16, 33, 0.75) 100%) !important;
    border-left: 4px solid #22D3EE !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.7), 0 0 12px rgba(34, 211, 238, 0.2) !important;
}

[data-theme="eldritch"] .app-sidebar__nav-item--active .app-sidebar__nav-icon[b-erp8xv729d] {
    color: #22D3EE !important;
    text-shadow: 0 0 10px rgba(34, 211, 238, 0.6) !important;
}

[data-theme="eldritch"] .app-sidebar__toggle-btn[b-erp8xv729d] {
    color: #94A3B8 !important;
}

[data-theme="eldritch"] .app-sidebar__toggle-btn:hover[b-erp8xv729d] {
    color: #22D3EE !important;
    background: rgba(168, 85, 247, 0.15) !important;
}

[data-theme="eldritch"] .app-mobile-nav__item[b-erp8xv729d] {
    color: #94A3B8 !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
}

[data-theme="eldritch"] .app-mobile-nav__item:hover[b-erp8xv729d],
[data-theme="eldritch"] .app-mobile-nav__item--active[b-erp8xv729d] {
    color: #22D3EE !important;
}

/* ─── 5. Wildwood: Primeval Canopy & Sacred Grove Navigation ─── */
[data-theme="wildwood"] .app-sidebar[b-erp8xv729d],
[data-theme="wildwood"] .app-mobile-nav[b-erp8xv729d] {
    background-color: #0F1A12 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M40 0 C55 20 60 30 80 40 C60 50 55 60 40 80 C25 60 20 50 0 40 C20 30 25 20 40 0Z' stroke='%23387E47' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Ccircle cx='40' cy='40' r='2' fill='%23C4965E' fill-opacity='0.25'/%3E%3Cline x1='0' y1='40' x2='80' y2='40' stroke='%23387E47' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='4 4'/%3E%3Cline x1='40' y1='0' x2='40' y2='80' stroke='%23387E47' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='4 4'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(24, 38, 28, 0.95) 0%, rgba(12, 20, 14, 0.98) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border-right: 1.5px solid rgba(56, 126, 71, 0.35) !important;
    border-top-color: rgba(56, 126, 71, 0.35) !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.85), inset -1px 0 0 rgba(0, 0, 0, 0.8) !important;
}

[data-theme="wildwood"] .app-sidebar__brand[b-erp8xv729d] {
    border-bottom: 1px solid rgba(56, 126, 71, 0.25) !important;
    background: rgba(12, 20, 14, 0.55) !important;
}

[data-theme="wildwood"] .app-sidebar__footer[b-erp8xv729d] {
    border-top: 1px solid rgba(56, 126, 71, 0.25) !important;
    background: rgba(12, 20, 14, 0.55) !important;
}

[data-theme="wildwood"] .app-sidebar__legal[b-erp8xv729d] {
    border-top-color: rgba(56, 126, 71, 0.2) !important;
    color: #8BA88B !important;
}

[data-theme="wildwood"] .app-sidebar__legal a:hover[b-erp8xv729d] {
    color: #58A068 !important;
}

[data-theme="wildwood"] .app-sidebar__nav-item[b-erp8xv729d] {
    color: #B5C9B5 !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
}

[data-theme="wildwood"] .app-sidebar__nav-item:hover[b-erp8xv729d] {
    background: rgba(56, 126, 71, 0.15) !important;
    color: #E8F2E8 !important;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="wildwood"] .app-sidebar__nav-item--active[b-erp8xv729d] {
    color: #58A068 !important;
    background: linear-gradient(90deg, rgba(56, 126, 71, 0.32) 0%, rgba(24, 38, 28, 0.75) 100%) !important;
    border-left: 4px solid #387E47 !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.7), 0 0 12px rgba(56, 126, 71, 0.25) !important;
}

[data-theme="wildwood"] .app-sidebar__nav-item--active .app-sidebar__nav-icon[b-erp8xv729d] {
    color: #58A068 !important;
    text-shadow: 0 0 10px rgba(56, 126, 71, 0.6) !important;
}

[data-theme="wildwood"] .app-sidebar__toggle-btn[b-erp8xv729d] {
    color: #8BA88B !important;
}

[data-theme="wildwood"] .app-sidebar__toggle-btn:hover[b-erp8xv729d] {
    color: #58A068 !important;
    background: rgba(56, 126, 71, 0.15) !important;
}

[data-theme="wildwood"] .app-mobile-nav__item[b-erp8xv729d] {
    color: #8BA88B !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
}

[data-theme="wildwood"] .app-mobile-nav__item:hover[b-erp8xv729d],
[data-theme="wildwood"] .app-mobile-nav__item--active[b-erp8xv729d] {
    color: #58A068 !important;
}


/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-5nc2b7yowm],
.components-reconnect-repeated-attempt-visible[b-5nc2b7yowm],
.components-reconnect-failed-visible[b-5nc2b7yowm],
.components-pause-visible[b-5nc2b7yowm],
.components-resume-failed-visible[b-5nc2b7yowm],
.components-rejoining-animation[b-5nc2b7yowm] {
    display: none !important;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-5nc2b7yowm],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-5nc2b7yowm],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-5nc2b7yowm],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-5nc2b7yowm],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-5nc2b7yowm],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-5nc2b7yowm],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-5nc2b7yowm] {
    display: flex !important;
}

#components-reconnect-modal[b-5nc2b7yowm] {
    background-color: rgb(var(--color-surface-container, 18 33 49));
    color: rgb(var(--color-on-surface, 212 228 250));
    width: 25rem;
    max-width: calc(100vw - 2rem);
    margin: auto;
    padding: 2.25rem 1.75rem;
    border: 1px solid rgb(var(--color-primary, 75 226 119) / 0.3);
    border-radius: var(--card-radius, 1rem);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.85), 0 0 35px rgb(var(--color-primary, 75 226 119) / 0.15);
    overflow: hidden;
    opacity: 0;
    transition: display 0.4s allow-discrete, overlay 0.4s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-5nc2b7yowm 0.3s both;
    font-family: var(--font-body, 'Geist', sans-serif);
    box-sizing: border-box;
}

#components-reconnect-modal[open][b-5nc2b7yowm] {
    animation: components-reconnect-modal-slideUp-b-5nc2b7yowm 0.4s cubic-bezier(.05, .89, .25, 1.02) 0.1s, components-reconnect-modal-fadeInOpacity-b-5nc2b7yowm 0.3s ease-in-out 0.1s;
    animation-fill-mode: both;
}

#components-reconnect-modal[b-5nc2b7yowm]::backdrop {
    background-color: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    animation: components-reconnect-modal-fadeInOpacity-b-5nc2b7yowm 0.3s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-5nc2b7yowm {
    0% {
        transform: translateY(24px) scale(0.96);
    }
    100% {
        transform: translateY(0) scale(1);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-5nc2b7yowm {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-5nc2b7yowm {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-5nc2b7yowm] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.25rem;
}

.reconnect-ambient-glow[b-5nc2b7yowm] {
    position: absolute;
    top: -3.5rem;
    left: -3.5rem;
    width: 9rem;
    height: 9rem;
    background: rgb(var(--color-primary, 75 226 119) / 0.12);
    border-radius: 50%;
    filter: blur(40px);
    pointer-events: none;
}

.reconnect-badge[b-5nc2b7yowm] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 10px;
    font-family: var(--font-mono, monospace);
    letter-spacing: 0.12em;
    font-weight: 700;
    color: rgb(var(--color-primary, 75 226 119));
    background: rgb(var(--color-primary, 75 226 119) / 0.1);
    border: 1px solid rgb(var(--color-primary, 75 226 119) / 0.25);
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    text-transform: uppercase;
}

.reconnect-badge-icon[b-5nc2b7yowm] {
    font-size: 13px;
}

.reconnect-state-content[b-5nc2b7yowm] {
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
}

.reconnect-title[b-5nc2b7yowm] {
    font-size: 1.2rem;
    font-weight: 700;
    color: rgb(var(--color-on-surface, 212 228 250));
    font-family: var(--font-headline, inherit);
    margin: 0;
    line-height: 1.35;
    letter-spacing: -0.01em;
}

.reconnect-description[b-5nc2b7yowm] {
    font-size: 0.85rem;
    line-height: 1.55;
    color: rgb(var(--color-on-surface-variant, 188 203 185));
    margin: 0;
    text-align: center;
}

.reconnect-countdown[b-5nc2b7yowm] {
    color: rgb(var(--color-primary, 75 226 119));
    font-weight: 700;
    font-family: var(--font-mono, monospace);
    font-size: 1.05rem;
    padding: 0 0.15rem;
}

.reconnect-failed-icon-wrap[b-5nc2b7yowm] {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.25rem;
    box-shadow: 0 0 15px rgba(245, 158, 11, 0.2);
}

.reconnect-failed-icon[b-5nc2b7yowm] {
    font-size: 1.6rem;
    color: #fbbf24;
}

.reconnect-actions[b-5nc2b7yowm] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    justify-content: center;
    margin-top: 0.5rem;
    width: 100%;
}

.reconnect-primary-button[b-5nc2b7yowm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    background-color: rgb(var(--color-primary, 75 226 119));
    color: rgb(var(--color-on-primary, 0 57 21));
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--button-radius, 9999px);
    padding: 0.6rem 1.4rem;
    border: none;
    cursor: pointer;
    box-shadow: 0 0 15px rgb(var(--color-primary, 75 226 119) / 0.35);
    transition: filter 0.15s, transform 0.15s, box-shadow 0.15s;
}

.reconnect-primary-button:hover[b-5nc2b7yowm] {
    filter: brightness(1.1);
    transform: scale(1.03);
    box-shadow: 0 0 20px rgb(var(--color-primary, 75 226 119) / 0.5);
}

.reconnect-primary-button:active[b-5nc2b7yowm] {
    transform: scale(0.97);
}

.reconnect-secondary-button[b-5nc2b7yowm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    background: rgb(var(--color-surface-container-high, 28 43 60) / 0.8);
    color: rgb(var(--color-on-surface, 212 228 250));
    border: 1px solid rgb(var(--color-outline-variant, 61 74 61) / 0.6);
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--button-radius, 9999px);
    padding: 0.55rem 1.25rem;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s, background-color 0.15s;
}

.reconnect-secondary-button:hover[b-5nc2b7yowm] {
    border-color: rgb(var(--color-primary, 75 226 119) / 0.5);
    color: rgb(var(--color-primary, 75 226 119));
    background: rgb(var(--color-surface-container-highest, 39 54 71) / 0.8);
}

.components-rejoining-animation[b-5nc2b7yowm] {
    position: relative;
    width: 80px;
    height: 80px;
    align-items: center;
    justify-content: center;
}

.components-rejoining-animation div[b-5nc2b7yowm] {
    position: absolute;
    border: 2.5px solid rgb(var(--color-primary, 75 226 119));
    opacity: 1;
    border-radius: 50%;
    box-shadow: 0 0 10px rgb(var(--color-primary, 75 226 119) / 0.45);
    animation: components-rejoining-animation-b-5nc2b7yowm 1.6s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.components-rejoining-animation div:nth-child(2)[b-5nc2b7yowm] {
    animation-delay: -0.5s;
}

.reconnect-center-icon[b-5nc2b7yowm] {
    font-size: 26px;
    color: rgb(var(--color-primary, 75 226 119));
    text-shadow: 0 0 12px rgb(var(--color-primary, 75 226 119) / 0.6);
    animation: reconnect-center-pulse-b-5nc2b7yowm 2s ease-in-out infinite;
}

@keyframes reconnect-center-pulse-b-5nc2b7yowm {
    0%, 100% {
        transform: scale(0.95);
        opacity: 0.85;
    }
    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}

@keyframes components-rejoining-animation-b-5nc2b7yowm {
    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/Layout/TacticalMapContainer.razor.rz.scp.css */
.map-loading[b-r9oiegi46a] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin: 1rem 0;
    padding: 1rem 1.25rem;
    border: 1px solid rgb(var(--color-outline-variant) / 0.4);
    border-radius: var(--card-radius, 0.75rem);
    background: rgb(var(--color-surface-container-low) / 0.8);
    backdrop-filter: blur(12px);
    color: rgb(var(--color-on-surface) / 0.9);
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.4);
}
.map-loading strong[b-r9oiegi46a] {
    font-family: var(--font-headline, inherit);
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    color: rgb(var(--color-primary));
}
.map-loading p[b-r9oiegi46a] {
    font-size: 0.8rem;
    color: rgb(var(--color-on-surface-variant));
    margin: 0.25rem 0 0;
}
.map-loading > span[b-r9oiegi46a] {
    color: rgb(var(--color-primary));
    font-size: 1.75rem;
    animation: map-pulse-b-r9oiegi46a 2s ease-in-out infinite;
}
@keyframes map-pulse-b-r9oiegi46a {
    0%, 100% { opacity: 0.5; transform: scale(0.96); }
    50% { opacity: 1; transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
    .map-loading > span[b-r9oiegi46a] { animation: none; }
}

/* /Components/Pages/Home.razor.rz.scp.css */
.active-threat[b-hcshdpi2li] {
    min-height: 12rem;
    isolation: isolate;
    background-color: rgb(var(--color-surface-container, 18 33 49));
    background-position: center;
    background-size: cover;
}

.active-threat__scrim[b-hcshdpi2li] {
    z-index: -1;
    background:
        linear-gradient(90deg, rgb(var(--color-background, 5 20 36) / 0.98) 0%, rgb(var(--color-background, 5 20 36) / 0.84) 46%, rgb(var(--color-background, 5 20 36) / 0.52) 100%),
        linear-gradient(135deg, rgb(var(--color-primary, 75 226 119) / 0.16), transparent 65%);
}

.room-header[b-hcshdpi2li] {
    background-image: linear-gradient(90deg, rgb(var(--color-primary, 75 226 119) / 0.06), transparent 55%);
}

.home-main[b-hcshdpi2li] {
    padding-block-end: 6rem;
}

.loot-badge[b-hcshdpi2li] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.35;
    transition: transform 0.15s ease, border-color 0.15s ease;
}

.loot-item:hover .loot-badge[b-hcshdpi2li] {
    transform: translateY(-1px);
}

.home-layout[b-hcshdpi2li] {
    display: flex;
    flex-direction: column;
    gap: var(--pdm-space-4, 1.25rem);
    width: 100%;
}

.generator-panel[b-hcshdpi2li] {
    width: 100%;
    max-width: 48rem;
    margin-inline: auto;
    min-width: 0;
}

.home-content[b-hcshdpi2li] {
    width: 100%;
    min-width: 0;
}

.generation-loading-overlay[b-hcshdpi2li] {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgb(var(--color-background, 5 20 36) / 0.85);
    backdrop-filter: blur(5px);
    opacity: 1;
    transition: opacity 250ms ease;
}

.generation-loading-modal[b-hcshdpi2li] {
    position: relative;
    width: min(100%, 26rem);
    padding: 0;
    overflow: hidden;
    color: rgb(var(--color-primary, 75 226 119));
    text-align: center;
    background: rgb(var(--color-surface-container, 18 33 49) / 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgb(var(--color-primary, 75 226 119) / 0.35);
    border-radius: var(--corner-radius-card, 1.25rem);
    box-shadow: 0 0 2.5rem rgb(var(--color-primary, 75 226 119) / 0.2), 0 1.5rem 4rem rgba(0, 0, 0, 0.5);
    transform: translateY(0) scale(1);
    transition: transform 250ms ease, opacity 250ms ease;
}

[data-theme="grimoire"] .generation-loading-modal[b-hcshdpi2li],
[data-theme="eldritch"] .generation-loading-modal[b-hcshdpi2li],
[data-theme="wildwood"] .generation-loading-modal[b-hcshdpi2li] {
    border-width: 2px;
    outline: 1px solid rgb(var(--color-primary) / 0.25);
    outline-offset: -4px;
}

.generation-loading-overlay--closing[b-hcshdpi2li] { opacity: 0; pointer-events: none; }
.generation-loading-overlay--closing .generation-loading-modal[b-hcshdpi2li] { opacity: 0; transform: translateY(0.5rem) scale(0.98); }

.generation-loading-modal[b-hcshdpi2li]::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: "";
    background: linear-gradient(135deg, rgb(var(--color-primary, 75 226 119) / 0.06), transparent 45%);
}

.generation-loading-header[b-hcshdpi2li] {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: rgb(var(--color-background, 5 20 36));
    border-bottom: 1px solid rgb(var(--color-primary, 75 226 119) / 0.25);
}

.generation-loading-gem[b-hcshdpi2li] {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    max-height: 9.5rem;
    margin: 0;
    object-fit: cover;
}

.generation-loading-body[b-hcshdpi2li] {
    position: relative;
    padding: 1.15rem 1.5rem 1.5rem;
}

.generation-loading-modal h2[b-hcshdpi2li] {
    position: relative;
    margin: 0;
    color: rgb(var(--color-primary, 75 226 119));
    font-family: var(--font-headline, inherit);
    font-size: clamp(0.95rem, 3vw, 1.15rem);
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.35;
}

.generation-loading-dots[b-hcshdpi2li] {
    position: relative;
    margin: 0.15rem 0 0.85rem;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    line-height: 1;
    animation: generation-dots-pulse-b-hcshdpi2li 1s ease-in-out infinite;
}

.generation-loading-progress-track[b-hcshdpi2li] {
    position: relative;
    height: 0.38rem;
    margin: 0 auto 1rem;
    overflow: hidden;
    background: rgb(var(--color-background, 5 20 36));
    border-radius: 999px;
}

.generation-loading-progress[b-hcshdpi2li] {
    height: 100%;
    background: rgb(var(--color-primary, 75 226 119));
    border-radius: inherit;
    box-shadow: 0 0 0.75rem rgb(var(--color-primary, 75 226 119) / 0.55);
    width: 0%;
    transform-origin: left center;
    transition: width 120ms ease-out;
}

    /* When C# adds the closing class, instantly transition to 100% */
    .generation-loading-progress.generation-loading-progress--closing[b-hcshdpi2li] {
        width: 100% !important;
        transition: width 250ms ease-out;
    }

.generation-loading-steps[b-hcshdpi2li] {
    position: relative;
    min-height: 4.25rem;
    color: rgb(var(--color-primary, 75 226 119) / 0.85);
    font-family: var(--font-code, monospace);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.65;
    text-align: left;
    text-transform: uppercase;
}

.generation-loading-version[b-hcshdpi2li] {
    position: relative;
    margin-top: 0.35rem;
    color: rgb(var(--color-primary, 75 226 119) / 0.5);
    font-family: var(--font-code, monospace);
    font-size: 0.65rem;
    font-weight: 700;
    text-align: right;
}

@keyframes generation-gem-pulse-b-hcshdpi2li {
    0%, 100% {
        filter: drop-shadow(0 0 0.2rem rgb(var(--color-primary, 75 226 119) / 0.35));
        transform: scale(0.98);
    }

    50% {
        filter: drop-shadow(0 0 1rem rgb(var(--color-primary, 75 226 119) / 0.75));
        transform: scale(1.04);
    }
}

@keyframes generation-dots-pulse-b-hcshdpi2li {
    0%, 100% { opacity: 0.35; }
    50% { opacity: 1; }
}

@media (max-width: 1649px) {
    .active-threat[b-hcshdpi2li] {
        min-height: 10rem;
    }
}

@media (max-width: 480px) {
    .generation-loading-body[b-hcshdpi2li] {
        padding: 1.25rem 1.25rem 1.5rem;
    }

    .generation-loading-gem[b-hcshdpi2li] {
        max-height: 10rem;
    }
}

@media (min-width: 768px) {
    .home-main[b-hcshdpi2li] {
        padding-block-end: 3rem;
    }
}

/* --- Thematic Encounter Screen Cards Hierarchy (Grimoire) --- */
[data-theme="grimoire"] .generator-card[b-hcshdpi2li] {
    background-color: rgba(22, 20, 18, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(197, 160, 89, 0.45) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.8), 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    outline: 1px solid rgba(197, 160, 89, 0.18) !important;
    outline-offset: -3px !important;
}

[data-theme="grimoire"] .active-threat[b-hcshdpi2li] {
    border: 1.5px solid rgba(197, 160, 89, 0.45) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.8), 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    outline: 1px solid rgba(197, 160, 89, 0.18) !important;
    outline-offset: -3px !important;
}

[data-theme="grimoire"] .active-threat__scrim[b-hcshdpi2li] {
    background:
        linear-gradient(90deg, rgba(15, 14, 12, 0.96) 0%, rgba(15, 14, 12, 0.82) 46%, rgba(15, 14, 12, 0.55) 100%),
        linear-gradient(135deg, rgba(139, 30, 30, 0.25) 0%, rgba(197, 160, 89, 0.08) 65%) !important;
}

[data-theme="grimoire"] .room-card[b-hcshdpi2li] {
    background-color: rgba(20, 18, 16, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(197, 160, 89, 0.35) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.7), 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    outline: 1px solid rgba(197, 160, 89, 0.16) !important;
    outline-offset: -3px !important;
}

[data-theme="grimoire"] .room-header[b-hcshdpi2li] {
    background: linear-gradient(135deg, rgba(139, 30, 30, 0.22) 0%, rgba(28, 25, 23, 0.95) 55%) !important;
    border-bottom: 1.5px solid rgba(197, 160, 89, 0.35) !important;
}

[data-theme="grimoire"] .room-badge[b-hcshdpi2li] {
    background: rgba(15, 14, 12, 0.75) !important;
    border-color: rgba(197, 160, 89, 0.45) !important;
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
}

[data-theme="grimoire"] .room-header h2[b-hcshdpi2li] {
    font-family: 'Cinzel', serif !important;
    color: #FDF1DC !important;
    letter-spacing: 0.03em;
}

[data-theme="grimoire"] .room-hazard[b-hcshdpi2li] {
    background: #181310 !important;
    border: 1px solid rgba(197, 160, 89, 0.35) !important;
    border-left: 3.5px solid #8B1E1E !important;
    border-radius: 2px !important;
    color: #EDE4D0 !important;
    box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="grimoire"] .loot-card[b-hcshdpi2li] {
    background-color: rgba(20, 18, 16, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(197, 160, 89, 0.35) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.7), 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    outline: 1px solid rgba(197, 160, 89, 0.16) !important;
    outline-offset: -3px !important;
}

[data-theme="grimoire"] .loot-card h2[b-hcshdpi2li] {
    font-family: 'Cinzel', serif !important;
    color: #E5C175 !important;
}

[data-theme="grimoire"] .loot-item[b-hcshdpi2li] {
    background: #181512 !important;
    border: 1px solid rgba(197, 160, 89, 0.3) !important;
    border-radius: 3px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="grimoire"] .loot-item:hover[b-hcshdpi2li] {
    border-color: #C5A059 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5), 0 0 10px rgba(197, 160, 89, 0.2) !important;
    background: #201C18 !important;
}

[data-theme="grimoire"] .loot-item span:first-child[b-hcshdpi2li] {
    font-family: 'Cinzel', serif !important;
    color: #FDF1DC !important;
}

[data-theme="grimoire"] .loot-badge[b-hcshdpi2li] {
    background: rgba(197, 160, 89, 0.18) !important;
    border: 1px solid rgba(197, 160, 89, 0.45) !important;
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="grimoire"] .twist-card[b-hcshdpi2li] {
    background: #181310 !important;
    border: 1px solid rgba(197, 160, 89, 0.35) !important;
    border-left: 4px solid #8B1E1E !important;
    border-radius: 3px !important;
    color: #EDE4D0 !important;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.6) !important;
}

/* --- Thematic Encounter Screen Cards Hierarchy (Archivist) --- */
[data-theme="archivist"] .generator-card[b-hcshdpi2li] {
    background-color: rgba(252, 250, 246, 0.92) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(140, 115, 62, 0.45) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 18px rgba(140, 115, 62, 0.08), 0 1px 3px rgba(26, 23, 20, 0.04) !important;
    outline: 1px solid rgba(140, 115, 62, 0.18) !important;
    outline-offset: -3px !important;
}

[data-theme="archivist"] .active-threat[b-hcshdpi2li] {
    border: 1.5px solid rgba(140, 115, 62, 0.45) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 18px rgba(140, 115, 62, 0.08), 0 1px 3px rgba(26, 23, 20, 0.04) !important;
    outline: 1px solid rgba(140, 115, 62, 0.18) !important;
    outline-offset: -3px !important;
}

[data-theme="archivist"] .active-threat__scrim[b-hcshdpi2li] {
    background:
        linear-gradient(90deg, rgba(247, 244, 235, 0.96) 0%, rgba(247, 244, 235, 0.85) 46%, rgba(247, 244, 235, 0.55) 100%),
        linear-gradient(135deg, rgba(35, 83, 71, 0.14) 0%, rgba(140, 115, 62, 0.08) 65%) !important;
}

[data-theme="archivist"] .active-threat h1[b-hcshdpi2li] {
    font-family: 'MedievalSharp', cursive !important;
    color: #1A1714 !important;
}

[data-theme="archivist"] .room-card[b-hcshdpi2li] {
    background-color: rgba(252, 250, 246, 0.92) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(140, 115, 62, 0.4) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(140, 115, 62, 0.07), 0 1px 3px rgba(26, 23, 20, 0.04) !important;
    outline: 1px solid rgba(140, 115, 62, 0.16) !important;
    outline-offset: -3px !important;
}

[data-theme="archivist"] .room-header[b-hcshdpi2li] {
    background: linear-gradient(135deg, rgba(35, 83, 71, 0.12) 0%, rgba(247, 244, 235, 0.95) 60%) !important;
    border-bottom: 1.5px solid rgba(140, 115, 62, 0.35) !important;
}

[data-theme="archivist"] .room-badge[b-hcshdpi2li] {
    background: rgba(252, 250, 246, 0.85) !important;
    border-color: rgba(140, 115, 62, 0.45) !important;
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
}

[data-theme="archivist"] .room-header h2[b-hcshdpi2li] {
    font-family: 'MedievalSharp', cursive !important;
    color: #1A1714 !important;
    letter-spacing: 0.03em;
}

[data-theme="archivist"] .room-hazard[b-hcshdpi2li] {
    background: #F5EFE3 !important;
    border: 1px solid rgba(140, 115, 62, 0.35) !important;
    border-left: 3.5px solid #9E2A2B !important;
    border-radius: 2px !important;
    color: #1A1714 !important;
    box-shadow: inset 0 1px 3px rgba(140, 115, 62, 0.1) !important;
}

[data-theme="archivist"] .loot-card[b-hcshdpi2li] {
    background-color: rgba(252, 250, 246, 0.92) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(140, 115, 62, 0.4) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(140, 115, 62, 0.07), 0 1px 3px rgba(26, 23, 20, 0.04) !important;
    outline: 1px solid rgba(140, 115, 62, 0.16) !important;
    outline-offset: -3px !important;
}

[data-theme="archivist"] .loot-card h2[b-hcshdpi2li] {
    font-family: 'MedievalSharp', cursive !important;
    color: #235347 !important;
}

[data-theme="archivist"] .loot-item[b-hcshdpi2li] {
    background: #F7F4EB !important;
    border: 1px solid rgba(140, 115, 62, 0.3) !important;
    border-radius: 3px !important;
    box-shadow: inset 0 1px 2px rgba(140, 115, 62, 0.06) !important;
}

[data-theme="archivist"] .loot-item:hover[b-hcshdpi2li] {
    border-color: #8C733E !important;
    box-shadow: 0 4px 14px rgba(140, 115, 62, 0.15), 0 0 10px rgba(35, 83, 71, 0.1) !important;
    background: #FAF7F0 !important;
}

[data-theme="archivist"] .loot-item span:first-child[b-hcshdpi2li] {
    font-family: 'MedievalSharp', cursive !important;
    color: #1A1714 !important;
}

[data-theme="archivist"] .loot-badge[b-hcshdpi2li] {
    background: #F3EFE4 !important;
    border: 1px solid rgba(140, 115, 62, 0.45) !important;
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    box-shadow: 0 1px 3px rgba(140, 115, 62, 0.12) !important;
}

[data-theme="archivist"] .twist-card[b-hcshdpi2li] {
    background: #F5EFE3 !important;
    border: 1px solid rgba(140, 115, 62, 0.35) !important;
    border-left: 4px solid #9E2A2B !important;
    border-radius: 3px !important;
    color: #1A1714 !important;
    box-shadow: inset 0 1px 3px rgba(140, 115, 62, 0.1) !important;
}

/* --- Thematic Encounter Screen Cards Hierarchy (Eldritch) --- */
[data-theme="eldritch"] .generator-card[b-hcshdpi2li] {
    background-color: rgba(20, 16, 33, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
    border-radius: 6px !important;
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.85), 0 8px 28px rgba(0, 0, 0, 0.7), 0 0 16px rgba(168, 85, 247, 0.15) !important;
    outline: 1px solid rgba(168, 85, 247, 0.2) !important;
    outline-offset: -3px !important;
}

[data-theme="eldritch"] .active-threat[b-hcshdpi2li] {
    border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
    border-radius: 6px !important;
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.85), 0 8px 28px rgba(0, 0, 0, 0.7), 0 0 18px rgba(168, 85, 247, 0.18) !important;
    outline: 1px solid rgba(168, 85, 247, 0.2) !important;
    outline-offset: -3px !important;
}

[data-theme="eldritch"] .active-threat__scrim[b-hcshdpi2li] {
    background:
        linear-gradient(90deg, rgba(9, 7, 15, 0.96) 0%, rgba(9, 7, 15, 0.82) 46%, rgba(9, 7, 15, 0.55) 100%),
        linear-gradient(135deg, rgba(168, 85, 247, 0.22) 0%, rgba(34, 211, 238, 0.1) 65%) !important;
}

[data-theme="eldritch"] .active-threat h1[b-hcshdpi2li] {
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    color: #F1F5F9 !important;
}

[data-theme="eldritch"] .room-card[b-hcshdpi2li] {
    background-color: rgba(18, 14, 29, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(168, 85, 247, 0.35) !important;
    border-radius: 6px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.75), 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    outline: 1px solid rgba(168, 85, 247, 0.18) !important;
    outline-offset: -3px !important;
}

[data-theme="eldritch"] .room-header[b-hcshdpi2li] {
    background: linear-gradient(135deg, rgba(126, 34, 206, 0.25) 0%, rgba(20, 16, 33, 0.95) 55%) !important;
    border-bottom: 1.5px solid rgba(168, 85, 247, 0.35) !important;
}

[data-theme="eldritch"] .room-badge[b-hcshdpi2li] {
    background: rgba(9, 7, 15, 0.75) !important;
    border-color: rgba(168, 85, 247, 0.45) !important;
    color: #C084FC !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
}

[data-theme="eldritch"] .room-header h2[b-hcshdpi2li] {
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    color: #F1F5F9 !important;
    letter-spacing: 0.04em;
}

[data-theme="eldritch"] .room-hazard[b-hcshdpi2li] {
    background: #130D1F !important;
    border: 1px solid rgba(168, 85, 247, 0.35) !important;
    border-left: 3.5px solid #F43F5E !important;
    border-radius: 3px !important;
    color: #F1F5F9 !important;
    box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="eldritch"] .loot-card[b-hcshdpi2li] {
    background-color: rgba(18, 14, 29, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(168, 85, 247, 0.35) !important;
    border-radius: 6px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.75), 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    outline: 1px solid rgba(168, 85, 247, 0.18) !important;
    outline-offset: -3px !important;
}

[data-theme="eldritch"] .loot-card h2[b-hcshdpi2li] {
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    color: #C084FC !important;
}

[data-theme="eldritch"] .loot-item[b-hcshdpi2li] {
    background: #141021 !important;
    border: 1px solid rgba(168, 85, 247, 0.3) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="eldritch"] .loot-item:hover[b-hcshdpi2li] {
    border-color: #22D3EE !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6), 0 0 12px rgba(34, 211, 238, 0.25) !important;
    background: #1B152E !important;
}

[data-theme="eldritch"] .loot-item span:first-child[b-hcshdpi2li] {
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    color: #F1F5F9 !important;
}

[data-theme="eldritch"] .loot-badge[b-hcshdpi2li] {
    background: rgba(34, 211, 238, 0.15) !important;
    border: 1px solid rgba(34, 211, 238, 0.35) !important;
    color: #22D3EE !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    box-shadow: 0 0 8px rgba(34, 211, 238, 0.2) !important;
}

[data-theme="eldritch"] .twist-card[b-hcshdpi2li] {
    background: #130D1F !important;
    border: 1px solid rgba(168, 85, 247, 0.35) !important;
    border-left: 4px solid #F43F5E !important;
    border-radius: 4px !important;
    color: #F1F5F9 !important;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.7) !important;
}

/* ── Eldritch Loading Screen Modal ── */
[data-theme="eldritch"] .generation-loading-header[b-hcshdpi2li] {
    background: #09070F !important;
    border-bottom: 2px solid #A855F7 !important;
    box-shadow: 0 4px 20px rgba(168, 85, 247, 0.25) !important;
}

[data-theme="eldritch"] .generation-loading-modal[b-hcshdpi2li] {
    background: rgba(14, 11, 24, 0.96) !important;
    border: 2px solid #A855F7 !important;
    box-shadow: 0 0 35px rgba(168, 85, 247, 0.35), inset 0 0 25px rgba(9, 7, 15, 0.9) !important;
    outline: 1px solid rgba(34, 211, 238, 0.3) !important;
    outline-offset: -5px !important;
}

[data-theme="eldritch"] .generation-loading-modal h2[b-hcshdpi2li] {
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    color: #FFFFFF !important;
    text-shadow: 0 0 14px rgba(168, 85, 247, 0.6) !important;
}

[data-theme="eldritch"] .generation-loading-dots[b-hcshdpi2li] {
    color: #22D3EE !important;
    text-shadow: 0 0 10px rgba(34, 211, 238, 0.7) !important;
}

[data-theme="eldritch"] .generation-loading-progress-track[b-hcshdpi2li] {
    background: #09070F !important;
    border: 1px solid rgba(168, 85, 247, 0.3) !important;
}

[data-theme="eldritch"] .generation-loading-progress[b-hcshdpi2li] {
    background: linear-gradient(90deg, #A855F7, #22D3EE) !important;
    box-shadow: 0 0 14px rgba(34, 211, 238, 0.75) !important;
}

[data-theme="eldritch"] .generation-loading-steps[b-hcshdpi2li] {
    color: #E2E8F0 !important;
    font-family: 'Cinzel Decorative', monospace !important;
    font-size: 0.75rem !important;
}

[data-theme="eldritch"] .generation-loading-version[b-hcshdpi2li] {
    color: #C084FC !important;
    font-family: 'Cinzel Decorative', monospace !important;
    font-size: 0.65rem !important;
}

/* --- Thematic Encounter Screen Cards Hierarchy (Wildwood) --- */
[data-theme="wildwood"] .generator-card[b-hcshdpi2li] {
    background-color: rgba(24, 38, 28, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(56, 126, 71, 0.45) !important;
    border-radius: 5px !important;
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.85), 0 8px 28px rgba(0, 0, 0, 0.7), 0 0 16px rgba(56, 126, 71, 0.12) !important;
    outline: 1px solid rgba(196, 150, 94, 0.22) !important;
    outline-offset: -3px !important;
}

[data-theme="wildwood"] .active-threat[b-hcshdpi2li] {
    border: 1.5px solid rgba(56, 126, 71, 0.45) !important;
    border-radius: 5px !important;
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.85), 0 8px 28px rgba(0, 0, 0, 0.7), 0 0 18px rgba(56, 126, 71, 0.16) !important;
    outline: 1px solid rgba(196, 150, 94, 0.22) !important;
    outline-offset: -3px !important;
}

[data-theme="wildwood"] .active-threat__scrim[b-hcshdpi2li] {
    background:
        linear-gradient(90deg, rgba(12, 20, 14, 0.96) 0%, rgba(12, 20, 14, 0.82) 46%, rgba(12, 20, 14, 0.55) 100%),
        linear-gradient(135deg, rgba(56, 126, 71, 0.20) 0%, rgba(196, 150, 94, 0.12) 65%) !important;
}

[data-theme="wildwood"] .active-threat h1[b-hcshdpi2li] {
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    color: #E8F2E8 !important;
}

[data-theme="wildwood"] .room-card[b-hcshdpi2li] {
    background-color: rgba(20, 32, 23, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(56, 126, 71, 0.35) !important;
    border-radius: 5px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.75), 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    outline: 1px solid rgba(196, 150, 94, 0.2) !important;
    outline-offset: -3px !important;
}

[data-theme="wildwood"] .room-header[b-hcshdpi2li] {
    background: linear-gradient(135deg, rgba(28, 77, 42, 0.28) 0%, rgba(24, 38, 28, 0.95) 55%) !important;
    border-bottom: 1.5px solid rgba(56, 126, 71, 0.35) !important;
}

[data-theme="wildwood"] .room-badge[b-hcshdpi2li] {
    background: rgba(12, 20, 14, 0.75) !important;
    border-color: rgba(56, 126, 71, 0.45) !important;
    color: #58A068 !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
}

[data-theme="wildwood"] .room-header h2[b-hcshdpi2li] {
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    color: #E8F2E8 !important;
    letter-spacing: 0.04em;
}

[data-theme="wildwood"] .room-hazard[b-hcshdpi2li] {
    background: #19271E !important;
    border: 1px solid rgba(56, 126, 71, 0.35) !important;
    border-left: 3.5px solid #D94E34 !important;
    border-radius: 3px !important;
    color: #E8F2E8 !important;
    box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="wildwood"] .loot-card[b-hcshdpi2li] {
    background-color: rgba(20, 32, 23, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(56, 126, 71, 0.35) !important;
    border-radius: 5px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.75), 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    outline: 1px solid rgba(196, 150, 94, 0.2) !important;
    outline-offset: -3px !important;
}

[data-theme="wildwood"] .loot-card h2[b-hcshdpi2li] {
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    color: #58A068 !important;
}

[data-theme="wildwood"] .loot-item[b-hcshdpi2li] {
    background: #18261C !important;
    border: 1px solid rgba(56, 126, 71, 0.3) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="wildwood"] .loot-item:hover[b-hcshdpi2li] {
    border-color: #C4965E !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6), 0 0 12px rgba(56, 126, 71, 0.25) !important;
    background: #213426 !important;
}

[data-theme="wildwood"] .loot-item span:first-child[b-hcshdpi2li] {
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    color: #E8F2E8 !important;
}

[data-theme="wildwood"] .loot-badge[b-hcshdpi2li] {
    background: rgba(196, 150, 94, 0.2) !important;
    border: 1px solid rgba(196, 150, 94, 0.4) !important;
    color: #C4965E !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="wildwood"] .twist-card[b-hcshdpi2li] {
    background: #19271E !important;
    border: 1px solid rgba(56, 126, 71, 0.35) !important;
    border-left: 4px solid #D94E34 !important;
    border-radius: 4px !important;
    color: #E8F2E8 !important;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.7) !important;
}

/* ── Wildwood Loading Screen Modal ── */
[data-theme="wildwood"] .generation-loading-header[b-hcshdpi2li] {
    background: #0C140E !important;
    border-bottom: 2px solid #387E47 !important;
    box-shadow: 0 4px 20px rgba(56, 126, 71, 0.25) !important;
}

[data-theme="wildwood"] .generation-loading-modal[b-hcshdpi2li] {
    background: rgba(18, 29, 21, 0.96) !important;
    border: 2px solid #387E47 !important;
    box-shadow: 0 0 35px rgba(56, 126, 71, 0.32), inset 0 0 25px rgba(12, 20, 14, 0.9) !important;
    outline: 1px solid rgba(196, 150, 94, 0.3) !important;
    outline-offset: -5px !important;
}

[data-theme="wildwood"] .generation-loading-modal h2[b-hcshdpi2li] {
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    color: #FFFFFF !important;
    text-shadow: 0 0 14px rgba(56, 126, 71, 0.6) !important;
}

[data-theme="wildwood"] .generation-loading-dots[b-hcshdpi2li] {
    color: #C4965E !important;
    text-shadow: 0 0 10px rgba(196, 150, 94, 0.7) !important;
}

[data-theme="wildwood"] .generation-loading-progress-track[b-hcshdpi2li] {
    background: #0C140E !important;
    border: 1px solid rgba(56, 126, 71, 0.3) !important;
}

[data-theme="wildwood"] .generation-loading-progress[b-hcshdpi2li] {
    background: linear-gradient(90deg, #387E47, #C4965E) !important;
    box-shadow: 0 0 14px rgba(56, 126, 71, 0.75) !important;
}

[data-theme="wildwood"] .generation-loading-steps[b-hcshdpi2li] {
    color: #E8F2E8 !important;
    font-family: 'Eagle Lake', monospace !important;
    font-size: 0.75rem !important;
}

[data-theme="wildwood"] .generation-loading-version[b-hcshdpi2li] {
    color: #58A068 !important;
    font-family: 'Eagle Lake', monospace !important;
    font-size: 0.65rem !important;
}

/* /Components/Pages/Pricing.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════
   Pricing / Top-Up Page – Scoped Shell Styles
   ═══════════════════════════════════════════════════════════ */

.pricing-main[b-z0gofrhaw4] {
    position: relative;
    min-height: 100vh;
}

/* ─── Best Value Badge Positioning & Spacing ─── */
.pricing-card__badge--best-value[b-z0gofrhaw4] {
    top: -.1rem;
}

@media (min-width: 640px) {
    .pricing-card__badge--best-value[b-z0gofrhaw4] {
        top: -.375rem;
    }
}



/* /Components/Pages/SessionHistory.razor.rz.scp.css */
/* ─── Archive Main Content ─── */
.archive-main[b-8snnvz5g45] {
    position: relative;
    padding-top: 2rem;
    padding-bottom: 24px;
    padding-left: 24px;
    padding-right: 24px;
    min-height: 100vh;
}

/* ─── Header / Title Row ─── */
.archive-title-row[b-8snnvz5g45] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}

.archive-title[b-8snnvz5g45] {
    font-family: var(--font-headline, 'Geist', sans-serif);
    font-size: clamp(1.8rem, 5vw, 2.6rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: rgb(var(--color-on-surface));
    margin: 0;
}

.archive-subtitle[b-8snnvz5g45] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    margin-bottom: 0;
    font-size: 14px;
    color: rgb(var(--color-on-surface-variant));
}

.archive-subtitle-icon[b-8snnvz5g45] {
    font-size: 16px;
    color: rgb(var(--color-primary));
}

.archive-controls[b-8snnvz5g45] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.archive-search-box[b-8snnvz5g45] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgb(var(--color-surface-container) / 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgb(var(--color-outline-variant) / 0.4);
    border-radius: var(--button-radius, 9999px);
    padding: 8px 16px;
    min-width: 220px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.archive-search-box:focus-within[b-8snnvz5g45] {
    border-color: rgb(var(--color-primary) / 0.6);
    box-shadow: 0 0 12px rgb(var(--color-primary) / 0.2);
}

.archive-search-icon[b-8snnvz5g45] {
    font-size: 16px;
    color: rgb(var(--color-outline));
}

.archive-search-input[b-8snnvz5g45] {
    background: transparent;
    border: none;
    color: rgb(var(--color-on-surface));
    font-size: 13px;
    outline: none;
    width: 100%;
    font-family: var(--font-body, 'Geist', sans-serif);
}

.archive-search-input[b-8snnvz5g45]::placeholder {
    color: rgb(var(--color-on-surface-variant) / 0.5);
}

.archive-filter-btn[b-8snnvz5g45] {
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgb(var(--color-outline-variant) / 0.4);
    color: rgb(var(--color-on-surface));
    background: rgb(var(--color-surface-container) / 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: var(--button-radius, 9999px);
    padding: 8px 18px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    white-space: nowrap;
    font-family: var(--font-headline, 'Geist', sans-serif);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease;
}

.archive-filter-btn:hover[b-8snnvz5g45] {
    border-color: rgb(var(--color-primary) / 0.6);
    color: rgb(var(--color-primary));
    background: rgb(var(--color-primary) / 0.1);
    transform: scale(1.02);
}

.archive-filter-btn--active[b-8snnvz5g45] {
    border-color: rgb(var(--color-primary) / 0.6);
    background: rgb(var(--color-primary) / 0.15);
    color: rgb(var(--color-primary));
    box-shadow: 0 0 12px rgb(var(--color-primary) / 0.25);
}

.archive-filter-icon[b-8snnvz5g45] {
    font-size: 16px;
}

/* ─── Filter Panel ─── */
.filter-panel[b-8snnvz5g45] {
    background: rgb(var(--color-surface-container) / 0.9);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgb(var(--color-outline-variant) / 0.35);
    border-radius: var(--card-radius, 1rem);
    padding: 20px 24px;
    margin-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.2);
}

.filter-group[b-8snnvz5g45] {
    min-width: 140px;
}

.filter-label[b-8snnvz5g45] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgb(var(--color-outline));
    margin-bottom: 8px;
    font-family: var(--font-headline, 'Geist', sans-serif);
}

.filter-options[b-8snnvz5g45] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    background: rgb(var(--color-surface-container-lowest) / 0.6);
    padding: 4px;
    border-radius: var(--button-radius, 9999px);
    border: 1px solid rgb(var(--color-outline-variant) / 0.25);
}

.filter-chip[b-8snnvz5g45] {
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 12px;
    border-radius: var(--button-radius, 9999px);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid transparent;
    color: rgb(var(--color-on-surface-variant));
    background: transparent;
    transition: all 0.15s ease;
}

.filter-chip:hover[b-8snnvz5g45] {
    color: rgb(var(--color-on-surface));
    background: rgb(var(--color-surface-container-high) / 0.6);
}

.filter-chip--active[b-8snnvz5g45] {
    border-color: rgb(var(--color-primary) / 0.5);
    color: rgb(var(--color-on-primary));
    background: rgb(var(--color-primary));
    font-weight: 700;
    box-shadow: 0 0 10px rgb(var(--color-primary) / 0.35);
}

.filter-chip__dot[b-8snnvz5g45] {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.filter-chip__dot.diff-lethal[b-8snnvz5g45] { background: rgb(var(--color-error)); }
.filter-chip__dot.diff-hard[b-8snnvz5g45] { background: rgb(var(--color-secondary)); }
.filter-chip__dot.diff-moderate[b-8snnvz5g45] { background: rgb(var(--color-primary)); }
.filter-chip__dot.diff-easy[b-8snnvz5g45] { background: rgb(var(--color-on-surface-variant)); }

.filter-inputs-row[b-8snnvz5g45] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-number-input[b-8snnvz5g45] {
    width: 64px;
    background: rgb(var(--color-surface-container-lowest) / 0.6);
    border: 1px solid rgb(var(--color-outline-variant) / 0.4);
    border-radius: var(--button-radius, 9999px);
    padding: 5px 10px;
    color: rgb(var(--color-on-surface));
    font-size: 12px;
    outline: none;
    font-family: var(--font-body, 'Geist', sans-serif);
    text-align: center;
    transition: border-color 0.15s ease;
}

.filter-number-input:focus[b-8snnvz5g45] {
    border-color: rgb(var(--color-primary) / 0.6);
    box-shadow: 0 0 8px rgb(var(--color-primary) / 0.2);
}

.filter-range-sep[b-8snnvz5g45] {
    color: rgb(var(--color-outline));
    font-size: 12px;
}

.filter-clear-container[b-8snnvz5g45] {
    display: flex;
    align-items: flex-end;
    padding-bottom: 2px;
}

.filter-clear-btn[b-8snnvz5g45] {
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    color: rgb(var(--color-error));
    background: rgb(var(--color-error) / 0.08);
    border: 1px solid rgb(var(--color-error) / 0.25);
    border-radius: var(--button-radius, 9999px);
    padding: 5px 14px;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: all 0.15s ease;
    font-family: var(--font-body, 'Geist', sans-serif);
}

.filter-clear-btn:hover[b-8snnvz5g45] {
    background: rgb(var(--color-error) / 0.15);
    border-color: rgb(var(--color-error) / 0.4);
}

.filter-clear-icon[b-8snnvz5g45] {
    font-size: 14px;
}

/* ─── Archive Table ─── */
.archive-table-card[b-8snnvz5g45] {
    border: 1px solid rgb(var(--color-outline-variant) / 0.35);
    border-radius: var(--card-radius, 1rem);
    overflow: hidden;
    background: rgb(var(--color-surface-container-low) / 0.85);
    backdrop-filter: blur(16px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
}

.archive-grid[b-8snnvz5g45] {
    display: grid;
    grid-template-columns: minmax(180px, 2.5fr) minmax(100px, 1.2fr) minmax(100px, 1.2fr) minmax(80px, 1fr) 100px;
    align-items: center;
    gap: 0;
}

.archive-header[b-8snnvz5g45] {
    padding: 14px 24px;
    border-bottom: 1px solid rgb(var(--color-outline-variant) / 0.25);
    background: rgb(var(--color-surface-container-lowest) / 0.7);
}

.archive-header-cell[b-8snnvz5g45] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgb(var(--color-on-surface-variant));
    font-family: var(--font-headline, 'Geist', sans-serif);
}

.archive-header-cell--actions[b-8snnvz5g45] {
    text-align: right;
}

.archive-row[b-8snnvz5g45] {
    border-bottom: 1px solid rgb(var(--color-outline-variant) / 0.15);
    padding: 16px 24px;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.archive-row:hover[b-8snnvz5g45] {
    background-color: rgb(var(--color-surface-container-high) / 0.45);
}

.archive-row:hover .row-signature-title[b-8snnvz5g45] {
    color: rgb(var(--color-primary));
}

.row-signature-title[b-8snnvz5g45] {
    font-weight: 700;
    font-size: 15px;
    color: rgb(var(--color-on-surface));
    font-family: var(--font-headline, 'Geist', sans-serif);
    line-height: 1.3;
    transition: color 0.15s ease;
}

.row-signature-sub[b-8snnvz5g45] {
    font-size: 12px;
    color: rgb(var(--color-outline));
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 3px;
}

.row-folder-icon[b-8snnvz5g45] {
    font-size: 14px;
}

.row-timestamp-date[b-8snnvz5g45] {
    font-size: 14px;
    color: rgb(var(--color-on-surface));
    font-weight: 500;
}

.row-timestamp-time[b-8snnvz5g45] {
    font-size: 12px;
    color: rgb(var(--color-outline));
    margin-top: 1px;
}

.row-diff-label[b-8snnvz5g45] {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-top: 4px;
    display: flex;
    align-items: center;
}

.row-stats-level[b-8snnvz5g45] {
    font-size: 14px;
    color: rgb(var(--color-on-surface));
    font-weight: 700;
}

.row-stats-players[b-8snnvz5g45] {
    font-size: 12px;
    color: rgb(var(--color-outline));
    margin-top: 1px;
}

.row-actions[b-8snnvz5g45] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

/* ─── Badges & Difficulty Dots ─── */
.archive-badge[b-8snnvz5g45] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--button-radius, 9999px);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.5;
}

.badge-combat[b-8snnvz5g45] {
    background: rgb(var(--color-error) / 0.15);
    color: rgb(var(--color-error));
    border: 1px solid rgb(var(--color-error) / 0.3);
}

.badge-stealth[b-8snnvz5g45] {
    background: rgb(var(--color-primary) / 0.15);
    color: rgb(var(--color-primary));
    border: 1px solid rgb(var(--color-primary) / 0.3);
}

.badge-social[b-8snnvz5g45] {
    background: rgb(var(--color-secondary) / 0.15);
    color: rgb(var(--color-secondary));
    border: 1px solid rgb(var(--color-secondary) / 0.3);
}

.badge-unknown[b-8snnvz5g45] {
    background: rgb(var(--color-surface-container-high));
    color: rgb(var(--color-outline));
    border: 1px solid rgb(var(--color-outline-variant) / 0.4);
}

.diff-dot[b-8snnvz5g45] {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin-right: 5px;
}

.diff-lethal[b-8snnvz5g45] { color: rgb(var(--color-error)); }
.diff-lethal .diff-dot[b-8snnvz5g45] { background: rgb(var(--color-error)); }

.diff-hard[b-8snnvz5g45] { color: rgb(var(--color-secondary)); }
.diff-hard .diff-dot[b-8snnvz5g45] { background: rgb(var(--color-secondary)); }

.diff-moderate[b-8snnvz5g45] { color: rgb(var(--color-primary)); }
.diff-moderate .diff-dot[b-8snnvz5g45] { background: rgb(var(--color-primary)); }

.diff-easy[b-8snnvz5g45] { color: rgb(var(--color-on-surface-variant)); }
.diff-easy .diff-dot[b-8snnvz5g45] { background: rgb(var(--color-on-surface-variant)); }

/* ─── Action Buttons ─── */
.action-btn[b-8snnvz5g45] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--button-radius, 9999px);
    border: 1px solid rgb(var(--color-outline-variant) / 0.35);
    color: rgb(var(--color-outline));
    background: rgb(var(--color-surface-container-lowest) / 0.6);
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.action-btn:hover[b-8snnvz5g45] {
    border-color: rgb(var(--color-primary));
    color: rgb(var(--color-primary));
    background: rgb(var(--color-primary) / 0.12);
    transform: scale(1.08);
}

.action-btn--delete:hover[b-8snnvz5g45] {
    border-color: rgb(var(--color-error) / 0.6);
    color: rgb(var(--color-error));
    background: rgb(var(--color-error) / 0.15);
    box-shadow: 0 0 10px rgb(var(--color-error) / 0.25);
    transform: scale(1.08);
}

.action-btn-icon[b-8snnvz5g45] {
    font-size: 17px;
}

/* ─── Empty & Loading States ─── */
.archive-empty-state[b-8snnvz5g45] {
    padding: 48px;
    text-align: center;
    color: rgb(var(--color-on-surface-variant));
    font-size: 13px;
}

.archive-loading-icon[b-8snnvz5g45] {
    vertical-align: middle;
    margin-right: 8px;
    color: rgb(var(--color-primary));
}

.archive-empty-icon[b-8snnvz5g45] {
    vertical-align: middle;
    margin-right: 8px;
}

/* ─── Footer & Pagination ─── */
.archive-footer[b-8snnvz5g45] {
    padding: 14px 24px;
    background: rgb(var(--color-surface-container-lowest) / 0.7);
    border-top: 1px solid rgb(var(--color-outline-variant) / 0.2);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.archive-record-count[b-8snnvz5g45] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgb(var(--color-outline));
    font-family: var(--font-headline, 'Geist', sans-serif);
}

.pagination-controls[b-8snnvz5g45] {
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgb(var(--color-surface-container-lowest) / 0.6);
    padding: 4px;
    border-radius: var(--button-radius, 9999px);
    border: 1px solid rgb(var(--color-outline-variant) / 0.25);
}

.page-btn[b-8snnvz5g45] {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--button-radius, 9999px);
    border: 1px solid transparent;
    color: rgb(var(--color-outline));
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.15s ease;
}

.page-btn:hover:not(:disabled)[b-8snnvz5g45] {
    border-color: rgb(var(--color-primary) / 0.4);
    color: rgb(var(--color-primary));
    background: rgb(var(--color-primary) / 0.08);
}

.page-btn--active[b-8snnvz5g45] {
    border-color: rgb(var(--color-primary));
    background: rgb(var(--color-primary) / 0.15) !important;
    color: rgb(var(--color-primary));
    font-weight: 700;
    box-shadow: 0 0 10px rgb(var(--color-primary) / 0.2);
}

.page-btn:disabled[b-8snnvz5g45] {
    opacity: 0.3;
    cursor: not-allowed;
}

.page-btn-icon[b-8snnvz5g45] {
    font-size: 14px;
}

.page-ellipsis[b-8snnvz5g45] {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgb(var(--color-outline));
    font-size: 12px;
}

/* ─── Responsive Media Queries ─── */
@media (max-width: 767px) {
    .archive-main[b-8snnvz5g45] {
        padding-left: 16px;
        padding-right: 16px;
    }

    .archive-grid[b-8snnvz5g45] {
        grid-template-columns: 1fr 1fr;
        row-gap: 4px;
    }

    .archive-col-signature[b-8snnvz5g45] {
        grid-column: 1 / -1;
    }

    .archive-col-actions[b-8snnvz5g45] {
        grid-column: 1 / -1;
    }

    .archive-header[b-8snnvz5g45] {
        display: none !important;
    }
}
/* /Components/Shared/ActionCard.razor.rz.scp.css */
.action-card[b-bvihxl5579] {
    display: flex;
    flex-direction: column;
    gap: var(--pdm-space-2, 0.5rem);
}

.action-card__name[b-bvihxl5579] {
    line-height: 1.25;
}

.action-card__metadata[b-bvihxl5579] {
    border-block: 1px solid rgba(148, 163, 184, 0.16);
    padding-block: var(--pdm-space-2, 0.5rem);
}

.action-card__metadata dd[b-bvihxl5579] {
    margin-top: var(--pdm-space-1, 0.25rem);
}

.action-card__description[b-bvihxl5579] {
    margin: 0;
}
/* /Components/Shared/NextStepHooksView.razor.rz.scp.css */
.hooks-grid[b-nq1cfj6phe] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
}

@media (min-width: 900px) {
    .hooks-grid[b-nq1cfj6phe] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.hook-card[b-nq1cfj6phe] {
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.hook-card:hover[b-nq1cfj6phe] {
    transform: translateY(-2px);
}

/* ─── Campaign Continuation Hooks Themed Styling (Grimoire) ─── */
[data-theme="grimoire"] #campaign-hooks[b-nq1cfj6phe] {
    background-color: rgba(20, 18, 16, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(197, 160, 89, 0.35) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.7), 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    outline: 1px solid rgba(197, 160, 89, 0.16) !important;
    outline-offset: -3px !important;
}

[data-theme="grimoire"] #campaign-hooks h2[b-nq1cfj6phe] {
    font-family: 'Cinzel', serif !important;
    color: #E5C175 !important;
}

[data-theme="grimoire"] .hook-card[b-nq1cfj6phe] {
    background: #181512 !important;
    border: 1px solid rgba(197, 160, 89, 0.3) !important;
    border-radius: 3px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="grimoire"] .hook-card:hover[b-nq1cfj6phe] {
    border-color: #C5A059 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6), 0 0 14px rgba(197, 160, 89, 0.2) !important;
    background: #201C18 !important;
}

[data-theme="grimoire"] .hook-card h3[b-nq1cfj6phe] {
    font-family: 'Cinzel', serif !important;
    color: #FDF1DC !important;
}

/* ─── Campaign Continuation Hooks Themed Styling (Archivist) ─── */
[data-theme="archivist"] #campaign-hooks[b-nq1cfj6phe] {
    background-color: rgba(252, 250, 246, 0.92) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(140, 115, 62, 0.4) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(140, 115, 62, 0.07), 0 1px 3px rgba(26, 23, 20, 0.04) !important;
    outline: 1px solid rgba(140, 115, 62, 0.16) !important;
    outline-offset: -3px !important;
}

[data-theme="archivist"] #campaign-hooks h2[b-nq1cfj6phe] {
    font-family: 'MedievalSharp', cursive !important;
    color: #235347 !important;
}

[data-theme="archivist"] .hook-card[b-nq1cfj6phe] {
    background: #F7F4EB !important;
    border: 1px solid rgba(140, 115, 62, 0.3) !important;
    border-radius: 3px !important;
    box-shadow: inset 0 1px 2px rgba(140, 115, 62, 0.06) !important;
}

[data-theme="archivist"] .hook-card:hover[b-nq1cfj6phe] {
    border-color: #8C733E !important;
    box-shadow: 0 8px 20px rgba(140, 115, 62, 0.15), 0 0 12px rgba(35, 83, 71, 0.1) !important;
    background: #FAF7F0 !important;
}

[data-theme="archivist"] .hook-card h3[b-nq1cfj6phe] {
    font-family: 'MedievalSharp', cursive !important;
    color: #1A1714 !important;
}

/* ─── Campaign Continuation Hooks Themed Styling (Eldritch) ─── */
[data-theme="eldritch"] #campaign-hooks[b-nq1cfj6phe] {
    background-color: rgba(18, 14, 29, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(168, 85, 247, 0.35) !important;
    border-radius: 6px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.75), 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    outline: 1px solid rgba(168, 85, 247, 0.18) !important;
    outline-offset: -3px !important;
}

[data-theme="eldritch"] #campaign-hooks h2[b-nq1cfj6phe] {
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    color: #C084FC !important;
}

[data-theme="eldritch"] .hook-card[b-nq1cfj6phe] {
    background: #141021 !important;
    border: 1px solid rgba(168, 85, 247, 0.3) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="eldritch"] .hook-card:hover[b-nq1cfj6phe] {
    border-color: #22D3EE !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7), 0 0 14px rgba(34, 211, 238, 0.25) !important;
    background: #1C1630 !important;
}

[data-theme="eldritch"] .hook-card h3[b-nq1cfj6phe] {
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    color: #F1F5F9 !important;
}

/* ─── Campaign Continuation Hooks Themed Styling (Wildwood) ─── */
[data-theme="wildwood"] #campaign-hooks[b-nq1cfj6phe] {
    background-color: rgba(20, 32, 23, 0.90) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1.5px solid rgba(56, 126, 71, 0.35) !important;
    border-radius: 5px !important;
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.75), 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    outline: 1px solid rgba(196, 150, 94, 0.2) !important;
    outline-offset: -3px !important;
}

[data-theme="wildwood"] #campaign-hooks h2[b-nq1cfj6phe] {
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    color: #58A068 !important;
}

[data-theme="wildwood"] .hook-card[b-nq1cfj6phe] {
    background: #18261C !important;
    border: 1px solid rgba(56, 126, 71, 0.3) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="wildwood"] .hook-card:hover[b-nq1cfj6phe] {
    border-color: #C4965E !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7), 0 0 14px rgba(56, 126, 71, 0.25) !important;
    background: #213426 !important;
}

[data-theme="wildwood"] .hook-card h3[b-nq1cfj6phe] {
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    color: #E8F2E8 !important;
}

/* ─── Themed Narrative Twist Callouts inside Hook Cards ─── */
[data-theme="grimoire"] .hook-twist[b-nq1cfj6phe] {
    background: #181310 !important;
    border: 1px solid rgba(197, 160, 89, 0.35) !important;
    border-left: 3px solid #8B1E1E !important;
    border-radius: 3px !important;
    color: #EDE4D0 !important;
    box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="archivist"] .hook-twist[b-nq1cfj6phe] {
    background: #F4EFE6 !important;
    border: 1px solid rgba(140, 115, 62, 0.35) !important;
    border-left: 3px solid #9C2A2A !important;
    border-radius: 3px !important;
    color: #1A1714 !important;
}

[data-theme="eldritch"] .hook-twist[b-nq1cfj6phe] {
    background: #140E24 !important;
    border: 1px solid rgba(168, 85, 247, 0.35) !important;
    border-left: 3px solid #F43F5E !important;
    border-radius: 4px !important;
    color: #F1F5F9 !important;
}

[data-theme="wildwood"] .hook-twist[b-nq1cfj6phe] {
    background: #142018 !important;
    border: 1px solid rgba(56, 126, 71, 0.35) !important;
    border-left: 3px solid #D97706 !important;
    border-radius: 4px !important;
    color: #E8F2E8 !important;
}



/* /Components/Shared/OccupantCard.razor.rz.scp.css */
/* ─── Stacked Card Appearance for Enemy Groups ─── */
.occupant-card-stack[b-pirk1ns06o] {
    position: relative;
    width: 100%;
    align-self: start;
    height: fit-content;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.occupant-card-stack--grouped[b-pirk1ns06o] {
    margin-right: 0.65rem;
    margin-bottom: 0.65rem;
}

.occupant-card-stack__layer[b-pirk1ns06o] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: var(--card-radius, 1rem);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Layer 1: First Under-Card (Count >= 2) */
.occupant-card-stack__layer--under[b-pirk1ns06o] {
    z-index: 1;
    transform: translate(6px, 6px) rotate(1.2deg);
    background: rgba(13, 28, 45, 0.9);
    border: 1px solid rgba(61, 74, 61, 0.5);
    box-shadow: 0 8px 20px rgba(1, 15, 31, 0.45);
}

/* Layer 2: Deepest Under-Card (Count >= 3) */
.occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    z-index: 0;
    transform: translate(12px, 12px) rotate(2.4deg);
    background: rgba(8, 20, 34, 0.85);
    border: 1px solid rgba(61, 74, 61, 0.35);
    box-shadow: 0 12px 28px rgba(1, 15, 31, 0.6);
}

/* Interactive Card Fan-Out on Hover */
.occupant-card-stack--grouped:hover .occupant-card[b-pirk1ns06o] {
    transform: translate(-2px, -2px);
}

.occupant-card-stack--grouped:hover .occupant-card-stack__layer--under[b-pirk1ns06o] {
    transform: translate(9px, 8px) rotate(1.8deg);
    border-color: rgb(var(--color-primary) / 0.35);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.55), 0 0 14px rgb(var(--color-primary) / 0.08);
}

.occupant-card-stack--grouped:hover .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    transform: translate(17px, 15px) rotate(3.4deg);
    border-color: rgb(var(--color-primary) / 0.2);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.7);
}

/* Floating Deck Multiplier Badge */
.occupant-card-stack__badge[b-pirk1ns06o] {
    position: absolute;
    top: -0.55rem;
    right: 0.85rem;
    z-index: 10;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.65rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 800;
    font-family: var(--font-mono, monospace);
    background: rgb(var(--color-surface-container) / 0.95);
    border: 1.5px solid rgb(var(--color-primary) / 0.7);
    color: rgb(var(--color-primary));
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 12px rgb(var(--color-primary) / 0.25);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    user-select: none;
}

.occupant-card-stack--grouped:hover .occupant-card-stack__badge[b-pirk1ns06o] {
    transform: scale(1.08) translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.5), 0 0 16px rgb(var(--color-primary) / 0.4);
}

.occupant-card-stack__badge-icon[b-pirk1ns06o] {
    font-size: 0.9rem !important;
    line-height: 1;
}

.occupant-card-stack__badge-text[b-pirk1ns06o] {
    letter-spacing: 0.05em;
    line-height: 1;
}

.occupant-card--in-stack[b-pirk1ns06o] {
    position: relative;
    z-index: 2;
}

.occupant-card[b-pirk1ns06o] {
    --occupant-card-gap: var(--pdm-space-3, 0.75rem);
    min-width: 0;
    max-width: 100%;
    width: 100%;
    height: 100%;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: var(--occupant-card-gap);
    padding: var(--pdm-space-4, 1.25rem);
    border: 1px solid rgb(var(--color-outline-variant) / 0.35);
    border-radius: var(--card-radius, 1rem);
    background: rgb(var(--color-surface-container) / 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.occupant-card:hover[b-pirk1ns06o] {
    border-color: rgb(var(--color-primary) / 0.45);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.3), 0 0 20px rgb(var(--color-primary) / 0.1);
}

.occupant-card--quirked[b-pirk1ns06o] {
    border-color: rgb(var(--color-secondary) / 0.5);
    background: linear-gradient(145deg, rgb(var(--color-secondary-container) / 0.3), rgb(var(--color-surface-container) / 0.92) 50%);
}

.occupant-card__header[b-pirk1ns06o] {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(61, 74, 61, 0.25);
}

.occupant-card__badge[b-pirk1ns06o],
.occupant-card__challenge[b-pirk1ns06o],
.occupant-card__section-heading[b-pirk1ns06o] {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
}

.occupant-card__right-column[b-pirk1ns06o] {
    position: relative;
}

@media (min-width: 1650px) {
    .occupant-card__right-column[b-pirk1ns06o] {
        padding-left: 1rem;
        border-left: 1px solid rgba(148, 163, 184, 0.18);
    }
}

.occupant-card__challenge[b-pirk1ns06o] {
    flex-shrink: 0;
    color: var(--primary) !important;
    white-space: nowrap;
}

.occupant-card__title[b-pirk1ns06o] {
    margin: 0.15rem 0 0;
    color: var(--on-surface, #f5f7fa);
    font-family: var(--font-headline, inherit);
    font-size: clamp(1.4rem, 2vw, 1.85rem);
    line-height: 1.08;
}

.occupant-card__subtitle[b-pirk1ns06o] {
    margin-top: 0.25rem;
    color: var(--on-surface-variant, #aeb9c8);
    font-size: 0.875rem;
    font-style: italic;
}

.occupant-card__body[b-pirk1ns06o] {
    display: grid;
    grid-template-columns: minmax(12rem, 0.8fr) minmax(0, 1.5fr);
    gap: 1rem;
    align-items: start;
}

.occupant-card__left-column[b-pirk1ns06o],
.occupant-card__right-column[b-pirk1ns06o],
.occupant-card__details[b-pirk1ns06o],
.occupant-card__ability-section[b-pirk1ns06o] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-width: 0;
}

.occupant-card__quirk-callout[b-pirk1ns06o] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(167, 139, 250, 0.62);
    border-left: 3px solid #a78bfa;
    border-radius: 0.35rem;
    background: linear-gradient(135deg, rgba(91, 33, 182, 0.28), rgba(30, 27, 75, 0.48) 55%, rgba(15, 23, 42, 0.72));
    color: var(--on-surface, #f5f7fa);
    font-size: 0.875rem;
    line-height: 1.5;
    box-shadow: inset 0 0 20px rgba(167, 139, 250, 0.06), 0 0 0 1px rgba(167, 139, 250, 0.06);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.occupant-card__quirk-callout:hover[b-pirk1ns06o] {
    border-color: rgba(196, 181, 253, 0.9);
    box-shadow: inset 0 0 24px rgba(167, 139, 250, 0.1), 0 5px 18px rgba(30, 27, 75, 0.28);
    transform: translateY(-1px);
}

.occupant-card__quirk-heading[b-pirk1ns06o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid rgba(167, 139, 250, 0.48);
    color: #ddd6fe;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.occupant-card__quirk-heading[b-pirk1ns06o]::-webkit-details-marker {
    display: none;
}

.occupant-card__quirk-toggle[b-pirk1ns06o] {
    color: #a78bfa;
    font-family: "Material Symbols Outlined";
    font-size: 1rem;
    transition: transform 160ms ease;
}

.occupant-card__quirk-callout:not([open]) .occupant-card__quirk-toggle[b-pirk1ns06o] {
    transform: rotate(-90deg);
}

.occupant-card__quirk-heading:focus-visible[b-pirk1ns06o] {
    outline: 2px solid #c4b5fd;
    outline-offset: 3px;
}

.occupant-card__quirk-action[b-pirk1ns06o] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.occupant-card__quirk-action-title strong[b-pirk1ns06o] {
    color: var(--on-surface, #f5f7fa);
}

.occupant-card__quirk-action-title span[b-pirk1ns06o] {
    color: #c4b5fd;
}

.occupant-card__basics[b-pirk1ns06o],
.occupant-card__details[b-pirk1ns06o] {
    color: var(--on-surface, #f5f7fa);
    font-size: 0.875rem;
    line-height: 1.45;
}

.occupant-card__basics[b-pirk1ns06o] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    gap: 0.45rem;
}

@media (max-width: 1649px) {
    .occupant-card__basics[b-pirk1ns06o] {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 1rem;
    }
}

.occupant-card__basics strong[b-pirk1ns06o],
.occupant-card__details strong[b-pirk1ns06o] {
    color: var(--primary);
}

.occupant-card__abilities[b-pirk1ns06o] {
    border-bottom: none;
    padding: 0;
}

.occupant-card__abilities > div[b-pirk1ns06o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    color: var(--on-surface, #f5f7fa);
    font-size: 0.875rem;
}

.occupant-card__abilities strong[b-pirk1ns06o] {
    color: var(--primary);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
}

.occupant-card__abilities small[b-pirk1ns06o] {
    color: var(--on-surface-variant, #aeb9c8);
}

.occupant-card__section-heading[b-pirk1ns06o] {
    margin: 0;
    padding-bottom: 0.3rem;
    color: #94a3b8;
    border-bottom: 1px solid rgba(30, 41, 59, 0.8);
}

.occupant-card__section-heading--traits[b-pirk1ns06o] {
    color: #94a3b8;
    border-color: rgba(30, 41, 59, 0.8);
}

.occupant-card__section-heading--actions[b-pirk1ns06o] {
    color: #94a3b8;
    border-color: rgba(30, 41, 59, 0.8);
}

.occupant-card__ability[b-pirk1ns06o] {
    margin: 0;
    color: #cbd5e1;
    font-size: 0.875rem;
    line-height: 1.55;
}

.occupant-card__ability-badge[b-pirk1ns06o] {
    display: inline-flex;
    align-items: center;
    vertical-align: baseline;
    margin-right: 0.35rem;
    padding: 0.15rem 0.6rem;
    border: 1px solid rgba(6, 95, 70, 0.6);
    border-radius: 9999px;
    background: rgba(2, 44, 34, 0.8);
    color: #6ee7b7;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.25;
}

.occupant-card__ability-section.occupant-card__section-heading--actions .occupant-card__ability-badge[b-pirk1ns06o] {
    border-color: rgba(159, 18, 57, 0.6);
    background: rgba(76, 5, 25, 0.8);
    color: #fda4af;
}

.occupant-card__attack-label[b-pirk1ns06o] {
    color: #94a3b8;
    font-style: italic;
}

.occupant-card__hit-label[b-pirk1ns06o] {
    color: #f1f5f9;
    font-weight: 700;
}

.occupant-card__fallback[b-pirk1ns06o] {
    display: flex;
    gap: 1rem;
    color: var(--on-surface, #f5f7fa);
    font-size: 0.85rem;
}

.occupant-card__quirk-action-title[b-pirk1ns06o] {
    font-size: 0.75rem;
}

.occupant-card__ability-badge--quirk[b-pirk1ns06o] {
    border-color: rgba(126, 34, 206, 0.7);
    background: rgba(59, 7, 100, 0.82);
    color: #d8b4fe;
}

.occupant-card__section-heading--legendary[b-pirk1ns06o] {
    color: #f59e0b;
    border-color: rgba(245, 158, 11, 0.5);
}

.occupant-card__ability-badge--legendary[b-pirk1ns06o] {
    border-color: #f59e0b !important;
    background: rgba(120, 53, 15, 0.85) !important;
    color: #fef3c7 !important;
    box-shadow: 0 0 10px rgba(245, 158, 11, 0.35);
}

.occupant-card__boss-icon[b-pirk1ns06o] {
    display: inline-block;
    margin-right: 0.25rem;
    font-size: 0.72rem;
    line-height: 1;
}

.occupant-card__fallback strong[b-pirk1ns06o] {
    color: var(--primary);
}

/* ─── Base Spellcasting & Spell Tier Display ─── */
.occupant-card__spell-tiers[b-pirk1ns06o] {
    margin-top: 0.375rem;
    padding: 0.5rem;
    border-radius: 0.75rem;
    background: rgb(var(--color-surface-container-lowest) / 0.6);
    border: 1px solid rgb(var(--color-outline-variant) / 0.2);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.375rem;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
}

@media (min-width: 640px) {
    .occupant-card__spell-tiers[b-pirk1ns06o] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.occupant-card__spell-tier[b-pirk1ns06o] {
    display: flex;
    align-items: baseline;
    gap: 0.375rem;
    padding: 0.25rem 0.375rem;
    border-radius: 0.375rem;
    transition: background-color 0.15s ease;
}

.occupant-card__spell-tier:hover[b-pirk1ns06o] {
    background-color: rgb(var(--color-surface-container-high) / 0.4);
}

.occupant-card__spell-badge[b-pirk1ns06o] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    width: fit-content;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    background: rgb(var(--color-secondary) / 0.15);
    color: var(--secondary);
    border: 1px solid rgb(var(--color-secondary) / 0.3);
    font-size: 0.625rem;
    font-family: var(--font-mono, monospace);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.occupant-card__spell-list[b-pirk1ns06o] {
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgb(var(--color-on-surface) / 0.9);
}

.occupant-card__combat-math[b-pirk1ns06o] {
    font-family: var(--font-mono, monospace);
    font-weight: 700;
    color: var(--on-surface);
    font-style: normal;
}

/* Hero stat block: utilizes full width for internal two-column split on large viewports */
@media (min-width: 1024px) {
    .occupant-card--hero .occupant-card__body[b-pirk1ns06o] {
        grid-template-columns: minmax(13rem, 0.8fr) minmax(0, 1.5fr);
        align-items: start;
    }

    .occupant-card--hero .occupant-card__right-column[b-pirk1ns06o] {
        padding-left: 1rem;
        border-left: 1px solid rgba(148, 163, 184, 0.18);
    }
}

@media (max-width: 1649px) {
    .occupant-card:not(.occupant-card--hero) .occupant-card__body[b-pirk1ns06o] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1023px) {
    .occupant-card--hero .occupant-card__body[b-pirk1ns06o] {
        grid-template-columns: 1fr;
    }
}

/* ─── Authentic 5e Monster Manual Stat Block (Grimoire Dark Fantasy) ─── */
[data-theme="grimoire"] .occupant-card[b-pirk1ns06o] {
    border: 1px solid rgba(197, 160, 89, 0.35) !important;
    border-radius: 4px !important;
    background-color: #141210 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200' fill='none'%3E%3Cpath d='M0 0 C40 0.6, 90 -0.6, 140 0 S180 0.6, 200 0M0 200 C40 200.6, 90 199.4, 140 200 S180 200.6, 200 200M0 52 C35 51.4, 75 52.6, 115 52 S170 51.4, 200 52M0 108 C40 108.6, 85 107.4, 130 108 S175 108.6, 200 108M0 156 C30 155.4, 70 156.6, 125 156 S170 155.4, 200 156M85 0 C84.6 16, 85.4 36, 85 52M45 52 C45.4 68, 44.6 90, 45 108M148 52 C147.6 70, 148.4 92, 148 108M110 108 C109.6 122, 110.4 140, 110 156M65 156 C65.4 170, 64.6 186, 65 200M160 156 C159.6 172, 160.4 186, 160 200' stroke='%23000000' stroke-width='0.75' stroke-opacity='0.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 0.6 C40 1.2, 90 0, 140 0.6 S180 1.2, 200 0.6M0 52.6 C35 52, 75 53.2, 115 52.6 S170 52, 200 52.6M0 108.6 C40 109.2, 85 108, 130 108.6 S175 109.2, 200 108.6M0 156.6 C30 156, 70 157.2, 125 156.6 S170 156, 200 156.6' stroke='%23C5A059' stroke-width='0.5' stroke-opacity='0.08' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M118 16 c5 4, 10 9, 15 11M123 20 l-3 6M68 84 c6 -2, 12 3, 18 1M135 178 c6 4, 11 8, 16 9M26 138 c4 -2, 8 2, 12 1' stroke='%23000000' stroke-width='0.5' stroke-opacity='0.22' stroke-linecap='round'/%3E%3Cpath d='M118 16.5 c5 4, 10 9, 15 11M68 84.5 c6 -2, 12 3, 18 1M135 178.5 c6 4, 11 8, 16 9' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.05' stroke-linecap='round'/%3E%3Cpath d='M10 26h65M105 32h80M12 78h24M60 84h70M165 78h25M16 132h80M126 130h64M15 180h42M80 174h65' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='10,14,16,10' fill='none'/%3E%3Ccircle cx='32' cy='22' r='0.8' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='155' cy='36' r='0.7' fill='%23000000' fill-opacity='0.2'/%3E%3Ccircle cx='95' cy='74' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3Ccircle cx='180' cy='95' r='0.7' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='55' cy='135' r='0.8' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='170' cy='142' r='0.7' fill='%23C5A059' fill-opacity='0.07'/%3E%3Ccircle cx='40' cy='185' r='0.7' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='110' cy='188' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(165deg, rgba(26, 23, 20, 0.95) 0%, rgba(14, 12, 10, 0.98) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    color: #EDE4D0 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7), inset 0 0 16px rgba(0, 0, 0, 0.8) !important;
    font-family: 'Alegreya', serif !important;
    padding: 1.25rem !important;
}

[data-theme="grimoire"] .occupant-card:hover[b-pirk1ns06o] {
    border-color: #C5A059 !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 20px rgba(197, 160, 89, 0.25) !important;
}

/* Grimoire Boss: 9-Slice Antique Gold Tome Frame (Climax Boss Only) */
[data-theme="grimoire"] .occupant-card--boss[b-pirk1ns06o] {
    border-style: solid !important;
    border-width: 18px !important;
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M0,24 A 24,24 0 0,1 24,0 L56,0 A 24,24 0 0,1 80,24 L80,56 A 24,24 0 0,1 56,80 L24,80 A 24,24 0 0,1 0,56 Z' stroke='%23C5A059' stroke-width='2.5' fill='%231C1917' fill-opacity='0.98'/%3E%3Cpath d='M6,26 A 20,20 0 0,1 26,6 L54,6 A 20,20 0 0,1 74,26 L74,54 A 20,20 0 0,1 54,74 L26,74 A 20,20 0 0,1 6,54 Z' stroke='%23C5A059' stroke-width='1.2' stroke-opacity='0.7' fill='none'/%3E%3C/svg%3E") !important;
    border-image-slice: 26 fill !important;
    border-image-repeat: stretch !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 24px rgba(197, 160, 89, 0.2), inset 0 0 16px rgba(0, 0, 0, 0.8) !important;
}

[data-theme="grimoire"] .occupant-card--boss:hover[b-pirk1ns06o] {
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85), 0 0 28px rgba(197, 160, 89, 0.35) !important;
}

/* Grimoire Quirked Boss (Climax Boss with Quirk): Arcane Purple Inner Frame & Violet Glow */
[data-theme="grimoire"] .occupant-card--boss.occupant-card--quirked[b-pirk1ns06o] {
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M0,24 A 24,24 0 0,1 24,0 L56,0 A 24,24 0 0,1 80,24 L80,56 A 24,24 0 0,1 56,80 L24,80 A 24,24 0 0,1 0,56 Z' stroke='%23C5A059' stroke-width='2.5' fill='%231C1917' fill-opacity='0.98'/%3E%3Cpath d='M6,26 A 20,20 0 0,1 26,6 L54,6 A 20,20 0 0,1 74,26 L74,54 A 20,20 0 0,1 54,74 L26,74 A 20,20 0 0,1 6,54 Z' stroke='%23C084FC' stroke-width='1.5' stroke-opacity='0.95' fill='none'/%3E%3C/svg%3E") !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 20px rgba(168, 85, 247, 0.25), inset 0 0 16px rgba(0, 0, 0, 0.8) !important;
}

[data-theme="grimoire"] .occupant-card--quirked .occupant-card__header[b-pirk1ns06o] {
    background: linear-gradient(135deg, #581C87 0%, #3B0764 100%) !important;
    border-bottom: 2px solid #C084FC !important;
}

[data-theme="grimoire"] .occupant-card--quirked .occupant-card__badge[b-pirk1ns06o] {
    background: rgba(168, 85, 247, 0.25) !important;
    border-color: #C084FC !important;
    color: #F3E8FF !important;
}

[data-theme="grimoire"] .occupant-card--quirked .occupant-card__badge span.animate-pulse[b-pirk1ns06o] {
    background-color: #C084FC !important;
}

[data-theme="grimoire"] .occupant-card--quirked .occupant-card__quirk-callout[b-pirk1ns06o] {
    border-left: 4px solid #C084FC !important;
    background: rgba(88, 28, 135, 0.2) !important;
}

[data-theme="grimoire"] .occupant-card__header[b-pirk1ns06o] {
    background: linear-gradient(135deg, #8B1E1E 0%, #58180D 100%) !important;
    padding: 0.75rem 1rem !important;
    margin: -1.25rem -1.25rem 0.75rem -1.25rem !important;
    border-radius: 2px 2px 0 0 !important;
    border-bottom: 2px solid #C5A059 !important;
}

[data-theme="grimoire"] .occupant-card__title[b-pirk1ns06o] {
    color: #FDF1DC !important;
    font-family: 'Cinzel', serif !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}

[data-theme="grimoire"] .occupant-card__subtitle[b-pirk1ns06o] {
    color: #DABE87 !important;
    font-style: italic !important;
    font-family: 'Alegreya', serif !important;
    font-size: 0.95rem !important;
}

[data-theme="grimoire"] .occupant-card__badge[b-pirk1ns06o] {
    background: rgba(15, 14, 12, 0.65) !important;
    border-color: rgba(197, 160, 89, 0.5) !important;
    color: #E5C175 !important;
}

[data-theme="grimoire"] .occupant-card__challenge[b-pirk1ns06o] {
    background: #141210 !important;
    border-color: rgba(197, 160, 89, 0.5) !important;
    color: #E5C175 !important;
}

/* Tapered Hazard Line (Official 5e Signature Flourish) */
.occupant-card__tapered-hazard[b-pirk1ns06o] {
    display: none;
}

[data-theme="grimoire"] .occupant-card__tapered-hazard[b-pirk1ns06o] {
    display: block;
    height: 4px;
    margin: 0.25rem 0 0.85rem;
    background: linear-gradient(to right, transparent 0%, #8B1E1E 20%, #C5A059 50%, #8B1E1E 80%, transparent 100%);
    border-radius: 2px;
}

/* Stat Block Inset Basics (AC, HP, SPD) */
[data-theme="grimoire"] .occupant-card__basics[b-pirk1ns06o] {
    background-color: #110F0D !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200' fill='none'%3E%3Cpath d='M0 0 C40 0.6, 90 -0.6, 140 0 S180 0.6, 200 0M0 200 C40 200.6, 90 199.4, 140 200 S180 200.6, 200 200M0 52 C35 51.4, 75 52.6, 115 52 S170 51.4, 200 52M0 108 C40 108.6, 85 107.4, 130 108 S175 108.6, 200 108M0 156 C30 155.4, 70 156.6, 125 156 S170 155.4, 200 156M85 0 C84.6 16, 85.4 36, 85 52M45 52 C45.4 68, 44.6 90, 45 108M148 52 C147.6 70, 148.4 92, 148 108M110 108 C109.6 122, 110.4 140, 110 156M65 156 C65.4 170, 64.6 186, 65 200M160 156 C159.6 172, 160.4 186, 160 200' stroke='%23000000' stroke-width='0.75' stroke-opacity='0.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 0.6 C40 1.2, 90 0, 140 0.6 S180 1.2, 200 0.6M0 52.6 C35 52, 75 53.2, 115 52.6 S170 52, 200 52.6M0 108.6 C40 109.2, 85 108, 130 108.6 S175 109.2, 200 108.6M0 156.6 C30 156, 70 157.2, 125 156.6 S170 156, 200 156.6' stroke='%23C5A059' stroke-width='0.5' stroke-opacity='0.08' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M118 16 c5 4, 10 9, 15 11M123 20 l-3 6M68 84 c6 -2, 12 3, 18 1M135 178 c6 4, 11 8, 16 9M26 138 c4 -2, 8 2, 12 1' stroke='%23000000' stroke-width='0.5' stroke-opacity='0.22' stroke-linecap='round'/%3E%3Cpath d='M118 16.5 c5 4, 10 9, 15 11M68 84.5 c6 -2, 12 3, 18 1M135 178.5 c6 4, 11 8, 16 9' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.05' stroke-linecap='round'/%3E%3Cpath d='M10 26h65M105 32h80M12 78h24M60 84h70M165 78h25M16 132h80M126 130h64M15 180h42M80 174h65' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='10,14,16,10' fill='none'/%3E%3Ccircle cx='32' cy='22' r='0.8' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='155' cy='36' r='0.7' fill='%23000000' fill-opacity='0.2'/%3E%3Ccircle cx='95' cy='74' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3Ccircle cx='180' cy='95' r='0.7' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='55' cy='135' r='0.8' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='170' cy='142' r='0.7' fill='%23C5A059' fill-opacity='0.07'/%3E%3Ccircle cx='40' cy='185' r='0.7' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='110' cy='188' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(20, 18, 16, 0.85) 0%, rgba(10, 9, 8, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(197, 160, 89, 0.3) !important;
    color: #EDE4D0 !important;
    border-radius: 2px !important;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="grimoire"] .occupant-card__basics strong[b-pirk1ns06o] {
    color: #C5A059 !important;
    font-family: 'Cinzel', serif !important;
    font-size: 0.85rem !important;
}

[data-theme="grimoire"] .occupant-card__basics span[b-pirk1ns06o] {
    color: #EDE4D0 !important;
}

[data-theme="grimoire"] .occupant-card__basics .text-primary[b-pirk1ns06o] {
    color: #E5C175 !important;
}

[data-theme="grimoire"] .occupant-card__basics .text-outline[b-pirk1ns06o] {
    color: #A3937A !important;
}

/* 6 Ability Scores Matrix */
[data-theme="grimoire"] .occupant-card__abilities > div[b-pirk1ns06o] {
    background-color: #141210 !important;
    background-image: linear-gradient(180deg, rgba(26, 23, 20, 0.85) 0%, rgba(14, 12, 10, 0.95) 100%) !important;
    border: 1px solid rgba(197, 160, 89, 0.3) !important;
    color: #EDE4D0 !important;
    border-radius: 2px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="grimoire"] .occupant-card__abilities > div:hover[b-pirk1ns06o] {
    border-color: #C5A059 !important;
    background-color: #201C18 !important;
}

[data-theme="grimoire"] .occupant-card__abilities span.text-outline[b-pirk1ns06o] {
    color: #C5A059 !important;
    font-family: 'Cinzel', serif !important;
    font-weight: 700 !important;
}

[data-theme="grimoire"] .occupant-card__abilities span.text-on-surface[b-pirk1ns06o] {
    color: #FDF1DC !important;
    font-weight: 700 !important;
}

[data-theme="grimoire"] .occupant-card__abilities .bg-primary\/15[b-pirk1ns06o] {
    background: rgba(197, 160, 89, 0.15) !important;
    color: #E5C175 !important;
    border-color: rgba(197, 160, 89, 0.35) !important;
}

/* Details Section */
[data-theme="grimoire"] .occupant-card__details[b-pirk1ns06o] {
    background-color: #110F0D !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200' fill='none'%3E%3Cpath d='M0 0 C40 0.6, 90 -0.6, 140 0 S180 0.6, 200 0M0 200 C40 200.6, 90 199.4, 140 200 S180 200.6, 200 200M0 52 C35 51.4, 75 52.6, 115 52 S170 51.4, 200 52M0 108 C40 108.6, 85 107.4, 130 108 S175 108.6, 200 108M0 156 C30 155.4, 70 156.6, 125 156 S170 155.4, 200 156M85 0 C84.6 16, 85.4 36, 85 52M45 52 C45.4 68, 44.6 90, 45 108M148 52 C147.6 70, 148.4 92, 148 108M110 108 C109.6 122, 110.4 140, 110 156M65 156 C65.4 170, 64.6 186, 65 200M160 156 C159.6 172, 160.4 186, 160 200' stroke='%23000000' stroke-width='0.75' stroke-opacity='0.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 0.6 C40 1.2, 90 0, 140 0.6 S180 1.2, 200 0.6M0 52.6 C35 52, 75 53.2, 115 52.6 S170 52, 200 52.6M0 108.6 C40 109.2, 85 108, 130 108.6 S175 109.2, 200 108.6M0 156.6 C30 156, 70 157.2, 125 156.6 S170 156, 200 156.6' stroke='%23C5A059' stroke-width='0.5' stroke-opacity='0.08' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M118 16 c5 4, 10 9, 15 11M123 20 l-3 6M68 84 c6 -2, 12 3, 18 1M135 178 c6 4, 11 8, 16 9M26 138 c4 -2, 8 2, 12 1' stroke='%23000000' stroke-width='0.5' stroke-opacity='0.22' stroke-linecap='round'/%3E%3Cpath d='M118 16.5 c5 4, 10 9, 15 11M68 84.5 c6 -2, 12 3, 18 1M135 178.5 c6 4, 11 8, 16 9' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.05' stroke-linecap='round'/%3E%3Cpath d='M10 26h65M105 32h80M12 78h24M60 84h70M165 78h25M16 132h80M126 130h64M15 180h42M80 174h65' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='10,14,16,10' fill='none'/%3E%3Ccircle cx='32' cy='22' r='0.8' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='155' cy='36' r='0.7' fill='%23000000' fill-opacity='0.2'/%3E%3Ccircle cx='95' cy='74' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3Ccircle cx='180' cy='95' r='0.7' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='55' cy='135' r='0.8' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='170' cy='142' r='0.7' fill='%23C5A059' fill-opacity='0.07'/%3E%3Ccircle cx='40' cy='185' r='0.7' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='110' cy='188' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(20, 18, 16, 0.85) 0%, rgba(10, 9, 8, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(197, 160, 89, 0.25) !important;
    color: #C7BC9F !important;
    border-radius: 2px !important;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="grimoire"] .occupant-card__details strong[b-pirk1ns06o] {
    color: #C5A059 !important;
    font-family: 'Cinzel', serif !important;
}

[data-theme="grimoire"] .occupant-card__details span[b-pirk1ns06o] {
    color: #EDE4D0 !important;
}

/* Action & Trait Sections with Gold Serif Action Headers */
[data-theme="grimoire"] .occupant-card__ability-section[b-pirk1ns06o] {
    background-color: #110F0D !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200' fill='none'%3E%3Cpath d='M0 0 C40 0.6, 90 -0.6, 140 0 S180 0.6, 200 0M0 200 C40 200.6, 90 199.4, 140 200 S180 200.6, 200 200M0 52 C35 51.4, 75 52.6, 115 52 S170 51.4, 200 52M0 108 C40 108.6, 85 107.4, 130 108 S175 108.6, 200 108M0 156 C30 155.4, 70 156.6, 125 156 S170 155.4, 200 156M85 0 C84.6 16, 85.4 36, 85 52M45 52 C45.4 68, 44.6 90, 45 108M148 52 C147.6 70, 148.4 92, 148 108M110 108 C109.6 122, 110.4 140, 110 156M65 156 C65.4 170, 64.6 186, 65 200M160 156 C159.6 172, 160.4 186, 160 200' stroke='%23000000' stroke-width='0.75' stroke-opacity='0.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 0.6 C40 1.2, 90 0, 140 0.6 S180 1.2, 200 0.6M0 52.6 C35 52, 75 53.2, 115 52.6 S170 52, 200 52.6M0 108.6 C40 109.2, 85 108, 130 108.6 S175 109.2, 200 108.6M0 156.6 C30 156, 70 157.2, 125 156.6 S170 156, 200 156.6' stroke='%23C5A059' stroke-width='0.5' stroke-opacity='0.08' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M118 16 c5 4, 10 9, 15 11M123 20 l-3 6M68 84 c6 -2, 12 3, 18 1M135 178 c6 4, 11 8, 16 9M26 138 c4 -2, 8 2, 12 1' stroke='%23000000' stroke-width='0.5' stroke-opacity='0.22' stroke-linecap='round'/%3E%3Cpath d='M118 16.5 c5 4, 10 9, 15 11M68 84.5 c6 -2, 12 3, 18 1M135 178.5 c6 4, 11 8, 16 9' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.05' stroke-linecap='round'/%3E%3Cpath d='M10 26h65M105 32h80M12 78h24M60 84h70M165 78h25M16 132h80M126 130h64M15 180h42M80 174h65' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='10,14,16,10' fill='none'/%3E%3Ccircle cx='32' cy='22' r='0.8' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='155' cy='36' r='0.7' fill='%23000000' fill-opacity='0.2'/%3E%3Ccircle cx='95' cy='74' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3Ccircle cx='180' cy='95' r='0.7' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='55' cy='135' r='0.8' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='170' cy='142' r='0.7' fill='%23C5A059' fill-opacity='0.07'/%3E%3Ccircle cx='40' cy='185' r='0.7' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='110' cy='188' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(20, 18, 16, 0.85) 0%, rgba(10, 9, 8, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(197, 160, 89, 0.25) !important;
    border-radius: 2px !important;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="grimoire"] .occupant-card__ability-section h4[b-pirk1ns06o] {
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    border-bottom: 1px solid rgba(197, 160, 89, 0.25) !important;
    padding-bottom: 0.25rem !important;
}

[data-theme="grimoire"] .occupant-card__ability[b-pirk1ns06o] {
    color: #EDE4D0 !important;
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
}

[data-theme="grimoire"] .occupant-card__ability strong[b-pirk1ns06o] {
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
    font-size: 0.85rem !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

[data-theme="grimoire"] .occupant-card__spell-title[b-pirk1ns06o] {
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
    font-size: 0.82rem !important;
    background: rgba(197, 160, 89, 0.15) !important;
    border: 1px solid rgba(197, 160, 89, 0.4) !important;
    padding: 0.15rem 0.55rem !important;
    border-radius: 9999px !important;
    box-shadow: 0 0 10px rgba(197, 160, 89, 0.2) !important;
}

[data-theme="grimoire"] .occupant-card__spell-tiers[b-pirk1ns06o] {
    background: #0D0B0A !important;
    border: 1px solid rgba(197, 160, 89, 0.25) !important;
    border-radius: 2px !important;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="grimoire"] .occupant-card__spell-tier[b-pirk1ns06o] {
    border-bottom: 1px solid rgba(197, 160, 89, 0.15) !important;
}

[data-theme="grimoire"] .occupant-card__spell-tier:hover[b-pirk1ns06o] {
    background: rgba(197, 160, 89, 0.06) !important;
}

[data-theme="grimoire"] .occupant-card__spell-badge[b-pirk1ns06o] {
    background: rgba(197, 160, 89, 0.12) !important;
    border: 1px solid rgba(197, 160, 89, 0.35) !important;
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
    border-radius: 2px !important;
}

[data-theme="grimoire"] .occupant-card__spell-list[b-pirk1ns06o] {
    color: #EDE4D0 !important;
    font-family: 'Lora', serif !important;
}

/* Quirk callout as an ancient marginal note / DM dark stone insert */
[data-theme="grimoire"] .occupant-card__quirk-callout[b-pirk1ns06o] {
    background: #181310 !important;
    border: 1px solid rgba(197, 160, 89, 0.4) !important;
    border-left: 4px solid #8B1E1E !important;
    color: #EDE4D0 !important;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5) !important;
    border-radius: 2px !important;
}

[data-theme="grimoire"] .occupant-card__quirk-heading[b-pirk1ns06o] {
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
    border-bottom-color: rgba(197, 160, 89, 0.25) !important;
}

[data-theme="grimoire"] .occupant-card__quirk-toggle[b-pirk1ns06o] {
    color: #C5A059 !important;
}

[data-theme="grimoire"] .occupant-card__quirk-action[b-pirk1ns06o] {
    color: #EDE4D0 !important;
}

[data-theme="grimoire"] .occupant-card__quirk-action strong[b-pirk1ns06o] {
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
}

/* Fallback Container */
[data-theme="grimoire"] .occupant-card__fallback[b-pirk1ns06o] {
    background-color: #110F0D !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200' fill='none'%3E%3Cpath d='M0 0 C40 0.6, 90 -0.6, 140 0 S180 0.6, 200 0M0 200 C40 200.6, 90 199.4, 140 200 S180 200.6, 200 200M0 52 C35 51.4, 75 52.6, 115 52 S170 51.4, 200 52M0 108 C40 108.6, 85 107.4, 130 108 S175 108.6, 200 108M0 156 C30 155.4, 70 156.6, 125 156 S170 155.4, 200 156M85 0 C84.6 16, 85.4 36, 85 52M45 52 C45.4 68, 44.6 90, 45 108M148 52 C147.6 70, 148.4 92, 148 108M110 108 C109.6 122, 110.4 140, 110 156M65 156 C65.4 170, 64.6 186, 65 200M160 156 C159.6 172, 160.4 186, 160 200' stroke='%23000000' stroke-width='0.75' stroke-opacity='0.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 0.6 C40 1.2, 90 0, 140 0.6 S180 1.2, 200 0.6M0 52.6 C35 52, 75 53.2, 115 52.6 S170 52, 200 52.6M0 108.6 C40 109.2, 85 108, 130 108.6 S175 109.2, 200 108.6M0 156.6 C30 156, 70 157.2, 125 156.6 S170 156, 200 156.6' stroke='%23C5A059' stroke-width='0.5' stroke-opacity='0.08' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M118 16 c5 4, 10 9, 15 11M123 20 l-3 6M68 84 c6 -2, 12 3, 18 1M135 178 c6 4, 11 8, 16 9M26 138 c4 -2, 8 2, 12 1' stroke='%23000000' stroke-width='0.5' stroke-opacity='0.22' stroke-linecap='round'/%3E%3Cpath d='M118 16.5 c5 4, 10 9, 15 11M68 84.5 c6 -2, 12 3, 18 1M135 178.5 c6 4, 11 8, 16 9' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.05' stroke-linecap='round'/%3E%3Cpath d='M10 26h65M105 32h80M12 78h24M60 84h70M165 78h25M16 132h80M126 130h64M15 180h42M80 174h65' stroke='%23C5A059' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='10,14,16,10' fill='none'/%3E%3Ccircle cx='32' cy='22' r='0.8' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='155' cy='36' r='0.7' fill='%23000000' fill-opacity='0.2'/%3E%3Ccircle cx='95' cy='74' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3Ccircle cx='180' cy='95' r='0.7' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='55' cy='135' r='0.8' fill='%23000000' fill-opacity='0.22'/%3E%3Ccircle cx='170' cy='142' r='0.7' fill='%23C5A059' fill-opacity='0.07'/%3E%3Ccircle cx='40' cy='185' r='0.7' fill='%23000000' fill-opacity='0.25'/%3E%3Ccircle cx='110' cy='188' r='0.8' fill='%23C5A059' fill-opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(20, 18, 16, 0.85) 0%, rgba(10, 9, 8, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(197, 160, 89, 0.25) !important;
    border-radius: 2px !important;
    color: #EDE4D0 !important;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="grimoire"] .occupant-card__fallback strong[b-pirk1ns06o] {
    color: #C5A059 !important;
    font-family: 'Cinzel', serif !important;
}

/* Grimoire: Ancient Manuscript / Tabletop Tome Card Stack */
[data-theme="grimoire"] .occupant-card-stack__layer[b-pirk1ns06o] {
    border-radius: 4px !important;
}

[data-theme="grimoire"] .occupant-card-stack__layer--under[b-pirk1ns06o] {
    background: #141210 !important;
    border: 1.5px solid rgba(197, 160, 89, 0.45) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7) !important;
}

[data-theme="grimoire"] .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    background: #0E0D0C !important;
    border: 1px solid rgba(197, 160, 89, 0.3) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8) !important;
}

[data-theme="grimoire"] .occupant-card-stack--grouped:hover .occupant-card-stack__layer--under[b-pirk1ns06o] {
    border-color: #C5A059 !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.8), 0 0 14px rgba(197, 160, 89, 0.2) !important;
}

[data-theme="grimoire"] .occupant-card-stack--grouped:hover .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    border-color: rgba(197, 160, 89, 0.5) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.9) !important;
}

[data-theme="grimoire"] .occupant-card-stack__badge[b-pirk1ns06o] {
    background: #1C1917 !important;
    border: 1.5px solid #C5A059 !important;
    color: #E5C175 !important;
    font-family: 'Cinzel', serif !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.7), 0 0 12px rgba(197, 160, 89, 0.3) !important;
}

[data-theme="grimoire"] .occupant-card-stack--grouped:hover .occupant-card-stack__badge[b-pirk1ns06o] {
    border-color: #E5C175 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.8), 0 0 18px rgba(197, 160, 89, 0.45) !important;
}

/* ─── Cartographer's Ledger & Archivist Scribe Sheet (Light Theme) ─── */
[data-theme="archivist"] .occupant-card[b-pirk1ns06o] {
    border: 1px solid rgba(140, 115, 62, 0.35) !important;
    border-radius: 4px !important;
    background-color: #FAF7F0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M0 8h80M0 16h80M0 24h80M0 32h80M0 40h80M0 48h80M0 56h80M0 64h80M0 72h80M0 80h80' stroke='%238C733E' stroke-width='0.5' stroke-opacity='0.07' stroke-dasharray='3,1,5,2,2,1'/%3E%3Cpath d='M40 0v80' stroke='%238C733E' stroke-width='0.75' stroke-opacity='0.09'/%3E%3Cpath d='M10 22c4-2 9 1 14-1M52 35c3 3 8 1 12-1M25 60c5-3 10-1 15-2M60 12c3 1 6-2 9 0' stroke='%23705322' stroke-width='0.6' stroke-opacity='0.09' stroke-linecap='round'/%3E%3Ccircle cx='18' cy='42' r='0.8' fill='%238C733E' fill-opacity='0.1'/%3E%3Ccircle cx='68' cy='58' r='1' fill='%238C733E' fill-opacity='0.08'/%3E%3Ccircle cx='32' cy='14' r='0.7' fill='%238C733E' fill-opacity='0.09'/%3E%3Ccircle cx='48' cy='72' r='0.9' fill='%238C733E' fill-opacity='0.07'/%3E%3C/svg%3E"), linear-gradient(165deg, rgba(254, 252, 248, 0.95) 0%, rgba(243, 239, 228, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    color: #1A1714 !important;
    box-shadow: 0 6px 20px rgba(140, 115, 62, 0.12) !important;
    font-family: 'Lora', serif !important;
    padding: 1.25rem !important;
}

[data-theme="archivist"] .occupant-card:hover[b-pirk1ns06o] {
    border-color: #8C733E !important;
    box-shadow: 0 8px 24px rgba(140, 115, 62, 0.18) !important;
}

/* Archivist Boss: 9-Slice Scriptorium Surveyor Frame */
[data-theme="archivist"] .occupant-card--boss[b-pirk1ns06o] {
    border-style: solid !important;
    border-width: 18px !important;
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Crect x='1.5' y='1.5' width='77' height='77' rx='4' stroke='%238C733E' stroke-width='2.5' fill='%23FAF7F0' fill-opacity='0.98'/%3E%3Crect x='6.5' y='6.5' width='67' height='67' rx='2.5' stroke='%23235347' stroke-width='1.2' stroke-opacity='0.65' fill='none'/%3E%3Cpath d='M3,20 L20,20 L20,3' stroke='%238C733E' stroke-width='1.6' fill='none'/%3E%3Cpath d='M77,20 L60,20 L60,3' stroke='%238C733E' stroke-width='1.6' fill='none'/%3E%3Cpath d='M3,60 L20,60 L20,77' stroke='%238C733E' stroke-width='1.6' fill='none'/%3E%3Cpath d='M77,60 L60,60 L60,77' stroke='%238C733E' stroke-width='1.6' fill='none'/%3E%3Ccircle cx='11' cy='11' r='2.5' fill='%238C733E'/%3E%3Ccircle cx='69' cy='11' r='2.5' fill='%238C733E'/%3E%3Ccircle cx='11' cy='69' r='2.5' fill='%238C733E'/%3E%3Ccircle cx='69' cy='69' r='2.5' fill='%238C733E'/%3E%3C/svg%3E") !important;
    border-image-slice: 24 fill !important;
    border-image-repeat: stretch !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: 0 8px 24px rgba(140, 115, 62, 0.18), 0 2px 8px rgba(35, 83, 71, 0.1) !important;
}

[data-theme="archivist"] .occupant-card--boss:hover[b-pirk1ns06o] {
    box-shadow: 0 10px 30px rgba(140, 115, 62, 0.24) !important;
}

/* Archivist Quirked Boss: Royal Purple Corner Brackets & Rivet Nodes */
[data-theme="archivist"] .occupant-card--boss.occupant-card--quirked[b-pirk1ns06o] {
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Crect x='1.5' y='1.5' width='77' height='77' rx='4' stroke='%238C733E' stroke-width='2.5' fill='%23FAF7F0' fill-opacity='0.98'/%3E%3Crect x='6.5' y='6.5' width='67' height='67' rx='2.5' stroke='%237E22CE' stroke-width='1.5' stroke-opacity='0.85' fill='none'/%3E%3Cpath d='M3,20 L20,20 L20,3' stroke='%237E22CE' stroke-width='1.6' fill='none'/%3E%3Cpath d='M77,20 L60,20 L60,3' stroke='%237E22CE' stroke-width='1.6' fill='none'/%3E%3Cpath d='M3,60 L20,60 L20,77' stroke='%237E22CE' stroke-width='1.6' fill='none'/%3E%3Cpath d='M77,60 L60,60 L60,77' stroke='%237E22CE' stroke-width='1.6' fill='none'/%3E%3Ccircle cx='11' cy='11' r='2.5' fill='%237E22CE'/%3E%3Ccircle cx='69' cy='11' r='2.5' fill='%237E22CE'/%3E%3Ccircle cx='11' cy='69' r='2.5' fill='%237E22CE'/%3E%3Ccircle cx='69' cy='69' r='2.5' fill='%237E22CE'/%3E%3C/svg%3E") !important;
    box-shadow: 0 8px 24px rgba(126, 34, 206, 0.18), 0 2px 8px rgba(140, 115, 62, 0.12) !important;
}

[data-theme="archivist"] .occupant-card--quirked .occupant-card__header[b-pirk1ns06o] {
    background: linear-gradient(135deg, #4A1D6D 0%, #2E1045 100%) !important;
    border-bottom: 2px solid #7E22CE !important;
}

/* High-contrast Royal Purple Quirked Badge on Archivist */
[data-theme="archivist"] .occupant-card--quirked .occupant-card__badge[b-pirk1ns06o] {
    background: #F3E8FF !important;
    border: 1.5px solid #7E22CE !important;
    color: #581C87 !important;
    font-weight: 800 !important;
}

[data-theme="archivist"] .occupant-card--quirked .occupant-card__badge span.animate-pulse[b-pirk1ns06o] {
    background-color: #7E22CE !important;
}

[data-theme="archivist"] .occupant-card__header[b-pirk1ns06o] {
    background: linear-gradient(135deg, #235347 0%, #15372F 100%) !important;
    padding: 0.75rem 1rem !important;
    margin: -1.25rem -1.25rem 0.75rem -1.25rem !important;
    border-radius: 2px 2px 0 0 !important;
    border-bottom: 2px solid #8C733E !important;
}

[data-theme="archivist"] .occupant-card__title[b-pirk1ns06o] {
    color: #FCFAF6 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="archivist"] .occupant-card__subtitle[b-pirk1ns06o] {
    color: #FAF7F0 !important;
    font-style: italic !important;
    font-family: 'Lora', serif !important;
    font-size: 0.95rem !important;
}

[data-theme="archivist"] .occupant-card__badge[b-pirk1ns06o] {
    background: rgba(252, 250, 246, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
    color: #FCFAF6 !important;
}

[data-theme="archivist"] .occupant-card__challenge[b-pirk1ns06o] {
    background: #F3EFE4 !important;
    border-color: rgba(140, 115, 62, 0.4) !important;
    color: #235347 !important;
    font-weight: 700 !important;
}

/* Scribe Flourish Rule (Emerald / Brass / Oxblood) */
[data-theme="archivist"] .occupant-card__tapered-hazard[b-pirk1ns06o] {
    display: block;
    height: 4px;
    margin: 0.25rem 0 0.85rem;
    background: linear-gradient(to right, transparent 0%, #9E2A2B 20%, #235347 50%, #9E2A2B 80%, transparent 100%);
    border-radius: 2px;
}

/* Stat Block Inset Basics (AC, HP, SPD) */
[data-theme="archivist"] .occupant-card__basics[b-pirk1ns06o] {
    background-color: #F3EFE4 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M0 8h80M0 16h80M0 24h80M0 32h80M0 40h80M0 48h80M0 56h80M0 64h80M0 72h80M0 80h80' stroke='%238C733E' stroke-width='0.5' stroke-opacity='0.07' stroke-dasharray='3,1,5,2,2,1'/%3E%3Cpath d='M40 0v80' stroke='%238C733E' stroke-width='0.75' stroke-opacity='0.09'/%3E%3Ccircle cx='18' cy='42' r='0.8' fill='%238C733E' fill-opacity='0.1'/%3E%3Ccircle cx='68' cy='58' r='1' fill='%238C733E' fill-opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(248, 244, 235, 0.8) 0%, rgba(238, 232, 219, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(140, 115, 62, 0.35) !important;
    color: #1A1714 !important;
    border-radius: 2px !important;
    box-shadow: inset 0 1px 3px rgba(140, 115, 62, 0.12) !important;
}

[data-theme="archivist"] .occupant-card__basics strong[b-pirk1ns06o] {
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-size: 0.85rem !important;
}

[data-theme="archivist"] .occupant-card__basics span[b-pirk1ns06o] {
    color: #1A1714 !important;
}

[data-theme="archivist"] .occupant-card__basics .text-primary[b-pirk1ns06o] {
    color: #235347 !important;
}

[data-theme="archivist"] .occupant-card__basics .text-outline[b-pirk1ns06o] {
    color: #74685D !important;
}

/* 6 Ability Scores Matrix */
[data-theme="archivist"] .occupant-card__abilities > div[b-pirk1ns06o] {
    background-color: #EBE5D6 !important;
    background-image: linear-gradient(180deg, rgba(243, 239, 228, 0.85) 0%, rgba(230, 223, 208, 0.95) 100%) !important;
    border: 1px solid rgba(140, 115, 62, 0.3) !important;
    color: #1A1714 !important;
    border-radius: 2px !important;
    box-shadow: inset 0 1px 2px rgba(140, 115, 62, 0.08) !important;
}

[data-theme="archivist"] .occupant-card__abilities .text-outline[b-pirk1ns06o] {
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
}

[data-theme="archivist"] .occupant-card__abilities .text-on-surface[b-pirk1ns06o] {
    color: #1A1714 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-weight: 700 !important;
}

/* Details Section */
[data-theme="archivist"] .occupant-card__details[b-pirk1ns06o] {
    background-color: #F7F4EB !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M0 8h80M0 16h80M0 24h80M0 32h80M0 40h80M0 48h80M0 56h80M0 64h80M0 72h80M0 80h80' stroke='%238C733E' stroke-width='0.5' stroke-opacity='0.07' stroke-dasharray='3,1,5,2,2,1'/%3E%3Ccircle cx='18' cy='42' r='0.8' fill='%238C733E' fill-opacity='0.1'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(250, 247, 240, 0.8) 0%, rgba(242, 237, 226, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(196, 180, 149, 0.6) !important;
    color: #1A1714 !important;
    border-radius: 2px !important;
}

[data-theme="archivist"] .occupant-card__details strong[b-pirk1ns06o] {
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-size: 0.8rem !important;
}

[data-theme="archivist"] .occupant-card__details span[b-pirk1ns06o] {
    color: #1A1714 !important;
    font-family: 'Lora', serif !important;
}

/* Section Headings */
[data-theme="archivist"] .occupant-card__body h4[b-pirk1ns06o] {
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    border-bottom: 1.5px solid #8C733E !important;
    padding-bottom: 0.25rem !important;
    margin-bottom: 0.5rem !important;
}

/* Actions & Traits */
[data-theme="archivist"] .occupant-card__action[b-pirk1ns06o],
[data-theme="archivist"] .occupant-card__ability[b-pirk1ns06o] {
    color: #1A1714 !important;
    font-family: 'Lora', serif !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

[data-theme="archivist"] .occupant-card__action strong[b-pirk1ns06o],
[data-theme="archivist"] .occupant-card__ability strong[b-pirk1ns06o] {
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-size: 0.85rem !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

[data-theme="archivist"] .occupant-card__spell-title[b-pirk1ns06o] {
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-size: 0.82rem !important;
    background: rgba(35, 83, 71, 0.12) !important;
    border: 1px solid rgba(35, 83, 71, 0.35) !important;
    padding: 0.15rem 0.55rem !important;
    border-radius: 9999px !important;
}

[data-theme="archivist"] .occupant-card__spell-tiers[b-pirk1ns06o] {
    background-color: #EDE7D8 !important;
    border: 1px solid rgba(140, 115, 62, 0.4) !important;
    border-radius: 2px !important;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.08) !important;
}

[data-theme="archivist"] .occupant-card__spell-tier[b-pirk1ns06o] {
    border-bottom: 1px solid rgba(140, 115, 62, 0.2) !important;
}

[data-theme="archivist"] .occupant-card__spell-tier:hover[b-pirk1ns06o] {
    background: rgba(35, 83, 71, 0.06) !important;
}

[data-theme="archivist"] .occupant-card__spell-badge[b-pirk1ns06o] {
    background: #E4DCC9 !important;
    border: 1px solid #8C733E !important;
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    font-weight: 700 !important;
    border-radius: 2px !important;
}

[data-theme="archivist"] .occupant-card__spell-list[b-pirk1ns06o] {
    color: #1A1714 !important;
    font-family: 'Lora', serif !important;
}

/* High-Contrast Arcane Royal Purple Quirk Callout for Archivist */
[data-theme="archivist"] .occupant-card__quirk-callout[b-pirk1ns06o] {
    background: #FAF5FF !important;
    border: 1.5px solid rgba(126, 34, 206, 0.35) !important;
    border-left: 5px solid #7E22CE !important;
    color: #1A1714 !important;
    box-shadow: 0 2px 10px rgba(126, 34, 206, 0.08) !important;
    border-radius: 4px !important;
}

[data-theme="archivist"] .occupant-card__quirk-heading[b-pirk1ns06o] {
    color: #6B21A8 !important;
    font-family: 'MedievalSharp', cursive !important;
    border-bottom-color: rgba(126, 34, 206, 0.25) !important;
}

[data-theme="archivist"] .occupant-card__quirk-heading .material-symbols-outlined[b-pirk1ns06o] {
    color: #7E22CE !important;
}

[data-theme="archivist"] .occupant-card__quirk-toggle[b-pirk1ns06o] {
    color: #7E22CE !important;
}

[data-theme="archivist"] .occupant-card__quirk-action[b-pirk1ns06o] {
    color: #1A1714 !important;
}

[data-theme="archivist"] .occupant-card__quirk-action-title span:first-child[b-pirk1ns06o] {
    background: #F3E8FF !important;
    color: #581C87 !important;
    border: 1px solid #7E22CE !important;
    font-weight: 700 !important;
}

[data-theme="archivist"] .occupant-card__quirk-action strong[b-pirk1ns06o] {
    color: #6B21A8 !important;
    font-family: 'MedievalSharp', cursive !important;
}

/* Action & Trait Sections on Parchment */
[data-theme="archivist"] .occupant-card__ability-section[b-pirk1ns06o] {
    background-color: #F7F4EB !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M0 8h80M0 16h80M0 24h80M0 32h80M0 40h80M0 48h80M0 56h80M0 64h80M0 72h80M0 80h80' stroke='%238C733E' stroke-width='0.5' stroke-opacity='0.07' stroke-dasharray='3,1,5,2,2,1'/%3E%3Ccircle cx='18' cy='42' r='0.8' fill='%238C733E' fill-opacity='0.1'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(250, 247, 240, 0.8) 0%, rgba(242, 237, 226, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(196, 180, 149, 0.6) !important;
    border-radius: 2px !important;
}

/* Fallback Container */
[data-theme="archivist"] .occupant-card__fallback[b-pirk1ns06o] {
    background-color: #F3EFE4 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M0 8h80M0 16h80M0 24h80M0 32h80M0 40h80M0 48h80M0 56h80M0 64h80M0 72h80M0 80h80' stroke='%238C733E' stroke-width='0.5' stroke-opacity='0.07' stroke-dasharray='3,1,5,2,2,1'/%3E%3Ccircle cx='18' cy='42' r='0.8' fill='%238C733E' fill-opacity='0.1'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(248, 244, 235, 0.8) 0%, rgba(238, 232, 219, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(140, 115, 62, 0.3) !important;
    border-radius: 2px !important;
    color: #1A1714 !important;
}

[data-theme="archivist"] .occupant-card__fallback strong[b-pirk1ns06o] {
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
}

/* Archivist: Cartographer's Ledger & Parchment Card Stack */
[data-theme="archivist"] .occupant-card-stack__layer[b-pirk1ns06o] {
    border-radius: 4px !important;
}

[data-theme="archivist"] .occupant-card-stack__layer--under[b-pirk1ns06o] {
    background: #F3EFE4 !important;
    border: 1.5px solid rgba(140, 115, 62, 0.45) !important;
    box-shadow: 0 6px 16px rgba(140, 115, 62, 0.12) !important;
}

[data-theme="archivist"] .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    background: #EAE3D2 !important;
    border: 1px solid rgba(196, 180, 149, 0.6) !important;
    box-shadow: 0 8px 24px rgba(140, 115, 62, 0.16) !important;
}

[data-theme="archivist"] .occupant-card-stack--grouped:hover .occupant-card-stack__layer--under[b-pirk1ns06o] {
    border-color: #8C733E !important;
    box-shadow: 0 10px 22px rgba(140, 115, 62, 0.18), 0 0 12px rgba(35, 83, 71, 0.15) !important;
}

[data-theme="archivist"] .occupant-card-stack--grouped:hover .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    border-color: rgba(140, 115, 62, 0.6) !important;
    box-shadow: 0 12px 28px rgba(140, 115, 62, 0.22) !important;
}

[data-theme="archivist"] .occupant-card-stack__badge[b-pirk1ns06o] {
    background: #FCFAF6 !important;
    border: 1.5px solid #235347 !important;
    color: #235347 !important;
    font-family: 'MedievalSharp', cursive !important;
    box-shadow: 0 4px 12px rgba(140, 115, 62, 0.18), 0 0 8px rgba(35, 83, 71, 0.15) !important;
}

[data-theme="archivist"] .occupant-card-stack--grouped:hover .occupant-card-stack__badge[b-pirk1ns06o] {
    border-color: #357A68 !important;
    box-shadow: 0 6px 16px rgba(140, 115, 62, 0.25), 0 0 14px rgba(35, 83, 71, 0.25) !important;
}

/* ─── Tactical HUD & Cyber Field Operative (Beta Theme) ─── */
[data-theme="beta"] .occupant-card[b-pirk1ns06o] {
    border: 1px solid rgb(var(--color-outline-variant) / 0.35) !important;
    border-radius: var(--card-radius, 1rem) !important;
    background-color: #0A192A !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 0l12 6v12l-12 6L0 18V6z' stroke='%234BE277' stroke-width='0.5' stroke-opacity='0.06'/%3E%3Ccircle cx='12' cy='12' r='1' fill='%234BE277' fill-opacity='0.12'/%3E%3Cpath d='M0 12h24M12 0v24' stroke='%234BE277' stroke-width='0.5' stroke-opacity='0.03'/%3E%3C/svg%3E"), linear-gradient(165deg, rgba(13, 28, 45, 0.92) 0%, rgba(8, 18, 30, 0.96) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.05) !important;
    padding: 1.25rem !important;
}

[data-theme="beta"] .occupant-card:hover[b-pirk1ns06o] {
    border-color: rgb(var(--color-primary) / 0.45) !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.3), 0 0 20px rgb(var(--color-primary) / 0.1) !important;
}

[data-theme="beta"] .occupant-card__basics[b-pirk1ns06o],
[data-theme="beta"] .occupant-card__details[b-pirk1ns06o],
[data-theme="beta"] .occupant-card__ability-section[b-pirk1ns06o] {
    background-color: #081422 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='0.8' fill='%234BE277' fill-opacity='0.08'/%3E%3Cpath d='M0 12h24M12 0v24' stroke='%234BE277' stroke-width='0.5' stroke-opacity='0.03'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(13, 25, 40, 0.8) 0%, rgba(7, 15, 25, 0.95) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    border: 1px solid rgba(75, 226, 119, 0.2) !important;
}

/* Beta Boss: 9-Slice Tactical HUD Reticle Frame */
[data-theme="beta"] .occupant-card--boss[b-pirk1ns06o] {
    border-style: solid !important;
    border-width: 18px !important;
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpolygon points='0,22 22,0 58,0 80,22 80,58 58,80 22,80 0,58' stroke='%234BE277' stroke-width='2.5' fill='%230A192A' fill-opacity='0.95'/%3E%3Cpolygon points='6,24 24,6 56,6 74,24 74,56 56,74 24,74 6,56' stroke='%234BE277' stroke-width='1.2' stroke-opacity='0.6' fill='none'/%3E%3Cline x1='0' y1='22' x2='9' y2='22' stroke='%234BE277' stroke-width='2.2'/%3E%3Cline x1='22' y1='0' x2='22' y2='9' stroke='%234BE277' stroke-width='2.2'/%3E%3Cline x1='80' y1='22' x2='71' y2='22' stroke='%234BE277' stroke-width='2.2'/%3E%3Cline x1='58' y1='0' x2='58' y2='9' stroke='%234BE277' stroke-width='2.2'/%3E%3Cline x1='0' y1='58' x2='9' y2='58' stroke='%234BE277' stroke-width='2.2'/%3E%3Cline x1='22' y1='80' x2='22' y2='71' stroke='%234BE277' stroke-width='2.2'/%3E%3Cline x1='80' y1='58' x2='71' y2='58' stroke='%234BE277' stroke-width='2.2'/%3E%3Cline x1='58' y1='80' x2='58' y2='71' stroke='%234BE277' stroke-width='2.2'/%3E%3C/svg%3E") !important;
    border-image-slice: 24 fill !important;
    border-image-repeat: stretch !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: 0 0 20px rgba(75, 226, 119, 0.18), inset 0 0 14px rgba(75, 226, 119, 0.06) !important;
}

[data-theme="beta"] .occupant-card--boss:hover[b-pirk1ns06o] {
    box-shadow: 0 0 28px rgba(75, 226, 119, 0.3), inset 0 0 18px rgba(75, 226, 119, 0.1) !important;
}

/* Beta Quirked Boss: Tactical Violet HUD Reticle Frame */
[data-theme="beta"] .occupant-card--boss.occupant-card--quirked[b-pirk1ns06o] {
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpolygon points='0,22 22,0 58,0 80,22 80,58 58,80 22,80 0,58' stroke='%23A855F7' stroke-width='2.5' fill='%230A192A' fill-opacity='0.95'/%3E%3Cpolygon points='6,24 24,6 56,6 74,24 74,56 56,74 24,74 6,56' stroke='%23C084FC' stroke-width='1.2' stroke-opacity='0.7' fill='none'/%3E%3Cline x1='0' y1='22' x2='9' y2='22' stroke='%23A855F7' stroke-width='2.2'/%3E%3Cline x1='22' y1='0' x2='22' y2='9' stroke='%23A855F7' stroke-width='2.2'/%3E%3Cline x1='80' y1='22' x2='71' y2='22' stroke='%23A855F7' stroke-width='2.2'/%3E%3Cline x1='58' y1='0' x2='58' y2='9' stroke='%23A855F7' stroke-width='2.2'/%3E%3Cline x1='0' y1='58' x2='9' y2='58' stroke='%23A855F7' stroke-width='2.2'/%3E%3Cline x1='22' y1='80' x2='22' y2='71' stroke='%23A855F7' stroke-width='2.2'/%3E%3Cline x1='80' y1='58' x2='71' y2='58' stroke='%23A855F7' stroke-width='2.2'/%3E%3Cline x1='58' y1='80' x2='58' y2='71' stroke='%23A855F7' stroke-width='2.2'/%3E%3C/svg%3E") !important;
    box-shadow: 0 0 25px rgba(168, 85, 247, 0.3), inset 0 0 16px rgba(168, 85, 247, 0.1) !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__header[b-pirk1ns06o] {
    border-bottom: 1.5px solid #A855F7 !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__badge[b-pirk1ns06o] {
    background: rgba(168, 85, 247, 0.2) !important;
    border-color: #A855F7 !important;
    color: #C084FC !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__badge span.animate-pulse[b-pirk1ns06o] {
    background-color: #C084FC !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__quirk-callout[b-pirk1ns06o] {
    border-left: 4px solid #A855F7 !important;
    background: rgba(88, 28, 135, 0.2) !important;
    border-color: rgba(168, 85, 247, 0.35) !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__quirk-heading[b-pirk1ns06o] {
    color: #C084FC !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__quirk-heading .material-symbols-outlined[b-pirk1ns06o] {
    color: #C084FC !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__quirk-toggle[b-pirk1ns06o] {
    color: #C084FC !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__quirk-action-title span:first-child[b-pirk1ns06o] {
    background: rgba(168, 85, 247, 0.25) !important;
    color: #E9D5FF !important;
    border-color: #A855F7 !important;
}

[data-theme="beta"] .occupant-card--quirked .occupant-card__quirk-action strong[b-pirk1ns06o] {
    color: #C084FC !important;
}

[data-theme="beta"] .occupant-card-stack__layer[b-pirk1ns06o] {
    border-radius: 4px !important;
}

[data-theme="beta"] .occupant-card-stack__layer--under[b-pirk1ns06o] {
    background: #0D1C2D !important;
    border: 1.5px solid rgba(75, 226, 119, 0.4) !important;
    box-shadow: 0 0 16px rgba(75, 226, 119, 0.15) !important;
}

[data-theme="beta"] .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    background: #081422 !important;
    border: 1px solid rgba(75, 226, 119, 0.25) !important;
    box-shadow: 0 0 20px rgba(75, 226, 119, 0.1) !important;
}

/* ─── Astral Void & Eldritch Horror Stat Block ─── */
[data-theme="eldritch"] .occupant-card[b-pirk1ns06o] {
    border: 1px solid rgba(168, 85, 247, 0.35) !important;
    border-radius: 6px !important;
    background-color: #100C1C !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M40 0L80 40L40 80L0 40Z' stroke='%23A855F7' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Ccircle cx='40' cy='40' r='1.5' fill='%2322D3EE' fill-opacity='0.15'/%3E%3Ccircle cx='0' cy='0' r='1' fill='%23A855F7' fill-opacity='0.12'/%3E%3Ccircle cx='80' cy='0' r='1' fill='%23A855F7' fill-opacity='0.12'/%3E%3Ccircle cx='0' cy='80' r='1' fill='%23A855F7' fill-opacity='0.12'/%3E%3Ccircle cx='80' cy='80' r='1' fill='%23A855F7' fill-opacity='0.12'/%3E%3Cline x1='0' y1='40' x2='80' y2='40' stroke='%2322D3EE' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='4 4'/%3E%3Cline x1='40' y1='0' x2='40' y2='80' stroke='%2322D3EE' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='4 4'/%3E%3C/svg%3E"), linear-gradient(165deg, rgba(20, 16, 33, 0.95) 0%, rgba(10, 7, 18, 0.98) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    color: #F1F5F9 !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.75), inset 0 0 16px rgba(0, 0, 0, 0.85), 0 0 16px rgba(168, 85, 247, 0.1) !important;
    font-family: 'Spectral', serif !important;
    padding: 1.25rem !important;
}

[data-theme="eldritch"] .occupant-card:hover[b-pirk1ns06o] {
    border-color: #A855F7 !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 22px rgba(168, 85, 247, 0.28) !important;
}

/* Eldritch Boss: 9-Slice Astral Void Sigil Frame (Climax Boss Only) */
[data-theme="eldritch"] .occupant-card--boss[b-pirk1ns06o] {
    border-style: solid !important;
    border-width: 18px !important;
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpolygon points='0,24 24,0 56,0 80,24 80,56 56,80 24,80 0,56' stroke='%23A855F7' stroke-width='2.5' fill='%23141021' fill-opacity='0.98'/%3E%3Cpolygon points='6,26 26,6 54,6 74,26 74,54 54,74 26,74 6,56' stroke='%2322D3EE' stroke-width='1.2' stroke-opacity='0.75' fill='none'/%3E%3Ccircle cx='24' cy='12' r='2' fill='%2322D3EE'/%3E%3Ccircle cx='56' cy='12' r='2' fill='%2322D3EE'/%3E%3Ccircle cx='24' cy='68' r='2' fill='%2322D3EE'/%3E%3Ccircle cx='56' cy='68' r='2' fill='%2322D3EE'/%3E%3C/svg%3E") !important;
    border-image-slice: 26 fill !important;
    border-image-repeat: stretch !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 28px rgba(168, 85, 247, 0.3), inset 0 0 18px rgba(0, 0, 0, 0.85) !important;
}

[data-theme="eldritch"] .occupant-card--boss:hover[b-pirk1ns06o] {
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85), 0 0 36px rgba(168, 85, 247, 0.45) !important;
}

/* Eldritch Quirked Boss: Starlight Cyan Inner Glow & Pulse */
[data-theme="eldritch"] .occupant-card--boss.occupant-card--quirked[b-pirk1ns06o] {
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpolygon points='0,24 24,0 56,0 80,24 80,56 56,80 24,80 0,56' stroke='%2322D3EE' stroke-width='2.5' fill='%23141021' fill-opacity='0.98'/%3E%3Cpolygon points='6,26 26,6 54,6 74,26 74,54 54,74 26,74 6,56' stroke='%23C084FC' stroke-width='1.5' stroke-opacity='0.95' fill='none'/%3E%3Ccircle cx='24' cy='12' r='2.5' fill='%2322D3EE'/%3E%3Ccircle cx='56' cy='12' r='2.5' fill='%2322D3EE'/%3E%3Ccircle cx='24' cy='68' r='2.5' fill='%2322D3EE'/%3E%3Ccircle cx='56' cy='68' r='2.5' fill='%2322D3EE'/%3E%3C/svg%3E") !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 28px rgba(34, 211, 238, 0.35), inset 0 0 18px rgba(0, 0, 0, 0.85) !important;
}

[data-theme="eldritch"] .occupant-card--quirked .occupant-card__header[b-pirk1ns06o] {
    background: linear-gradient(135deg, #164E63 0%, #083344 100%) !important;
    border-bottom: 2px solid #22D3EE !important;
}

[data-theme="eldritch"] .occupant-card--quirked .occupant-card__badge[b-pirk1ns06o] {
    background: rgba(34, 211, 238, 0.25) !important;
    border-color: #22D3EE !important;
    color: #CFFAFE !important;
}

[data-theme="eldritch"] .occupant-card--quirked .occupant-card__badge span.animate-pulse[b-pirk1ns06o] {
    background-color: #22D3EE !important;
}

[data-theme="eldritch"] .occupant-card--quirked .occupant-card__quirk-callout[b-pirk1ns06o] {
    border-left: 4px solid #22D3EE !important;
    background: rgba(8, 51, 68, 0.25) !important;
}

[data-theme="eldritch"] .occupant-card__header[b-pirk1ns06o] {
    background: linear-gradient(135deg, #7E22CE 0%, #4C1D95 100%) !important;
    padding: 0.75rem 1rem !important;
    margin: -1.25rem -1.25rem 0.75rem -1.25rem !important;
    border-radius: 4px 4px 0 0 !important;
    border-bottom: 2px solid #A855F7 !important;
}

[data-theme="eldritch"] .occupant-card__title[b-pirk1ns06o] {
    color: #FFFFFF !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8) !important;
}

[data-theme="eldritch"] .occupant-card__subtitle[b-pirk1ns06o] {
    color: #E9D5FF !important;
    font-style: italic !important;
    font-family: 'Spectral', serif !important;
    font-size: 0.95rem !important;
}

[data-theme="eldritch"] .occupant-card__badge[b-pirk1ns06o] {
    background: rgba(10, 7, 18, 0.7) !important;
    border-color: rgba(168, 85, 247, 0.5) !important;
    color: #C084FC !important;
    font-size: 0.75rem !important;
}

[data-theme="eldritch"] .occupant-card__challenge[b-pirk1ns06o] {
    background: #141021 !important;
    border-color: rgba(168, 85, 247, 0.4) !important;
    color: #22D3EE !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
}

/* Starlight / Amethyst Tapered Divider */
[data-theme="eldritch"] .occupant-card__tapered-hazard[b-pirk1ns06o] {
    display: block;
    height: 3.5px;
    margin: 0.25rem 0 0.85rem;
    background: linear-gradient(to right, transparent 0%, #A855F7 25%, #22D3EE 50%, #A855F7 75%, transparent 100%);
    border-radius: 2px;
}

/* Basics Box (AC, HP, SPD) */
[data-theme="eldritch"] .occupant-card__basics[b-pirk1ns06o] {
    background-color: #130E22 !important;
    border: 1px solid rgba(168, 85, 247, 0.3) !important;
    color: #F1F5F9 !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
    font-size: 0.92rem !important;
}

[data-theme="eldritch"] .occupant-card__basics strong[b-pirk1ns06o] {
    color: #C084FC !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    font-size: 0.9rem !important;
}

[data-theme="eldritch"] .occupant-card__basics span[b-pirk1ns06o] {
    color: #F1F5F9 !important;
}

[data-theme="eldritch"] .occupant-card__basics .text-primary[b-pirk1ns06o] {
    color: #C084FC !important;
}

[data-theme="eldritch"] .occupant-card__basics .text-outline[b-pirk1ns06o] {
    color: #94A3B8 !important;
}

/* Ability Scores Matrix */
[data-theme="eldritch"] .occupant-card__abilities > div[b-pirk1ns06o] {
    background-color: #151026 !important;
    border: 1px solid rgba(168, 85, 247, 0.25) !important;
    color: #F1F5F9 !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="eldritch"] .occupant-card__abilities > div:hover[b-pirk1ns06o] {
    border-color: #22D3EE !important;
    background: #1C1533 !important;
}

[data-theme="eldritch"] .occupant-card__abilities .text-outline[b-pirk1ns06o] {
    color: #C084FC !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}

[data-theme="eldritch"] .occupant-card__abilities .text-on-surface[b-pirk1ns06o] {
    color: #F1F5F9 !important;
    font-family: 'Spectral', serif !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
}

/* Details Section */
[data-theme="eldritch"] .occupant-card__details[b-pirk1ns06o] {
    background-color: #130E22 !important;
    border: 1px solid rgba(168, 85, 247, 0.25) !important;
    color: #F1F5F9 !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5) !important;
    font-family: 'Spectral', serif !important;
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
}

[data-theme="eldritch"] .occupant-card__details strong[b-pirk1ns06o] {
    color: #C084FC !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    font-size: 0.9rem !important;
}

[data-theme="eldritch"] .occupant-card__details span[b-pirk1ns06o] {
    color: #CBD5E1 !important;
}

/* Ability Section */
[data-theme="eldritch"] .occupant-card__ability-section[b-pirk1ns06o] {
    background-color: #130E22 !important;
    border: 1px solid rgba(168, 85, 247, 0.25) !important;
    border-radius: 4px !important;
}

[data-theme="eldritch"] .occupant-card__ability-section h4[b-pirk1ns06o] {
    color: #C084FC !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.08em !important;
    border-bottom-color: rgba(168, 85, 247, 0.3) !important;
}

[data-theme="eldritch"] .occupant-card__ability[b-pirk1ns06o] {
    font-family: 'Spectral', serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #E2E8F0 !important;
}

[data-theme="eldritch"] .occupant-card__ability strong[b-pirk1ns06o] {
    color: #22D3EE !important;
    font-size: 0.82rem !important;
}

[data-theme="eldritch"] .occupant-card__spell-title[b-pirk1ns06o] {
    color: #C084FC !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    font-size: 0.82rem !important;
    background: rgba(168, 85, 247, 0.15) !important;
    border: 1px solid rgba(168, 85, 247, 0.4) !important;
    padding: 0.15rem 0.55rem !important;
    border-radius: 9999px !important;
    box-shadow: 0 0 10px rgba(168, 85, 247, 0.25) !important;
}

[data-theme="eldritch"] .occupant-card__spell-tiers[b-pirk1ns06o] {
    background-color: #0E091B !important;
    border: 1px solid rgba(168, 85, 247, 0.25) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="eldritch"] .occupant-card__spell-tier[b-pirk1ns06o] {
    border-bottom: 1px solid rgba(168, 85, 247, 0.15) !important;
}

[data-theme="eldritch"] .occupant-card__spell-tier:hover[b-pirk1ns06o] {
    background: rgba(168, 85, 247, 0.08) !important;
}

[data-theme="eldritch"] .occupant-card__spell-badge[b-pirk1ns06o] {
    background: rgba(34, 211, 238, 0.12) !important;
    border: 1px solid rgba(34, 211, 238, 0.35) !important;
    color: #22D3EE !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    border-radius: 3px !important;
}

[data-theme="eldritch"] .occupant-card__spell-list[b-pirk1ns06o] {
    color: #E2E8F0 !important;
    font-family: 'Spectral', serif !important;
}

/* Quirk Callout */
[data-theme="eldritch"] .occupant-card__quirk-callout[b-pirk1ns06o] {
    background-color: #171129 !important;
    border-color: rgba(168, 85, 247, 0.4) !important;
    border-left-color: #A855F7 !important;
    border-radius: 4px !important;
    font-family: 'Spectral', serif !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
}

[data-theme="eldritch"] .occupant-card__quirk-heading[b-pirk1ns06o] {
    color: #C084FC !important;
}

[data-theme="eldritch"] .occupant-card__quirk-heading .material-symbols-outlined[b-pirk1ns06o] {
    color: #C084FC !important;
}

[data-theme="eldritch"] .occupant-card__quirk-toggle[b-pirk1ns06o] {
    color: #22D3EE !important;
}

[data-theme="eldritch"] .occupant-card__quirk-action-title span:first-child[b-pirk1ns06o] {
    background: rgba(168, 85, 247, 0.25) !important;
    color: #F3E8FF !important;
    border-color: #A855F7 !important;
}

[data-theme="eldritch"] .occupant-card__quirk-action strong[b-pirk1ns06o] {
    color: #22D3EE !important;
}

/* Stacked Cards */
[data-theme="eldritch"] .occupant-card-stack__layer[b-pirk1ns06o] {
    border-radius: 6px !important;
}

[data-theme="eldritch"] .occupant-card-stack__layer--under[b-pirk1ns06o] {
    background: #141021 !important;
    border: 1.5px solid rgba(168, 85, 247, 0.4) !important;
    box-shadow: 0 0 18px rgba(168, 85, 247, 0.2) !important;
}

[data-theme="eldritch"] .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    background: #0D0917 !important;
    border: 1px solid rgba(168, 85, 247, 0.25) !important;
    box-shadow: 0 0 22px rgba(168, 85, 247, 0.12) !important;
}

[data-theme="eldritch"] .occupant-card-stack__badge[b-pirk1ns06o] {
    background: #141021 !important;
    border: 1.5px solid #A855F7 !important;
    color: #22D3EE !important;
    font-family: 'Cinzel Decorative', 'Cinzel', serif !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.7), 0 0 14px rgba(168, 85, 247, 0.35) !important;
}

/* ─── Primeval Forest & Wildwood Ranger/Druid Stat Block ─── */
[data-theme="wildwood"] .occupant-card[b-pirk1ns06o] {
    border: 1.5px solid rgba(56, 126, 71, 0.35) !important;
    border-radius: 5px !important;
    background-color: #142017 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpath d='M40 0 C55 20 60 30 80 40 C60 50 55 60 40 80 C25 60 20 50 0 40 C20 30 25 20 40 0Z' stroke='%23387E47' stroke-width='0.5' stroke-opacity='0.08'/%3E%3Ccircle cx='40' cy='40' r='1.5' fill='%23C4965E' fill-opacity='0.2'/%3E%3Ccircle cx='0' cy='0' r='1' fill='%23387E47' fill-opacity='0.12'/%3E%3Ccircle cx='80' cy='0' r='1' fill='%23387E47' fill-opacity='0.12'/%3E%3Ccircle cx='0' cy='80' r='1' fill='%23387E47' fill-opacity='0.12'/%3E%3Ccircle cx='80' cy='80' r='1' fill='%23387E47' fill-opacity='0.12'/%3E%3Cline x1='0' y1='40' x2='80' y2='40' stroke='%23C4965E' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='4 4'/%3E%3Cline x1='40' y1='0' x2='40' y2='80' stroke='%23C4965E' stroke-width='0.4' stroke-opacity='0.04' stroke-dasharray='4 4'/%3E%3C/svg%3E"), linear-gradient(165deg, rgba(24, 38, 28, 0.95) 0%, rgba(12, 20, 14, 0.98) 100%) !important;
    background-repeat: repeat, no-repeat !important;
    color: #E8F2E8 !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.75), inset 0 0 16px rgba(0, 0, 0, 0.85), 0 0 16px rgba(56, 126, 71, 0.1) !important;
    font-family: 'Alegreya', serif !important;
    padding: 1.25rem !important;
}

[data-theme="wildwood"] .occupant-card:hover[b-pirk1ns06o] {
    border-color: #387E47 !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 22px rgba(56, 126, 71, 0.25) !important;
}

/* Wildwood Boss: 9-Slice Sylvan Root & Thorn Frame */
[data-theme="wildwood"] .occupant-card--boss[b-pirk1ns06o] {
    border-style: solid !important;
    border-width: 18px !important;
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpolygon points='0,24 24,0 56,0 80,24 80,56 56,80 24,80 0,56' stroke='%23387E47' stroke-width='2.5' fill='%2318261C' fill-opacity='0.98'/%3E%3Cpolygon points='6,26 26,6 54,6 74,26 74,54 54,74 26,74 6,56' stroke='%23C4965E' stroke-width='1.2' stroke-opacity='0.8' fill='none'/%3E%3Ccircle cx='24' cy='12' r='2' fill='%23C4965E'/%3E%3Ccircle cx='56' cy='12' r='2' fill='%23C4965E'/%3E%3Ccircle cx='24' cy='68' r='2' fill='%23C4965E'/%3E%3Ccircle cx='56' cy='68' r='2' fill='%23C4965E'/%3E%3C/svg%3E") !important;
    border-image-slice: 26 fill !important;
    border-image-repeat: stretch !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 28px rgba(56, 126, 71, 0.28), inset 0 0 18px rgba(0, 0, 0, 0.85) !important;
}

[data-theme="wildwood"] .occupant-card--boss:hover[b-pirk1ns06o] {
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85), 0 0 36px rgba(56, 126, 71, 0.42) !important;
}

/* Wildwood Quirked Boss: Amber Sap & Forest Firefly Glow */
[data-theme="wildwood"] .occupant-card--boss.occupant-card--quirked[b-pirk1ns06o] {
    border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none'%3E%3Cpolygon points='0,24 24,0 56,0 80,24 80,56 56,80 24,80 0,56' stroke='%23C4965E' stroke-width='2.5' fill='%2318261C' fill-opacity='0.98'/%3E%3Cpolygon points='6,26 26,6 54,6 74,26 74,54 54,74 26,74 6,56' stroke='%2358A068' stroke-width='1.5' stroke-opacity='0.95' fill='none'/%3E%3Ccircle cx='24' cy='12' r='2.5' fill='%23C4965E'/%3E%3Ccircle cx='56' cy='12' r='2.5' fill='%23C4965E'/%3E%3Ccircle cx='24' cy='68' r='2.5' fill='%23C4965E'/%3E%3Ccircle cx='56' cy='68' r='2.5' fill='%23C4965E'/%3E%3C/svg%3E") !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 28px rgba(196, 150, 94, 0.35), inset 0 0 18px rgba(0, 0, 0, 0.85) !important;
}

[data-theme="wildwood"] .occupant-card--quirked .occupant-card__header[b-pirk1ns06o] {
    background: linear-gradient(135deg, #3E2B14 0%, #241A0B 100%) !important;
    border-bottom: 2px solid #C4965E !important;
}

[data-theme="wildwood"] .occupant-card--quirked .occupant-card__badge[b-pirk1ns06o] {
    background: rgba(196, 150, 94, 0.25) !important;
    border-color: #C4965E !important;
    color: #FAECDA !important;
}

[data-theme="wildwood"] .occupant-card--quirked .occupant-card__badge span.animate-pulse[b-pirk1ns06o] {
    background-color: #C4965E !important;
}

[data-theme="wildwood"] .occupant-card--quirked .occupant-card__quirk-callout[b-pirk1ns06o] {
    border-left: 4px solid #C4965E !important;
    background: rgba(46, 32, 14, 0.25) !important;
}

[data-theme="wildwood"] .occupant-card__header[b-pirk1ns06o] {
    background: linear-gradient(135deg, #2A5A38 0%, #183822 100%) !important;
    padding: 0.75rem 1rem !important;
    margin: -1.25rem -1.25rem 0.75rem -1.25rem !important;
    border-radius: 4px 4px 0 0 !important;
    border-bottom: 2px solid #387E47 !important;
}

[data-theme="wildwood"] .occupant-card__title[b-pirk1ns06o] {
    color: #FFFFFF !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8) !important;
}

[data-theme="wildwood"] .occupant-card__subtitle[b-pirk1ns06o] {
    color: #D2E8D5 !important;
    font-style: italic !important;
    font-family: 'Alegreya', serif !important;
    font-size: 0.95rem !important;
}

[data-theme="wildwood"] .occupant-card__badge[b-pirk1ns06o] {
    background: rgba(12, 20, 14, 0.75) !important;
    border-color: rgba(56, 126, 71, 0.5) !important;
    color: #58A068 !important;
    font-size: 0.75rem !important;
}

[data-theme="wildwood"] .occupant-card__challenge[b-pirk1ns06o] {
    background: #18261C !important;
    border-color: rgba(196, 150, 94, 0.4) !important;
    color: #C4965E !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
}

/* Sylvan Emerald / Tawny Oak Tapered Divider */
[data-theme="wildwood"] .occupant-card__tapered-hazard[b-pirk1ns06o] {
    display: block;
    height: 3.5px;
    margin: 0.25rem 0 0.85rem;
    background: linear-gradient(to right, transparent 0%, #387E47 25%, #C4965E 50%, #387E47 75%, transparent 100%);
    border-radius: 2px;
}

/* Basics Box (AC, HP, SPD) */
[data-theme="wildwood"] .occupant-card__basics[b-pirk1ns06o] {
    background-color: #121D15 !important;
    border: 1px solid rgba(56, 126, 71, 0.3) !important;
    color: #E8F2E8 !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.6) !important;
    font-size: 0.92rem !important;
}

[data-theme="wildwood"] .occupant-card__basics strong[b-pirk1ns06o] {
    color: #58A068 !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    font-size: 0.9rem !important;
}

[data-theme="wildwood"] .occupant-card__basics span[b-pirk1ns06o] {
    color: #E8F2E8 !important;
}

[data-theme="wildwood"] .occupant-card__basics .text-primary[b-pirk1ns06o] {
    color: #58A068 !important;
}

[data-theme="wildwood"] .occupant-card__basics .text-outline[b-pirk1ns06o] {
    color: #8BA88B !important;
}

/* Ability Scores Matrix */
[data-theme="wildwood"] .occupant-card__abilities > div[b-pirk1ns06o] {
    background-color: #16241A !important;
    border: 1px solid rgba(56, 126, 71, 0.25) !important;
    color: #E8F2E8 !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="wildwood"] .occupant-card__abilities > div:hover[b-pirk1ns06o] {
    border-color: #C4965E !important;
    background: #1D3023 !important;
}

[data-theme="wildwood"] .occupant-card__abilities .text-outline[b-pirk1ns06o] {
    color: #58A068 !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
}

[data-theme="wildwood"] .occupant-card__abilities .text-on-surface[b-pirk1ns06o] {
    color: #E8F2E8 !important;
    font-family: 'Alegreya', serif !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
}

/* Details Section */
[data-theme="wildwood"] .occupant-card__details[b-pirk1ns06o] {
    background-color: #121D15 !important;
    border: 1px solid rgba(56, 126, 71, 0.25) !important;
    color: #E8F2E8 !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5) !important;
    font-family: 'Alegreya', serif !important;
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
}

[data-theme="wildwood"] .occupant-card__details strong[b-pirk1ns06o] {
    color: #58A068 !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    font-size: 0.9rem !important;
}

[data-theme="wildwood"] .occupant-card__details span[b-pirk1ns06o] {
    color: #B5C9B5 !important;
}

/* Ability Section */
[data-theme="wildwood"] .occupant-card__ability-section[b-pirk1ns06o] {
    background-color: #121D15 !important;
    border: 1px solid rgba(56, 126, 71, 0.25) !important;
    border-radius: 4px !important;
}

[data-theme="wildwood"] .occupant-card__ability-section h4[b-pirk1ns06o] {
    color: #58A068 !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.06em !important;
    border-bottom-color: rgba(56, 126, 71, 0.3) !important;
}

[data-theme="wildwood"] .occupant-card__ability[b-pirk1ns06o] {
    font-family: 'Alegreya', serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #DDE8DE !important;
}

[data-theme="wildwood"] .occupant-card__ability strong[b-pirk1ns06o] {
    color: #C4965E !important;
    font-size: 0.82rem !important;
}

[data-theme="wildwood"] .occupant-card__spell-title[b-pirk1ns06o] {
    color: #C4965E !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    font-size: 0.5rem !important;
    background: rgba(196, 150, 94, 0.15) !important;
    border: 1px solid rgba(196, 150, 94, 0.4) !important;
    padding: 0.15rem 0.55rem !important;
    border-radius: 9999px !important;
}

[data-theme="wildwood"] .occupant-card__spell-tiers[b-pirk1ns06o] {
    background-color: #0C140E !important;
    border: 1px solid rgba(56, 126, 71, 0.3) !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

[data-theme="wildwood"] .occupant-card__spell-tier[b-pirk1ns06o] {
    border-bottom: 1px solid rgba(56, 126, 71, 0.15) !important;
}

[data-theme="wildwood"] .occupant-card__spell-tier:hover[b-pirk1ns06o] {
    background: rgba(56, 126, 71, 0.08) !important;
}

[data-theme="wildwood"] .occupant-card__spell-badge[b-pirk1ns06o] {
    background: rgba(88, 160, 104, 0.15) !important;
    border: 1px solid rgba(88, 160, 104, 0.35) !important;
    color: #58A068 !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    border-radius: 3px !important;
}

[data-theme="wildwood"] .occupant-card__spell-list[b-pirk1ns06o] {
    color: #DDE8DE !important;
    font-family: 'Alegreya', serif !important;
}

/* Quirk Callout */
[data-theme="wildwood"] .occupant-card__quirk-callout[b-pirk1ns06o] {
    background-color: #19271E !important;
    border-color: rgba(56, 126, 71, 0.4) !important;
    border-left-color: #387E47 !important;
    border-radius: 4px !important;
    font-family: 'Alegreya', serif !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
}

[data-theme="wildwood"] .occupant-card__quirk-heading[b-pirk1ns06o] {
    color: #58A068 !important;
}

[data-theme="wildwood"] .occupant-card__quirk-heading .material-symbols-outlined[b-pirk1ns06o] {
    color: #58A068 !important;
}

[data-theme="wildwood"] .occupant-card__quirk-toggle[b-pirk1ns06o] {
    color: #C4965E !important;
}

[data-theme="wildwood"] .occupant-card__quirk-action-title span:first-child[b-pirk1ns06o] {
    background: rgba(56, 126, 71, 0.25) !important;
    color: #E0EEE2 !important;
    border-color: #387E47 !important;
}

[data-theme="wildwood"] .occupant-card__quirk-action strong[b-pirk1ns06o] {
    color: #C4965E !important;
}

/* Stacked Cards */
[data-theme="wildwood"] .occupant-card-stack__layer[b-pirk1ns06o] {
    border-radius: 5px !important;
}

[data-theme="wildwood"] .occupant-card-stack__layer--under[b-pirk1ns06o] {
    background: #18261C !important;
    border: 1.5px solid rgba(56, 126, 71, 0.4) !important;
    box-shadow: 0 0 18px rgba(56, 126, 71, 0.15) !important;
}

[data-theme="wildwood"] .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
    background: #101B13 !important;
    border: 1px solid rgba(56, 126, 71, 0.25) !important;
    box-shadow: 0 0 22px rgba(56, 126, 71, 0.08) !important;
}

[data-theme="wildwood"] .occupant-card-stack__badge[b-pirk1ns06o] {
    background: #18261C !important;
    border: 1.5px solid #387E47 !important;
    color: #C4965E !important;
    font-family: 'Eagle Lake', 'Cinzel', serif !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.7), 0 0 14px rgba(56, 126, 71, 0.3) !important;
}

/* ─── Mobile View Card-in-Card Space Optimization ─── */
@media (max-width: 639px) {
    .occupant-card-stack--grouped[b-pirk1ns06o] {
        margin-right: 0.35rem;
        margin-bottom: 0.35rem;
    }

    .occupant-card-stack__layer--under[b-pirk1ns06o] {
        transform: translate(3px, 3px) rotate(0.8deg);
    }

    .occupant-card-stack__layer--deepest[b-pirk1ns06o] {
        transform: translate(6px, 6px) rotate(1.6deg);
    }

    .occupant-card[b-pirk1ns06o],
    [data-theme="grimoire"] .occupant-card[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card[b-pirk1ns06o],
    [data-theme="beta"] .occupant-card[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card[b-pirk1ns06o] {
        padding: 0.75rem 0.65rem !important;
        border-radius: 4px !important;
        gap: 0.5rem;
    }

    [data-theme="grimoire"] .occupant-card--boss[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card--boss[b-pirk1ns06o],
    [data-theme="beta"] .occupant-card--boss[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card--boss[b-pirk1ns06o] {
        border-width: 12px !important;
        border-radius: 0 !important;
    }

    .occupant-card__header[b-pirk1ns06o],
    [data-theme="grimoire"] .occupant-card__header[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card__header[b-pirk1ns06o],
    [data-theme="beta"] .occupant-card__header[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card__header[b-pirk1ns06o] {
        margin: -0.75rem -0.65rem 0.5rem -0.65rem !important;
        padding: 0.6rem 0.65rem !important;
    }

    .occupant-card__title[b-pirk1ns06o] {
        font-size: 1.15rem !important;
    }

    .occupant-card__tapered-hazard[b-pirk1ns06o] {
        margin: 0.15rem 0 0.5rem !important;
    }

    .occupant-card__basics[b-pirk1ns06o],
    [data-theme="grimoire"] .occupant-card__basics[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card__basics[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card__basics[b-pirk1ns06o] {
        padding: 0.45rem 0.55rem !important;
        gap: 0.4rem 0.75rem !important;
    }

    .occupant-card__abilities[b-pirk1ns06o] {
        gap: 0.35rem !important;
    }

    .occupant-card__abilities > div[b-pirk1ns06o],
    [data-theme="grimoire"] .occupant-card__abilities > div[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card__abilities > div[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card__abilities > div[b-pirk1ns06o] {
        padding: 0.35rem 0.2rem !important;
    }

    .occupant-card__details[b-pirk1ns06o],
    [data-theme="grimoire"] .occupant-card__details[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card__details[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card__details[b-pirk1ns06o] {
        padding: 0.45rem 0.55rem !important;
    }

    .occupant-card__ability-section[b-pirk1ns06o],
    [data-theme="grimoire"] .occupant-card__ability-section[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card__ability-section[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card__ability-section[b-pirk1ns06o] {
        padding: 0.45rem 0.55rem !important;
    }

    .occupant-card__quirk-callout[b-pirk1ns06o],
    [data-theme="grimoire"] .occupant-card__quirk-callout[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card__quirk-callout[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card__quirk-callout[b-pirk1ns06o] {
        padding: 0.45rem 0.55rem !important;
    }

    .occupant-card__fallback[b-pirk1ns06o],
    [data-theme="grimoire"] .occupant-card__fallback[b-pirk1ns06o],
    [data-theme="archivist"] .occupant-card__fallback[b-pirk1ns06o],
    [data-theme="eldritch"] .occupant-card__fallback[b-pirk1ns06o] {
        padding: 0.45rem 0.55rem !important;
    }

    .occupant-card__spell-tiers[b-pirk1ns06o] {
        padding: 0.35rem 0.45rem !important;
        gap: 0.2rem !important;
    }

    .occupant-card__spell-tier[b-pirk1ns06o] {
        padding: 0.2rem 0.25rem !important;
        gap: 0.2rem !important;
    }

    .occupant-card__spell-badge[b-pirk1ns06o] {
        font-size: 0.68rem !important;
        padding: 0.1rem 0.35rem !important;
    }

    .occupant-card__spell-list[b-pirk1ns06o] {
        font-size: 0.78rem !important;
    }
}
/* /Components/Shared/OccupantGrid.razor.rz.scp.css */
.occupant-grid[b-41u4yzj4e3] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 1rem;
    padding: 0;
    width: 100%;
}

@media (min-width: 640px) {
    .occupant-grid[b-41u4yzj4e3] {
        gap: 1rem;
        padding: 0.25rem 0 0.75rem 0;
    }
}

@media (min-width: 1024px) {
    .occupant-grid[b-41u4yzj4e3] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }
}

.occupant-grid__hero-wrapper[b-41u4yzj4e3] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

.occupant-grid__minion-wrapper[b-41u4yzj4e3] {
    grid-column: span 1;
    width: 100%;
}

/* /Components/Shared/TacticalBattleMap.razor.rz.scp.css */
/* TacticalBattleMap scoped styles - Theme aligned dark tactical grid */

.tactical-map[b-83wsbg3uic] {
    color: rgb(var(--color-on-surface, 226 232 240));
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    font-family: var(--font-body, ui-sans-serif, system-ui, sans-serif);
    background: rgb(var(--color-surface-container-lowest, 7 11 20) / 0.95);
    border: 1px solid rgb(var(--color-outline-variant, 51 65 85) / 0.6);
    border-radius: var(--card-radius, 1rem);
    padding: 1.25rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}

.tactical-map__heading[b-83wsbg3uic] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgb(var(--color-outline-variant, 51 65 85) / 0.4);
    padding-bottom: 0.85rem;
    flex-wrap: wrap;
}

.tactical-map__badge[b-83wsbg3uic] {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: rgb(var(--color-primary-container, 34 197 94) / 0.2);
    color: rgb(var(--color-primary, 75 226 119));
    border: 1px solid rgb(var(--color-primary, 75 226 119) / 0.3);
}

.tactical-map__heading h2[b-83wsbg3uic] {
    font-family: var(--font-headline, Georgia, serif);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: rgb(var(--color-on-surface, 241 245 249));
    margin: 0.25rem 0 0;
}

.tactical-map__heading span[b-83wsbg3uic] {
    color: rgb(var(--color-on-surface-variant, 148 163 184));
    font-size: 0.78rem;
}

.tactical-map__tools[b-83wsbg3uic] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.tactical-map__hint[b-83wsbg3uic] {
    color: rgb(var(--color-on-surface-variant, 148 163 184));
    font-size: 0.75rem;
}

.tactical-map__popout[b-83wsbg3uic] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: rgb(var(--color-on-primary, 0 57 21));
    background: rgb(var(--color-primary, 75 226 119));
    border: 1px solid rgb(var(--color-primary, 75 226 119));
    border-radius: var(--button-radius, 0.5rem);
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.tactical-map__popout:hover[b-83wsbg3uic] {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

.tactical-map__popup-status[b-83wsbg3uic] {
    color: rgb(var(--color-error, 244 63 94));
    font-size: 0.72rem;
}

/* Two-column responsive layout */
.tactical-map__layout[b-83wsbg3uic] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 21rem;
    gap: 1.25rem;
    align-items: stretch;
}

/* Map Display Area (centered canvas & legend) */
.tactical-map__display[b-83wsbg3uic] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
    width: 100%;
}

.tactical-map__canvas[b-83wsbg3uic] {
    width: 100%;
    max-height: 68vh;
    overflow: auto;
    overscroll-behavior: contain;
    background: #070b14;
    border: 2px solid rgb(var(--color-outline-variant, 51 65 85) / 0.8);
    border-radius: var(--card-radius, 0.75rem);
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.8), 0 8px 24px rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem;
    box-sizing: border-box;
}

.tactical-map__svg[b-83wsbg3uic] {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    cursor: default;
    outline: none;
    user-select: none;
    -webkit-user-select: none;
}

/* Floor & Grid */
.map-floor[b-83wsbg3uic] {
    fill: #0a0f1d;
}

/* Feature Shapes */
.map-feature[b-83wsbg3uic] {
    cursor: pointer;
    transition: filter 0.15s ease;
}
.map-feature:hover[b-83wsbg3uic] {
    filter: brightness(1.25);
}
.map-feature__shape[b-83wsbg3uic] {
    stroke-width: 0.05;
}
.map-feature text[b-83wsbg3uic] {
    fill: #f1f5f9;
    font-size: 0.22px;
    font-weight: 700;
    paint-order: stroke;
    stroke: #0a0f1d;
    stroke-width: 0.04px;
    stroke-linejoin: round;
    pointer-events: none;
}

/* D&D Cover / Hazards / Elevation */
.feature-wall[b-83wsbg3uic] { fill: #334155; stroke: #64748b; }
.feature-cover[b-83wsbg3uic] { fill: rgba(245, 158, 11, 0.22); stroke: #f59e0b; }
.feature-hazard[b-83wsbg3uic] { fill: rgba(225, 29, 72, 0.25); stroke: #f43f5e; }
.feature-terrain[b-83wsbg3uic] { fill: rgba(217, 119, 6, 0.2); stroke: #d97706; stroke-dasharray: 0.12 0.08; }
.feature-door[b-83wsbg3uic] { fill: #92400e; stroke: #f59e0b; stroke-width: 0.09; }
.feature-elevation[b-83wsbg3uic] { fill: rgba(14, 165, 233, 0.2); stroke: #38bdf8; stroke-dasharray: 0.09 0.06; }
.feature-default[b-83wsbg3uic] { fill: #1e293b; stroke: #475569; }

.feature-detail[b-83wsbg3uic] { fill: none; stroke: #f8fafc; stroke-width: 0.07; }
.feature-door__line[b-83wsbg3uic] { stroke: #fbbf24; stroke-width: 0.12; stroke-linecap: round; }
.feature-elevation__line[b-83wsbg3uic] { stroke: #38bdf8; stroke-width: 0.06; stroke-dasharray: 0.1 0.06; }

/* Party Entry Marker */
.map-entry circle[b-83wsbg3uic] {
    fill: #064e3b;
    stroke: #34d399;
    stroke-width: 0.075;
}
.map-entry text[b-83wsbg3uic] {
    fill: #ecfdf5;
    font-size: 0.36px;
    font-weight: 900;
    pointer-events: none;
}

/* Tokens */
.map-token[b-83wsbg3uic] {
    cursor: grab;
    touch-action: none;
    transition: transform 0.05s ease;
    outline: none !important;
}
.map-token:focus[b-83wsbg3uic],
.map-token:focus-visible[b-83wsbg3uic] {
    outline: none !important;
}
.map-token:active[b-83wsbg3uic], .map-token.is-dragging[b-83wsbg3uic] {
    cursor: grabbing;
}
.map-token.is-dragging[b-83wsbg3uic] {
    opacity: 0.95;
}
.map-token circle[b-83wsbg3uic] {
    stroke-width: 0.065;
    outline: none !important;
    transition: stroke 0.15s ease, stroke-width 0.15s ease;
}
.map-token text[b-83wsbg3uic] {
    fill: #ffffff;
    font-size: 0.28px;
    font-weight: 900;
    pointer-events: none;
    user-select: none;
    outline: none !important;
}
.map-token:hover circle[b-83wsbg3uic] {
    stroke-width: 0.085;
}
.map-token.is-selected circle[b-83wsbg3uic] {
    stroke: #f59e0b;
    stroke-width: 0.095;
}

/* Token Color Roles */
.token-player circle[b-83wsbg3uic] { fill: #065f46; stroke: #10b981; }
.token-hostile circle[b-83wsbg3uic] { fill: #4c0519; stroke: #e11d48; }
.token-elite circle[b-83wsbg3uic] { fill: #881337; stroke: #f59e0b; stroke-width: 0.085; }

/* Legend */
.tactical-map__legend[b-83wsbg3uic] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem 0.85rem;
    list-style: none;
    padding: 0.25rem 0.5rem;
    margin: 0;
    color: rgb(var(--color-on-surface-variant, 148 163 184));
    font-size: 0.75rem;
    background: rgb(var(--color-surface-container-low, 15 23 42) / 0.6);
    border: 1px solid rgb(var(--color-outline-variant, 51 65 85) / 0.4);
    border-radius: 0.5rem;
    width: 100%;
    box-sizing: border-box;
}

.tactical-map__legend li[b-83wsbg3uic] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.tactical-map__legend i[b-83wsbg3uic] {
    display: inline-grid;
    place-items: center;
    width: 0.85rem;
    height: 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 0.2rem;
    font-size: 0.6rem;
    font-style: normal;
    font-weight: bold;
}

.legend-wall[b-83wsbg3uic] { background: #334155; }
.legend-cover[b-83wsbg3uic] { background: rgba(245, 158, 11, 0.4); border-color: #f59e0b !important; }
.legend-hazard[b-83wsbg3uic] { background: rgba(225, 29, 72, 0.4); border-color: #f43f5e !important; }
.legend-terrain[b-83wsbg3uic] { background: rgba(217, 119, 6, 0.4); border-style: dashed !important; }
.legend-door[b-83wsbg3uic] { background: #92400e; border: 2px solid #f59e0b !important; }
.legend-elevation[b-83wsbg3uic] { background: rgba(14, 165, 233, 0.4); border-color: #38bdf8 !important; }
.legend-entry[b-83wsbg3uic] { color: #ecfdf5; background: #064e3b; border-radius: 50% !important; border-color: #34d399 !important; }
.legend-token[b-83wsbg3uic] { color: #ffffff; background: #e11d48; border-radius: 50% !important; border-color: #f59e0b !important; }

/* Inspector Sidebar */
.tactical-map__inspector[b-83wsbg3uic] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: rgb(var(--color-surface-container, 15 23 42) / 0.95);
    border: 1px solid rgb(var(--color-outline-variant, 51 65 85) / 0.7);
    border-radius: var(--card-radius, 0.75rem);
    padding: 1.1rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
    font-size: 0.82rem;
    min-height: 28rem;
    color: rgb(var(--color-on-surface, 241 245 249));
}

.inspector__header[b-83wsbg3uic] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgb(var(--color-outline-variant, 51 65 85) / 0.4);
}

.inspector__title[b-83wsbg3uic] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgb(var(--color-on-surface-variant, 148 163 184));
}

.inspector__badge[b-83wsbg3uic] {
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 0.25rem;
    text-transform: uppercase;
}
.inspector__badge--creature[b-83wsbg3uic] { background: rgba(225, 29, 72, 0.2); color: #fb7185; border: 1px solid rgba(225, 29, 72, 0.4); }
.inspector__badge--player[b-83wsbg3uic] { background: rgba(16, 185, 129, 0.2); color: #6ee7b7; border: 1px solid rgba(16, 185, 129, 0.4); }
.inspector__badge--terrain[b-83wsbg3uic] { background: rgba(245, 158, 11, 0.2); color: #fcd34d; border: 1px solid rgba(245, 158, 11, 0.4); }
.inspector__badge--standby[b-83wsbg3uic] { background: rgba(71, 85, 105, 0.3); color: #94a3b8; }

.tactical-map__inspector h3[b-83wsbg3uic] {
    font-family: var(--font-headline, Georgia, serif);
    font-size: 1.15rem;
    font-weight: 700;
    color: rgb(var(--color-on-surface, 255 255 255));
    margin: 0;
}

.tactical-map__inspector h4[b-83wsbg3uic] {
    color: rgb(var(--color-primary, 75 226 119));
    font-size: 0.75rem;
    font-weight: 700;
    margin: 0.85rem 0 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.tactical-map__inspector dl[b-83wsbg3uic] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin: 0.75rem 0;
}

.tactical-map__inspector dl div[b-83wsbg3uic] {
    background: rgb(var(--color-surface-container-lowest, 7 11 20) / 0.8);
    border: 1px solid rgb(var(--color-outline-variant, 51 65 85) / 0.5);
    border-radius: 0.5rem;
    padding: 0.5rem;
    text-align: center;
}

.tactical-map__inspector dt[b-83wsbg3uic] {
    color: rgb(var(--color-on-surface-variant, 148 163 184));
    font-size: 0.65rem;
    text-transform: uppercase;
    font-weight: 600;
}

.tactical-map__inspector dd[b-83wsbg3uic] {
    color: rgb(var(--color-on-surface, 248 250 252));
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0.15rem 0 0;
    font-family: var(--font-mono, monospace);
}

.tactical-map__inspector ul[b-83wsbg3uic] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.5rem;
}

.tactical-map__inspector li[b-83wsbg3uic] {
    background: rgb(var(--color-surface-container-lowest, 7 11 20) / 0.6);
    border: 1px solid rgb(var(--color-outline-variant, 51 65 85) / 0.4);
    border-radius: 0.4rem;
    padding: 0.4rem 0.55rem;
    display: grid;
    gap: 0.15rem;
}

.tactical-map__inspector li strong[b-83wsbg3uic] {
    color: #f1f5f9;
    font-size: 0.78rem;
}

.tactical-map__inspector li span[b-83wsbg3uic] {
    color: rgb(var(--color-on-surface-variant, 148 163 184));
    font-size: 0.72rem;
    max-height: 5.5rem;
    overflow-y: auto;
    white-space: pre-wrap;
    line-height: 1.35;
}

.inspector__empty[b-83wsbg3uic] {
    text-align: center;
    padding: 4rem 1rem;
    color: rgb(var(--color-on-surface-variant, 148 163 184));
    font-size: 0.78rem;
    font-style: italic;
    line-height: 1.5;
}

/* Responsive adjustments */
@media (max-width: 960px) {
    .tactical-map__layout[b-83wsbg3uic] {
        grid-template-columns: 1fr;
    }
    .tactical-map__canvas[b-83wsbg3uic] {
        max-height: 52vh;
    }
    .tactical-map__hint[b-83wsbg3uic] {
        display: none;
    }
}

/* /Components/Shared/UserAvatar.razor.rz.scp.css */
.avatar-badge[b-sviwin45rd] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    user-select: none;
    flex-shrink: 0;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-sizing: border-box;
}

.dice-overlay[b-sviwin45rd] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.initials[b-sviwin45rd] {
    position: relative;
    z-index: 1;
    color: #ffffff;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 0.05em;
    line-height: 1;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
}

