/* /Components/Layout/DndMainLayout.razor.rz.scp.css */
/* ===== APP SHELL ===== */
.app-container[b-2xit9lhcvn] {
    display: flex;
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background: var(--color-bg-base);
    color: var(--color-text-primary);
}

/* ===== SIDEBAR ===== */
.sidebar[b-2xit9lhcvn] {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: var(--sidebar-width);
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding-top: env(safe-area-inset-top);
    background: var(--color-bg-surface);
    border-right: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    z-index: 100;
    transition: width 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    overflow: hidden;
    -webkit-user-select: none;
    user-select: none;
}

.sidebar-header[b-2xit9lhcvn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-md);
    height: var(--topbar-height);
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
}

.nav-brand[b-2xit9lhcvn] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    cursor: pointer;
    overflow: hidden;
    min-width: 0;
    transition: opacity var(--transition-fast);
}

.brand-icon[b-2xit9lhcvn] {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-md);
    background: var(--color-accent);
    color: var(--color-text-inverse);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: var(--text-sm);
    font-family: var(--font-serif);
    flex-shrink: 0;
    letter-spacing: -0.5px;
}

img.brand-icon[b-2xit9lhcvn] {
    background: transparent;
    object-fit: contain;
    border-radius: 0;
}

.brand-text[b-2xit9lhcvn] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    transition: opacity var(--transition-fast), width var(--transition-base);
}

.brand-title[b-2xit9lhcvn] {
    color: var(--color-accent);
    font-size: var(--text-base);
    font-weight: 700;
    font-family: var(--font-serif);
    white-space: nowrap;
    line-height: 1.2;
}

.brand-subtitle[b-2xit9lhcvn] {
    color: var(--color-text-muted);
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    white-space: nowrap;
}

.sidebar-toggle[b-2xit9lhcvn] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    border-radius: var(--radius-sm);
    cursor: pointer;
    flex-shrink: 0;
    transition: all var(--transition-fast);
    padding: 0;
}

.sidebar-toggle svg[b-2xit9lhcvn] {
    transition: transform var(--transition-base);
}

.sidebar-toggle:hover[b-2xit9lhcvn] {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

/* ===== SIDEBAR NAV ===== */
.sidebar-nav[b-2xit9lhcvn] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: var(--space-md);
}

.nav-section[b-2xit9lhcvn] {
    margin-bottom: var(--space-lg);
}

.nav-section-label[b-2xit9lhcvn] {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    padding: var(--space-sm) var(--space-sm);
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    transition: opacity var(--transition-fast), width var(--transition-base), padding var(--transition-base), margin var(--transition-base);
}

.nav-item[b-2xit9lhcvn],
[b-2xit9lhcvn] a.nav-item {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: 0.45rem var(--space-sm);
    border-radius: var(--radius-md);
    color: var(--color-text-secondary);
    text-decoration: none;
    font-size: var(--text-sm);
    font-weight: 500;
    transition: all var(--transition-fast);
    white-space: nowrap;
    overflow: hidden;
    border-left: 3px solid transparent;
    margin-left: -3px;
}

.nav-item:hover[b-2xit9lhcvn],
[b-2xit9lhcvn] a.nav-item:hover {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
    text-decoration: none;
}

.nav-item.active[b-2xit9lhcvn],
[b-2xit9lhcvn] a.nav-item.active {
    background: var(--color-accent-muted);
    color: var(--color-accent);
    border-left-color: var(--color-accent);
    font-weight: 600;
}

.nav-item-text[b-2xit9lhcvn] {
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity var(--transition-fast), width var(--transition-base);
}

/* ===== COLLAPSED STATE ===== */
.sidebar-collapsed .sidebar[b-2xit9lhcvn] {
    width: var(--sidebar-collapsed);
}

.sidebar-collapsed .brand-text[b-2xit9lhcvn],
.sidebar-collapsed .nav-section-label[b-2xit9lhcvn],
.sidebar-collapsed .nav-item-text[b-2xit9lhcvn] {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.sidebar-collapsed .sidebar-header[b-2xit9lhcvn] {
    justify-content: center;
    padding: 0;
}

.sidebar-collapsed .nav-brand[b-2xit9lhcvn] {
    display: none;
}

.sidebar-collapsed .sidebar-toggle[b-2xit9lhcvn] {
    display: flex;
}

.sidebar-collapsed .sidebar-toggle svg[b-2xit9lhcvn] {
    transform: rotate(180deg);
}

.sidebar-collapsed .nav-section[b-2xit9lhcvn] {
    margin-bottom: var(--space-sm);
}

.sidebar-collapsed .nav-section-label[b-2xit9lhcvn] {
    height: 0;
    margin: 0;
    padding: 0;
}

.sidebar-collapsed .nav-item[b-2xit9lhcvn],
.sidebar-collapsed[b-2xit9lhcvn]  a.nav-item {
    justify-content: center;
    padding: 0.5rem;
    margin-left: 0;
    border-left: none;
}

.sidebar-collapsed .layout-body[b-2xit9lhcvn] {
    margin-left: var(--sidebar-collapsed);
}

/* ===== LAYOUT BODY ===== */
.layout-body[b-2xit9lhcvn] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    margin-left: var(--sidebar-width);
    transition: margin-left 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ===== TOP BAR ===== */
.top-bar[b-2xit9lhcvn] {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    height: calc(var(--topbar-height) + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) max(var(--space-xl), env(safe-area-inset-right)) 0 max(var(--space-xl), env(safe-area-inset-left));
    background: var(--color-bg-surface);
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
    position: sticky;
    top: 0;
    z-index: 50;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    -webkit-user-select: none;
    user-select: none;
}

.mobile-menu-btn[b-2xit9lhcvn] {
    display: none;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--color-text-secondary);
    cursor: pointer;
    padding: var(--space-xs);
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.mobile-menu-btn:hover[b-2xit9lhcvn] {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

.top-bar-search[b-2xit9lhcvn] {
    flex: 1;
    max-width: 480px;
    min-width: 0;
}

.search-wrapper[b-2xit9lhcvn] {
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-2xit9lhcvn] {
    position: absolute;
    left: 0.75rem;
    color: var(--color-text-muted);
    pointer-events: none;
}

.search-input[b-2xit9lhcvn] {
    width: 100%;
    padding: 0.45rem 0.75rem 0.45rem 2.25rem;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    font-family: inherit;
    transition: all var(--transition-fast);
    -webkit-user-select: text;
    user-select: text;
}

.search-input[b-2xit9lhcvn]::placeholder {
    color: var(--color-text-muted);
}

.search-input:focus[b-2xit9lhcvn] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
    background: var(--color-bg-surface);
}

/* ===== USER MENU ===== */
.top-bar-actions[b-2xit9lhcvn] {
    margin-left: auto;
    flex-shrink: 0;
    min-width: 0;
}

.user-menu[b-2xit9lhcvn] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    min-width: 0;
}

.user-avatar[b-2xit9lhcvn] {
    width: 30px;
    height: 30px;
    border-radius: var(--radius-full);
    background: var(--color-accent-muted);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-xs);
    font-weight: 700;
    flex-shrink: 0;
}

.user-name[b-2xit9lhcvn] {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-weight: 500;
}

/* ===== MAIN CONTENT ===== */
.main-content[b-2xit9lhcvn] {
    flex: 1;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    padding: var(--space-2xl) max(var(--space-2xl), env(safe-area-inset-right)) var(--space-2xl) max(var(--space-2xl), env(safe-area-inset-left));
}

.content-wrapper[b-2xit9lhcvn] {
    max-width: min(1400px, 100%);
    margin: 0 auto;
    width: 100%;
    min-width: 0;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 110ms ease, transform 110ms ease;
    will-change: opacity, transform;
}

.content-wrapper.nav-transition-out[b-2xit9lhcvn] {
    opacity: 0;
    transform: translate3d(-4px, 0, 0);
}

.content-wrapper.nav-transition-prep[b-2xit9lhcvn] {
    opacity: 0;
    transform: translate3d(4px, 0, 0);
}

.content-wrapper.nav-transition-in[b-2xit9lhcvn] {
    animation: pageGlideIn-b-2xit9lhcvn 150ms ease-out;
}

@keyframes pageGlideIn-b-2xit9lhcvn {
    from {
        opacity: 0;
        transform: translate3d(4px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* ===== FOOTER ===== */
.app-footer[b-2xit9lhcvn] {
    text-align: center;
    padding: var(--space-lg);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    border-top: 1px solid var(--color-border-subtle);
    -webkit-user-select: none;
    user-select: none;
}

/* ===== MOBILE BACKDROP ===== */
.sidebar-backdrop[b-2xit9lhcvn] {
    display: none;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .sidebar[b-2xit9lhcvn] {
        transform: translateX(-100%);
        box-shadow: none;
    }

    .layout-body[b-2xit9lhcvn] {
        margin-left: 0 !important;
    }

    .sidebar-collapsed .layout-body[b-2xit9lhcvn] {
        margin-left: 0 !important;
    }

    .mobile-menu-btn[b-2xit9lhcvn] {
        display: flex;
    }

    .sidebar-toggle[b-2xit9lhcvn] {
        display: none;
    }

    .mobile-open .sidebar[b-2xit9lhcvn] {
        transform: translateX(0);
        box-shadow: var(--shadow-xl);
        width: var(--sidebar-width);
        max-width: 100vw;
    }

    .mobile-open .sidebar .nav-brand[b-2xit9lhcvn] {
        display: flex;
    }

    .mobile-open .sidebar .brand-text[b-2xit9lhcvn],
    .mobile-open .sidebar .nav-section-label[b-2xit9lhcvn],
    .mobile-open .sidebar .nav-item-text[b-2xit9lhcvn] {
        opacity: 1;
        width: auto;
    }

    .mobile-open .sidebar .nav-item[b-2xit9lhcvn],
    .mobile-open[b-2xit9lhcvn]  .sidebar a.nav-item {
        justify-content: flex-start;
        border-left: 3px solid transparent;
        margin-left: -3px;
    }

    .mobile-open .sidebar-backdrop[b-2xit9lhcvn] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 90;
    }
}

@media (max-width: 640px) {
    .top-bar[b-2xit9lhcvn] {
        gap: var(--space-md);
        padding: env(safe-area-inset-top) max(var(--space-md), env(safe-area-inset-right)) 0 max(var(--space-md), env(safe-area-inset-left));
    }

    .main-content[b-2xit9lhcvn] {
        padding: var(--space-lg) max(var(--space-lg), env(safe-area-inset-right)) var(--space-lg) max(var(--space-lg), env(safe-area-inset-left));
    }

    .user-name[b-2xit9lhcvn] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sidebar[b-2xit9lhcvn],
    .layout-body[b-2xit9lhcvn],
    .brand-text[b-2xit9lhcvn],
    .nav-section-label[b-2xit9lhcvn],
    .nav-item-text[b-2xit9lhcvn],
    .sidebar-toggle svg[b-2xit9lhcvn],
    .content-wrapper[b-2xit9lhcvn] {
        transition: none !important;
    }

    .content-wrapper.nav-transition-out[b-2xit9lhcvn],
    .content-wrapper.nav-transition-prep[b-2xit9lhcvn],
    .content-wrapper.nav-transition-in[b-2xit9lhcvn] {
        animation: none !important;
        opacity: 1;
        transform: none;
    }
}
/* /Components/Layout/HubLayout.razor.rz.scp.css */
.hub-layout[b-py25hyagy4] {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    min-height: 100dvh;
    color: var(--color-text-primary);
    background-color: var(--color-bg-base);
    overflow-x: hidden;
}

.hub-layout[b-py25hyagy4]::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(212, 168, 67, 0.12) 0%, transparent 55%),
        radial-gradient(ellipse 40% 30% at 90% 80%, rgba(88, 166, 255, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse 35% 25% at 5% 70%, rgba(163, 113, 247, 0.05) 0%, transparent 50%);
}

.hub-layout[b-py25hyagy4]::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    opacity: 0.35;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 20%, transparent 75%);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ===== APP SHELL ===== */
.app-container[b-k21gd3w1wj] {
    display: flex;
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background: var(--color-bg-base);
    color: var(--color-text-primary);
}

/* ===== SIDEBAR ===== */
.sidebar[b-k21gd3w1wj] {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: var(--sidebar-width);
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding-top: env(safe-area-inset-top);
    background: var(--color-bg-surface);
    border-right: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    z-index: 100;
    transition: width 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    overflow: hidden;
    -webkit-user-select: none;
    user-select: none;
}

.sidebar-header[b-k21gd3w1wj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-md);
    height: var(--topbar-height);
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
}

.nav-brand[b-k21gd3w1wj] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    cursor: pointer;
    overflow: hidden;
    min-width: 0;
    transition: opacity var(--transition-fast);
}

.brand-icon[b-k21gd3w1wj] {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-md);
    background: var(--color-accent);
    color: var(--color-text-inverse);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: var(--text-sm);
    font-family: var(--font-serif);
    flex-shrink: 0;
    letter-spacing: -0.5px;
}

img.brand-icon[b-k21gd3w1wj] {
    background: transparent;
    object-fit: contain;
    border-radius: 0;
}

.brand-text[b-k21gd3w1wj] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    transition: opacity var(--transition-fast), width var(--transition-base);
}

.brand-title[b-k21gd3w1wj] {
    color: var(--color-accent);
    font-size: var(--text-base);
    font-weight: 700;
    font-family: var(--font-serif);
    white-space: nowrap;
    line-height: 1.2;
}

.brand-subtitle[b-k21gd3w1wj] {
    color: var(--color-text-muted);
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    white-space: nowrap;
}

.sidebar-toggle[b-k21gd3w1wj] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    border-radius: var(--radius-sm);
    cursor: pointer;
    flex-shrink: 0;
    transition: all var(--transition-fast);
    padding: 0;
}

.sidebar-toggle svg[b-k21gd3w1wj] {
    transition: transform var(--transition-base);
}

.sidebar-toggle:hover[b-k21gd3w1wj] {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

/* ===== SIDEBAR NAV ===== */
.sidebar-nav[b-k21gd3w1wj] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: var(--space-md);
}

.nav-section[b-k21gd3w1wj] {
    margin-bottom: var(--space-lg);
}

.nav-section-label[b-k21gd3w1wj] {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    padding: var(--space-sm) var(--space-sm);
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    transition: opacity var(--transition-fast), width var(--transition-base), padding var(--transition-base), margin var(--transition-base);
}

.nav-item[b-k21gd3w1wj],
[b-k21gd3w1wj] a.nav-item {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: 0.45rem var(--space-sm);
    border-radius: var(--radius-md);
    color: var(--color-text-secondary);
    text-decoration: none;
    font-size: var(--text-sm);
    font-weight: 500;
    transition: all var(--transition-fast);
    white-space: nowrap;
    overflow: hidden;
    border-left: 3px solid transparent;
    margin-left: -3px;
}

.nav-item:hover[b-k21gd3w1wj],
[b-k21gd3w1wj] a.nav-item:hover {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
    text-decoration: none;
}

.nav-item.active[b-k21gd3w1wj],
[b-k21gd3w1wj] a.nav-item.active {
    background: var(--color-accent-muted);
    color: var(--color-accent);
    border-left-color: var(--color-accent);
    font-weight: 600;
}

.nav-item-text[b-k21gd3w1wj] {
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity var(--transition-fast), width var(--transition-base);
}

/* ===== COLLAPSED STATE ===== */
.sidebar-collapsed .sidebar[b-k21gd3w1wj] {
    width: var(--sidebar-collapsed);
}

.sidebar-collapsed .brand-text[b-k21gd3w1wj],
.sidebar-collapsed .nav-section-label[b-k21gd3w1wj],
.sidebar-collapsed .nav-item-text[b-k21gd3w1wj] {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.sidebar-collapsed .sidebar-header[b-k21gd3w1wj] {
    justify-content: center;
    padding: 0;
}

.sidebar-collapsed .nav-brand[b-k21gd3w1wj] {
    display: none;
}

.sidebar-collapsed .sidebar-toggle[b-k21gd3w1wj] {
    display: flex;
}

.sidebar-collapsed .sidebar-toggle svg[b-k21gd3w1wj] {
    transform: rotate(180deg);
}

.sidebar-collapsed .nav-section[b-k21gd3w1wj] {
    margin-bottom: var(--space-sm);
}

.sidebar-collapsed .nav-section-label[b-k21gd3w1wj] {
    height: 0;
    margin: 0;
    padding: 0;
}

.sidebar-collapsed .nav-item[b-k21gd3w1wj],
.sidebar-collapsed[b-k21gd3w1wj]  a.nav-item {
    justify-content: center;
    padding: 0.5rem;
    margin-left: 0;
    border-left: none;
}

.sidebar-collapsed .layout-body[b-k21gd3w1wj] {
    margin-left: var(--sidebar-collapsed);
}

/* ===== LAYOUT BODY ===== */
.layout-body[b-k21gd3w1wj] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    margin-left: var(--sidebar-width);
    transition: margin-left 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ===== TOP BAR ===== */
.top-bar[b-k21gd3w1wj] {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    height: calc(var(--topbar-height) + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) max(var(--space-xl), env(safe-area-inset-right)) 0 max(var(--space-xl), env(safe-area-inset-left));
    background: var(--color-bg-surface);
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
    position: sticky;
    top: 0;
    z-index: 50;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    -webkit-user-select: none;
    user-select: none;
}

.mobile-menu-btn[b-k21gd3w1wj] {
    display: none;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--color-text-secondary);
    cursor: pointer;
    padding: var(--space-xs);
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.mobile-menu-btn:hover[b-k21gd3w1wj] {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

.top-bar-search[b-k21gd3w1wj] {
    flex: 1;
    max-width: 480px;
    min-width: 0;
}

.search-wrapper[b-k21gd3w1wj] {
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-k21gd3w1wj] {
    position: absolute;
    left: 0.75rem;
    color: var(--color-text-muted);
    pointer-events: none;
}

.search-input[b-k21gd3w1wj] {
    width: 100%;
    padding: 0.45rem 0.75rem 0.45rem 2.25rem;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    font-family: inherit;
    transition: all var(--transition-fast);
    -webkit-user-select: text;
    user-select: text;
}

.search-input[b-k21gd3w1wj]::placeholder {
    color: var(--color-text-muted);
}

.search-input:focus[b-k21gd3w1wj] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
    background: var(--color-bg-surface);
}

/* ===== USER MENU ===== */
.top-bar-actions[b-k21gd3w1wj] {
    margin-left: auto;
    flex-shrink: 0;
    min-width: 0;
}

.user-menu[b-k21gd3w1wj] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    min-width: 0;
}

.user-avatar[b-k21gd3w1wj] {
    width: 30px;
    height: 30px;
    border-radius: var(--radius-full);
    background: var(--color-accent-muted);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-xs);
    font-weight: 700;
    flex-shrink: 0;
}

.user-name[b-k21gd3w1wj] {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-weight: 500;
}

/* ===== MAIN CONTENT ===== */
.main-content[b-k21gd3w1wj] {
    flex: 1;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    padding: var(--space-2xl) max(var(--space-2xl), env(safe-area-inset-right)) var(--space-2xl) max(var(--space-2xl), env(safe-area-inset-left));
}

.content-wrapper[b-k21gd3w1wj] {
    max-width: min(1200px, 100%);
    margin: 0 auto;
    width: 100%;
    min-width: 0;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 110ms ease, transform 110ms ease;
    will-change: opacity, transform;
}

.content-wrapper.nav-transition-out[b-k21gd3w1wj] {
    opacity: 0;
    transform: translate3d(-4px, 0, 0);
}

.content-wrapper.nav-transition-prep[b-k21gd3w1wj] {
    opacity: 0;
    transform: translate3d(4px, 0, 0);
}

.content-wrapper.nav-transition-in[b-k21gd3w1wj] {
    animation: pageGlideIn-b-k21gd3w1wj 150ms ease-out;
}

@keyframes pageGlideIn-b-k21gd3w1wj {
    from {
        opacity: 0;
        transform: translate3d(4px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* ===== FOOTER ===== */
.app-footer[b-k21gd3w1wj] {
    text-align: center;
    padding: var(--space-lg);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    border-top: 1px solid var(--color-border-subtle);
    -webkit-user-select: none;
    user-select: none;
}

/* ===== MOBILE BACKDROP ===== */
.sidebar-backdrop[b-k21gd3w1wj] {
    display: none;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .sidebar[b-k21gd3w1wj] {
        transform: translateX(-100%);
        box-shadow: none;
    }

    .layout-body[b-k21gd3w1wj] {
        margin-left: 0 !important;
    }

    .sidebar-collapsed .layout-body[b-k21gd3w1wj] {
        margin-left: 0 !important;
    }

    .mobile-menu-btn[b-k21gd3w1wj] {
        display: flex;
    }

    .sidebar-toggle[b-k21gd3w1wj] {
        display: none;
    }

    .mobile-open .sidebar[b-k21gd3w1wj] {
        transform: translateX(0);
        box-shadow: var(--shadow-xl);
        width: var(--sidebar-width);
        max-width: 100vw;
    }

    .mobile-open .sidebar .nav-brand[b-k21gd3w1wj] {
        display: flex;
    }

    .mobile-open .sidebar .brand-text[b-k21gd3w1wj],
    .mobile-open .sidebar .nav-section-label[b-k21gd3w1wj],
    .mobile-open .sidebar .nav-item-text[b-k21gd3w1wj] {
        opacity: 1;
        width: auto;
    }

    .mobile-open .sidebar .nav-item[b-k21gd3w1wj],
    .mobile-open[b-k21gd3w1wj]  .sidebar a.nav-item {
        justify-content: flex-start;
        border-left: 3px solid transparent;
        margin-left: -3px;
    }

    .mobile-open .sidebar-backdrop[b-k21gd3w1wj] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 90;
    }
}

@media (max-width: 640px) {
    .top-bar[b-k21gd3w1wj] {
        gap: var(--space-md);
        padding: env(safe-area-inset-top) max(var(--space-md), env(safe-area-inset-right)) 0 max(var(--space-md), env(safe-area-inset-left));
    }

    .main-content[b-k21gd3w1wj] {
        padding: var(--space-lg) max(var(--space-lg), env(safe-area-inset-right)) var(--space-lg) max(var(--space-lg), env(safe-area-inset-left));
    }

    .user-name[b-k21gd3w1wj] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sidebar[b-k21gd3w1wj],
    .layout-body[b-k21gd3w1wj],
    .brand-text[b-k21gd3w1wj],
    .nav-section-label[b-k21gd3w1wj],
    .nav-item-text[b-k21gd3w1wj],
    .sidebar-toggle svg[b-k21gd3w1wj],
    .content-wrapper[b-k21gd3w1wj] {
        transition: none !important;
    }

    .content-wrapper.nav-transition-out[b-k21gd3w1wj],
    .content-wrapper.nav-transition-prep[b-k21gd3w1wj],
    .content-wrapper.nav-transition-in[b-k21gd3w1wj] {
        animation: none !important;
        opacity: 1;
        transform: none;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-2lxatppi5m],
.components-reconnect-repeated-attempt-visible[b-2lxatppi5m],
.components-reconnect-failed-visible[b-2lxatppi5m],
.components-pause-visible[b-2lxatppi5m],
.components-resume-failed-visible[b-2lxatppi5m],
.components-rejoining-animation[b-2lxatppi5m] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-2lxatppi5m],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-2lxatppi5m],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-2lxatppi5m],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-2lxatppi5m],
#components-reconnect-modal.components-reconnect-retrying[b-2lxatppi5m],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-2lxatppi5m],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-2lxatppi5m],
#components-reconnect-modal.components-reconnect-failed[b-2lxatppi5m],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-2lxatppi5m] {
    display: block;
}


#components-reconnect-modal[b-2lxatppi5m] {
    background-color: var(--color-bg-elevated, #1e2028);
    color: var(--color-text-primary, #eaedf3);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 1px solid var(--color-border, #2a2d38);
    border-radius: var(--radius-xl, 14px);
    box-shadow: var(--shadow-xl, 0 16px 48px rgba(0,0,0,0.4));
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-2lxatppi5m 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-2lxatppi5m 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-2lxatppi5m 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-2lxatppi5m]::backdrop {
    background-color: rgba(0, 0, 0, 0.6);
    animation: components-reconnect-modal-fadeInOpacity-b-2lxatppi5m 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-2lxatppi5m {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-2lxatppi5m {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-2lxatppi5m {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-2lxatppi5m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-2lxatppi5m] {
    margin: 0;
    text-align: center;
    color: var(--color-text-secondary, #b0b5c3);
}

#components-reconnect-modal button[b-2lxatppi5m] {
    border: 0;
    background-color: var(--color-accent, #d4a843);
    color: var(--color-text-inverse, #0f1117);
    padding: 0.5rem 1.5rem;
    border-radius: var(--radius-md, 6px);
    font-weight: 600;
    font-size: var(--text-sm, 0.8125rem);
    cursor: pointer;
    transition: all var(--transition-fast, 0.15s ease);
}

    #components-reconnect-modal button:hover[b-2lxatppi5m] {
        background-color: var(--color-accent-hover, #e4bc5e);
    }

    #components-reconnect-modal button:active[b-2lxatppi5m] {
        transform: scale(0.98);
    }

.components-rejoining-animation[b-2lxatppi5m] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-2lxatppi5m] {
        position: absolute;
        border: 3px solid var(--color-accent, #d4a843);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-2lxatppi5m 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-2lxatppi5m] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-2lxatppi5m {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Account/Profile.razor.rz.scp.css */
.profile-container[b-jwnpb5y40j] {
    max-width: 800px;
    margin: 0 auto;
}

.profile-card[b-jwnpb5y40j] {
    padding: var(--space-2xl);
}

.profile-layout[b-jwnpb5y40j] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
}

@media (min-width: 768px) {
    .profile-layout[b-jwnpb5y40j] {
        flex-direction: row;
        align-items: flex-start;
    }
}

.avatar-column[b-jwnpb5y40j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    flex-shrink: 0;
}

.details-column[b-jwnpb5y40j] {
    flex: 1;
    min-width: 0;
}

.avatar-wrapper[b-jwnpb5y40j] {
    position: relative;
    width: 140px;
    height: 140px;
    border-radius: var(--radius-full);
    border: 2px solid var(--color-border);
    background: var(--color-bg-elevated);
    overflow: hidden;
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.avatar-wrapper:hover[b-jwnpb5y40j] {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 4px var(--color-accent-muted);
}

.profile-avatar[b-jwnpb5y40j] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-avatar-placeholder[b-jwnpb5y40j] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-muted);
    background: var(--color-bg-elevated);
}

.avatar-upload-overlay[b-jwnpb5y40j] {
    position: absolute;
    inset: 0;
    background: rgba(15, 17, 23, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--transition-fast);
}

.avatar-wrapper:hover .avatar-upload-overlay[b-jwnpb5y40j] {
    opacity: 1;
}

.avatar-upload-label[b-jwnpb5y40j] {
    cursor: pointer;
    color: #fff;
    padding: var(--space-md);
    border-radius: var(--radius-full);
    background: rgba(255,255,255,0.1);
    transition: background var(--transition-fast), transform var(--transition-base);
    display: flex;
    align-items: center;
    justify-content: center;
}

.avatar-upload-label:hover[b-jwnpb5y40j] {
    background: var(--color-accent);
    transform: scale(1.05);
}

.sr-only[b-jwnpb5y40j] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.avatar-help[b-jwnpb5y40j] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    text-align: center;
    max-width: 160px;
    line-height: 1.4;
}

.upload-indicator[b-jwnpb5y40j] {
    font-size: var(--text-xs);
    color: var(--color-accent);
    font-weight: 600;
    animation: pulse-b-jwnpb5y40j 1.5s infinite;
}

@keyframes pulse-b-jwnpb5y40j {
    0% { opacity: 0.6; }
    50% { opacity: 1; }
    100% { opacity: 0.6; }
}

.profile-actions[b-jwnpb5y40j] {
    margin-top: var(--space-2xl);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--color-border);
    display: flex;
    align-items: center;
    gap: var(--space-md);
}
/* /Components/Pages/Books/BookViewer.razor.rz.scp.css */
.book-page[b-7yhnw49las] {
    max-width: 1200px;
    margin: 0 auto;
}

.book-page-header[b-7yhnw49las] {
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-lg);
}

.book-breadcrumb[b-7yhnw49las] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.book-breadcrumb a[b-7yhnw49las] {
    color: var(--color-text-muted);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--transition-fast);
}

.book-breadcrumb a:hover[b-7yhnw49las] {
    color: var(--color-accent);
    text-decoration: none;
}

.book-breadcrumb-sep[b-7yhnw49las] {
    opacity: 0.45;
    user-select: none;
}

/* Hero */
.book-hero[b-7yhnw49las] {
    margin-bottom: var(--space-xl);
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    background: linear-gradient(125deg, var(--color-bg-surface) 0%, var(--color-bg-elevated) 55%, rgba(212, 168, 67, 0.06) 100%);
    box-shadow: var(--shadow-sm);
}

.book-hero-inner[b-7yhnw49las] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-xl);
}

.book-hero-cover[b-7yhnw49las] {
    flex-shrink: 0;
    width: 72px;
    height: 96px;
    border-radius: var(--radius-md);
    background: linear-gradient(160deg, var(--color-accent-muted), var(--color-bg-active));
    border: 1px solid var(--color-border-strong);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-md);
}

.book-hero-copy[b-7yhnw49las] {
    flex: 1;
    min-width: min(100%, 220px);
}

.book-hero-title[b-7yhnw49las] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-md);
    font-weight: 600;
    color: var(--color-text-primary);
}

.book-hero-text[b-7yhnw49las] {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    line-height: var(--leading-relaxed);
    max-width: 36rem;
}

.book-hero-actions[b-7yhnw49las] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    width: 100%;
}

@media (min-width: 900px) {
    .book-hero-actions[b-7yhnw49las] {
        width: auto;
        flex-direction: column;
        align-items: stretch;
    }
}

.book-chip[b-7yhnw49las] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: 0.45rem 0.9rem;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 600;
    text-decoration: none;
    color: var(--color-text-secondary);
    background: var(--color-bg-base);
    border: 1px solid var(--color-border);
    transition: border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
    white-space: nowrap;
}

.book-chip:hover[b-7yhnw49las] {
    border-color: var(--color-accent-muted);
    color: var(--color-accent);
    text-decoration: none;
    box-shadow: var(--shadow-xs);
}

.book-chip-accent[b-7yhnw49las] {
    border-color: var(--color-accent-muted);
    background: var(--color-accent-muted);
    color: var(--color-accent);
}

.book-chip-accent:hover[b-7yhnw49las] {
    border-color: var(--color-accent);
    color: var(--color-accent-hover);
}

/* Missing PDF */
.book-missing[b-7yhnw49las] {
    display: flex;
    gap: var(--space-xl);
    align-items: flex-start;
    padding: var(--space-2xl);
    border: 1px dashed var(--color-border-strong);
    background: var(--color-bg-surface);
}

.book-missing-icon[b-7yhnw49las] {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: var(--radius-xl);
    background: var(--color-danger-muted);
    color: var(--color-danger);
    display: flex;
    align-items: center;
    justify-content: center;
}

.book-missing-title[b-7yhnw49las] {
    margin: 0 0 var(--space-sm);
    font-size: var(--text-lg);
    color: var(--color-text-primary);
}

.book-missing-lead[b-7yhnw49las] {
    margin: 0 0 var(--space-lg);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    max-width: 40rem;
}

.book-missing-steps[b-7yhnw49las] {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: 1.85;
    max-width: 40rem;
}

.book-missing-steps li[b-7yhnw49las] {
    margin-bottom: var(--space-sm);
}

.book-code[b-7yhnw49las] {
    font-family: var(--font-mono);
    font-size: 0.9em;
    padding: 0.15em 0.45em;
    border-radius: var(--radius-sm);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    color: var(--color-accent);
}

@media (max-width: 640px) {
    .book-missing[b-7yhnw49las] {
        flex-direction: column;
        padding: var(--space-xl);
    }
}

/* Viewer */
.book-viewer[b-7yhnw49las] {
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

.book-viewer-chrome[b-7yhnw49las] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-elevated);
    border-bottom: 1px solid var(--color-border);
}

.book-viewer-chrome-left[b-7yhnw49las] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
}

.book-viewer-dot[b-7yhnw49las] {
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    background: var(--color-border-strong);
    flex-shrink: 0;
}

.book-viewer-dot:nth-child(1)[b-7yhnw49las] {
    background: #e5534b;
    opacity: 0.85;
}

.book-viewer-dot:nth-child(2)[b-7yhnw49las] {
    background: #d4a843;
    opacity: 0.85;
}

.book-viewer-dot:nth-child(3)[b-7yhnw49las] {
    background: #3fb950;
    opacity: 0.85;
}

.book-viewer-filename[b-7yhnw49las] {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-text-muted);
    margin-left: var(--space-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: min(50vw, 280px);
}

.book-viewer-chrome-right[b-7yhnw49las] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    align-items: center;
}

.book-chrome-btn[b-7yhnw49las] {
    -webkit-user-select: none;
    user-select: none;
}

.book-viewer-frame[b-7yhnw49las] {
    position: relative;
    background: #1a1c24;
    min-height: min(480px, 55vh);
}

.book-iframe[b-7yhnw49las] {
    display: block;
    width: 100%;
    height: calc(100dvh - 16rem);
    min-height: 520px;
    border: none;
    background: var(--color-bg-base);
}

@media (max-width: 1024px) {
    .book-iframe[b-7yhnw49las] {
        height: calc(100dvh - 15rem);
        min-height: 420px;
    }
}

@media (max-width: 640px) {
    .book-iframe[b-7yhnw49las] {
        height: calc(100dvh - 18rem);
        min-height: 360px;
    }

    .book-viewer-filename[b-7yhnw49las] {
        max-width: 140px;
    }
}

.book-viewer-hint[b-7yhnw49las] {
    margin: 0;
    padding: var(--space-md) var(--space-lg);
    background: var(--color-bg-elevated);
    border-top: 1px solid var(--color-border-subtle);
    line-height: 1.5;
}

.book-viewer-hint kbd[b-7yhnw49las] {
    display: inline-block;
    padding: 0.1em 0.4em;
    margin: 0 0.1em;
    font-size: 0.85em;
    font-family: var(--font-mono);
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-secondary);
    box-shadow: 0 1px 0 var(--color-border-strong);
}
/* /Components/Pages/Campaigns/CampaignDetail.razor.rz.scp.css */
.campaign-dashboard[b-og4ti75gue] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.campaign-hero[b-og4ti75gue] {
    position: relative;
    overflow: hidden;
    min-height: 280px;
    padding: 0;
    border-color: rgba(212, 168, 67, 0.18);
    background:
        radial-gradient(circle at top left, rgba(212, 168, 67, 0.18), transparent 40%),
        linear-gradient(135deg, rgba(19, 22, 31, 0.98), rgba(14, 16, 23, 0.98));
}

.campaign-hero-media[b-og4ti75gue],
.campaign-hero-fallback[b-og4ti75gue],
.campaign-hero-scrim[b-og4ti75gue] {
    position: absolute;
    inset: 0;
}

.campaign-hero-media[b-og4ti75gue] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.campaign-hero-fallback[b-og4ti75gue] {
    background:
        radial-gradient(circle at 18% 22%, rgba(212, 168, 67, 0.34), transparent 24%),
        radial-gradient(circle at 82% 18%, rgba(88, 166, 255, 0.18), transparent 20%),
        linear-gradient(135deg, rgba(39, 28, 12, 0.85), rgba(13, 16, 22, 0.92));
}

.campaign-hero-scrim[b-og4ti75gue] {
    background:
        linear-gradient(180deg, rgba(9, 10, 14, 0.18), rgba(9, 10, 14, 0.82)),
        linear-gradient(90deg, rgba(11, 13, 18, 0.86), rgba(11, 13, 18, 0.42));
}

.campaign-hero-content[b-og4ti75gue] {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: var(--space-xl);
    min-height: 280px;
    padding: var(--space-2xl);
}

.campaign-hero-copy[b-og4ti75gue] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 720px;
}

.campaign-hero-badges[b-og4ti75gue],
.campaign-hero-meta[b-og4ti75gue] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.campaign-hero h1[b-og4ti75gue] {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.03em;
}

.campaign-hero-summary[b-og4ti75gue] {
    margin: 0;
    font-size: var(--text-md);
    color: var(--color-text-secondary);
    max-width: 64ch;
}

.campaign-hero-summary-empty[b-og4ti75gue] {
    color: rgba(234, 237, 243, 0.76);
}

.campaign-hero-meta[b-og4ti75gue] {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.campaign-hero-meta span[b-og4ti75gue] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.75rem;
    border-radius: var(--radius-full);
    background: rgba(15, 17, 23, 0.46);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
}

.campaign-hero-actions[b-og4ti75gue] {
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    gap: var(--space-sm);
    min-width: 12.5rem;
}

.campaign-hero-actions-primary[b-og4ti75gue] {
    justify-content: center;
    width: 100%;
}

.campaign-hero-actions-toolbar[b-og4ti75gue] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-xs);
}

.campaign-hero-actions-toolbar .btn-icon.is-active[b-og4ti75gue] {
    color: var(--color-accent);
    border-color: var(--color-accent);
    background: var(--color-accent-muted);
}

.campaign-hero-actions-danger:hover:not(:disabled)[b-og4ti75gue] {
    background: var(--color-danger);
    border-color: var(--color-danger);
    color: #fff;
}

.campaign-stats-grid[b-og4ti75gue] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-lg);
}

.campaign-action-grid[b-og4ti75gue] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-lg);
}

.campaign-action-card[b-og4ti75gue] {
    display: flex;
    gap: var(--space-lg);
    align-items: flex-start;
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent),
        var(--color-bg-surface);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);
}

.campaign-action-card:hover[b-og4ti75gue] {
    text-decoration: none;
    color: inherit;
    border-color: rgba(212, 168, 67, 0.28);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.campaign-action-card p[b-og4ti75gue] {
    margin: 0.2rem 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.campaign-action-icon[b-og4ti75gue] {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    background: rgba(212, 168, 67, 0.12);
    color: var(--color-accent);
}

.campaign-dashboard-grid[b-og4ti75gue] {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.95fr);
    gap: var(--space-lg);
    align-items: start;
}

.campaign-main-column[b-og4ti75gue],
.campaign-side-column[b-og4ti75gue] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.campaign-section-head[b-og4ti75gue] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.campaign-section-kicker[b-og4ti75gue] {
    margin-bottom: var(--space-xs);
    border-bottom: 0;
    padding-bottom: 0;
}

.campaign-section-title[b-og4ti75gue] {
    margin: 0;
}

.campaign-section-actions[b-og4ti75gue] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.campaign-brief-block + .campaign-brief-block[b-og4ti75gue] {
    margin-top: var(--space-xl);
}

.campaign-roster-grid[b-og4ti75gue] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
}

.campaign-roster-card[b-og4ti75gue] {
    display: flex;
    gap: var(--space-md);
    align-items: center;
    padding: var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-bg-elevated);
    color: inherit;
    text-decoration: none;
}

.campaign-roster-card:hover[b-og4ti75gue] {
    text-decoration: none;
    color: inherit;
    border-color: rgba(212, 168, 67, 0.22);
}

.campaign-roster-portrait[b-og4ti75gue],
.campaign-member-avatar[b-og4ti75gue] {
    width: 52px;
    height: 52px;
    border-radius: var(--radius-md);
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.22), rgba(88, 166, 255, 0.18));
    color: var(--color-text-primary);
    font-weight: 700;
}

