/* /Components/InfoSection.razor.rz.scp.css */
.info-section[b-mwnongh58p] {
    width: min(100%, 960px);
    margin: 1rem auto 0;
    padding: 1.75rem;
    color: var(--color-text-muted);
    font-size: 0.925rem;
    line-height: 1.65;
}

.info-section h2[b-mwnongh58p] {
    margin: 0 0 1rem;
    color: var(--color-text);
    font-size: 1.2rem;
}

.info-section h3[b-mwnongh58p] {
    margin: 1.4rem 0 0.4rem;
    color: var(--color-text);
    font-size: 0.98rem;
    font-weight: 600;
}

.info-section h2 + h3[b-mwnongh58p] {
    margin-top: 0;
}

.info-section ol[b-mwnongh58p] {
    margin: 0;
    padding-left: 1.25rem;
}

.info-section li[b-mwnongh58p] {
    margin-bottom: 0.5rem;
    padding-left: 0.25rem;
}

.info-section li[b-mwnongh58p]::marker {
    color: var(--color-accent);
    font-weight: 700;
}

.info-section li:last-child[b-mwnongh58p] {
    margin-bottom: 0;
}

.info-section p[b-mwnongh58p] {
    margin: 0.6rem 0;
}

.info-section p:last-child[b-mwnongh58p] {
    margin-bottom: 0;
}

.info-section hr[b-mwnongh58p] {
    margin: 1.75rem 0;
    border-color: var(--color-border);
}

.info-section a[b-mwnongh58p] {
    color: var(--color-accent);
    font-weight: 600;
    text-decoration: none;
}

.info-section a:hover[b-mwnongh58p],
.info-section a:focus-visible[b-mwnongh58p] {
    color: var(--color-accent-hover);
    text-decoration: underline;
}

@media (max-width: 640px) {
    .info-section[b-mwnongh58p] {
        padding: 1.25rem;
    }
}
/* /Components/Layout/BackgroundLayout.razor.rz.scp.css */
.page-background[b-t3e0rpsz6q] {
    position: fixed;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(10, 12, 17, 0.55) 0%, rgba(10, 12, 17, 0.35) 45%, rgba(10, 12, 17, 0.8) 100%),
        url("/main-background.jpg") center / cover no-repeat,
        var(--color-page);
    pointer-events: none;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-7lku4lzsij] {
    width: min(100%, 1440px);
    margin: 0 auto;
    padding: 1.75rem 1.5rem 3rem;
}

.content[b-7lku4lzsij] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

@media (max-width: 640px) {
    .page[b-7lku4lzsij] {
        padding: 1rem 1rem 2rem;
    }
}

#blazor-error-ui[b-7lku4lzsij] {
    background: var(--color-danger-strong);
    color: #ffffff;
    bottom: 0;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    font-weight: 500;
}

#blazor-error-ui .reload[b-7lku4lzsij] {
    margin-left: 0.5rem;
    color: #ffffff;
    font-weight: 700;
}

#blazor-error-ui .dismiss[b-7lku4lzsij] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.6rem;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-3tzsrxcav5],
.components-reconnect-repeated-attempt-visible[b-3tzsrxcav5],
.components-reconnect-failed-visible[b-3tzsrxcav5],
.components-pause-visible[b-3tzsrxcav5],
.components-resume-failed-visible[b-3tzsrxcav5],
.components-rejoining-animation[b-3tzsrxcav5] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-3tzsrxcav5],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-3tzsrxcav5],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-3tzsrxcav5],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-3tzsrxcav5],
#components-reconnect-modal.components-reconnect-retrying[b-3tzsrxcav5],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-3tzsrxcav5],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-3tzsrxcav5],
#components-reconnect-modal.components-reconnect-failed[b-3tzsrxcav5],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-3tzsrxcav5] {
    display: block;
}


#components-reconnect-modal[b-3tzsrxcav5] {
    background-color: var(--color-surface-raised);
    color: var(--color-text);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-3tzsrxcav5 0.5s both;

    &[open] {
        animation: components-reconnect-modal-slideUp-b-3tzsrxcav5 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-3tzsrxcav5 0.5s ease-in-out 0.3s;
        animation-fill-mode: both;
    }

}

#components-reconnect-modal[b-3tzsrxcav5]::backdrop {
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    animation: components-reconnect-modal-fadeInOpacity-b-3tzsrxcav5 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-3tzsrxcav5 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-3tzsrxcav5 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-3tzsrxcav5 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-3tzsrxcav5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-3tzsrxcav5] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-3tzsrxcav5] {
    border: 0;
    background-color: var(--color-accent);
    color: var(--color-accent-text);
    padding: 0.5rem 1.5rem;
    font-weight: 600;
    cursor: pointer;
    border-radius: var(--radius-sm);
}

#components-reconnect-modal button:hover[b-3tzsrxcav5] {
    background-color: var(--color-accent-hover);
}