.campaign-roster-portrait img[b-og4ti75gue],
.campaign-member-avatar img[b-og4ti75gue] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.campaign-roster-copy[b-og4ti75gue],
.campaign-member-copy[b-og4ti75gue],
.campaign-stack-copy[b-og4ti75gue] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.campaign-roster-copy[b-og4ti75gue],
.campaign-member-copy[b-og4ti75gue] {
    flex: 1 1 auto;
}

.campaign-roster-copy strong[b-og4ti75gue],
.campaign-member-copy strong[b-og4ti75gue],
.campaign-stack-copy strong[b-og4ti75gue] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.campaign-roster-player[b-og4ti75gue] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--color-text-muted);
    font-size: 0.875rem;
}

.campaign-member-list[b-og4ti75gue],
.campaign-stack-list[b-og4ti75gue],
.campaign-link-list[b-og4ti75gue],
.campaign-clock-list[b-og4ti75gue] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.campaign-member-row[b-og4ti75gue],
.campaign-stack-item[b-og4ti75gue] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
}

.campaign-member-row[b-og4ti75gue] {
    justify-content: flex-start;
}

.campaign-member-row .badge[b-og4ti75gue] {
    margin-left: auto;
    flex-shrink: 0;
}

.campaign-subsection + .campaign-subsection[b-og4ti75gue] {
    margin-top: var(--space-xl);
}

.campaign-thread-status-grid[b-og4ti75gue] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-sm);
    margin-bottom: var(--space-xl);
}

.campaign-mini-stat[b-og4ti75gue] {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid rgba(212, 168, 67, 0.12);
    background: rgba(212, 168, 67, 0.07);
}

.campaign-mini-stat strong[b-og4ti75gue] {
    display: block;
    margin-top: 0.15rem;
    font-size: var(--text-xl);
}

.campaign-mini-stat-label[b-og4ti75gue] {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
}

.campaign-clock-row + .campaign-clock-row[b-og4ti75gue] {
    margin-top: var(--space-sm);
}

.campaign-clock-head[b-og4ti75gue] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-bottom: 0.4rem;
}

.campaign-clock-bar[b-og4ti75gue] {
    height: 10px;
    overflow: hidden;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.08);
}

.campaign-clock-fill[b-og4ti75gue] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--color-accent), #f3c86b);
}

.campaign-world-grid[b-og4ti75gue] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
}

.campaign-link-item[b-og4ti75gue] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
    color: inherit;
    text-decoration: none;
}

.campaign-link-item:hover[b-og4ti75gue] {
    text-decoration: none;
    color: inherit;
    border-color: rgba(212, 168, 67, 0.22);
}

.campaign-link-item .entity-summary-thumb[b-og4ti75gue],
.campaign-link-item .entity-summary-thumb-fallback[b-og4ti75gue] {
    width: 48px;
    height: 48px;
}

.campaign-link-copy[b-og4ti75gue] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.campaign-link-copy strong[b-og4ti75gue] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.campaign-link-copy span[b-og4ti75gue] {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

@media (max-width: 1280px) {
    .campaign-stats-grid[b-og4ti75gue] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .campaign-dashboard-grid[b-og4ti75gue],
    .campaign-action-grid[b-og4ti75gue] {
        grid-template-columns: 1fr;
    }

    .campaign-hero-content[b-og4ti75gue] {
        flex-direction: column;
        justify-content: flex-end;
    }

    .campaign-hero-actions[b-og4ti75gue] {
        width: 100%;
    }

    .campaign-hero-actions-toolbar[b-og4ti75gue] {
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .campaign-stats-grid[b-og4ti75gue],
    .campaign-thread-status-grid[b-og4ti75gue],
    .campaign-world-grid[b-og4ti75gue],
    .campaign-roster-grid[b-og4ti75gue] {
        grid-template-columns: 1fr;
    }

    .campaign-hero[b-og4ti75gue] {
        min-height: 320px;
    }

    .campaign-hero-content[b-og4ti75gue] {
        padding: var(--space-xl);
    }

    .campaign-section-head[b-og4ti75gue] {
        flex-direction: column;
    }

    .campaign-member-row[b-og4ti75gue],
    .campaign-stack-item[b-og4ti75gue],
    .campaign-roster-card[b-og4ti75gue] {
        align-items: flex-start;
    }
}
/* /Components/Pages/Campaigns/CampaignEdit.razor.rz.scp.css */
.campaign-cover-card[b-8mml5dyfok] {
    overflow: hidden;
}

.campaign-cover-editor[b-8mml5dyfok] {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: var(--space-xl);
    align-items: start;
}

.campaign-cover-preview-shell[b-8mml5dyfok] {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(212, 168, 67, 0.18);
    background:
        radial-gradient(circle at top left, rgba(212, 168, 67, 0.3), transparent 24%),
        linear-gradient(135deg, rgba(31, 22, 9, 0.88), rgba(13, 16, 22, 0.92));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.campaign-cover-preview[b-8mml5dyfok] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.campaign-cover-placeholder[b-8mml5dyfok] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    text-align: center;
    padding: var(--space-xl);
}

.campaign-cover-placeholder-icon[b-8mml5dyfok] {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.07);
    color: var(--color-accent);
}

.campaign-cover-fields[b-8mml5dyfok] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.campaign-cover-actions[b-8mml5dyfok] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
}

@media (max-width: 900px) {
    .campaign-cover-editor[b-8mml5dyfok] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Campaigns/CampaignList.razor.rz.scp.css */
.campaign-directory-grid[b-nxtcpcvgik] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space-lg);
}

.campaign-directory-card[b-nxtcpcvgik] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-xs);
    color: inherit;
    text-decoration: none;
    transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.campaign-directory-card-pinned[b-nxtcpcvgik] {
    border-color: rgba(212, 168, 67, 0.3);
    box-shadow: inset 0 0 0 1px rgba(212, 168, 67, 0.08);
}

.campaign-directory-card:hover[b-nxtcpcvgik] {
    text-decoration: none;
    color: inherit;
    transform: translateY(-2px);
    border-color: rgba(212, 168, 67, 0.26);
    box-shadow: var(--shadow-sm);
}

.campaign-directory-card-link[b-nxtcpcvgik] {
    display: flex;
    flex: 1;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}

.campaign-directory-card-link:hover[b-nxtcpcvgik] {
    color: inherit;
    text-decoration: none;
}

.campaign-directory-cover[b-nxtcpcvgik] {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(212, 168, 67, 0.32), transparent 26%),
        linear-gradient(135deg, rgba(31, 22, 9, 0.88), rgba(13, 16, 22, 0.92));
}

.campaign-directory-cover-image[b-nxtcpcvgik],
.campaign-directory-cover-fallback[b-nxtcpcvgik] {
    width: 100%;
    height: 100%;
}

.campaign-directory-cover-image[b-nxtcpcvgik] {
    object-fit: cover;
}

.campaign-directory-cover-fallback[b-nxtcpcvgik] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.92);
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.campaign-directory-cover-overlay[b-nxtcpcvgik] {
    position: absolute;
    top: var(--space-md);
    right: var(--space-md);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-sm);
}

.campaign-directory-unread[b-nxtcpcvgik] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .35rem .6rem;
    border-radius: 999px;
    border: 1px solid rgba(212, 168, 67, .48);
    background: rgba(20, 17, 12, .9);
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 800;
}

.campaign-directory-body[b-nxtcpcvgik] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
}

.campaign-directory-title[b-nxtcpcvgik] {
    display: block;
    font-size: var(--text-lg);
    color: var(--color-text-primary);
}

.campaign-directory-summary[b-nxtcpcvgik] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    min-height: 3.25rem;
}

.campaign-directory-summary-empty[b-nxtcpcvgik] {
    color: var(--color-text-muted);
}

.campaign-directory-metrics[b-nxtcpcvgik] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.campaign-directory-metric[b-nxtcpcvgik] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.65rem;
    border-radius: var(--radius-full);
    background: var(--color-bg-elevated);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.campaign-directory-actions[b-nxtcpcvgik] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--space-sm);
    padding: 0 var(--space-lg) var(--space-lg);
}

@media (max-width: 640px) {
    .campaign-directory-grid[b-nxtcpcvgik] {
        grid-template-columns: 1fr;
    }

    .campaign-directory-actions[b-nxtcpcvgik] {
        justify-content: stretch;
    }

    .campaign-directory-actions .btn[b-nxtcpcvgik] {
        width: 100%;
    }
}
/* /Components/Pages/Campaigns/PlayerArchiveEmpty.razor.rz.scp.css */
.player-archive-empty[b-p2s8y484tm] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    min-height: 56px;
    padding: var(--space-md);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.28);
}

.player-archive-empty-icon[b-p2s8y484tm] {
    display: flex;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    background: var(--color-accent-muted);
    color: var(--color-accent);
}

.player-archive-empty p[b-p2s8y484tm] {
    margin: 0.15rem 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

@media (max-width: 560px) {
    .player-archive-empty[b-p2s8y484tm] {
        align-items: flex-start;
    }
}
/* /Components/Pages/Campaigns/PlayerArchiveRecordCard.razor.rz.scp.css */
.player-record-card[b-toqcd2u4o1] {
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.36);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}

.player-record-card--link:hover[b-toqcd2u4o1] {
    border-color: rgba(212, 168, 67, 0.32);
    background: rgba(20, 23, 31, 0.72);
    color: inherit;
    text-decoration: none;
    transform: translateY(-1px);
}

.player-record-card--player[b-toqcd2u4o1] {
    border-color: rgba(88, 166, 255, 0.24);
}

.player-record-card--npc[b-toqcd2u4o1] {
    border-color: rgba(163, 113, 247, 0.2);
}

.player-record-card--location[b-toqcd2u4o1] {
    border-color: rgba(126, 196, 141, 0.2);
}

.player-record-card--faction[b-toqcd2u4o1] {
    border-color: rgba(212, 168, 67, 0.22);
}

.player-record-media[b-toqcd2u4o1] {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 220px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(212, 168, 67, 0.16), rgba(88, 166, 255, 0.14)),
        var(--color-bg-elevated);
}

.player-record-card--player .player-record-media[b-toqcd2u4o1],
.player-record-card--npc .player-record-media[b-toqcd2u4o1] {
    aspect-ratio: 4 / 3;
    max-height: none;
}

.player-record-card--faction .player-record-media[b-toqcd2u4o1] {
    aspect-ratio: 2 / 1;
    max-height: 190px;
    background:
        linear-gradient(135deg, rgba(212, 168, 67, 0.18), rgba(63, 185, 80, 0.08)),
        var(--color-bg-elevated);
}

.player-record-card--location .player-record-media[b-toqcd2u4o1] {
    aspect-ratio: 21 / 10;
    max-height: 190px;
}

.player-record-media img[b-toqcd2u4o1] {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
}

.player-record-media--top img[b-toqcd2u4o1] {
    object-position: center top;
}

.player-record-placeholder[b-toqcd2u4o1] {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 150px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    color: var(--color-text-secondary);
    font-weight: 800;
    letter-spacing: 0.04em;
}

.player-record-body[b-toqcd2u4o1] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
}

.player-record-topline[b-toqcd2u4o1],
.player-record-details[b-toqcd2u4o1],
.player-record-metrics[b-toqcd2u4o1],
.player-record-tags[b-toqcd2u4o1] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    align-items: center;
}

.player-record-badge[b-toqcd2u4o1] {
    display: inline-flex;
    align-items: center;
    padding: 0.16rem 0.55rem;
    border: 1px solid rgba(212, 168, 67, 0.24);
    border-radius: var(--radius-full);
    background: rgba(212, 168, 67, 0.1);
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.player-record-title[b-toqcd2u4o1] {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: var(--text-lg);
}

.player-record-subtitle[b-toqcd2u4o1],
.player-record-summary[b-toqcd2u4o1] {
    overflow-wrap: anywhere;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.player-record-summary[b-toqcd2u4o1] {
    margin: 0;
    line-height: 1.5;
}

.player-record-details span[b-toqcd2u4o1],
.player-record-metrics span[b-toqcd2u4o1],
.player-record-tags span[b-toqcd2u4o1] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0.16rem 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: var(--radius-full);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.player-record-metrics span[b-toqcd2u4o1] {
    color: var(--color-text-secondary);
    background: rgba(255, 255, 255, 0.03);
}

.player-record-tags span[b-toqcd2u4o1] {
    border-color: rgba(88, 166, 255, 0.14);
    color: var(--color-info);
    background: rgba(88, 166, 255, 0.07);
}
/* /Components/Pages/Campaigns/PlayerArchiveToolbar.razor.rz.scp.css */
.player-archive-toolbar[b-vzyxvbs801] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-sm);
    min-width: 0;
}

.player-archive-search[b-vzyxvbs801] {
    position: relative;
    flex: 1 1 260px;
    min-width: min(260px, 100%);
}

.player-archive-search i[b-vzyxvbs801] {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    color: var(--color-text-muted);
    transform: translateY(-50%);
    pointer-events: none;
}

.player-archive-search input[b-vzyxvbs801] {
    width: 100%;
    padding-left: 2.2rem;
}

.player-archive-select[b-vzyxvbs801] {
    flex: 0 1 220px;
    min-width: min(180px, 100%);
}

.player-archive-select span[b-vzyxvbs801] {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.player-archive-select select[b-vzyxvbs801] {
    width: 100%;
}

@media (max-width: 780px) {
    .player-archive-select[b-vzyxvbs801] {
        width: 100%;
    }
}
/* /Components/Pages/Campaigns/PlayerCampaign.razor.rz.scp.css */
.player-dashboard[b-ebd3sr4s4w] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-lg);
}

.player-skeleton-hero[b-ebd3sr4s4w] {
    min-height: 220px;
    border-radius: var(--radius-lg);
}

.player-skeleton-stat[b-ebd3sr4s4w] {
    min-height: 72px;
}

.player-skeleton-panel[b-ebd3sr4s4w] {
    min-height: 320px;
}

.player-preview-banner[b-ebd3sr4s4w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    padding: var(--space-md) var(--space-lg);
    border: 1px solid rgba(88, 166, 255, 0.26);
    border-left: 3px solid var(--color-info);
    border-radius: var(--radius-md);
    background: rgba(88, 166, 255, 0.08);
}

.player-preview-banner-copy[b-ebd3sr4s4w] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.player-preview-banner-copy span[b-ebd3sr4s4w] {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.player-preview-picker[b-ebd3sr4s4w] {
    flex-shrink: 0;
    min-width: min(280px, 100%);
    margin: 0;
}

.player-preview-picker label[b-ebd3sr4s4w],
.player-archive-select span[b-ebd3sr4s4w] {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.player-campaign-header[b-ebd3sr4s4w] {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    border: 1px solid rgba(212, 168, 67, 0.18);
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, rgba(20, 23, 31, 0.98), rgba(12, 14, 20, 0.98));
}

.player-header-media[b-ebd3sr4s4w],
.player-header-scrim[b-ebd3sr4s4w] {
    position: absolute;
    inset: 0;
}

.player-header-media[b-ebd3sr4s4w] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.player-header-scrim[b-ebd3sr4s4w] {
    background:
        linear-gradient(180deg, rgba(8, 9, 13, 0.2), rgba(8, 9, 13, 0.92)),
        linear-gradient(90deg, rgba(9, 11, 16, 0.94), rgba(9, 11, 16, 0.48));
}

.player-header-back[b-ebd3sr4s4w] {
    position: absolute;
    top: var(--space-lg);
    left: var(--space-lg);
    z-index: 2;
}

.player-header-back :global(.page-back-link)[b-ebd3sr4s4w] {
    margin-bottom: 0;
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(12, 14, 20, 0.72);
    color: rgba(234, 237, 243, 0.92);
}

.player-header-content[b-ebd3sr4s4w] {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
    gap: var(--space-xl);
    min-height: 230px;
    padding: var(--space-xl);
    padding-top: calc(var(--space-xl) + 1rem);
    align-items: end;
}

.player-header-main[b-ebd3sr4s4w] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
}

.player-hero-kicker[b-ebd3sr4s4w],
.player-hero-meta[b-ebd3sr4s4w] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.player-hero-kicker[b-ebd3sr4s4w] {
    padding: 0.32rem 0.68rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-full);
    background: rgba(15, 17, 23, 0.48);
}

.player-header-main h1[b-ebd3sr4s4w] {
    margin: 0;
    font-size: var(--text-3xl);
    letter-spacing: 0;
}

.player-header-main p[b-ebd3sr4s4w] {
    max-width: 74ch;
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-base);
}

.player-header-stats[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-sm);
}

.player-stat-tile[b-ebd3sr4s4w] {
    min-width: 0;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.58);
}

.player-stat-tile strong[b-ebd3sr4s4w] {
    display: block;
    color: var(--color-text-primary);
    font-size: var(--text-xl);
    line-height: 1.1;
}

.player-stat-tile span[b-ebd3sr4s4w] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.player-campaign-tabs[b-ebd3sr4s4w] {
    grid-column: 1 / -1;
    display: flex;
    gap: var(--space-xs);
    min-width: 0;
    overflow-x: auto;
    padding-top: var(--space-md);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.player-campaign-tab[b-ebd3sr4s4w] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-weight: 700;
    text-decoration: none;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.player-campaign-tab:hover[b-ebd3sr4s4w] {
    background: rgba(255, 255, 255, 0.06);
    color: var(--color-text-primary);
    text-decoration: none;
}

.player-campaign-tab.is-active[b-ebd3sr4s4w] {
    border-color: var(--color-accent-ring);
    background: var(--color-accent-muted);
    color: var(--color-accent);
}

.player-campaign-mobile-nav[b-ebd3sr4s4w] {
    display: none;
    grid-column: 1 / -1;
}

.player-campaign-mobile-nav label[b-ebd3sr4s4w] {
    color: var(--color-text-muted);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.player-campaign-mobile-select-shell[b-ebd3sr4s4w] {
    position: relative;
}

.player-campaign-mobile-select-shell select[b-ebd3sr4s4w] {
    width: 100%;
    min-height: 48px;
    appearance: none;
    padding: 0.75rem 2.75rem 0.75rem 0.9rem;
    border: 1px solid var(--color-accent-ring);
    border-radius: var(--radius-lg);
    background: rgba(15, 17, 23, 0.88);
    color: var(--color-text-primary);
    font: inherit;
    font-size: var(--text-sm);
    font-weight: 750;
    color-scheme: dark;
}

.player-campaign-mobile-select-shell select:focus-visible[b-ebd3sr4s4w] {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.player-campaign-mobile-select-shell > span[b-ebd3sr4s4w] {
    position: absolute;
    top: 50%;
    right: 0.95rem;
    color: var(--color-accent);
    font-size: 1.15rem;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-55%);
}

.player-tab-content[b-ebd3sr4s4w] {
    min-width: 0;
    transition: opacity 110ms ease, transform 110ms ease;
    will-change: opacity, transform;
}

[data-player-tab-transition-root].nav-transition-out[b-ebd3sr4s4w],
[data-session-tab-transition-root].nav-transition-out[b-ebd3sr4s4w] {
    opacity: 0;
    transform: translate3d(-4px, 0, 0);
}

[data-player-tab-transition-root].nav-transition-prep[b-ebd3sr4s4w],
[data-session-tab-transition-root].nav-transition-prep[b-ebd3sr4s4w] {
    opacity: 0;
    transform: translate3d(4px, 0, 0);
}

[data-player-tab-transition-root].nav-transition-in[b-ebd3sr4s4w],
[data-session-tab-transition-root].nav-transition-in[b-ebd3sr4s4w] {
    animation: playerTabFadeIn-b-ebd3sr4s4w 150ms ease-out both;
}

.player-overview-grid[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: var(--space-lg);
    align-items: start;
}

.player-overview-main[b-ebd3sr4s4w],
.player-overview-side[b-ebd3sr4s4w],
.player-clues-layout[b-ebd3sr4s4w] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-lg);
}

.player-section[b-ebd3sr4s4w] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
}

.player-section-head[b-ebd3sr4s4w] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
}

.player-section-head h2[b-ebd3sr4s4w],
.player-section-head h3[b-ebd3sr4s4w] {
    margin: 0;
}

.player-rich-text[b-ebd3sr4s4w] {
    color: var(--color-text-secondary);
    line-height: 1.65;
}

.player-current-case[b-ebd3sr4s4w] {
    border-color: rgba(212, 168, 67, 0.26);
    background: linear-gradient(180deg, rgba(212, 168, 67, 0.08), var(--color-bg-surface));
}

.player-objective[b-ebd3sr4s4w] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: var(--space-md);
    border: 1px solid rgba(212, 168, 67, 0.18);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.42);
}

.player-objective span[b-ebd3sr4s4w] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.player-party-strip[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    gap: var(--space-md);
}

.player-party-snapshot[b-ebd3sr4s4w],
.player-lead-card[b-ebd3sr4s4w],
.player-threat-card[b-ebd3sr4s4w],
.player-info-block[b-ebd3sr4s4w],
.player-stack-item[b-ebd3sr4s4w],
.player-note-card[b-ebd3sr4s4w],
.player-member-row[b-ebd3sr4s4w] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.35);
}

.player-party-snapshot[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--space-md);
    padding: var(--space-md);
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.player-party-snapshot:hover[b-ebd3sr4s4w] {
    border-color: rgba(212, 168, 67, 0.28);
    color: inherit;
    text-decoration: none;
}

.player-party-snapshot span[b-ebd3sr4s4w],
.player-party-snapshot small[b-ebd3sr4s4w],
.player-case-head span[b-ebd3sr4s4w] {
    display: block;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.player-party-snapshot p[b-ebd3sr4s4w] {
    margin: 0.2rem 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.player-lead-grid[b-ebd3sr4s4w],
.player-threat-grid[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
    gap: var(--space-md);
}

.player-lead-card[b-ebd3sr4s4w],
.player-threat-card[b-ebd3sr4s4w] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-md);
}

.player-lead-card span[b-ebd3sr4s4w],
.player-threat-card span[b-ebd3sr4s4w] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.player-lead-card p[b-ebd3sr4s4w],
.player-threat-card p[b-ebd3sr4s4w] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.player-mini-timeline[b-ebd3sr4s4w],
.player-member-list[b-ebd3sr4s4w],
.player-note-list[b-ebd3sr4s4w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-width: 0;
}

.player-mini-timeline-item[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: var(--space-md);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-border-subtle);
}

.player-mini-timeline-item:last-child[b-ebd3sr4s4w] {
    padding-bottom: 0;
    border-bottom: 0;
}

.player-mini-timeline-item > span[b-ebd3sr4s4w] {
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.player-mini-timeline-item small[b-ebd3sr4s4w] {
    display: block;
    color: var(--color-text-muted);
}

.player-mini-timeline-item p[b-ebd3sr4s4w] {
    margin: 0.25rem 0 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.player-avatar[b-ebd3sr4s4w] {
    position: relative;
    display: flex;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.22), rgba(88, 166, 255, 0.18));
    color: var(--color-text-primary);
    font-weight: 800;
}

.player-avatar-lg[b-ebd3sr4s4w] {
    width: 56px;
    height: 56px;
}

.player-avatar img[b-ebd3sr4s4w],
.player-avatar[b-ebd3sr4s4w]  img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
}

.player-party-avatar img[b-ebd3sr4s4w],
.player-party-avatar[b-ebd3sr4s4w]  img {
    object-fit: cover;
    object-position: center top;
    background: var(--color-bg-elevated);
}

.player-member-row[b-ebd3sr4s4w] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
}

.player-member-row .badge[b-ebd3sr4s4w] {
    margin-left: auto;
    flex-shrink: 0;
}

.player-member-row strong[b-ebd3sr4s4w],
.player-record-title[b-ebd3sr4s4w],
.player-record-summary[b-ebd3sr4s4w],
.player-case-card[b-ebd3sr4s4w],
.player-clue-row strong[b-ebd3sr4s4w],
.player-session-card[b-ebd3sr4s4w] {
    overflow-wrap: anywhere;
}

.player-directory-section[b-ebd3sr4s4w] {
    width: 100%;
}

.player-archive-toolbar[b-ebd3sr4s4w],
.player-filter-row[b-ebd3sr4s4w],
.player-map-filter-row[b-ebd3sr4s4w] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-sm);
    min-width: 0;
}

.player-archive-search[b-ebd3sr4s4w] {
    position: relative;
    flex: 1 1 260px;
    min-width: min(260px, 100%);
}

.player-archive-search i[b-ebd3sr4s4w] {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    color: var(--color-text-muted);
    transform: translateY(-50%);
    pointer-events: none;
}

.player-archive-search input[b-ebd3sr4s4w] {
    width: 100%;
    padding-left: 2.2rem;
}

.player-archive-select[b-ebd3sr4s4w] {
    flex: 0 1 220px;
    min-width: min(180px, 100%);
}

.player-archive-select select[b-ebd3sr4s4w] {
    width: 100%;
}

.player-record-grid[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 360px));
    gap: var(--space-md);
    align-items: stretch;
    justify-content: start;
}

.player-record-grid--party[b-ebd3sr4s4w] {
    grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 430px));
}

.player-record-card[b-ebd3sr4s4w] {
    display: grid;
    min-width: 0;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.36);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}

.player-record-card--link:hover[b-ebd3sr4s4w] {
    border-color: rgba(212, 168, 67, 0.32);
    background: rgba(20, 23, 31, 0.72);
    color: inherit;
    text-decoration: none;
    transform: translateY(-1px);
}

.player-record-card--player[b-ebd3sr4s4w] {
    border-color: rgba(88, 166, 255, 0.24);
}

.player-record-card--npc[b-ebd3sr4s4w] {
    border-color: rgba(163, 113, 247, 0.2);
}

.player-record-card--location[b-ebd3sr4s4w] {
    border-color: rgba(126, 196, 141, 0.2);
}

.player-record-card--faction[b-ebd3sr4s4w] {
    border-color: rgba(212, 168, 67, 0.22);
}

.player-record-media[b-ebd3sr4s4w] {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(212, 168, 67, 0.16), rgba(88, 166, 255, 0.14)),
        var(--color-bg-elevated);
}

.player-record-card--faction .player-record-media[b-ebd3sr4s4w] {
    aspect-ratio: 2 / 1;
    background:
        linear-gradient(135deg, rgba(212, 168, 67, 0.18), rgba(63, 185, 80, 0.08)),
        var(--color-bg-elevated);
}

.player-record-card--location .player-record-media[b-ebd3sr4s4w] {
    aspect-ratio: 21 / 10;
}

.player-record-media img[b-ebd3sr4s4w] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.player-record-media--top img[b-ebd3sr4s4w] {
    object-position: center top;
}

.player-record-placeholder[b-ebd3sr4s4w] {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    color: var(--color-text-secondary);
    font-weight: 800;
    letter-spacing: 0.04em;
}

.player-record-body[b-ebd3sr4s4w] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
}

.player-record-topline[b-ebd3sr4s4w],
.player-record-details[b-ebd3sr4s4w],
.player-record-metrics[b-ebd3sr4s4w],
.player-record-tags[b-ebd3sr4s4w] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    align-items: center;
}

.player-record-badge[b-ebd3sr4s4w] {
    display: inline-flex;
    align-items: center;
    padding: 0.16rem 0.55rem;
    border: 1px solid rgba(212, 168, 67, 0.24);
    border-radius: var(--radius-full);
    background: rgba(212, 168, 67, 0.1);
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.player-record-title[b-ebd3sr4s4w] {
    margin: 0;
    font-size: var(--text-lg);
}

.player-record-subtitle[b-ebd3sr4s4w],
.player-record-summary[b-ebd3sr4s4w] {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.player-record-summary[b-ebd3sr4s4w] {
    margin: 0;
    line-height: 1.5;
}

.player-record-details span[b-ebd3sr4s4w],
.player-record-metrics span[b-ebd3sr4s4w],
.player-record-tags span[b-ebd3sr4s4w] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0.16rem 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: var(--radius-full);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.player-record-metrics span[b-ebd3sr4s4w] {
    color: var(--color-text-secondary);
    background: rgba(255, 255, 255, 0.03);
}

.player-record-tags span[b-ebd3sr4s4w] {
    border-color: rgba(88, 166, 255, 0.14);
    color: var(--color-info);
    background: rgba(88, 166, 255, 0.07);
}

.player-case-map-section :global(.rmap-graph-card)[b-ebd3sr4s4w] {
    margin: 0;
    border: 1px solid var(--color-border);
    background: rgba(15, 17, 23, 0.35);
}

:global(.player-case-map-shell)[b-ebd3sr4s4w] {
    min-height: 560px;
    height: min(68vh, 780px);
}

.player-map-toggle[b-ebd3sr4s4w] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    min-height: 32px;
    padding: 0.25rem 0.65rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    background: var(--color-bg-elevated);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-weight: 700;
}

.player-map-toggle input[b-ebd3sr4s4w] {
    accent-color: var(--color-accent);
}

.player-case-grid[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr));
    gap: var(--space-md);
}

.player-case-card[b-ebd3sr4s4w] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.36);
}

.player-case-card-link[b-ebd3sr4s4w] {
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.player-case-card-link:hover[b-ebd3sr4s4w] {
    border-color: rgba(139, 156, 198, 0.35);
    transform: translateY(-1px);
}

.player-case-journal[b-ebd3sr4s4w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.player-question-title[b-ebd3sr4s4w] {
    font-size: 1rem;
    color: var(--color-text-muted);
    margin-bottom: var(--space-sm);
}

.player-case-head h3[b-ebd3sr4s4w] {
    margin: 0.25rem 0 0;
}

.player-case-clues[b-ebd3sr4s4w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.player-clue-row[b-ebd3sr4s4w] {
    display: flex;
    gap: var(--space-md);
    align-items: flex-start;
    justify-content: space-between;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.025);
}

.player-clue-row.is-resolved[b-ebd3sr4s4w] {
    opacity: 0.72;
}

.player-clue-row span[b-ebd3sr4s4w] {
    display: block;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.player-session-timeline[b-ebd3sr4s4w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.player-session-card[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: var(--space-lg);
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.36);
}

.player-session-number[b-ebd3sr4s4w] {
    color: var(--color-accent);
    font-size: var(--text-sm);
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.player-session-body[b-ebd3sr4s4w] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-md);
}

.player-session-body h3[b-ebd3sr4s4w] {
    margin: 0;
}

.player-session-body p[b-ebd3sr4s4w] {
    margin: 0;
    color: var(--color-text-secondary);
}

.player-session-roster[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
    gap: var(--space-sm);
}

.player-roster-group[b-ebd3sr4s4w] {
    padding: var(--space-sm);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.025);
}

.player-roster-group > span[b-ebd3sr4s4w] {
    display: block;
    margin-bottom: var(--space-xs);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.player-roster-group div[b-ebd3sr4s4w] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.player-roster-group strong[b-ebd3sr4s4w] {
    display: inline-flex;
    padding: 0.1rem 0.45rem;
    border-radius: var(--radius-full);
    background: rgba(88, 166, 255, 0.08);
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
}

.player-session-note[b-ebd3sr4s4w],
.player-session-back[b-ebd3sr4s4w] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: var(--space-sm);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    text-decoration: none;
}

.player-session-back:hover[b-ebd3sr4s4w] {
    color: var(--color-gold);
}

.player-session-hero h2[b-ebd3sr4s4w] {
    margin-top: 0.35rem;
}

.player-session-meta[b-ebd3sr4s4w] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-sm);
}

.player-session-log-stack[b-ebd3sr4s4w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.player-session-log-block[b-ebd3sr4s4w] {
    padding: var(--space-md);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.34);
}

.player-session-log-block h3[b-ebd3sr4s4w] {
    margin: 0.2rem 0 0.5rem;
    font-size: var(--text-lg);
}

.player-roster-link[b-ebd3sr4s4w] {
    display: inline-flex;
    padding: 0.1rem 0.55rem;
    border-radius: var(--radius-full);
    background: rgba(88, 166, 255, 0.1);
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 700;
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.player-roster-link:hover[b-ebd3sr4s4w] {
    background: rgba(212, 168, 67, 0.16);
    color: var(--color-gold);
}

.player-session-open[b-ebd3sr4s4w] {
    margin-top: var(--space-sm);
}

.player-note-card[b-ebd3sr4s4w] {
    padding: var(--space-md);
}

.player-note-title[b-ebd3sr4s4w] {
    font-weight: 700;
}

.player-notes-section :global(.notes-panel)[b-ebd3sr4s4w] {
    margin-bottom: 0;
}

.player-notes-section :global(.notes-panel h2)[b-ebd3sr4s4w] {
    display: none;
}

.player-archive-empty[b-ebd3sr4s4w] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    min-height: 56px;
    padding: var(--space-md);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.28);
}

.player-archive-empty-icon[b-ebd3sr4s4w] {
    display: flex;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    background: var(--color-accent-muted);
    color: var(--color-accent);
}

.player-archive-empty p[b-ebd3sr4s4w] {
    margin: 0.15rem 0 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

@media (max-width: 1100px) {
    .player-header-content[b-ebd3sr4s4w],
    .player-overview-grid[b-ebd3sr4s4w] {
        grid-template-columns: 1fr;
    }

    .player-header-stats[b-ebd3sr4s4w] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .player-preview-banner[b-ebd3sr4s4w],
    .player-section-head[b-ebd3sr4s4w] {
        flex-direction: column;
        align-items: stretch;
    }

    .player-preview-picker[b-ebd3sr4s4w],
    .player-archive-select[b-ebd3sr4s4w] {
        width: 100%;
    }

    .player-header-content[b-ebd3sr4s4w] {
        padding: var(--space-lg);
        padding-top: calc(var(--space-lg) + 1.5rem);
    }

    .player-header-main h1[b-ebd3sr4s4w] {
        font-size: var(--text-2xl);
    }

    .player-header-stats[b-ebd3sr4s4w] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .player-campaign-tabs[b-ebd3sr4s4w] {
        display: none;
    }

    .player-campaign-mobile-nav[b-ebd3sr4s4w] {
        display: grid;
        gap: 0.45rem;
        padding-top: var(--space-md);
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .player-session-card[b-ebd3sr4s4w] {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .player-mini-timeline-item[b-ebd3sr4s4w] {
        grid-template-columns: 1fr;
        gap: var(--space-xs);
    }

    :global(.player-case-map-shell)[b-ebd3sr4s4w] {
        min-height: 420px;
        height: 56vh;
    }
}

@media (max-width: 560px) {
    .player-section[b-ebd3sr4s4w] {
        padding: var(--space-md);
    }

    .player-party-snapshot[b-ebd3sr4s4w],
    .player-clue-row[b-ebd3sr4s4w] {
        flex-direction: column;
        align-items: stretch;
    }

    .player-party-snapshot[b-ebd3sr4s4w] {
        grid-template-columns: 1fr;
    }

    .player-member-row[b-ebd3sr4s4w] {
        flex-wrap: wrap;
    }

    .player-member-row .player-avatar[b-ebd3sr4s4w] {
        align-self: center;
    }
}

/* ── Player Session View Tab Upgrades ── */

/* Premium Session Hero Header for Player View */
.player-session-hero[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
    align-items: stretch;
    border: 1px solid rgba(212, 168, 67, 0.22);
    border-left: 4px solid var(--color-accent);
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, var(--color-bg-surface) 0%, rgba(30, 32, 40, 0.95) 100%);
    box-shadow: var(--shadow-md);
    padding: var(--space-xl) var(--space-2xl) !important;
    overflow: hidden;
    position: relative;
}

.player-session-hero[b-ebd3sr4s4w]::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(212, 168, 67, 0.05) 0%, transparent 70%);
    pointer-events: none;
}

.player-session-hero h2[b-ebd3sr4s4w] {
    margin-top: var(--space-sm) !important;
    font-size: var(--text-2xl) !important;
    font-weight: 800 !important;
    color: var(--color-text-primary) !important;
    line-height: 1.25;
}

/* Tab Bar Navigation for Player Session Details */
.session-tabs-container[b-ebd3sr4s4w] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--space-sm);
    box-shadow: var(--shadow-sm);
    margin-bottom: var(--space-lg);
}

.session-tabs[b-ebd3sr4s4w] {
    display: flex;
    gap: var(--space-xs);
    overflow-x: auto;
    padding-bottom: 2px;
}

.session-tab[b-ebd3sr4s4w] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-lg);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-weight: 700;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.session-tab:hover[b-ebd3sr4s4w] {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

.session-tab.is-active[b-ebd3sr4s4w] {
    border-color: var(--color-accent-ring);
    background: var(--color-accent-muted);
    color: var(--color-accent);
}

.tab-badge[b-ebd3sr4s4w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.1);
    color: inherit;
    font-size: 10px;
    font-weight: 800;
}

.session-tab.is-active .tab-badge[b-ebd3sr4s4w] {
    background: var(--color-accent);
    color: var(--color-bg-base);
}

/* Tab Content Transitions */
.tab-content-pane[b-ebd3sr4s4w] {
    transition: opacity 110ms ease, transform 110ms ease;
    will-change: opacity, transform;
}

/* Scoped narrative cards matching GM view dashboard icons */
.session-content-grid-tabs[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
}

.session-content-card[b-ebd3sr4s4w] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
    overflow: hidden;
    padding: var(--space-xl);
}

.session-content-card:hover[b-ebd3sr4s4w] {
    border-color: var(--color-border-strong);
    box-shadow: var(--shadow-md);
}

.session-card-header-row[b-ebd3sr4s4w] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--color-border-subtle);
}

.session-card-icon-wrapper[b-ebd3sr4s4w] {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-accent-muted);
    color: var(--color-accent);
    flex-shrink: 0;
}

.session-card-header-row h2[b-ebd3sr4s4w] {
    font-size: var(--text-md) !important;
    font-weight: 700 !important;
    color: var(--color-text-primary) !important;
    margin: 0 !important;
}

.session-card-kicker[b-ebd3sr4s4w] {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
    margin-bottom: 2px;
    line-height: 1;
}

.session-card-body-text[b-ebd3sr4s4w] {
    color: var(--color-text-secondary);
    line-height: 1.65;
    font-size: var(--text-sm);
}

/* Pulsing Status Dot */
.status-indicator[b-ebd3sr4s4w] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--text-xs);
    font-weight: 700;
}

.status-dot[b-ebd3sr4s4w] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-success);
    position: relative;
}

.status-dot[b-ebd3sr4s4w]::after {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 50%;
    border: 1px solid var(--color-success);
    animation: statusPulse-b-ebd3sr4s4w 1.8s infinite ease-in-out;
}

@keyframes statusPulse-b-ebd3sr4s4w {
    0% { transform: scale(0.9); opacity: 0.8; }
    100% { transform: scale(2.2); opacity: 0; }
}

@keyframes fadeIn-b-ebd3sr4s4w {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes playerTabFadeIn-b-ebd3sr4s4w {
    from {
        opacity: 0;
        transform: translate3d(4px, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .player-tab-content[b-ebd3sr4s4w],
    .tab-content-pane[b-ebd3sr4s4w] {
        transition: none;
        will-change: auto;
    }

    [data-player-tab-transition-root].nav-transition-out[b-ebd3sr4s4w],
    [data-player-tab-transition-root].nav-transition-prep[b-ebd3sr4s4w],
    [data-session-tab-transition-root].nav-transition-prep[b-ebd3sr4s4w],
    [data-session-tab-transition-root].nav-transition-out[b-ebd3sr4s4w] {
        opacity: 1;
        transform: none;
    }

    [data-player-tab-transition-root].nav-transition-in[b-ebd3sr4s4w],
    [data-session-tab-transition-root].nav-transition-in[b-ebd3sr4s4w] {
        animation: none;
    }
}

/* Stat Grid Inside Hero */
.player-session-hero .session-stat-grid[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-sm);
    width: min(100%, 720px);
    height: auto;
}

.player-session-hero .session-stat[b-ebd3sr4s4w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--space-sm);
    background: rgba(15, 17, 23, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    min-height: 72px;
}

.player-session-hero .session-stat strong[b-ebd3sr4s4w] {
    font-size: var(--text-lg);
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 2px;
}

.player-session-hero .session-stat span[b-ebd3sr4s4w] {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
}

/* Roster Grids */
.roster-grid-section[b-ebd3sr4s4w] {
    margin-bottom: var(--space-xl);
}

.roster-grid-section:last-of-type[b-ebd3sr4s4w] {
    margin-bottom: 0;
}

.roster-grid-section h3[b-ebd3sr4s4w] {
    font-size: var(--text-base);
    font-weight: 700;
    margin-bottom: var(--space-xs);
    color: var(--color-text-primary);
}

.roster-grid-subtitle[b-ebd3sr4s4w] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    margin-bottom: var(--space-lg);
}

.roster-grid[b-ebd3sr4s4w] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
    gap: var(--space-md);
}

.roster-card-container[b-ebd3sr4s4w] {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
}

/* Sidebar info card for players */
.session-info-card[b-ebd3sr4s4w] {
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    margin-bottom: var(--space-lg);
}

.session-info-title[b-ebd3sr4s4w] {
    font-size: var(--text-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
    margin-bottom: var(--space-md);
}

.session-info-row[b-ebd3sr4s4w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--color-border-subtle);
    font-size: var(--text-sm);
}

.session-info-row:last-of-type[b-ebd3sr4s4w] {
    border-bottom: none;
}

.session-info-label[b-ebd3sr4s4w] {
    color: var(--color-text-secondary);
    font-weight: 600;
}

.session-info-value[b-ebd3sr4s4w] {
    color: var(--color-text-primary);
    font-weight: 700;
}

/* Keep the upgraded session view responsive. These rules intentionally live
   after the desktop session styles so the mobile layout wins the cascade. */
@media (max-width: 780px) {
    .player-session-hero[b-ebd3sr4s4w] {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: var(--space-lg);
        padding: var(--space-lg) !important;
    }

    .player-session-hero .session-hero-main[b-ebd3sr4s4w],
    .player-session-hero .session-stat-grid[b-ebd3sr4s4w],
    .session-content-card[b-ebd3sr4s4w],
    .session-card-body-text[b-ebd3sr4s4w] {
        min-width: 0;
        max-width: 100%;
    }

    .player-session-hero .session-stat-grid[b-ebd3sr4s4w] {
        width: 100%;
        height: auto;
    }

    .session-tabs-container[b-ebd3sr4s4w] {
        min-width: 0;
        max-width: 100%;
        padding: var(--space-xs);
        overflow: visible;
    }

    .session-tabs[b-ebd3sr4s4w] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-xs);
        width: 100%;
        max-width: 100%;
        overflow: visible;
        padding: 0;
    }

    .session-tab[b-ebd3sr4s4w] {
        width: 100%;
        min-width: 0;
        min-height: 46px;
        justify-content: flex-start;
        padding: var(--space-sm) var(--space-md);
        white-space: normal;
        line-height: 1.2;
        text-align: left;
    }

    .session-card-body-text[b-ebd3sr4s4w],
    .player-session-hero .player-rich-text[b-ebd3sr4s4w] {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 560px) {
    .player-session-hero[b-ebd3sr4s4w] {
        gap: var(--space-md);
        padding: var(--space-md) !important;
        border-radius: var(--radius-lg);
    }

    .player-session-hero h2[b-ebd3sr4s4w] {
        font-size: var(--text-xl) !important;
        line-height: 1.2;
    }

    .player-session-hero .workspace-meta-row[b-ebd3sr4s4w] {
        flex-wrap: wrap;
    }

    .player-session-hero .session-stat-grid[b-ebd3sr4s4w] {
        gap: var(--space-xs);
    }

    .player-session-hero .session-stat[b-ebd3sr4s4w] {
        min-height: 58px;
        padding: var(--space-xs);
    }

    .player-session-hero .session-stat strong[b-ebd3sr4s4w] {
        font-size: var(--text-base);
    }

    .player-session-hero .session-stat span[b-ebd3sr4s4w] {
        font-size: 8px;
        line-height: 1.25;
    }

    .session-content-card[b-ebd3sr4s4w] {
        padding: var(--space-md);
    }

    .session-card-header-row[b-ebd3sr4s4w] {
        gap: var(--space-sm);
        margin-bottom: var(--space-md);
    }
}

/* /Components/Pages/Campaigns/PlayerEntityCard.razor.rz.scp.css */
.player-entity-card[b-mwkojif9rx] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.35);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-fast);
}

.player-entity-card:hover[b-mwkojif9rx] {
    color: inherit;
    text-decoration: none;
    border-color: rgba(212, 168, 67, 0.28);
}

.player-entity-card--static[b-mwkojif9rx] {
    cursor: default;
    pointer-events: none;
}

.player-entity-card--static:hover[b-mwkojif9rx] {
    border-color: var(--color-border);
}

.player-entity-card-media[b-mwkojif9rx] {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.22), rgba(88, 166, 255, 0.18));
}

.player-entity-card-media img[b-mwkojif9rx] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.player-entity-card-media--top img[b-mwkojif9rx] {
    object-position: center top;
}

.player-entity-card-media--center img[b-mwkojif9rx] {
    object-position: center;
}

.player-entity-card-placeholder[b-mwkojif9rx] {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    color: var(--color-text-secondary);
}

.player-entity-card-initials[b-mwkojif9rx] {
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.player-entity-card-body[b-mwkojif9rx] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.35rem;
    padding: var(--space-md);
}

.player-entity-card-badge[b-mwkojif9rx] {
    align-self: flex-start;
    padding: 0.15rem 0.55rem;
    border: 1px solid rgba(212, 168, 67, 0.22);
    border-radius: var(--radius-full);
    background: rgba(212, 168, 67, 0.1);
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.02em;
}

.player-entity-card-name[b-mwkojif9rx] {
    overflow-wrap: anywhere;
    font-size: var(--text-md);
}

.player-entity-card-meta[b-mwkojif9rx],
.player-entity-card-description[b-mwkojif9rx],
.player-entity-card-tracker[b-mwkojif9rx] {
    overflow-wrap: anywhere;
}

.player-entity-card-meta[b-mwkojif9rx] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.player-entity-card-description[b-mwkojif9rx] {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: 1.45;
}

.player-entity-card-tracker[b-mwkojif9rx] {
    margin-top: 0.15rem;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.player-entity-card-badge--faction[b-mwkojif9rx] {
    border-color: rgba(88, 166, 255, 0.24);
    background: rgba(88, 166, 255, 0.1);
}

.player-entity-card-badge--location[b-mwkojif9rx] {
    border-color: rgba(126, 196, 141, 0.24);
    background: rgba(126, 196, 141, 0.1);
}
/* /Components/Pages/Campaigns/RelationshipMap.razor.rz.scp.css */
.rmap-page-layout[b-me9l5uvr2b] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.rmap-graph-card[b-me9l5uvr2b] {
    padding: 0;
    overflow: hidden;
}

.rmap-graph-shell[b-me9l5uvr2b] {
    position: relative;
    min-height: 480px;
    height: min(68vh, 720px);
    background:
        radial-gradient(circle at 20% 15%, rgba(212, 168, 67, 0.06), transparent 35%),
        radial-gradient(circle at 80% 85%, rgba(88, 166, 255, 0.05), transparent 30%),
        var(--color-bg-elevated);
    border-bottom: 1px solid var(--color-border);
}

.rmap-graph-legend[b-me9l5uvr2b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-surface);
}

.rmap-legend-items[b-me9l5uvr2b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-md);
}

.rmap-legend-item[b-me9l5uvr2b] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-xs);
    color: var(--color-text-muted);
}

.rmap-legend-dot[b-me9l5uvr2b] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.rmap-legend-dot.character[b-me9l5uvr2b] { background: #58a6ff; }
.rmap-legend-dot.faction[b-me9l5uvr2b] { background: #2dd4bf; }
.rmap-legend-dot.location[b-me9l5uvr2b] { background: #fb923c; }
.rmap-legend-dot.investigation-case[b-me9l5uvr2b] { background: #c084fc; }
.rmap-legend-dot.investigation-clue[b-me9l5uvr2b] { background: #facc15; }
.rmap-legend-dot.investigation-revelation[b-me9l5uvr2b] { background: #f472b6; }
.rmap-legend-dot.investigation-lead[b-me9l5uvr2b] { background: #34d399; }
.rmap-legend-dot.investigation-theory[b-me9l5uvr2b] { background: #a78bfa; }
.rmap-legend-dot.unknown-entity[b-me9l5uvr2b] { background: #94a3b8; }
.rmap-legend-dot.custom[b-me9l5uvr2b] { background: #a8a29e; }

.rmap-graph-hint[b-me9l5uvr2b] {
    padding: var(--space-sm) var(--space-lg);
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    border-top: 1px solid var(--color-border);
    background: var(--color-bg-surface);
}

.rmap-details-grid[b-me9l5uvr2b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    gap: var(--space-lg);
}

.rmap-player-visibility-grid[b-me9l5uvr2b] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
}

.rmap-player-visibility-list[b-me9l5uvr2b] {
    display: grid;
    gap: var(--space-sm);
    max-height: 360px;
    overflow: auto;
    padding-right: var(--space-xs);
}

.rmap-selection-card[b-me9l5uvr2b] {
    position: sticky;
    top: var(--space-lg);
    align-self: start;
}

.rmap-links-toggle[b-me9l5uvr2b] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    text-align: left;
}

.rmap-links-toggle:hover[b-me9l5uvr2b] {
    background: var(--color-bg-hover);
}

.rmap-links-panel[b-me9l5uvr2b] {
    border-top: 1px solid var(--color-border);
}

.rmap-links-panel[hidden][b-me9l5uvr2b] {
    display: none;
}

@media (max-width: 960px) {
    .rmap-details-grid[b-me9l5uvr2b] {
        grid-template-columns: 1fr;
    }

    .rmap-player-visibility-grid[b-me9l5uvr2b] {
        grid-template-columns: 1fr;
    }

    .rmap-selection-card[b-me9l5uvr2b] {
        position: static;
    }

    .rmap-graph-shell[b-me9l5uvr2b] {
        min-height: 360px;
        height: 52vh;
    }
}
/* /Components/Pages/Characters/CharacterList.razor.rz.scp.css */
.npc-hero[b-osl4hv28ld] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    background:
        radial-gradient(circle at top right, rgba(212, 168, 67, 0.16), transparent 42%),
        linear-gradient(145deg, var(--color-bg-surface) 0%, var(--color-bg-elevated) 100%);
    box-shadow: var(--shadow-sm);
}

.npc-hero-header[b-osl4hv28ld] {
    border-bottom: none;
    margin-bottom: var(--space-lg);
    padding-bottom: 0;
}

.npc-hero-kicker[b-osl4hv28ld] {
    display: inline-block;
    margin-bottom: var(--space-sm);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-accent);
}

.npc-hero-title[b-osl4hv28ld] {
    margin-bottom: var(--space-xs);
}

.npc-stats[b-osl4hv28ld] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space-md);
}

.npc-stat-card[b-osl4hv28ld] {
    border: 1px solid var(--color-border-strong);
    background: rgba(255, 255, 255, 0.02);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.npc-stat-label[b-osl4hv28ld] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.npc-stat-value[b-osl4hv28ld] {
    font-size: var(--text-xl);
    color: var(--color-text-primary);
    line-height: 1.1;
}

.npc-toolbar[b-osl4hv28ld] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-lg);
    flex-wrap: wrap;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-xs);
    padding: var(--space-md);
}

.npc-search[b-osl4hv28ld] {
    position: relative;
    width: min(420px, 100%);
}

.npc-search-icon[b-osl4hv28ld] {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-text-muted);
    pointer-events: none;
}

.npc-search-input[b-osl4hv28ld] {
    width: 100%;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    color: var(--color-text-primary);
    border-radius: var(--radius-md);
    padding: 0.52rem 0.75rem 0.52rem 2rem;
    font-size: var(--text-sm);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.npc-search-input:focus[b-osl4hv28ld] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}

.npc-grid[b-osl4hv28ld] {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

.npc-card[b-osl4hv28ld] {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
    border-color: var(--color-border);
    background:
        linear-gradient(180deg, rgba(212, 168, 67, 0.08) 0, transparent 26px),
        var(--color-bg-surface);
    transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
    min-width: 0;
    overflow: hidden;
}

.npc-card:hover[b-osl4hv28ld] {
    transform: translateY(-2px);
    border-color: var(--color-accent);
    box-shadow: var(--shadow-md);
}

.npc-card:active[b-osl4hv28ld] {
    transform: translateY(0);
}

.npc-card-header[b-osl4hv28ld] {
    display: flex;
    gap: var(--space-md);
    align-items: flex-start;
    min-width: 0;
}

.npc-card-body[b-osl4hv28ld] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.npc-card .entity-summary-thumb[b-osl4hv28ld],
.npc-card .entity-summary-thumb-fallback[b-osl4hv28ld] {
    width: 72px;
    height: 72px;
}

.npc-name[b-osl4hv28ld] {
    font-size: var(--text-lg);
    line-height: 1.2;
    min-width: 0;
    overflow-wrap: anywhere;
}

.npc-type-badge[b-osl4hv28ld] {
    align-self: flex-start;
    gap: 0.3rem;
    max-width: 100%;
    white-space: normal;
    text-align: left;
}

.npc-mantle[b-osl4hv28ld] {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.35rem;
    min-width: 0;
}

.npc-mantle span[b-osl4hv28ld] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.npc-concept[b-osl4hv28ld] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.npc-canonical-note[b-osl4hv28ld] {
    margin-top: 0.15rem;
}

.npc-card-footer[b-osl4hv28ld] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-md);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-border);
}

.npc-card-meta[b-osl4hv28ld] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.npc-card-meta-label[b-osl4hv28ld] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.npc-card-meta-value[b-osl4hv28ld] {
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

@media (max-width: 768px) {
    .npc-hero[b-osl4hv28ld] {
        padding: var(--space-lg);
    }

    .npc-grid[b-osl4hv28ld] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Dnd/DndBestiary.razor.rz.scp.css */
.dnd-bestiary-pagination[b-upyjdf6xg2] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    margin-top: var(--space-md);
}
/* /Components/Pages/Dnd/DndBookViewer.razor.rz.scp.css */
.book-page[b-39223fjsm7] {
    max-width: 1200px;
    margin: 0 auto;
}

.book-page-header[b-39223fjsm7] {
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-lg);
}

.book-breadcrumb[b-39223fjsm7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.book-breadcrumb a[b-39223fjsm7] {
    color: var(--color-text-muted);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--transition-fast);
}

.book-breadcrumb a:hover[b-39223fjsm7] {
    color: var(--color-accent);
    text-decoration: none;
}

.book-breadcrumb-sep[b-39223fjsm7] {
    opacity: 0.45;
    user-select: none;
}

/* Hero */
.book-hero[b-39223fjsm7] {
    margin-bottom: var(--space-xl);
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    background: linear-gradient(125deg, var(--color-bg-surface) 0%, var(--color-bg-elevated) 55%, rgba(212, 168, 67, 0.06) 100%);
    box-shadow: var(--shadow-sm);
}

.book-hero-inner[b-39223fjsm7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-xl);
}

.book-hero-cover[b-39223fjsm7] {
    flex-shrink: 0;
    width: 72px;
    height: 96px;
    border-radius: var(--radius-md);
    background: linear-gradient(160deg, var(--color-accent-muted), var(--color-bg-active));
    border: 1px solid var(--color-border-strong);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-md);
}

.book-hero-copy[b-39223fjsm7] {
    flex: 1;
    min-width: min(100%, 220px);
}

.book-hero-title[b-39223fjsm7] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-md);
    font-weight: 600;
    color: var(--color-text-primary);
}

.book-hero-text[b-39223fjsm7] {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    line-height: var(--leading-relaxed);
    max-width: 36rem;
}

.book-hero-actions[b-39223fjsm7] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    width: 100%;
}

@media (min-width: 900px) {
    .book-hero-actions[b-39223fjsm7] {
        width: auto;
        flex-direction: column;
        align-items: stretch;
    }
}

.book-chip[b-39223fjsm7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: 0.45rem 0.9rem;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 600;
    text-decoration: none;
    color: var(--color-text-secondary);
    background: var(--color-bg-base);
    border: 1px solid var(--color-border);
    transition: border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
    white-space: nowrap;
}

.book-chip:hover[b-39223fjsm7] {
    border-color: var(--color-accent-muted);
    color: var(--color-accent);
    text-decoration: none;
    box-shadow: var(--shadow-xs);
}

.book-chip-accent[b-39223fjsm7] {
    border-color: var(--color-accent-muted);
    background: var(--color-accent-muted);
    color: var(--color-accent);
}

.book-chip-accent:hover[b-39223fjsm7] {
    border-color: var(--color-accent);
    color: var(--color-accent-hover);
}

/* Missing PDF */
.book-missing[b-39223fjsm7] {
    display: flex;
    gap: var(--space-xl);
    align-items: flex-start;
    padding: var(--space-2xl);
    border: 1px dashed var(--color-border-strong);
    background: var(--color-bg-surface);
}

.book-missing-icon[b-39223fjsm7] {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: var(--radius-xl);
    background: var(--color-danger-muted);
    color: var(--color-danger);
    display: flex;
    align-items: center;
    justify-content: center;
}

.book-missing-title[b-39223fjsm7] {
    margin: 0 0 var(--space-sm);
    font-size: var(--text-lg);
    color: var(--color-text-primary);
}

.book-missing-lead[b-39223fjsm7] {
    margin: 0 0 var(--space-lg);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    max-width: 40rem;
}

.book-missing-steps[b-39223fjsm7] {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: 1.85;
    max-width: 40rem;
}

.book-missing-steps li[b-39223fjsm7] {
    margin-bottom: var(--space-sm);
}

.book-code[b-39223fjsm7] {
    font-family: var(--font-mono);
    font-size: 0.9em;
    padding: 0.15em 0.45em;
    border-radius: var(--radius-sm);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    color: var(--color-accent);
}

@media (max-width: 640px) {
    .book-missing[b-39223fjsm7] {
        flex-direction: column;
        padding: var(--space-xl);
    }
}

/* Deferred viewer */
.book-preview[b-39223fjsm7] {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-xl);
    border: 1px solid var(--color-border);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-sm);
}

.book-preview-icon[b-39223fjsm7] {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: var(--radius-lg);
    background: var(--color-accent-muted);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.book-preview-body[b-39223fjsm7] {
    flex: 1;
    min-width: 0;
}

.book-preview-title[b-39223fjsm7] {
    margin: var(--space-xs) 0;
    font-size: var(--text-lg);
    color: var(--color-text-primary);
}

.book-preview-copy[b-39223fjsm7] {
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
}

.book-preview-actions[b-39223fjsm7] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: flex-end;
}

@media (max-width: 720px) {
    .book-preview[b-39223fjsm7] {
        align-items: flex-start;
        flex-direction: column;
    }

    .book-preview-actions[b-39223fjsm7] {
        justify-content: flex-start;
        width: 100%;
    }
}

/* Viewer */
.book-viewer[b-39223fjsm7] {
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

.book-viewer-chrome[b-39223fjsm7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-elevated);
    border-bottom: 1px solid var(--color-border);
}

.book-viewer-chrome-left[b-39223fjsm7] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
}

.book-viewer-dot[b-39223fjsm7] {
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    background: var(--color-border-strong);
    flex-shrink: 0;
}

.book-viewer-dot:nth-child(1)[b-39223fjsm7] {
    background: #e5534b;
    opacity: 0.85;
}

.book-viewer-dot:nth-child(2)[b-39223fjsm7] {
    background: #d4a843;
    opacity: 0.85;
}

.book-viewer-dot:nth-child(3)[b-39223fjsm7] {
    background: #3fb950;
    opacity: 0.85;
}

.book-viewer-filename[b-39223fjsm7] {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-text-muted);
    margin-left: var(--space-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: min(50vw, 280px);
}

.book-viewer-chrome-right[b-39223fjsm7] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    align-items: center;
}

.book-chrome-btn[b-39223fjsm7] {
    -webkit-user-select: none;
    user-select: none;
}

.book-viewer-frame[b-39223fjsm7] {
    position: relative;
    background: #1a1c24;
    min-height: min(480px, 55vh);
}

.book-iframe[b-39223fjsm7] {
    display: block;
    width: 100%;
    height: calc(100dvh - 16rem);
    min-height: 520px;
    border: none;
    background: var(--color-bg-base);
}

@media (max-width: 1024px) {
    .book-iframe[b-39223fjsm7] {
        height: calc(100dvh - 15rem);
        min-height: 420px;
    }
}

@media (max-width: 640px) {
    .book-iframe[b-39223fjsm7] {
        height: calc(100dvh - 18rem);
        min-height: 360px;
    }

    .book-viewer-filename[b-39223fjsm7] {
        max-width: 140px;
    }
}

.book-viewer-hint[b-39223fjsm7] {
    margin: 0;
    padding: var(--space-md) var(--space-lg);
    background: var(--color-bg-elevated);
    border-top: 1px solid var(--color-border-subtle);
    line-height: 1.5;
}

.book-viewer-hint kbd[b-39223fjsm7] {
    display: inline-block;
    padding: 0.1em 0.4em;
    margin: 0 0.1em;
    font-size: 0.85em;
    font-family: var(--font-mono);
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-secondary);
    box-shadow: 0 1px 0 var(--color-border-strong);
}

.book-library-toolbar[b-39223fjsm7] {
    padding: var(--space-lg);
}

.book-library-grid[b-39223fjsm7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-lg);
}

.book-source-card[b-39223fjsm7] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--color-border);
    background: var(--color-bg-surface);
    width: 100%;
    text-align: left;
    cursor: pointer;
    font: inherit;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.book-source-card:hover[b-39223fjsm7],
.book-source-card.active[b-39223fjsm7] {
    text-decoration: none;
    border-color: var(--color-accent-muted);
    box-shadow: var(--shadow-sm);
    transform: translateY(-1px);
}

.book-source-card h2[b-39223fjsm7] {
    margin: 0;
    font-size: var(--text-md);
    line-height: 1.25;
}

.book-source-head[b-39223fjsm7],
.book-source-status[b-39223fjsm7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
}
/* /Components/Pages/Dnd/DndCampaignList.razor.rz.scp.css */
.dnd-camp-list-grid[b-pmcipyv9my] {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.dnd-camp-list-card[b-pmcipyv9my] {
    padding: 0;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dnd-camp-list-card:hover[b-pmcipyv9my] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.dnd-camp-list-card-banner[b-pmcipyv9my] {
    height: 120px;
    background-size: cover;
    background-position: center;
    background-color: rgba(88, 166, 255, 0.12);
}

.dnd-camp-list-card-body[b-pmcipyv9my] {
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dnd-camp-list-card h2[b-pmcipyv9my] {
    margin: 0;
    font-size: var(--text-lg);
}

.dnd-camp-list-card-badges[b-pmcipyv9my] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.dnd-camp-list-card-meta[b-pmcipyv9my] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}
/* /Components/Pages/Dnd/DndCampaignModulePage.razor.rz.scp.css */
.dnd-module-card-image[b-fyda50fxuj] {
    display: block;
    width: calc(100% + (var(--space-lg) * 2));
    height: 180px;
    margin: calc(var(--space-lg) * -1) calc(var(--space-lg) * -1) var(--space-md);
    object-fit: cover;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    border-bottom: 1px solid var(--color-border);
}

.dnd-module-image-preview[b-fyda50fxuj] {
    display: block;
    width: min(100%, 680px);
    max-height: 320px;
    margin: 0 0 var(--space-md);
    object-fit: cover;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

@media (max-width: 760px) {
    .dnd-module-card-image[b-fyda50fxuj] {
        width: calc(100% + (var(--space-md) * 2));
        height: 160px;
        margin: calc(var(--space-md) * -1) calc(var(--space-md) * -1) var(--space-md);
    }
}

@media (max-width: 390px) {
    .dnd-module-card-image[b-fyda50fxuj] {
        width: calc(100% + (var(--space-sm) * 2));
        height: 140px;
        margin: calc(var(--space-sm) * -1) calc(var(--space-sm) * -1) var(--space-sm);
    }
}
/* /Components/Pages/Dnd/DndCampaignNew.razor.rz.scp.css */
.dnd-camp-new[b-xhymkmuumi] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.dnd-camp-new .page-header[b-xhymkmuumi] {
    margin-bottom: 0;
}

.dnd-camp-new-layout[b-xhymkmuumi] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: var(--space-xl);
    align-items: start;
}

.dnd-camp-new-main[b-xhymkmuumi],
.dnd-camp-new-side[b-xhymkmuumi] {
    min-width: 0;
}

.dnd-camp-new-main[b-xhymkmuumi] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.dnd-camp-new-side[b-xhymkmuumi] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    position: sticky;
    top: calc(var(--topbar-height) + var(--space-lg));
}

.dnd-camp-creator-card[b-xhymkmuumi] {
    padding: 0;
    overflow: hidden;
}

.dnd-camp-creator-section-head[b-xhymkmuumi] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    padding: var(--space-xl);
    border-bottom: 1px solid var(--color-border);
    background: linear-gradient(180deg, rgba(88, 166, 255, 0.08), transparent);
}

.dnd-camp-creator-section-head h2[b-xhymkmuumi] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-lg);
}

.dnd-camp-creator-section-head p[b-xhymkmuumi] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.dnd-camp-creator-section-icon[b-xhymkmuumi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-md);
    background: var(--color-info-muted);
    color: var(--color-info);
    flex: 0 0 auto;
}

.dnd-camp-creator-section-body[b-xhymkmuumi] {
    padding: var(--space-xl);
}

.dnd-camp-form-grid[b-xhymkmuumi] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0 var(--space-md);
}

.dnd-camp-creator-preview[b-xhymkmuumi] {
    padding: 0;
    overflow: hidden;
}

.dnd-camp-creator-preview-banner[b-xhymkmuumi] {
    height: 150px;
    background: var(--color-bg-elevated);
    border-bottom: 1px solid var(--color-border);
}

.dnd-camp-creator-preview-banner img[b-xhymkmuumi] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dnd-camp-creator-preview-body[b-xhymkmuumi] {
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dnd-camp-creator-preview-badges[b-xhymkmuumi] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.dnd-camp-creator-preview h2[b-xhymkmuumi] {
    margin: 0;
    font-size: var(--text-xl);
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.dnd-camp-creator-preview-pitch[b-xhymkmuumi] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: 1.5;
    white-space: pre-wrap;
}

.dnd-camp-creator-preview-meta[b-xhymkmuumi] {
    display: grid;
    gap: var(--space-xs);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--color-border-subtle);
}

.dnd-camp-creator-preview-meta span[b-xhymkmuumi] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.dnd-camp-creator-preview-meta i[b-xhymkmuumi] {
    color: var(--color-accent);
    flex: 0 0 auto;
}

.dnd-camp-creator-checklist[b-xhymkmuumi] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.dnd-camp-creator-checklist h2[b-xhymkmuumi] {
    margin: 0;
    font-size: var(--text-md);
}

.dnd-camp-creator-checklist ul[b-xhymkmuumi] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--space-sm);
}

.dnd-camp-creator-checklist li[b-xhymkmuumi] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.dnd-camp-creator-checklist li i[b-xhymkmuumi] {
    color: var(--color-border-strong);
    flex: 0 0 auto;
}

.dnd-camp-creator-checklist li.is-complete[b-xhymkmuumi] {
    color: var(--color-text-secondary);
}

.dnd-camp-creator-checklist li.is-complete i[b-xhymkmuumi] {
    color: var(--color-success);
}

.dnd-camp-new-actions[b-xhymkmuumi] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-sm);
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: rgba(24, 26, 32, 0.88);
    box-shadow: var(--shadow-xs);
}

.dnd-camp-new-actions .btn[b-xhymkmuumi] {
    flex: 1 1 0;
}

@media (max-width: 980px) {
    .dnd-camp-new-layout[b-xhymkmuumi] {
        grid-template-columns: 1fr;
    }

    .dnd-camp-new-side[b-xhymkmuumi] {
        position: static;
    }
}

@media (max-width: 640px) {
    .dnd-camp-new .page-header[b-xhymkmuumi] {
        flex-direction: column;
        align-items: stretch;
    }

    .dnd-camp-creator-section-head[b-xhymkmuumi],
    .dnd-camp-creator-section-body[b-xhymkmuumi] {
        padding: var(--space-lg);
    }

    .dnd-camp-new-actions[b-xhymkmuumi] {
        flex-direction: column-reverse;
    }
}
/* /Components/Pages/Dnd/DndCampaignParty.razor.rz.scp.css */
.dnd-party-assign-select[b-l1rdwqappm]{flex:1 1 20rem}.dnd-party-grid[b-l1rdwqappm]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.dnd-party-card[b-l1rdwqappm]{display:flex;flex-direction:column;gap:.65rem}.dnd-party-card h2[b-l1rdwqappm]{margin:0;font-size:var(--text-lg)}.dnd-party-card h2 a[b-l1rdwqappm]{color:inherit}.dnd-party-summary[b-l1rdwqappm]{white-space:pre-wrap;line-height:1.5}.dnd-party-sharing[b-l1rdwqappm]{margin-top:auto;padding-top:.65rem;border-top:1px solid var(--color-border)}.dnd-party-sharing>summary[b-l1rdwqappm]{cursor:pointer;color:var(--color-accent);font-size:var(--text-sm);margin-bottom:.65rem}.dnd-party-roster[b-l1rdwqappm]{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem;list-style:none;padding:0}.dnd-party-roster li[b-l1rdwqappm]{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(0,0,0,.08)}@media(max-width:390px){.dnd-party-grid[b-l1rdwqappm]{grid-template-columns:1fr}.dnd-party-roster[b-l1rdwqappm]{grid-template-columns:1fr}}
/* /Components/Pages/Dnd/DndCampaignWorkspace.razor.rz.scp.css */
.dnd-camp-workspace[b-f2hm67kf6u] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

/* Hero */
.dnd-camp-hero[b-f2hm67kf6u] {
    position: relative;
    overflow: hidden;
    min-height: 190px;
    padding: 0;
    border-color: rgba(88, 166, 255, 0.2);
    background:
        radial-gradient(circle at top left, rgba(88, 166, 255, 0.15), transparent 42%),
        linear-gradient(135deg, rgba(19, 22, 31, 0.98), rgba(14, 16, 23, 0.98));
}

.dnd-camp-hero-media[b-f2hm67kf6u],
.dnd-camp-hero-fallback[b-f2hm67kf6u],
.dnd-camp-hero-scrim[b-f2hm67kf6u] {
    position: absolute;
    inset: 0;
}

.dnd-camp-hero-media[b-f2hm67kf6u] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dnd-camp-hero-fallback[b-f2hm67kf6u] {
    background:
        radial-gradient(circle at 20% 25%, rgba(88, 166, 255, 0.28), transparent 26%),
        radial-gradient(circle at 80% 20%, rgba(139, 92, 246, 0.2), transparent 22%),
        linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(13, 16, 22, 0.95));
}

.dnd-camp-hero-scrim[b-f2hm67kf6u] {
    background:
        linear-gradient(180deg, rgba(9, 10, 14, 0.15), rgba(9, 10, 14, 0.82)),
        linear-gradient(90deg, rgba(11, 13, 18, 0.88), rgba(11, 13, 18, 0.4));
}

.dnd-camp-hero-content[b-f2hm67kf6u] {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: var(--space-xl);
    min-height: 190px;
    padding: var(--space-xl);
}

.dnd-camp-setup[b-f2hm67kf6u]{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border));background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 6%,var(--color-bg-elevated)),var(--color-bg-elevated))}
.dnd-camp-setup-grid[b-f2hm67kf6u]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-sm)}
.dnd-camp-setup-task[b-f2hm67kf6u]{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;background:rgba(0,0,0,.08)}
.dnd-camp-setup-task:hover[b-f2hm67kf6u]{border-color:var(--color-accent)}.dnd-camp-setup-task.complete[b-f2hm67kf6u]{opacity:.55}.dnd-camp-setup-task>i[b-f2hm67kf6u]{width:18px;height:18px;margin-top:.1rem;color:var(--color-accent)}.dnd-camp-setup-task span[b-f2hm67kf6u],.dnd-camp-setup-task small[b-f2hm67kf6u]{display:block}.dnd-camp-setup-task small[b-f2hm67kf6u]{margin-top:.15rem;color:var(--color-text-muted);line-height:1.35}
.dnd-camp-quick-actions[b-f2hm67kf6u]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}

.dnd-camp-hero-copy[b-f2hm67kf6u] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 720px;
}

.dnd-camp-hero-badges[b-f2hm67kf6u],
.dnd-camp-hero-stats[b-f2hm67kf6u] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.dnd-camp-hero h1[b-f2hm67kf6u],
.dnd-camp-hero-title-input[b-f2hm67kf6u] {
    margin: 0;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    letter-spacing: -0.03em;
}

.dnd-camp-hero-title-input[b-f2hm67kf6u] {
    background: rgba(15, 17, 23, 0.55);
    border-color: rgba(255, 255, 255, 0.15);
    color: inherit;
}

.dnd-camp-hero-pitch[b-f2hm67kf6u] {
    margin: 0;
    font-size: var(--text-md);
    color: var(--color-text-secondary);
    max-width: 60ch;
}

.dnd-camp-hero-pitch-empty[b-f2hm67kf6u] {
    font-style: italic;
    opacity: 0.75;
}

.dnd-camp-hero-stats span[b-f2hm67kf6u] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.7rem;
    border-radius: var(--radius-full);
    background: rgba(15, 17, 23, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
}

.dnd-camp-hero-actions[b-f2hm67kf6u] {
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    gap: var(--space-sm);
    min-width: 11rem;
}

/* Dashboard cards */
.dnd-camp-dash-grid[b-f2hm67kf6u] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-md);
}

.dnd-camp-dash-card[b-f2hm67kf6u] {
    padding: var(--space-lg);
}

.dnd-camp-dash-label[b-f2hm67kf6u] {
    display: block;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-muted);
    margin-bottom: var(--space-xs);
}

.dnd-camp-dash-value[b-f2hm67kf6u] {
    margin: 0;
    font-size: var(--text-md);
    font-weight: 600;
    line-height: 1.35;
}

/* Preview grid */
.dnd-camp-preview-grid[b-f2hm67kf6u] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-md);
}

.dnd-camp-recap-card h3[b-f2hm67kf6u],
.dnd-camp-placeholder h3[b-f2hm67kf6u] {
    margin: 0 0 var(--space-sm);
    font-size: var(--text-md);
}

.dnd-camp-recap-card[b-f2hm67kf6u] {
    padding: var(--space-lg);
}

.dnd-camp-mini-list[b-f2hm67kf6u] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dnd-camp-mini-list li[b-f2hm67kf6u] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.dnd-camp-inline-form[b-f2hm67kf6u] {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
}

.dnd-camp-inline-form .form-control[b-f2hm67kf6u] {
    min-width: 0;
}

.dnd-camp-placeholder[b-f2hm67kf6u] {
    padding: var(--space-lg);
    border-style: dashed;
    border-color: rgba(110, 116, 135, 0.35);
    background: rgba(110, 116, 135, 0.04);
}

.dnd-camp-placeholder-icon[b-f2hm67kf6u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-md);
    background: rgba(88, 166, 255, 0.12);
    color: var(--color-info);
    margin-bottom: var(--space-sm);
}

/* Sections */
.dnd-camp-section-head[b-f2hm67kf6u] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-border);
}

.dnd-camp-section-titles[b-f2hm67kf6u] {
    display: flex;
    gap: var(--space-md);
    align-items: flex-start;
}

.dnd-camp-section-icon[b-f2hm67kf6u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-md);
    background: rgba(88, 166, 255, 0.12);
    color: var(--color-info);
    flex-shrink: 0;
}

.dnd-camp-section h2[b-f2hm67kf6u] {
    margin: 0;
    font-size: var(--text-lg);
}

.dnd-camp-gm-only[b-f2hm67kf6u] {
    border-color: rgba(239, 68, 68, 0.25);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.04), transparent 40%);
}

/* Form layout */
.dnd-camp-form-grid[b-f2hm67kf6u] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-md);
}

.dnd-camp-notes-grid[b-f2hm67kf6u] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space-lg);
}

.dnd-camp-source-card[b-f2hm67kf6u] {
    padding: var(--space-lg);
    border-color: rgba(88, 166, 255, 0.18);
    background: rgba(88, 166, 255, 0.04);
}

.dnd-camp-source-head[b-f2hm67kf6u] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
}

.dnd-camp-source-head h3[b-f2hm67kf6u] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-md);
}

.dnd-camp-source-grid[b-f2hm67kf6u] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-sm);
}

.dnd-camp-source-option[b-f2hm67kf6u] {
    display: flex;
    gap: var(--space-sm);
    align-items: flex-start;
    min-height: 72px;
    padding: var(--space-sm);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.02);
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.dnd-camp-source-option.default[b-f2hm67kf6u],
.dnd-camp-source-option.selected[b-f2hm67kf6u] {
    border-color: rgba(88, 166, 255, 0.45);
    background: rgba(88, 166, 255, 0.08);
}

.dnd-camp-source-option input[b-f2hm67kf6u] {
    margin: 0.05rem 0 0;
}

.dnd-camp-source-option:hover[b-f2hm67kf6u] {
    border-color: rgba(212, 168, 67, 0.34);
    background: rgba(255, 255, 255, 0.04);
}

.dnd-camp-source-option:has(input[type="checkbox"]:checked)[b-f2hm67kf6u] {
    border-color: rgba(212, 168, 67, 0.5);
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.12), rgba(88, 166, 255, 0.08));
    box-shadow: inset 3px 0 0 var(--color-accent);
}

.dnd-camp-source-option strong[b-f2hm67kf6u],
.dnd-camp-source-option small[b-f2hm67kf6u] {
    display: block;
}

.dnd-camp-source-option small[b-f2hm67kf6u] {
    margin-top: 0.2rem;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    line-height: 1.35;
}

.dnd-camp-field-wide[b-f2hm67kf6u] {
    grid-column: 1 / -1;
}

.dnd-camp-field-value[b-f2hm67kf6u] {
    font-size: var(--text-sm);
    line-height: 1.5;
    white-space: pre-wrap;
}

.dnd-camp-field-value.is-empty[b-f2hm67kf6u] {
    color: var(--color-text-muted);
    font-style: italic;
}

.dnd-camp-meta-row[b-f2hm67kf6u] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
}

/* Announcements */
.dnd-camp-pinned[b-f2hm67kf6u] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dnd-camp-announcement-list[b-f2hm67kf6u] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dnd-camp-announcement[b-f2hm67kf6u] {
    padding: var(--space-lg);
}

.dnd-camp-announcement-pinned[b-f2hm67kf6u] {
    border-color: rgba(212, 168, 67, 0.35);
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.08), transparent);
}

.dnd-camp-announcement-head[b-f2hm67kf6u] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);
}

.dnd-camp-announcement h3[b-f2hm67kf6u] {
    font-size: var(--text-md);
    margin: 0 0 var(--space-xs);
}

.dnd-camp-announcement-form[b-f2hm67kf6u] {
    padding-top: var(--space-lg);
    border-top: 1px solid var(--color-border);
}

.dnd-camp-checkbox-row[b-f2hm67kf6u] {
    display: flex;
    align-items: flex-end;
    padding-bottom: var(--space-sm);
}

.dnd-camp-checkbox-row label[b-f2hm67kf6u] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: 0.35rem 0.65rem 0.35rem 0.35rem;
    border: 1px solid rgba(110, 116, 135, 0.28);
    border-radius: var(--radius-full);
    background: rgba(15, 17, 23, 0.42);
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.dnd-camp-checkbox-row label:hover[b-f2hm67kf6u] {
    border-color: rgba(212, 168, 67, 0.42);
    background: rgba(30, 32, 40, 0.84);
    color: var(--color-text-primary);
}