#components-reconnect-modal button:active[b-3tzsrxcav5] {
    background-color: var(--color-accent);
}

.components-rejoining-animation[b-3tzsrxcav5] {
    position: relative;
    width: 80px;
    height: 80px;
}

.components-rejoining-animation div[b-3tzsrxcav5] {
    position: absolute;
    border: 3px solid var(--color-accent);
    opacity: 1;
    border-radius: 50%;
    animation: components-rejoining-animation-b-3tzsrxcav5 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.components-rejoining-animation div:nth-child(2)[b-3tzsrxcav5] {
    animation-delay: -0.5s;
}

@keyframes components-rejoining-animation-b-3tzsrxcav5 {
    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/PageHeader.razor.rz.scp.css */
.page-header[b-hab9yw4nph] {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-chrome);
    backdrop-filter: saturate(140%) blur(12px);
    -webkit-backdrop-filter: saturate(140%) blur(12px);
}

.page-header-inner[b-hab9yw4nph] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: min(100%, 1440px);
    height: var(--header-height);
    margin: 0 auto;
    padding: 0 1.5rem;
}

.brand[b-hab9yw4nph] {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    color: var(--color-text);
    text-decoration: none;
}

.brand:hover[b-hab9yw4nph],
.brand:focus-visible[b-hab9yw4nph] {
    color: var(--color-text);
}

.brand:focus-visible[b-hab9yw4nph] {
    border-radius: var(--radius-sm);
    outline: none;
    box-shadow: var(--focus-ring);
}

.brand-mark[b-hab9yw4nph] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.125rem;
    height: 2.125rem;
    flex: 0 0 auto;
    border: 1px solid var(--color-accent-border);
    border-radius: var(--radius-sm);
    background: linear-gradient(145deg, rgba(232, 184, 74, 0.22), rgba(232, 184, 74, 0.06));
    color: var(--color-accent);
}

.brand-mark svg[b-hab9yw4nph] {
    width: 1.1rem;
    height: 1.1rem;
}

.brand-text[b-hab9yw4nph] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.brand-eyebrow[b-hab9yw4nph] {
    color: var(--color-text-subtle);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.brand-title[b-hab9yw4nph] {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.auth-panel[b-hab9yw4nph] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.user-chip[b-hab9yw4nph] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.2rem 0.75rem 0.2rem 0.2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: var(--color-surface);
}

.user-avatar[b-hab9yw4nph] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--color-surface-high);
    color: var(--color-accent);
    font-size: 0.8rem;
    font-weight: 700;
}

.user-name[b-hab9yw4nph] {
    overflow: hidden;
    color: var(--color-text-muted);
    font-size: 0.85rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .page-header-inner[b-hab9yw4nph] {
        padding: 0 1rem;
    }

    .brand-eyebrow[b-hab9yw4nph] {
        display: none;
    }

    .user-chip[b-hab9yw4nph] {
        padding-right: 0.2rem;
    }

    .user-name[b-hab9yw4nph] {
        display: none;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-hero[b-ar7qnmc9t6],
.session-index-card[b-ar7qnmc9t6] {
    width: min(100%, 960px);
    margin: 0 auto;
}

.home-hero[b-ar7qnmc9t6] {
    padding: 1.5rem 0 0.25rem;
}

.home-hero h1[b-ar7qnmc9t6] {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(1.9rem, 4vw, 2.6rem);
    font-weight: 700;
    letter-spacing: -0.025em;
}

.home-lead[b-ar7qnmc9t6] {
    max-width: 40rem;
    margin: 0;
    color: var(--color-text-muted);
    font-size: 1.05rem;
}

.session-index-card[b-ar7qnmc9t6]  .alert {
    margin: 0 0 1rem;
}

.session-action-grid[b-ar7qnmc9t6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.session-action-panel[b-ar7qnmc9t6] {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
}

.session-action-panel[b-ar7qnmc9t6]  .button-block {
    margin-top: auto;
}

.session-action-heading[b-ar7qnmc9t6] {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

.session-action-heading h2[b-ar7qnmc9t6] {
    margin: 0 0 0.2rem;
    font-size: 1.1rem;
}

.session-action-icon[b-ar7qnmc9t6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    border: 1px solid var(--color-accent-border);
    border-radius: var(--radius-md);
    background: var(--color-accent-surface);
    color: var(--color-accent);
}

.session-action-icon svg[b-ar7qnmc9t6] {
    width: 1.2rem;
    height: 1.2rem;
}

.spectate-hint[b-ar7qnmc9t6] {
    margin-top: 0.85rem;
    text-align: center;
}

.link-button[b-ar7qnmc9t6] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-accent);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.link-button:hover:not(:disabled)[b-ar7qnmc9t6],
.link-button:focus-visible[b-ar7qnmc9t6] {
    color: var(--color-accent-hover);
    text-decoration: underline;
}

.link-button:disabled[b-ar7qnmc9t6] {
    opacity: 0.6;
    cursor: not-allowed;
}

.sign-in-panel[b-ar7qnmc9t6] {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.sign-in-panel p[b-ar7qnmc9t6] {
    margin: 0;
}

@media (max-width: 760px) {
    .session-action-grid[b-ar7qnmc9t6] {
        grid-template-columns: 1fr;
    }

    .session-action-panel[b-ar7qnmc9t6] {
        padding: 1.25rem;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-4c8bmdc4ij] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: calc(100vh - var(--header-height) - 6rem);
    padding: 1rem 0;
}

.login-card[b-4c8bmdc4ij] {
    width: min(100%, 520px);
    padding: 2rem;
    box-shadow: var(--shadow-lg);
}

.login-header h1[b-4c8bmdc4ij] {
    margin: 0 0 0.6rem;
    font-size: 1.75rem;
    letter-spacing: -0.02em;
}

.spectate-card .login-header[b-4c8bmdc4ij] {
    margin-bottom: 1.25rem;
}

.spectate-card .login-header h2[b-4c8bmdc4ij] {
    margin: 0 0 0.4rem;
    font-size: 1.15rem;
}

.login-header p[b-4c8bmdc4ij] {
    margin: 0;
    color: var(--color-text-muted);
    line-height: 1.55;
}

.permission-list[b-4c8bmdc4ij] {
    margin: 1.5rem 0;
    padding: 1rem 1.1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-raised);
}

.permission-list h2[b-4c8bmdc4ij] {
    margin: 0 0 0.75rem;
    color: var(--color-text-subtle);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.permission-list ul[b-4c8bmdc4ij] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.permission-list li[b-4c8bmdc4ij] {
    position: relative;
    padding-left: 1.6rem;
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.permission-list li[b-4c8bmdc4ij]::before {
    content: "";
    position: absolute;
    top: 0.3rem;
    left: 0.15rem;
    width: 0.8rem;
    height: 0.45rem;
    border-bottom: 2px solid var(--color-success);
    border-left: 2px solid var(--color-success);
    transform: rotate(-45deg);
}

.login-note[b-4c8bmdc4ij] {
    margin: 1rem 0 0;
    color: var(--color-text-subtle);
    font-size: 0.82rem;
    text-align: center;
}

.signed-in-panel[b-4c8bmdc4ij] {
    margin-top: 1.5rem;
}

.signed-in-panel p[b-4c8bmdc4ij] {
    color: var(--color-text-muted);
}

.signed-in-panel strong[b-4c8bmdc4ij] {
    color: var(--color-text);
}

.login-actions[b-4c8bmdc4ij] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

@media (max-width: 640px) {
    .login-card[b-4c8bmdc4ij] {
        padding: 1.25rem;
    }
}
/* /Components/Pages/Session.razor.rz.scp.css */
/* Encounter artwork: fixed to the left of the viewport and faded into the page background to the right and bottom. */

.encounter-backdrop[b-adky68xavf] {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: min(70vw, 1200px);
    height: min(78vh, 820px);
    overflow: hidden;
    pointer-events: none;
    -webkit-mask-image:
        linear-gradient(to right, #000 0%, rgba(0, 0, 0, 0.85) 35%, transparent 100%),
        linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0.75) 45%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(to right, #000 0%, rgba(0, 0, 0, 0.85) 35%, transparent 100%),
        linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0.75) 45%, transparent 100%);
    mask-composite: intersect;
    opacity: 0.55;
}

/* Hidden until loaded, then faded in. A new image covers the previous one completely, so the container dims both. */
.encounter-backdrop-image[b-adky68xavf] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    opacity: 0;
    filter: saturate(0.9);
    transition: opacity 0.7s ease-out;
}

.encounter-backdrop-image.loaded[b-adky68xavf] {
    opacity: 1;
}

/* Encounters without artwork fade the last image out. */
.encounter-backdrop.empty .encounter-backdrop-image[b-adky68xavf] {
    opacity: 0;
}

/* Surfaces turn translucent and blur the artwork behind them, the variables also reach the child components. */
.session-layout.has-backdrop[b-adky68xavf] {
    --color-surface: rgba(18, 22, 30, 0.74);
    --color-surface-raised: rgba(26, 31, 42, 0.72);
}

.has-backdrop .session-sidebar[b-adky68xavf],
.has-backdrop .session-toolbar-card[b-adky68xavf],
.has-backdrop[b-adky68xavf]  .player-card,
.has-backdrop[b-adky68xavf]  .weapon-slot-column,
.has-backdrop[b-adky68xavf]  .round-card,
.has-backdrop[b-adky68xavf]  .vote-card,
.has-backdrop[b-adky68xavf]  .vote-idle,
.has-backdrop[b-adky68xavf]  .unlocked-weapons-card {
    backdrop-filter: blur(16px) saturate(120%);
    -webkit-backdrop-filter: blur(16px) saturate(120%);
}

.session-layout[b-adky68xavf] {
    display: grid;
    grid-template-columns: 15.5rem minmax(0, 1fr);
    align-items: start;
    gap: 1.5rem;
}

/* Sidebar */

.session-sidebar[b-adky68xavf] {
    position: sticky;
    top: calc(var(--header-height) + 1.5rem);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-height: calc(100vh - var(--header-height) - 3rem);
    padding: 1.1rem;
    overflow-y: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}

.session-identity[b-adky68xavf] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.15rem 0.35rem 1.1rem;
    border-bottom: 1px solid var(--color-border);
}

.session-identity h1[b-adky68xavf] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.session-identity .note[b-adky68xavf] {
    font-size: 0.8rem;
}

.session-identity-badges[b-adky68xavf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.2rem;
}

.spectator-count svg[b-adky68xavf] {
    width: 0.9rem;
    height: 0.9rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.activity-suggestion[b-adky68xavf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-top: 1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--color-accent-border);
    border-radius: var(--radius-sm);
    background: var(--color-accent-surface);
}

.activity-suggestion p[b-adky68xavf] {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.875rem;
}

.activity-suggestion strong[b-adky68xavf] {
    color: var(--color-text);
}

.activity-suggestion-actions[b-adky68xavf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.session-nav[b-adky68xavf] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.session-nav-item[b-adky68xavf] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    padding: 0.6rem 0.7rem;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.session-nav-item:hover[b-adky68xavf] {
    background: var(--color-hover);
    color: var(--color-text);
}

.session-nav-item:focus-visible[b-adky68xavf] {
    outline: none;
    box-shadow: var(--focus-ring);
}

.session-nav-item.active[b-adky68xavf] {
    border-color: var(--color-border);
    background: var(--color-surface-high);
    color: var(--color-text);
    font-weight: 600;
}

.session-nav-item.active[b-adky68xavf]::before {
    content: "";
    position: absolute;
    top: 0.55rem;
    bottom: 0.55rem;
    left: -1px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--color-accent);
}

.nav-icon[b-adky68xavf] {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    color: var(--color-text-subtle);
    transition: color 0.15s ease;
}

.session-nav-item:hover .nav-icon[b-adky68xavf],
.session-nav-item.active .nav-icon[b-adky68xavf] {
    color: var(--color-accent);
}

.nav-label[b-adky68xavf] {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
}

.nav-count[b-adky68xavf] {
    min-width: 1.6rem;
    padding: 0.05rem 0.45rem;
    border-radius: var(--radius-pill);
    background: var(--color-surface-sunken);
    color: var(--color-text-subtle);
    font-size: 0.75rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.nav-flag[b-adky68xavf] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.1rem 0.5rem;
    border-radius: var(--radius-pill);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.nav-flag-live[b-adky68xavf] {
    background: var(--color-accent-surface);
    color: var(--color-accent);
}

.nav-flag-live[b-adky68xavf]::before {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: currentColor;
    animation: pulse-b-adky68xavf 1.6s ease-in-out infinite;
}

.nav-flag-new[b-adky68xavf] {
    background: var(--color-success-surface);
    color: var(--color-success);
}

.session-sidebar-actions[b-adky68xavf] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 1.1rem;
    border-top: 1px solid var(--color-border);
}

.session-sidebar-actions[b-adky68xavf]  .button {
    justify-content: flex-start;
    width: 100%;
}

/* Main */

.session-main[b-adky68xavf] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
}

.session-toolbar-card[b-adky68xavf] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 1.25rem;
}