.dnd-camp-checkbox-row label:has(input[type="checkbox"]:checked)[b-f2hm67kf6u] {
    border-color: rgba(212, 168, 67, 0.5);
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.14), rgba(63, 185, 80, 0.08));
    color: var(--color-text-primary);
}

.dnd-camp-checkbox-row input[type="checkbox"][b-f2hm67kf6u] {
    margin: 0;
}

/* Assets */
.dnd-camp-assets-grid[b-f2hm67kf6u] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-md);
}

.dnd-camp-asset-slot[b-f2hm67kf6u] {
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dnd-camp-asset-preview[b-f2hm67kf6u] {
    width: 100%;
    max-height: 120px;
    object-fit: cover;
    border-radius: var(--radius-md);
}

.dnd-camp-asset-icon[b-f2hm67kf6u] {
    max-height: 64px;
    max-width: 64px;
    object-fit: contain;
}

.dnd-camp-asset-placeholder[b-f2hm67kf6u] {
    border-style: dashed;
}

/* Activity */
.dnd-camp-activity-list[b-f2hm67kf6u] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dnd-camp-activity-list li[b-f2hm67kf6u] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: var(--space-sm) var(--space-md);
    align-items: baseline;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--color-border);
}

.dnd-camp-activity-type[b-f2hm67kf6u] {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-info);
    font-weight: 600;
}

.dnd-camp-new-form[b-f2hm67kf6u] {
    max-width: 640px;
    padding: var(--space-xl);
}

@media (max-width: 768px) {
    .dnd-camp-hero-content[b-f2hm67kf6u] {
        flex-direction: column;
        padding: var(--space-lg);
        min-height: auto;
    }

    .dnd-camp-hero-actions[b-f2hm67kf6u] {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .dnd-camp-activity-list li[b-f2hm67kf6u] {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }
    .dnd-camp-quick-actions[b-f2hm67kf6u]{align-items:flex-start;flex-direction:column}
}
/* /Components/Pages/Dnd/DndCatalogManager.razor.rz.scp.css */
.dnd-catalog-page[b-4mrk69rrst] {
    max-width: 1000px;
    margin: 0 auto;
}

.dnd-catalog-upload-grid[b-4mrk69rrst] {
    display: grid;
    gap: var(--space-md);
}

@media (min-width: 768px) {
    .dnd-catalog-upload-grid[b-4mrk69rrst] {
        grid-template-columns: 1fr 1fr 1fr;
        align-items: end;
    }
}

.dnd-catalog-table-wrap[b-4mrk69rrst] {
    overflow-x: auto;
}

.dnd-catalog-table[b-4mrk69rrst] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.dnd-catalog-table th[b-4mrk69rrst],
.dnd-catalog-table td[b-4mrk69rrst] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--color-border-subtle);
    text-align: left;
}

.dnd-catalog-table th[b-4mrk69rrst] {
    color: var(--color-text-muted);
    font-weight: 600;
}
/* /Components/Pages/Dnd/DndCharacterBuilder.razor.rz.scp.css */
.dnd-builder[b-w2gvemdtqy] {
    max-width: 980px;
    margin: 0 auto;
}

.dnd-section-kicker[b-w2gvemdtqy] {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
}

.dnd-random-card[b-w2gvemdtqy],
.dnd-builder-progress[b-w2gvemdtqy],
.dnd-generated-status[b-w2gvemdtqy],
.dnd-review-card[b-w2gvemdtqy] {
    padding: var(--space-md);
}

.dnd-random-heading[b-w2gvemdtqy],
.dnd-builder-progress-header[b-w2gvemdtqy],
.dnd-generated-status-main[b-w2gvemdtqy],
.dnd-review-header[b-w2gvemdtqy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
}

.dnd-random-heading h2[b-w2gvemdtqy],
.dnd-builder-progress-header h2[b-w2gvemdtqy],
.dnd-generated-status-main h2[b-w2gvemdtqy],
.dnd-review-header h2[b-w2gvemdtqy] {
    margin: 0;
    font-size: var(--text-lg);
}

.dnd-random-toggle[b-w2gvemdtqy] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
}

.dnd-random-panel[b-w2gvemdtqy] {
    margin-top: var(--space-md);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-border-subtle);
}

.dnd-random-control-grid[b-w2gvemdtqy] {
    display: grid;
    grid-template-columns: minmax(110px, 0.7fr) repeat(3, minmax(160px, 1fr));
    gap: var(--space-md);
    align-items: end;
}

.dnd-random-options-row[b-w2gvemdtqy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-top: var(--space-md);
}

.dnd-toggle-field[b-w2gvemdtqy] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.dnd-toggle-field input[b-w2gvemdtqy] {
    margin: 0;
}

.dnd-random-result[b-w2gvemdtqy] {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) 1fr;
    gap: var(--space-md);
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
}

.dnd-random-result h3[b-w2gvemdtqy] {
    margin: 0;
    font-size: var(--text-md);
}

.dnd-inline-alert[b-w2gvemdtqy] {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.dnd-inline-alert strong[b-w2gvemdtqy] {
    display: block;
    color: var(--color-text-primary);
    margin-bottom: 0.25rem;
}

.dnd-inline-alert p[b-w2gvemdtqy],
.dnd-inline-alert ul[b-w2gvemdtqy] {
    margin: 0;
}

.dnd-inline-alert ul[b-w2gvemdtqy] {
    padding-left: 1.25rem;
}

.dnd-inline-alert-warning[b-w2gvemdtqy] {
    border-color: var(--color-warning, var(--color-border-strong));
}

.dnd-inline-alert-danger[b-w2gvemdtqy] {
    border-color: var(--color-danger, var(--color-border-strong));
}

.dnd-generated-status[b-w2gvemdtqy] {
    border-color: var(--color-accent-muted);
}

.dnd-generated-pill[b-w2gvemdtqy],
.dnd-review-status[b-w2gvemdtqy] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.25rem 0.65rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
    font-weight: 700;
}

.dnd-review-status.ready[b-w2gvemdtqy] {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.dnd-review-status.blocked[b-w2gvemdtqy] {
    border-color: var(--color-danger, var(--color-border-strong));
    color: var(--color-danger, var(--color-text-primary));
}

.dnd-summary-metrics[b-w2gvemdtqy] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-md);
}

.dnd-summary-metrics span[b-w2gvemdtqy] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 30px;
    padding: 0.3rem 0.6rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
}

.dnd-summary-metrics strong[b-w2gvemdtqy] {
    color: var(--color-text-primary);
}

.dnd-summary-metrics-compact[b-w2gvemdtqy] {
    margin-top: 0;
}

.dnd-builder-progress-count[b-w2gvemdtqy] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
    font-weight: 700;
}

.dnd-builder-progress-count small[b-w2gvemdtqy] {
    color: var(--color-text-muted);
    font-weight: 600;
}

.dnd-builder-steps[b-w2gvemdtqy] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    padding: 0;
    margin-top: var(--space-md);
}

.dnd-builder-step[b-w2gvemdtqy] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    min-height: 42px;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    font-size: var(--text-xs);
    cursor: pointer;
    color: var(--color-text-secondary);
    text-align: left;
}

.dnd-builder-step.active[b-w2gvemdtqy] {
    border-color: var(--color-accent);
    color: var(--color-text-primary);
    background: var(--color-accent-muted);
    font-weight: 600;
}

.dnd-builder-step.done:not(.active)[b-w2gvemdtqy] {
    color: var(--color-text-primary);
    opacity: 0.85;
}

.dnd-builder-step.locked[b-w2gvemdtqy] {
    opacity: 0.55;
}

.dnd-builder-step.skipped[b-w2gvemdtqy] {
    cursor: default;
    color: var(--color-text-muted);
    background: var(--color-bg-base);
    border-style: dashed;
}

.dnd-builder-step:disabled[b-w2gvemdtqy] {
    cursor: not-allowed;
}

.dnd-builder-step-num[b-w2gvemdtqy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: var(--radius-full);
    background: var(--color-bg-surface);
    font-weight: 700;
}

.dnd-builder-step-text[b-w2gvemdtqy] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.dnd-builder-step-text small[b-w2gvemdtqy] {
    color: var(--color-text-muted);
    font-size: 0.68rem;
    font-weight: 600;
}

.dnd-picker-grid[b-w2gvemdtqy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-sm);
}

.dnd-picker-card[b-w2gvemdtqy] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    padding: var(--space-md);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    color: var(--color-text-primary);
    text-align: left;
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}

.dnd-picker-card:hover[b-w2gvemdtqy] {
    border-color: var(--color-accent-muted);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-xs);
}

.dnd-picker-card.selected[b-w2gvemdtqy] {
    border-color: var(--color-accent);
    background: var(--color-accent-muted);
    box-shadow: 0 0 0 1px var(--color-accent-muted);
}

.dnd-picker-title[b-w2gvemdtqy] {
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--color-text-primary);
}

.dnd-picker-card.selected .dnd-picker-title[b-w2gvemdtqy] {
    color: var(--color-accent);
}

.dnd-picker-meta[b-w2gvemdtqy] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    line-height: 1.4;
}

.dnd-picker-detail[b-w2gvemdtqy] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    line-height: 1.4;
}

.dnd-picker-summary[b-w2gvemdtqy] {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.dnd-picker-card.selected .dnd-picker-meta[b-w2gvemdtqy],
.dnd-picker-card.selected .dnd-picker-detail[b-w2gvemdtqy],
.dnd-picker-card.selected .dnd-picker-summary[b-w2gvemdtqy] {
    color: var(--color-text-primary);
    opacity: 0.9;
}

.dnd-equipment-builder-filters[b-w2gvemdtqy] {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(130px, 1fr));
    gap: var(--space-sm);
    align-items: end;
}

.dnd-equipment-builder-search[b-w2gvemdtqy] {
    min-width: 0;
}

.dnd-equipment-builder-grid[b-w2gvemdtqy] {
    max-height: 520px;
    overflow: auto;
    padding-right: 0.25rem;
}

.dnd-equipment-builder-tags[b-w2gvemdtqy] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    font-size: var(--text-xs);
    color: var(--color-text-muted);
}

.dnd-equipment-builder-tags span[b-w2gvemdtqy] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 0.12rem 0.35rem;
}

.dnd-equipment-builder-empty[b-w2gvemdtqy] {
    min-height: 220px;
}

.dnd-equipment-summary[b-w2gvemdtqy] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.dnd-picker-card-wrap[b-w2gvemdtqy] {
    position: relative;
}

.dnd-picker-card-wrap.selected .dnd-picker-card[b-w2gvemdtqy] {
    border-color: var(--color-accent);
}

.dnd-picker-detail-link[b-w2gvemdtqy] {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-bg-elevated);
    color: var(--color-text-muted);
    text-decoration: none;
    z-index: 1;
}

.dnd-picker-detail-link:hover[b-w2gvemdtqy] {
    border-color: var(--color-accent);
    color: var(--color-accent);
    text-decoration: none;
}

.dnd-loadout-list[b-w2gvemdtqy] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dnd-loadout-row[b-w2gvemdtqy] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 72px auto;
    gap: var(--space-sm);
    align-items: center;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
}

.dnd-loadout-name[b-w2gvemdtqy] {
    font-weight: 600;
    min-width: 0;
    overflow-wrap: anywhere;
}

.dnd-loadout-qty[b-w2gvemdtqy] {
    width: 72px;
    min-width: 72px;
    padding: 0.35rem 0.5rem;
}

.dnd-loadout-equipped[b-w2gvemdtqy] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.55rem 0.25rem 0.25rem;
    border: 1px solid rgba(110, 116, 135, 0.28);
    border-radius: var(--radius-full);
    background: rgba(15, 17, 23, 0.42);
    margin: 0;
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.dnd-loadout-equipped:hover[b-w2gvemdtqy] {
    border-color: rgba(212, 168, 67, 0.42);
    background: rgba(30, 32, 40, 0.84);
    color: var(--color-text-primary);
}

.dnd-loadout-equipped:has(input[type="checkbox"]:checked)[b-w2gvemdtqy] {
    border-color: rgba(212, 168, 67, 0.5);
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.14), rgba(63, 185, 80, 0.08));
    color: var(--color-text-primary);
}

.dnd-loadout-equipped input[type="checkbox"][b-w2gvemdtqy] {
    margin: 0;
}

.dnd-asi-grid[b-w2gvemdtqy] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--space-md);
}

.dnd-builder-nav[b-w2gvemdtqy] {
    display: flex;
    gap: var(--space-sm);
    justify-content: flex-end;
}

.dnd-method-tabs[b-w2gvemdtqy] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.dnd-method-tab[b-w2gvemdtqy] {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
}

.dnd-method-tab.active[b-w2gvemdtqy] {
    border-color: var(--color-accent);
    background: var(--color-accent-muted);
    color: var(--color-text-primary);
    font-weight: 600;
}

.dnd-method-tab.disabled[b-w2gvemdtqy] {
    opacity: 0.5;
    cursor: not-allowed;
}

button.dnd-method-tab[b-w2gvemdtqy] {
    cursor: pointer;
}

.dnd-picker-card.disabled[b-w2gvemdtqy] {
    opacity: 0.5;
    cursor: not-allowed;
}

.dnd-trait-list[b-w2gvemdtqy] {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--color-text-secondary);
}

.dnd-trait-list li + li[b-w2gvemdtqy] {
    margin-top: 0.35rem;
}

.dnd-review-error[b-w2gvemdtqy] {
    margin-top: var(--space-md);
}

.dnd-review-dashboard[b-w2gvemdtqy] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    margin-top: var(--space-md);
}

.dnd-review-section[b-w2gvemdtqy] {
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
}

.dnd-review-section-wide[b-w2gvemdtqy] {
    grid-column: 1 / -1;
}

.dnd-review-section h3[b-w2gvemdtqy] {
    margin: 0 0 var(--space-sm);
    font-size: var(--text-sm);
}

.dnd-review-facts[b-w2gvemdtqy] {
    display: grid;
    gap: var(--space-xs);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.dnd-review-facts span[b-w2gvemdtqy] {
    display: flex;
    justify-content: space-between;
    gap: var(--space-md);
    border-bottom: 1px solid var(--color-border-subtle);
    padding-bottom: 0.35rem;
}

.dnd-review-facts span:last-child[b-w2gvemdtqy] {
    border-bottom: 0;
    padding-bottom: 0;
}

.dnd-review-facts strong[b-w2gvemdtqy] {
    color: var(--color-text-muted);
}

.dnd-stat-grid[b-w2gvemdtqy],
.dnd-ability-review-grid[b-w2gvemdtqy] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: var(--space-sm);
}

.dnd-stat-tile[b-w2gvemdtqy],
.dnd-ability-review-tile[b-w2gvemdtqy] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 70px;
    padding: var(--space-sm);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-md);
    background: var(--color-bg-surface);
}

.dnd-stat-tile span[b-w2gvemdtqy],
.dnd-ability-review-tile span[b-w2gvemdtqy] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
}

.dnd-stat-tile strong[b-w2gvemdtqy],
.dnd-ability-review-tile strong[b-w2gvemdtqy] {
    color: var(--color-text-primary);
    font-size: var(--text-lg);
    line-height: 1.1;
}

.dnd-ability-review-tile small[b-w2gvemdtqy] {
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
}

@media (max-width: 820px) {
    .dnd-random-control-grid[b-w2gvemdtqy],
    .dnd-random-result[b-w2gvemdtqy],
    .dnd-review-dashboard[b-w2gvemdtqy],
    .dnd-equipment-builder-filters[b-w2gvemdtqy],
    .dnd-loadout-row[b-w2gvemdtqy] {
        grid-template-columns: 1fr;
    }

    .dnd-random-heading[b-w2gvemdtqy],
    .dnd-builder-progress-header[b-w2gvemdtqy],
    .dnd-generated-status-main[b-w2gvemdtqy],
    .dnd-review-header[b-w2gvemdtqy] {
        flex-direction: column;
        align-items: stretch;
    }

    .dnd-builder-progress-count[b-w2gvemdtqy] {
        align-items: flex-start;
    }

    .dnd-random-options-row[b-w2gvemdtqy] {
        align-items: stretch;
        flex-direction: column;
    }

    .dnd-random-options-row .btn[b-w2gvemdtqy] {
        justify-content: center;
    }
}

@media (max-width: 560px) {
    .dnd-builder-nav[b-w2gvemdtqy] {
        flex-direction: column-reverse;
    }

    .dnd-builder-nav .btn[b-w2gvemdtqy] {
        width: 100%;
        justify-content: center;
    }

    .dnd-builder-step[b-w2gvemdtqy] {
        width: 100%;
    }

    .dnd-summary-metrics span[b-w2gvemdtqy] {
        flex: 1 1 140px;
    }

    .dnd-review-facts span[b-w2gvemdtqy] {
        flex-direction: column;
        gap: 0.2rem;
    }
}
/* /Components/Pages/Dnd/DndCharacterList.razor.rz.scp.css */
.dnd-char-page[b-g9h9qo7w7i] {
    max-width: 1100px;
    margin: 0 auto;
}

.dnd-char-grid[b-g9h9qo7w7i] {
    margin-top: var(--space-md);
}

.dnd-char-card[b-g9h9qo7w7i] {
    text-decoration: none;
    color: inherit;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.dnd-char-card:hover[b-g9h9qo7w7i] {
    border-color: var(--color-accent-muted);
    box-shadow: var(--shadow-md);
    text-decoration: none;
    color: inherit;
}

.dnd-char-card-name[b-g9h9qo7w7i] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-md);
}
/* /Components/Pages/Dnd/DndCreatureDetail.razor.rz.scp.css */
.reference-page[b-gcqdz8lujl] {
    max-width: 1180px;
    margin: 0 auto;
}

.reference-detail-hero[b-gcqdz8lujl] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.reference-badges[b-gcqdz8lujl],
.reference-source-row[b-gcqdz8lujl],
.reference-statline[b-gcqdz8lujl] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    align-items: center;
}

.reference-statbox[b-gcqdz8lujl] {
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-surface);
}

.reference-statbox span[b-gcqdz8lujl] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
}

.reference-statbox strong[b-gcqdz8lujl] {
    color: var(--color-text-primary);
    font-size: var(--text-lg);
}

.reference-detail-grid[b-gcqdz8lujl] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: var(--space-lg);
    align-items: start;
}

.reference-text-block[b-gcqdz8lujl],
.reference-side-card[b-gcqdz8lujl] {
    margin-bottom: var(--space-md);
}

.reference-text-block h2[b-gcqdz8lujl],
.reference-side-card h2[b-gcqdz8lujl] {
    margin-top: 0;
    font-size: var(--text-md);
}

.reference-side-field[b-gcqdz8lujl] {
    border-top: 1px solid var(--color-border-subtle);
    padding-top: var(--space-sm);
    margin-top: var(--space-sm);
}

.reference-side-field span[b-gcqdz8lujl] {
    display: block;
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
}

.reference-side-field p[b-gcqdz8lujl] {
    margin: var(--space-xs) 0 0;
    font-size: var(--text-sm);
}

@media (max-width: 860px) {
    .reference-detail-grid[b-gcqdz8lujl] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Dnd/DndDashboard.razor.rz.scp.css */
.dnd-dashboard-card[b-10ep4jtt7k] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    text-decoration: none;
    color: inherit;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.dnd-dashboard-card:hover[b-10ep4jtt7k] {
    border-color: var(--color-accent-muted);
    box-shadow: var(--shadow-md);
    text-decoration: none;
    color: inherit;
}

.dnd-dashboard-card h2[b-10ep4jtt7k] {
    margin: 0;
    font-size: var(--text-md);
}

.dnd-dashboard-card-icon[b-10ep4jtt7k] {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-md);
    background: var(--color-accent-muted);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.dnd-dashboard-card-muted[b-10ep4jtt7k] {
    opacity: 0.85;
}

.dnd-dashboard-card-muted .dnd-dashboard-card-icon[b-10ep4jtt7k] {
    background: var(--color-bg-elevated);
    color: var(--color-text-muted);
}
/* /Components/Pages/Dnd/DndEquipmentCompendium.razor.rz.scp.css */
/* Equipment compendium-specific overrides; shared reference styles in wwwroot/css/dnd-reference.css */
/* /Components/Pages/Dnd/DndGrimoire.razor.rz.scp.css */
.grimoire-page[b-4c74phxwp1] {
    max-width: 1200px;
    margin: 0 auto;
}

.grimoire-spell-card[b-4c74phxwp1] {
    padding: 0;
    overflow: hidden;
    min-height: 0;
}

.grimoire-spell-art[b-4c74phxwp1] {
    position: relative;
    aspect-ratio: 1;
    background: var(--color-bg-elevated);
    overflow: hidden;
}

.grimoire-spell-art-img[b-4c74phxwp1] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.grimoire-spell-art-fallback[b-4c74phxwp1] {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--color-bg-elevated), var(--color-bg-surface));
    color: var(--color-accent);
}

.grimoire-spell-art.is-broken .grimoire-spell-art-fallback[b-4c74phxwp1] {
    display: flex;
}

.grimoire-spell-art-fallback i[b-4c74phxwp1],
.grimoire-spell-art-fallback svg[b-4c74phxwp1] {
    width: 48px;
    height: 48px;
    opacity: 0.55;
}

.grimoire-spell-card .reference-card-head[b-4c74phxwp1],
.grimoire-spell-card .reference-card-link .reference-card-head[b-4c74phxwp1],
.grimoire-spell-card .text-muted[b-4c74phxwp1],
.grimoire-spell-card .reference-card-link .text-muted[b-4c74phxwp1],
.grimoire-spell-card .reference-card-summary[b-4c74phxwp1],
.grimoire-spell-card .reference-card-link .reference-card-summary[b-4c74phxwp1],
.grimoire-spell-card .reference-source-row[b-4c74phxwp1],
.grimoire-spell-card .reference-card-link .reference-source-row[b-4c74phxwp1] {
    padding-left: var(--space-lg);
    padding-right: var(--space-lg);
}

.grimoire-spell-card .reference-card-head[b-4c74phxwp1],
.grimoire-spell-card .reference-card-link .reference-card-head[b-4c74phxwp1] {
    padding-top: var(--space-md);
}

.grimoire-spell-card .reference-source-row[b-4c74phxwp1],
.grimoire-spell-card .reference-card-link .reference-source-row[b-4c74phxwp1] {
    padding-bottom: var(--space-lg);
}

.grimoire-breadcrumb[b-4c74phxwp1] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.grimoire-breadcrumb a[b-4c74phxwp1] {
    color: var(--color-text-muted);
    text-decoration: none;
    font-weight: 500;
}

.grimoire-breadcrumb a:hover[b-4c74phxwp1] {
    color: var(--color-accent);
    text-decoration: none;
}

.grimoire-breadcrumb-sep[b-4c74phxwp1] {
    opacity: 0.45;
}

.grimoire-hero[b-4c74phxwp1] {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    margin-bottom: var(--space-xl);
    padding: var(--space-xl);
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.grimoire-hero-icon[b-4c74phxwp1] {
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    border-radius: var(--radius-md);
    background: var(--color-accent-muted);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.grimoire-hero-copy[b-4c74phxwp1] {
    flex: 1;
    min-width: 0;
}

.grimoire-hero-copy h2[b-4c74phxwp1] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-lg);
}

.grimoire-hero-copy p[b-4c74phxwp1] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
}

.grimoire-hero-actions[b-4c74phxwp1] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.grimoire-tabs[b-4c74phxwp1] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
}

.grimoire-tab[b-4c74phxwp1] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    min-height: 38px;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-surface);
    color: var(--color-text-secondary);
    font: inherit;
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
}

.grimoire-tab:hover[b-4c74phxwp1],
.grimoire-tab.active[b-4c74phxwp1] {
    border-color: var(--color-accent-muted);
    background: var(--color-accent-muted);
    color: var(--color-accent);
}

.grimoire-tab-count[b-4c74phxwp1] {
    min-width: 1.7rem;
    padding: 0.1rem 0.4rem;
    border-radius: var(--radius-full);
    background: var(--color-bg-elevated);
    color: var(--color-text-muted);
    text-align: center;
    font-size: var(--text-xs);
    font-variant-numeric: tabular-nums;
}

.grimoire-toolbar[b-4c74phxwp1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
    padding: var(--space-lg);
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.grimoire-search[b-4c74phxwp1] {
    position: relative;
}

.grimoire-search-icon[b-4c74phxwp1] {
    position: absolute;
    top: 50%;
    left: 0.85rem;
    transform: translateY(-50%);
    color: var(--color-text-muted);
    pointer-events: none;
}

.grimoire-search-input[b-4c74phxwp1] {
    width: 100%;
    padding: 0.6rem 0.85rem 0.6rem 2.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    color: var(--color-text-primary);
    font: inherit;
    font-size: var(--text-sm);
}

.grimoire-search-input:focus[b-4c74phxwp1] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}

.grimoire-filter-grid[b-4c74phxwp1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: var(--space-md);
}

.grimoire-filter-grid label[b-4c74phxwp1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.grimoire-filter-grid label > span[b-4c74phxwp1] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.grimoire-toolbar-actions[b-4c74phxwp1] {
    display: flex;
    justify-content: flex-end;
}

.grimoire-results[b-4c74phxwp1] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--space-md);
}

.grimoire-card[b-4c74phxwp1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-height: 220px;
    padding: var(--space-lg);
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xs);
}

.grimoire-card-top[b-4c74phxwp1],
.grimoire-meta[b-4c74phxwp1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-xs);
}

.grimoire-card h2[b-4c74phxwp1] {
    margin: 0;
    font-size: var(--text-md);
    line-height: var(--leading-tight);
}

.grimoire-card h2 a[b-4c74phxwp1] {
    color: var(--color-text-primary);
    text-decoration: none;
}

.grimoire-card h2 a:hover[b-4c74phxwp1] {
    color: var(--color-accent);
    text-decoration: none;
}

.grimoire-subtitle[b-4c74phxwp1],
.grimoire-summary[b-4c74phxwp1] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
}

.grimoire-summary[b-4c74phxwp1] {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.grimoire-meta[b-4c74phxwp1] {
    margin-top: auto;
    padding-top: var(--space-sm);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.grimoire-meta a[b-4c74phxwp1] {
    color: var(--color-accent);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 700px) {
    .grimoire-hero[b-4c74phxwp1] {
        align-items: flex-start;
        flex-direction: column;
    }

    .grimoire-hero-actions[b-4c74phxwp1],
    .grimoire-toolbar-actions[b-4c74phxwp1] {
        width: 100%;
        justify-content: flex-start;
    }
}
/* /Components/Pages/Dnd/DndGrimoireDetail.razor.rz.scp.css */
.grimoire-detail-page[b-2lojrm477p] {
    max-width: 1100px;
    margin: 0 auto;
}

.grimoire-breadcrumb[b-2lojrm477p] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.grimoire-breadcrumb a[b-2lojrm477p] {
    color: var(--color-text-muted);
    text-decoration: none;
    font-weight: 500;
}

.grimoire-breadcrumb a:hover[b-2lojrm477p] {
    color: var(--color-accent);
    text-decoration: none;
}

.grimoire-breadcrumb-sep[b-2lojrm477p] {
    opacity: 0.45;
}

.grimoire-title-row[b-2lojrm477p] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.grimoire-detail-grid[b-2lojrm477p] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: var(--space-xl);
    align-items: start;
}

.grimoire-detail-main[b-2lojrm477p],
.grimoire-detail-side[b-2lojrm477p] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
}

.grimoire-detail-section[b-2lojrm477p],
.grimoire-source-panel[b-2lojrm477p] {
    padding: var(--space-lg);
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xs);
}

.grimoire-detail-section h2[b-2lojrm477p],
.grimoire-source-panel h2[b-2lojrm477p] {
    margin: 0 0 var(--space-md);
    color: var(--color-text-primary);
    font-size: var(--text-md);
}

.grimoire-detail-section p[b-2lojrm477p] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
}

.grimoire-source-panel dl[b-2lojrm477p] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin: 0;
}

.grimoire-source-panel dl div[b-2lojrm477p] {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: var(--space-sm);
    align-items: baseline;
}

.grimoire-source-panel dt[b-2lojrm477p] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.grimoire-source-panel dd[b-2lojrm477p] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    overflow-wrap: anywhere;
}

.grimoire-source-panel a[b-2lojrm477p] {
    color: var(--color-accent);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 900px) {
    .grimoire-detail-grid[b-2lojrm477p] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .grimoire-source-panel dl div[b-2lojrm477p] {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}
/* /Components/Pages/Dnd/DndMapWorkspace.razor.rz.scp.css */
.dnd-map-canvas[b-uuvbpedu5v]{position:relative;min-height:360px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#10131a}.dnd-map-canvas img[b-uuvbpedu5v]{display:block;width:100%;height:auto}.dnd-map-canvas.with-grid[b-uuvbpedu5v]{background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size)}.dnd-map-pin[b-uuvbpedu5v]{position:absolute;transform:translate(-50%,-100%);color:var(--color-accent);display:flex;align-items:center;gap:.2rem;text-shadow:0 2px 3px #000}.dnd-map-pin svg[b-uuvbpedu5v]{width:26px}.dnd-map-region[b-uuvbpedu5v]{position:absolute;border:2px dashed #c79a45;background:rgba(199,154,69,.12)}.dnd-map-region span[b-uuvbpedu5v]{font-size:.7rem;background:#111a;padding:.15rem}.dnd-map-canvas .empty-state[b-uuvbpedu5v]{min-height:360px;display:grid;place-items:center}@media(max-width:390px){.dnd-map-canvas[b-uuvbpedu5v]{min-height:240px}.dnd-map-pin span[b-uuvbpedu5v]{display:none}}
/* /Components/Pages/Dnd/DndReferenceItemDetail.razor.rz.scp.css */
/* Reference item detail-specific overrides; shared reference styles in wwwroot/css/dnd-reference.css */
/* /Components/Pages/Dnd/DndReferenceReview.razor.rz.scp.css */
.reference-review-page[b-640wq2pmj1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.reference-review-stats[b-640wq2pmj1] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.reference-review-stat[b-640wq2pmj1] {
    display: flex;
    align-items: baseline;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: 1px solid rgba(251, 146, 60, 0.35);
    border-radius: var(--radius-md);
}

.reference-review-stat strong[b-640wq2pmj1] {
    color: var(--color-text-primary);
    font-size: var(--text-lg);
}

.reference-review-stat span[b-640wq2pmj1] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 800;
    text-transform: uppercase;
}

.reference-review-list[b-640wq2pmj1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.reference-review-row[b-640wq2pmj1] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-lg);
    align-items: center;
    padding: var(--space-lg);
    color: inherit;
    text-decoration: none;
}

.reference-review-row:hover[b-640wq2pmj1] {
    border-color: var(--color-accent);
    color: inherit;
    text-decoration: none;
}

.reference-review-row h2[b-640wq2pmj1] {
    margin: var(--space-xs) 0;
    color: var(--color-text-primary);
    font-size: var(--text-lg);
}

.reference-review-row p[b-640wq2pmj1] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.reference-review-meta[b-640wq2pmj1] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: var(--space-xs);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
}

.reference-domain-label[b-640wq2pmj1] {
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 800;
    text-transform: uppercase;
}

@media (max-width: 720px) {
    .reference-review-row[b-640wq2pmj1] {
        grid-template-columns: 1fr;
    }

    .reference-review-meta[b-640wq2pmj1] {
        justify-content: flex-start;
    }
}
/* /Components/Pages/Dnd/DndRulesIndex.razor.rz.scp.css */
/* Rules index-specific overrides; shared reference styles in wwwroot/css/dnd-reference.css */
/* /Components/Pages/Dnd/DndSessionRunner.razor.rz.scp.css */
.dnd-session-recap-grid[b-rpz6mh70ok]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.dnd-session-recap-grid h2[b-rpz6mh70ok]{font-size:var(--text-lg);margin:0 0 .65rem}.dnd-session-encounters[b-rpz6mh70ok]{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.dnd-session-encounters legend[b-rpz6mh70ok]{padding:0 .4rem;color:var(--color-text-muted);font-size:var(--text-sm)}.dnd-session-history[b-rpz6mh70ok]{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.dnd-session-history p[b-rpz6mh70ok]{grid-column:1/-1}@media(max-width:390px){.dnd-session-recap-grid[b-rpz6mh70ok]{grid-template-columns:1fr}.dnd-session-history[b-rpz6mh70ok]{grid-template-columns:1fr}}
/* /Components/Pages/Dnd/Encounters/DndEncounterBattle.razor.rz.scp.css */
.battle-screen[b-d9wgfp7gjp] { display:grid; gap:1rem; padding-bottom:5rem; }
.battle-command[b-d9wgfp7gjp] { position:sticky; top:.5rem; z-index:20; display:flex; justify-content:space-between; gap:1rem; align-items:center; border-color:color-mix(in srgb, var(--gold) 55%, var(--border)); box-shadow:0 12px 30px rgba(0,0,0,.3); }
.battle-command-title h1[b-d9wgfp7gjp] { margin:.1rem 0 .45rem; font-size:clamp(1.35rem, 3vw, 2.1rem); }
.battle-command-controls[b-d9wgfp7gjp], .battle-round-control[b-d9wgfp7gjp] { display:flex; align-items:end; gap:.5rem; flex-wrap:wrap; }
.battle-round-control label[b-d9wgfp7gjp] { font-size:.7rem; color:var(--text-muted); }
.battle-round-control .form-control[b-d9wgfp7gjp] { width:5rem; }
.battle-sync-hp[b-d9wgfp7gjp] { align-self:center; padding:.45rem .6rem; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface-2); }
.battle-next[b-d9wgfp7gjp] { min-height:44px; }
.battle-roster-tools[b-d9wgfp7gjp] { display:grid; gap:1rem; }
.battle-section-head[b-d9wgfp7gjp] { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.battle-section-head h2[b-d9wgfp7gjp] { margin:0 0 .25rem; }
.battle-section-head p[b-d9wgfp7gjp] { margin:0; color:var(--text-muted); }
.battle-roster-tools details[b-d9wgfp7gjp] { border-top:1px solid var(--border); padding-top:.8rem; }
.battle-roster-tools summary[b-d9wgfp7gjp], .battle-statblock summary[b-d9wgfp7gjp] { cursor:pointer; font-weight:700; color:var(--gold-light); }
.battle-manual-grid[b-d9wgfp7gjp] { display:grid; grid-template-columns:2fr repeat(5, minmax(6rem, 1fr)); gap:.75rem; }
.battle-grid[b-d9wgfp7gjp] { display:grid; grid-template-columns:repeat(auto-fit, minmax(390px, 1fr)); gap:1rem; align-items:start; }
.battle-card[b-d9wgfp7gjp] { display:grid; gap:.85rem; padding:1rem; border-left:4px solid var(--border); transition:border-color .15s, transform .15s; }
.battle-card-active[b-d9wgfp7gjp] { border-color:var(--gold); box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent), 0 14px 32px rgba(0,0,0,.28); transform:translateY(-2px); }
.battle-card-defeated[b-d9wgfp7gjp] { opacity:.72; border-left-color:var(--danger); }
.battle-card-head[b-d9wgfp7gjp] { display:grid; grid-template-columns:70px 1fr auto; gap:.75rem; align-items:center; }
.battle-initiative[b-d9wgfp7gjp] { display:grid; text-align:center; gap:.2rem; }
.battle-initiative label[b-d9wgfp7gjp] { font-size:.68rem; font-weight:800; color:var(--gold); }
.battle-initiative .form-control[b-d9wgfp7gjp] { text-align:center; font-size:1.15rem; font-weight:800; }
.battle-name[b-d9wgfp7gjp] { min-width:0; display:grid; gap:.22rem; }
.battle-name-input[b-d9wgfp7gjp] { width:100%; border:0; padding:0; background:transparent; color:var(--text-primary); font-family:var(--font-display); font-size:1.22rem; font-weight:800; }
.battle-name > span[b-d9wgfp7gjp] { color:var(--text-muted); font-size:.78rem; }
.battle-vitals[b-d9wgfp7gjp] { display:grid; grid-template-columns:repeat(4, 1fr); gap:.5rem; }
.battle-vitals > div[b-d9wgfp7gjp] { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.4rem; padding:.45rem; background:var(--surface-2); border:1px solid var(--border); border-radius:var(--radius-sm); }
.battle-vitals span[b-d9wgfp7gjp] { font-size:.67rem; font-weight:800; color:var(--text-muted); }
.battle-vitals .form-control[b-d9wgfp7gjp] { min-width:0; padding:.35rem; text-align:center; font-weight:800; }
.battle-hp-track[b-d9wgfp7gjp] { height:7px; background:var(--surface-3); border-radius:999px; overflow:hidden; }
.battle-hp-track span[b-d9wgfp7gjp] { display:block; height:100%; background:linear-gradient(90deg, var(--danger), #e5b94f, #54b77a); border-radius:inherit; transition:width .2s; }
.battle-hp-actions[b-d9wgfp7gjp] { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem; }
.battle-hp-actions > span[b-d9wgfp7gjp] { margin-left:.3rem; font-size:.7rem; color:var(--text-muted); font-weight:700; }
.battle-notes-grid[b-d9wgfp7gjp] { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.battle-statblock[b-d9wgfp7gjp] { border-top:1px solid var(--border); padding-top:.75rem; }
.battle-reference-grid[b-d9wgfp7gjp] { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.4rem .8rem; margin-top:.75rem; }
.battle-reference-grid > div[b-d9wgfp7gjp] { display:grid; gap:.1rem; font-size:.78rem; }
.battle-reference-grid strong[b-d9wgfp7gjp] { color:var(--gold-light); }
.battle-reference-grid span[b-d9wgfp7gjp] { color:var(--text-secondary); white-space:pre-wrap; }
.battle-reference-section[b-d9wgfp7gjp] { margin-top:.75rem; }
.battle-reference-section h4[b-d9wgfp7gjp] { margin:0 0 .25rem; color:var(--gold-light); font-size:.9rem; }
.battle-reference-section p[b-d9wgfp7gjp] { margin:0; color:var(--text-secondary); font-size:.82rem; white-space:pre-wrap; line-height:1.55; }
.battle-card-footer[b-d9wgfp7gjp] { display:flex; justify-content:space-between; align-items:center; gap:.75rem; border-top:1px solid var(--border); padding-top:.7rem; }
@media (max-width:1000px) {
    .battle-command[b-d9wgfp7gjp] { position:relative; top:auto; align-items:flex-start; }
    .battle-manual-grid[b-d9wgfp7gjp] { grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:700px) {
    .battle-command[b-d9wgfp7gjp] { display:grid; }
    .battle-command-controls[b-d9wgfp7gjp] { width:100%; }
    .battle-command-controls > .btn[b-d9wgfp7gjp] { flex:1 1 auto; }
    .battle-grid[b-d9wgfp7gjp] { grid-template-columns:1fr; }
    .battle-card-head[b-d9wgfp7gjp] { grid-template-columns:62px 1fr; }
    .battle-card-head > .btn[b-d9wgfp7gjp] { grid-column:1 / -1; }
    .battle-manual-grid[b-d9wgfp7gjp], .battle-notes-grid[b-d9wgfp7gjp] { grid-template-columns:1fr 1fr; }
}
@media (max-width:390px) {
    .battle-screen[b-d9wgfp7gjp] { gap:.75rem; }
    .battle-card[b-d9wgfp7gjp] { padding:.75rem; }
    .battle-vitals[b-d9wgfp7gjp] { grid-template-columns:1fr 1fr; }
    .battle-manual-grid[b-d9wgfp7gjp], .battle-notes-grid[b-d9wgfp7gjp], .battle-reference-grid[b-d9wgfp7gjp] { grid-template-columns:1fr; }
    .battle-card-footer[b-d9wgfp7gjp] { align-items:stretch; flex-direction:column; }
    .battle-card-footer .flex[b-d9wgfp7gjp] { width:100%; }
    .battle-card-footer .btn[b-d9wgfp7gjp] { flex:1; min-height:42px; }
}
/* /Components/Pages/Dnd/Encounters/DndEncounterBestiaryPicker.razor.rz.scp.css */
.enc-bestiary-picker[b-ck752didyp] { display:grid; gap:1rem; }
.enc-bestiary-toolbar[b-ck752didyp] { display:grid; grid-template-columns:minmax(15rem, 2fr) minmax(9rem, 1fr) 7rem; gap:.75rem; align-items:end; }
.enc-bestiary-results[b-ck752didyp] { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:.75rem; max-height:38rem; overflow:auto; padding-right:.25rem; }
.enc-bestiary-card[b-ck752didyp] { display:grid; grid-template-columns:76px 1fr; min-width:0; border:1px solid var(--border); background:var(--surface-2); border-radius:var(--radius-md); overflow:hidden; }
.enc-bestiary-card img[b-ck752didyp] { width:76px; height:100%; min-height:118px; object-fit:cover; background:var(--surface-3); }
.enc-bestiary-card-body[b-ck752didyp] { min-width:0; padding:.7rem; display:grid; gap:.55rem; }
.enc-bestiary-card-title[b-ck752didyp], .enc-bestiary-card-footer[b-ck752didyp] { display:flex; justify-content:space-between; align-items:flex-start; gap:.5rem; }
.enc-bestiary-card-title > div[b-ck752didyp] { min-width:0; display:grid; }
.enc-bestiary-card-title strong[b-ck752didyp] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.enc-bestiary-card-title span:not(.badge)[b-ck752didyp], .enc-bestiary-card-footer > span[b-ck752didyp] { color:var(--text-muted); font-size:.72rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.enc-bestiary-vitals[b-ck752didyp] { display:flex; flex-wrap:wrap; gap:.65rem; font-size:.78rem; color:var(--text-secondary); }
.enc-bestiary-empty[b-ck752didyp] { min-height:8rem; }
@media (max-width:700px) {
    .enc-bestiary-toolbar[b-ck752didyp] { grid-template-columns:1fr 1fr; }
    .enc-bestiary-toolbar > :first-child[b-ck752didyp] { grid-column:1 / -1; }
    .enc-bestiary-results[b-ck752didyp] { grid-template-columns:1fr; max-height:none; }
}
@media (max-width:390px) {
    .enc-bestiary-toolbar[b-ck752didyp] { grid-template-columns:1fr; }
    .enc-bestiary-toolbar > :first-child[b-ck752didyp] { grid-column:auto; }
    .enc-bestiary-card[b-ck752didyp] { grid-template-columns:64px 1fr; }
    .enc-bestiary-card img[b-ck752didyp] { width:64px; }
}
/* /Components/Pages/Guide/HowToGuide.razor.rz.scp.css */
.how-to-page[b-0r0r92603o] {
    max-width: 960px;
    margin: 0 auto;
    padding-bottom: var(--space-2xl);
    color: var(--color-text-primary);
}

.ht-page-header[b-0r0r92603o] {
    margin-bottom: var(--space-xl);
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-md);
}

.ht-page-header h1[b-0r0r92603o] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-2xl);
    font-weight: 600;
    letter-spacing: -0.01em;
}

.ht-lead[b-0r0r92603o] {
    margin: 0;
    font-size: var(--text-base);
    color: var(--color-text-muted);
    line-height: 1.6;
}

.ht-toc[b-0r0r92603o] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-lg) var(--space-xl);
    margin-bottom: var(--space-xl);
    box-shadow: var(--shadow-xs);
}

.ht-toc h2[b-0r0r92603o] {
    margin: 0 0 var(--space-md);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted);
}