.session-panel[b-adky68xavf] {
    gap: 1.25rem;
    animation: panel-in-b-adky68xavf 0.2s ease-out;
}

.session-status-card[b-adky68xavf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: min(100%, 640px);
    margin: 3rem auto 0;
}

.loading-spinner[b-adky68xavf] {
    width: 1.75rem;
    height: 1.75rem;
    border: 2px solid var(--color-border-strong);
    border-top-color: var(--color-accent);
    border-radius: 50%;
    animation: spin-b-adky68xavf 0.8s linear infinite;
}

/* Vote toast */

.vote-toast[b-adky68xavf] {
    position: fixed;
    top: calc(var(--header-height) + 1rem);
    right: 1.5rem;
    z-index: 60;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    max-width: min(24rem, calc(100vw - 2rem));
    padding: 0.85rem 1.1rem 0.85rem 0.85rem;
    border: 1px solid var(--color-accent-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-raised);
    box-shadow: var(--shadow-lg);
    font-size: 0.875rem;
    pointer-events: none;
    animation: toast-in-b-adky68xavf 0.3s ease-out, toast-out-b-adky68xavf 0.4s ease-in 5s forwards;
}

.vote-toast strong[b-adky68xavf] {
    display: block;
    color: var(--color-text);
}

.vote-toast-text[b-adky68xavf] {
    color: var(--color-text-muted);
}