.ht-toc-grid[b-0r0r92603o] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-xs) var(--space-lg);
    list-style: none;
    margin: 0;
    padding: 0;
}

.ht-toc-grid a[b-0r0r92603o] {
    color: var(--color-accent);
    text-decoration: none;
    font-size: var(--text-sm);
}

.ht-toc-grid a:hover[b-0r0r92603o] {
    text-decoration: underline;
}

.ht-section[b-0r0r92603o] {
    margin-bottom: var(--space-2xl);
    scroll-margin-top: var(--space-xl);
}

.ht-section > h2[b-0r0r92603o] {
    margin: 0 0 var(--space-md);
    font-size: var(--text-xl);
    font-weight: 600;
    padding-bottom: var(--space-sm);
    border-bottom: 2px solid var(--color-accent);
}

.ht-section > p[b-0r0r92603o],
.ht-section > ul[b-0r0r92603o] {
    line-height: 1.65;
    color: var(--color-text-secondary);
}

.ht-section > ul[b-0r0r92603o] {
    padding-left: 1.25rem;
    margin: 0 0 var(--space-md);
}

.ht-section > ul li[b-0r0r92603o] {
    margin-bottom: var(--space-xs);
}

.ht-card[b-0r0r92603o] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-lg) var(--space-xl);
    margin-bottom: var(--space-md);
    box-shadow: var(--shadow-xs);
}

.ht-card h3[b-0r0r92603o] {
    margin: 0 0 var(--space-sm);
    font-size: var(--text-base);
    font-weight: 600;
}

.ht-card p:last-child[b-0r0r92603o],
.ht-card ul:last-child[b-0r0r92603o] {
    margin-bottom: 0;
}

.ht-card ul[b-0r0r92603o] {
    padding-left: 1.25rem;
    margin: var(--space-sm) 0 0;
    line-height: 1.6;
    color: var(--color-text-secondary);
}

.ht-card ul li[b-0r0r92603o] {
    margin-bottom: var(--space-xs);
}

.ht-steps[b-0r0r92603o] {
    counter-reset: ht-step;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ht-steps li[b-0r0r92603o] {
    counter-increment: ht-step;
    position: relative;
    padding-left: 2rem;
    margin-bottom: var(--space-md);
    line-height: 1.6;
    color: var(--color-text-secondary);
}

.ht-steps li[b-0r0r92603o]::before {
    content: counter(ht-step);
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background: var(--color-accent-muted);
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ht-role-grid[b-0r0r92603o] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-sm);
    margin-top: var(--space-sm);
}

.ht-role[b-0r0r92603o] {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
}

.ht-role strong[b-0r0r92603o] {
    display: block;
    margin-bottom: 0.15rem;
}

.ht-pending-list[b-0r0r92603o] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ht-pending-list li[b-0r0r92603o] {
    display: flex;
    gap: var(--space-sm);
    align-items: flex-start;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--color-border);
    line-height: 1.55;
    color: var(--color-text-secondary);
}

.ht-pending-list li:last-child[b-0r0r92603o] {
    border-bottom: none;
}

.ht-badge-pending[b-0r0r92603o] {
    flex-shrink: 0;
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: var(--radius-sm);
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 0.15rem;
}

.ht-inline-link[b-0r0r92603o] {
    color: var(--color-accent);
}

.ht-callout[b-0r0r92603o] {
    border-left: 3px solid var(--color-info);
    background: var(--color-info-muted);
    padding: var(--space-md) var(--space-lg);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    margin: var(--space-md) 0;
    font-size: var(--text-sm);
    line-height: 1.6;
    color: var(--color-text-secondary);
}

@media (max-width: 720px) {
    .ht-toc-grid[b-0r0r92603o] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-dashboard[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.home-hero[b-kiwpe1991w] {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    padding: 0;
    border-color: rgba(212, 168, 67, 0.18);
    background:
        radial-gradient(circle at top left, rgba(212, 168, 67, 0.18), transparent 40%),
        linear-gradient(135deg, rgba(19, 22, 31, 0.98), rgba(14, 16, 23, 0.98));
}

.home-hero-media[b-kiwpe1991w],
.home-hero-fallback[b-kiwpe1991w],
.home-hero-scrim[b-kiwpe1991w] {
    position: absolute;
    inset: 0;
}

.home-hero-media[b-kiwpe1991w] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-hero-fallback[b-kiwpe1991w] {
    background:
        radial-gradient(circle at 18% 22%, rgba(212, 168, 67, 0.34), transparent 24%),
        radial-gradient(circle at 82% 18%, rgba(88, 166, 255, 0.18), transparent 20%),
        linear-gradient(135deg, rgba(39, 28, 12, 0.85), rgba(13, 16, 22, 0.92));
}

.home-hero-scrim[b-kiwpe1991w] {
    background:
        linear-gradient(180deg, rgba(9, 10, 14, 0.18), rgba(9, 10, 14, 0.82)),
        linear-gradient(90deg, rgba(11, 13, 18, 0.86), rgba(11, 13, 18, 0.42));
}

.home-hero-content[b-kiwpe1991w] {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--space-xl);
    min-height: 220px;
    padding: var(--space-xl) var(--space-2xl);
}

.home-hero-copy[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 720px;
    min-width: 0;
}

.home-hero-badges[b-kiwpe1991w],
.home-hero-meta[b-kiwpe1991w],
.home-hero-actions[b-kiwpe1991w] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.home-hero h1[b-kiwpe1991w] {
    margin: 0;
    font-size: clamp(1.65rem, 3.5vw, 2.35rem);
    letter-spacing: -0.03em;
}

.home-hero-summary[b-kiwpe1991w] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    max-width: 64ch;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-hero-meta[b-kiwpe1991w] {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.home-hero-meta span[b-kiwpe1991w] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.65rem;
    border-radius: var(--radius-full);
    background: rgba(15, 17, 23, 0.46);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
}

.home-hero-session[b-kiwpe1991w] {
    margin-top: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    background: rgba(212, 168, 67, 0.08);
    border: 1px solid rgba(212, 168, 67, 0.16);
    font-size: var(--text-sm);
    max-width: 56ch;
}

.home-hero-session-label[b-kiwpe1991w] {
    display: block;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-accent);
    margin-bottom: 0.2rem;
}

.home-hero-actions[b-kiwpe1991w] {
    align-self: flex-end;
    flex-shrink: 0;
}

.home-content-grid[b-kiwpe1991w] {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.85fr);
    gap: var(--space-lg);
    align-items: start;
}

.home-main-column[b-kiwpe1991w],
.home-side-column[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.home-section-head[b-kiwpe1991w] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.home-section-kicker[b-kiwpe1991w] {
    margin-bottom: var(--space-xs);
    border-bottom: 0;
    padding-bottom: 0;
}

.home-section-title[b-kiwpe1991w] {
    margin: 0;
}

.home-pulse-section + .home-pulse-section[b-kiwpe1991w] {
    margin-top: var(--space-xl);
    padding-top: var(--space-xl);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.home-pulse-head[b-kiwpe1991w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
}

.home-pulse-label[b-kiwpe1991w] {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
}

.home-pulse-empty[b-kiwpe1991w] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--color-text-muted);
}

.home-session-highlight[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.home-session-highlight a[b-kiwpe1991w] {
    font-weight: 600;
}

.home-stack-list[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.home-stack-item[b-kiwpe1991w] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
}

.home-stack-copy[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1;
}

.home-stack-copy strong[b-kiwpe1991w] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-stack-copy span[b-kiwpe1991w] {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-clock-row + .home-clock-row[b-kiwpe1991w] {
    margin-top: var(--space-sm);
}

.home-clock-head[b-kiwpe1991w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-bottom: 0.35rem;
}

.home-clock-head strong[b-kiwpe1991w] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.home-clock-bar[b-kiwpe1991w] {
    height: 8px;
    overflow: hidden;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.08);
}

.home-clock-fill[b-kiwpe1991w] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--color-accent), #f3c86b);
}

.home-party-list[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.home-party-row[b-kiwpe1991w] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-bg-elevated);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-base);
}

.home-party-row:hover[b-kiwpe1991w] {
    text-decoration: none;
    color: inherit;
    border-color: rgba(212, 168, 67, 0.22);
}

.home-party-portrait[b-kiwpe1991w] {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.22), rgba(88, 166, 255, 0.18));
    color: var(--color-text-primary);
    font-weight: 700;
    font-size: var(--text-sm);
}

.home-party-portrait img[b-kiwpe1991w] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-party-copy[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.home-party-copy strong[b-kiwpe1991w] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-party-stats[b-kiwpe1991w] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    flex-shrink: 0;
    font-size: var(--text-xs);
    color: var(--color-text-muted);
}

.home-party-stat[b-kiwpe1991w] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.45rem;
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.04);
}

.home-party-cond-badge[b-kiwpe1991w] {
    font-size: 0.65rem;
}

.home-recent-grid[b-kiwpe1991w] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
}

.home-recent-card[b-kiwpe1991w] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-bg-elevated);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-base), transform var(--transition-base);
    min-width: 0;
}

.home-recent-card:hover[b-kiwpe1991w] {
    text-decoration: none;
    color: inherit;
    border-color: rgba(212, 168, 67, 0.22);
    transform: translateY(-1px);
}

.home-recent-thumb[b-kiwpe1991w],
.home-recent-thumb-fallback[b-kiwpe1991w],
.home-recent-thumb-icon[b-kiwpe1991w] {
    width: 52px;
    height: 52px;
    border-radius: var(--radius-md);
    flex-shrink: 0;
    overflow: hidden;
}

.home-recent-thumb[b-kiwpe1991w] {
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.home-recent-thumb-fallback[b-kiwpe1991w],
.home-recent-thumb-icon[b-kiwpe1991w] {
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 18% 20%, rgba(212, 168, 67, 0.34), transparent 30%),
        linear-gradient(145deg, rgba(33, 37, 48, 0.98), rgba(17, 19, 26, 0.98));
    color: var(--color-text-primary);
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.home-recent-thumb-icon[b-kiwpe1991w] {
    color: var(--color-accent);
    background: rgba(212, 168, 67, 0.1);
}

.home-recent-copy[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    flex: 1;
}

.home-recent-copy strong[b-kiwpe1991w] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-recent-date[b-kiwpe1991w] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
}

.home-other-grid[b-kiwpe1991w] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
}

.home-other-card[b-kiwpe1991w] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-bg-elevated);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-base), transform var(--transition-base);
    min-width: 0;
}

.home-other-card:hover[b-kiwpe1991w] {
    text-decoration: none;
    color: inherit;
    border-color: rgba(212, 168, 67, 0.22);
    transform: translateY(-1px);
}

.home-other-cover[b-kiwpe1991w],
.home-other-cover-fallback[b-kiwpe1991w] {
    width: 100%;
    height: 72px;
    border-radius: var(--radius-sm);
    object-fit: cover;
}

.home-other-cover-fallback[b-kiwpe1991w] {
    background:
        radial-gradient(circle at 20% 30%, rgba(212, 168, 67, 0.28), transparent 35%),
        linear-gradient(135deg, rgba(25, 28, 38, 0.95), rgba(14, 16, 22, 0.98));
}

.home-other-copy strong[b-kiwpe1991w] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-other-meta[b-kiwpe1991w] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    font-size: var(--text-xs);
    color: var(--color-text-muted);
}

.home-skeleton-hero[b-kiwpe1991w] {
    min-height: 220px;
    border-radius: var(--radius-lg);
}

.home-skeleton-grid[b-kiwpe1991w] {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.85fr);
    gap: var(--space-lg);
}

.home-skeleton-recent[b-kiwpe1991w] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
}

.home-skeleton-pulse[b-kiwpe1991w] {
    height: 320px;
}

.home-skeleton-party[b-kiwpe1991w] {
    height: 280px;
}

.home-skeleton-recent-item[b-kiwpe1991w] {
    height: 76px;
}

@media (max-width: 1024px) {
    .home-content-grid[b-kiwpe1991w],
    .home-skeleton-grid[b-kiwpe1991w] {
        grid-template-columns: 1fr;
    }

    .home-hero-content[b-kiwpe1991w] {
        flex-direction: column;
        align-items: flex-start;
    }

    .home-hero-actions[b-kiwpe1991w] {
        align-self: stretch;
    }
}

@media (max-width: 768px) {
    .home-hero[b-kiwpe1991w] {
        min-height: 200px;
    }

    .home-hero-content[b-kiwpe1991w] {
        padding: var(--space-lg);
        min-height: 200px;
    }

    .home-recent-grid[b-kiwpe1991w],
    .home-skeleton-recent[b-kiwpe1991w],
    .home-other-grid[b-kiwpe1991w] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-section-head[b-kiwpe1991w] {
        flex-direction: column;
    }

    .home-party-row[b-kiwpe1991w] {
        flex-wrap: wrap;
    }

    .home-party-stats[b-kiwpe1991w] {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .home-recent-grid[b-kiwpe1991w],
    .home-skeleton-recent[b-kiwpe1991w],
    .home-other-grid[b-kiwpe1991w] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Mantles/MantleList.razor.rz.scp.css */
.mantles-toolbar[b-x0w495eox2] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-md);
}

.mantles-grid .card[b-x0w495eox2] {
    min-height: 150px;
}

@media (max-width: 768px) {
    .mantles-toolbar[b-x0w495eox2] {
        padding: var(--space-sm);
    }
}
/* /Components/Pages/Npcs/NpcList.razor.rz.scp.css */
.npc-hero[b-p0hsycuyvk] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    background:
        radial-gradient(circle at top right, rgba(212, 168, 67, 0.16), transparent 42%),
        linear-gradient(145deg, var(--color-bg-surface) 0%, var(--color-bg-elevated) 100%);
    box-shadow: var(--shadow-sm);
}

.npc-hero-header[b-p0hsycuyvk] {
    border-bottom: none;
    margin-bottom: var(--space-lg);
    padding-bottom: 0;
}

.npc-hero-kicker[b-p0hsycuyvk] {
    display: inline-block;
    margin-bottom: var(--space-sm);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-accent);
}

.npc-hero-title[b-p0hsycuyvk] {
    margin-bottom: var(--space-xs);
}

.npc-stats[b-p0hsycuyvk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space-md);
}

.npc-stat-card[b-p0hsycuyvk] {
    border: 1px solid var(--color-border-strong);
    background: rgba(255, 255, 255, 0.02);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.npc-stat-label[b-p0hsycuyvk] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.npc-stat-value[b-p0hsycuyvk] {
    font-size: var(--text-xl);
    color: var(--color-text-primary);
    line-height: 1.1;
}

.npc-toolbar[b-p0hsycuyvk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-lg);
    flex-wrap: wrap;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-xs);
    padding: var(--space-md);
}

.npc-search[b-p0hsycuyvk] {
    position: relative;
    width: min(420px, 100%);
}

.npc-search-icon[b-p0hsycuyvk] {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-text-muted);
    pointer-events: none;
}

.npc-search-input[b-p0hsycuyvk] {
    width: 100%;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    color: var(--color-text-primary);
    border-radius: var(--radius-md);
    padding: 0.52rem 0.75rem 0.52rem 2rem;
    font-size: var(--text-sm);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.npc-search-input:focus[b-p0hsycuyvk] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}

.npc-grid[b-p0hsycuyvk] {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.npc-card[b-p0hsycuyvk] {
    cursor: pointer;
    padding: var(--space-lg);
    border-color: var(--color-border);
    background:
        linear-gradient(180deg, rgba(212, 168, 67, 0.08) 0, transparent 26px),
        var(--color-bg-surface);
    transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.npc-card:hover[b-p0hsycuyvk] {
    transform: translateY(-2px);
    border-color: var(--color-accent);
    box-shadow: var(--shadow-md);
}

.npc-card:active[b-p0hsycuyvk] {
    transform: translateY(0);
}

.npc-card-top[b-p0hsycuyvk] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);
}

.npc-name[b-p0hsycuyvk] {
    font-size: var(--text-lg);
    line-height: 1.2;
}

.npc-mantle[b-p0hsycuyvk] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.npc-concept[b-p0hsycuyvk] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.45;
}

.npc-campaign-line[b-p0hsycuyvk] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

@media (max-width: 768px) {
    .npc-hero[b-p0hsycuyvk] {
        padding: var(--space-lg);
    }
}
/* /Components/Pages/QuickReference/QuickReference.razor.rz.scp.css */
.quick-reference-page[b-86m9qzsqi9] {
    max-width: 1040px;
    margin: 0 auto;
    padding: var(--space-lg) var(--space-xl) var(--space-2xl);
    color: var(--color-text-primary);
}

.quick-reference-header[b-86m9qzsqi9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-xl);
    margin-bottom: var(--space-xl);
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-lg);
}

.quick-reference-header h1[b-86m9qzsqi9] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-2xl);
    font-weight: 650;
    letter-spacing: 0;
}

.quick-reference-subtitle[b-86m9qzsqi9] {
    margin: 0;
    font-size: var(--text-base);
    color: var(--color-text-secondary);
}

.quick-reference-export-button[b-86m9qzsqi9] {
    flex: 0 0 auto;
}

@media (max-width: 900px) {
    .quick-reference-page[b-86m9qzsqi9] {
        padding: var(--space-md) var(--space-lg) var(--space-2xl);
    }
}

@media (max-width: 640px) {
    .quick-reference-header[b-86m9qzsqi9] {
        flex-direction: column;
        gap: var(--space-md);
    }

    .quick-reference-export-button[b-86m9qzsqi9] {
        width: 100%;
    }
}
/* /Components/Pages/QuickReference/QuickReferenceContent.razor.rz.scp.css */
.quick-reference-content[b-grcholievv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2xl);
}

.reference-section[b-grcholievv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
}

.reference-section-header[b-grcholievv] {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-md);
}

.reference-section-kicker[b-grcholievv] {
    display: block;
    margin-bottom: var(--space-xs);
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.reference-section-header h2[b-grcholievv] {
    margin: 0;
    font-size: var(--text-xl);
    font-weight: 650;
    letter-spacing: 0;
}

.reference-grid-two-column[b-grcholievv] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: stretch;
}

.reference-card[b-grcholievv] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-xl);
    box-shadow: var(--shadow-xs);
}

.reference-card h3[b-grcholievv] {
    margin: 0 0 var(--space-md);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--color-accent-muted);
    color: var(--color-accent);
    font-size: var(--text-md);
    font-weight: 650;
    letter-spacing: 0;
}

.reference-table-wrap[b-grcholievv] {
    width: 100%;
    overflow-x: auto;
}

.reference-table[b-grcholievv] {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: var(--text-sm);
    line-height: 1.45;
}

.reference-table-compact[b-grcholievv] {
    min-width: 360px;
}

.reference-table thead th[b-grcholievv] {
    text-align: left;
    padding: 0.65rem 0.75rem;
    background: var(--color-bg-elevated);
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
    border-bottom: 1px solid var(--color-accent-muted);
}

.reference-table tbody td[b-grcholievv] {
    padding: 0.65rem 0.75rem;
    vertical-align: top;
    color: var(--color-text-secondary);
    border-bottom: 1px solid var(--color-border-subtle);
}

.reference-table tbody td:first-child[b-grcholievv] {
    color: var(--color-text-primary);
    font-weight: 600;
    white-space: nowrap;
}

.reference-table tbody tr:nth-child(even) td[b-grcholievv] {
    background: rgba(255, 255, 255, 0.018);
}

.reference-table tbody tr:last-child td[b-grcholievv] {
    border-bottom: none;
}

.reference-list[b-grcholievv],
.reference-steps[b-grcholievv] {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: 1.65;
}

.reference-list li[b-grcholievv],
.reference-steps li[b-grcholievv] {
    margin-bottom: 0.45rem;
}

.reference-list li:last-child[b-grcholievv],
.reference-steps li:last-child[b-grcholievv] {
    margin-bottom: 0;
}

.reference-lede[b-grcholievv] {
    margin: 0 0 0.75rem;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: 1.6;
}

.reference-lede:last-child[b-grcholievv] {
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .reference-grid-two-column[b-grcholievv] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .reference-card[b-grcholievv] {
        padding: var(--space-lg);
    }

    .reference-table[b-grcholievv] {
        min-width: 460px;
    }

    .reference-table tbody td:first-child[b-grcholievv] {
        white-space: normal;
    }
}

@media print {
    .reference-section[b-grcholievv],
    .reference-grid-two-column[b-grcholievv],
    .reference-card[b-grcholievv],
    .reference-table-wrap[b-grcholievv],
    .reference-table[b-grcholievv],
    .reference-table tr[b-grcholievv] {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .reference-section:nth-of-type(4)[b-grcholievv] {
        break-before: page;
        page-break-before: always;
    }

    .reference-section-header[b-grcholievv] {
        break-after: avoid;
        page-break-after: avoid;
    }

    .reference-section:nth-of-type(5)[b-grcholievv] {
        break-before: avoid;
        page-break-before: avoid;
    }
}
/* /Components/Pages/QuickReference/QuickReferenceExport.razor.rz.scp.css */
.quick-reference-export-page[b-6xw44ifzrq] {
    max-width: 1200px;
    margin: 0 auto;
}

/* ===== Preview card ===== */

.quick-reference-doc-preview[b-6xw44ifzrq] {
    min-height: 320px;
}

/* ---- Mini table (represents the ladder / outcomes tables) ---- */

.qr-preview-mini-table[b-6xw44ifzrq] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.qr-mini-thead[b-6xw44ifzrq] {
    display: grid;
    grid-template-columns: 0.4fr 1fr;
    gap: 0.35rem;
}

.qr-mini-thead span[b-6xw44ifzrq] {
    height: 0.5rem;
    border-radius: 2px;
    background: #c9a94e;
    opacity: 0.55;
}

.qr-mini-row[b-6xw44ifzrq] {
    display: grid;
    grid-template-columns: 0.4fr 1fr;
    gap: 0.35rem;
}

.qr-mini-row span:first-child[b-6xw44ifzrq] {
    height: 0.5rem;
    border-radius: 2px;
    background: #d4bd7a;
}

.qr-mini-row span:last-child[b-6xw44ifzrq] {
    height: 0.5rem;
    border-radius: 2px;
    background: #e6dcc4;
}

/* ---- Section divider ---- */

.qr-preview-divider[b-6xw44ifzrq] {
    height: 1px;
    margin: 0.65rem 0;
    background: #d4bd7a;
    opacity: 0.5;
}

/* ---- Body text lines ---- */

.qr-preview-body-lines[b-6xw44ifzrq] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.qr-line-full[b-6xw44ifzrq] {
    height: 0.45rem;
    border-radius: 2px;
    background: #e4ddcb;
}

.qr-line-short[b-6xw44ifzrq] {
    height: 0.45rem;
    width: 60%;
    border-radius: 2px;
    background: #e4ddcb;
}

/* ===== B&W Preview variant ===== */

.print-style-ink .quick-reference-doc-preview[b-6xw44ifzrq] {
    background: #fff;
}

.print-style-ink .export-doc-kicker[b-6xw44ifzrq] {
    color: #555;
}

.print-style-ink .export-doc-title[b-6xw44ifzrq] {
    color: #111;
}

.print-style-ink .export-doc-rule[b-6xw44ifzrq] {
    background: #333;
}

.print-style-ink .qr-mini-thead span[b-6xw44ifzrq] {
    background: #888;
}

.print-style-ink .qr-mini-row span:first-child[b-6xw44ifzrq] {
    background: #999;
}

.print-style-ink .qr-mini-row span:last-child[b-6xw44ifzrq] {
    background: #d5d5d5;
}

.print-style-ink .qr-preview-divider[b-6xw44ifzrq] {
    background: #999;
}

.print-style-ink .qr-line-full[b-6xw44ifzrq],
.print-style-ink .qr-line-short[b-6xw44ifzrq] {
    background: #d5d5d5;
}

.print-style-ink .export-doc-chip[b-6xw44ifzrq] {
    color: #555;
    background: #e8e8e8;
}

/* ===== Card-Based Selection Controls ===== */

.qr-style-options[b-6xw44ifzrq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.qr-style-option[b-6xw44ifzrq] {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-xl);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: all var(--transition-fast) ease-in-out;
}

/* Hide input completely from the visible design */
.qr-style-option[b-6xw44ifzrq]  input[type="radio"],
.qr-section-card[b-6xw44ifzrq]  input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    min-width: 0;
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    overflow: hidden;
}

/* Selected State */
.qr-style-option.is-selected[b-6xw44ifzrq],
.qr-section-card.is-selected[b-6xw44ifzrq] {
    border: 1px solid var(--color-accent);
    box-shadow: 0 0 18px rgba(212, 168, 67, 0.25);
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.14), rgba(20, 22, 28, 0.96));
    opacity: 1;
}

/* Unselected State */
.qr-style-option:not(.is-selected)[b-6xw44ifzrq],
.qr-section-card:not(.is-selected)[b-6xw44ifzrq] {
    border: 1px solid rgba(120, 126, 145, 0.25);
    background: rgba(20, 22, 28, 0.85);
    box-shadow: none;
    opacity: 0.72;
}

/* Hover State */
.qr-style-option:not(.is-selected):hover[b-6xw44ifzrq],
.qr-section-card:not(.is-selected):hover[b-6xw44ifzrq] {
    opacity: 0.9;
    border-color: rgba(120, 126, 145, 0.45);
}

/* Icon Containers */
.qr-style-option-icon-container[b-6xw44ifzrq] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(110, 116, 135, 0.08);
    border: 1px solid var(--color-border-subtle);
    color: var(--color-text-muted);
    transition: all var(--transition-fast) ease-in-out;
    flex-shrink: 0;
}

.qr-style-option.is-selected .qr-style-option-icon-container[b-6xw44ifzrq] {
    background: rgba(212, 168, 67, 0.12);
    border-color: rgba(212, 168, 67, 0.35);
    color: var(--color-accent);
}

.qr-style-option-icon[b-6xw44ifzrq] {
    width: 22px;
    height: 22px;
}

/* Content & Typography */
.qr-style-option-content[b-6xw44ifzrq] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.qr-style-option-title[b-6xw44ifzrq] {
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--color-text-muted);
    font-family: var(--font-serif);
    transition: color var(--transition-fast) ease-in-out;
}

.qr-style-option.is-selected .qr-style-option-title[b-6xw44ifzrq] {
    color: var(--color-accent);
}

.qr-style-option-sub[b-6xw44ifzrq] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    line-height: 1.4;
}

/* --- Reference Sections Cards --- */

.qr-sections[b-6xw44ifzrq] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.qr-section-card[b-6xw44ifzrq] {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: all var(--transition-fast) ease-in-out;
}

/* Icon Container */
.qr-section-icon-container[b-6xw44ifzrq] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(110, 116, 135, 0.08);
    border: 1px solid var(--color-border-subtle);
    color: var(--color-text-muted);
    transition: all var(--transition-fast) ease-in-out;
    flex-shrink: 0;
}

.qr-section-card.is-selected .qr-section-icon-container[b-6xw44ifzrq] {
    background: rgba(212, 168, 67, 0.12);
    border-color: rgba(212, 168, 67, 0.35);
    color: var(--color-accent);
}

.qr-section-icon[b-6xw44ifzrq] {
    width: 18px;
    height: 18px;
}

/* Content & Typography */
.qr-section-content[b-6xw44ifzrq] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.qr-section-title[b-6xw44ifzrq] {
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--color-text-muted);
    transition: color var(--transition-fast) ease-in-out;
}

.qr-section-card.is-selected .qr-section-title[b-6xw44ifzrq] {
    color: var(--color-accent);
}

.qr-section-sub[b-6xw44ifzrq] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    line-height: 1.3;
}

/* Focus indicator for keyboard navigation */
.qr-style-option.is-selected:focus-within[b-6xw44ifzrq],
.qr-section-card.is-selected:focus-within[b-6xw44ifzrq] {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.qr-style-option:not(.is-selected):focus-within[b-6xw44ifzrq],
.qr-section-card:not(.is-selected):focus-within[b-6xw44ifzrq] {
    outline: 2px solid rgba(120, 126, 145, 0.45);
    outline-offset: 2px;
}

/* ===== Download area hint ===== */

.export-actions-hint[b-6xw44ifzrq] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    line-height: 1.4;
}

/* ===== Responsive ===== */

@media (max-width: 640px) {
    .quick-reference-export-page .qr-style-options[b-6xw44ifzrq],
    .quick-reference-export-page .qr-sections[b-6xw44ifzrq] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Rules/RulesIndex.razor.rz.scp.css */
.rules-page[b-zp9y0io6ob] {
    max-width: 1100px;
    margin: 0 auto;
}

/* Hero */
.rules-hero[b-zp9y0io6ob] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    margin-bottom: var(--space-xl);
    padding: var(--space-xl);
    background: linear-gradient(135deg, var(--color-bg-surface) 0%, var(--color-bg-elevated) 100%);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
    position: relative;
    overflow: hidden;
}

.rules-hero[b-zp9y0io6ob]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--color-accent), var(--color-accent-hover));
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.rules-hero-main[b-zp9y0io6ob] {
    display: flex;
    gap: var(--space-lg);
    align-items: flex-start;
    padding-left: var(--space-sm);
}

.rules-hero-icon[b-zp9y0io6ob] {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: var(--radius-lg);
    background: var(--color-accent-muted);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rules-hero-title[b-zp9y0io6ob] {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-text-primary);
}

.rules-hero-lead[b-zp9y0io6ob] {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    max-width: 42rem;
}

.rules-hero-links[b-zp9y0io6ob] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    padding-left: calc(52px + var(--space-lg) + var(--space-sm));
}

@media (max-width: 640px) {
    .rules-hero-links[b-zp9y0io6ob] {
        padding-left: 0;
    }
}

.rules-hero-link[b-zp9y0io6ob] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    background: var(--color-bg-base);
    border: 1px solid var(--color-border);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-weight: 600;
    text-decoration: none;
    transition: border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}

.rules-hero-link:hover[b-zp9y0io6ob] {
    border-color: var(--color-accent-muted);
    color: var(--color-accent);
    text-decoration: none;
    box-shadow: var(--shadow-xs);
}

/* Toolbar */
.rules-toolbar[b-zp9y0io6ob] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    margin-bottom: var(--space-lg);
}

.rules-toolbar-skeleton[b-zp9y0io6ob] {
    min-height: 52px;
}

.rules-search[b-zp9y0io6ob] {
    flex: 1;
    min-width: min(100%, 280px);
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.rules-search-icon[b-zp9y0io6ob] {
    position: absolute;
    left: 0.85rem;
    color: var(--color-text-muted);
    pointer-events: none;
}

.rules-search-input[b-zp9y0io6ob] {
    width: 100%;
    padding: 0.55rem 0.85rem 0.55rem 2.5rem;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    font-family: inherit;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.rules-search-input[b-zp9y0io6ob]::placeholder {
    color: var(--color-text-muted);
}

.rules-search-input:focus[b-zp9y0io6ob] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}

.rules-search-clear[b-zp9y0io6ob] {
    flex-shrink: 0;
}

.rules-toolbar-actions[b-zp9y0io6ob] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

/* Stats */
.rules-stats[b-zp9y0io6ob] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
}

.rules-stat[b-zp9y0io6ob] {
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.rules-stat-accent[b-zp9y0io6ob] {
    border-color: var(--color-accent-muted);
    background: var(--color-accent-muted);
}

.rules-stat-value[b-zp9y0io6ob] {
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--color-text-primary);
    font-variant-numeric: tabular-nums;
}

.rules-stat-accent .rules-stat-value[b-zp9y0io6ob] {
    color: var(--color-accent);
}

.rules-stat-label[b-zp9y0io6ob] {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-muted);
}

/* Category accordion */
.rules-category[b-zp9y0io6ob] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-md);
    overflow: hidden;
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.rules-category-open[b-zp9y0io6ob] {
    border-color: var(--color-border-strong);
    box-shadow: var(--shadow-xs);
}

.rules-category-header[b-zp9y0io6ob] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    width: 100%;
    padding: var(--space-md) var(--space-lg);
    margin: 0;
    border: none;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    font: inherit;
    transition: background var(--transition-fast);
}

.rules-category-header:hover[b-zp9y0io6ob] {
    background: var(--color-bg-hover);
}

.rules-category-header:focus-visible[b-zp9y0io6ob] {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
}

.rules-category-chevron[b-zp9y0io6ob] {
    flex-shrink: 0;
    color: var(--color-text-muted);
    display: flex;
}

.rules-category-open .rules-category-chevron[b-zp9y0io6ob] {
    color: var(--color-accent);
}

.rules-category-icon[b-zp9y0io6ob] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rules-category-open .rules-category-icon[b-zp9y0io6ob] {
    background: var(--color-accent-muted);
}

.rules-category-text[b-zp9y0io6ob] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rules-category-name[b-zp9y0io6ob] {
    font-size: var(--text-md);
    font-weight: 600;
    color: var(--color-text-primary);
}

.rules-category-count[b-zp9y0io6ob] {
    flex-shrink: 0;
}

.rules-category-blurb[b-zp9y0io6ob] {
    margin: 0 var(--space-lg) var(--space-md);
    padding: 0 var(--space-xl) 0 calc(40px + var(--space-sm) + 20px + var(--space-sm));
    max-width: 52rem;
}

.rules-empty-cat[b-zp9y0io6ob] {
    margin: 0 var(--space-lg) var(--space-lg);
    padding-left: calc(40px + var(--space-sm) + 20px + var(--space-sm));
}

@media (max-width: 640px) {
    .rules-category-blurb[b-zp9y0io6ob],
    .rules-empty-cat[b-zp9y0io6ob] {
        padding-left: var(--space-lg);
    }
}

/* Entry grid */
.rules-entry-grid[b-zp9y0io6ob] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--space-md);
    padding: 0 var(--space-lg) var(--space-lg);
}

.rules-entry-card[b-zp9y0io6ob] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: inherit;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.rules-entry-card:hover[b-zp9y0io6ob] {
    border-color: var(--color-accent-muted);
    box-shadow: var(--shadow-sm);
    transform: translateY(-1px);
    text-decoration: none;
    color: inherit;
}

.rules-entry-card:focus-visible[b-zp9y0io6ob] {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.rules-entry-card-top[b-zp9y0io6ob] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-sm);
}

.rules-entry-title[b-zp9y0io6ob] {
    margin: 0;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-text-primary);
    line-height: var(--leading-tight);
}

.rules-entry-arrow[b-zp9y0io6ob] {
    flex-shrink: 0;
    color: var(--color-text-muted);
    transition: color var(--transition-fast), transform var(--transition-fast);
}

.rules-entry-card:hover .rules-entry-arrow[b-zp9y0io6ob] {
    color: var(--color-accent);
    transform: translate(2px, -2px);
}

.rules-entry-summary[b-zp9y0io6ob] {
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: var(--leading-normal);
}

.rules-entry-meta[b-zp9y0io6ob] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    margin-top: auto;
    padding-top: var(--space-xs);
}

.rules-entry-page[b-zp9y0io6ob] {
    margin-left: auto;
    font-weight: 600;
}
/* /Components/Pages/Stunts/StuntList.razor.rz.scp.css */
.stunts-toolbar[b-psk86q22p7] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-md);
}

.stunts-search[b-psk86q22p7] {
    max-width: 420px;
}

@media (max-width: 768px) {
    .stunts-toolbar[b-psk86q22p7] {
        padding: var(--space-sm);
    }

    .stunts-search[b-psk86q22p7] {
        max-width: 100%;
    }
}
/* /Components/Pages/Systems/SystemHub.razor.rz.scp.css */
.system-hub[b-2oh9ibf4nf] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-xl);
}

/* ── Top bar ── */
.system-hub-topbar[b-2oh9ibf4nf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    flex-shrink: 0;
}

.system-hub-brand[b-2oh9ibf4nf] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.system-hub-brand-icon[b-2oh9ibf4nf] {
    width: 36px;
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
}