.vote-toast-icon[b-adky68xavf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 auto;
    border-radius: var(--radius-sm);
    background: var(--color-accent-surface);
    color: var(--color-accent);
}

.vote-toast-icon svg[b-adky68xavf] {
    width: 1.15rem;
    height: 1.15rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

@keyframes pulse-b-adky68xavf {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.35;
    }
}

@keyframes spin-b-adky68xavf {
    to {
        transform: rotate(360deg);
    }
}

@keyframes panel-in-b-adky68xavf {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes toast-in-b-adky68xavf {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes toast-out-b-adky68xavf {
    to {
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
    }
}

/* Small screens: the sidebar turns into a header with a scrollable tab bar. */

@media (max-width: 960px) {
    /* The artwork sits at the top behind the session header instead and only fades out downwards. */
    .encounter-backdrop[b-adky68xavf] {
        top: var(--header-height);
        bottom: auto;
        width: 100%;
        height: 60vh;
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.6) 45%, transparent 100%);
        mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.6) 45%, transparent 100%);
    }

    .session-layout[b-adky68xavf] {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .session-sidebar[b-adky68xavf] {
        position: static;
        max-height: none;
        overflow: visible;
        gap: 1rem;
    }

    .session-identity[b-adky68xavf] {
        padding-bottom: 0.9rem;
    }

    .session-nav[b-adky68xavf] {
        flex-direction: row;
        gap: 0.35rem;
        margin: 0 -0.35rem;
        padding: 0 0.35rem 0.15rem;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .session-nav[b-adky68xavf]::-webkit-scrollbar {
        display: none;
    }

    .session-nav-item[b-adky68xavf] {
        width: auto;
        flex: 0 0 auto;
    }

    .session-nav-item.active[b-adky68xavf]::before {
        top: auto;
        right: 0.7rem;
        bottom: -1px;
        left: 0.7rem;
        width: auto;
        height: 3px;
        border-radius: 3px 3px 0 0;
    }

    .session-sidebar-actions[b-adky68xavf] {
        flex-direction: row;
        flex-wrap: wrap;
        margin-top: 0;
        padding-top: 0.9rem;
    }

    .session-sidebar-actions[b-adky68xavf]  .button {
        width: auto;
        flex: 1 1 auto;
        justify-content: center;
    }

    .session-main[b-adky68xavf] {
        gap: 1rem;
    }
}

@media (max-width: 640px) {
    .session-nav[b-adky68xavf] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0;
        padding: 0;
        overflow: visible;
    }

    .session-sidebar[b-adky68xavf] {
        padding: 0.9rem;
    }

    .session-nav-item[b-adky68xavf] {
        width: 100%;
        min-width: 0;
        gap: 0.4rem;
        padding: 0.55rem 0.5rem;
        font-size: 0.82rem;
    }

    .nav-icon[b-adky68xavf] {
        display: none;
    }

    .nav-label[b-adky68xavf] {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .vote-toast[b-adky68xavf] {
        right: 1rem;
        left: 1rem;
        max-width: none;
    }
}
/* /Components/Session/FireteamSection.razor.rz.scp.css */
.fireteam-grid[b-ocpjv8mn0x] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.player-card[b-ocpjv8mn0x] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}

.player-header[b-ocpjv8mn0x] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0 0.15rem;
}

.player-heading[b-ocpjv8mn0x] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.player-heading h3[b-ocpjv8mn0x] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.player-meta[b-ocpjv8mn0x] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    color: var(--color-text-subtle);
    font-size: 0.8rem;
    font-weight: 500;
}

.creator-label[b-ocpjv8mn0x] {
    padding: 0.05rem 0.45rem;
    border: 1px solid var(--color-accent-border);
    border-radius: var(--radius-pill);
    background: var(--color-accent-surface);
    color: var(--color-accent);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.weapon-slot-list[b-ocpjv8mn0x] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.weapon-slot-card[b-ocpjv8mn0x] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-raised);
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.weapon-slot-card.locked[b-ocpjv8mn0x] {
    border-color: var(--color-danger-border);
    background: linear-gradient(90deg, var(--color-danger-surface-strong), var(--color-danger-surface));
    box-shadow: inset 3px 0 0 var(--color-danger);
}

.weapon-slot-name[b-ocpjv8mn0x] {
    color: var(--color-text-subtle);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.weapon-icon[b-ocpjv8mn0x],
.weapon-placeholder-icon[b-ocpjv8mn0x] {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: var(--radius-xs);
}

.weapon-icon[b-ocpjv8mn0x] {
    background: var(--color-surface-sunken);
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.weapon-slot-card.locked .weapon-icon[b-ocpjv8mn0x] {
    box-shadow: 0 0 0 1px var(--color-danger-border);
}

.weapon-placeholder-icon[b-ocpjv8mn0x] {
    border: 1px dashed var(--color-border-strong);
    background: rgba(255, 255, 255, 0.02);
}

.weapon-details[b-ocpjv8mn0x] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.weapon-details strong[b-ocpjv8mn0x] {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.empty-weapon[b-ocpjv8mn0x] {
    color: var(--color-text-faint);
    font-size: 0.85rem;
}

.locked-label[b-ocpjv8mn0x] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex: 0 0 auto;
    align-self: flex-start;
    padding: 0.15rem 0.45rem;
    border-radius: var(--radius-pill);
    background: rgba(240, 84, 76, 0.18);
    color: var(--color-danger-text);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.locked-label svg[b-ocpjv8mn0x] {
    width: 0.7rem;
    height: 0.7rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.5;
}

.current-activity[b-ocpjv8mn0x] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.7rem;
}

.activity-chip[b-ocpjv8mn0x] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.15rem 0.6rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-pill);
    background: var(--color-surface-raised);
    color: var(--color-text);
    font-weight: 600;
}

.activity-dot[b-ocpjv8mn0x] {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--color-success);
}

.player-activity[b-ocpjv8mn0x] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--color-text-subtle);
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

.player-activity[b-ocpjv8mn0x]::before {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--color-success);
}

.player-activity.elsewhere[b-ocpjv8mn0x] {
    color: var(--color-warning-text);
}

.player-activity.elsewhere[b-ocpjv8mn0x]::before {
    background: var(--color-warning);
}

.player-activity.idle[b-ocpjv8mn0x]::before {
    background: var(--color-text-faint);
}
/* /Components/Session/LockedWeaponsGrid.razor.rz.scp.css */
.dim-query-actions[b-josazqw68u] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.locked-weapon-search[b-josazqw68u] {
    margin-bottom: 0.75rem;
}
/* /Components/Session/SessionHistorySection.razor.rz.scp.css */
.round-list[b-gqoo18u8o8] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin: 0;
    padding: 0 0 0 1.5rem;
    list-style: none;
}

/* Timeline rail */
.round-list[b-gqoo18u8o8]::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 0.4rem;
    width: 2px;
    border-radius: 2px;
    background: var(--color-border-strong);
}

.round-card[b-gqoo18u8o8] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}

/* Timeline marker */
.round-card[b-gqoo18u8o8]::before {
    content: "";
    position: absolute;
    top: 1.15rem;
    left: calc(-1.5rem + 0.4rem - 4px);
    width: 10px;
    height: 10px;
    border: 2px solid var(--color-page);
    border-radius: 50%;
    box-sizing: content-box;
}

.round-card.lock[b-gqoo18u8o8]::before {
    background: var(--color-danger);
}

.round-card.unlock[b-gqoo18u8o8]::before {
    background: var(--color-success);
}

.round-card.reset[b-gqoo18u8o8]::before {
    background: var(--color-accent);
}

.round-header[b-gqoo18u8o8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.7rem;
}

.round-header h4[b-gqoo18u8o8] {
    margin: 0;
    font-size: 1rem;
    font-weight: 650;
}

.round-kind-label[b-gqoo18u8o8] {
    padding: 0.1rem 0.5rem;
    border-radius: var(--radius-pill);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.round-card.lock .round-kind-label[b-gqoo18u8o8] {
    background: var(--color-danger-surface-strong);
    color: var(--color-danger-text);
}

.round-card.unlock .round-kind-label[b-gqoo18u8o8] {
    background: var(--color-success-surface);
    color: var(--color-success-text);
}

.round-card.reset .round-kind-label[b-gqoo18u8o8] {
    background: var(--color-accent-surface);
    color: var(--color-accent);
}

.round-header .note[b-gqoo18u8o8] {
    font-size: 0.8rem;
}

.round-member-grid[b-gqoo18u8o8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.6rem;
}

.round-member[b-gqoo18u8o8] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.7rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-raised);
}

.round-member-header[b-gqoo18u8o8] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.25rem 0.5rem;
    font-size: 0.9rem;
}

.round-member-header strong[b-gqoo18u8o8] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.round-member-class[b-gqoo18u8o8] {
    color: var(--color-text-subtle);
    font-size: 0.75rem;
    font-weight: 500;
}

.round-weapon-list[b-gqoo18u8o8] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.round-weapon[b-gqoo18u8o8] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.3rem;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
}

.round-weapon.newly-locked[b-gqoo18u8o8] {
    border-color: var(--color-danger-border);
    background: var(--color-danger-surface);
}

.round-weapon-icon[b-gqoo18u8o8] {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: var(--radius-xs);
    background: var(--color-surface-sunken);
    object-fit: cover;
}

.round-weapon-icon.placeholder[b-gqoo18u8o8] {
    border: 1px dashed var(--color-border-strong);
    background: rgba(255, 255, 255, 0.02);
}