.system-hub-brand-text[b-2oh9ibf4nf] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.system-hub-brand-name[b-2oh9ibf4nf] {
    font-family: var(--font-serif);
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--color-accent);
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.system-hub-brand-tag[b-2oh9ibf4nf] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

/* ── Main content ── */
.system-hub-main[b-2oh9ibf4nf] {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-2xl) 0 var(--space-3xl);
}

.system-hub-intro[b-2oh9ibf4nf] {
    text-align: center;
    max-width: 560px;
    margin: 0 auto var(--space-3xl);
    animation: systemHubFadeUp-b-2oh9ibf4nf 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.system-hub-eyebrow[b-2oh9ibf4nf] {
    margin: 0 0 var(--space-md);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.system-hub-title[b-2oh9ibf4nf] {
    margin: 0 0 var(--space-lg);
    font-family: var(--font-serif);
    font-size: clamp(1.875rem, 4.5vw, 2.75rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--color-text-primary);
}

.system-hub-lead[b-2oh9ibf4nf] {
    margin: 0;
    font-size: var(--text-md);
    line-height: 1.65;
    color: var(--color-text-secondary);
}

/* ── Card grid ── */
.system-hub-grid[b-2oh9ibf4nf] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-lg);
    width: 100%;
}

.system-card[b-2oh9ibf4nf] {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-border);
    background:
        linear-gradient(165deg, rgba(30, 32, 40, 0.9) 0%, rgba(20, 22, 28, 0.95) 100%);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    animation: systemHubFadeUp-b-2oh9ibf4nf 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.system-card:nth-child(1)[b-2oh9ibf4nf] { animation-delay: 0.08s; }
.system-card:nth-child(2)[b-2oh9ibf4nf] { animation-delay: 0.16s; }
.system-card:nth-child(3)[b-2oh9ibf4nf] { animation-delay: 0.24s; }

.system-card[b-2oh9ibf4nf]::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    opacity: 0;
    background: linear-gradient(165deg, rgba(212, 168, 67, 0.06) 0%, transparent 50%);
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.system-card:hover[b-2oh9ibf4nf] {
    border-color: rgba(212, 168, 67, 0.35);
    box-shadow:
        0 0 0 1px rgba(212, 168, 67, 0.12),
        0 20px 48px rgba(0, 0, 0, 0.45),
        0 0 80px rgba(212, 168, 67, 0.06);
    transform: translateY(-6px);
}

.system-card:hover[b-2oh9ibf4nf]::before {
    opacity: 1;
}

.system-card:focus-visible[b-2oh9ibf4nf] {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.system-card-featured[b-2oh9ibf4nf] {
    border-color: rgba(212, 168, 67, 0.22);
    background:
        linear-gradient(165deg, rgba(38, 34, 22, 0.95) 0%, rgba(22, 20, 16, 0.98) 100%);
}

.system-card-featured:hover[b-2oh9ibf4nf] {
    border-color: rgba(212, 168, 67, 0.5);
}

/* ── Card visual ── */
.system-card-visual[b-2oh9ibf4nf] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 3;
    padding: var(--space-xl) var(--space-lg) var(--space-md);
    overflow: hidden;
}

.system-card-visual-glow[b-2oh9ibf4nf] {
    position: absolute;
    width: 70%;
    height: 70%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 168, 67, 0.18) 0%, transparent 70%);
    filter: blur(24px);
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.system-card-visual-glow-dnd[b-2oh9ibf4nf] {
    background: radial-gradient(circle, rgba(229, 83, 75, 0.14) 0%, transparent 70%);
}

.system-card-visual-glow-custom[b-2oh9ibf4nf] {
    background: radial-gradient(circle, rgba(163, 113, 247, 0.14) 0%, transparent 70%);
}

.system-card:hover .system-card-visual-glow[b-2oh9ibf4nf] {
    transform: scale(1.15);
    opacity: 1.2;
}

.system-card-image[b-2oh9ibf4nf] {
    position: relative;
    z-index: 1;
    width: auto;
    height: 100%;
    max-height: 140px;
    object-fit: contain;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.system-card:hover .system-card-image[b-2oh9ibf4nf] {
    transform: scale(1.04);
}

/* ── Card body ── */
.system-card-body[b-2oh9ibf4nf] {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: var(--space-xs);
    padding: var(--space-lg) var(--space-xl) var(--space-xl);
    border-top: 1px solid var(--color-border-subtle);
}

.system-card-meta[b-2oh9ibf4nf] {
    margin-bottom: var(--space-xs);
}

.system-card-badge[b-2oh9ibf4nf] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: var(--radius-full);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.system-card-badge-active[b-2oh9ibf4nf] {
    background: var(--color-accent-muted);
    color: var(--color-accent);
    border: 1px solid rgba(212, 168, 67, 0.25);
}

.system-card-badge-soon[b-2oh9ibf4nf] {
    background: rgba(110, 116, 135, 0.15);
    color: var(--color-text-secondary);
    border: 1px solid rgba(110, 116, 135, 0.25);
}

.system-card-badge-flex[b-2oh9ibf4nf] {
    background: var(--color-purple-muted);
    color: var(--color-purple);
    border: 1px solid rgba(163, 113, 247, 0.25);
}

.system-card-name[b-2oh9ibf4nf] {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--color-text-primary);
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.system-card-sub[b-2oh9ibf4nf] {
    margin: 0;
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.system-card-desc[b-2oh9ibf4nf] {
    margin: var(--space-sm) 0 0;
    font-size: var(--text-sm);
    line-height: 1.55;
    color: var(--color-text-secondary);
    flex: 1;
}

.system-card-action[b-2oh9ibf4nf] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-accent);
    transition: gap 0.2s ease;
}

.system-card:hover .system-card-action[b-2oh9ibf4nf] {
    gap: var(--space-md);
}

/* ── Footer ── */
.system-hub-footer[b-2oh9ibf4nf] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    padding: var(--space-xl) 0;
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    flex-shrink: 0;
}

.system-hub-footer-dot[b-2oh9ibf4nf] {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--color-border-strong);
}

/* ── Animation ── */
@keyframes systemHubFadeUp-b-2oh9ibf4nf {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .system-hub-intro[b-2oh9ibf4nf],
    .system-card[b-2oh9ibf4nf] {
        animation: none;
    }

    .system-card:hover[b-2oh9ibf4nf] {
        transform: none;
    }

    .system-card:hover .system-card-image[b-2oh9ibf4nf] {
        transform: none;
    }
}

/* ── Responsive ── */
@media (max-width: 960px) {
    .system-hub-grid[b-2oh9ibf4nf] {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }

    .system-hub-main[b-2oh9ibf4nf] {
        justify-content: flex-start;
        padding-top: var(--space-xl);
    }
}

@media (max-width: 480px) {
    .system-hub[b-2oh9ibf4nf] {
        padding: 0 var(--space-lg);
    }

    .system-hub-topbar[b-2oh9ibf4nf] {
        height: 64px;
    }

    .system-hub-intro[b-2oh9ibf4nf] {
        margin-bottom: var(--space-2xl);
    }

    .system-card-body[b-2oh9ibf4nf] {
        padding: var(--space-lg);
    }
}
/* /Components/Pages/World/FactionDetail.razor.rz.scp.css */
.faction-panel-card[b-dzgomsrh6w]  .notes-panel {
    margin-bottom: 0;
}

.faction-panel-card[b-dzgomsrh6w]  .notes-panel-header h2 {
    margin: 0;
}

.faction-panel-card[b-dzgomsrh6w]  .tag-editor {
    margin: 0;
}

@media (max-width: 640px) {
    .faction-source-grid[b-dzgomsrh6w] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/World/LocationDetail.razor.rz.scp.css */
.location-panel-card[b-eengeoofed]  .notes-panel {
    margin-bottom: 0;
}

.location-panel-card[b-eengeoofed]  .notes-panel-header h2 {
    margin: 0;
}

.location-panel-card[b-eengeoofed]  .tag-editor {
    margin: 0;
}

@media (max-width: 640px) {
    .location-details-grid[b-eengeoofed],
    .location-source-grid[b-eengeoofed] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Shared/AuthPageShell.razor.rz.scp.css */
/* Shared auth page shell for login/register */
.login-page[b-66mrgsnu5j] {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.25rem 0;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    background:
        radial-gradient(ellipse at 50% 30%, rgba(212, 168, 67, 0.06) 0%, transparent 60%),
        linear-gradient(180deg, rgba(8, 10, 16, 0.3) 0%, rgba(8, 10, 16, 0.65) 60%, rgba(8, 10, 16, 0.92) 100%),
        url('/images/login-bg.png?v=630784ce') center/cover no-repeat fixed;
    background-color: #080a10;
    view-transition-name: auth-page;
}

.particles[b-66mrgsnu5j] {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.particle[b-66mrgsnu5j] {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 168, 67, 0.8) 0%, transparent 70%);
    opacity: 0;
    animation: authFloat-b-66mrgsnu5j var(--dur, 6s) var(--delay, 0s) infinite ease-in-out;
}

.p1[b-66mrgsnu5j] { width: 3px; height: 3px; top: 15%; left: 20%; --dur: 5.5s; --delay: 0s; }
.p2[b-66mrgsnu5j] { width: 2px; height: 2px; top: 25%; left: 75%; --dur: 7s; --delay: 1.2s; }
.p3[b-66mrgsnu5j] { width: 4px; height: 4px; top: 60%; left: 10%; --dur: 6s; --delay: 2.5s; }
.p4[b-66mrgsnu5j] { width: 2px; height: 2px; top: 40%; left: 85%; --dur: 8s; --delay: 0.8s; }
.p5[b-66mrgsnu5j] { width: 3px; height: 3px; top: 70%; left: 50%; --dur: 5s; --delay: 3.0s; }
.p6[b-66mrgsnu5j] { width: 2px; height: 2px; top: 10%; left: 55%; --dur: 6.5s; --delay: 1.8s; }
.p7[b-66mrgsnu5j] { width: 3px; height: 3px; top: 80%; left: 30%; --dur: 7.5s; --delay: 0.5s; }
.p8[b-66mrgsnu5j] { width: 2px; height: 2px; top: 50%; left: 65%; --dur: 5.8s; --delay: 2.2s; }

@keyframes authFloat-b-66mrgsnu5j {
    0%, 100% {
        opacity: 0;
        transform: translateY(0) scale(0.5);
    }
    30% {
        opacity: 0.7;
    }
    50% {
        opacity: 0.9;
        transform: translateY(-30px) scale(1);
    }
    70% {
        opacity: 0.5;
    }
}

.login-card[b-66mrgsnu5j] {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 460px;
    padding: 2rem 2.25rem 1.75rem;
    border-radius: 18px;
    background:
        linear-gradient(
            170deg,
            rgba(30, 28, 22, 0.88) 0%,
            rgba(18, 16, 12, 0.92) 40%,
            rgba(12, 10, 8, 0.95) 100%
        );
    backdrop-filter: blur(24px) saturate(1.2);
    -webkit-backdrop-filter: blur(24px) saturate(1.2);
    border: 1px solid rgba(212, 168, 67, 0.22);
    box-shadow:
        0 0 80px rgba(212, 168, 67, 0.06),
        0 0 40px rgba(212, 168, 67, 0.04),
        0 32px 80px rgba(0, 0, 0, 0.6),
        0 8px 24px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(212, 168, 67, 0.1),
        inset 0 0 30px rgba(212, 168, 67, 0.02);
    animation: authCardReveal-b-66mrgsnu5j 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
    view-transition-name: auth-card;
}

.auth-register .login-card[b-66mrgsnu5j] {
    max-width: 480px;
}

.card-glow-top[b-66mrgsnu5j] {
    position: absolute;
    top: -1px;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(212, 168, 67, 0.5) 20%,
        rgba(237, 196, 102, 0.8) 50%,
        rgba(212, 168, 67, 0.5) 80%,
        transparent 100%
    );
    filter: blur(0.5px);
    z-index: 5;
}

.frame-line[b-66mrgsnu5j] {
    position: absolute;
    background: linear-gradient(90deg, transparent, rgba(212, 168, 67, 0.15), transparent);
    z-index: 2;
    pointer-events: none;
}

.frame-top[b-66mrgsnu5j],
.frame-bottom[b-66mrgsnu5j] {
    left: 28px;
    right: 28px;
    height: 1px;
}

.frame-left[b-66mrgsnu5j],
.frame-right[b-66mrgsnu5j] {
    top: 28px;
    bottom: 28px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(212, 168, 67, 0.15), transparent);
}

.frame-top[b-66mrgsnu5j] { top: 14px; }
.frame-bottom[b-66mrgsnu5j] { bottom: 14px; }
.frame-left[b-66mrgsnu5j] { left: 14px; }
.frame-right[b-66mrgsnu5j] { right: 14px; }

.corner-diamond[b-66mrgsnu5j] {
    position: absolute;
    font-size: 8px;
    color: rgba(212, 168, 67, 0.35);
    line-height: 1;
    z-index: 3;
    pointer-events: none;
    text-shadow: 0 0 6px rgba(212, 168, 67, 0.2);
}

.cd-tl[b-66mrgsnu5j] { top: 9px; left: 10px; }
.cd-tr[b-66mrgsnu5j] { top: 9px; right: 10px; }
.cd-bl[b-66mrgsnu5j] { bottom: 9px; left: 10px; }
.cd-br[b-66mrgsnu5j] { bottom: 9px; right: 10px; }

.card-logo[b-66mrgsnu5j] {
    display: flex;
    justify-content: center;
    margin: 0 auto 0.25rem;
    view-transition-name: auth-logo;
}

.card-logo img[b-66mrgsnu5j] {
    width: min(100%, 260px);
    height: auto;
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.5));
    animation: authLogoGlow-b-66mrgsnu5j 4s ease-in-out infinite;
}

@keyframes authLogoGlow-b-66mrgsnu5j {
    0%, 100% { filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.5)) brightness(1); }
    50% { filter: drop-shadow(0 12px 32px rgba(212, 168, 67, 0.15)) brightness(1.04); }
}

.ornament-divider[b-66mrgsnu5j] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.5rem 0 1.25rem;
}

.ornament-divider.small[b-66mrgsnu5j] {
    margin: 1.25rem 0 0.75rem;
    gap: 0.5rem;
}

.divider-line[b-66mrgsnu5j] {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(212, 168, 67, 0.3) 50%, transparent 100%);
}

.divider-gem[b-66mrgsnu5j] {
    color: rgba(212, 168, 67, 0.5);
    font-size: 0.6rem;
    text-shadow: 0 0 8px rgba(212, 168, 67, 0.3);
    animation: authGemPulse-b-66mrgsnu5j 3s ease-in-out infinite;
}

.ornament-divider.small .divider-gem[b-66mrgsnu5j] {
    font-size: 0.5rem;
}

@keyframes authGemPulse-b-66mrgsnu5j {
    0%, 100% { opacity: 0.5; text-shadow: 0 0 8px rgba(212, 168, 67, 0.2); }
    50% { opacity: 1; text-shadow: 0 0 14px rgba(212, 168, 67, 0.5); }
}

.card-header[b-66mrgsnu5j] {
    position: relative;
    text-align: center;
    margin: 0 -0.35rem 1.2rem;
    padding: 1rem 1rem 0.95rem;
    border-radius: 14px;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(237, 196, 102, 0.13), transparent 62%),
        linear-gradient(180deg, rgba(22, 19, 13, 0.72), rgba(10, 8, 6, 0.38));
    border: 1px solid rgba(212, 168, 67, 0.14);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        inset 0 -18px 34px rgba(0, 0, 0, 0.16);
}

.card-header[b-66mrgsnu5j]::before,
.card-header[b-66mrgsnu5j]::after {
    content: '';
    position: absolute;
    top: 0.72rem;
    width: 64px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(237, 196, 102, 0.42));
    pointer-events: none;
}

.card-header[b-66mrgsnu5j]::before {
    left: 0.8rem;
}

.card-header[b-66mrgsnu5j]::after {
    right: 0.8rem;
    transform: scaleX(-1);
}

.welcome-title[b-66mrgsnu5j] {
    position: relative;
    z-index: 1;
    font-family: 'Cinzel', var(--font-serif, Georgia, serif);
    font-size: 1.9rem;
    font-weight: 900;
    color: #eaedf3;
    margin: 0 0 0.35rem;
    letter-spacing: 0.055em;
    text-transform: uppercase;
    background: linear-gradient(135deg, #f0e0b0 0%, #d4a843 40%, #c49030 70%, #e8c860 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.55));
}

.welcome-subtitle[b-66mrgsnu5j] {
    position: relative;
    z-index: 1;
    font-size: 0.88rem;
    color: rgba(234, 237, 243, 0.72);
    margin: 0;
    letter-spacing: 0.03em;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.72);
}

.auth-content[b-66mrgsnu5j] {
    view-transition-name: auth-content;
}

.auth-content[b-66mrgsnu5j]  .error-message {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.65rem 1rem;
    border-radius: 12px;
    background: rgba(229, 83, 75, 0.1);
    color: #f47067;
    font-size: 0.82rem;
    border: 1px solid rgba(229, 83, 75, 0.18);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    animation: authShakeError-b-66mrgsnu5j 0.45s ease;
}

.auth-content[b-66mrgsnu5j]  .error-message svg {
    flex-shrink: 0;
}

@keyframes authShakeError-b-66mrgsnu5j {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(3px); }
}

.auth-content[b-66mrgsnu5j]  .login-form {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0 -0.35rem;
    padding: 1rem;
    border-radius: 16px;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(212, 168, 67, 0.08), transparent 55%),
        linear-gradient(180deg, rgba(11, 9, 6, 0.62), rgba(5, 4, 3, 0.38));
    border: 1px solid rgba(212, 168, 67, 0.12);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 18px 38px rgba(0, 0, 0, 0.22);
    isolation: isolate;
}

.auth-register .auth-content[b-66mrgsnu5j]  .login-form {
    gap: 0.9rem;
}

.auth-content[b-66mrgsnu5j]  .login-form::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(90deg, transparent, rgba(237, 196, 102, 0.09), transparent) top/100% 1px no-repeat,
        radial-gradient(circle at 12% 14%, rgba(237, 196, 102, 0.08), transparent 22%),
        radial-gradient(circle at 88% 82%, rgba(237, 196, 102, 0.06), transparent 26%);
    pointer-events: none;
    z-index: -1;
}

.auth-content[b-66mrgsnu5j]  .form-group {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.auth-content[b-66mrgsnu5j]  .form-group label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.74rem;
    font-weight: 800;
    color: rgba(237, 196, 102, 0.86);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.72);
}

.auth-content[b-66mrgsnu5j]  .form-group label::before {
    content: '';
    width: 0.44rem;
    height: 0.44rem;
    border-radius: 50%;
    background: radial-gradient(circle, #edc466 0 28%, rgba(212, 168, 67, 0.22) 32% 100%);
    box-shadow: 0 0 12px rgba(212, 168, 67, 0.32);
}

.auth-content[b-66mrgsnu5j]  .input-wrapper {
    position: relative;
    border-radius: 14px;
}

.auth-content[b-66mrgsnu5j]  .input-wrapper::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(237, 196, 102, 0.52), rgba(88, 166, 255, 0.12) 48%, rgba(212, 168, 67, 0.16));
    opacity: 0.45;
    transition: opacity 0.25s ease, filter 0.25s ease;
}

.auth-content[b-66mrgsnu5j]  .input-wrapper::after {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 45%);
    pointer-events: none;
    z-index: 1;
}

.auth-content[b-66mrgsnu5j]  .input-icon {
    position: absolute;
    left: 0.95rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.05rem;
    height: 1.05rem;
    color: rgba(237, 196, 102, 0.68);
    pointer-events: none;
    transition: color 0.25s ease, filter 0.25s ease, transform 0.25s ease;
    z-index: 3;
    filter: drop-shadow(0 0 8px rgba(212, 168, 67, 0.16));
}

.auth-content[b-66mrgsnu5j]  .form-group input[type="text"],
.auth-content[b-66mrgsnu5j]  .form-group input[type="password"] {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    padding: 0.88rem 1rem 0.88rem 3rem;
    border: 1px solid rgba(6, 5, 3, 0.8);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(24, 21, 15, 0.94), rgba(10, 8, 6, 0.96));
    color: #eaedf3;
    caret-color: #edc466;
    font-size: 0.94rem;
    font-family: inherit;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.045),
        inset 0 -18px 26px rgba(0, 0, 0, 0.18),
        0 8px 18px rgba(0, 0, 0, 0.24);
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease,
        transform 0.25s ease;
}

.auth-content[b-66mrgsnu5j]  .form-group input::placeholder {
    color: rgba(176, 181, 195, 0.45);
}

.auth-content[b-66mrgsnu5j]  .form-group input:focus {
    outline: none;
    border-color: rgba(237, 196, 102, 0.55);
    background: linear-gradient(180deg, rgba(31, 27, 18, 0.98), rgba(12, 10, 7, 0.98));
    box-shadow:
        0 0 0 3px rgba(212, 168, 67, 0.13),
        0 0 28px rgba(212, 168, 67, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        inset 0 -18px 26px rgba(0, 0, 0, 0.14);
    transform: translateY(-1px);
}

.auth-content[b-66mrgsnu5j]  .input-wrapper:focus-within .input-icon {
    color: #edc466;
    filter: drop-shadow(0 0 12px rgba(212, 168, 67, 0.35));
    transform: translateY(-50%) scale(1.05);
}

.auth-content[b-66mrgsnu5j]  .input-wrapper:focus-within::before {
    opacity: 1;
    filter: saturate(1.25);
}

.auth-content[b-66mrgsnu5j]  .form-group input:-webkit-autofill,
.auth-content[b-66mrgsnu5j]  .form-group input:-webkit-autofill:hover,
.auth-content[b-66mrgsnu5j]  .form-group input:-webkit-autofill:focus,
.auth-content[b-66mrgsnu5j]  .form-group input:-webkit-autofill:active {
    -webkit-text-fill-color: #eaedf3;
    caret-color: #edc466;
    border-color: rgba(237, 196, 102, 0.42);
    box-shadow:
        0 0 0 1000px #14100b inset,
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        inset 0 -18px 26px rgba(0, 0, 0, 0.2),
        0 8px 18px rgba(0, 0, 0, 0.24);
    transition: background-color 9999s ease-in-out 0s;
}

.auth-content[b-66mrgsnu5j]  .form-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: -0.05rem 0 0.1rem;
}

.auth-content[b-66mrgsnu5j]  .remember-me {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    padding: 0.25rem 0.45rem 0.25rem 0.05rem;
    border-radius: 999px;
    font-size: 0.78rem;
    color: rgba(234, 237, 243, 0.66);
    cursor: pointer;
    user-select: none;
    transition: color 0.2s ease;
}

.auth-content[b-66mrgsnu5j]  .remember-me:hover {
    color: rgba(234, 237, 243, 0.88);
}

.auth-content[b-66mrgsnu5j]  .remember-me input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    min-width: 0;
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.auth-content[b-66mrgsnu5j]  .custom-check {
    display: inline-flex;
    align-items: center;
    width: 40px;
    height: 22px;
    border: 1.5px solid rgba(237, 196, 102, 0.36);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent),
        linear-gradient(180deg, rgba(24, 21, 15, 0.94), rgba(8, 6, 4, 0.94));
    flex-shrink: 0;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    box-shadow:
        inset 0 1px 3px rgba(0, 0, 0, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 0 12px rgba(0, 0, 0, 0.22);
}

.auth-content[b-66mrgsnu5j]  .custom-check::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: linear-gradient(180deg, #f4efe2, #c9cdd8);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.36);
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.auth-content[b-66mrgsnu5j]  .remember-me input:checked + .custom-check {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 46%),
        linear-gradient(135deg, #d4a843, #3fb950);
    border-color: #d4a843;
    box-shadow: 0 0 8px rgba(212, 168, 67, 0.25);
}

.auth-content[b-66mrgsnu5j]  .remember-me input:checked + .custom-check::after {
    transform: translateX(18px);
    background: linear-gradient(180deg, #fffdf4, #f0ead8);
    box-shadow: 0 2px 6px rgba(15, 17, 23, 0.38);
}

.auth-content[b-66mrgsnu5j]  .remember-me input:focus-visible + .custom-check {
    box-shadow: 0 0 0 2px rgba(212, 168, 67, 0.3);
}

.auth-content[b-66mrgsnu5j]  .btn-login {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 0.9rem 1.5rem;
    margin-top: 0.25rem;
    border: 1px solid rgba(255, 229, 156, 0.58);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 238, 170, 0.28), transparent 42%),
        linear-gradient(135deg, #a87322 0%, #d4a843 24%, #f1ce78 49%, #d4a843 74%, #9a671e 100%);
    background-size: 200% 100%;
    color: #0a0800;
    font-size: 1.02rem;
    font-weight: 900;
    font-family: 'Cinzel', var(--font-serif, Georgia, serif);
    letter-spacing: 0.11em;
    cursor: pointer;
    overflow: hidden;
    box-shadow:
        0 0 28px rgba(212, 168, 67, 0.18),
        0 12px 28px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.38),
        inset 0 -12px 22px rgba(84, 45, 6, 0.18);
    transition:
        transform 0.2s ease,
        box-shadow 0.3s ease,
        background-position 0.5s ease;
}

.auth-content[b-66mrgsnu5j]  .btn-login::after {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 10px;
    border: 1px solid rgba(71, 42, 5, 0.28);
    pointer-events: none;
}

.auth-content[b-66mrgsnu5j]  .btn-shimmer {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        transparent 35%,
        rgba(255, 255, 255, 0.18) 45%,
        rgba(255, 255, 255, 0.25) 50%,
        rgba(255, 255, 255, 0.18) 55%,
        transparent 65%
    );
    background-size: 300% 100%;
    animation: authShimmer-b-66mrgsnu5j 4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes authShimmer-b-66mrgsnu5j {
    0% { background-position: 200% 0; }
    100% { background-position: -100% 0; }
}

.auth-content[b-66mrgsnu5j]  .btn-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.auth-content[b-66mrgsnu5j]  .btn-star {
    font-size: 0.65rem;
    opacity: 0.6;
    transition: opacity 0.2s ease, transform 0.3s ease;
}

.auth-content[b-66mrgsnu5j]  .btn-login:hover {
    background-position: 100% 0;
    transform: translateY(-2px);
    box-shadow:
        0 0 38px rgba(212, 168, 67, 0.32),
        0 16px 34px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.48),
        inset 0 -12px 22px rgba(84, 45, 6, 0.16);
}

.auth-content[b-66mrgsnu5j]  .btn-login:hover .btn-star {
    opacity: 1;
    transform: scale(1.3);
}

.auth-content[b-66mrgsnu5j]  .btn-login:active {
    transform: translateY(0) scale(0.99);
}

.auth-content[b-66mrgsnu5j]  .btn-login:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 2px #080a10,
        0 0 0 4px #d4a843;
}

.account-switch[b-66mrgsnu5j] {
    margin: 0.25rem -0.35rem 0;
    padding: 0.7rem 0.9rem;
    text-align: center;
    font-size: 0.82rem;
    color: rgba(234, 237, 243, 0.58);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(212, 168, 67, 0.08), transparent);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.8);
}

.account-switch a[b-66mrgsnu5j] {
    color: #d4a843;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

.account-switch a:hover[b-66mrgsnu5j] {
    color: #edc466;
    text-shadow: 0 0 8px rgba(212, 168, 67, 0.3);
}

.account-switch svg[b-66mrgsnu5j] {
    color: #d4a843;
    transition: transform 0.25s ease;
}

.account-switch:hover svg[b-66mrgsnu5j] {
    transform: translateX(3px);
}

.feature-bar[b-66mrgsnu5j] {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: center;
    padding: 1.15rem clamp(1rem, 4vw, 3rem) 1.25rem;
    margin: auto -1.25rem 0;
    width: calc(100% + 2.5rem);
    background:
        linear-gradient(180deg, rgba(6, 7, 10, 0.12) 0%, rgba(6, 7, 10, 0.82) 28%, rgba(6, 7, 10, 0.97) 100%);
    border-top: 1px solid rgba(237, 196, 102, 0.28);
    box-shadow:
        0 -24px 70px rgba(0, 0, 0, 0.58),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: authFadeIn-b-66mrgsnu5j 0.8s 0.5s ease both;
}

.feature-bar[b-66mrgsnu5j]::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 50%;
    width: min(960px, calc(100% - 2rem));
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, rgba(237, 196, 102, 0.7), transparent);
    pointer-events: none;
}

.feature-item[b-66mrgsnu5j] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    max-width: 185px;
}

.feature-icon[b-66mrgsnu5j] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    flex-shrink: 0;
    color: #edc466;
    filter: drop-shadow(0 0 8px rgba(212, 168, 67, 0.22));
}

.feature-icon svg[b-66mrgsnu5j] {
    width: 1.15rem;
    height: 1.15rem;
    stroke-width: 2;
}

.feature-item strong[b-66mrgsnu5j] {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    color: #edc466;
    margin-bottom: 0.1rem;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.85);
}

.feature-item span[b-66mrgsnu5j] {
    font-size: 0.65rem;
    color: rgba(234, 237, 243, 0.72);
    line-height: 1.35;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.9);
}

@keyframes authCardReveal-b-66mrgsnu5j {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes authFadeIn-b-66mrgsnu5j {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 600px) {
    .login-page[b-66mrgsnu5j] {
        justify-content: flex-start;
        padding: max(0.75rem, env(safe-area-inset-top)) 0.75rem 0;
        background:
            radial-gradient(ellipse at 50% 12%, rgba(237, 196, 102, 0.1) 0%, transparent 45%),
            linear-gradient(180deg, rgba(5, 6, 9, 0.18) 0%, rgba(5, 6, 9, 0.7) 48%, rgba(5, 6, 9, 0.96) 100%),
            url('/images/login-bg.png?v=630784ce') 49% top/auto 100% no-repeat scroll;
    }

    .particles[b-66mrgsnu5j] {
        opacity: 0.55;
    }

    .login-card[b-66mrgsnu5j] {
        max-width: 100%;
        margin: 0 auto;
        padding: 1.2rem 1rem 1rem;
        border-radius: 16px;
        background:
            linear-gradient(170deg, rgba(28, 25, 19, 0.9) 0%, rgba(13, 11, 8, 0.96) 100%);
        box-shadow:
            0 0 48px rgba(212, 168, 67, 0.08),
            0 18px 54px rgba(0, 0, 0, 0.64),
            inset 0 1px 0 rgba(212, 168, 67, 0.12);
    }

    .card-logo img[b-66mrgsnu5j] {
        width: min(68vw, 178px);
    }

    .ornament-divider[b-66mrgsnu5j] {
        margin: 0.25rem 0 0.8rem;
    }

    .ornament-divider.small[b-66mrgsnu5j] {
        margin: 0.9rem 0 0.55rem;
    }

    .card-header[b-66mrgsnu5j] {
        margin: 0 0 0.85rem;
        padding: 0.8rem 0.85rem 0.75rem;
        border-radius: 12px;
    }

    .card-header[b-66mrgsnu5j]::before,
    .card-header[b-66mrgsnu5j]::after {
        width: 40px;
        opacity: 0.55;
    }

    .welcome-title[b-66mrgsnu5j] {
        font-size: 1.32rem;
        letter-spacing: 0.035em;
        line-height: 1.12;
    }

    .welcome-subtitle[b-66mrgsnu5j] {
        font-size: 0.78rem;
        line-height: 1.35;
    }

    .auth-content[b-66mrgsnu5j]  .login-form {
        margin: 0;
        gap: 0.75rem;
        padding: 0.8rem;
        border-radius: 14px;
    }

    .auth-register .auth-content[b-66mrgsnu5j]  .login-form {
        gap: 0.62rem;
    }

    .auth-content[b-66mrgsnu5j]  .form-group {
        gap: 0.32rem;
    }

    .auth-content[b-66mrgsnu5j]  .form-group label {
        font-size: 0.67rem;
        letter-spacing: 0.075em;
    }

    .auth-content[b-66mrgsnu5j]  .form-group input[type="text"],
    .auth-content[b-66mrgsnu5j]  .form-group input[type="password"] {
        min-height: 44px;
        padding: 0.72rem 0.85rem 0.72rem 2.65rem;
        border-radius: 12px;
        font-size: 0.92rem;
    }

    .auth-register .auth-content[b-66mrgsnu5j]  .form-group input[type="text"],
    .auth-register .auth-content[b-66mrgsnu5j]  .form-group input[type="password"] {
        min-height: 42px;
        padding-top: 0.66rem;
        padding-bottom: 0.66rem;
    }

    .auth-content[b-66mrgsnu5j]  .input-wrapper {
        border-radius: 13px;
    }

    .auth-content[b-66mrgsnu5j]  .input-wrapper::after {
        border-radius: 12px;
    }

    .auth-content[b-66mrgsnu5j]  .input-icon {
        left: 0.85rem;
        width: 0.98rem;
        height: 0.98rem;
    }

    .auth-content[b-66mrgsnu5j]  .form-options {
        margin: -0.1rem 0 0;
    }

    .auth-content[b-66mrgsnu5j]  .remember-me {
        font-size: 0.74rem;
    }

    .auth-content[b-66mrgsnu5j]  .btn-login {
        min-height: 46px;
        padding: 0.75rem 1rem;
        border-radius: 12px;
        font-size: 0.9rem;
        letter-spacing: 0.08em;
    }

    .auth-content[b-66mrgsnu5j]  .btn-login::after {
        border-radius: 8px;
    }

    .account-switch[b-66mrgsnu5j] {
        margin: 0.1rem 0 0;
        padding: 0.62rem 0.7rem;
        flex-wrap: wrap;
        row-gap: 0.2rem;
        border-radius: 14px;
        font-size: 0.76rem;
    }

    .feature-bar[b-66mrgsnu5j] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
        margin-right: -0.75rem;
        margin-left: -0.75rem;
        width: calc(100% + 1.5rem);
        padding: 0.8rem 0.75rem calc(0.85rem + env(safe-area-inset-bottom));
    }

    .feature-item[b-66mrgsnu5j] {
        max-width: none;
        min-width: 0;
        gap: 0.42rem;
        padding: 0.45rem 0.5rem;
        border-radius: 10px;
        background: rgba(15, 12, 8, 0.42);
        border: 1px solid rgba(237, 196, 102, 0.08);
    }

    .feature-icon[b-66mrgsnu5j] {
        width: 1.05rem;
        height: 1.05rem;
    }

    .feature-icon svg[b-66mrgsnu5j] {
        width: 0.95rem;
        height: 0.95rem;
    }

    .feature-item strong[b-66mrgsnu5j] {
        font-size: 0.66rem;
        line-height: 1.2;
    }

    .feature-item span[b-66mrgsnu5j] {
        font-size: 0.6rem;
        line-height: 1.25;
    }

    .frame-line[b-66mrgsnu5j],
    .corner-diamond[b-66mrgsnu5j] {
        display: none;
    }
}

@media (max-width: 420px) {
    .login-card[b-66mrgsnu5j] {
        padding-right: 0.82rem;
        padding-left: 0.82rem;
    }

    .auth-content[b-66mrgsnu5j]  .login-form,
    .card-header[b-66mrgsnu5j],
    .account-switch[b-66mrgsnu5j] {
        margin-right: 0;
        margin-left: 0;
    }
}

@media (max-width: 380px) {
    .login-card[b-66mrgsnu5j] {
        padding: 0.95rem 0.7rem 0.85rem;
    }

    .card-logo img[b-66mrgsnu5j] {
        width: min(66vw, 150px);
    }

    .welcome-title[b-66mrgsnu5j] {
        font-size: 1.12rem;
    }

    .welcome-subtitle[b-66mrgsnu5j] {
        font-size: 0.72rem;
    }

    .auth-content[b-66mrgsnu5j]  .login-form {
        padding: 0.68rem;
    }

    .auth-content[b-66mrgsnu5j]  .form-group input[type="text"],
    .auth-content[b-66mrgsnu5j]  .form-group input[type="password"] {
        min-height: 40px;
        padding-top: 0.58rem;
        padding-bottom: 0.58rem;
        font-size: 0.86rem;
    }

    .auth-content[b-66mrgsnu5j]  .btn-login {
        min-height: 42px;
        font-size: 0.8rem;
    }

    .feature-bar[b-66mrgsnu5j] {
        display: none;
    }
}

@media (max-width: 600px) and (max-height: 760px) {
    .login-page[b-66mrgsnu5j] {
        padding-top: 0.55rem;
    }

    .auth-register .card-logo img[b-66mrgsnu5j] {
        width: min(58vw, 138px);
    }

    .auth-register .ornament-divider[b-66mrgsnu5j] {
        margin: 0.15rem 0 0.55rem;
    }

    .auth-register .card-header[b-66mrgsnu5j] {
        margin-bottom: 0.62rem;
        padding: 0.62rem 0.75rem;
    }

    .auth-register .welcome-title[b-66mrgsnu5j] {
        font-size: 1.1rem;
    }

    .auth-register .welcome-subtitle[b-66mrgsnu5j] {
        font-size: 0.72rem;
    }

    .auth-register .feature-bar[b-66mrgsnu5j] {
        display: none;
    }
}

@media (min-height: 800px) {
    .login-page[b-66mrgsnu5j] {
        padding-top: 3rem;
    }
}

/* Final viewport-fit pass: keep login/register on one screen. */
.login-page[b-66mrgsnu5j] {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    align-items: center;
    justify-items: center;
    justify-content: stretch;
    padding: clamp(0.65rem, 1.7vh, 1.25rem) 1rem 0;
    overflow: hidden;
}

.login-card[b-66mrgsnu5j] {
    align-self: center;
    width: min(420px, calc(100vw - 2rem));
    max-width: none;
    max-height: calc(100dvh - 6.2rem);
    display: flex;
    flex-direction: column;
    padding: clamp(0.95rem, 1.8vh, 1.35rem) clamp(1rem, 2.4vw, 1.4rem) clamp(0.85rem, 1.6vh, 1.15rem);
    overflow: hidden;
}

.auth-register .login-card[b-66mrgsnu5j] {
    width: min(430px, calc(100vw - 2rem));
    max-width: none;
}

.card-logo[b-66mrgsnu5j] {
    margin-bottom: 0.1rem;
}

.card-logo img[b-66mrgsnu5j] {
    width: min(100%, 190px);
}

.auth-register .card-logo img[b-66mrgsnu5j] {
    width: min(100%, 170px);
}

.ornament-divider[b-66mrgsnu5j] {
    margin: 0.25rem 0 0.75rem;
}

.ornament-divider.small[b-66mrgsnu5j] {
    margin: 0.8rem 0 0.45rem;
}

.card-header[b-66mrgsnu5j] {
    margin: 0 0 0.8rem;
    padding: 0.72rem 0.85rem 0.65rem;
    border-radius: 12px;
}

.welcome-title[b-66mrgsnu5j] {
    font-size: clamp(1.22rem, 2.4vw, 1.55rem);
    line-height: 1.12;
    margin-bottom: 0.18rem;
}

.welcome-subtitle[b-66mrgsnu5j] {
    font-size: 0.78rem;
    line-height: 1.28;
}

.auth-content[b-66mrgsnu5j]  .error-message {
    margin-bottom: 0.65rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.76rem;
}

.auth-content[b-66mrgsnu5j]  .login-form {
    gap: 0.68rem;
    margin: 0;
    padding: 0.75rem;
    border-radius: 14px;
}

.auth-register .auth-content[b-66mrgsnu5j]  .login-form {
    gap: 0.55rem;
    padding: 0.68rem 0.72rem;
}

.auth-content[b-66mrgsnu5j]  .form-group {
    gap: 0.28rem;
}

.auth-content[b-66mrgsnu5j]  .form-group label {
    font-size: 0.66rem;
    letter-spacing: 0.07em;
}

.auth-content[b-66mrgsnu5j]  .form-group label::before {
    width: 0.34rem;
    height: 0.34rem;
}

.auth-content[b-66mrgsnu5j]  .form-group input[type="text"],
.auth-content[b-66mrgsnu5j]  .form-group input[type="password"] {
    min-height: 40px;
    padding: 0.58rem 0.85rem 0.58rem 2.55rem;
    border-radius: 11px;
    font-size: 0.88rem;
}

.auth-content[b-66mrgsnu5j]  .input-wrapper,
.auth-content[b-66mrgsnu5j]  .input-wrapper::after {
    border-radius: 12px;
}

.auth-content[b-66mrgsnu5j]  .input-icon {
    left: 0.82rem;
    width: 0.95rem;
    height: 0.95rem;
}

.auth-content[b-66mrgsnu5j]  .form-options {
    margin: -0.12rem 0 -0.02rem;
}

.auth-content[b-66mrgsnu5j]  .remember-me {
    font-size: 0.72rem;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}

.auth-content[b-66mrgsnu5j]  .custom-check {
    width: 40px;
    height: 22px;
    border-radius: 999px;
}

.auth-content[b-66mrgsnu5j]  .btn-login {
    min-height: 42px;
    padding: 0.65rem 1rem;
    margin-top: 0;
    border-radius: 11px;
    font-size: 0.84rem;
    letter-spacing: 0.08em;
}

.auth-content[b-66mrgsnu5j]  .btn-login::after {
    inset: 3px;
    border-radius: 8px;
}

.account-switch[b-66mrgsnu5j] {
    margin: 0;
    padding: 0.5rem 0.7rem;
    border-radius: 12px;
    font-size: 0.74rem;
    flex-wrap: wrap;
}

.feature-bar[b-66mrgsnu5j] {
    align-self: end;
    width: 100vw;
    max-height: 5.2rem;
    margin: 0 calc(50% - 50vw);
    padding: 0.75rem clamp(0.9rem, 3vw, 2.25rem);
    gap: clamp(0.7rem, 2vw, 1.5rem);
    overflow: hidden;
}

.feature-item[b-66mrgsnu5j] {
    max-width: 175px;
}

.feature-item span[b-66mrgsnu5j] {
    display: none;
}

@media (max-width: 600px) {
    .login-page[b-66mrgsnu5j] {
        grid-template-rows: minmax(0, 1fr) auto;
        justify-content: stretch;
        padding: max(0.5rem, env(safe-area-inset-top)) 0.55rem 0;
    }

    .login-card[b-66mrgsnu5j],
    .auth-register .login-card[b-66mrgsnu5j] {
        width: min(100%, 390px);
        max-height: calc(100dvh - 4.8rem);
        padding: 0.78rem 0.68rem 0.68rem;
        border-radius: 14px;
    }

    .card-logo img[b-66mrgsnu5j],
    .auth-register .card-logo img[b-66mrgsnu5j] {
        width: min(54vw, 132px);
    }

    .ornament-divider[b-66mrgsnu5j] {
        margin: 0.12rem 0 0.5rem;
    }

    .ornament-divider.small[b-66mrgsnu5j] {
        margin: 0.55rem 0 0.32rem;
    }

    .card-header[b-66mrgsnu5j] {
        margin-bottom: 0.55rem;
        padding: 0.55rem 0.65rem 0.5rem;
    }

    .welcome-title[b-66mrgsnu5j] {
        font-size: clamp(1rem, 5vw, 1.18rem);
    }

    .welcome-subtitle[b-66mrgsnu5j] {
        font-size: 0.69rem;
    }

    .auth-content[b-66mrgsnu5j]  .login-form,
    .auth-register .auth-content[b-66mrgsnu5j]  .login-form {
        gap: 0.45rem;
        padding: 0.55rem;
        border-radius: 12px;
    }

    .auth-content[b-66mrgsnu5j]  .form-group input[type="text"],
    .auth-content[b-66mrgsnu5j]  .form-group input[type="password"],
    .auth-register .auth-content[b-66mrgsnu5j]  .form-group input[type="text"],
    .auth-register .auth-content[b-66mrgsnu5j]  .form-group input[type="password"] {
        min-height: 36px;
        padding-top: 0.48rem;
        padding-bottom: 0.48rem;
        font-size: 0.82rem;
    }

    .auth-content[b-66mrgsnu5j]  .btn-login {
        min-height: 38px;
        padding: 0.52rem 0.8rem;
        font-size: 0.76rem;
    }

    .account-switch[b-66mrgsnu5j] {
        padding: 0.42rem 0.55rem;
        font-size: 0.7rem;
    }

    .feature-bar[b-66mrgsnu5j] {
        display: flex;
        max-height: 4rem;
        padding: 0.52rem 0.6rem calc(0.55rem + env(safe-area-inset-bottom));
        gap: 0.55rem;
        justify-content: center;
    }

    .feature-item[b-66mrgsnu5j] {
        flex: 0 1 auto;
        max-width: none;
        padding: 0;
        border: none;
        background: transparent;
    }

    .feature-item div[b-66mrgsnu5j] {
        display: none;
    }
}

@media (max-height: 760px) {
    .feature-bar[b-66mrgsnu5j] {
        display: none;
    }

    .login-card[b-66mrgsnu5j],
    .auth-register .login-card[b-66mrgsnu5j] {
        max-height: calc(100dvh - 1.4rem);
    }
}

@media (max-width: 380px), (max-height: 640px) {
    .card-logo img[b-66mrgsnu5j],
    .auth-register .card-logo img[b-66mrgsnu5j] {
        width: min(46vw, 108px);
    }

    .card-header[b-66mrgsnu5j] {
        display: none;
    }

    .ornament-divider[b-66mrgsnu5j] {
        margin-bottom: 0.4rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .particle[b-66mrgsnu5j],
    .card-logo img[b-66mrgsnu5j],
    .divider-gem[b-66mrgsnu5j],
    .auth-content[b-66mrgsnu5j]  .btn-shimmer,
    .login-card[b-66mrgsnu5j],
    .feature-bar[b-66mrgsnu5j] {
        animation: none;
    }
}
/* /Components/Shared/Breadcrumb.razor.rz.scp.css */
.breadcrumb[b-ajtrzuf6he] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: var(--text-xs);
    margin-bottom: var(--space-sm);
}

.breadcrumb-link[b-ajtrzuf6he] {
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.breadcrumb-link:hover[b-ajtrzuf6he] {
    color: var(--color-accent);
    text-decoration: underline;
}

.breadcrumb-sep[b-ajtrzuf6he] {
    color: var(--color-border-strong);
}

.breadcrumb-current[b-ajtrzuf6he] {
    color: var(--color-text-secondary);
    font-weight: 500;
}
/* /Components/Shared/CampaignActivityPanel.razor.rz.scp.css */
.campaign-activity-panel[b-oqoh69wqzk] { padding: clamp(1rem, 2.5vw, 1.5rem); }
.campaign-activity-heading[b-oqoh69wqzk] { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.campaign-activity-heading h2[b-oqoh69wqzk] { margin:.2rem 0 0; font-size:1.25rem; }
.campaign-activity-total[b-oqoh69wqzk] { flex:0 0 auto; border:1px solid var(--color-accent-ring); border-radius:999px; background:var(--color-accent-muted); color:var(--color-accent); padding:.3rem .65rem; font-size:.75rem; font-weight:800; }
.campaign-activity-list[b-oqoh69wqzk] { display:grid; gap:.5rem; }
.campaign-activity-item[b-oqoh69wqzk] { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.75rem; padding:.85rem; border:1px solid var(--color-border); border-radius:var(--radius-md); color:var(--color-text-primary); text-decoration:none; background:var(--color-surface-2); }
.campaign-activity-item:hover[b-oqoh69wqzk] { border-color:var(--color-accent-ring); text-decoration:none; transform:translateY(-1px); }
.campaign-activity-item.is-unread[b-oqoh69wqzk] { background:linear-gradient(90deg,var(--color-accent-muted),var(--color-surface-2) 45%); }
.campaign-activity-dot[b-oqoh69wqzk] { width:.55rem; height:.55rem; border-radius:50%; background:transparent; box-shadow:inset 0 0 0 1px var(--color-border); }
.campaign-activity-item.is-unread .campaign-activity-dot[b-oqoh69wqzk] { background:var(--color-accent); box-shadow:0 0 0 4px var(--color-accent-muted); }
.campaign-activity-copy[b-oqoh69wqzk] { display:grid; min-width:0; gap:.18rem; }
.campaign-activity-copy strong[b-oqoh69wqzk] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.campaign-activity-copy span[b-oqoh69wqzk] { color:var(--color-text-secondary); font-size:.82rem; }
.campaign-activity-copy b[b-oqoh69wqzk] { color:var(--color-text-primary); }
.campaign-activity-meta[b-oqoh69wqzk] { display:grid; justify-items:end; gap:.15rem; color:var(--color-text-muted); font-size:.72rem; white-space:nowrap; }
.campaign-activity-empty[b-oqoh69wqzk] { padding:2rem 1rem; }
@media (max-width:600px) { .campaign-activity-item[b-oqoh69wqzk] { grid-template-columns:auto minmax(0,1fr); } .campaign-activity-meta[b-oqoh69wqzk] { grid-column:2; display:flex; justify-content:flex-start; gap:.6rem; } }
/* /Components/Shared/CampaignAspectsPanel.razor.rz.scp.css */
.campaign-aspects-summary[b-92h8o682r6] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.campaign-aspects-summary span[b-92h8o682r6] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.75rem;
    border-radius: var(--radius-full);
    border: 1px solid rgba(212, 168, 67, 0.18);
    background: rgba(212, 168, 67, 0.08);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.campaign-aspects-summary strong[b-92h8o682r6] {
    color: var(--color-text-primary);
}

.campaign-aspects-controls[b-92h8o682r6] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.campaign-aspects-search[b-92h8o682r6],
.campaign-aspects-filter[b-92h8o682r6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.campaign-aspects-search span[b-92h8o682r6],
.campaign-aspects-filter span[b-92h8o682r6] {
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.campaign-aspects-search input[b-92h8o682r6],
.campaign-aspects-filter select[b-92h8o682r6] {
    width: 100%;
    min-height: 42px;
}

.campaign-aspects-grid[b-92h8o682r6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
}

.campaign-aspect-card[b-92h8o682r6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent),
        var(--color-bg-surface);
}

.campaign-aspect-card-head[b-92h8o682r6] {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: var(--space-md);
    align-items: center;
}

.campaign-aspect-portrait[b-92h8o682r6] {
    width: 56px;
    height: 56px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.22), rgba(88, 166, 255, 0.18));
    color: var(--color-text-primary);
    font-weight: 700;
    text-decoration: none;
}

.campaign-aspect-portrait:hover[b-92h8o682r6] {
    color: var(--color-text-primary);
    text-decoration: none;
}

.campaign-aspect-portrait img[b-92h8o682r6] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.campaign-aspect-title[b-92h8o682r6] {
    min-width: 0;
}

.campaign-aspect-title > a[b-92h8o682r6] {
    display: block;
    overflow: hidden;
    color: var(--color-text-primary);
    font-size: var(--text-md);
    font-weight: 700;
    text-overflow: ellipsis;
    text-decoration: none;
    white-space: nowrap;
}

.campaign-aspect-title > a:hover[b-92h8o682r6] {
    color: var(--color-accent);
    text-decoration: none;
}

.campaign-aspect-meta[b-92h8o682r6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin-top: 0.2rem;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.campaign-aspect-sections[b-92h8o682r6] {
    display: grid;
    gap: var(--space-md);
}

.campaign-aspect-group[b-92h8o682r6] {
    padding: var(--space-md);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
}

.campaign-aspect-group h2[b-92h8o682r6] {
    margin: 0 0 var(--space-xs);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.campaign-aspect-group p[b-92h8o682r6] {
    margin: 0;
    color: var(--color-text-primary);
    line-height: 1.45;
}

.campaign-aspect-group-high-concept[b-92h8o682r6] {
    border-color: rgba(212, 168, 67, 0.16);
}

.campaign-aspect-group-trouble[b-92h8o682r6] {
    border-color: rgba(220, 76, 76, 0.2);
}

.campaign-aspect-token-list[b-92h8o682r6] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.campaign-aspect-token[b-92h8o682r6] {
    display: inline-flex;
    max-width: 100%;
    padding: 0.45rem 0.65rem;
    border-radius: var(--radius-md);
    background: rgba(212, 168, 67, 0.1);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    line-height: 1.35;
}

.campaign-aspect-token-faction[b-92h8o682r6] {
    background: var(--color-purple-muted);
    color: var(--color-purple);
}

.campaign-aspect-token-location[b-92h8o682r6] {
    background: rgba(45, 212, 191, 0.15);
    color: #2dd4bf;
}

.campaign-condition-list[b-92h8o682r6] {
    display: grid;
    gap: var(--space-sm);
}

.campaign-condition-aspect[b-92h8o682r6] {
    display: grid;
    gap: 0.35rem;
    padding: var(--space-sm);
    border-left: 3px solid var(--color-accent);
    border-radius: var(--radius-sm);
    background: rgba(15, 17, 23, 0.54);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
}

.campaign-condition-name[b-92h8o682r6] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-sm);
    color: var(--color-text-secondary);
    font-weight: 700;
}

.campaign-condition-name small[b-92h8o682r6] {
    color: var(--color-text-muted);
    font-weight: 500;
}

.campaign-aspect-none[b-92h8o682r6] {
    margin: 0;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.campaign-aspects-empty[b-92h8o682r6] {
    margin-top: var(--space-lg);
}

@media (max-width: 1024px) {
    .campaign-aspects-grid[b-92h8o682r6] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .campaign-aspects-controls[b-92h8o682r6] {
        grid-template-columns: 1fr;
    }

    .campaign-aspect-card-head[b-92h8o682r6] {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .campaign-aspect-card-head .badge[b-92h8o682r6] {
        grid-column: 2;
        justify-self: start;
    }

    .campaign-aspect-portrait[b-92h8o682r6] {
        width: 48px;
        height: 48px;
    }
}
/* /Components/Shared/CharacterSheetView.razor.rz.scp.css */
.mb-05[b-dgpni7fugk] {
    margin-bottom: var(--space-xs);
}

@media (min-width: 769px) {
    .character-sheet .entity-actions[b-dgpni7fugk] {
        flex-wrap: nowrap;
        max-width: none;
        white-space: nowrap;
    }

    .character-sheet .entity-actions .btn[b-dgpni7fugk] {
        flex: 0 0 auto;
    }

    .character-sheet .entity-actions .form-select[b-dgpni7fugk] {
        width: auto;
        min-width: 10rem;
        flex: 0 0 auto;
    }
}

.character-core-grid[b-dgpni7fugk] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
}

.character-core-card[b-dgpni7fugk] {
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.03);
}

.character-core-value[b-dgpni7fugk] {
    color: var(--color-text-primary);
    font-size: var(--text-lg);
    line-height: 1.45;
}

.character-aspect-list li[b-dgpni7fugk] {
    line-height: 1.45;
}

.approaches[b-dgpni7fugk] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.approach-row[b-dgpni7fugk] {
    display: grid;
    grid-template-columns: 6.5rem 1fr 3rem;
    align-items: center;
    gap: var(--space-md);
}

.approach-name[b-dgpni7fugk] {
    font-weight: 600;
    color: var(--color-text-primary);
}

.approach-bar[b-dgpni7fugk] {
    display: flex;
    gap: 3px;
    height: 14px;
    align-items: stretch;
}

.approach-seg[b-dgpni7fugk] {
    flex: 1;
    min-width: 8px;
    border-radius: 2px;
    background: var(--color-bg-hover);
    border: 1px solid var(--color-border);
    transition: background var(--transition-fast);
}

.approach-seg.filled[b-dgpni7fugk] {
    background: var(--color-accent);
    border-color: var(--color-accent-hover);
}

.approach-value[b-dgpni7fugk] {
    font-variant-numeric: tabular-nums;
    color: var(--color-accent);
    text-align: right;
    font-weight: 600;
}

.character-skill-summary[b-dgpni7fugk] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
}

.character-tracker-group[b-dgpni7fugk] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.stress-track[b-dgpni7fugk] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.stress-box-btn[b-dgpni7fugk] {
    width: 2rem;
    height: 2rem;
    border-radius: var(--radius-sm);
    border: 2px solid var(--color-border-strong);
    background: var(--color-bg-elevated);
    transition: all var(--transition-fast);
    cursor: pointer;
    padding: 0;
}

.stress-box-btn.marked[b-dgpni7fugk] {
    background: var(--color-danger);
    border-color: var(--color-danger-hover);
}

.conditions[b-dgpni7fugk] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.condition-card[b-dgpni7fugk] {
    padding: var(--space-lg);
    background: var(--color-bg-elevated);
}

.condition-card.condition-active[b-dgpni7fugk] {
    border-color: rgba(176, 124, 198, 0.4);
}

.condition-header[b-dgpni7fugk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-bottom: var(--space-xs);
}

.condition-header-main[b-dgpni7fugk] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.condition-header-meta[b-dgpni7fugk] {
    margin-left: auto;
}

.condition-description[b-dgpni7fugk] {
    margin-top: var(--space-xs);
}

.condition-description summary[b-dgpni7fugk] {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    cursor: pointer;
    user-select: none;
}

.condition-description-body[b-dgpni7fugk] {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    margin-top: var(--space-xs);
    padding-left: var(--space-md);
}

.cond-box-btn[b-dgpni7fugk] {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 3px;
    border: 1px solid var(--color-border-strong);
    background: var(--color-bg-elevated);
    transition: all var(--transition-fast);
    cursor: pointer;
    padding: 0;
}

.cond-box-btn.marked[b-dgpni7fugk] {
    background: var(--color-purple);
    border-color: #b07cc6;
}

.condition-aspect input[b-dgpni7fugk] {
    width: 100%;
    padding: 0.35rem 0.5rem;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-primary);
}

.character-stunt-list[b-dgpni7fugk] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.character-stunt-card[b-dgpni7fugk] {
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    background: var(--color-bg-elevated);
}

.character-milestones-card[b-dgpni7fugk]  .milestone-panel,
.character-panel-card[b-dgpni7fugk]  .notes-panel {
    margin-bottom: 0;
}

.character-panel-card[b-dgpni7fugk]  .notes-panel-header h2 {
    margin: 0;
}

.character-panel-card[b-dgpni7fugk]  .tag-editor {
    margin: 0;
}

@media (max-width: 640px) {
    .character-core-grid[b-dgpni7fugk],
    .approach-row[b-dgpni7fugk] {
        grid-template-columns: 1fr;
    }

    .approach-row[b-dgpni7fugk] {
        gap: var(--space-xs);
    }
}

.campaign-condition-list[b-dgpni7fugk] {
    display: grid;
    gap: var(--space-sm);
}

.campaign-condition-aspect[b-dgpni7fugk] {
    display: grid;
    gap: 0.35rem;
    padding: var(--space-sm);
    border-left: 3px solid var(--color-accent);
    border-radius: var(--radius-sm);
    background: rgba(15, 17, 23, 0.54);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
}

.campaign-condition-name[b-dgpni7fugk] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-sm);
    color: var(--color-text-secondary);
    font-weight: 700;
}

.campaign-condition-name small[b-dgpni7fugk] {
    color: var(--color-text-muted);
    font-weight: 500;
}
/* /Components/Shared/CharacterTrackerView.razor.rz.scp.css */
.tracker-header[b-gnxl5oa0wl] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-lg);
    border-bottom: 1px solid var(--color-border);
}

.tracker-header h1[b-gnxl5oa0wl] {
    margin: 0 0 var(--space-xs);
}

.tracker-grid[b-gnxl5oa0wl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--space-lg);
}

.tracker-card[b-gnxl5oa0wl] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    box-shadow: var(--shadow-xs);
}

.tracker-card.wide[b-gnxl5oa0wl] {
    grid-column: 1 / -1;
}

.tracker-card h3[b-gnxl5oa0wl] {
    margin: 0 0 var(--space-md);
    color: var(--color-accent);
    font-size: var(--text-base);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.fate-counter[b-gnxl5oa0wl] {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    justify-content: center;
    margin: var(--space-lg) 0;
}

.fate-btn[b-gnxl5oa0wl] {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-full);
    border: 2px solid var(--color-accent);
    background: transparent;
    color: var(--color-accent);
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
}

.fate-btn:hover:not([disabled])[b-gnxl5oa0wl] {
    background: var(--color-accent);
    color: var(--color-text-inverse);
}

.fate-btn[disabled][b-gnxl5oa0wl] {
    opacity: 0.3;
    cursor: not-allowed;
}

.fate-value[b-gnxl5oa0wl] {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--color-accent);
    min-width: 60px;
    text-align: center;
}

.fate-actions[b-gnxl5oa0wl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.stress-boxes[b-gnxl5oa0wl] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.stress-box[b-gnxl5oa0wl] {
    width: 38px;
    height: 38px;
    border: 2px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    color: var(--color-text-muted);
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
}

.stress-box:hover[b-gnxl5oa0wl] {
    border-color: var(--color-accent);
}

.stress-box.marked[b-gnxl5oa0wl] {
    background: var(--color-danger);
    border-color: var(--color-danger-hover);
    color: #fff;
}

.stress-actions[b-gnxl5oa0wl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--space-sm);
}

.condition-row[b-gnxl5oa0wl] {
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--color-border-subtle);
}

.condition-row:last-child[b-gnxl5oa0wl] {
    border-bottom: none;
}

.condition-row.condition-active[b-gnxl5oa0wl] {
    background: rgba(176, 124, 198, 0.06);
    border-radius: var(--radius-sm);
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.condition-info[b-gnxl5oa0wl] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: 0.4rem;
}

.condition-boxes[b-gnxl5oa0wl] {
    display: flex;
    gap: 0.3rem;
    margin-bottom: 0.3rem;
}

.condition-aspect input[b-gnxl5oa0wl] {
    width: 100%;
    padding: 0.35rem 0.5rem;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    font-style: italic;
    transition: border-color var(--transition-fast);
}

.condition-aspect input:focus[b-gnxl5oa0wl] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}

.aspect-item[b-gnxl5oa0wl] {
    padding: 0.35rem 0;
    font-size: var(--text-base);
    border-bottom: 1px solid var(--color-border-subtle);
}

.aspect-item:last-child[b-gnxl5oa0wl] {
    border-bottom: none;
}

.approach-row[b-gnxl5oa0wl] {
    display: flex;
    justify-content: space-between;
    padding: 0.3rem 0;
}

.approach-name[b-gnxl5oa0wl] {
    color: var(--color-text-secondary);
}

.approach-val[b-gnxl5oa0wl] {
    color: var(--color-accent);
    font-weight: 700;
}
/* /Components/Shared/DndCharacterSheetView.razor.rz.scp.css */
.dnd-sheet-badges[b-gikx2vegx6] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-bottom: var(--space-sm);
}

.dnd-sheet-badges .badge-gray[b-gikx2vegx6] {
    color: var(--color-text-secondary);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
}

.dnd-sheet-combat[b-gikx2vegx6] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xl);
    padding: var(--space-lg);
}

.dnd-sheet-stat .label[b-gikx2vegx6] {
    display: block;
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dnd-sheet-stat strong[b-gikx2vegx6] {
    font-size: var(--text-lg);
}

.dnd-ability-grid[b-gikx2vegx6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
    gap: var(--space-sm);
}

.dnd-ability-cell[b-gikx2vegx6] {
    text-align: center;
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
}

.dnd-ability-name[b-gikx2vegx6] {
    display: block;
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    font-weight: 600;
}

.dnd-ability-score[b-gikx2vegx6] {
    display: block;
    font-size: var(--text-lg);
    font-weight: 700;
}

.dnd-ability-mod[b-gikx2vegx6] {
    display: block;
    font-size: var(--text-sm);
    color: var(--color-accent);
}

.dnd-xp-bar-card[b-gikx2vegx6] {
    padding: var(--space-md);
}

.dnd-xp-bar-header[b-gikx2vegx6] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-sm);
    margin-bottom: var(--space-xs);
}

.dnd-xp-bar[b-gikx2vegx6] {
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    overflow: hidden;
}

.dnd-xp-bar-fill[b-gikx2vegx6] {
    height: 100%;
    background: var(--color-accent);
    border-radius: var(--radius-full);
    transition: width var(--transition-fast);
}

.dnd-mod-list[b-gikx2vegx6] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dnd-mod-list li[b-gikx2vegx6] {
    display: flex;
    justify-content: space-between;
    gap: var(--space-sm);
    padding: 0.25rem 0;
    font-size: var(--text-sm);
    border-bottom: 1px solid var(--color-border);
}

.dnd-mod-list li:last-child[b-gikx2vegx6] {
    border-bottom: none;
}

.dnd-mod-list li.proficient[b-gikx2vegx6] {
    font-weight: 600;
    color: var(--color-text-primary);
}

.dnd-mod-list li.expertise[b-gikx2vegx6] {
    font-weight: 700;
    color: var(--color-accent);
}

.dnd-skill-list[b-gikx2vegx6] {
    max-height: 320px;
    overflow-y: auto;
}

.dnd-slot-row[b-gikx2vegx6] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.dnd-slot-pill[b-gikx2vegx6] {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    font-size: var(--text-xs);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
}

.dnd-tag-list[b-gikx2vegx6] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.dnd-tag-list li[b-gikx2vegx6] {
    padding: 0.25rem 0.6rem;
    font-size: var(--text-sm);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
}

.dnd-trait-list[b-gikx2vegx6],
.dnd-feature-list[b-gikx2vegx6],
.dnd-advancement-list[b-gikx2vegx6] {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--color-text-secondary);
}

.dnd-trait-list li + li[b-gikx2vegx6],
.dnd-feature-list li + li[b-gikx2vegx6],
.dnd-advancement-list li + li[b-gikx2vegx6] {
    margin-top: var(--space-sm);
}
/* /Components/Shared/Dnd/DndCampaignShell.razor.rz.scp.css */
.dnd-campaign-shell[b-tm5n7mdh0g]{position:sticky;top:0;z-index:20;margin-bottom:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-bg-elevated) 96%,transparent);box-shadow:0 14px 34px rgba(0,0,0,.22);backdrop-filter:blur(14px)}
.dnd-campaign-shell.skeleton[b-tm5n7mdh0g]{height:7.5rem}.dnd-campaign-shell.is-player-preview[b-tm5n7mdh0g]{border-color:color-mix(in srgb,#2dd4bf 50%,var(--color-border))}
.dnd-campaign-preview-banner[b-tm5n7mdh0g]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:.45rem .75rem;background:rgba(20,184,166,.12);border-bottom:1px solid rgba(45,212,191,.25);font-size:var(--text-sm)}
.dnd-campaign-preview-banner span[b-tm5n7mdh0g],.dnd-campaign-shell-actions[b-tm5n7mdh0g],.dnd-campaign-shell-actions a[b-tm5n7mdh0g],.dnd-campaign-shell-actions button[b-tm5n7mdh0g]{display:flex;align-items:center;gap:.4rem}.dnd-campaign-preview-banner i[b-tm5n7mdh0g],.dnd-campaign-shell-actions i[b-tm5n7mdh0g],.dnd-campaign-tabs i[b-tm5n7mdh0g],.dnd-campaign-manage-menu i[b-tm5n7mdh0g]{width:15px;height:15px}
.dnd-campaign-shell-head[b-tm5n7mdh0g]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding:.7rem .85rem}.dnd-campaign-shell-title[b-tm5n7mdh0g]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dnd-campaign-shell-title strong[b-tm5n7mdh0g]{font-family:var(--font-heading);font-size:var(--text-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dnd-campaign-shell-actions[b-tm5n7mdh0g]{flex-wrap:wrap;justify-content:flex-end}
.dnd-campaign-tabs[b-tm5n7mdh0g]{display:flex;align-items:stretch;overflow-x:auto;border-top:1px solid var(--color-border);scrollbar-width:thin}.dnd-campaign-tabs>a[b-tm5n7mdh0g]{position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;min-width:max-content;padding:.7rem .85rem;color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none;border-bottom:2px solid transparent}.dnd-campaign-tabs>a:hover[b-tm5n7mdh0g]{color:var(--color-text-primary);background:rgba(255,255,255,.025)}.dnd-campaign-tabs>a.active[b-tm5n7mdh0g]{color:var(--color-accent);border-bottom-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.dnd-campaign-tab-count[b-tm5n7mdh0g]{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:99px;background:var(--color-bg-subtle);font-size:.68rem}
.dnd-campaign-subnav[b-tm5n7mdh0g]{display:flex;gap:.35rem;overflow-x:auto;padding:.45rem .7rem;border-top:1px solid var(--color-border);background:rgba(0,0,0,.08)}.dnd-campaign-subnav a[b-tm5n7mdh0g]{display:flex;align-items:center;gap:.35rem;min-width:max-content;padding:.35rem .6rem;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-xs);text-decoration:none}.dnd-campaign-subnav a.active[b-tm5n7mdh0g],.dnd-campaign-subnav a:hover[b-tm5n7mdh0g]{color:var(--color-text-primary);background:var(--color-bg-subtle)}
.dnd-campaign-manage[b-tm5n7mdh0g]{position:relative}.dnd-campaign-manage>summary[b-tm5n7mdh0g]{list-style:none;cursor:pointer}.dnd-campaign-manage>summary[b-tm5n7mdh0g]::-webkit-details-marker{display:none}.dnd-campaign-manage-menu[b-tm5n7mdh0g]{position:absolute;right:0;top:calc(100% + .35rem);display:grid;min-width:13.5rem;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg)}.dnd-campaign-manage-menu a[b-tm5n7mdh0g]{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none}.dnd-campaign-manage-menu a:hover[b-tm5n7mdh0g]{background:var(--color-bg-subtle);color:var(--color-text-primary)}
.dnd-campaign-mobile-nav[b-tm5n7mdh0g]{display:none}
@media(max-width:760px){.dnd-campaign-shell[b-tm5n7mdh0g]{position:relative}.dnd-campaign-shell-head[b-tm5n7mdh0g]{align-items:flex-start}.dnd-campaign-shell-actions .btn span[b-tm5n7mdh0g]{display:none}.dnd-campaign-tabs[b-tm5n7mdh0g]{display:none}.dnd-campaign-mobile-nav[b-tm5n7mdh0g]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem .75rem;border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted)}.dnd-campaign-subnav[b-tm5n7mdh0g]{padding:.4rem .55rem}.dnd-campaign-preview-banner[b-tm5n7mdh0g]{align-items:flex-start}.dnd-campaign-preview-banner>span[b-tm5n7mdh0g]{align-items:flex-start}}
@media(max-width:390px){.dnd-campaign-shell-head[b-tm5n7mdh0g]{padding:.6rem}.dnd-campaign-shell-actions[b-tm5n7mdh0g]{gap:.25rem}.dnd-campaign-shell-title strong[b-tm5n7mdh0g]{font-size:var(--text-md)}.dnd-campaign-preview-banner[b-tm5n7mdh0g]{display:grid}.dnd-campaign-mobile-nav[b-tm5n7mdh0g]{grid-template-columns:1fr}.dnd-campaign-subnav a[b-tm5n7mdh0g]{min-height:42px}}
/* /Components/Shared/EntityLinksPanel.razor.rz.scp.css */
.links-list[b-go5kommhtj] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.link-card[b-go5kommhtj] {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.04);
    background: var(--color-bg-elevated);
    transition: border-color var(--transition-base);
}

.link-card:hover[b-go5kommhtj] {
    border-color: var(--color-border-strong);
}

.link-card--editing[b-go5kommhtj] {
    border-color: rgba(212, 168, 67, 0.22);
}

.link-card-copy[b-go5kommhtj] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.link-card-copy strong[b-go5kommhtj] {
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.link-card-copy span[b-go5kommhtj] {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    overflow-wrap: anywhere;
}

.link-edit-form[b-go5kommhtj] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-top: var(--space-md);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-border);
}

.link-edit-actions[b-go5kommhtj] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.link-campaign-picker[b-go5kommhtj] {
    margin-bottom: var(--space-md);
}

.link-add[b-go5kommhtj] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
    padding-top: var(--space-lg);
    border-top: 1px solid var(--color-border);
}

.link-add .section-title[b-go5kommhtj] {
    margin-bottom: var(--space-xs);
}

.link-add-submit[b-go5kommhtj] {
    align-self: flex-start;
}

/* Inputs/selects fill the column so nothing feels cramped in the sidebar. */
.link-edit-form .form-group[b-go5kommhtj],
.link-add .form-group[b-go5kommhtj] {
    margin-bottom: 0;
}

.links-panel[b-go5kommhtj]  select,
.links-panel[b-go5kommhtj]  input {
    width: 100%;
    box-sizing: border-box;
}
/* /Components/Shared/GlobalCampaignNotifications.razor.rz.scp.css */
.global-notifications[b-kv3wa0kppy] { position:relative; flex:0 0 auto; }
.notification-bell[b-kv3wa0kppy] { position:relative; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:1px solid transparent; border-radius:999px; background:transparent; color:var(--color-text-secondary); cursor:pointer; transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast); }
.notification-bell:hover[b-kv3wa0kppy],.notification-bell.is-open[b-kv3wa0kppy] { background:var(--color-bg-hover); border-color:var(--color-border); color:var(--color-text-primary); }
.notification-count[b-kv3wa0kppy] { position:absolute; top:-4px; right:-5px; display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 4px; border:2px solid var(--color-bg-surface); border-radius:999px; background:var(--color-danger); color:#fff; font-size:9px; font-weight:900; line-height:1; }
.notification-popover[b-kv3wa0kppy] { position:absolute; z-index:150; top:calc(100% + .65rem); right:0; display:flex; flex-direction:column; width:min(390px,calc(100vw - 2rem)); max-height:min(620px,75vh); overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-xl); background:var(--color-bg-surface); box-shadow:var(--shadow-xl); color:var(--color-text-primary); user-select:text; }
.notification-header[b-kv3wa0kppy] { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border-bottom:1px solid var(--color-border); }
.notification-header>div[b-kv3wa0kppy] { display:grid; gap:.12rem; }
.notification-header>div>span[b-kv3wa0kppy] { color:var(--color-text-muted); font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.notification-header strong[b-kv3wa0kppy] { font-size:1rem; }
.notification-unread-total[b-kv3wa0kppy] { flex:0 0 auto; padding:.28rem .55rem; border-radius:999px; background:var(--color-accent-muted); color:var(--color-accent); font-size:.7rem; font-weight:800; }
.notification-list[b-kv3wa0kppy] { overflow-y:auto; overscroll-behavior:contain; }
.notification-item[b-kv3wa0kppy] { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.7rem; padding:.82rem 1rem; border-bottom:1px solid var(--color-border-subtle); color:inherit; text-decoration:none; transition:background var(--transition-fast); }
.notification-item:hover[b-kv3wa0kppy] { background:var(--color-bg-hover); color:inherit; text-decoration:none; }
.notification-item.is-unread[b-kv3wa0kppy] { background:linear-gradient(90deg,var(--color-accent-muted),transparent 75%); }
.notification-item-icon[b-kv3wa0kppy] { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:999px; background:var(--color-bg-elevated); color:var(--color-accent); }
.notification-item-copy[b-kv3wa0kppy] { display:grid; min-width:0; gap:.14rem; }
.notification-campaign[b-kv3wa0kppy] { overflow:hidden; color:var(--color-accent); font-size:.66rem; font-weight:800; letter-spacing:.04em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.notification-item-copy strong[b-kv3wa0kppy] { overflow:hidden; font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }
.notification-item-copy>span:last-child[b-kv3wa0kppy] { color:var(--color-text-muted); font-size:.74rem; }
.notification-item-copy b[b-kv3wa0kppy] { color:var(--color-text-secondary); }
.notification-item-meta[b-kv3wa0kppy] { display:flex; flex-direction:column; align-items:flex-end; gap:.35rem; color:var(--color-text-muted); font-size:.68rem; }
.notification-unread-dot[b-kv3wa0kppy] { width:8px; height:8px; border-radius:999px; background:var(--color-accent); box-shadow:0 0 0 3px var(--color-accent-muted); }
.notification-state[b-kv3wa0kppy] { display:flex; flex-direction:column; align-items:center; gap:.45rem; padding:2.4rem 1rem; color:var(--color-text-muted); text-align:center; }
.notification-state strong[b-kv3wa0kppy] { color:var(--color-text-primary); }
.notification-state span[b-kv3wa0kppy] { max-width:28ch; font-size:.8rem; }
.notification-footer[b-kv3wa0kppy] { flex:0 0 auto; padding:.72rem 1rem; border-top:1px solid var(--color-border); color:var(--color-accent); font-size:.78rem; font-weight:800; text-align:center; text-decoration:none; }
.notification-footer:hover[b-kv3wa0kppy] { background:var(--color-bg-hover); text-decoration:none; }
@media (max-width:640px) { .notification-popover[b-kv3wa0kppy] { position:fixed; top:calc(var(--topbar-height) + env(safe-area-inset-top) + .5rem); right:max(var(--space-md),env(safe-area-inset-right)); left:max(var(--space-md),env(safe-area-inset-left)); width:auto; max-height:calc(100dvh - var(--topbar-height) - env(safe-area-inset-top) - 1.5rem); } .notification-item[b-kv3wa0kppy] { padding:.8rem; } }
/* /Components/Shared/GmOnlySection.razor.rz.scp.css */
.gm-only-section[b-83rl5iwe4q] {
    border: 1px dashed var(--color-border-strong);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    margin: var(--space-md) 0;
    background: rgba(163, 113, 247, 0.04);
}

.gm-only-label[b-83rl5iwe4q] {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-purple);
    margin-bottom: var(--space-sm);
    font-weight: 600;
}
/* /Components/Shared/InvestigationPlayerVisibilityControl.razor.rz.scp.css */
.workspace-visibility-toggle[b-5pbnsjnfgo] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    min-height: 2rem;
    padding: 0.2rem 0.45rem 0.2rem 0.25rem;
    border: 1px solid rgba(110, 116, 135, 0.28);
    border-radius: var(--radius-full);
    background: rgba(15, 17, 23, 0.72);
    color: var(--color-text-muted);
    cursor: pointer;
    white-space: nowrap;
    transition: border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);
}

.workspace-visibility-toggle:hover[b-5pbnsjnfgo] {
    border-color: rgba(212, 168, 67, 0.42);
    background: rgba(30, 32, 40, 0.98);
    color: var(--color-text-primary);
}

.workspace-visibility-toggle:focus-within .visibility-toggle-track[b-5pbnsjnfgo] {
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}

.workspace-visibility-toggle.is-visible[b-5pbnsjnfgo] {
    border-color: rgba(63, 185, 80, 0.42);
    background: linear-gradient(135deg, rgba(63, 185, 80, 0.18), rgba(88, 166, 255, 0.08));
    color: var(--color-success);
}

.workspace-visibility-toggle.is-hidden[b-5pbnsjnfgo] {
    border-color: rgba(212, 168, 67, 0.22);
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.12), rgba(15, 17, 23, 0.76));
}

.workspace-visibility-toggle[b-5pbnsjnfgo]  .visibility-toggle-input {
    position: absolute;
    width: 1px;
    min-width: 0;
    height: 1px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
}

.visibility-toggle-track[b-5pbnsjnfgo] {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 1.45rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-full);
    background: rgba(15, 17, 23, 0.86);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.42);
    transition: border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}