.round-weapon-text[b-gqoo18u8o8] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.round-weapon-slot[b-gqoo18u8o8] {
    color: var(--color-text-subtle);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.round-weapon-name[b-gqoo18u8o8] {
    font-size: 0.85rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.round-new-label[b-gqoo18u8o8] {
    color: var(--color-danger-text);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.round-group + .round-group[b-gqoo18u8o8] {
    margin-top: 1.75rem;
}

.round-group-heading[b-gqoo18u8o8] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 0.85rem;
    color: var(--color-accent);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.round-group-heading[b-gqoo18u8o8]::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--color-border);
}

.round-number[b-gqoo18u8o8] {
    margin-left: auto;
    color: var(--color-text-faint);
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.round-also-locked[b-gqoo18u8o8] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

@media (max-width: 640px) {
    .round-list[b-gqoo18u8o8] {
        padding-left: 1.1rem;
    }

    .round-list[b-gqoo18u8o8]::before {
        left: 0.25rem;
    }

    .round-card[b-gqoo18u8o8]::before {
        left: calc(-1.1rem + 0.25rem - 4px);
    }
}
/* /Components/Session/SessionSettingsSection.razor.rz.scp.css */
.settings-list[b-96fpb0d2lf] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    margin-top: 1.25rem;
}

.settings-card[b-96fpb0d2lf] {
    padding: 1.1rem 1.2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-raised);
}

.settings-card.danger[b-96fpb0d2lf] {
    border-color: var(--color-danger-border);
}

.settings-card-header[b-96fpb0d2lf] {
    margin-bottom: 0.9rem;
}

.settings-card-header h3[b-96fpb0d2lf] {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 650;
}

.settings-confirmation[b-96fpb0d2lf] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--color-accent-border);
    border-radius: var(--radius-sm);
    background: var(--color-accent-surface);
}

.settings-confirmation p[b-96fpb0d2lf] {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.875rem;
}

.settings-actions[b-96fpb0d2lf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.settings-member-list[b-96fpb0d2lf] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.settings-member[b-96fpb0d2lf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 2.6rem;
    padding: 0.4rem 0.4rem 0.4rem 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface-sunken);
}

.settings-member-name[b-96fpb0d2lf] {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 0.9rem;
    font-weight: 600;
}
/* /Components/Session/SessionToolbar.razor.rz.scp.css */
.toolbar[b-nc1dvg9qb2] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem 1.5rem;
}

.toolbar-encounter[b-nc1dvg9qb2] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
}

.encounter-selection[b-nc1dvg9qb2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.encounter-selection .form-control[b-nc1dvg9qb2] {
    width: auto;
    min-width: 11rem;
    max-width: 100%;
}

.next-lock[b-nc1dvg9qb2] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.6rem;
    min-height: 2.375rem;
    padding-top: 0.35rem;
}

.next-lock strong[b-nc1dvg9qb2] {
    font-size: 1.05rem;
    font-weight: 650;
}

.next-lock-activity[b-nc1dvg9qb2] {
    color: var(--color-text-subtle);
    font-size: 0.9rem;
}

.toolbar-actions[b-nc1dvg9qb2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
}

.last-updated[b-nc1dvg9qb2] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-right: 0.4rem;
    color: var(--color-text-subtle);
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.live-dot[b-nc1dvg9qb2] {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--color-success);
    box-shadow: 0 0 0 3px rgba(52, 201, 138, 0.18);
}

@media (max-width: 640px) {
    .toolbar[b-nc1dvg9qb2],
    .toolbar-actions[b-nc1dvg9qb2] {
        align-items: stretch;
        justify-content: flex-start;
    }

    .toolbar-encounter[b-nc1dvg9qb2],
    .toolbar-actions[b-nc1dvg9qb2],
    .encounter-selection .form-control[b-nc1dvg9qb2] {
        width: 100%;
    }

    .toolbar-actions[b-nc1dvg9qb2]  .button {
        flex: 1 1 auto;
    }

    .last-updated[b-nc1dvg9qb2] {
        width: 100%;
    }
}
/* /Components/Session/UnlockedWeaponsSection.razor.rz.scp.css */
.unlocked-weapons-card[b-i6omjh4g20] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--color-success-border);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(52, 201, 138, 0.08), transparent 180px), var(--color-surface);
    box-shadow: var(--shadow-md);
}
/* /Components/Session/UnlockVoteSection.razor.rz.scp.css */
.vote-card[b-ge1jh5mr2r] {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    padding: 1.25rem;
    border: 1px solid var(--color-accent-border);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(232, 184, 74, 0.06), transparent 160px), var(--color-surface);
    box-shadow: var(--shadow-md);
}

.vote-progress[b-ge1jh5mr2r] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.vote-progress-label[b-ge1jh5mr2r] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
}