.visibility-toggle-thumb[b-5pbnsjnfgo] {
    position: absolute;
    top: 0.18rem;
    left: 0.18rem;
    width: 1.02rem;
    height: 1.02rem;
    border-radius: var(--radius-full);
    background: linear-gradient(180deg, #f4efe2, #c9cdd8);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.36);
    transition: transform var(--transition-base), background var(--transition-fast), box-shadow var(--transition-fast);
}

.workspace-visibility-toggle.is-visible .visibility-toggle-track[b-5pbnsjnfgo] {
    border-color: rgba(63, 185, 80, 0.45);
    background: linear-gradient(90deg, rgba(63, 185, 80, 0.32), rgba(88, 166, 255, 0.18));
}

.workspace-visibility-toggle.is-visible .visibility-toggle-thumb[b-5pbnsjnfgo] {
    transform: translateX(1rem);
    background: linear-gradient(180deg, #f4fff5, #6ee07e);
    box-shadow: 0 0 0 1px rgba(63, 185, 80, 0.22), 0 2px 7px rgba(63, 185, 80, 0.34);
}

.visibility-toggle-label[b-5pbnsjnfgo] {
    color: currentColor;
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.1;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .workspace-visibility-toggle[b-5pbnsjnfgo] {
        max-width: 100%;
    }

    .visibility-toggle-label[b-5pbnsjnfgo] {
        white-space: normal;
    }
}
/* /Components/Shared/LiveSessionPanel.razor.rz.scp.css */
.live-pulse-badge[b-0pt38aqv5g] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 0.25rem 0.6rem;
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.25);
    color: #f87171;
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    border-radius: var(--radius-sm);
    letter-spacing: 0.05em;
}

.pulse-dot[b-0pt38aqv5g] {
    width: 8px;
    height: 8px;
    background-color: #ef4444;
    border-radius: 50%;
    display: inline-block;
    animation: pulse-b-0pt38aqv5g 1.6s infinite ease-in-out;
}

@keyframes pulse-b-0pt38aqv5g {
    0% { transform: scale(0.8); opacity: 0.5; }
    50% { transform: scale(1.2); opacity: 1; box-shadow: 0 0 8px #ef4444; }
    100% { transform: scale(0.8); opacity: 0.5; }
}

.session-select-wrapper[b-0pt38aqv5g] {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.session-select-wrapper i[b-0pt38aqv5g],
.session-select-wrapper svg[b-0pt38aqv5g] {
    position: absolute;
    left: var(--space-sm);
    color: var(--color-text-muted);
    pointer-events: none;
    z-index: 2;
}

.session-select-wrapper select[b-0pt38aqv5g] {
    padding-left: 2.25rem;
    padding-right: 2.45rem;
    width: 100%;
    height: 38px;
    border: 1px solid var(--color-border);
    background-color: var(--color-bg-elevated);
    border-radius: var(--radius-md);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;

    /* Premium custom dropdown arrow */
    background-image:
        linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%),
        linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%),
        linear-gradient(to right, var(--color-border), var(--color-border));
    background-position:
        calc(100% - 1.25rem) 50%,
        calc(100% - 0.95rem) 50%,
        calc(100% - 2.35rem) 50%;
    background-repeat: no-repeat;
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem, 1px 1.35rem;
    transition: border-color var(--transition-base), background-image var(--transition-base), background-color var(--transition-base);
}

.session-select-wrapper select:hover[b-0pt38aqv5g] {
    border-color: var(--color-border-strong);
    background-color: var(--color-bg-hover);
}

.session-select-wrapper select:focus[b-0pt38aqv5g] {
    outline: none;
    border-color: var(--color-accent);
    background-image:
        linear-gradient(45deg, transparent 50%, var(--color-accent) 50%),
        linear-gradient(135deg, var(--color-accent) 50%, transparent 50%),
        linear-gradient(to right, var(--color-border-strong), var(--color-border-strong));
}

.tactical-card[b-0pt38aqv5g] {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
    min-height: 100px;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.tactical-card-header[b-0pt38aqv5g] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
}

.tactical-card-header i[b-0pt38aqv5g] {
    width: 16px;
    height: 16px;
}

.tactical-card-body[b-0pt38aqv5g] {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.tactical-content[b-0pt38aqv5g] {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    line-height: 1.5;
    white-space: pre-wrap;
}

.tactical-aspects[b-0pt38aqv5g] { border-left: 3px solid var(--color-accent); }
.tactical-events[b-0pt38aqv5g] { border-left: 3px solid var(--color-info); }
.tactical-threads[b-0pt38aqv5g] { border-left: 3px solid var(--color-warning); }
.tactical-gm-notes[b-0pt38aqv5g] {
    border-left: 3px solid var(--color-danger);
    background: rgba(239, 68, 68, 0.02);
}

.aspect-pills[b-0pt38aqv5g] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.aspect-pill[b-0pt38aqv5g] {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.65rem;
    background: rgba(212, 168, 67, 0.08);
    border: 1px solid rgba(212, 168, 67, 0.18);
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 600;
    border-radius: var(--radius-full);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.dossier-card[b-0pt38aqv5g] {
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    background: var(--color-bg-surface);
}

.dossier-card-header[b-0pt38aqv5g] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-md);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: var(--space-sm);
}

.live-character-grid[b-0pt38aqv5g] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.live-char-row[b-0pt38aqv5g] {
    display: flex;
    gap: var(--space-md);
    padding: var(--space-md);
    border-radius: var(--radius-md);
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
    transition: border-color var(--transition-base), transform var(--transition-base);
}

.live-char-row:hover[b-0pt38aqv5g] {
    border-color: rgba(212, 168, 67, 0.18);
    transform: translateX(2px);
}

.live-char-avatar[b-0pt38aqv5g] {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-md);
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.18), rgba(88, 166, 255, 0.15));
    color: var(--color-text-primary);
    font-weight: 700;
    font-size: var(--text-md);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.live-char-avatar img[b-0pt38aqv5g] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.live-char-info[b-0pt38aqv5g] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.live-char-meta-row[b-0pt38aqv5g] {
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.live-char-name[b-0pt38aqv5g] {
    font-weight: 700;
    font-size: var(--text-md);
    color: var(--color-text-primary);
    text-decoration: none;
}

.live-char-name:hover[b-0pt38aqv5g] {
    color: var(--color-accent);
    text-decoration: none;
}

.live-char-player[b-0pt38aqv5g] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
}

.live-char-summary[b-0pt38aqv5g] {
    margin-top: 0.15rem;
    line-height: 1.4;
}

.live-char-stats-row[b-0pt38aqv5g] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.char-stat-badge[b-0pt38aqv5g] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.55rem;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.char-stat-badge .stat-label[b-0pt38aqv5g] {
    color: var(--color-text-muted);
    font-weight: 500;
}

.stat-fate[b-0pt38aqv5g] {
    background: rgba(212, 168, 67, 0.08);
    border-color: rgba(212, 168, 67, 0.16);
    color: var(--color-accent);
}

.stat-conditions.is-active[b-0pt38aqv5g] {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.18);
    color: #f87171;
}

.stress-track[b-0pt38aqv5g] {
    display: inline-flex;
    gap: 3px;
}

.stress-box[b-0pt38aqv5g] {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 800;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-text-muted);
    user-select: none;
}

.stress-box.is-marked[b-0pt38aqv5g] {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-bg-surface);
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

.live-list[b-0pt38aqv5g],
.live-entity-list[b-0pt38aqv5g] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.live-list-item[b-0pt38aqv5g] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: var(--radius-md);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-base), transform var(--transition-base);
}

.live-list-item:hover[b-0pt38aqv5g] {
    border-color: rgba(212, 168, 67, 0.16);
    transform: translateX(2px);
    text-decoration: none;
    color: inherit;
}

.live-list-copy[b-0pt38aqv5g] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.live-list-copy strong[b-0pt38aqv5g] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.live-entity-item[b-0pt38aqv5g] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: var(--radius-md);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-base), transform var(--transition-base);
}

.live-entity-item:hover[b-0pt38aqv5g] {
    border-color: rgba(212, 168, 67, 0.16);
    transform: translateX(2px);
    text-decoration: none;
    color: inherit;
}

.live-entity-avatar[b-0pt38aqv5g] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(212, 168, 67, 0.15), rgba(88, 166, 255, 0.12));
    color: var(--color-text-primary);
    font-weight: 700;
    font-size: var(--text-sm);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.live-entity-avatar img[b-0pt38aqv5g] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.live-entity-copy[b-0pt38aqv5g] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.live-entity-copy strong[b-0pt38aqv5g] {
    font-size: var(--text-sm);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.live-entity-copy span[b-0pt38aqv5g] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 0.15rem;
}

.clue-bullet-list[b-0pt38aqv5g] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.clue-bullet-item[b-0pt38aqv5g] {
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: var(--radius-md);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-md);
}

.clue-content-col[b-0pt38aqv5g] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.clue-case[b-0pt38aqv5g] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-accent);
}

.clue-text[b-0pt38aqv5g] {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    line-height: 1.45;
}

.clue-actions[b-0pt38aqv5g] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.workspace-mini-item[b-0pt38aqv5g] {
    background: var(--color-bg-elevated);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: var(--radius-md);
    padding: var(--space-sm) var(--space-md);
}

.workspace-mini-item.is-resolved[b-0pt38aqv5g] {
    border-color: rgba(63, 185, 80, 0.28);
    background: rgba(63, 185, 80, 0.06);
}

.workspace-mini-item.is-resolved .font-semibold[b-0pt38aqv5g] {
    color: var(--color-text-muted);
}

.workspace-mini-item.is-resolved .workspace-progress[b-0pt38aqv5g] {
    background: rgba(255, 255, 255, 0.04);
}

.workspace-mini-item.is-resolved .workspace-progress-fill[b-0pt38aqv5g] {
    background: linear-gradient(90deg, rgba(63, 185, 80, 0.45), rgba(63, 185, 80, 0.2));
}

.workspace-front-actions[b-0pt38aqv5g] {
    margin-top: var(--space-sm);
}

.workspace-mini-item-title-row[b-0pt38aqv5g] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.sticky-note-card[b-0pt38aqv5g] {
    background: radial-gradient(circle at top right, rgba(212, 168, 67, 0.04), transparent), var(--color-bg-elevated);
    border: 1px solid rgba(212, 168, 67, 0.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: var(--radius-md);
    padding: var(--space-sm) var(--space-md);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    position: relative;
}

.sticky-note-card[b-0pt38aqv5g]::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 0;
    border-color: transparent var(--color-accent) transparent transparent;
    opacity: 0.3;
}
/* /Components/Shared/MilestonePanel.razor.rz.scp.css */
.milestone-panel-header h2[b-08mk4rvz57] {
    margin: 0;
}

.milestone-form[b-08mk4rvz57] {
    border-color: var(--color-border);
}

.milestone-panel .form-field label[b-08mk4rvz57] {
    display: block;
    margin-bottom: var(--space-xs);
}

.milestone-input[b-08mk4rvz57],
.milestone-textarea[b-08mk4rvz57] {
    width: 100%;
    max-width: 100%;
    padding: 0.4rem 0.55rem;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text-primary);
    font-size: var(--text-base);
    font-family: inherit;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.milestone-textarea[b-08mk4rvz57] {
    resize: vertical;
    min-height: 4rem;
}

.milestone-input:focus[b-08mk4rvz57],
.milestone-textarea:focus[b-08mk4rvz57] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}

.milestone-list[b-08mk4rvz57] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.milestone-card-top[b-08mk4rvz57] {
    align-items: flex-start;
}

.milestone-card[b-08mk4rvz57] {
    border-color: var(--color-border);
    transition: border-color var(--transition-base);
}

.milestone-card:hover[b-08mk4rvz57] {
    border-color: var(--color-border-strong);
}

.milestone-description[b-08mk4rvz57] {
    color: var(--color-text-primary);
    line-height: 1.5;
}

.milestone-label[b-08mk4rvz57] {
    display: block;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted);
    margin-bottom: var(--space-xs);
}

.milestone-meta[b-08mk4rvz57] {
    margin-top: var(--space-sm);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--color-border-subtle);
}

.milestone-session a[b-08mk4rvz57] {
    color: var(--color-accent);
}

.milestone-badge-minor[b-08mk4rvz57] {
    background: var(--color-success-muted);
    color: var(--color-success);
}

.milestone-badge-significant[b-08mk4rvz57] {
    background: var(--color-info-muted);
    color: var(--color-info);
}

.milestone-badge-major[b-08mk4rvz57] {
    background: var(--color-accent-muted);
    color: var(--color-accent);
}
/* /Components/Shared/NotesPanel.razor.rz.scp.css */
.notes-panel[b-bzvgg70tk1] {
    --notes-border: var(--color-border);
    --notes-surface: var(--color-bg-elevated);
}

.notes-panel .notes-panel-header h2[b-bzvgg70tk1] {
    font-size: var(--text-lg);
    font-weight: 600;
}

.notes-add-form[b-bzvgg70tk1] {
    background: var(--notes-surface);
    border: 1px solid var(--notes-border);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
}

.notes-list[b-bzvgg70tk1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg); /* larger gap between separate discussion posts */
}

/* Premium Forum-style Card */
.note-card[b-bzvgg70tk1] {
    background: var(--notes-surface);
    border: 1px solid var(--notes-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
    overflow: hidden;
}

.note-card:hover[b-bzvgg70tk1] {
    border-color: var(--color-border-strong);
    box-shadow: var(--shadow-md);
}

.note-card--gm-only[b-bzvgg70tk1] {
    border-left: 4px solid var(--color-purple);
}

.note-card--private[b-bzvgg70tk1] {
    border-left: 4px solid var(--color-info);
}

.note-card--campaign[b-bzvgg70tk1] {
    border-left: 4px solid var(--color-success);
}

/* Post Header styles */
.note-card-header[b-bzvgg70tk1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--color-border-subtle);
    padding-bottom: var(--space-md);
}

.note-card-author[b-bzvgg70tk1],
.note-card-actions[b-bzvgg70tk1],
.note-card-body[b-bzvgg70tk1] {
    min-width: 0;
}

.note-card-actions[b-bzvgg70tk1] {
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* Circular User Avatars */
.author-avatar-circle[b-bzvgg70tk1] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(212, 168, 67, 0.1);
    color: var(--color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-sm);
    font-weight: 800;
    border: 1.5px solid rgba(212, 168, 67, 0.25);
    flex-shrink: 0;
    overflow: hidden;
}

.author-avatar-circle--sm[b-bzvgg70tk1] {
    width: 28px;
    height: 28px;
    font-size: 10px;
    border-width: 1px;
}

.author-avatar-img[b-bzvgg70tk1] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.note-card-byline[b-bzvgg70tk1] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.note-author-name[b-bzvgg70tk1] {
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--color-text-primary);
}

.note-author-badge[b-bzvgg70tk1] {
    font-size: 8px;
    font-weight: 800;
    color: var(--color-gold);
    border: 1px solid rgba(212, 168, 67, 0.4);
    background: rgba(212, 168, 67, 0.12);
    padding: 0 4px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-block;
    align-self: flex-start;
    margin-top: 1px;
}

.note-card-timestamp[b-bzvgg70tk1],
.note-comment-timestamp[b-bzvgg70tk1] {
    color: var(--color-text-muted);
}

.note-card-timestamp[b-bzvgg70tk1] {
    font-size: 11px;
    margin-top: 1px;
}

/* Visibility badges */
.note-visibility-badge[b-bzvgg70tk1] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    white-space: nowrap;
    border: 1px solid transparent;
    padding: 0.2rem 0.45rem;
    border-radius: var(--radius-sm);
}

.note-visibility-badge--gm-only[b-bzvgg70tk1] {
    color: var(--color-purple);
    border-color: rgba(163, 113, 247, 0.35);
    background: var(--color-purple-muted);
}

.note-visibility-badge--private[b-bzvgg70tk1] {
    color: var(--color-info);
    border-color: rgba(88, 166, 255, 0.35);
    background: var(--color-info-muted);
}

.note-visibility-badge--campaign[b-bzvgg70tk1] {
    color: var(--color-success);
    border-color: rgba(63, 185, 80, 0.35);
    background: var(--color-success-muted);
}

/* Post Body styles */
.note-card-body[b-bzvgg70tk1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.discussion-post-title[b-bzvgg70tk1] {
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--color-text-primary);
    margin: 0;
}

.note-card-content[b-bzvgg70tk1] {
    font-size: var(--text-sm);
    line-height: 1.65;
    color: var(--color-text-secondary);
    margin: 0;
    padding: var(--space-xs) 0 var(--space-sm) 0;
    overflow-wrap: anywhere;
}

/* Edit form styles */
.note-edit-form[b-bzvgg70tk1] {
    margin-top: var(--space-sm);
    padding-top: var(--space-md);
    border-top: 1px solid var(--notes-border);
}

.note-edit-form .form-group[b-bzvgg70tk1] {
    margin-bottom: var(--space-md);
}

.note-edit-form input[b-bzvgg70tk1],
.note-edit-form textarea[b-bzvgg70tk1],
.note-edit-form select[b-bzvgg70tk1] {
    width: 100%;
}

/* Comments Section - Indented Thread Stream */
.note-comments-section[b-bzvgg70tk1] {
    border-top: 1px solid var(--notes-border);
    padding-top: var(--space-md);
    margin-top: var(--space-xs);
}

.note-comments-header[b-bzvgg70tk1] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: var(--text-xs);
    font-family: inherit;
    font-weight: 700;
    color: var(--color-text-muted);
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    user-select: none;
    margin-bottom: var(--space-md);
    transition: color var(--transition-fast);
}

.note-comments-header:hover[b-bzvgg70tk1] {
    color: var(--color-accent);
}

.note-comments-header:focus-visible[b-bzvgg70tk1] {
    outline: 2px solid var(--color-accent-ring);
    outline-offset: 4px;
}

.note-comments-toggle-icon[b-bzvgg70tk1] {
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
}

/* Thread timeline stream line */
.note-comments[b-bzvgg70tk1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding-left: var(--space-md);
    border-left: 2px solid rgba(255, 255, 255, 0.06);
    transition: border-left-color var(--transition-fast);
    margin-bottom: var(--space-lg);
}

.note-comments:hover[b-bzvgg70tk1] {
    border-left-color: var(--color-accent-ring);
}

/* Modern Comment Bubble Card */
.note-comment[b-bzvgg70tk1] {
    position: relative;
    padding: var(--space-md);
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: var(--radius-lg);
    transition: border-color var(--transition-fast), background var(--transition-fast);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.note-comment:hover[b-bzvgg70tk1] {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.08);
}

.note-comment-header[b-bzvgg70tk1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.note-comment-meta[b-bzvgg70tk1] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.note-comment-meta .note-author-name[b-bzvgg70tk1] {
    font-size: var(--text-xs);
}

.note-comment-meta .note-comment-timestamp[b-bzvgg70tk1] {
    font-size: 10px;
}

.note-comment-body[b-bzvgg70tk1] {
    font-size: var(--text-sm);
    line-height: 1.6;
    color: var(--color-text-secondary);
    padding-left: 36px; /* Offset to align comment text beautifully under metadata */
    overflow-wrap: anywhere;
}

/* Comment Form styling */
.note-comment-form[b-bzvgg70tk1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    align-items: flex-end;
    margin-top: var(--space-md);
    width: 100%;
}

.note-comment-input[b-bzvgg70tk1] {
    width: 100%;
    min-height: 4.5rem;
    resize: vertical;
    border-radius: var(--radius-md);
    background: rgba(15, 17, 23, 0.6);
    border: 1px solid var(--notes-border);
    padding: var(--space-sm) var(--space-md);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    transition: border-color var(--transition-fast);
}

.note-comment-input:focus[b-bzvgg70tk1] {
    outline: none;
    border-color: var(--color-accent-ring);
}

@media (max-width: 640px) {
    .notes-list[b-bzvgg70tk1] {
        gap: var(--space-md);
    }

    .note-card[b-bzvgg70tk1] {
        padding: var(--space-md);
        border-radius: var(--radius-lg);
        gap: var(--space-sm);
    }

    .note-card-header[b-bzvgg70tk1] {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-md);
    }

    .note-card-author[b-bzvgg70tk1] {
        width: 100%;
        align-items: center;
    }

    .note-card-actions[b-bzvgg70tk1] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        width: 100%;
        gap: var(--space-sm);
    }

    .note-card-actions .note-visibility-badge[b-bzvgg70tk1] {
        grid-column: 1 / -1;
        justify-self: start;
        max-width: 100%;
        white-space: normal;
        line-height: 1.25;
    }

    .note-card-actions .btn[b-bzvgg70tk1] {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .note-card-byline[b-bzvgg70tk1] {
        min-width: 0;
    }

    .note-card-timestamp[b-bzvgg70tk1] {
        white-space: normal;
    }

    .note-comments[b-bzvgg70tk1] {
        padding-left: 0;
        border-left: 0;
        margin-bottom: var(--space-md);
    }

    .note-comment[b-bzvgg70tk1] {
        padding: var(--space-sm);
    }

    .note-comment-meta[b-bzvgg70tk1] {
        flex-wrap: wrap;
        gap: .2rem var(--space-sm);
    }

    .note-comment-timestamp[b-bzvgg70tk1] {
        flex-basis: 100%;
    }

    .note-comment-body[b-bzvgg70tk1] {
        padding-left: 0;
        padding-top: var(--space-xs);
    }
}
/* /Components/Shared/PageBackLink.razor.rz.scp.css */
.page-back-link[b-admjwljzva] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.75rem 0.3rem 0.55rem;
    margin-bottom: var(--space-sm);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    background: var(--color-bg-elevated);
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
    font-weight: 600;
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.page-back-link:hover[b-admjwljzva] {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
    border-color: var(--color-border-strong);
}

.page-back-link-icon[b-admjwljzva] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    opacity: 0.85;
}
/* /Components/Shared/SessionDetailPanel.razor.rz.scp.css */
.session-page[b-dlgezzboir] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.session-hero[b-dlgezzboir] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
    align-items: stretch;
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-accent);
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, var(--color-bg-surface) 0%, rgba(30, 32, 40, 0.95) 100%);
    box-shadow: var(--shadow-md);
    padding: var(--space-xl) var(--space-2xl);
    overflow: hidden;
    position: relative;
}

.session-hero[b-dlgezzboir]::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(212, 168, 67, 0.05) 0%, transparent 70%);
    pointer-events: none;
}

.session-hero-main[b-dlgezzboir] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.session-hero-main h1[b-dlgezzboir] {
    margin: 0;
    font-size: var(--text-2xl);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--color-text-primary);
    line-height: 1.25;
}

.session-hero-main p[b-dlgezzboir] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    line-height: 1.6;
    max-width: 68ch;
}

.session-stat-grid[b-dlgezzboir] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
    width: min(100%, 720px);
    height: auto;
}

.session-stat[b-dlgezzboir] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--space-md);
    background: rgba(15, 17, 23, 0.45);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-lg);
    min-height: 72px;
    transition: transform var(--transition-fast), border-color var(--transition-fast);
}

.session-stat:hover[b-dlgezzboir] {
    transform: translateY(-1px);
    border-color: rgba(212, 168, 67, 0.18);
}

.session-stat strong[b-dlgezzboir] {
    font-size: var(--text-xl);
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 2px;
}

.session-stat span[b-dlgezzboir] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
}

.session-tabs-container[b-dlgezzboir] {
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: var(--space-sm);
    box-shadow: var(--shadow-sm);
}

.session-tabs[b-dlgezzboir] {
    display: flex;
    gap: var(--space-xs);
    overflow-x: auto;
    padding-bottom: 2px;
}

.session-tab[b-dlgezzboir] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-lg);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-weight: 700;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.session-tab:hover[b-dlgezzboir] {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

.session-tab.is-active[b-dlgezzboir] {
    border-color: var(--color-accent-ring);
    background: var(--color-accent-muted);
    color: var(--color-accent);
}

.tab-badge[b-dlgezzboir] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.1);
    color: inherit;
    font-size: 10px;
    font-weight: 800;
}

.session-tab.is-active .tab-badge[b-dlgezzboir] {
    background: var(--color-accent);
    color: var(--color-bg-base);
}

.session-tab-secrets.is-active[b-dlgezzboir] {
    border-color: rgba(229, 83, 75, 0.3);
    background: var(--color-danger-muted);
    color: var(--color-danger-hover);
}

.tab-content-pane[b-dlgezzboir] {
    transition: opacity 110ms ease, transform 110ms ease;
    will-change: opacity, transform;
}

[data-shared-session-tab-transition-root].nav-transition-out[b-dlgezzboir] {
    opacity: 0;
    transform: translate3d(-4px, 0, 0);
}

[data-shared-session-tab-transition-root].nav-transition-prep[b-dlgezzboir] {
    opacity: 0;
    transform: translate3d(4px, 0, 0);
}

[data-shared-session-tab-transition-root].nav-transition-in[b-dlgezzboir] {
    animation: sessionTabFadeIn-b-dlgezzboir 150ms ease-out both;
}

.session-content-grid-tabs[b-dlgezzboir] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
}

.session-content-card[b-dlgezzboir] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
    overflow: hidden;
    padding: var(--space-xl);
}

.session-content-card:hover[b-dlgezzboir] {
    border-color: var(--color-border-strong);
    box-shadow: var(--shadow-md);
}

.session-card-header-row[b-dlgezzboir] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--color-border-subtle);
}

.session-card-icon-wrapper[b-dlgezzboir] {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-accent-muted);
    color: var(--color-accent);
    flex-shrink: 0;
}

.session-gm-card .session-card-icon-wrapper[b-dlgezzboir] {
    background: var(--color-danger-muted);
    color: var(--color-danger);
}

.session-card-header-row h2[b-dlgezzboir] {
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--color-text-primary);
    margin: 0;
}

.session-card-kicker[b-dlgezzboir] {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
    margin-bottom: 2px;
    line-height: 1;
}

.session-card-body-text[b-dlgezzboir] {
    color: var(--color-text-secondary);
    line-height: 1.65;
    font-size: var(--text-sm);
}

.session-gm-card[b-dlgezzboir] {
    border-left: 3px solid var(--color-danger) !important;
    background: linear-gradient(to right, rgba(229, 83, 75, 0.03), var(--color-bg-surface) 40%);
}

.session-gm-card h2[b-dlgezzboir] {
    color: var(--color-danger) !important;
}

.roster-grid-subtitle[b-dlgezzboir] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    margin-bottom: var(--space-lg);
}

.roster-grid[b-dlgezzboir] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
    gap: var(--space-md);
}

.roster-card-container[b-dlgezzboir] {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
}

.visibility-overlay-badge[b-dlgezzboir] {
    position: absolute;
    top: 8px;
    right: 8px;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: var(--radius-full);
    background: rgba(229, 83, 75, 0.95);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    box-shadow: var(--shadow-sm);
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.visibility-overlay-badge--visible[b-dlgezzboir] {
    background: rgba(63, 185, 80, 0.95);
}

.session-info-card[b-dlgezzboir] {
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    margin-bottom: var(--space-lg);
}

.session-info-title[b-dlgezzboir] {
    font-size: var(--text-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
    margin-bottom: var(--space-md);
}

.session-info-row[b-dlgezzboir] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--color-border-subtle);
    font-size: var(--text-sm);
}

.session-info-row:last-of-type[b-dlgezzboir] {
    border-bottom: none;
}

.session-info-label[b-dlgezzboir] {
    color: var(--color-text-secondary);
    font-weight: 600;
}

.session-info-value[b-dlgezzboir] {
    color: var(--color-text-primary);
    font-weight: 700;
}

.status-indicator[b-dlgezzboir] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--text-xs);
    font-weight: 700;
}

.status-dot[b-dlgezzboir] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-success);
    position: relative;
}

.status-dot[b-dlgezzboir]::after {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 50%;
    border: 1px solid var(--color-success);
    animation: statusPulse-b-dlgezzboir 1.8s infinite ease-in-out;
}

.player-session-back[b-dlgezzboir] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    text-decoration: none;
}

.player-session-back:hover[b-dlgezzboir] {
    color: var(--color-gold);
}

@keyframes statusPulse-b-dlgezzboir {
    0% { transform: scale(0.9); opacity: 0.8; }
    100% { transform: scale(2.2); opacity: 0; }
}

@keyframes fadeIn-b-dlgezzboir {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes sessionTabFadeIn-b-dlgezzboir {
    from {
        opacity: 0;
        transform: translate3d(4px, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tab-content-pane[b-dlgezzboir] {
        transition: none;
        will-change: auto;
    }

    [data-shared-session-tab-transition-root].nav-transition-out[b-dlgezzboir],
    [data-shared-session-tab-transition-root].nav-transition-prep[b-dlgezzboir] {
        opacity: 1;
        transform: none;
    }

    [data-shared-session-tab-transition-root].nav-transition-in[b-dlgezzboir] {
        animation: none;
    }
}

@media (max-width: 1024px) {
    .session-hero[b-dlgezzboir] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 780px) {
    .session-tabs-container[b-dlgezzboir] {
        min-width: 0;
        max-width: 100%;
        padding: var(--space-xs);
        overflow: visible;
    }

    .session-tabs[b-dlgezzboir] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-xs);
        width: 100%;
        max-width: 100%;
        overflow: visible;
        padding: 0;
    }

    .session-tab[b-dlgezzboir] {
        width: 100%;
        min-width: 0;
        min-height: 46px;
        justify-content: flex-start;
        padding: var(--space-sm) var(--space-md);
        white-space: normal;
        line-height: 1.2;
        text-align: left;
    }

    .session-tab:last-child:nth-child(odd)[b-dlgezzboir] {
        grid-column: 1 / -1;
        justify-content: center;
    }
}
/* /Components/Shared/SessionRosterFields.razor.rz.scp.css */
/* Scoped CSS for SessionRosterFields */

.roster-section[b-kgm5ch2ijz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
}

.roster-section:last-of-type[b-kgm5ch2ijz] {
    margin-bottom: 0;
}

.roster-section-header[b-kgm5ch2ijz] {
    margin-bottom: var(--space-xs);
}

.roster-hint[b-kgm5ch2ijz] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    margin-top: calc(-1 * var(--space-xs));
    margin-bottom: var(--space-md);
    line-height: 1.4;
}

.roster-list[b-kgm5ch2ijz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.roster-card[b-kgm5ch2ijz] {
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}

.roster-card:hover[b-kgm5ch2ijz] {
    border-color: var(--color-border-strong);
    background: var(--color-bg-hover);
}

.roster-card.is-selected[b-kgm5ch2ijz] {
    border-color: rgba(212, 168, 67, 0.45);
    box-shadow: inset 3px 0 0 var(--color-accent);
    background: linear-gradient(90deg, rgba(212, 168, 67, 0.04), transparent), var(--color-bg-elevated);
}

.roster-card-header[b-kgm5ch2ijz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-lg);
    gap: var(--space-md);
}

.roster-toggle-label[b-kgm5ch2ijz] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    cursor: pointer;
    flex: 1;
    min-width: 0;
    user-select: none;
    margin: 0;
}

.roster-entity-name[b-kgm5ch2ijz] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.roster-actions[b-kgm5ch2ijz] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-shrink: 0;
}

.roster-status-badge[b-kgm5ch2ijz] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: var(--radius-full);
    background: var(--color-accent-muted);
    color: var(--color-accent-hover);
    font-size: var(--text-xs);
    font-weight: 700;
}

.roster-link-btn[b-kgm5ch2ijz] {
    width: 28px;
    height: 28px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-muted);
    background: transparent;
    transition: all var(--transition-fast);
    border: 1px solid transparent;
}

.roster-link-btn:hover[b-kgm5ch2ijz] {
    color: var(--color-text-primary);
    background: var(--color-bg-active);
    border-color: var(--color-border);
}

.custom-checkbox[b-kgm5ch2ijz] {
    position: relative;
    width: 42px;
    height: 24px;
    flex-shrink: 0;
}

.custom-checkbox input[type="checkbox"][b-kgm5ch2ijz] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 42px !important;
    min-width: 42px !important;
    height: 24px !important;
    min-height: 24px !important;
    border: 1px solid var(--color-border-strong) !important;
    border-radius: var(--radius-full) !important;
    background: var(--color-bg-active) !important;
    display: block;
    cursor: pointer;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.34), var(--shadow-xs) !important;
    transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.custom-checkbox input[type="checkbox"]:hover[b-kgm5ch2ijz] {
    border-color: rgba(212, 168, 67, 0.48) !important;
    background: var(--color-bg-hover) !important;
}

.custom-checkbox input[type="checkbox"]:checked[b-kgm5ch2ijz] {
    background: linear-gradient(135deg, var(--color-accent), #3fb950) !important;
    border-color: rgba(212, 168, 67, 0.82) !important;
    box-shadow: 0 0 12px rgba(212, 168, 67, 0.2), inset 0 1px 2px rgba(0, 0, 0, 0.22) !important;
}

.custom-checkbox input[type="checkbox"][b-kgm5ch2ijz]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: linear-gradient(180deg, #f1f3f7, #aeb5c4);
    border-radius: var(--radius-full);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.34);
    transition: transform var(--transition-base), background var(--transition-fast), box-shadow var(--transition-fast);
}

.custom-checkbox input[type="checkbox"]:checked[b-kgm5ch2ijz]::after {
    transform: translateX(18px);
    background: linear-gradient(180deg, #fffdf4, #f0ead8);
    box-shadow: 0 2px 6px rgba(15, 17, 23, 0.38);
}

/* Visibility Settings Panel */
.roster-card-settings[b-kgm5ch2ijz] {
    padding: var(--space-md) var(--space-lg);
    background: rgba(0, 0, 0, 0.12);
    border-top: 1px solid var(--color-border-subtle);
}

.roster-setting-toggle[b-kgm5ch2ijz] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    cursor: pointer;
    user-select: none;
    margin: 0;
}

.roster-switch[b-kgm5ch2ijz] {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 24px;
    flex-shrink: 0;
}

.roster-switch input[b-kgm5ch2ijz] {
    opacity: 0;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.roster-slider[b-kgm5ch2ijz] {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent),
        var(--color-bg-active);
    border: 1px solid var(--color-border-strong);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.34), var(--shadow-xs);
    transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
    border-radius: var(--radius-full);
}

.roster-slider[b-kgm5ch2ijz]:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background: linear-gradient(180deg, #f1f3f7, #aeb5c4);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.34);
    transition: transform var(--transition-base), background var(--transition-fast), box-shadow var(--transition-fast);
    border-radius: 50%;
}

.roster-switch input:checked + .roster-slider[b-kgm5ch2ijz] {
    background: linear-gradient(135deg, var(--color-accent), #3fb950);
    border-color: rgba(212, 168, 67, 0.82);
    box-shadow: 0 0 12px rgba(212, 168, 67, 0.2), inset 0 1px 2px rgba(0, 0, 0, 0.22);
}

.roster-switch input:checked + .roster-slider[b-kgm5ch2ijz]:before {
    transform: translateX(18px);
    background: linear-gradient(180deg, #fffdf4, #f0ead8);
    box-shadow: 0 2px 6px rgba(15, 17, 23, 0.38);
}

.roster-setting-info[b-kgm5ch2ijz] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.roster-setting-title[b-kgm5ch2ijz] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-text-secondary);
}

.roster-setting-desc[b-kgm5ch2ijz] {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
}
/* /Components/Shared/SystemPlaceholderShell.razor.rz.scp.css */
.system-placeholder[b-fbwq49zhwv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding: var(--space-xl) var(--space-lg);
}

.system-placeholder-back[b-fbwq49zhwv] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--color-text-secondary);
    text-decoration: none;
    font-size: var(--text-sm);
    margin-bottom: var(--space-2xl);
    transition: color var(--transition-fast);
}

.system-placeholder-back:hover[b-fbwq49zhwv] {
    color: var(--color-accent);
}

.system-placeholder-content[b-fbwq49zhwv] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 480px;
    margin: auto;
}

.system-placeholder-icon[b-fbwq49zhwv] {
    width: min(240px, 70vw);
    height: auto;
    object-fit: contain;
    margin-bottom: var(--space-xl);
}

.system-placeholder-content h1[b-fbwq49zhwv] {
    font-family: var(--font-serif);
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    font-weight: 700;
    color: var(--color-accent);
    margin: 0 0 var(--space-md);
}

.system-placeholder-status[b-fbwq49zhwv] {
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
    margin: 0 0 var(--space-sm);
}

.system-placeholder-note[b-fbwq49zhwv] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: var(--text-base);
    line-height: 1.6;
}
/* /Components/Shared/TagEditor.razor.rz.scp.css */
.tag-editor[b-k7n3vwsfi9] {
    margin: var(--space-sm) 0;
}

.tag-list[b-k7n3vwsfi9] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.tag-badge[b-k7n3vwsfi9] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    transition: all var(--transition-fast);
}

.tag-remove[b-k7n3vwsfi9] {
    background: none;
    border: none;
    color: var(--color-text-muted);
    cursor: pointer;
    font-size: var(--text-sm);
    padding: 0;
    line-height: 1;
    transition: color var(--transition-fast);
}

.tag-remove:hover[b-k7n3vwsfi9] {
    color: var(--color-danger);
}

.tag-input-row[b-k7n3vwsfi9] {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
}

.tag-input-row input[b-k7n3vwsfi9] {
    padding: 0.35rem 0.5rem;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    width: 200px;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.tag-input-row input:focus[b-k7n3vwsfi9] {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}
/* /Components/Shared/TagList.razor.rz.scp.css */
.tag-list[b-ij2en13vjx] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.tag-badge[b-ij2en13vjx] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.tag-badge:hover[b-ij2en13vjx] {
    background: var(--color-accent-muted);
    border-color: var(--color-accent);
    color: var(--color-accent);
}
/* /Components/Shared/ToastContainer.razor.rz.scp.css */
.toast-container[b-36ihk2z0u2] {
    position: fixed;
    bottom: max(var(--space-xl), env(safe-area-inset-bottom));
    right: max(var(--space-xl), env(safe-area-inset-right));
    z-index: 9999;
    display: flex;
    flex-direction: column-reverse;
    gap: var(--space-sm);
    max-width: min(380px, calc(100vw - max(var(--space-xl), env(safe-area-inset-right)) - max(var(--space-xl), env(safe-area-inset-left))));
    pointer-events: none;
}

.toast[b-36ihk2z0u2] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    border-radius: var(--radius-lg);
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
    pointer-events: auto;
    animation: toastIn-b-36ihk2z0u2 0.3s ease forwards;
    min-width: min(280px, 100%);
    max-width: 100%;
}

.toast-exit[b-36ihk2z0u2] {
    animation: toastOut-b-36ihk2z0u2 0.3s ease forwards;
}

.toast-icon[b-36ihk2z0u2] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.toast-success .toast-icon[b-36ihk2z0u2] { color: var(--color-success); }
.toast-error .toast-icon[b-36ihk2z0u2] { color: var(--color-danger); }
.toast-info .toast-icon[b-36ihk2z0u2] { color: var(--color-info); }

.toast-message[b-36ihk2z0u2] {
    flex: 1;
    min-width: 0;
    font-size: var(--text-sm);
    color: var(--color-text-primary);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.toast-close[b-36ihk2z0u2] {
    flex-shrink: 0;
    background: transparent;
    border: none;
    color: var(--color-text-muted);
    cursor: pointer;
    padding: 2px;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
}

.toast-close:hover[b-36ihk2z0u2] {
    background: var(--color-bg-hover);
    color: var(--color-text-primary);
}

@keyframes toastIn-b-36ihk2z0u2 {
    from { opacity: 0; transform: translateY(12px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes toastOut-b-36ihk2z0u2 {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(12px) scale(0.96); }
}

@media (max-width: 640px) {
    .toast-container[b-36ihk2z0u2] {
        left: max(var(--space-md), env(safe-area-inset-left));
        right: max(var(--space-md), env(safe-area-inset-right));
        bottom: max(var(--space-md), env(safe-area-inset-bottom));
        max-width: none;
    }

    .toast[b-36ihk2z0u2] {
        width: 100%;
        min-width: 0;
    }
}