.vote-live[b-ge1jh5mr2r] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--color-accent);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vote-live[b-ge1jh5mr2r]::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: currentColor;
    animation: vote-pulse-b-ge1jh5mr2r 1.6s ease-in-out infinite;
}

.vote-progress-track[b-ge1jh5mr2r] {
    height: 0.4rem;
    overflow: hidden;
    border-radius: var(--radius-pill);
    background: var(--color-surface-sunken);
}

.vote-progress-bar[b-ge1jh5mr2r] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #c8962e, var(--color-accent));
    transition: width 0.4s ease;
}

.vote-actions[b-ge1jh5mr2r] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.vote-privacy-note[b-ge1jh5mr2r] {
    margin: 0;
    color: var(--color-text-subtle);
    font-size: 0.82rem;
}

.vote-idle[b-ge1jh5mr2r] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    border-style: dashed;
    background: transparent;
    box-shadow: none;
}

.vote-idle-icon[b-ge1jh5mr2r] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    border-radius: var(--radius-md);
    background: var(--color-surface-raised);
    color: var(--color-text-subtle);
}

.vote-idle-icon svg[b-ge1jh5mr2r] {
    width: 1.2rem;
    height: 1.2rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

@keyframes vote-pulse-b-ge1jh5mr2r {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.35;
    }
}
/* /Components/Shared/SessionModePicker.razor.rz.scp.css */
.mode-picker[b-nxmn4q6mjj] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.mode-option[b-nxmn4q6mjj] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-sm);
    background: var(--color-surface-sunken);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.mode-option:hover:not(.disabled)[b-nxmn4q6mjj] {
    border-color: rgba(255, 255, 255, 0.2);
}

.mode-option.selected[b-nxmn4q6mjj] {
    border-color: var(--color-accent-border);
    background: var(--color-accent-surface);
}

.mode-option.disabled[b-nxmn4q6mjj] {
    opacity: 0.6;
    cursor: not-allowed;
}

.mode-option input[b-nxmn4q6mjj] {
    margin: 0.2rem 0 0;
    accent-color: var(--color-accent);
}

.mode-option-text[b-nxmn4q6mjj] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.mode-option-name[b-nxmn4q6mjj] {
    color: var(--color-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.mode-option-description[b-nxmn4q6mjj] {
    color: var(--color-text-subtle);
    font-size: 0.8rem;
    line-height: 1.35;
}

@media (max-width: 520px) {
    .mode-picker[b-nxmn4q6mjj] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Shared/SpectateForm.razor.rz.scp.css */
.spectate-form[b-sns3fdapci]  .alert {
    margin: 0 0 0.75rem;
}

.spectate-form-row[b-sns3fdapci] {
    display: flex;
    gap: 0.5rem;
}

.spectate-form-row .form-control[b-sns3fdapci] {
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0;
}

@media (max-width: 520px) {
    .spectate-form-row[b-sns3fdapci] {
        flex-direction: column;
    }
}
/* /Components/Shared/WeaponPill.razor.rz.scp.css */
.weapon-pill[b-t8w4o95577] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.6rem 0.45rem 0.45rem;
    border: 1px solid var(--color-danger-border);
    border-radius: var(--radius-sm);
    background: var(--color-danger-surface);
    box-shadow: inset 3px 0 0 var(--color-danger);
    color: var(--color-text);
    font-size: 0.875rem;
    font-weight: 600;
}

.weapon-pill.unlocked[b-t8w4o95577] {
    border-color: var(--color-success-border);
    background: var(--color-success-surface);
    box-shadow: inset 3px 0 0 var(--color-success);
}

.weapon-pill-icon[b-t8w4o95577] {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: var(--radius-xs);
    background: var(--color-surface-sunken);
    object-fit: cover;
}

.weapon-pill-text[b-t8w4o95577] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.weapon-pill-name[b-t8w4o95577] {
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.weapon-pill-players[b-t8w4o95577] {
    margin-top: 0.1rem;
    color: var(--color-text-subtle);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.3;
}

.weapon-pill.unlocked .weapon-pill-players[b-t8w4o95577] {
    color: var(--color-success-text-soft);
}
/* /Components/Shared/WeaponSlotGrid.razor.rz.scp.css */
.weapon-slot-grid[b-eir9iabitd] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
    gap: 1rem;
}

.weapon-slot-column[b-eir9iabitd] {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}

.weapon-slot-column-header[b-eir9iabitd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 1.875rem;
    margin-bottom: 0.85rem;
}

.weapon-slot-column-header h3[b-eir9iabitd] {
    margin: 0;
    color: var(--color-text-subtle);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.weapon-slot-grid.unlocked .weapon-slot-column[b-eir9iabitd] {
    border-color: var(--color-success-border);
    background: linear-gradient(180deg, var(--color-success-surface), transparent 70%), var(--color-surface);
}

.weapon-slot-grid.raised .weapon-slot-column[b-eir9iabitd] {
    background: var(--color-surface-raised);
}
