/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-bn0s4au7u3] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-bn0s4au7u3] {
    flex: 1;
}

.sidebar[b-bn0s4au7u3] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-bn0s4au7u3] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-bn0s4au7u3]  a, .top-row[b-bn0s4au7u3]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-bn0s4au7u3]  a:hover, .top-row[b-bn0s4au7u3]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-bn0s4au7u3]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-bn0s4au7u3] {
        justify-content: space-between;
    }

    .top-row[b-bn0s4au7u3]  a, .top-row[b-bn0s4au7u3]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-bn0s4au7u3] {
        flex-direction: row;
    }

    .sidebar[b-bn0s4au7u3] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-bn0s4au7u3] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-bn0s4au7u3]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-bn0s4au7u3], article[b-bn0s4au7u3] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-bn0s4au7u3] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-bn0s4au7u3] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-vp8216bma9] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-vp8216bma9] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-vp8216bma9] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-vp8216bma9] {
    font-size: 1.1rem;
}

.bi[b-vp8216bma9] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-vp8216bma9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-vp8216bma9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-vp8216bma9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-vp8216bma9] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-vp8216bma9] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-vp8216bma9] {
        padding-bottom: 1rem;
    }

    .nav-item[b-vp8216bma9]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-vp8216bma9]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-vp8216bma9]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-vp8216bma9] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-vp8216bma9] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-vp8216bma9] {
        display: none;
    }

    .nav-scrollable[b-vp8216bma9] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Pages/Game.razor.rz.scp.css */
.game-shell[b-xoi5btc9bl] {
    --ink: #191510;
    --paper: #e9dcc0;
    --paper-deep: #c9b58e;
    --brass: #b99550;
    --brass-bright: #e2c67f;
    --oxblood: #5e181d;
    --green: #162722;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1480px;
    min-height: 0;
    padding: clamp(0.75rem, 2vw, 1.8rem);
}

.game-stage[b-xoi5btc9bl] {
    align-items: start;
    background: linear-gradient(135deg, rgba(12, 23, 20, 0.96), rgba(22, 13, 12, 0.94));
    border: 1px solid var(--brass);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.6), inset 0 0 0 5px #0e1714, inset 0 0 0 6px rgba(185, 149, 80, 0.45);
    display: grid;
    gap: clamp(1rem, 2.2vw, 2rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: clamp(0.8rem, 2.2vw, 2rem);
    position: relative;
    width: 100%;
}

.game-visual-panel[b-xoi5btc9bl],
.game-case-panel[b-xoi5btc9bl] { min-width: 0; }

.game-visual-panel[b-xoi5btc9bl] {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.left-panel[b-xoi5btc9bl] {
    border-right: 0;
    height: 100%;
    justify-content: flex-start !important;
    width: 100%;
}

.scene-frame[b-xoi5btc9bl] {
    background: #100e0b;
    border: 0;
    box-shadow: none;
    outline: 0;
    padding: 0.375rem;
    position: relative;
    box-sizing: border-box;
    width: 100%;
}

.scene-frame-heading[b-xoi5btc9bl] {
    align-items: baseline;
    color: var(--paper);
    display: flex;
    gap: 0.9rem;
    justify-content: flex-start;
    padding: 0.15rem 0.35rem 0.65rem;
}

.scene-frame-eyebrow[b-xoi5btc9bl] {
    color: var(--brass);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.23em;
    text-transform: uppercase;
}

.scene-game-code[b-xoi5btc9bl] {
    color: var(--paper);
    margin-left: 0.5rem;
}

.scene-frame[b-xoi5btc9bl]  .scene-container {
    border: 0;
    border-radius: 0;
    background-size: calc(100% + 2px) calc(100% + 2px);
    box-shadow: none;
    outline: 0;
    max-width: none;
    width: 100%;
}

.game-case-panel[b-xoi5btc9bl] {
    border-left: 1px solid rgba(185, 149, 80, 0.45);
    padding-left: clamp(1rem, 2.2vw, 2rem);
}

.game-case-panel > .col-content[b-xoi5btc9bl] { height: auto; }

.case-notes[b-xoi5btc9bl] { flex: 0 0 auto; }

.case-section-heading[b-xoi5btc9bl] {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.55rem;
}

.case-section-heading h2[b-xoi5btc9bl] {
    color: var(--brass);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.23em;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
}

.case-notes-paper[b-xoi5btc9bl] {
    background-color: var(--paper);
    background-image: none;
    border: 1px solid #8d734b;
    box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.2), inset 0 0 28px rgba(77, 45, 20, 0.18);
    min-height: 190px;
    padding: 0.7rem;
    position: relative;
    transform: rotate(-0.25deg);
}

.case-notes-paper[b-xoi5btc9bl]::before {
    background: var(--oxblood);
    border-radius: 50%;
    box-shadow: inset -2px -3px 6px rgba(0,0,0,.45), 0 2px 4px rgba(0,0,0,.35);
    content: "R";
    color: rgba(233, 220, 192, 0.75);
    display: grid;
    font-family: Georgia, serif;
    height: 2.2rem;
    place-items: center;
    position: absolute;
    right: 1rem;
    top: -1rem;
    width: 2.2rem;
    z-index: 3;
}

.case-notes-paper[b-xoi5btc9bl]  .chat-host {
    background: transparent;
    border: 0;
    border-radius: 0;
    margin: 0;
    padding: 0;
}

.case-notes-paper[b-xoi5btc9bl]  .chat-wrapper {
    height: clamp(150px, 24vh, 270px);
    scrollbar-color: #745b39 transparent;
}

.case-notes-paper[b-xoi5btc9bl]  .typewriter-text {
    color: #292017;
    font-family: "Special Elite", "Courier New", monospace;
    font-size: clamp(0.82rem, 1.25vw, 1rem);
    line-height: 1.75;
    padding: 0.2rem 0.45rem;
}

.case-commands[b-xoi5btc9bl] {
    border-top: 1px solid rgba(185, 149, 80, 0.35);
    margin-top: clamp(1rem, 2.4vh, 1.6rem);
    padding-top: 1rem;
}

.side-panel[b-xoi5btc9bl] {
    display: block;
    margin: 0;
}

.nav-buttons[b-xoi5btc9bl] {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
}

.nav-button[b-xoi5btc9bl] {
    align-items: center;
    aspect-ratio: auto;
    background: linear-gradient(180deg, #33271c, #18130f);
    border: 1px solid #8f7139;
    border-radius: 0;
    box-shadow: inset 0 0 0 2px #17110d, inset 0 0 0 3px rgba(226, 198, 127, 0.28);
    box-sizing: border-box;
    color: var(--paper);
    display: grid;
    gap: 0;
    grid-template-columns: 64px minmax(0, 1fr);
    height: 64px;
    justify-content: start;
    padding: 0;
    width: 100%;
}

.nav-button img[b-xoi5btc9bl] {
    align-self: stretch;
    background: #d8c6a2;
    border: 0;
    border-right: 1px solid var(--brass);
    border-radius: 0;
    filter: sepia(0.3) contrast(1.08);
    height: 100%;
    object-fit: cover;
    width: 64px;
}

.nav-button span[b-xoi5btc9bl] {
    color: var(--paper);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    line-height: 1.15;
    padding: 0.35rem 0.5rem;
    text-align: left;
    text-transform: uppercase;
}

@media (min-width: 576px) and (max-width: 1199.98px) {
    .nav-buttons[b-xoi5btc9bl] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.nav-button:hover[b-xoi5btc9bl],
.nav-button.active[b-xoi5btc9bl] {
    background: linear-gradient(180deg, #6a2426, #391417);
    border-color: var(--brass-bright);
    transform: translateY(-2px);
}

.nav-button:focus-visible[b-xoi5btc9bl] {
    outline: 2px solid var(--brass-bright);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .game-shell[b-xoi5btc9bl] { padding: clamp(0.45rem, 1.5vw, 0.8rem); }
    .game-stage[b-xoi5btc9bl] {
        gap: 1rem;
        grid-template-columns: minmax(0, 1fr);
        padding: clamp(0.55rem, 1.8vw, 1rem);
    }
    .game-case-panel[b-xoi5btc9bl] {
        border-left: 0;
        border-top: 1px solid rgba(185, 149, 80, 0.45);
        padding-left: 0;
        padding-top: 1rem;
    }
    .case-notes-paper[b-xoi5btc9bl]  .chat-wrapper { height: 180px; }
}

@media (min-width: 992px) {
    .game-shell[b-xoi5btc9bl] { padding-top: clamp(7rem, 17vh, 12.75rem); }
}

/* Keep the full desktop stage above the fold on common 900px-tall displays. */
@media (min-width: 992px) and (max-height: 900px) {
    .game-shell[b-xoi5btc9bl] { padding-top: clamp(1rem, 4vh, 2.25rem); }
}

@media (max-width: 575.98px) {
    .game-shell[b-xoi5btc9bl] {
        max-width: 100%;
        min-height: 0;
        padding: 0;
        width: 100%;
    }

    .game-stage[b-xoi5btc9bl] {
        background: rgba(10, 18, 16, 0.92);
        border-left: 0;
        border-right: 0;
        box-shadow: none;
        gap: 0.65rem;
        padding: 0;
    }

    .scene-frame[b-xoi5btc9bl] {
        box-shadow: none;
        padding: 0.25rem;
    }

    .left-panel[b-xoi5btc9bl] { padding: 0; }

    .scene-frame-heading[b-xoi5btc9bl] { display: none; }

    .scene-frame[b-xoi5btc9bl]  .scene-container {
        box-shadow: none;
        width: 100%;
    }

    .game-case-panel[b-xoi5btc9bl] {
        padding: 0.7rem 0.45rem 0;
    }

    .case-section-heading[b-xoi5btc9bl] {
        gap: 0.55rem;
        margin-bottom: 0.4rem;
    }

    .case-notes-paper[b-xoi5btc9bl] {
        box-shadow: 3px 4px 0 rgba(0, 0, 0, 0.2), inset 0 0 20px rgba(77, 45, 20, 0.15);
        min-height: 125px;
        padding: 0.35rem;
        transform: none;
    }

    .case-notes-paper[b-xoi5btc9bl]::before {
        height: 1.65rem;
        right: 0.6rem;
        top: -0.75rem;
        width: 1.65rem;
    }

    .case-notes-paper[b-xoi5btc9bl]  .chat-wrapper { height: 118px; }
    .case-notes-paper[b-xoi5btc9bl]  .typewriter-text {
        font-size: 0.78rem;
        line-height: 1.55;
        padding: 0.1rem 0.2rem;
    }
}

@media (max-width: 420px) {
    .game-case-panel[b-xoi5btc9bl] { padding-inline: 0.35rem; }
}

@media (max-width: 359px) {
    .game-case-panel[b-xoi5btc9bl] { padding-inline: 0.25rem; }
    .case-notes-paper[b-xoi5btc9bl]  .chat-wrapper { height: 108px; }
}

/* Prefer reclaiming decorative space before introducing vertical scrolling. */
@media (min-width: 576px) and (max-height: 800px) {
    .game-shell[b-xoi5btc9bl] {
        padding-bottom: 0.5rem;
        padding-top: 0.5rem;
    }

    .game-stage[b-xoi5btc9bl] {
        gap: 0.65rem;
        padding: 0.5rem;
    }
}

@media (min-width: 576px) and (max-height: 650px) {
    .game-shell[b-xoi5btc9bl] { padding: 0; }

    .game-stage[b-xoi5btc9bl] {
        border-left: 0;
        border-right: 0;
        box-shadow: none;
        gap: 0.4rem;
        padding: 0;
    }

}

@media (prefers-reduced-motion: reduce) {
    .scene-frame[b-xoi5btc9bl],
    .case-notes-paper[b-xoi5btc9bl],
    .nav-button[b-xoi5btc9bl] { transform: none !important; }
}
/* /Components/Pages/Landing.razor.rz.scp.css */
/* ------------------------------
   RESPONSIVE LANDING PAGE
--------------------------------*/





/* Banner wrapper */
.landing-banner[b-pgktmfssu7] {
    width: 80%;
    max-width: 400px; /* keeps banner reasonable on huge monitors */
    margin: 0 auto;
    border: none;
    border-radius: 10px;
    /* Maintain perfect aspect ratio (1548x842 ≈ 1.837:1) */
    aspect-ratio: 1548 / 842;
    /* Background behaviour */
    background-image: url('banner.png');
    background-size: contain; /* ensures 100% visible on all screens */
    background-repeat: no-repeat;
    background-position: center;
    
}

/* Hide bullets for specific list */
.landing-banner-section ul[b-pgktmfssu7] {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

/* Reduce text sizes on small phones */
@media (max-width: 576px) {

    .landing-banner[b-pgktmfssu7] {
        width: 95%;
        max-width: 95vw;
    }

    .landing-description p[b-pgktmfssu7],
    .landing-description li[b-pgktmfssu7] {
        font-size: 0.95rem !important;
    }

    .landing-description h2[b-pgktmfssu7] {
        font-size: 1.2rem !important;
    }

    .btn-primary.btn-lg[b-pgktmfssu7] {
        font-size: 1rem;
        padding: 0.5rem 1rem;
    }
}

/* Scene preview responsiveness */
.scene-container[b-pgktmfssu7] {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
}

.scene-container img[b-pgktmfssu7],
.scene-avatar-wrapper img[b-pgktmfssu7] {
    width: 100%;
    height: auto;
}

.preview-full[b-pgktmfssu7] {
    width: 100vw; /* full viewport width */
    max-width: 100%; /* prevents overflow in containers */
    height: auto; /* keep aspect ratio */
    display: block;
    margin: 0 auto; /* centre if inside container */
    border-radius: 8px;
    border: 3px solid #2b2b2b;
    object-fit: cover; /* makes sure it fills width nicely */
}
/* /Components/Subcompnents/Battleships.razor.rz.scp.css */
.bs-wrap[b-ijntozt99l]{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .35rem;
    box-sizing: border-box;
    /* Art-deco palette */
    --deco-brass: #c8a24a;
    --deco-ivory: #f5eed8;
    --deco-ink: rgba(10, 10, 12, .85);
    --deco-panel: rgba(0, 0, 0, .32);
    --deco-water1: rgba(11, 38, 64, .62);
    --deco-water2: rgba(7, 22, 38, .62);
    --deco-ship1: rgba(197, 162, 74, .95);
    --deco-ship2: rgba(121, 85, 18, .95);
}

.bs-header[b-ijntozt99l]{
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: .35rem;
    padding: .3rem .4rem;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(0,0,0,.30), rgba(0,0,0,.18));
    box-shadow:
        inset 0 0 0 1px rgba(200, 162, 74, .35),
        inset 0 0 0 2px rgba(245, 238, 216, .08);
}

.bs-title[b-ijntozt99l]{
    font-family: 'Special Elite', serif;
    font-size: clamp(.62rem, 2.6vw, .95rem);
    color: var(--deco-ivory);
    letter-spacing: 0;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0,0,0,.75);
    white-space: nowrap;
}

.bs-status[b-ijntozt99l]{
    flex: 1 1 auto;
    min-width: 0;
    font-family: 'Special Elite', serif;
    font-size: clamp(.62rem, 2.5vw, .86rem);
    color: var(--deco-ivory);
    opacity: .92;
    letter-spacing: 0;
    line-height: 1.1;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,.8);
}

.bs-boards[b-ijntozt99l]{
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .35rem;
    align-items: stretch;
}

.bs-board-panel[b-ijntozt99l]{
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.bs-board-label[b-ijntozt99l]{
    font-family: 'Special Elite', serif;
    font-size: clamp(.58rem, 2.4vw, .78rem);
    color: var(--deco-ivory);
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0,0,0,.75);
}

.bs-grid[b-ijntozt99l]{
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    gap: 0;
    height: 100%;
    width: auto;
    aspect-ratio: var(--bs-cols) / var(--bs-rows);
    max-width: 100%;
    max-height: 100%;
    align-self: center;
    padding: 0;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.22));
    backdrop-filter: blur(2px);
    box-sizing: border-box;
    box-shadow:
        inset 0 0 0 1px rgba(200, 162, 74, .35),
        0 6px 20px rgba(0,0,0,.35);
}

.bs-cell[b-ijntozt99l]{
    appearance: none;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 0;
    background: linear-gradient(180deg, var(--deco-water1), var(--deco-water2));

    width: 100%;
    height: 100%;

    padding: 0;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.bs-cell:hover:not(:disabled)[b-ijntozt99l]{
    filter: brightness(1.08);
}

.bs-cell:focus-visible[b-ijntozt99l]{
    outline: 2px solid rgba(200, 162, 74, .75);
    outline-offset: -2px;
}

.bs-cell:disabled[b-ijntozt99l]{
    cursor: default;
    opacity: 0.95;
}

.bs-grid.enemy .bs-cell:disabled[b-ijntozt99l]{
    opacity: 1;
}

.bs-cell.last[b-ijntozt99l]{
    box-shadow: inset 0 0 0 2px rgba(245, 238, 216, .78);
    z-index: 1;
}

.bs-cell.hit[b-ijntozt99l]{
    /* water behind the ship */
    background: linear-gradient(180deg, rgba(6, 18, 30, .55), rgba(10, 30, 48, .45));
    border-color: rgba(200, 162, 74, .22);
}

.bs-cell.miss[b-ijntozt99l]{
    background: linear-gradient(180deg, rgba(245, 238, 216, .12), rgba(245, 238, 216, .06));
    border-color: rgba(200, 162, 74, .18);
}

.bs-cell.miss[b-ijntozt99l]::before{
    content: "";
    position: absolute;
    width: 28%;
    height: 28%;
    left: 36%;
    top: 36%;
    border: 1px solid rgba(245, 238, 216, .72);
    border-radius: 999px;
    box-shadow: 0 0 6px rgba(245, 238, 216, .26);
}

/* Ship styling: only applied to visible/hit ship cells (we add .seg classes in markup). */
.bs-cell.hit.seg[b-ijntozt99l]::before,
.bs-cell.fleet.seg[b-ijntozt99l]::before{
    content: "";
    position: absolute;
    inset: 6% 14%;
    background:
        linear-gradient(90deg, transparent 0 16%, rgba(245, 238, 216, .3) 16% 20%, transparent 20% 80%, rgba(245, 238, 216, .22) 80% 84%, transparent 84%),
        linear-gradient(180deg, rgba(245, 238, 216, .3), transparent 36% 64%, rgba(0, 0, 0, .24)),
        linear-gradient(180deg, var(--deco-ship1), var(--deco-ship2));
    box-shadow:
        inset 0 0 0 1px rgba(245, 238, 216, .22),
        inset 0 0 0 2px rgba(0, 0, 0, .18),
        0 1px 2px rgba(0,0,0,.45);
}

.bs-cell.seg.body.h[b-ijntozt99l]::before,
.bs-cell.seg.bow.left[b-ijntozt99l]::before,
.bs-cell.seg.bow.right[b-ijntozt99l]::before,
.bs-cell.seg.stern.left[b-ijntozt99l]::before,
.bs-cell.seg.stern.right[b-ijntozt99l]::before{
    inset: 20% 4%;
}

.bs-cell.seg.body.v[b-ijntozt99l]::before,
.bs-cell.seg.bow.up[b-ijntozt99l]::before,
.bs-cell.seg.bow.down[b-ijntozt99l]::before,
.bs-cell.seg.stern.up[b-ijntozt99l]::before,
.bs-cell.seg.stern.down[b-ijntozt99l]::before{
    inset: 4% 20%;
    background:
        linear-gradient(180deg, transparent 0 16%, rgba(245, 238, 216, .3) 16% 20%, transparent 20% 80%, rgba(245, 238, 216, .22) 80% 84%, transparent 84%),
        linear-gradient(90deg, rgba(245, 238, 216, .3), transparent 36% 64%, rgba(0, 0, 0, .24)),
        linear-gradient(90deg, var(--deco-ship1), var(--deco-ship2));
}

.bs-cell.seg.single[b-ijntozt99l]::before{
    inset: 12%;
}

.bs-cell.fleet[b-ijntozt99l]{
    background: linear-gradient(180deg, rgba(9, 33, 55, .72), rgba(6, 20, 34, .7));
}

.bs-cell.hit.seg[b-ijntozt99l]::after{
    content: "";
    position: absolute;
    inset: 27%;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(134, 18, 18, .95), rgba(80, 5, 5, .82));
    box-shadow: 0 0 8px rgba(255, 80, 40, .38);
}

/* Body segments */
.bs-cell.seg.body.h[b-ijntozt99l]::before,
.bs-cell.seg.body.v[b-ijntozt99l]::before{
    border-radius: 0;
}

/* Horizontal bow (pointing left) */
.bs-cell.seg.bow.left[b-ijntozt99l]::before{
    border-radius: 0;
    clip-path: polygon(0% 50%, 18% 0%, 100% 0%, 100% 100%, 18% 100%);
}

/* Vertical bow (pointing up) */
.bs-cell.seg.bow.up[b-ijntozt99l]::before{
    border-radius: 0;
    clip-path: polygon(50% 0%, 100% 18%, 100% 100%, 0% 100%, 0% 18%);
}

.bs-cell.seg.bow.right[b-ijntozt99l]::before{
    border-radius: 0;
    clip-path: polygon(0% 0%, 82% 0%, 100% 50%, 82% 100%, 0% 100%);
}

.bs-cell.seg.bow.down[b-ijntozt99l]::before{
    border-radius: 0;
    clip-path: polygon(0% 0%, 100% 0%, 100% 82%, 50% 100%, 0% 82%);
}

/* Horizontal stern (right end) */
.bs-cell.seg.stern.right[b-ijntozt99l]::before{
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.bs-cell.seg.stern.left[b-ijntozt99l]::before{
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Vertical stern (bottom end) */
.bs-cell.seg.stern.down[b-ijntozt99l]::before{
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.bs-cell.seg.stern.up[b-ijntozt99l]::before{
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Single-cell ship */
.bs-cell.seg.single[b-ijntozt99l]::before{
    border-radius: 999px;
}

.bs-reset[b-ijntozt99l]{
    align-self: center;
    flex: 0 0 auto;
    min-height: 1.45rem;
    padding: .18rem .55rem;
    border: 1px solid rgba(200, 162, 74, .62);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .22), rgba(200, 162, 74, .2));
    color: var(--deco-ivory);
    cursor: pointer;
    font-family: 'Special Elite', serif;
    font-size: clamp(.62rem, 2.5vw, .82rem);
    line-height: 1;
    text-shadow: 0 1px 2px rgba(0,0,0,.75);
}

.bs-reset:active[b-ijntozt99l]{
    transform: translateY(1px);
}

@media (max-width: 350px) {
    .bs-wrap[b-ijntozt99l]{
        gap: .25rem;
        padding: .25rem;
    }

    .bs-boards[b-ijntozt99l]{
        gap: .25rem;
    }

    .bs-header[b-ijntozt99l]{
        padding: .25rem .3rem;
    }
}
/* /Components/Subcompnents/BlockBlast.razor.rz.scp.css */
.bb-wrap[b-tang547y58] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: clamp(0.18rem, 1.2cqw, 0.45rem);
    font-family: "Garamond", "Segoe UI", serif;
    color: #f4f0e6;
    user-select: none;
    touch-action: none;
    container-type: inline-size;
}

.bb-board[b-tang547y58] {
    position: relative;
    width: 100%;
    max-width: min(100%, 520px);
    min-width: min(100%, 310px);
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.42);
    border: 0;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28), inset 0 0 14px rgba(244, 240, 230, 0.16);
    touch-action: none;
}

.bb-grid[b-tang547y58],
.bb-ghost[b-tang547y58] {
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: repeat(var(--bb-size, 10), 1fr);
    grid-template-rows: repeat(var(--bb-size, 10), 1fr);
    gap: clamp(1px, 0.45cqw, 3px);
    padding: clamp(3px, 0.9cqw, 6px);
    box-sizing: border-box;
}

.bb-grid[b-tang547y58] {
    background: rgba(0, 0, 0, 0.34);
    contain: layout paint;
}

.bb-cell[b-tang547y58] {
    appearance: none;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.22);
    border-radius: 10%;
    background: rgba(244, 240, 230, 0.08);
    box-shadow: inset 0 0 0.35rem rgba(0, 0, 0, 0.26);
    cursor: pointer;
    transition: background 120ms ease, box-shadow 120ms ease, opacity 160ms ease, transform 160ms ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: none;
}

.bb-cell:focus-visible[b-tang547y58],
.bb-piece:focus-visible[b-tang547y58] {
    outline: 2px solid #f4f0e6;
    outline-offset: 2px;
}

.bb-hover-ok[b-tang547y58] {
    box-shadow: inset 0 0 0.35rem rgba(0, 0, 0, 0.28), 0 0 0 2px rgba(216, 195, 109, 0.95);
}

.bb-hover-bad[b-tang547y58] {
    box-shadow: inset 0 0 0.35rem rgba(0, 0, 0, 0.28), 0 0 0 2px rgba(164, 91, 91, 0.95);
}

.bb-clearing[b-tang547y58] {
    animation: bb-fadeout-b-tang547y58 0.22s ease forwards;
    box-shadow: 0 0 10px rgba(216, 195, 109, 0.9), 0 0 16px rgba(216, 195, 109, 0.65) inset;
    pointer-events: none;
}

@keyframes bb-fadeout-b-tang547y58 {
    50% {
        opacity: 0.68;
        transform: scale(1.12);
        filter: brightness(1.28);
    }

    100% {
        opacity: 0;
        transform: scale(0.68);
        filter: brightness(0.8);
    }
}

.bb-fill[b-tang547y58] {
    position: relative;
}

.bb-ghost[b-tang547y58] {
    pointer-events: none;
    position: absolute;
    inset: 0;
    z-index: 5;
}

.bb-ghost-cell[b-tang547y58] {
    border-radius: 10%;
    opacity: 0.62;
    transition: opacity 100ms ease, box-shadow 100ms ease;
}

.bb-ghost-cell.ok[b-tang547y58] {
    background: rgba(216, 195, 109, 0.45);
    box-shadow: 0 0 0 2px rgba(244, 240, 230, 0.75), 0 0 10px rgba(216, 195, 109, 0.8);
}

.bb-ghost-cell.bad[b-tang547y58] {
    background: rgba(164, 91, 91, 0.48);
    box-shadow: 0 0 0 2px rgba(244, 240, 230, 0.54), 0 0 8px rgba(164, 91, 91, 0.82);
}

.bb-tray[b-tang547y58] {
    position: absolute;
    left: clamp(0.35rem, 1.4cqw, 0.7rem);
    right: clamp(0.35rem, 1.4cqw, 0.7rem);
    bottom: clamp(0.35rem, 1.4cqw, 0.7rem);
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.35rem, 1.8cqw, 0.8rem);
    padding: clamp(0.35rem, 1.6cqw, 0.65rem);
    border: 1px solid rgba(197, 154, 43, 0.58);
    background: rgba(18, 16, 13, 0.78);
    box-shadow: inset 0 1px 2px rgba(244, 240, 230, 0.16), 0 6px 18px rgba(0, 0, 0, 0.28);
}

.bb-piece[b-tang547y58] {
    appearance: none;
    min-width: clamp(3rem, 18cqw, 5.2rem);
    min-height: clamp(3rem, 18cqw, 5.2rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(0.28rem, 1.4cqw, 0.55rem);
    border: 1px solid rgba(244, 240, 230, 0.22);
    border-radius: 6px;
    background: rgba(30, 28, 24, 0.94);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.28);
    cursor: pointer;
    transition: transform 130ms ease, box-shadow 130ms ease, opacity 130ms ease;
    touch-action: none;
}

@media (hover: hover) and (pointer: fine) {
    .bb-piece:hover[b-tang547y58] {
        transform: translateY(-2px);
    }
}

.bb-piece.sel[b-tang547y58] {
    box-shadow: 0 0 0 2px #d8c36d, 0 0 12px rgba(216, 195, 109, 0.75);
}

.bb-piece.blocked[b-tang547y58] {
    cursor: not-allowed;
    opacity: 0.42;
    filter: grayscale(0.35);
}

.bb-piece-grid[b-tang547y58] {
    display: grid;
    grid-template-columns: repeat(var(--piece-cols, 1), 1fr);
    gap: clamp(2px, 0.65cqw, 4px);
}

.bb-mini[b-tang547y58] {
    width: clamp(0.78rem, 4.8cqw, 1.35rem);
    height: clamp(0.78rem, 4.8cqw, 1.35rem);
    border-radius: 3px;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
}

.bb-mini.empty[b-tang547y58] {
    background: transparent;
    box-shadow: none;
}

.t1[b-tang547y58] {
    background: #c2a67d;
}

.t2[b-tang547y58] {
    background: #7b9c89;
}

.t3[b-tang547y58] {
    background: #a45b5b;
}

.t4[b-tang547y58] {
    background: #5a7a8c;
}

.t5[b-tang547y58] {
    background: #9c86ad;
}

.t6[b-tang547y58] {
    background: #b07c4f;
}

.t1[b-tang547y58],
.t2[b-tang547y58],
.t3[b-tang547y58],
.t4[b-tang547y58],
.t5[b-tang547y58],
.t6[b-tang547y58] {
    box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.35), inset 0 0 10px rgba(255, 255, 255, 0.18);
}

@media (max-width: 380px) {
    .bb-tray[b-tang547y58] {
        gap: 0.3rem;
        padding: 0.32rem;
    }

    .bb-piece[b-tang547y58] {
        min-width: 3rem;
        min-height: 3rem;
    }
}
/* /Components/Subcompnents/BubbleShooter.razor.rz.scp.css */
.bs-root[b-8dcafak1ef], .bs-root *[b-8dcafak1ef] { box-sizing: border-box; }
.bs-root[b-8dcafak1ef] {
    --gold: #d9b85f; --pale-gold: #f6dda0; --ink: #090d13; --teal: #0b292b;
    background: #070b10; color: #f7e8bd; font-family: Georgia, "Times New Roman", serif;
    height: 100%; min-height: 0; overflow: hidden; padding: clamp(5px, 1.5%, 10px); width: 100%;
}
.bs-frame[b-8dcafak1ef] {
    background: radial-gradient(ellipse at 50% 32%, #20575a 0, #0d3234 33%, #081d21 66%, #040a0e 100%);
    border: 0; box-shadow: inset 0 0 45px #000c;
    display: flex; flex-direction: column; height: 100%; isolation: isolate; overflow: hidden; position: relative;
}
.bs-sunburst[b-8dcafak1ef] { background: repeating-conic-gradient(from 0deg at 50% 0, #f6dda00d 0 1deg, transparent 1deg 12deg), radial-gradient(circle at 50% 0, #d9b85f20, transparent 42%); inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.bs-sunburst[b-8dcafak1ef]::after { background: linear-gradient(135deg, transparent 48%, #d9b85f1f 49% 50%, transparent 51%), linear-gradient(45deg, transparent 48%, #d9b85f12 49% 50%, transparent 51%); background-size: 56px 56px; content: ""; inset: 0; opacity: .5; position: absolute; }
.bs-rule i[b-8dcafak1ef] { background: linear-gradient(90deg, transparent, var(--gold)); height: 1px; width: 34%; }
.bs-rule i:last-child[b-8dcafak1ef] { transform: scaleX(-1); }
.bs-rule b[b-8dcafak1ef] { font-size: .62rem; }
.bs-game-area[b-8dcafak1ef] { display: block; flex: 1 1 auto; height: 100%; min-height: 0; padding: 0; position: relative; width: 100%; }
.bs-board[b-8dcafak1ef] { background: radial-gradient(ellipse at 50% 45%, #153a3bdd, #071417f2 78%), linear-gradient(90deg, #9e7e2810, transparent 18% 82%, #9e7e2810); border: 0; box-shadow: inset 0 0 0 3px #03090b, inset 0 0 0 5px #94783d, inset 0 0 0 7px #071315, inset 0 0 48px #000c; container-type: size; height: 100%; overflow: hidden; position: relative; touch-action: manipulation; width: 100%; }
.bs-board-grid[b-8dcafak1ef] { background-image: linear-gradient(#f6dda00a 1px, transparent 1px), linear-gradient(90deg, #f6dda00a 1px, transparent 1px); background-size: 10% calc(100% / 12); inset: 0; position: absolute; }
.bs-board-grid[b-8dcafak1ef]::after { border: 1px solid #d9b85f3d; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); content: ""; inset: 16% 20%; opacity: .35; position: absolute; }
.bs-next-wrap[b-8dcafak1ef] { align-items: center; background: #071518bb; border: 1px solid #d9b85f66; display: flex; flex-direction: row; gap: 5px; left: clamp(7px, 2%, 12px); padding: 4px 5px; position: absolute; top: 8px; z-index: 30; }
.bs-next-wrap span[b-8dcafak1ef] { color: var(--gold); font-size: clamp(.42rem, 1.4vw, .62rem); letter-spacing: .18em; text-transform: uppercase; }
.bs-bubble[b-8dcafak1ef] { aspect-ratio: 1; border: 1px solid #fff0bd88; border-radius: 999px; box-shadow: inset -5px -7px 9px #0009, inset 3px 3px 6px #fff7, 0 2px 8px #000d, 0 0 8px currentColor; position: absolute; transform: scale(.82); }
.bs-board > .bs-bubble[b-8dcafak1ef] { height: 10cqw !important; width: 10cqw !important; }
.bs-bubble[b-8dcafak1ef]::after { background: radial-gradient(circle, #fff 0 18%, #fff5 20%, transparent 66%); border-radius: 50%; content: ""; height: 34%; left: 17%; position: absolute; top: 14%; width: 34%; }
.bs-next[b-8dcafak1ef] { height: clamp(20px, 6vw, 33px); position: relative; transform: none; width: clamp(20px, 6vw, 33px); }
.bs-bubble-ruby[b-8dcafak1ef] { background: radial-gradient(circle at 32% 28%, #ff8c83, #a91f32 55%, #360812); }
.bs-bubble-sapphire[b-8dcafak1ef] { background: radial-gradient(circle at 32% 28%, #82d9ff, #1768a5 55%, #071c48); }
.bs-bubble-emerald[b-8dcafak1ef] { background: radial-gradient(circle at 32% 28%, #8ff6c3, #16805c 55%, #062c24); }
.bs-bubble-topaz[b-8dcafak1ef] { background: radial-gradient(circle at 32% 28%, #fff09e, #d17b16 55%, #592504); }
.bs-bubble-amethyst[b-8dcafak1ef] { background: radial-gradient(circle at 32% 28%, #dfa4ff, #763a9f 55%, #250b40); }
.bs-bubble-pearl[b-8dcafak1ef] { background: radial-gradient(circle at 32% 28%, #fff, #d8cdb0 52%, #716954); }
.bs-bubble-falling[b-8dcafak1ef] { animation: bs-fall-b-8dcafak1ef 280ms cubic-bezier(.2,.72,.28,1) both; z-index: 20; }
.bs-bubble-pop[b-8dcafak1ef] { animation: bs-pop-b-8dcafak1ef 320ms cubic-bezier(.18,.75,.25,1) forwards; z-index: 21; }
.bs-bubble-pop[b-8dcafak1ef]::before { border: 2px solid #fff0a8; border-radius: 50%; content: ""; inset: 0; position: absolute; animation: bs-pop-ring-b-8dcafak1ef 320ms ease-out forwards; }
.bs-column-hitbox[b-8dcafak1ef] { background: transparent; border: 0; bottom: 0; color: transparent; cursor: pointer; padding: 0; position: absolute; top: 0; z-index: 10; }
.bs-column-hitbox span[b-8dcafak1ef] { background: #d9b85f; clip-path: polygon(50% 100%, 0 0, 100% 0); height: 7px; left: calc(50% - 5px); opacity: 0; position: absolute; top: 3px; width: 10px; }
.bs-column-hitbox:hover[b-8dcafak1ef] { background: linear-gradient(#d9b85f18, transparent 45%); }
.bs-column-hitbox:hover span[b-8dcafak1ef], .bs-column-hitbox:focus-visible span[b-8dcafak1ef] { opacity: 1; transform: translateY(3px); }
.bs-column-hitbox:focus-visible[b-8dcafak1ef] { outline: 2px solid var(--pale-gold); outline-offset: -3px; }
.bs-column-hitbox:disabled[b-8dcafak1ef] { cursor: default; }
.bs-footer[b-8dcafak1ef] { display: none; }
.bs-footer span[b-8dcafak1ef]::after { content: " ◆ "; margin: 0 .8em; }
@keyframes bs-fall-b-8dcafak1ef { from { filter: brightness(1.35); top: -10cqw; transform: scale(.82); } 82% { transform: scale(.82); } 92% { transform: scale(.9,.73); } to { filter: brightness(1); transform: scale(.82); } }
@keyframes bs-pop-b-8dcafak1ef { 0% { opacity: 1; transform: scale(.82); } 35% { filter: brightness(2.4); transform: scale(1.18); } to { filter: brightness(3); opacity: 0; transform: scale(.08); } }
@keyframes bs-pop-ring-b-8dcafak1ef { from { opacity: .9; transform: scale(.4); } to { opacity: 0; transform: scale(2); } }
.bs-footer b[b-8dcafak1ef] { color: #f7e8bd; font-weight: 400; }
@media (max-width: 390px) {
    .bs-root[b-8dcafak1ef] { padding: 0; }
    .bs-frame[b-8dcafak1ef] { box-shadow: inset 0 0 28px #000c; }
    .bs-game-area[b-8dcafak1ef] { padding: 0; }
    .bs-board[b-8dcafak1ef] { height: 100%; width: 100%; }
    .bs-next-wrap[b-8dcafak1ef] { gap: 3px; left: 7px; padding: 3px 4px; top: 7px; }
    .bs-next-wrap span[b-8dcafak1ef] { font-size: .38rem; writing-mode: initial; }
    .bs-next[b-8dcafak1ef] { height: 18px; width: 18px; }
    .bs-footer[b-8dcafak1ef] { display: none; }
}
/* /Components/Subcompnents/CircuitConnect.razor.rz.scp.css */
/* -----------------------------------------
   ROOT WRAPPER
----------------------------------------- */
.cc-wrap[b-douvazl2uh] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: 0.5rem;
    background: rgba(64, 64, 64, 0.5);
    border-radius: 0;
    border: 0;
    font-family: "Cinzel", "Cormorant Garamond", "Georgia", serif;
    color: #2b251c;
    gap: 0.4rem;
}

    /* Disabled overlay state */
    .cc-wrap.cc-disabled[b-douvazl2uh] {
        justify-content: center;
        align-items: center;
        cursor: pointer;
    }

.cc-message[b-douvazl2uh] {
    font-size: clamp(1rem, 4vmin, 1.8rem);
    text-align: center;
    opacity: 0.7;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* -----------------------------------------
   GRID BOARD
----------------------------------------- */
.cc-board[b-douvazl2uh] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* dynamic if needed */
    grid-template-rows: repeat(6, 1fr);
    gap: 3px;
    padding: 6px;
    background: rgba(64, 64, 64, 0.5);
    border-radius: 10px;
    box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.6);
    box-sizing: border-box;
}

/* -----------------------------------------
   FOOTER PANEL
----------------------------------------- */
.cc-footer[b-douvazl2uh] {
    flex: 0 0 auto;
    display: flex;
    gap: 0.6rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem 0.6rem;
    background: linear-gradient(to right, #2a2119, #38291b, #2a2119);
    border-radius: 9px;
    border: 2px solid #8d6c3a;
    box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.45);
    color: #f7e6c4;
    font-size: clamp(0.7rem, 2.5vmin, 1rem);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.cc-footer-section[b-douvazl2uh] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.cc-label[b-douvazl2uh] {
    opacity: 0.7;
}

.cc-value[b-douvazl2uh] {
    font-size: 1.1em;
    font-weight: 700;
}

.cc-btn[b-douvazl2uh] {
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    border: 2px solid #f3d58f;
    background: radial-gradient(circle at 40% 30%, #f4e0ac, #b48633);
    color: #2b251c;
    font-size: clamp(0.7rem, 2.4vmin, 1rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    cursor: pointer;
    text-transform: uppercase;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45), inset 0 1px 2px rgba(255, 255, 255, 0.5);
    white-space: nowrap;
}

    .cc-btn:active[b-douvazl2uh] {
        transform: scale(0.96);
    }

/* -----------------------------------------
   CELL STYLING
----------------------------------------- */
.cc-cell[b-douvazl2uh] {
    position: relative;
    padding: 0;
    margin: 0;
    border: none;
    outline: none;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 30% 20%, #534233, #302519);
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.6), inset 0 0 4px rgba(0,0,0,0.8);
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

    .cc-cell:hover[b-douvazl2uh] {
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(0,0,0,0.7), inset 0 0 5px rgba(0,0,0,0.9);
    }

    /* Wire tile (not empty) */
    .cc-cell.cc-wire[b-douvazl2uh] {
        background: radial-gradient(circle at 30% 20%, #5c4a3b, #2b2117);
    }

    /* Completed board lock */
    .cc-cell.cc-complete[b-douvazl2uh] {
        cursor: default;
        opacity: 0.95;
    }

/* -----------------------------------------
   INNER WIRES + NODE
----------------------------------------- */
.cc-inner[b-douvazl2uh] {
    position: relative;
    width: 100%;
    height: 100%;
}

/* Central node */
.cc-node[b-douvazl2uh] {
    position: absolute;
    inset: 35%;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 20%, #f4e0ac, #b1843a);
    box-shadow: 0 0 0 2px #493620, 0 0 8px rgba(0,0,0,0.7);
}

/* Wire segments */
.cc-seg[b-douvazl2uh] {
    position: absolute;
    background: linear-gradient(to bottom, #c7a874, #6b5435);
    box-shadow: inset 0 0 2px rgba(0,0,0,0.8);
    border-radius: 999px;
}

/* Up/Down/Left/Right segments */
.seg-u[b-douvazl2uh] {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 18%;
    height: 52%;
}

.seg-d[b-douvazl2uh] {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 18%;
    height: 52%;
}

.seg-l[b-douvazl2uh] {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 52%;
    height: 18%;
}

.seg-r[b-douvazl2uh] {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 52%;
    height: 18%;
}

/* -----------------------------------------
   SOURCE & LAMP TILES
----------------------------------------- */
.cc-src .cc-node[b-douvazl2uh] {
    background: radial-gradient(circle at 30% 20%, #f9b1a2, #b43b2e);
    box-shadow: 0 0 0 2px #5a241c, 0 0 10px rgba(255,120,90,0.9);
}

.cc-lamp .cc-node[b-douvazl2uh] {
    background: radial-gradient(circle at 30% 20%, #fef5cf, #d6ab3f);
}

/* -----------------------------------------
   POWERED GLOW
----------------------------------------- */
.cc-powered .cc-node[b-douvazl2uh],
.cc-powered .cc-seg[b-douvazl2uh] {
    background: linear-gradient(to bottom, #ffe7aa, #c29333);
    box-shadow: 0 0 0 2px #5b4120, 0 0 10px rgba(255,216,120,0.9), 0 0 18px rgba(255,240,170,0.7);
}

/* Powered lamp extra glow */
.cc-powered.cc-lamp .cc-node[b-douvazl2uh] {
    box-shadow: 0 0 0 2px #5b4120, 0 0 14px rgba(255,255,200,1), 0 0 26px rgba(255,255,200,0.9);
}

/* -----------------------------------------
   IDLE GLOW / SPARK ANIMATION
----------------------------------------- */
@keyframes cc-pulse-b-douvazl2uh {
    0% {
        filter: brightness(1);
    }

    50% {
        filter: brightness(1.25);
    }

    100% {
        filter: brightness(1);
    }
}

.cc-powered .cc-node[b-douvazl2uh] {
    animation: cc-pulse-b-douvazl2uh 1.4s ease-in-out infinite;
}

/* Make lamp tiles visually obvious even when unpowered */
/*.cc-lamp {
    background: radial-gradient(circle at 30% 20%, #665534, #3a2f1e);
    box-shadow: 0 0 6px rgba(255, 235, 150, 0.4), inset 0 0 4px rgba(255,255,200,0.2);
}*/

/* Lamp node - soft golden look */
/*.cc-lamp .cc-node {
    background: radial-gradient(circle at 30% 20%, #fdf2b8, #d0a843);
    box-shadow: 0 0 4px rgba(255,240,180,0.8);
}*/
/* /Components/Subcompnents/CodeBreaker.razor.rz.scp.css */
.cb-wrap[b-qo1h59ayoo] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: clamp(0.18rem, 1.2cqw, 0.45rem);
    user-select: none;
    container-type: inline-size;
}

.cb-lockbox[b-qo1h59ayoo] {
    position: relative;
    width: 100%;
    max-width: min(100%, 520px);
    min-width: min(100%, 310px);
    aspect-ratio: 1 / 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(6.1rem, 32%);
    gap: clamp(0.38rem, 1.5cqw, 0.7rem);
    padding: clamp(0.65rem, 2.8cqw, 1rem);
    box-sizing: border-box;
    color: #f4f0e6;
    font-family: "Cinzel", "Garamond", serif;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 28%),
        linear-gradient(180deg, #51402b 0%, #241c15 100%);
    border: 0;
    box-shadow:
        inset 0 0 0 1px rgba(244, 240, 230, 0.18),
        inset 0 0 26px rgba(0, 0, 0, 0.55),
        0 10px 24px rgba(0, 0, 0, 0.35);
}

.cb-rivet[b-qo1h59ayoo] {
    position: absolute;
    width: clamp(0.5rem, 2.4cqw, 0.78rem);
    height: clamp(0.5rem, 2.4cqw, 0.78rem);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #f1d27b, #8b6726 62%, #2d2214 100%);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.32), 0 1px 2px rgba(0, 0, 0, 0.55);
    z-index: 2;
}

.cb-rivet-tl[b-qo1h59ayoo] {
    top: 0.38rem;
    left: 0.38rem;
}

.cb-rivet-tr[b-qo1h59ayoo] {
    top: 0.38rem;
    right: 0.38rem;
}

.cb-rivet-bl[b-qo1h59ayoo] {
    bottom: 0.38rem;
    left: 0.38rem;
}

.cb-rivet-br[b-qo1h59ayoo] {
    right: 0.38rem;
    bottom: 0.38rem;
}

.cb-board[b-qo1h59ayoo] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: clamp(0.45rem, 1.8cqw, 0.8rem);
}

.cb-current[b-qo1h59ayoo] {
    padding: clamp(0.45rem, 1.8cqw, 0.75rem);
    background:
        linear-gradient(180deg, rgba(244, 240, 230, 0.13), rgba(0, 0, 0, 0.08)),
        #1a1511;
    border: 1px solid rgba(197, 154, 43, 0.58);
    box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.62), 0 2px 8px rgba(0, 0, 0, 0.24);
}

.cb-window-row[b-qo1h59ayoo],
.cb-row[b-qo1h59ayoo] {
    display: grid;
    grid-template-columns: repeat(var(--code-length, 5), minmax(0, 1fr));
    gap: clamp(0.22rem, 1cqw, 0.45rem);
}

.cb-cell[b-qo1h59ayoo] {
    aspect-ratio: 1 / 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 1px solid rgba(36, 28, 21, 0.86);
    color: #241c15;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.44), rgba(255, 255, 255, 0.05)),
        #d9caa7;
    font-size: clamp(1rem, 6.1cqw, 2rem);
    font-weight: 700;
    line-height: 1;
    box-shadow:
        inset 0 1px 2px rgba(255, 255, 255, 0.45),
        inset 0 -2px 4px rgba(0, 0, 0, 0.24);
}

.cb-window[b-qo1h59ayoo] {
    background:
        radial-gradient(circle at 50% 42%, rgba(216, 195, 109, 0.22), transparent 60%),
        linear-gradient(180deg, #ebe0c5, #b69d6a);
    border-color: #c59a2b;
    box-shadow:
        inset 0 0 0 2px rgba(0, 0, 0, 0.18),
        inset 0 1px 5px rgba(255, 255, 255, 0.42),
        0 0 10px rgba(0, 0, 0, 0.28);
}

.cb-active[b-qo1h59ayoo] {
    outline: 2px solid #f4f0e6;
    outline-offset: 2px;
}

.cb-meter[b-qo1h59ayoo] {
    display: grid;
    grid-template-columns: repeat(var(--code-length, 5), 1fr);
    gap: clamp(0.22rem, 1cqw, 0.45rem);
    margin-top: clamp(0.35rem, 1.3cqw, 0.55rem);
}

.cb-meter span[b-qo1h59ayoo] {
    height: clamp(0.24rem, 1.2cqw, 0.38rem);
    background: #35271b;
    border: 1px solid rgba(197, 154, 43, 0.28);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.45);
}

.cb-meter span.lit[b-qo1h59ayoo] {
    background: linear-gradient(90deg, #a45b5b, #d8c36d);
    box-shadow: 0 0 8px rgba(216, 195, 109, 0.62);
}

.cb-history[b-qo1h59ayoo] {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(0.24rem, 1cqw, 0.4rem);
    overflow-y: auto;
    padding: clamp(0.35rem, 1.4cqw, 0.55rem);
    background: rgba(10, 8, 7, 0.34);
    border: 1px solid rgba(197, 154, 43, 0.28);
    scrollbar-width: thin;
}

.cb-row.past[b-qo1h59ayoo] {
    opacity: 0.98;
}

.cb-red[b-qo1h59ayoo] {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(0, 0, 0, 0.08)),
        #854343;
    color: #f4f0e6;
}

.cb-yellow[b-qo1h59ayoo] {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(0, 0, 0, 0.08)),
        #c59a2b;
    color: #21180f;
}

.cb-green[b-qo1h59ayoo] {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.08)),
        #6f8d64;
    color: #f4f0e6;
}

.cb-controls[b-qo1h59ayoo] {
    min-width: 0;
    min-height: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding: clamp(0.35rem, 1.4cqw, 0.55rem);
    background:
        linear-gradient(180deg, rgba(244, 240, 230, 0.08), rgba(0, 0, 0, 0.16)),
        #16120f;
    border: 1px solid rgba(197, 154, 43, 0.5);
    box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.58);
}

.cb-pad[b-qo1h59ayoo] {
    width: 100%;
    align-self: center;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.22rem, 1cqw, 0.45rem);
}

.cb-num[b-qo1h59ayoo] {
    appearance: none;
    aspect-ratio: 1 / 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #5d431c;
    color: #241c15;
    background:
        radial-gradient(circle at 35% 26%, rgba(255, 255, 255, 0.65), transparent 24%),
        linear-gradient(180deg, #d8c36d, #9b7429);
    font-family: "Cinzel", "Garamond", serif;
    font-size: clamp(0.86rem, 5.4cqw, 1.65rem);
    font-weight: 800;
    cursor: pointer;
    box-shadow:
        inset 0 1px 2px rgba(255, 255, 255, 0.42),
        inset 0 -3px 5px rgba(0, 0, 0, 0.22),
        0 2px 5px rgba(0, 0, 0, 0.36);
    transition: transform 90ms ease, filter 120ms ease, opacity 120ms ease, box-shadow 120ms ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.cb-num:focus-visible[b-qo1h59ayoo] {
    outline: 2px solid #f4f0e6;
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    .cb-num:not(:disabled):hover[b-qo1h59ayoo] {
        filter: brightness(1.12);
        transform: translateY(-1px);
    }
}

.cb-num:not(:disabled):active[b-qo1h59ayoo] {
    transform: translateY(1px) scale(0.96);
}

.cb-num:disabled[b-qo1h59ayoo] {
    cursor: not-allowed;
    opacity: 0.34;
    filter: grayscale(0.65) brightness(0.82);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.45);
}

.cb-num.control[b-qo1h59ayoo] {
    background:
        radial-gradient(circle at 35% 26%, rgba(255, 255, 255, 0.55), transparent 24%),
        linear-gradient(180deg, #d7c6a5, #8d7756);
}

.cb-delete:not(:disabled)[b-qo1h59ayoo] {
    color: #f4f0e6;
    background:
        radial-gradient(circle at 35% 26%, rgba(255, 255, 255, 0.42), transparent 24%),
        linear-gradient(180deg, #a45b5b, #653033);
}

.cb-check.ready[b-qo1h59ayoo] {
    color: #f4f0e6;
    background:
        radial-gradient(circle at 35% 26%, rgba(255, 255, 255, 0.42), transparent 24%),
        linear-gradient(180deg, #7b9c89, #405d48);
    box-shadow:
        inset 0 1px 2px rgba(255, 255, 255, 0.42),
        inset 0 -3px 5px rgba(0, 0, 0, 0.22),
        0 0 10px rgba(123, 156, 137, 0.48);
}

@media (max-width: 380px) {
    .cb-lockbox[b-qo1h59ayoo] {
        grid-template-columns: minmax(0, 1fr) minmax(5.9rem, 32%);
        gap: 0.35rem;
        padding: 0.58rem;
    }

    .cb-current[b-qo1h59ayoo],
    .cb-controls[b-qo1h59ayoo],
    .cb-history[b-qo1h59ayoo] {
        padding: 0.35rem;
    }
}
/* /Components/Subcompnents/ConnectionsGame.razor.rz.scp.css */
.cn-wrap[b-2key3utaa3] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .4rem;
    background: rgba(0, 0, 0, .42);
    border: 0;
    border-radius: 0;
    font-family: "Cinzel", "Georgia", serif;
    color: #f5eed8;
    overflow: hidden;
}

.cn-header[b-2key3utaa3] {
    flex: 0 0 auto;
    min-height: 1.8rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .35rem;
    padding: .25rem .35rem;
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(0, 0, 0, .32), rgba(0, 0, 0, .18));
    box-shadow: inset 0 0 0 1px rgba(200, 162, 74, .32);
}

.cn-title[b-2key3utaa3] {
    font-size: clamp(.68rem, 2.7vw, .9rem);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.cn-status[b-2key3utaa3] {
    min-width: 0;
    font-size: clamp(.62rem, 2.45vw, .82rem);
    line-height: 1.05;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cn-mistakes[b-2key3utaa3] {
    display: grid;
    grid-template-columns: repeat(4, .42rem);
    gap: .15rem;
    min-width: 2.1rem;
    justify-content: end;
}

.cn-mistakes span[b-2key3utaa3] {
    width: .42rem;
    height: .42rem;
    border-radius: 999px;
    background: #c8a24a;
    box-shadow: 0 0 6px rgba(200, 162, 74, .35);
}

.cn-solved[b-2key3utaa3] {
    flex: 0 0 auto;
    display: grid;
    gap: .25rem;
}

.cn-group[b-2key3utaa3] {
    min-height: 2.15rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: .25rem .4rem;
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(197, 162, 74, .9), rgba(113, 74, 24, .92));
    color: #140f09;
    box-shadow: inset 0 0 0 1px rgba(255, 246, 210, .45), 0 2px 8px rgba(0, 0, 0, .2);
}

.cn-group-title[b-2key3utaa3] {
    font-size: clamp(.64rem, 2.55vw, .82rem);
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    text-align: center;
}

.cn-group-words[b-2key3utaa3] {
    margin-top: .12rem;
    font-size: clamp(.52rem, 2.25vw, .72rem);
    line-height: 1.05;
    text-align: center;
}

.cn-grid[b-2key3utaa3] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: minmax(2.45rem, 1fr);
    gap: .28rem;
}

.cn-tile[b-2key3utaa3] {
    appearance: none;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    padding: .16rem .12rem;
    border: 1px solid rgba(200, 162, 74, .58);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .96), rgba(204, 188, 146, .95));
    color: #17110b;
    cursor: pointer;
    font-family: "Cinzel", "Georgia", serif;
    font-size: clamp(.48rem, 2.18vw, .8rem);
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    overflow-wrap: anywhere;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .45);
}

.cn-tile.selected[b-2key3utaa3] {
    background: linear-gradient(180deg, rgba(45, 92, 93, .98), rgba(20, 47, 56, .98));
    border-color: rgba(245, 238, 216, .72);
    color: #f5eed8;
}

.cn-tile:focus-visible[b-2key3utaa3],
.cn-action:focus-visible[b-2key3utaa3] {
    outline: 2px solid rgba(245, 238, 216, .9);
    outline-offset: -2px;
}

.cn-tile:disabled[b-2key3utaa3] {
    cursor: default;
}

.cn-actions[b-2key3utaa3] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .3rem;
}

.cn-action[b-2key3utaa3] {
    appearance: none;
    min-height: 1.65rem;
    padding: .2rem .25rem;
    border: 1px solid rgba(200, 162, 74, .62);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .22), rgba(0, 0, 0, .2));
    color: #f5eed8;
    cursor: pointer;
    font-family: "Cinzel", "Georgia", serif;
    font-size: clamp(.58rem, 2.4vw, .78rem);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .8);
}

.cn-action.primary[b-2key3utaa3] {
    background: linear-gradient(180deg, rgba(197, 162, 74, .82), rgba(113, 74, 24, .86));
    color: #130d07;
    text-shadow: none;
}

.cn-action:disabled[b-2key3utaa3] {
    opacity: .42;
    cursor: default;
}

@media (max-width: 350px) {
    .cn-wrap[b-2key3utaa3] {
        gap: .28rem;
        padding: .3rem;
    }

    .cn-grid[b-2key3utaa3] {
        gap: .22rem;
        grid-auto-rows: minmax(2.25rem, 1fr);
    }

    .cn-header[b-2key3utaa3] {
        padding: .22rem .28rem;
    }
}
/* /Components/Subcompnents/DebugPanel.razor.rz.scp.css */
.debug-panel[b-ftiga05xog] {
    width: 100%;
    background: #1a1a2e;
    border-top: 2px solid #e94560;
    color: #eee;
    font-family: 'Courier New', monospace;
    font-size: 0.85rem;
    margin-top: 1.5rem;
}

.debug-panel-header[b-ftiga05xog] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #16213e;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #e94560;
}

.debug-panel-title[b-ftiga05xog] {
    font-weight: 700;
    color: #e94560;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.8rem;
}

.debug-panel-controls[b-ftiga05xog] {
    display: flex;
    gap: 0.5rem;
}

.debug-panel-body[b-ftiga05xog] {
    padding: 0.75rem 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
}

.debug-section[b-ftiga05xog] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 200px;
}

.debug-player-section[b-ftiga05xog] {
    background: #0f3460;
    border-radius: 6px;
    padding: 0.6rem 0.8rem;
    min-width: 320px;
    flex: 1;
}

.debug-player-name[b-ftiga05xog] {
    font-weight: 700;
    color: #ffd700;
    margin-bottom: 0.4rem;
    font-size: 0.9rem;
}

.debug-field[b-ftiga05xog] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.3rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.debug-field:last-child[b-ftiga05xog] {
    border-bottom: none;
}

.debug-field-row[b-ftiga05xog] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.debug-label[b-ftiga05xog] {
    color: #aaa;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.debug-select[b-ftiga05xog] {
    background: #16213e;
    color: #eee;
    border: 1px solid #444;
    border-radius: 4px;
    padding: 0.25rem 0.4rem;
    font-size: 0.82rem;
    min-width: 140px;
}

.debug-select:focus[b-ftiga05xog] {
    outline: 1px solid #e94560;
}

.debug-btn[b-ftiga05xog] {
    background: #2d2d4e;
    color: #eee;
    border: 1px solid #555;
    border-radius: 4px;
    padding: 0.25rem 0.6rem;
    font-size: 0.78rem;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}

.debug-btn:hover[b-ftiga05xog] {
    background: #3d3d6e;
}

.debug-btn-warning[b-ftiga05xog] {
    background: #7a5000;
    border-color: #e6a817;
    color: #ffd700;
}

.debug-btn-warning:hover[b-ftiga05xog] {
    background: #9a6500;
}

.debug-btn-success[b-ftiga05xog] {
    background: #0a5c2a;
    border-color: #2ecc71;
    color: #2ecc71;
}

.debug-btn-success:hover[b-ftiga05xog] {
    background: #0d7a38;
}

.debug-btn-danger[b-ftiga05xog] {
    background: #5c0a0a;
    border-color: #e94560;
    color: #e94560;
}

.debug-btn-danger:hover[b-ftiga05xog] {
    background: #7a0e0e;
}

.debug-toggle[b-ftiga05xog] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    user-select: none;
}

.debug-toggle input[type="checkbox"][b-ftiga05xog] {
    accent-color: #e94560;
    width: 14px;
    height: 14px;
}
/* /Components/Subcompnents/DecoMines.razor.rz.scp.css */
.ms-wrap[b-788pgimuio] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #f4efe2;
    border-radius: 0;
    border: 0;
    box-shadow: inset 0 0 18px rgba(0,0,0,0.25);
    box-sizing: border-box;
    padding: 0.4rem;
    gap: 0.4rem;
    color: #2b2520;
}

/* Header */
.ms-header[b-788pgimuio] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.2rem 0.4rem;
    border-bottom: 2px solid #c6b691;
}

.ms-title[b-788pgimuio] {
    font-size: 1rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border-top: 2px solid #a47a2a;
    border-bottom: 2px solid #a47a2a;
    padding: 0.1rem 0.4rem;
}

.ms-panel[b-788pgimuio] {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    font-size: 0.8rem;
}

.ms-btn[b-788pgimuio] {
    background: #d9b95b;
    border-radius: 6px;
    border: 1px solid #6b5023;
    padding: 0.2rem 0.7rem;
    cursor: pointer;
    font-size: 0.75rem;
}

    .ms-btn:hover[b-788pgimuio] {
        background: #e7cb7d;
    }

/* Board */
.ms-board[b-788pgimuio] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    gap: 2px;
    background: #2b2520;
    padding: 4px;
    border-radius: 10px;
    box-shadow: inset 0 0 8px rgba(0,0,0,0.45);
}

/* Cell buttons */
.ms-cell[b-788pgimuio] {
    position: relative;
    aspect-ratio: 1;
    border-radius: 4px;
    border: 1px solid #5a4a3a;
    background: radial-gradient(circle at 30% 30%, #4a3c30, #2b2520);
    color: #f6f0db;
    font-weight: 700;
    font-size: clamp(0.7rem, 2.5vmin, 5.5rem);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.4);
    transition: transform 0.08s ease, box-shadow 0.12s ease, background 0.15s ease;
}

    .ms-cell:hover[b-788pgimuio] {
        transform: translateY(-1px);
        box-shadow: 0 3px 6px rgba(0,0,0,0.55);
    }

    .ms-cell.ms-open[b-788pgimuio] {
        background: linear-gradient(135deg, #ebe1c5, #d2c4a0);
        color: #2b2520;
        box-shadow: inset 0 1px 3px rgba(0,0,0,0.25);
    }

    .ms-cell.ms-mine[b-788pgimuio] {
        background: radial-gradient(circle, #7a1414, #3a0505);
        color: #f8e7d2;
    }

    .ms-cell.ms-flagged[b-788pgimuio] {
        background: linear-gradient(135deg, #40322b, #241a16);
        color: #f2d37a;
    }

    /* Numbers – subtle differentiated colours */
    .ms-cell.ms-open[b-788pgimuio] {
        color: #3a2b21;
    }

        .ms-cell.ms-open:has(> span:contains("1"))[b-788pgimuio],
        .ms-cell.ms-open:has(> *:contains("1"))[b-788pgimuio] {
            color: #335c7a;
        }

        .ms-cell.ms-open:has(> *:contains("2"))[b-788pgimuio] {
            color: #3c6e4b;
        }

        .ms-cell.ms-open:has(> *:contains("3"))[b-788pgimuio] {
            color: #8a3e3e;
        }

        .ms-cell.ms-open:has(> *:contains("4"))[b-788pgimuio] {
            color: #5a4b8a;
        }

        .ms-cell.ms-open:has(> *:contains("5"))[b-788pgimuio] {
            color: #8a6a3e;
        }

        .ms-cell.ms-open:has(> *:contains("6"))[b-788pgimuio] {
            color: #2f7c7c;
        }

/* Footer */
.ms-footer[b-788pgimuio] {
    padding: 0.2rem 0.4rem;
    border-top: 2px solid #c6b691;
    font-size: 0.75rem;
}

.ms-status[b-788pgimuio] {
    letter-spacing: 0.05em;
}

    .ms-status.win[b-788pgimuio] {
        color: #2e6b3a;
    }

    .ms-status.lose[b-788pgimuio] {
        color: #8a2b2b;
    }
/* /Components/Subcompnents/DecoProgress.razor.rz.scp.css */
.artdeco-progress[b-dh9gt947a0] {
    position: relative;
    width: 100%;
    max-width: 600px;
    height: 25px;
    margin-inline: auto;
    background: linear-gradient(90deg, #f8f5f0 0%, #f3ece2 100%);
    border: 1px solid #2b2b2b;
    overflow: hidden;
    box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
    font-family: "Metropolis", "Garamond", serif;
}



/* Deco frame overlay with geometric flair */
.artdeco-progress-frame[b-dh9gt947a0] {
    position: absolute;
    inset: 0;
    border: 1px double #2b2b2b;
    pointer-events: none;
}

/* The filling bar */
.artdeco-progress-bar[b-dh9gt947a0] {
    height: 100%;
    background: linear-gradient(90deg, #c72c41 0%, #e85a70 100%);
    border-right: 1px solid #2b2b2b;
    transition: width 0.5s ease;
    box-shadow: inset 0 0 4px rgba(0,0,0,0.3);
}
/* /Components/Subcompnents/DecoTagBox.razor.rz.scp.css */
:host[b-4x6skg1a5s] {
    display: block;
    height: 100%;
    width: 100%;
    min-width: 0; /* allow flex parents to shrink */
    min-height: 0; /* allow flex parents to control height */
}

/* Palette: cream, ink, brass */
:root[b-4x6skg1a5s], :host[b-4x6skg1a5s] {
    --deco-cream: #f4f0e6;
    --deco-ink: #2b2b2b;
    --deco-brass: #c59a2b;
    --deco-brass-deep: #9c7a1f;
    --deco-ink-weak: #2b2b2b22;
}

.deco-tag-wall[b-4x6skg1a5s] {
    box-sizing: border-box;
    height: 100%;
    width: 100%;
    background: var(--deco-cream);
    border: 2px solid var(--deco-ink);
    position: relative;
    padding: 0.75rem;
    overflow: auto; /* scroll if lots of tags */
}

    /* Art-Deco corner ornaments */
    .deco-tag-wall[b-4x6skg1a5s]::before,
    .deco-tag-wall[b-4x6skg1a5s]::after {
        content: "";
        position: absolute;
        inset: 6px;
        border: 1px solid var(--deco-ink);
        pointer-events: none;
        mask: linear-gradient(#000 0 0);
    }

    .deco-tag-wall[b-4x6skg1a5s]::before {
        box-shadow: 0 0 0 999px transparent, inset 0 0 0 1px var(--deco-ink-weak);
    }

/* Optional heading */
.deco-heading[b-4x6skg1a5s] {
    font-family: "Cinzel", "Cormorant Garamond", "Garamond", "Times New Roman", serif;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--deco-ink);
    text-align: center;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
    margin: 0 0 .5rem 0;
    padding: .35rem .5rem;
    border: 2px solid var(--deco-ink);
    background: linear-gradient(90deg, transparent 0, transparent 6%, var(--deco-brass) 6%, var(--deco-brass) 10%, transparent 10%, transparent 90%, var(--deco-brass) 90%, var(--deco-brass) 94%, transparent 94%, transparent 100%);
}

/* Tags layout */
.tag-wrap[b-4x6skg1a5s] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .5rem;
    align-content: flex-start;
}

/* Individual tag “chips” */
.deco-tag[b-4x6skg1a5s] {
    --pad-x: .6rem;
    --pad-y: .25rem;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: var(--pad-y) var(--pad-x);
    font-family: "Special Elite", "EB Garamond", "Garamond", "Georgia", serif;
    font-size: .95rem;
    color: var(--deco-ink);
    background: linear-gradient(#fff, #f9f5ec);
    border: 2px solid var(--deco-ink);
    border-radius: 0; /* square, deco feel */
    position: relative;
    line-height: 1.1;
    white-space: nowrap;
}

    /* Thin inner brass line */
    .deco-tag[b-4x6skg1a5s]::after {
        content: "";
        position: absolute;
        inset: 3px;
        border: 1px solid var(--deco-brass);
        pointer-events: none;
    }

    /* Small ornaments flanking the label */
    .deco-tag .ornament[b-4x6skg1a5s] {
        font-size: .8em;
        letter-spacing: .02em;
        color: var(--deco-brass-deep);
        transform: translateY(-0.5px);
    }

    .deco-tag .label[b-4x6skg1a5s] {
        display: inline-block;
        max-width: 26ch; /* prevent ultra-long words breaking layout */
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* High-contrast mode safety + reduced motion */
@media (prefers-reduced-motion: reduce) {
    *[b-4x6skg1a5s] {
        transition: none !important;
    }
}
/* /Components/Subcompnents/EvidenceBoard.razor.rz.scp.css */
/* ─── Palette (mirrors DecoTagBox / game-guidance) ─────────────────────── */
:root[b-q1drzialhk], :host[b-q1drzialhk] {
    --eb-cream:       #f4f0e6;
    --eb-ink:         #2b2b2b;
    --eb-brass:       #c59a2b;
    --eb-brass-deep:  #9c7a1f;
    --eb-heat-0:      #2ecc71;
    --eb-heat-1:      #f1c40f;
    --eb-heat-2:      #e67e22;
    --eb-heat-3:      #e74c3c;
    --eb-heat-4:      #6e0000;
}

/* ─── Overlay: fills the scene-container ─────────────────────────────────── */
.evidence-board[b-q1drzialhk] {
    position: absolute;
    inset: 0;
    z-index: 50;
    background: radial-gradient(circle, rgba(44,30,14,0.97), rgba(20,13,5,0.97));
    border: 3px solid #c59a2b;
    outline: 2px double #9c7a1f;
    color: var(--eb-cream);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: "Special Elite", "Garamond", serif;
}

/* ─── Header ──────────────────────────────────────────────────────────────── */
.eb-header[b-q1drzialhk] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.4rem 2.5rem 0.4rem 0.75rem;
    font-size: min(4cqw, 1rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
    border-bottom: 2px solid #9c7a1f;
    background: rgba(0,0,0,0.35);
    position: relative;
}

.eb-close[b-q1drzialhk] {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 1px solid #c59a2b;
    color: #c59a2b;
    width: 1.6rem;
    height: 1.6rem;
    line-height: 1;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
}

.eb-close:hover[b-q1drzialhk] {
    background: #c59a2b;
    color: #2b2b2b;
}

/* ─── Scrollable list ─────────────────────────────────────────────────────── */
.eb-list[b-q1drzialhk] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    scrollbar-width: thin;
    scrollbar-color: #c59a2b rgba(0,0,0,0.3);
}

.eb-empty[b-q1drzialhk] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem;
    font-style: italic;
    color: #ffffff;
    font-size: min(3.5cqw, 0.85rem);
}

/* ─── Suspect card ────────────────────────────────────────────────────────── */
.eb-card[b-q1drzialhk] {
    background: rgba(255,255,255,0.05);
    border: 1px solid #9c7a1f;
    border-left: 4px solid #9c7a1f;
    padding: 0.35rem 0.5rem;
}

/* Left-border colour reflects heat level */
.eb-card.heat-0[b-q1drzialhk] { border-left-color: #2ecc71; }
.eb-card.heat-1[b-q1drzialhk] { border-left-color: #f1c40f; }
.eb-card.heat-2[b-q1drzialhk] { border-left-color: #e67e22; }
.eb-card.heat-3[b-q1drzialhk] { border-left-color: #e74c3c; }
.eb-card.heat-4[b-q1drzialhk] { border-left-color: #6e0000; background: rgba(110,0,0,0.15); }

.eb-card-header[b-q1drzialhk] {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0.5rem;
}

.eb-portrait[b-q1drzialhk] {
    width: min(10cqw, 48px);
    height: min(10cqw, 48px);
    object-fit: cover;
    object-position: top center;
    border: 1px solid #9c7a1f;
    border-radius: 3px;
    flex-shrink: 0;
    align-self: flex-start;
}

.eb-card-meta[b-q1drzialhk] {
    flex: 1;
    min-width: 0;
}

.eb-name[b-q1drzialhk] {
    font-size: min(3.8cqw, 0.9rem);
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── Heat dots ───────────────────────────────────────────────────────────── */
.eb-heat-dots[b-q1drzialhk] {
    display: flex;
    gap: 0.2rem;
    margin-top: 0.15rem;
}

.eb-dot[b-q1drzialhk] {
    font-size: min(2.5cqw, 0.7rem);
    color: rgba(255,255,255,0.45);
}

.heat-0 .eb-dot.filled[b-q1drzialhk] { color: #2ecc71; }
.heat-1 .eb-dot.filled[b-q1drzialhk] { color: #f1c40f; }
.heat-2 .eb-dot.filled[b-q1drzialhk] { color: #e67e22; }
.heat-3 .eb-dot.filled[b-q1drzialhk] { color: #e74c3c; }
.heat-4 .eb-dot.filled[b-q1drzialhk] { color: #6e0000; }

.eb-heat-label[b-q1drzialhk] {
    font-size: min(2.8cqw, 0.65rem);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #ffffff;
    opacity: 1;
    margin-top: 0.1rem;
}

/* ─── Notes ───────────────────────────────────────────────────────────────── */
.eb-notes[b-q1drzialhk] {
    margin: 0.3rem 0 0 0;
    padding-left: 1rem;
    list-style: none;
}

.eb-note[b-q1drzialhk] {
    font-size: min(3cqw, 0.72rem);
    font-style: italic;
    color: #e8dfc8;
    line-height: 1.35;
    padding: 0.15rem 0;
    border-top: 1px solid rgba(197,154,43,0.15);
}

    .eb-note[b-q1drzialhk]::before {
        content: "▸ ";
        color: #c59a2b;
        font-style: normal;
    }

.eb-no-notes[b-q1drzialhk] {
    font-size: min(3cqw, 0.7rem);
    font-style: italic;
    color: var(--eb-cream);
    opacity: 0.7;
    margin-top: 0.25rem;
}

/* ─── Discredited (false) testimony ──────────────────────────────────────── */
.eb-note-discredited[b-q1drzialhk] {
    color: #a0a0a0;
    text-decoration: line-through;
    text-decoration-color: #e74c3c;
    text-decoration-thickness: 2px;
    border-top-color: rgba(231,76,60,0.25);
}

.eb-note-discredited[b-q1drzialhk]::before {
    content: "";  /* suppress the opening quote on struck-through notes */
}

.eb-discredited-label[b-q1drzialhk] {
    display: block;
    font-size: min(2.5cqw, 0.6rem);
    font-style: normal;
    text-decoration: none;
    color: #e74c3c;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.1rem;
}
/* /Components/Subcompnents/HowToPlay.razor.rz.scp.css */
/* ─── How To Play overlay ─────────────────────────────────────────────────── */
.htp-backdrop[b-i68628wus5] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(5, 8, 7, 0.78);
    backdrop-filter: blur(4px) saturate(0.65);
    -webkit-backdrop-filter: blur(4px) saturate(0.65);
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
    font-family: "Special Elite", "Garamond", serif;
}

/* ─── Panel ───────────────────────────────────────────────────────────────── */
.htp-panel[b-i68628wus5] {
    --htp-brass:      #c59a2b;
    --htp-brass-deep: #9c7a1f;
    --htp-cream:      #f4f0e6;
    --htp-ink:        #2b2b2b;
    --htp-bg:         rgba(18, 11, 4, 0.97);

    background: var(--htp-bg);
    border: 3px solid var(--htp-brass);
    outline: 2px double var(--htp-brass-deep);
    color: var(--htp-cream);
    width: 100%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    container-type: inline-size;
}

/* ─── Modal treatment on wide screens ──────────────────────────────────── */
@media (min-width: 576px) {
    .htp-backdrop[b-i68628wus5] {
        align-items: center;
        padding: 2rem 1rem;
        box-sizing: border-box;
        overflow: visible;
    }

    .htp-panel[b-i68628wus5] {
        height: auto;
        max-height: min(80vh, 720px);
        max-width: 1000px;
        width: min(92vw, 1000px);
        border-radius: 8px;
        box-shadow: 0 12px 48px rgba(0,0,0,0.75),
                    0 0 0 1px rgba(197,154,43,0.18),
                    inset 0 1px 0 rgba(244,240,230,0.04);
    }
}

/* ─── Header ──────────────────────────────────────────────────────────────── */
.htp-header[b-i68628wus5] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    padding: 0.55rem 3rem 0.55rem 0.75rem;
    border-bottom: 2px solid var(--htp-brass-deep);
    background: rgba(0, 0, 0, 0.45);
    position: relative;
}

.htp-title[b-i68628wus5] {
    font-size: min(5cqw, 1.1rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
}

.htp-ornament[b-i68628wus5] {
    color: var(--htp-brass);
    font-size: min(4cqw, 0.9rem);
}

.htp-close[b-i68628wus5] {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--htp-brass);
    font-size: 1.2rem;
    cursor: pointer;
    line-height: 1;
    padding: 0.25rem 0.5rem;
    transition: color 0.15s;
}

.htp-close:hover[b-i68628wus5] {
    color: #fff;
}

/* ─── Body (scrollable) ───────────────────────────────────────────────────── */
.htp-body[b-i68628wus5] {
    flex: 0 1 auto;
    overflow-y: auto;
    padding: min(4cqw, 1rem) min(4cqw, 1.1rem);
    display: flex;
    flex-direction: column;
    gap: 0;
    scrollbar-width: thin;
    scrollbar-color: var(--htp-brass) rgba(0, 0, 0, 0.3);
}

@media (min-width: 800px) {
    .htp-body[b-i68628wus5] {
        display: grid;
        gap: 1rem 1.4rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .htp-rule[b-i68628wus5] { display: none; }
}

/* ─── Divider rule ────────────────────────────────────────────────────────── */
.htp-rule[b-i68628wus5] {
    text-align: center;
    color: var(--htp-brass-deep);
    font-size: min(3cqw, 0.7rem);
    letter-spacing: 0.2em;
    padding: min(2cqw, 0.45rem) 0;
}

/* ─── Section ─────────────────────────────────────────────────────────────── */
.htp-section[b-i68628wus5] {
    display: flex;
    flex-direction: column;
    gap: min(2cqw, 0.45rem);
}

.htp-section-heading[b-i68628wus5] {
    display: flex;
    align-items: center;
    gap: 0.4em;
    font-size: min(4cqw, 0.88rem);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--htp-brass);
    border-bottom: 1px solid rgba(197, 154, 43, 0.3);
    padding-bottom: 0.2rem;
}

.htp-icon[b-i68628wus5] {
    font-size: 1em;
}

.htp-text[b-i68628wus5] {
    font-size: min(3.4cqw, 0.82rem);
    line-height: 1.6;
    color: var(--htp-cream);
    opacity: 0.9;
    margin: 0;
}

/* ─── Roles ───────────────────────────────────────────────────────────────── */
.htp-role[b-i68628wus5] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: min(2cqw, 0.45rem) min(3cqw, 0.7rem);
    border-radius: 3px;
    border-left: 3px solid transparent;
}

.htp-role--innocent[b-i68628wus5] {
    background: rgba(46, 204, 113, 0.07);
    border-left-color: #2ecc71;
}

.htp-role--murderer[b-i68628wus5] {
    background: rgba(231, 76, 60, 0.07);
    border-left-color: #e74c3c;
}

.htp-role-label[b-i68628wus5] {
    font-size: min(3.2cqw, 0.78rem);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.htp-role--innocent .htp-role-label[b-i68628wus5] { color: #2ecc71; }
.htp-role--murderer .htp-role-label[b-i68628wus5] { color: #e74c3c; }

/* ─── Steps & Tips ────────────────────────────────────────────────────────── */
.htp-steps[b-i68628wus5],
.htp-tips[b-i68628wus5] {
    margin: 0;
    padding-left: min(5cqw, 1.3rem);
    display: flex;
    flex-direction: column;
    gap: min(1.5cqw, 0.35rem);
}

.htp-steps li[b-i68628wus5],
.htp-tips li[b-i68628wus5] {
    font-size: min(3.4cqw, 0.82rem);
    line-height: 1.6;
    color: var(--htp-cream);
    opacity: 0.9;
}

.htp-steps li[b-i68628wus5]::marker {
    color: var(--htp-brass);
    font-weight: 700;
}

.htp-tips li[b-i68628wus5]::marker {
    color: var(--htp-brass);
}

/* ─── Footer ──────────────────────────────────────────────────────────────── */
.htp-footer[b-i68628wus5] {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    padding: 0.55rem;
    border-top: 2px solid var(--htp-brass-deep);
    background: rgba(0, 0, 0, 0.35);
}

.htp-close-btn[b-i68628wus5] {
    background: rgba(197, 154, 43, 0.15);
    border: 2px solid var(--htp-brass);
    border-radius: 4px;
    color: var(--htp-cream);
    font-family: inherit;
    font-size: min(3.5cqw, 0.85rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: min(1.5cqw, 0.35rem) min(6cqw, 1.5rem);
    cursor: pointer;
    transition: background 0.15s;
}

.htp-close-btn:hover[b-i68628wus5] {
    background: rgba(197, 154, 43, 0.35);
}

/* ─── Narrow (≤ 400px) adjustments ───────────────────────────────────────── */
@container (max-width: 400px) {
    .htp-title[b-i68628wus5] {
        font-size: 0.9rem;
    }

    .htp-section-heading[b-i68628wus5] {
        font-size: 0.78rem;
    }

    .htp-text[b-i68628wus5],
    .htp-steps li[b-i68628wus5],
    .htp-tips li[b-i68628wus5] {
        font-size: 0.78rem;
    }
}
/* /Components/Subcompnents/ImageSlidePuzzle.razor.rz.scp.css */
/* Outer puzzle container fills the parent */
.sp-board[b-sdhy4yknih] {
    width: 100%;
    height: 100%;
    display: grid;
    /* You can overwrite these in Blazor */
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 2px;
    background: #2b2b2b;
    padding: 4px;
    box-sizing: border-box;
}

/* Puzzle tile */
.sp-cell[b-sdhy4yknih] {
    position: relative;
    aspect-ratio: 1; /* Perfect square cells — simpler than padding-bottom trick */
    background-size: 300% 300%; /* For a 3×3 grid */
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 6px;
    cursor: pointer;
    transition: transform 0.15s ease;
}

/* Empty space */
.sp-cell.empty[b-sdhy4yknih] {
    background: #0004;
    cursor: default;
}

/* Hover animation */
.sp-cell:hover[b-sdhy4yknih] {
    transform: scale(1.03);
}
/* /Components/Subcompnents/Jigdoku.razor.rz.scp.css */
.jgd-wrap[b-9ucod9lqrz] {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: hidden;
    /* container for sizing within fixed parents */
    container-type: size;
    /* Art Deco: subtle vignette behind the board */
    background: radial-gradient( 140% 120% at 50% 35%, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.32) 55%, rgba(0, 0, 0, 0.62) 0% );
}

/* 7x7 board: 6x6 puzzle + control row + control column */
.jgd-board7[b-9ucod9lqrz] {
    /* Fill as much of the container as possible while remaining square */
    width: min(100%, 100cqh);
    height: min(100%, 100cqw);
    aspect-ratio: 1 / 1;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(7, 1fr);
    gap: 0;
    padding: 10px;
    border-radius: 0;
    box-sizing: border-box;
    overflow: hidden;
    /* Art Deco: dark lacquer + stepped frame (black-on-black) */
    outline: 0;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.06), inset 0 0 0 6px rgba(0, 0, 0, 0.18);
}

/* small parents: reduce padding so more area is playable */
@container (max-width: 310px) {
    .jgd-board7[b-9ucod9lqrz] {
        padding: 7px;
    }
}

@container (max-height: 310px) {
    .jgd-board7[b-9ucod9lqrz] {
        padding: 7px;
    }
}

/* puzzle cells */
.jgd-cell[b-9ucod9lqrz] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    width: 100%;
    /* Art Deco: warmer �ivory tile� with slight bevel */
    background: linear-gradient( 180deg, rgba(255, 255, 255, 0.98) 0%, rgba(242, 238, 228, 0.96) 100% );
    border-radius: 0;
    box-sizing: border-box;
    user-select: none;
    font-weight: 900;
    letter-spacing: 0.01em;
    line-height: 1;
    font-size: clamp(10px, 4cqw, 18px);
    color: #141414;
    outline: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12), inset 0 -7px 10px rgba(0, 0, 0, 0.06);
}

    .jgd-cell.fixed[b-9ucod9lqrz] {
        background: linear-gradient( 180deg, rgba(255, 255, 255, 0.995) 0%, rgba(246, 242, 232, 0.98) 100% );
    }

    /* selection: keep your behavior, just refine the fill (no border highlight changes) */
    .jgd-cell.selected[b-9ucod9lqrz] {
        background: linear-gradient(180deg, rgb(210, 210, 255) 0%, rgb(180, 180, 245) 100%);
        outline: 1px solid rgba(0, 0, 0, 0.10);
    }

    /* region edges (LEAVE AS-IS: black borders) */
    .jgd-cell[b-9ucod9lqrz]::before,
    .jgd-cell[b-9ucod9lqrz]::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        border-radius: 0;
    }

    .jgd-cell.edge-t[b-9ucod9lqrz]::before {
        border-top: 2px solid black;
    }

    .jgd-cell.edge-r[b-9ucod9lqrz]::before {
        border-right: 2px solid black;
    }

    .jgd-cell.edge-b[b-9ucod9lqrz]::before {
        border-bottom: 2px solid black;
    }

    .jgd-cell.edge-l[b-9ucod9lqrz]::before {
        border-left: 2px solid black;
    }

    .jgd-cell.edge-t[b-9ucod9lqrz]::after {
        border-top: 1px solid black;
        inset: 1px 0 0 0;
    }

    .jgd-cell.edge-r[b-9ucod9lqrz]::after {
        border-right: 1px solid black;
        inset: 0 1px 0 0;
    }

    .jgd-cell.edge-b[b-9ucod9lqrz]::after {
        border-bottom: 1px solid black;
        inset: 0 0 1px 0;
    }

    .jgd-cell.edge-l[b-9ucod9lqrz]::after {
        border-left: 1px solid black;
        inset: 0 0 0 1px;
    }

/* UI cells in 7th row/col */
.jgd-ui[b-9ucod9lqrz] {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

    .jgd-ui.spacer[b-9ucod9lqrz] {
        background: transparent;
    }

/* Art Deco buttons: lacquered black */
.jgd-ui-btn[b-9ucod9lqrz] {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(32, 32, 36, 1) 0%, rgba(10, 10, 12, 1) 100%);
    color: rgba(250, 245, 230, 0.98);
    font-weight: 900;
    letter-spacing: 0.02em;
    font-size: clamp(10px, 4cqw, 16px);
    outline: 1px solid rgba(0, 0, 0, 0.75);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), inset 0 -10px 18px rgba(0, 0, 0, 0.35);
}

    .jgd-ui-btn:active[b-9ucod9lqrz] {
        filter: brightness(0.96);
        transform: translateY(1px);
    }

    .jgd-ui-btn.erase[b-9ucod9lqrz] {
        background: linear-gradient(180deg, rgba(150, 26, 26, 1) 0%, rgba(85, 10, 10, 1) 100%);
        color: #fff;
    }
/* /Components/Subcompnents/LightsOutGame.razor.rz.scp.css */
.lo-wrap[b-02d5irgucu] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: .4rem;
    padding: .42rem;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(9, 16, 20, .78), rgba(14, 11, 9, .72)),
        radial-gradient(circle at 50% 20%, rgba(200, 162, 74, .2), transparent 58%);
    color: #f5eed8;
    font-family: "Cinzel", "Georgia", serif;
}

.lo-header[b-02d5irgucu],
.lo-footer[b-02d5irgucu] {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .35rem;
    min-height: 1.85rem;
    padding: .22rem .32rem;
    border-radius: 6px;
    background: rgba(0, 0, 0, .26);
    box-shadow: inset 0 0 0 1px rgba(200, 162, 74, .28);
}

.lo-footer[b-02d5irgucu] {
    grid-template-columns: minmax(0, 1fr) auto;
    font-size: clamp(.6rem, 2.4vw, .78rem);
    font-weight: 800;
    text-transform: uppercase;
}

.lo-title[b-02d5irgucu] {
    font-size: clamp(.64rem, 2.65vw, .9rem);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.lo-status[b-02d5irgucu] {
    min-width: 0;
    font-size: clamp(.58rem, 2.45vw, .8rem);
    font-weight: 700;
    line-height: 1.05;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lo-action[b-02d5irgucu] {
    appearance: none;
    min-height: 1.32rem;
    padding: .12rem .34rem;
    border: 1px solid rgba(200, 162, 74, .62);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .22), rgba(0, 0, 0, .14));
    color: #f5eed8;
    cursor: pointer;
    font-family: inherit;
    font-size: clamp(.54rem, 2.25vw, .72rem);
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.lo-action.subtle[b-02d5irgucu] {
    min-width: 3.2rem;
}

.lo-board[b-02d5irgucu] {
    align-self: center;
    justify-self: center;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-template-rows: repeat(5, minmax(0, 1fr));
    gap: .28rem;
    width: min(100%, 17rem);
    max-height: 100%;
    aspect-ratio: 1;
    padding: .3rem;
    border-radius: 8px;
    background: rgba(0, 0, 0, .34);
    box-shadow:
        inset 0 0 0 1px rgba(200, 162, 74, .32),
        0 8px 20px rgba(0, 0, 0, .28);
}

.lo-cell[b-02d5irgucu] {
    appearance: none;
    position: relative;
    min-width: 0;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(200, 162, 74, .42);
    border-radius: 7px;
    cursor: pointer;
    overflow: hidden;
    background: linear-gradient(180deg, #1c2426, #0b1011);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
    transition: transform .1s ease, border-color .1s ease, box-shadow .12s ease, background .12s ease;
}

.lo-cell:hover:not(:disabled)[b-02d5irgucu],
.lo-cell:focus-visible[b-02d5irgucu] {
    transform: translateY(-1px);
    border-color: rgba(245, 238, 216, .7);
}

.lo-cell:focus-visible[b-02d5irgucu] {
    outline: 2px solid rgba(245, 238, 216, .9);
    outline-offset: -3px;
}

.lo-cell.on[b-02d5irgucu] {
    background: linear-gradient(180deg, #f6d77a, #c58a26 54%, #704915);
    border-color: rgba(255, 239, 176, .95);
    box-shadow:
        0 0 14px rgba(246, 215, 122, .34),
        inset 0 0 0 1px rgba(255, 255, 255, .22);
}

.lo-cell.off[b-02d5irgucu] {
    background: linear-gradient(180deg, #243033, #111617);
}

.lo-glow[b-02d5irgucu] {
    width: 42%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(255, 249, 207, .18);
    opacity: .24;
}

.lo-cell.on .lo-glow[b-02d5irgucu] {
    background: #fff3aa;
    opacity: .9;
    box-shadow: 0 0 16px rgba(255, 243, 170, .72);
}

.lo-cell:disabled[b-02d5irgucu] {
    cursor: default;
}

@media (max-width: 350px) {
    .lo-wrap[b-02d5irgucu] {
        padding: .32rem;
        gap: .3rem;
    }

    .lo-board[b-02d5irgucu] {
        gap: .18rem;
        padding: .22rem;
        width: min(100%, 14.7rem);
    }

    .lo-cell[b-02d5irgucu] {
        border-radius: 5px;
    }
}
/* /Components/Subcompnents/Lobby.razor.rz.scp.css */
/* ─── Backdrop: fullscreen fixed overlay ─────────────────────────────────── */
.lobby-backdrop[b-qh0hsdskxr] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: linear-gradient(rgba(20,13,5,0.78), rgba(20,13,5,0.88)),
                url('lobby.png') center / cover no-repeat;
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
}

/* ─── Panel: centred, capped width ───────────────────────────────────────── */
/* Variables are declared here so Blazor CSS isolation scoping doesn't break  */
/* them — :root/:host in a .razor.css file gets attribute-scoped by the build  */
/* and never matches the document root.                                        */
.lobby[b-qh0hsdskxr] {
    --lb-cream:      #f4f0e6;
    --lb-ink:        #2b2b2b;
    --lb-brass:      #c59a2b;
    --lb-brass-deep: #9c7a1f;

    width: 100%;
    max-width: 560px;
    container-type: inline-size;
    background: rgba(18, 11, 4, 0.97);
    border-left:  3px solid var(--lb-brass);
    border-right: 3px solid var(--lb-brass);
    outline: 2px double var(--lb-brass-deep);
    color: var(--lb-cream);
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--lb-brass) rgba(0,0,0,0.3);
    font-family: "Special Elite", "Garamond", serif;
    padding: min(3cqw, 0.75rem);
    box-sizing: border-box;
}

/* ─── Modal treatment on wide screens ──────────────────────────────────── */
@media (min-width: 576px) {
    .lobby-backdrop[b-qh0hsdskxr] {
        align-items: center;
        padding: 2rem 1rem;
        box-sizing: border-box;
        overflow: visible;
    }

    .lobby[b-qh0hsdskxr] {
        height: auto;
        max-height: min(86vh, 760px);
        max-width: 820px;
        width: min(92vw, 820px);
        border: 3px solid var(--lb-brass);
        border-radius: 8px;
        box-shadow: 0 12px 48px rgba(0,0,0,0.75),
                    0 0 0 1px rgba(197,154,43,0.18),
                    inset 0 1px 0 rgba(244,240,230,0.04);
    }
}

/* ─── Header ──────────────────────────────────────────────────────────────── */

/* ─── Language selector ───────────────────────────────────────────────────── */
.lobby-lang[b-qh0hsdskxr] {
    display: flex;
    justify-content: center;
    gap: min(2cqw, 0.4rem);
    padding: min(1.5cqw, 0.3rem) 0;
}

.lobby-lang-btn[b-qh0hsdskxr] {
    background: rgba(244,240,230,0.12);
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    font-size: min(4cqw, 0.8rem);
    line-height: 1;
    padding: min(1cqw, 0.2rem) min(1.5cqw, 0.3rem);
    opacity: 0.8;
    transition: opacity 0.15s, border-color 0.15s;
    color: #fff;
}

.lobby-lang-btn:hover[b-qh0hsdskxr] {
    opacity: 1;
}

.lobby-lang-btn--active[b-qh0hsdskxr] {
    opacity: 1;
    border-color: var(--lb-brass);
}
.lobby-header[b-qh0hsdskxr] {
    align-items: center;
    display: flex;
    gap: clamp(0.75rem, 3cqw, 1.5rem);
    justify-content: center;
    font-size: min(5cqw, 1.15rem);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fff;
    padding-bottom: min(2cqw, 0.4rem);
    border-bottom: 2px solid var(--lb-brass-deep);
}

.lobby-brand[b-qh0hsdskxr] {
    flex: 0 0 auto;
    filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.65));
    height: auto;
    object-fit: contain;
    width: clamp(105px, 24cqw, 175px);
}

.lobby-heading-copy[b-qh0hsdskxr] {
    min-width: 0;
    text-align: center;
}

.lobby-title[b-qh0hsdskxr] { white-space: nowrap; }

.lobby-subtitle[b-qh0hsdskxr] {
    font-size: min(3cqw, 0.72rem);
    letter-spacing: 0.18em;
    color: var(--lb-brass);
    font-weight: 400;
    margin-top: 0.15rem;
    text-transform: uppercase;
}

/* ─── Tagline ──────────────────────────────────────────────────────────────── */
.lobby-tagline[b-qh0hsdskxr] {
    text-align: center;
    font-size: min(3.2cqw, 0.8rem);
    opacity: 0.85;
    line-height: 1.5;
    padding: min(2cqw, 0.4rem) 0;
}

/* ─── Divider ─────────────────────────────────────────────────────────────── */
.lobby-divider[b-qh0hsdskxr] {
    text-align: center;
    color: var(--lb-brass-deep);
    font-size: min(3cqw, 0.7rem);
    letter-spacing: 0.2em;
    padding: min(1.5cqw, 0.3rem) 0;
}

/* ─── Buttons ─────────────────────────────────────────────────────────────── */
.lobby-btn[b-qh0hsdskxr] {
    display: flex;
    align-items: center;
    gap: min(2.5cqw, 0.6rem);
    width: 100%;
    border: 2px solid var(--lb-brass);
    border-radius: 4px;
    cursor: pointer;
    padding: min(2cqw, 0.45rem) min(3cqw, 0.75rem);
    font-family: inherit;
    transition: background 0.15s, color 0.15s;
}

.lobby-btn--primary[b-qh0hsdskxr] {
    background: rgba(197,154,43,0.18);
    color: var(--lb-cream);
}

.lobby-btn--primary:hover[b-qh0hsdskxr] {
    background: rgba(197,154,43,0.38);
}

.lobby-btn--howtoplay[b-qh0hsdskxr] {
    background: transparent;
    color: var(--lb-brass);
    border-color: var(--lb-brass-deep);
    margin-top: min(1.5cqw, 0.35rem);
}

.lobby-btn--howtoplay:hover[b-qh0hsdskxr] {
    background: rgba(197,154,43,0.15);
    border-color: var(--lb-brass);
    color: var(--lb-cream);
}

.lobby-btn--secondary[b-qh0hsdskxr] {
    background: transparent;
    color: var(--lb-brass);
    border-color: var(--lb-brass-deep);
    padding: min(1.5cqw, 0.35rem) min(2.5cqw, 0.6rem);
    font-size: min(3cqw, 0.8rem);
    width: auto;
    flex-shrink: 0;
}

.lobby-btn--secondary:hover:not(:disabled)[b-qh0hsdskxr] {
    background: rgba(197,154,43,0.2);
}

.lobby-btn--secondary:disabled[b-qh0hsdskxr] {
    opacity: 0.4;
    cursor: not-allowed;
}

.lobby-btn-icon[b-qh0hsdskxr] {
    width: min(8cqw, 2rem);
    height: min(8cqw, 2rem);
    object-fit: cover;
    border-radius: 3px;
    flex-shrink: 0;
}

.lobby-btn-text[b-qh0hsdskxr] {
    display: flex;
    flex-direction: column;
    text-align: left;
    gap: 0.1rem;
}

.lobby-btn-label[b-qh0hsdskxr] {
    font-size: min(3.8cqw, 0.9rem);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.lobby-btn-sub[b-qh0hsdskxr] {
    font-size: min(2.8cqw, 0.7rem);
    opacity: 0.7;
}

/* ─── Active games heading ───────────────────────────────────────────────── */
.lobby-games-heading[b-qh0hsdskxr] {
    display: flex;
    align-items: center;
    gap: 0.4em;
    font-size: min(3cqw, 0.72rem);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--lb-brass);
    padding-bottom: min(1cqw, 0.2rem);
}

.lobby-live-dot[b-qh0hsdskxr] {
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    border-radius: 50%;
    background: #2ecc71;
    flex-shrink: 0;
    animation: lobby-pulse-b-qh0hsdskxr 2.5s ease-in-out infinite;
}

@keyframes lobby-pulse-b-qh0hsdskxr {
    0%, 100% { opacity: 1;   transform: scale(1);    }
    50%       { opacity: 0.3; transform: scale(0.75); }
}

/* ─── Game row list ──────────────────────────────────────────────────────── */
.lobby-list[b-qh0hsdskxr] {
    display: flex;
    flex-direction: column;
    gap: min(1.5cqw, 0.3rem);
}

.lobby-row[b-qh0hsdskxr] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: min(2cqw, 0.5rem);
    padding: min(2cqw, 0.4rem) min(3cqw, 0.6rem);
    border-radius: 3px;
    cursor: pointer;
    font-family: inherit;
    width: 100%;
    text-align: left;
    transition: background 0.15s;
}

.lobby-row--live[b-qh0hsdskxr] {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(197,154,43,0.35);
    color: var(--lb-cream);
}

.lobby-row--live:hover[b-qh0hsdskxr] {
    background: rgba(197,154,43,0.12);
}

.lobby-row--waiting[b-qh0hsdskxr] {
    background: rgba(46,204,113,0.06);
    border: 1px solid rgba(46,204,113,0.35);
    color: var(--lb-cream);
}

.lobby-row--waiting:hover[b-qh0hsdskxr] {
    background: rgba(46,204,113,0.14);
}

.lobby-row-id[b-qh0hsdskxr] {
    display: flex;
    align-items: center;
    gap: min(2cqw, 0.4rem);
    min-width: 0;
}

.lobby-row-code[b-qh0hsdskxr] {
    font-size: min(4cqw, 0.9rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #fff;
}

.lobby-row-badge[b-qh0hsdskxr] {
    font-size: min(2.5cqw, 0.6rem);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.1em 0.4em;
    border-radius: 2px;
    font-weight: 700;
}

.badge--live[b-qh0hsdskxr] {
    background: rgba(231,76,60,0.25);
    color: #e74c3c;
    border: 1px solid #e74c3c;
}

.badge--waiting[b-qh0hsdskxr] {
    background: rgba(46,204,113,0.18);
    color: #2ecc71;
    border: 1px solid #2ecc71;
}

.lobby-row-stats[b-qh0hsdskxr] {
    display: flex;
    gap: min(3cqw, 0.6rem);
    font-size: min(2.8cqw, 0.7rem);
    opacity: 0.8;
    white-space: nowrap;
}

.lobby-row-action[b-qh0hsdskxr] {
    font-size: min(3cqw, 0.72rem);
    color: var(--lb-brass);
    font-weight: 700;
    white-space: nowrap;
}

/* ─── Narrow layout: reflow game rows at ≤ 440px (covers 350px min) ─────── */
@container (max-width: 440px) {
    .lobby-brand[b-qh0hsdskxr] { width: 92px; }

    .lobby-title[b-qh0hsdskxr] {
        font-size: 0.85rem;
        white-space: normal;
    }

    .lobby-row[b-qh0hsdskxr] {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
    }

    .lobby-row-id[b-qh0hsdskxr] {
        grid-column: 1;
        grid-row: 1;
    }

    .lobby-row-stats[b-qh0hsdskxr] {
        grid-column: 1;
        grid-row: 2;
    }

    .lobby-row-action[b-qh0hsdskxr] {
        grid-column: 2;
        grid-row: 1 / 3;
        align-self: center;
    }
}

/* ─── Manual code entry ──────────────────────────────────────────────────── */
.lobby-manual[b-qh0hsdskxr] {
    display: flex;
    flex-direction: column;
    gap: min(1.5cqw, 0.3rem);
}

.lobby-manual-label[b-qh0hsdskxr] {
    font-size: min(3cqw, 0.72rem);
    letter-spacing: 0.1em;
    color: var(--lb-brass);
    text-transform: uppercase;
}

.lobby-manual-row[b-qh0hsdskxr] {
    display: flex;
    gap: min(2cqw, 0.4rem);
    align-items: center;
}

.lobby-code-input[b-qh0hsdskxr] {
    flex: 1;
    background: rgba(0,0,0,0.45);
    border: 1px solid var(--lb-brass-deep);
    border-radius: 3px;
    color: var(--lb-cream);
    font-family: inherit;
    font-size: min(4cqw, 0.95rem);
    letter-spacing: 0.25em;
    text-align: center;
    padding: min(1.5cqw, 0.3rem) min(2cqw, 0.4rem);
    outline: none;
    min-width: 0;
}

.lobby-code-input:focus[b-qh0hsdskxr] {
    border-color: var(--lb-brass);
    box-shadow: 0 0 0 2px rgba(197,154,43,0.25);
}

.lobby-code-input[b-qh0hsdskxr]::placeholder {
    opacity: 0.35;
    letter-spacing: 0.35em;
}

.lobby-manual-help[b-qh0hsdskxr] {
    font-size: min(2.5cqw, 0.62rem);
    opacity: 0.55;
    line-height: 1.4;
}

/* ─── Farnsworth toggle ──────────────────────────────────────────────────── */
.lobby-farnsworth[b-qh0hsdskxr] {
    display: flex;
    justify-content: center;
    padding-top: min(1cqw, 0.2rem);
}

.lobby-farnsworth-btn[b-qh0hsdskxr] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: transparent;
    border: 1px solid rgba(197,154,43,0.4);
    border-radius: 3px;
    color: rgba(244,240,230,0.6);
    font-family: inherit;
    font-size: min(2.8cqw, 0.7rem);
    cursor: pointer;
    padding: min(1cqw, 0.25rem) min(2.5cqw, 0.55rem);
    transition: color 0.15s, border-color 0.15s;
}

.lobby-farnsworth-btn img[b-qh0hsdskxr] {
    height: 1.3em;
    border-radius: 50%;
    opacity: 0.75;
}

.lobby-farnsworth-btn:hover[b-qh0hsdskxr] {
    color: var(--lb-cream);
    border-color: var(--lb-brass);
}
/* /Components/Subcompnents/Match3.razor.rz.scp.css */
.m3-wrapper[b-nmmochy0tw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    font-family: system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

.m3-board[b-nmmochy0tw] {
    position: relative;
    user-select: none;
    touch-action: none;
    width: 100%;
    max-width: min(100%, 520px);
    min-width: min(100%, 320px);
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    container-type: inline-size;
}

.m3-grid[b-nmmochy0tw] {
    display: grid;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
    grid-template-columns: repeat(var(--cols, 8), 1fr);
    grid-template-rows: repeat(var(--rows, 8), 1fr);
    gap: clamp(2px, 0.9cqw, 5px);
    background: rgba(0, 0, 0, 0.4);
    padding: clamp(3px, 0.9cqw, 6px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    border: 0;
    contain: layout paint;
}

.m3-tile[b-nmmochy0tw] {
    appearance: none;
    width: 100%;
    height: 100%;
    border-radius: 12%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transform: translate3d(var(--m3-x, 0), var(--m3-y, 0), 0) scale(var(--m3-scale, 1));
    transition: transform 145ms cubic-bezier(.2, .8, .2, 1), box-shadow 120ms ease, opacity 160ms ease, filter 120ms ease;
    border: 1px solid rgba(0, 0, 0, 0.42);
    padding: 0;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    will-change: transform;
    -webkit-tap-highlight-color: transparent;
    touch-action: none;
    position: relative;
}

.m3-icon[b-nmmochy0tw] {
    width: 68%;
    height: 68%;
    object-fit: contain;
    pointer-events: none;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

@media (hover: hover) and (pointer: fine) {
    .m3-tile:hover .m3-icon[b-nmmochy0tw] {
        filter: brightness(1.16) drop-shadow(0 0 4px rgba(216, 195, 109, 0.8));
    }
}

.m3-tile:focus-visible[b-nmmochy0tw] {
    outline: 2px solid #f4f0e6;
    outline-offset: 2px;
}

.m3-selected[b-nmmochy0tw] {
    --m3-scale: 1.06;
    box-shadow: 0 0 0 2px rgba(244, 240, 230, 0.92), 0 0 0.75rem rgba(216, 195, 109, 0.78);
    z-index: 4;
}

.m3-swiping[b-nmmochy0tw] {
    z-index: 5;
}

.m3-clearing[b-nmmochy0tw] {
    animation: pop-b-nmmochy0tw 0.18s ease forwards;
    pointer-events: none;
}

@keyframes pop-b-nmmochy0tw {
    to {
        transform: translate3d(var(--m3-x, 0), var(--m3-y, 0), 0) scale(0);
        opacity: 0;
    }
}

.t1[b-nmmochy0tw] {
    background: #c2a67d;
}

.t2[b-nmmochy0tw] {
    background: #7b9c89;
}

.t3[b-nmmochy0tw] {
    background: #a45b5b;
}

.t4[b-nmmochy0tw] {
    background: #5a7a8c;
}

.t5[b-nmmochy0tw] {
    background: #9c86ad;
}

.t6[b-nmmochy0tw] {
    background: #b07c4f;
}
/* /Components/Subcompnents/MemoryMatch.razor.rz.scp.css */
/* Parent wrapper must fill the available area */
.mm-wrap[b-1endhebjm7] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 0.5rem;
    box-sizing: border-box;
    gap: 0.8rem;
}

/* The BOARD fills all remaining space */
.mm-board[b-1endhebjm7] {
    flex: 1; /* grow to fill */
    min-height: 0; /* IMPORTANT: prevents flex overflow issues */
    display: grid;
    gap: 6px;
}

/* Each tile auto-sizes from the grid and stays square */
.mm-tile[b-1endhebjm7] {
    position: relative;
    aspect-ratio: 1; /* ensures perfect square tiles */
    background: #3a332c;
    border-radius: 8px;
    cursor: pointer;
    perspective: 900px;
}

.mm-inner[b-1endhebjm7] {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
    transition: transform 0.35s ease;
}

.mm-tile.flipped .mm-inner[b-1endhebjm7] {
    transform: rotateY(180deg);
}

.mm-front[b-1endhebjm7], .mm-back[b-1endhebjm7] {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Face-down tile */
.mm-front[b-1endhebjm7] {
    background: #2c2a28;
    border: 2px solid #8a775a;
}

/* Revealed tile */
.mm-back[b-1endhebjm7] {
    background: #e1d0a3;
    border: 2px solid #705d3d;
    transform: rotateY(180deg);
}

.mm-symbol[b-1endhebjm7] {
    font-size: clamp(16px, 3vw, 42px);
    font-family: "Cinzel", serif;
    color: #3b2a16;
}

/* Controls at the bottom */
.mm-controls[b-1endhebjm7] {
    text-align: center;
    color: #d9cda9;
    font-family: "Cinzel", serif;
}

.mm-btn[b-1endhebjm7] {
    background: #a68a52;
    border: none;
    padding: 0.5rem 1.2rem;
    border-radius: 6px;
    color: #fff;
    font-family: "Cinzel", serif;
    cursor: pointer;
}

.mm-img[b-1endhebjm7] {
    width: 70%;
    height: 70%;
    object-fit: contain;
    pointer-events: none;
}


.mm-btn:hover[b-1endhebjm7] {
    background: #c6a868;
}

.mm-info[b-1endhebjm7] {
    margin-top: 0.4rem;
}
/* /Components/Subcompnents/MiniGameGuidance.razor.rz.scp.css */
.mgg-backdrop[b-dn6aopp38k] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(5, 8, 7, 0.78);
    backdrop-filter: blur(4px) saturate(0.65);
    -webkit-backdrop-filter: blur(4px) saturate(0.65);
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
    font-family: "Special Elite", "Garamond", serif;
}

.mgg-panel[b-dn6aopp38k] {
    --mgg-brass: #c59a2b;
    --mgg-brass-deep: #9c7a1f;
    --mgg-cream: #f4f0e6;
    --mgg-bg: rgba(18, 11, 4, 0.97);

    background: var(--mgg-bg);
    border: 3px solid var(--mgg-brass);
    outline: 2px double var(--mgg-brass-deep);
    color: var(--mgg-cream);
    width: 100%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    container-type: inline-size;
}

@media (min-width: 576px) {
    .mgg-backdrop[b-dn6aopp38k] {
        align-items: center;
        padding: 2rem 1rem;
        box-sizing: border-box;
        overflow: visible;
    }

    .mgg-panel[b-dn6aopp38k] {
        height: auto;
        max-height: min(78vh, 680px);
        max-width: 780px;
        width: min(90vw, 780px);
        border-radius: 8px;
        box-shadow: 0 12px 48px rgba(0,0,0,0.75),
                    0 0 0 1px rgba(197,154,43,0.18),
                    inset 0 1px 0 rgba(244,240,230,0.04);
    }
}

.mgg-header[b-dn6aopp38k] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    padding: 0.55rem 3rem 0.55rem 0.75rem;
    border-bottom: 2px solid var(--mgg-brass-deep);
    background: rgba(0, 0, 0, 0.45);
    position: relative;
}

.mgg-title[b-dn6aopp38k] {
    font-size: min(5cqw, 1.1rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
}

.mgg-ornament[b-dn6aopp38k] {
    color: var(--mgg-brass);
    font-size: min(4cqw, 0.9rem);
}

.mgg-close[b-dn6aopp38k] {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--mgg-brass);
    font-size: 1.2rem;
    cursor: pointer;
    line-height: 1;
    padding: 0.25rem 0.5rem;
    transition: color 0.15s;
}

.mgg-close:hover[b-dn6aopp38k] {
    color: #fff;
}

.mgg-body[b-dn6aopp38k] {
    flex: 0 1 auto;
    max-height: calc(78vh - 7rem);
    overflow-y: auto;
    padding: min(4cqw, 1rem) min(4cqw, 1.1rem);
    scrollbar-width: thin;
    scrollbar-color: var(--mgg-brass) rgba(0, 0, 0, 0.3);
}

.mgg-text[b-dn6aopp38k] {
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.6;
    font-family: "Special Elite", "Garamond", serif;
    font-size: min(3.4cqw, 0.82rem);
    color: var(--mgg-cream);
    opacity: 0.9;
    margin: 0;
}

.mgg-footer[b-dn6aopp38k] {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    padding: 0.55rem;
    border-top: 2px solid var(--mgg-brass-deep);
    background: rgba(0, 0, 0, 0.35);
}

.mgg-close-btn[b-dn6aopp38k] {
    background: rgba(197, 154, 43, 0.15);
    border: 2px solid var(--mgg-brass);
    border-radius: 4px;
    color: var(--mgg-cream);
    font-family: inherit;
    font-size: min(3.5cqw, 0.85rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: min(1.5cqw, 0.35rem) min(6cqw, 1.5rem);
    cursor: pointer;
    transition: background 0.15s;
}

.mgg-close-btn:hover[b-dn6aopp38k] {
    background: rgba(197, 154, 43, 0.35);
}

@container (max-width: 400px) {
    .mgg-title[b-dn6aopp38k] {
        font-size: 0.9rem;
    }

    .mgg-text[b-dn6aopp38k] {
        font-size: 0.78rem;
    }
}
/* /Components/Subcompnents/NonogramGame.razor.rz.scp.css */
.ng-wrap[b-u27k496525] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: .34rem;
    padding: .4rem;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(9, 16, 20, .78), rgba(14, 11, 9, .72)),
        radial-gradient(circle at 50% 18%, rgba(200, 162, 74, .18), transparent 58%);
    color: #f5eed8;
    font-family: "Cinzel", "Georgia", serif;
}

.ng-header[b-u27k496525],
.ng-footer[b-u27k496525] {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .35rem;
    min-height: 1.72rem;
    padding: .2rem .32rem;
    border-radius: 6px;
    background: rgba(0, 0, 0, .26);
    box-shadow: inset 0 0 0 1px rgba(200, 162, 74, .28);
}

.ng-footer[b-u27k496525] {
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    font-size: clamp(.58rem, 2.3vw, .76rem);
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.ng-title[b-u27k496525] {
    font-size: clamp(.64rem, 2.6vw, .9rem);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.ng-status[b-u27k496525] {
    min-width: 0;
    font-size: clamp(.56rem, 2.35vw, .78rem);
    font-weight: 700;
    line-height: 1.05;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ng-action[b-u27k496525],
.ng-tool[b-u27k496525] {
    appearance: none;
    min-height: 1.3rem;
    padding: .12rem .34rem;
    border: 1px solid rgba(200, 162, 74, .62);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .22), rgba(0, 0, 0, .14));
    color: #f5eed8;
    cursor: pointer;
    font-family: inherit;
    font-size: clamp(.54rem, 2.15vw, .72rem);
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.ng-action:disabled[b-u27k496525] {
    cursor: default;
    opacity: .55;
}

.ng-action.subtle[b-u27k496525] {
    min-width: 3rem;
}

.ng-tool.active[b-u27k496525] {
    background: linear-gradient(180deg, #f6d77a, #b87924);
    border-color: rgba(255, 239, 176, .94);
    color: #171006;
}

.ng-board-wrap[b-u27k496525] {
    min-width: 0;
    min-height: 0;
    container-type: size;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.ng-board[b-u27k496525] {
    --ng-clue: clamp(2rem, 13vw, 3.05rem);
    --ng-cell: minmax(0, 1fr);
    display: grid;
    grid-template-columns: var(--ng-clue) repeat(6, var(--ng-cell));
    grid-template-rows: var(--ng-clue) repeat(6, var(--ng-cell));
    gap: .12rem;
    box-sizing: border-box;
    height: min(100%, 20.6rem);
    width: auto;
    max-width: min(100%, 20.6rem);
    aspect-ratio: 1;
    padding: .28rem;
    border-radius: 8px;
    background: rgba(0, 0, 0, .34);
    box-shadow:
        inset 0 0 0 1px rgba(200, 162, 74, .32),
        0 8px 20px rgba(0, 0, 0, .28);
}

@supports (width: 1cqw) {
    .ng-board[b-u27k496525] {
        height: min(100cqw, 100cqh, 20.6rem);
        width: min(100cqw, 100cqh, 20.6rem);
        max-width: none;
    }
}

.ng-corner[b-u27k496525],
.ng-row-clue[b-u27k496525],
.ng-col-clue[b-u27k496525] {
    min-width: 0;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    border: 1px solid rgba(200, 162, 74, .28);
    border-radius: 4px;
    background: rgba(245, 238, 216, .08);
    color: #f5eed8;
    font-size: clamp(.62rem, 2.75vw, .9rem);
    font-weight: 900;
    line-height: 1;
}

.ng-corner[b-u27k496525] {
    padding: .12rem;
    color: #d9bf72;
    font-size: clamp(.46rem, 1.9vw, .62rem);
    text-align: center;
    text-transform: uppercase;
    word-break: break-word;
}

.ng-col-clue[b-u27k496525] {
    flex-direction: column;
    padding: .1rem 0;
}

.ng-row-clue[b-u27k496525] {
    justify-content: flex-end;
    padding: 0 .22rem;
}

.ng-cell[b-u27k496525] {
    appearance: none;
    min-width: 0;
    min-height: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(200, 162, 74, .38);
    border-radius: 4px;
    background: linear-gradient(180deg, #273235, #141819);
    color: #f5eed8;
    cursor: pointer;
    font-family: inherit;
    font-size: clamp(.72rem, 4.2vw, 1.1rem);
    font-weight: 900;
    line-height: 1;
    transition: transform .08s ease, border-color .1s ease, background .12s ease;
}

.ng-cell:hover:not(:disabled)[b-u27k496525],
.ng-cell:focus-visible[b-u27k496525] {
    transform: translateY(-1px);
    border-color: rgba(245, 238, 216, .74);
}

.ng-cell:focus-visible[b-u27k496525] {
    outline: 2px solid rgba(245, 238, 216, .9);
    outline-offset: -3px;
}

.ng-cell.filled[b-u27k496525] {
    background:
        radial-gradient(circle at 28% 24%, #f2d09a 0%, #c27e2a 52%, #5b3412 100%);
    border-color: rgba(255, 239, 176, .92);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16);
}

.ng-cell.marked[b-u27k496525] {
    background: linear-gradient(180deg, #1c2426, #0b1011);
    color: #d7d0c2;
}

.ng-cell:disabled[b-u27k496525] {
    cursor: default;
}

@media (max-width: 350px) {
    .ng-wrap[b-u27k496525] {
        padding: .24rem;
        gap: .18rem;
    }

    .ng-header[b-u27k496525],
    .ng-footer[b-u27k496525] {
        min-height: 1.45rem;
        padding: .14rem .24rem;
        gap: .24rem;
    }

    .ng-board[b-u27k496525] {
        --ng-clue: clamp(1.62rem, 11vw, 2.25rem);
        gap: .08rem;
        padding: .18rem;
        max-width: min(100%, 19.2rem);
    }

    .ng-action[b-u27k496525],
    .ng-tool[b-u27k496525] {
        min-height: 1.12rem;
        padding-inline: .24rem;
    }
}
/* /Components/Subcompnents/NumberDarts.razor.rz.scp.css */
/* ============================================================
   NUMBER DARTS — WRAPPER
   ============================================================ */
.nd-wrap[b-v3s2hebikl] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 0.5rem 0.5rem 0.9rem;
    background: rgba(0, 0, 0, 0.45);
    border-radius: 0;
    border: 0;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.4), 0 10px 26px rgba(0,0,0,0.45);
    font-family: "Cinzel", serif;
    overflow: hidden;
}

/* ============================================================
   HEADER — TARGET
   ============================================================ */
.nd-header[b-v3s2hebikl] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    flex-shrink: 0;
}

.nd-label[b-v3s2hebikl] {
    font-size: clamp(0.55rem, 1.6vw, 0.85rem);
    letter-spacing: 0.2em;
    color: #d9b95b;
    text-transform: uppercase;
}

.nd-target-val[b-v3s2hebikl] {
    font-size: clamp(0.55rem, 1.6vw, 0.85rem);
    font-weight: 700;
    color: #f5e8c0;
    text-shadow: 0 0 10px #d9b95b, 0 2px 4px rgba(0,0,0,0.6);
    line-height: 1;
}

/* ============================================================
   BOARD — CIRCULAR DARTBOARD
   ============================================================ */
.nd-board-wrap[b-v3s2hebikl] {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
}

.nd-board[b-v3s2hebikl] {
    position: relative;
    aspect-ratio: 1;
    /* Height-driven: fills available flex space, width follows via aspect-ratio */
    height: 100%;
    width: auto;
    max-height: 340px;
    max-width: min(100%, 340px);
}

/* Decorative concentric rings */
.nd-ring[b-v3s2hebikl] {
    position: absolute;
    border-radius: 50%;
    border: 3px solid rgba(217, 185, 91, 0.55);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.nd-ring-outer[b-v3s2hebikl] {
    width: 90%;
    height: 90%;
    background: radial-gradient(circle at 50% 50%, #2a4a2a 0%, #1a3d1a 40%, #1b3a18 100%);
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}

.nd-ring-mid[b-v3s2hebikl] {
    width: 60%;
    height: 60%;
    background: radial-gradient(circle at 50% 50%, #6b1a1a 0%, #8b2020 60%, #7a1c1c 100%);
}

.nd-ring-inner[b-v3s2hebikl] {
    width: 34%;
    height: 34%;
    background: radial-gradient(circle at 50% 50%, #1a1a6b 0%, #20208b 60%, #1c1c7a 100%);
}

.nd-bullseye[b-v3s2hebikl] {
    position: absolute;
    width: 10%;
    height: 10%;
    background: radial-gradient(circle, #e8d46a, #b8920a);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 2px solid #f5e8c0;
    pointer-events: none;
    box-shadow: 0 0 8px #d9b95b;
}

/* ============================================================
   NUMBER BUTTONS
   ============================================================ */
.nd-num[b-v3s2hebikl] {
    position: absolute;
    transform: translate(-50%, -50%);
    width: clamp(1.6rem, 5vw, 2.4rem);
    height: clamp(1.6rem, 5vw, 2.4rem);
    border-radius: 50%;
    border: 2px solid rgba(217, 185, 91, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Cinzel", serif;
    font-weight: 700;
    font-size: clamp(0.55rem, 1.8vw, 0.9rem);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
    user-select: none;
    line-height: 1;
}

.nd-outer[b-v3s2hebikl] {
    background: rgba(40, 80, 40, 0.85);
    color: #c8e8a0;
}

.nd-mid[b-v3s2hebikl] {
    background: rgba(100, 25, 25, 0.85);
    color: #f0c0c0;
}

.nd-inner[b-v3s2hebikl] {
    background: rgba(25, 25, 100, 0.85);
    color: #b0c8ff;
}

.nd-num:hover:not(.nd-sel)[b-v3s2hebikl] {
    transform: translate(-50%, -50%) scale(1.2);
    box-shadow: 0 0 10px rgba(217, 185, 91, 0.8);
}

.nd-sel[b-v3s2hebikl] {
    transform: translate(-50%, -50%) scale(1.25);
    border-color: #f5e8c0;
    box-shadow: 0 0 14px #d9b95b, 0 0 6px rgba(255,255,255,0.5);
}

.nd-outer.nd-sel[b-v3s2hebikl]  { background: #3d8c3d; color: #fff; }
.nd-mid.nd-sel[b-v3s2hebikl]    { background: #c0302e; color: #fff; }
.nd-inner.nd-sel[b-v3s2hebikl]  { background: #2c2cc0; color: #fff; }

/* ============================================================
   FOOTER — RUNNING TOTAL & FEEDBACK
   ============================================================ */
.nd-footer[b-v3s2hebikl] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    flex-shrink: 0;
}

.nd-running[b-v3s2hebikl] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: clamp(0.8rem, 2.5vw, 1.2rem);
}

.nd-op[b-v3s2hebikl] {
    color: #d9b95b;
    font-weight: 700;
}

.nd-slot[b-v3s2hebikl] {
    min-width: clamp(1.4rem, 4vw, 2rem);
    text-align: center;
    padding: 0.1em 0.3em;
    border-radius: 6px;
    background: rgba(255,255,255,0.08);
    color: #888;
    transition: background 0.2s, color 0.2s;
}

.nd-slot-set[b-v3s2hebikl] {
    background: rgba(217, 185, 91, 0.2);
    color: #f5e8c0;
}

.nd-total[b-v3s2hebikl] {
    min-width: clamp(1.6rem, 4.5vw, 2.4rem);
    text-align: center;
    padding: 0.1em 0.3em;
    border-radius: 6px;
    background: rgba(255,255,255,0.08);
    color: #f5e8c0;
    font-weight: 700;
    font-size: clamp(0.9rem, 2.8vw, 1.4rem);
}

.nd-total.nd-match[b-v3s2hebikl] {
    color: #78e878;
    text-shadow: 0 0 10px #78e878;
}

.nd-feedback[b-v3s2hebikl] {
    font-size: clamp(0.55rem, 1.7vw, 0.82rem);
    letter-spacing: 0.05em;
    min-height: 1.2em;
}

.nd-hint[b-v3s2hebikl]  { color: #b8a060; }
.nd-win[b-v3s2hebikl]   { color: #78e878; font-weight: 700; text-shadow: 0 0 8px #78e878; }
.nd-miss[b-v3s2hebikl]  { color: #e87878; font-weight: 700; }

.nd-clear[b-v3s2hebikl] {
    padding: 0.2em 1.1em;
    font-family: "Cinzel", serif;
    font-size: clamp(0.55rem, 1.5vw, 0.75rem);
    background: rgba(100,50,20,0.6);
    color: #d9b95b;
    border: 1px solid #d9b95b;
    border-radius: 6px;
    cursor: pointer;
    letter-spacing: 0.1em;
    transition: background 0.15s;
}

.nd-clear:hover[b-v3s2hebikl] { background: rgba(140,70,30,0.8); }

/* ============================================================
   NARROW VIEWPORT  (≤ 540px, down to 350px)
   ============================================================ */
@media (max-width: 540px) {
    .nd-wrap[b-v3s2hebikl] {
        padding: 0.25rem 0.25rem 0.2rem;
        border-width: 4px;
        border-radius: 12px;
    }

    .nd-label[b-v3s2hebikl] {
        font-size: 0.55rem;
        letter-spacing: 0.12em;
    }

    .nd-target-val[b-v3s2hebikl] {
        font-size: 0.55rem;
    }

    .nd-num[b-v3s2hebikl] {
        width: clamp(1.25rem, 7.5vw, 1.7rem);
        height: clamp(1.25rem, 7.5vw, 1.7rem);
        font-size: clamp(0.45rem, 3vw, 0.7rem);
        border-width: 1px;
    }

    .nd-running[b-v3s2hebikl] {
        font-size: clamp(0.65rem, 4vw, 0.95rem);
        gap: 0.2rem;
    }

    .nd-slot[b-v3s2hebikl] {
        min-width: clamp(1rem, 5.5vw, 1.4rem);
        padding: 0.05em 0.2em;
    }

    .nd-total[b-v3s2hebikl] {
        font-size: clamp(0.75rem, 4.5vw, 1.05rem);
        min-width: clamp(1.1rem, 6vw, 1.6rem);
        padding: 0.05em 0.2em;
    }

    .nd-feedback[b-v3s2hebikl] {
        font-size: clamp(0.48rem, 3vw, 0.7rem);
        min-height: 1em;
    }

    .nd-clear[b-v3s2hebikl] {
        font-size: clamp(0.45rem, 2.8vw, 0.65rem);
        padding: 0.15em 0.7em;
    }
}
/* /Components/Subcompnents/PortraitPair.razor.rz.scp.css */
.portrait-pair[b-mci3q0jsv6] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    height: 100%;    
    gap: 0.5rem;
    text-align: center;
}

/* Portrait frames */
.portrait-frame[b-mci3q0jsv6] {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Images */
.portrait-frame img[b-mci3q0jsv6] {
    width: 80%;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
    border: 2px solid #2b2b2b;
}

.top-text[b-mci3q0jsv6] {
    font-size: clamp(0.6rem, 1.5vw + 0.5rem, 1.8rem);
    color: white;
    display: block;
    height: 120%;
}
.bottom-text[b-mci3q0jsv6] {
    font-size: clamp(0.6rem, 2.5vw + 0.5rem, 2.2rem);
    color: white;
}

/* Fade-in animation (right portrait + bottom text) */
.portrait-frame.right img[b-mci3q0jsv6],
.bottom-text.delayed[b-mci3q0jsv6] {
    opacity: 0;
    animation: fadeInPortrait-b-mci3q0jsv6 2s ease forwards;
    animation-delay: 2s;
}

@keyframes fadeInPortrait-b-mci3q0jsv6 {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
/* /Components/Subcompnents/Preloader.razor.rz.scp.css */
.preloader[b-4xkx5oysih] {
    width: 100%;
    height: 100vh;
    background: radial-gradient(circle, #1c1c1c, #0d0d0d);
    display: flex;
    align-items: center;
    justify-content: center;
}

.preloader-frame[b-4xkx5oysih] {
    padding: 32px 40px;
    border: 4px solid #d4b46d;
    border-radius: 8px;
    width: 300px;
    text-align: center;
    background: #1a1a1a;
    box-shadow: 0 0 20px rgba(0,0,0,0.6);
    position: relative;
}

.preloader-title[b-4xkx5oysih] {
    font-family: "Special Elite", serif;
    font-size: 1.2rem;
    letter-spacing: 3px;
    color: #f7e8c5;
    margin-bottom: 12px;
}

.preloader-subtitle[b-4xkx5oysih] {
    font-size: 0.9rem;
    color: #d4b46d;
    margin-bottom: 20px;
}

.preloader-bar[b-4xkx5oysih] {
    width: 100%;
    height: 14px;
    border: 2px solid #d4b46d;
    border-radius: 6px;
    padding: 2px;
    background: #2b2b2b;
}

.preloader-bar-fill[b-4xkx5oysih] {
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, #d4b46d, #f0d89c);
    border-radius: 4px;
    transition: width .3s ease-out;
}

.preloader-count[b-4xkx5oysih] {
    margin-top: 12px;
    font-size: 0.8rem;
    color: #e6d9b6;
    letter-spacing: 1px;
}

.preloader-ornament[b-4xkx5oysih] {
    height: 2px;
    width: 60%;
    background: #d4b46d;
    margin: 20px auto 0;
}
/* /Components/Subcompnents/Reversi.razor.rz.scp.css */
.rv-wrap[b-krwyrumh9c] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 0;
    border: 0;
    font-family: "Cinzel", "Georgia", serif;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

/* Board is a perfect 8×8 grid that eats most of the area */
.rv-board[b-krwyrumh9c] {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(8, 1fr);
    gap: 2px;
    background: #1f1a14;
    padding: 4px;
    box-sizing: border-box;
    border-radius: 10px;
    box-shadow: inset 0 0 12px rgba(0,0,0,0.5);
}

.rv-cell[b-krwyrumh9c] {
    position: relative;
    background: radial-gradient(circle at 30% 20%, #e8ddc3, #c7b38c);
    border-radius: clamp(0.2rem, 1.0vmin, 0.6rem);
    border: 1px solid #7c6440;
    cursor: pointer;
    padding: 0;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.12s ease, transform 0.08s ease, box-shadow 0.08s ease;
}

    .rv-cell:hover[b-krwyrumh9c] {
        background: radial-gradient(circle at 30% 20%, #f4ead1, #d0bc94);
        box-shadow: 0 0 6px rgba(0,0,0,0.4);
        transform: translateY(-1px);
    }

    .rv-cell.last[b-krwyrumh9c] {
        box-shadow: 0 0 10px rgba(217,185,91,0.9);
    }

/* Discs */
.rv-disc[b-krwyrumh9c] {
    width: 70%;
    height: 70%;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0,0,0,0.4), inset 0 1px 2px rgba(255,255,255,0.5);
    transform: scale(0.95);
    transition: transform 0.16s ease;
}

.rv-cell:hover .rv-disc[b-krwyrumh9c] {
    transform: scale(1.0);
}

.rv-white[b-krwyrumh9c] {
    background: radial-gradient(circle at 30% 20%, #ffffff, #d6d6d6);
    border: 2px solid #b2b2b2;
}

.rv-black[b-krwyrumh9c] {
    background: radial-gradient(circle at 30% 20%, #4b3c32, #150f0c);
    border: 2px solid #0a0604;
}

/* Footer bar */
.rv-footer[b-krwyrumh9c] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-top: 1px;
    font-size: clamp(0.4rem, 2.4vmin, 1rem);
}

.rv-status[b-krwyrumh9c] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.rv-label[b-krwyrumh9c] {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75em;
    opacity: 0.8;
    color: white;
}

.rv-score[b-krwyrumh9c] {
    font-weight: 700;
    color: white;
}

.rv-turn[b-krwyrumh9c] {
    flex: 1;
    text-align: center;
    color: white;
}

/* Button */
.rv-btn[b-krwyrumh9c] {
    flex: 0 0 auto;
    padding: 0.35rem 0.7rem;
    font-size: inherit;
    border-radius: 8px;
    border: 2px solid #6e5730;
    background: #d7c29b;
    box-shadow: 0 3px 6px rgba(0,0,0,0.35);
    cursor: pointer;
    font-family: "Cinzel", serif;
}

    .rv-btn:active[b-krwyrumh9c] {
        transform: scale(0.96);
    }

/* Start overlay button */
.rv-start[b-krwyrumh9c] {
    margin: auto;
    padding: 0.8rem 1.2rem;
    font-size: clamp(1rem, 4vmin, 1.6rem);
    border-radius: 10px;
    border: 3px solid #6e5730;
    background: radial-gradient(circle at 30% 20%, #e5d3aa, #c2a46c);
    box-shadow: 0 6px 12px rgba(0,0,0,0.4);
    cursor: pointer;
    font-family: "Cinzel", serif;
}
/* /Components/Subcompnents/SleuthLeaderboard.razor.rz.scp.css */
/* ─── Sleuth Leaderboard ───────────────────────────────────────────────────── */

.sleuth-lb[b-6i40iofe79] {
    position: absolute;
    inset: 0;
    z-index: 50;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.035) 0 12%, transparent 12% 24%, rgba(255,255,255,0.025) 24% 36%, transparent 36% 48%),
        radial-gradient(circle at 50% 10%, rgba(47,35,23,0.98), rgba(13,16,22,0.98));
    border: 3px solid #c59a2b;
    outline: 2px double #9c7a1f;
    color: #f4f0e6;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: "Special Elite", "Garamond", serif;
}

.sleuth-lb[b-6i40iofe79]::before {
    content: "";
    position: absolute;
    inset: 0.35rem;
    border: 1px solid rgba(197,154,43,0.38);
    pointer-events: none;
}

/* ─── Header ──────────────────────────────────────────────────────────────── */
.slb-header[b-6i40iofe79] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.4rem 2.5rem 0.4rem 0.75rem;
    font-size: min(4cqw, 1rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
    border-bottom: 2px solid #9c7a1f;
    background: linear-gradient(90deg, rgba(0,0,0,0.55), rgba(76,20,23,0.42), rgba(0,0,0,0.55));
    position: relative;
    z-index: 1;
}

.slb-close[b-6i40iofe79] {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #c59a2b;
    font-size: 1.1rem;
    cursor: pointer;
    line-height: 1;
    padding: 0.2rem 0.4rem;
}

.slb-close:hover[b-6i40iofe79] {
    color: #fff;
}

.slb-tabs[b-6i40iofe79] {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem;
    padding: 0.45rem 0.75rem 0.2rem;
    position: relative;
    z-index: 1;
}

.slb-tab[b-6i40iofe79] {
    min-height: 2rem;
    background: rgba(244,240,230,0.08);
    border: 1px solid rgba(197,154,43,0.52);
    color: #d9cda6;
    font: inherit;
    font-size: min(3.4cqw, 0.82rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.slb-tab.active[b-6i40iofe79] {
    background: linear-gradient(180deg, rgba(197,154,43,0.26), rgba(76,20,23,0.34));
    color: #ffffff;
    border-color: #c59a2b;
    box-shadow: inset 0 -2px 0 #c59a2b;
}

.slb-tab:hover[b-6i40iofe79] {
    border-color: #f4f0e6;
}

/* ─── Empty state ─────────────────────────────────────────────────────────── */
.slb-empty[b-6i40iofe79] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    font-size: min(3.5cqw, 0.85rem);
    opacity: 0.7;
    text-align: center;
}

/* ─── Row list ────────────────────────────────────────────────────────────── */
.slb-list[b-6i40iofe79] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    scrollbar-width: thin;
    scrollbar-color: #c59a2b rgba(0,0,0,0.3);
    position: relative;
    z-index: 1;
}

.slb-list[b-6i40iofe79]::-webkit-scrollbar {
    width: 6px;
}

.slb-list[b-6i40iofe79]::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.3);
}

.slb-list[b-6i40iofe79]::-webkit-scrollbar-thumb {
    background-color: #c59a2b;
    border-radius: 3px;
}

.slb-row[b-6i40iofe79] {
    display: grid;
    grid-template-columns: 2rem 2.2rem 1fr auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.5rem;
    border-radius: 4px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(197,154,43,0.2);
    font-size: min(3.5cqw, 0.85rem);
}

.slb-row.slb-leader[b-6i40iofe79] {
    background: rgba(197,154,43,0.18);
    border-color: #c59a2b;
}

.slb-row.slb-you[b-6i40iofe79] {
    border-color: #4fc3f7;
}

.slb-rank[b-6i40iofe79] {
    text-align: center;
    font-weight: 700;
    color: #c59a2b;
    font-size: min(3cqw, 0.8rem);
}

.slb-portrait[b-6i40iofe79] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 1px solid #c59a2b;
}

.slb-name[b-6i40iofe79] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.slb-you-tag[b-6i40iofe79] {
    font-size: 0.7em;
    opacity: 0.6;
    margin-left: 0.3em;
}

.slb-score[b-6i40iofe79] {
    font-size: min(4.5cqw, 1.1rem);
    font-weight: 700;
    color: #c59a2b;
    text-align: right;
    min-width: 1.5rem;
}

.slb-shield[b-6i40iofe79] {
    color: #c59a2b;
    margin-left: 0.25rem;
}

.slb-games-list[b-6i40iofe79] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0.75rem 0.75rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    align-content: start;
    gap: 0.45rem;
    scrollbar-width: thin;
    scrollbar-color: #c59a2b rgba(0,0,0,0.3);
    position: relative;
    z-index: 1;
}

.slb-game-card[b-6i40iofe79] {
    min-height: 4.4rem;
    display: grid;
    grid-template-columns: 3.3rem 1fr auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.45rem;
    background:
        linear-gradient(90deg, rgba(244,240,230,0.08), rgba(244,240,230,0.03)),
        rgba(0,0,0,0.28);
    border: 1px solid rgba(197,154,43,0.32);
    border-left: 4px solid rgba(197,154,43,0.58);
    position: relative;
    overflow: hidden;
}

.slb-game-card.complete[b-6i40iofe79] {
    border-left-color: #74b28d;
    background:
        linear-gradient(90deg, rgba(116,178,141,0.16), rgba(244,240,230,0.035)),
        rgba(0,0,0,0.28);
}

.slb-game-card.current:not(.complete)[b-6i40iofe79] {
    border-left-color: #d8c36d;
}

.slb-room-image[b-6i40iofe79] {
    width: 3.3rem;
    height: 3.3rem;
    object-fit: cover;
    border: 1px solid rgba(197,154,43,0.72);
    filter: sepia(0.18) contrast(1.04);
}

.slb-game-meta[b-6i40iofe79] {
    min-width: 0;
}

.slb-game-name[b-6i40iofe79] {
    color: #ffffff;
    font-size: min(3.7cqw, 0.9rem);
    font-weight: 700;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.slb-room-name[b-6i40iofe79] {
    margin-top: 0.18rem;
    color: #d9cda6;
    font-size: min(3cqw, 0.72rem);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.slb-stamp[b-6i40iofe79] {
    justify-self: end;
    min-width: 3.4rem;
    padding: 0.16rem 0.28rem;
    transform: rotate(-7deg);
    border: 2px solid #74b28d;
    color: #9ee0b8;
    background: rgba(8,35,22,0.46);
    font-size: min(2.8cqw, 0.68rem);
    font-weight: 700;
    letter-spacing: 0.09em;
    text-align: center;
    text-transform: uppercase;
}

.slb-room-tag[b-6i40iofe79] {
    justify-self: end;
    padding: 0.16rem 0.32rem;
    border: 1px solid #d8c36d;
    color: #fff2a8;
    background: rgba(85,67,23,0.32);
    font-size: min(2.8cqw, 0.66rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
/* /Components/Subcompnents/Sudoku.razor.rz.scp.css */
/* Root wrapper */
.sdk-wrap[b-dkgcfs5wox] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: 0.5rem;
    background: rgba(242, 231, 210, 0.2);
    border-radius: 12px;
    font-family: "Cinzel", serif;
}

/* Sudoku grid */
.sdk-board[b-dkgcfs5wox] {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    grid-template-rows: repeat(9, 1fr);
    gap: 2px;
    background: #2b2b2b;
    padding: 4px;
    box-sizing: border-box;
}

/* Base cell */
.sdk-cell[b-dkgcfs5wox] {
    width: 100%;
    height: 100%;
    background: #efe6cf;
    color: #2b2b2b;
    font-size: clamp(0.85rem, 4vmin, 2rem);
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    user-select: none;
    border: 1px solid #6e5730;
    position: relative;
    transition: background 0.12s ease;
}

    /* Cell states */
    .sdk-cell.fixed[b-dkgcfs5wox] {
        background: #d4c19a;
        cursor: default;
    }

    .sdk-cell.selected[b-dkgcfs5wox] {
        background: #d9b95b;
    }

    /* Thick borders every 3 columns */
    .sdk-cell:nth-child(3n + 1)[b-dkgcfs5wox] {
        border-left: 4px solid #6e5730;
    }

    .sdk-cell:nth-child(3n)[b-dkgcfs5wox] {
        border-right: 4px solid #6e5730;
    }

    /* Thick borders every 3 rows */
    .sdk-cell:nth-child(n + 1):nth-child(-n + 9)[b-dkgcfs5wox],
    .sdk-cell:nth-child(n + 28):nth-child(-n + 36)[b-dkgcfs5wox],
    .sdk-cell:nth-child(n + 55):nth-child(-n + 63)[b-dkgcfs5wox] {
        border-top: 4px solid #6e5730;
    }

    .sdk-cell:nth-child(n + 19):nth-child(-n + 27)[b-dkgcfs5wox],
    .sdk-cell:nth-child(n + 46):nth-child(-n + 54)[b-dkgcfs5wox],
    .sdk-cell:nth-child(n + 73):nth-child(-n + 81)[b-dkgcfs5wox] {
        border-bottom: 4px solid #6e5730;
    }

/* Number pad */
.sdk-pad[b-dkgcfs5wox] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: center;
    padding-top: 0.6rem;
}

/* Pad buttons */
.sdk-btn[b-dkgcfs5wox] {
    flex: 1 1 calc(33% - 0.4rem);
    max-width: 120px;
    aspect-ratio: 1 / 1;
    background: radial-gradient(circle at 40% 35%, #d9b95b, #b28a3d);
    border: 3px solid #6b5023;
    border-radius: 12px;
    font-size: clamp(1.2rem, 5vmin, 2.4rem);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    user-select: none;
    box-shadow: 0 6px 12px rgba(0,0,0,0.25);
    transition: transform 0.12s ease;
}

    .sdk-btn:active[b-dkgcfs5wox] {
        transform: scale(0.92);
    }

/* Completion message */
.sdk-complete[b-dkgcfs5wox] {
    margin-top: auto;
    font-size: clamp(1.4rem, 6vmin, 2.6rem);
    text-align: center;
    opacity: 0.75;
}

/* Bottom number bar */
.sdk-numbers[b-dkgcfs5wox] {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.3rem;
    padding-top: 1px;
    box-sizing: border-box;
}

/* Number buttons */
.sdk-num[b-dkgcfs5wox] {
    flex: 1 1 calc(20% - 0.4rem);
    max-width: 90px;
    min-width: 22px;
    aspect-ratio: 1 / 1;
    background: radial-gradient(circle at 40% 30%, #d9b95b, #a88235);
    border: 3px solid #6b5023;
    border-radius: 10px;
    font-size: clamp(0.95rem, 4vmin, 2.2rem);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    user-select: none;
    font-family: "Cinzel", serif;
    color: #2b251c;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25), inset 0 1px 2px rgba(255,255,255,0.5);
    transition: transform 0.1s ease;
}

    .sdk-num:active[b-dkgcfs5wox] {
        transform: scale(0.92);
    }

    /* Erase button */
    .sdk-num.erase[b-dkgcfs5wox] {
        background: radial-gradient(circle, #b14a4a, #7a2e2e);
        border-color: #5a1c1c;
        color: #f5e9d8;
    }

/* Responsive tweaks */
@media (max-width: 400px) {
    .sdk-board[b-dkgcfs5wox] {
        gap: 1px;
    }
}

@media (min-width: 600px) {
    .sdk-num[b-dkgcfs5wox] {
        flex: 1 1 calc(10% - 0.4rem);
    }
}
/* /Components/Subcompnents/TileSlider2048.razor.rz.scp.css */
.ts-wrap[b-yd4sh5bw11] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    gap: .34rem;
    padding: .42rem;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(24, 27, 25, .82), rgba(15, 13, 10, .76)),
        radial-gradient(circle at 50% 16%, rgba(86, 142, 134, .22), transparent 56%);
    color: #f5eed8;
    font-family: "Cinzel", "Georgia", serif;
}

.ts-header[b-yd4sh5bw11] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .35rem;
    min-height: 1.85rem;
    padding: .22rem .32rem;
    border-radius: 6px;
    background: rgba(0, 0, 0, .28);
    box-shadow: inset 0 0 0 1px rgba(200, 162, 74, .28);
}

.ts-title[b-yd4sh5bw11] {
    font-size: clamp(.78rem, 3vw, 1rem);
    font-weight: 900;
    line-height: 1;
}

.ts-score[b-yd4sh5bw11] {
    justify-self: center;
    min-width: 3.5rem;
    padding: .18rem .4rem;
    border-radius: 5px;
    background: rgba(245, 238, 216, .14);
    color: #f8e6ad;
    font-size: clamp(.68rem, 2.55vw, .86rem);
    font-weight: 900;
    line-height: 1;
    text-align: center;
}

.ts-action[b-yd4sh5bw11],
.ts-move[b-yd4sh5bw11] {
    appearance: none;
    border: 1px solid rgba(200, 162, 74, .62);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .24), rgba(0, 0, 0, .14));
    color: #f5eed8;
    cursor: pointer;
    font-family: inherit;
    font-weight: 900;
    line-height: 1;
}

.ts-action[b-yd4sh5bw11] {
    min-height: 1.32rem;
    padding: .12rem .34rem;
    font-size: clamp(.54rem, 2.25vw, .72rem);
    text-transform: uppercase;
}

.ts-board-frame[b-yd4sh5bw11] {
    min-height: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ts-board[b-yd4sh5bw11] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(0, 1fr));
    gap: .28rem;
    width: auto;
    height: min(100%, 16rem);
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: 1;
    padding: .34rem;
    border-radius: 8px;
    background: rgba(0, 0, 0, .34);
    box-shadow:
        inset 0 0 0 1px rgba(200, 162, 74, .32),
        0 8px 20px rgba(0, 0, 0, .28);
}

.ts-cell[b-yd4sh5bw11] {
    min-width: 0;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1px solid rgba(200, 162, 74, .34);
    background: linear-gradient(180deg, #273235, #141819);
    color: #f5eed8;
    font-size: clamp(.82rem, 6.2vw, 1.7rem);
    font-weight: 900;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.ts-cell span[b-yd4sh5bw11] {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    line-height: .9;
    text-align: center;
}

.ts-cell.value-2[b-yd4sh5bw11] { background: radial-gradient(circle at 28% 24%, #fff8ea 0%, #d7d0c2 54%, #7f786b 100%); color: #17130d; }
.ts-cell.value-4[b-yd4sh5bw11] { background: radial-gradient(circle at 28% 24%, #b7cde0 0%, #416489 54%, #0f1e2a 100%); color: #fff4d8; }
.ts-cell.value-8[b-yd4sh5bw11] { background: radial-gradient(circle at 28% 24%, #f2d09a 0%, #c27e2a 54%, #5b3412 100%); color: #140d05; }
.ts-cell.value-16[b-yd4sh5bw11] { background: radial-gradient(circle at 28% 24%, #b9d9b1 0%, #4f8b59 54%, #1a2f1c 100%); color: #f7f1df; }
.ts-cell.value-32[b-yd4sh5bw11] { background: radial-gradient(circle at 28% 24%, #e2a09a 0%, #b2453b 54%, #4a1714 100%); color: #fff4d8; }
.ts-cell.value-64[b-yd4sh5bw11] { background: radial-gradient(circle at 28% 24%, #dcc5ea 0%, #6e4197 54%, #261235 100%); color: #fff4d8; }
.ts-cell.value-128[b-yd4sh5bw11] { background: linear-gradient(135deg, #8ec5fc, #5a8fbf); color: #0e1820; font-size: clamp(.68rem, 5.4vw, 1.32rem); }
.ts-cell.value-256[b-yd4sh5bw11] { background: linear-gradient(135deg, #f9e4b7, #d4b870); color: #17130d; font-size: clamp(.68rem, 5.4vw, 1.32rem); }
.ts-cell.value-512[b-yd4sh5bw11] { background: linear-gradient(135deg, #f8b6b2, #d87872); color: #2a0d0a; font-size: clamp(.68rem, 5.4vw, 1.32rem); }
.ts-cell.value-1024[b-yd4sh5bw11] { background: linear-gradient(135deg, #b3e6c4, #6fa984); color: #102016; font-size: clamp(.58rem, 4.8vw, 1.08rem); }
.ts-cell.value-2048[b-yd4sh5bw11] { background: linear-gradient(135deg, #d3c1f4, #9a86ce); color: #160f25; font-size: clamp(.58rem, 4.8vw, 1.08rem); box-shadow: 0 0 16px rgba(211, 193, 244, .45); }
.ts-cell.value-4096[b-yd4sh5bw11] { background: linear-gradient(135deg, #f5d19b, #c98a42); color: #170d05; font-size: clamp(.58rem, 4.8vw, 1.08rem); }
.ts-cell.value-8192[b-yd4sh5bw11] { background: radial-gradient(circle at 28% 24%, #f5d48a 0%, #a47a2a 54%, #2a2014 100%); color: #fff8ea; font-size: clamp(.58rem, 4.8vw, 1.08rem); }

.ts-controls[b-yd4sh5bw11] {
    justify-self: center;
    --ts-pad: clamp(2.02rem, 10.4vw, 2.55rem);
    width: calc((var(--ts-pad) * 3) + .28rem);
    display: grid;
    grid-template-columns: repeat(3, var(--ts-pad));
    grid-template-rows: repeat(3, var(--ts-pad));
    gap: .14rem;
    padding: .18rem;
    border-radius: 8px;
    background: rgba(0, 0, 0, .22);
    box-shadow: inset 0 0 0 1px rgba(200, 162, 74, .22);
}

.ts-move[b-yd4sh5bw11] {
    width: var(--ts-pad);
    height: var(--ts-pad);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(245, 238, 216, .34), rgba(200, 162, 74, .13)),
        linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .28));
    color: #f8e6ad;
    font-size: clamp(.78rem, 3.2vw, 1.05rem);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        0 2px 5px rgba(0, 0, 0, .28);
}

.ts-move.up[b-yd4sh5bw11] {
    grid-column: 2;
    grid-row: 1;
}

.ts-move.left[b-yd4sh5bw11] {
    grid-column: 1;
    grid-row: 2;
}

.ts-move.right[b-yd4sh5bw11] {
    grid-column: 3;
    grid-row: 2;
}

.ts-move.down[b-yd4sh5bw11] {
    grid-column: 2;
    grid-row: 3;
}

.ts-pad-center[b-yd4sh5bw11] {
    grid-column: 2;
    grid-row: 2;
    width: var(--ts-pad);
    height: var(--ts-pad);
    border-radius: 7px;
    background: rgba(245, 238, 216, .08);
    box-shadow: inset 0 0 0 1px rgba(200, 162, 74, .18);
}

.ts-status[b-yd4sh5bw11] {
    min-height: 1rem;
    overflow: hidden;
    color: #efe6cf;
    font-size: clamp(.6rem, 2.45vw, .78rem);
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ts-wrap:focus-visible[b-yd4sh5bw11],
.ts-action:focus-visible[b-yd4sh5bw11],
.ts-move:focus-visible[b-yd4sh5bw11] {
    outline: 2px solid rgba(245, 238, 216, .9);
    outline-offset: -2px;
}

@media (max-width: 350px) {
    .ts-wrap[b-yd4sh5bw11] {
        padding: .32rem;
        gap: .28rem;
    }

    .ts-board[b-yd4sh5bw11] {
        gap: .2rem;
        padding: .24rem;
        height: min(100%, 13.5rem);
    }

    .ts-controls[b-yd4sh5bw11] {
        --ts-pad: 1.9rem;
        gap: .12rem;
        padding: .14rem;
    }
}
/* /Components/Subcompnents/Tutorial.razor.rz.scp.css */


.tutorial-message[b-bg91i1t9y8] {
    position: fixed;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255,255,255,0.85);
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.25);
    z-index: 900000;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 80vw;
    height: 120px;
    pointer-events: auto; /* allow clicking continue */
    width: 90vw;
}

/* Butler portrait image */
.tutorial-butler[b-bg91i1t9y8] {
    height: 90%;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #d4af37;
    box-shadow: 0 0 8px rgba(255,215,0,0.6);
}

.tutorial-text[b-bg91i1t9y8] {
    white-space: pre-wrap; /* so line breaks show */
    min-height: 1.3em; /* prevents layout jumping during typing */
    max-height: 100px;
    overflow-y: auto;
}

    /* =============== 1930s ART-DECO SCROLLBAR =============== */

    .tutorial-text[b-bg91i1t9y8]::-webkit-scrollbar {
        width: 10px;
    }

    .tutorial-text[b-bg91i1t9y8]::-webkit-scrollbar-track {
        background: #1c1c1c; /* deep black track */
        border-radius: 6px;
        border: 2px solid #d4af37; /* gold edging */
        box-shadow: inset 0 0 6px rgba(0,0,0,0.6);
    }

    .tutorial-text[b-bg91i1t9y8]::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, #d4af37 0%, #b8922c 100%); /* gold bar */
        border-radius: 6px;
        border: 1px solid #fff3b0; /* subtle pale-gold highlight */
        box-shadow: inset 0 0 4px rgba(0,0,0,0.4), 0 0 4px rgba(255,215,0,0.5); /* glow like your highlight frame */
    }

        /* Optional Deco chevron motif on the thumb */
        .tutorial-text[b-bg91i1t9y8]::-webkit-scrollbar-thumb:vertical {
            background-image: repeating-linear-gradient( 45deg, rgba(255,255,255,0.15) 0, rgba(255,255,255,0.15) 2px, transparent 2px, transparent 6px );
        }

        .tutorial-text[b-bg91i1t9y8]::-webkit-scrollbar-thumb:hover {
            background: linear-gradient(180deg, #e6c665, #c09a34);
            cursor: pointer;
        }

/* Firefox support */
.tutorial-text[b-bg91i1t9y8] {
    scrollbar-width: thin;
    scrollbar-color: #d4af37 #1c1c1c;
}
/* /Components/Subcompnents/Typewriter.razor.rz.scp.css */
.chat-host[b-eswyd8vdvc] {
    box-sizing: border-box;
    background-color: #f4f0e6;
    border: 2px solid #2b2b2b;
    border-radius: 10px;
    margin-bottom: 1rem;
    padding: 0.5rem;
}

.chat-wrapper[b-eswyd8vdvc] {
    height: 130px;
    overflow: auto;
    position: relative; /* new */
    isolation: isolate; /* keeps z-layers clean */
    clip-path: inset(1 round 9px); /* 👈 clips everything (scrollbars too) inside the radius */

    scrollbar-width: thin;
    scrollbar-color: #6b5b4b #f4f0e6;
    scrollbar-gutter: stable both-edges;
}

/* Chrome / Edge / Safari */
.chat-wrapper[b-eswyd8vdvc]::-webkit-scrollbar {
    width: 10px; /* vertical bar width */
    height: 10px; /* horizontal bar height */
}

/* Track (background of scrollbar) */
.chat-wrapper[b-eswyd8vdvc]::-webkit-scrollbar-track {
    background: #f4f0e6;
    border-left: 1px solid #b2a58b;
    border-top: 1px solid #b2a58b;
    border-radius: 8px;
    box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.1);
    /* 👇 These pull the bars inward inside your border */
    margin-right: 6px;
    margin-bottom: 6px;
}

/* Scroll thumb (the draggable part) */
.chat-wrapper[b-eswyd8vdvc]::-webkit-scrollbar-thumb {
    background-color: #6b5b4b; /* dark brass tone */
    border-radius: 6px;
    border: 2px solid #f4f0e6; /* inset edge to match paper */
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
}

.chat-wrapper[b-eswyd8vdvc]::-webkit-scrollbar-thumb:hover {
    background-color: #4d4034;
}

.chat-panel[b-eswyd8vdvc] {
    width: 100%;
    white-space: pre-wrap;
    word-wrap: break-word;
}


.typewriter-text[b-eswyd8vdvc] {
    animation: scroll-up 0.4s ease-out;
    font-family: "Special Elite", system-ui;
    margin: 0;
    transition: transform 0.4s ease-out;
    white-space: pre-wrap;
    word-break: break-word;
    /*padding-left: 0.5em;*/ /* optional small left padding for all lines */
    /*text-indent: -0.5em;*/ /* pull first line back to cancel padding */
}

.col-content .typewriter-paper[b-eswyd8vdvc] {
    text-align: left;
}

.typewriter-text[b-eswyd8vdvc] {

}


.cursor[b-eswyd8vdvc] {
    color: #000;
    display: inline-block;
    width: 1ch;
}
/* /Components/Subcompnents/WaterSort.razor.rz.scp.css */
/* Root wrapper fills the parent */
.ws-wrap[b-1jbatrzaqf] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    background: radial-gradient(circle at top, #f8f2e2 0%, #ded2b4 40%, #b09b76 100%);
    border-radius: 0;
    border: 0;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.25);
    padding: 0.6rem;
    font-family: "Cinzel", "Georgia", serif;
}

/* Board: row of tubes */
.ws-board[b-1jbatrzaqf] {
    flex: 1;
    min-height: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 0.8rem;
    padding: 0.4rem;
    box-sizing: border-box;
}

/* Each tube – glass cylinder */
.ws-tube[b-1jbatrzaqf] {
    position: relative;
    width: min(64px, 10vw);
    height: 80%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    padding: 4px;
    box-sizing: border-box;
    border-radius: 0 0 18px 18px;
    border: 2px solid rgba(40, 32, 24, 0.65);
    /* glass shine */
    background: linear-gradient(to bottom, rgba(255,255,255,0.7), rgba(180,160,130,0.35));
    box-shadow: inset 0 0 6px rgba(255,255,255,0.9), 0 6px 12px rgba(0,0,0,0.4);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

    .ws-tube[b-1jbatrzaqf]::before {
        content: "";
        position: absolute;
        top: 2px;
        left: 10%;
        right: 55%;
        height: 16%;
        border-radius: 999px;
        
        background: linear-gradient(to bottom, rgba(255,255,255,0.9), rgba(255,255,255,0));
        opacity: 0.7;
        pointer-events: none;
    }

    /* Selected tube highlight */
    .ws-tube.selected[b-1jbatrzaqf] {
        transform: translateY(-6px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.55), 0 0 16px rgba(230, 195, 105, 0.9);
        border-color: #d9b95b;
    }

/* Water segments */
.ws-segment[b-1jbatrzaqf] {
    flex: 1 1 auto;
    
    transition: transform 0.18s ease, opacity 0.18s ease;
    /* ensure gradients are vertical (tube-like) */
    background-size: 100% 100%;
}

/* Empty space in tube */
.ws-empty[b-1jbatrzaqf] {
    background: transparent;
    box-shadow: none;
    opacity: 0.2;
}

/* The bottom-most filled segment gets rounded bottom corners */
.ws-tube .ws-segment:first-child:not(.ws-empty)[b-1jbatrzaqf] {
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
}

/* Color palette with vertical gradients */
.ws-color-1[b-1jbatrzaqf] {
    background: linear-gradient(to left, #8ec5fc, #5a8fbf);
    
}

.ws-color-2[b-1jbatrzaqf] {
    background: linear-gradient(to left, #f9e4b7, #d4b870);
}

.ws-color-3[b-1jbatrzaqf] {
    background: linear-gradient(to left, #f8b6b2, #d87872);
}

.ws-color-4[b-1jbatrzaqf] {
    background: linear-gradient(to left, #b3e6c4, #6fa984);
}

.ws-color-5[b-1jbatrzaqf] {
    background: linear-gradient(to left, #d3c1f4, #9a86ce);
}

.ws-color-6[b-1jbatrzaqf] {
    background: linear-gradient(to top, #f5d19b, #c98a42);
}

/* small hover effect on desktop */
.ws-tube:hover[b-1jbatrzaqf] {
    transform: translateY(-3px);
}
/* /Components/Subcompnents/WordleGame.razor.rz.scp.css */
.wl-wrap[b-lt5ddfiw8q] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: .35rem;
    padding: .4rem;
    background: rgba(0, 0, 0, .44);
    border: 0;
    border-radius: 0;
    color: #f5eed8;
    font-family: "Cinzel", "Georgia", serif;
    overflow: hidden;
}

.wl-header[b-lt5ddfiw8q] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .35rem;
    min-height: 1.85rem;
    padding: .22rem .32rem;
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(0, 0, 0, .34), rgba(0, 0, 0, .18));
    box-shadow: inset 0 0 0 1px rgba(200, 162, 74, .32);
}

.wl-title[b-lt5ddfiw8q] {
    font-size: clamp(.64rem, 2.65vw, .9rem);
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.wl-status[b-lt5ddfiw8q] {
    min-width: 0;
    font-size: clamp(.58rem, 2.45vw, .8rem);
    line-height: 1.05;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wl-new[b-lt5ddfiw8q] {
    appearance: none;
    min-height: 1.32rem;
    padding: .12rem .34rem;
    border: 1px solid rgba(200, 162, 74, .62);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .2), rgba(0, 0, 0, .18));
    color: #f5eed8;
    cursor: pointer;
    font-family: inherit;
    font-size: clamp(.54rem, 2.25vw, .72rem);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.wl-board-frame[b-lt5ddfiw8q] {
    min-height: 0;
    width: 100%;
    height: 100%;
    container-type: size;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wl-board[b-lt5ddfiw8q] {
    flex: 0 0 auto;
    min-height: 0;
    width: auto;
    height: min(100%, 22.8rem);
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: 5 / 6;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-template-rows: repeat(6, minmax(0, 1fr));
    gap: .22rem;
}

.wl-cell[b-lt5ddfiw8q] {
    min-width: 0;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(200, 162, 74, .48);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .12), rgba(0, 0, 0, .2));
    color: #f5eed8;
    font-size: clamp(1rem, 6.8vw, 1.8rem);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}

.wl-cell.correct[b-lt5ddfiw8q],
.wl-key.correct[b-lt5ddfiw8q] {
    background: linear-gradient(180deg, #507947, #2f5130);
    border-color: rgba(245, 238, 216, .46);
    color: #f7f1df;
}

.wl-cell.present[b-lt5ddfiw8q],
.wl-key.present[b-lt5ddfiw8q] {
    background: linear-gradient(180deg, #c8a24a, #7d5a1f);
    border-color: rgba(245, 238, 216, .46);
    color: #110c05;
}

.wl-cell.absent[b-lt5ddfiw8q],
.wl-key.absent[b-lt5ddfiw8q] {
    background: linear-gradient(180deg, #4d4b48, #292725);
    border-color: rgba(245, 238, 216, .22);
    color: #efe6cf;
}

.wl-keyboard[b-lt5ddfiw8q] {
    width: 100%;
    min-height: 0;
    display: grid;
    gap: .22rem;
}

.wl-key-row[b-lt5ddfiw8q] {
    width: 100%;
    display: flex;
    justify-content: stretch;
    gap: .16rem;
}

.wl-key[b-lt5ddfiw8q] {
    appearance: none;
    flex: 1 1 0;
    min-width: 0;
    height: clamp(2rem, 9.4vw, 2.85rem);
    padding: 0 .08rem;
    border: 1px solid rgba(200, 162, 74, .52);
    border-radius: 5px;
    background: linear-gradient(180deg, rgba(245, 238, 216, .88), rgba(201, 185, 145, .9));
    color: #140f09;
    cursor: pointer;
    font-family: inherit;
    font-size: clamp(.62rem, 2.75vw, .84rem);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .24);
}

.wl-key.wide[b-lt5ddfiw8q] {
    flex-grow: 1.65;
    font-size: clamp(.52rem, 2.35vw, .76rem);
}

.wl-key:disabled[b-lt5ddfiw8q] {
    cursor: default;
}

.wl-key:focus-visible[b-lt5ddfiw8q],
.wl-new:focus-visible[b-lt5ddfiw8q] {
    outline: 2px solid rgba(245, 238, 216, .9);
    outline-offset: -2px;
}

@media (max-width: 350px) {
    .wl-wrap[b-lt5ddfiw8q] {
        padding: .3rem;
        gap: .28rem;
    }

    .wl-board[b-lt5ddfiw8q] {
        gap: .18rem;
        height: min(100%, 9.8rem);
    }

    .wl-key-row[b-lt5ddfiw8q] {
        gap: .12rem;
    }

    .wl-key[b-lt5ddfiw8q] {
        height: clamp(2.05rem, 9.8vw, 2.7rem);
    }

    .wl-key.wide[b-lt5ddfiw8q] {
        flex-grow: 1.58;
    }
}
/* /Components/Subcompnents/WordscapesGame.razor.rz.scp.css */
/* Whole game layout (1:1 fit handled by parent) */
.wg-wrap[b-knrj4tl9de] {
    align-items: center;
    background: rgba(0, 0, 0, 0.4);
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    font-family: "Cinzel", serif;
    height: 100%;
    justify-content: flex-start;
    padding: 0.5rem;
    width: 100%;
}

/* Scrambled word */

.wg-word[b-knrj4tl9de] {
    font-size: clamp(1.4rem, 6vmin, 3rem);
    font-weight: 600;
    letter-spacing: 0.2rem;
    margin-top: 0.5rem;
}

/* Guess so far */

.wg-guess[b-knrj4tl9de] {
    font-size: clamp(1.2rem, 5vmin, 2.4rem);
    height: 2.4rem;
    letter-spacing: 0.15rem;
    margin-top: 0.4rem;
    color: white;
    font-family: "Special Elite", system-ui;
}

/* Big letter buttons */

.wg-letters[b-knrj4tl9de] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center; /* center each row */
    margin-top: 1rem;
    padding: 0.25rem 0;
    width: 100%;
}


.wg-letter[b-knrj4tl9de] {
    align-items: center;
    aspect-ratio: 1/1;
    background: radial-gradient(circle at 40% 35%, #d9b95b, #b28a3d);
    border: 3px solid #6b5023;
    border-radius: 999px;
    cursor: pointer;
    display: flex;
    font-size: clamp(1.2rem, 5vmin, 2.2rem);
    justify-content: center;
    max-width: 15vw; /* responsive shrink */
    user-select: none;
    width: 110px; /* max size */
}


.wg-letter:active[b-knrj4tl9de] { transform: scale(0.92); }

/* Control buttons */

.wg-controls[b-knrj4tl9de] {
    display: flex;
    gap: 0.5rem;
    margin-top: auto;
    width: 100%;
}

.wg-btn[b-knrj4tl9de] {
    background: #d7c19a;
    border: 2px solid #6e5730;
    border-radius: 8px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    flex: 1;
    font-family: "Cinzel", serif;
    font-size: clamp(1rem, 4vmin, 1.6rem);
    padding: 0.6rem;
}

.wg-btn:active[b-knrj4tl9de] { transform: scale(0.95); }

.wg-start[b-knrj4tl9de] {
    font-size: 2rem;
    margin-bottom: auto;
    margin-top: auto;
    opacity: 0.6;
}
/* /Components/Subcompnents/WordSearch.razor.rz.scp.css */
.ws-wrap[b-pvv7403z1w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    background: rgba(64, 64, 64, 0.5);
    color: #2b2b2b;
    border: 0;
    border-radius: 0;
    padding: 0.5rem;
    box-shadow: inset 0 0 25px rgba(0,0,0,0.2);
}

.ws-grid[b-pvv7403z1w] {
    display: grid;
    gap: 2px;
    flex-grow: 1;
    width: 100%;
    aspect-ratio: 1 / 1;
    container-type: size; /* enables cqw / cqh for children */
}

.ws-cell[b-pvv7403z1w] {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    aspect-ratio: 1 / 1;
    justify-content: center;
    font-weight: bold;
    background: #e8dfca;
    border: 1px solid #c6b691;
    border-radius: 6px;
    transition: all 0.2s ease;
    user-select: none;
    align-items: center;
    font-size: min(5cqw, 5cqh);
    padding-top: 0.8cqh;
    padding-inline: 0.8cqw;
}

.ws-cell.sel[b-pvv7403z1w] {
    background: #d9b95b;
    color: #000;
    box-shadow: 0 0 8px #d9b95b;
}

.ws-cell.found[b-pvv7403z1w] {
    animation: ws-found-b-pvv7403z1w 0.6s ease forwards;
}

@keyframes ws-found-b-pvv7403z1w {
    0% {
        background: #d9b95b;
        color: #000;
        transform: scale(1);
    }

    50% {
        background: #f6e7a0;
        transform: scale(1.1);
    }

    100% {
        background: #d9b95b;
        color: #111;
        transform: scale(1);
    }
}

.ws-wordlist[b-pvv7403z1w] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
    margin-top: 0.5rem;
    font-family: 'UnifrakturCook', cursive;
    color: #3b3120;
}

.ws-word[b-pvv7403z1w] {
    background: #e8dfca;
    border-radius: 8px;
    padding: 0.3rem 0.6rem;
    border: 1px solid #c6b691;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.ws-word.foundword[b-pvv7403z1w] {
    background: #d9b95b;
    color: #000;
    box-shadow: 0 0 10px #d9b95b;
}
/* /Components/Subcompnents/ZipGame.razor.rz.scp.css */
/* Root wrapper */
.zip-wrap[b-8ym3888dyg] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: rgba(64, 64, 64, 0.5);
    border-radius: 0;
    border: 0;
    font-family: "Cinzel", "Georgia", serif;
    color: #2b2520;
    padding: 0.4rem;
    gap: 0.4rem;
}

/* Header with title + stats */
.zip-header[b-8ym3888dyg] {
    flex: 0 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: clamp(0.6rem, 2.4vmin, 0.9rem);
    padding-inline: 0.2rem;
}

.zip-title[b-8ym3888dyg] {
    font-weight: 700;
}

.zip-stats span[b-8ym3888dyg] {
    opacity: 0.8;
}

/* Board: square-ish grid that grows */
.zip-board[b-8ym3888dyg] {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(var(--zip-size, 6), 1fr); /* overridden by Blazor grid */
    grid-auto-rows: 1fr;
    gap: 2px;
    padding: 4px;
    background: #2b2b2b;
    border-radius: 8px;
    box-sizing: border-box;
}

/* Each cell */
.zip-cell[b-8ym3888dyg] {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 3px;
    border: 1px solid #6e5730;
    background: #efe6cf;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(0.85rem, 3.8vmin, 1.6rem);
    font-weight: 600;
    color: #2b2520;
    user-select: none;
    transition: background 0.12s ease, transform 0.12s ease, box-shadow 0.12s ease;
}

    .zip-cell:hover[b-8ym3888dyg] {
        transform: translateY(-1px);
        box-shadow: 0 2px 6px rgba(0,0,0,0.25);
    }

    /* Clue numbers */
    .zip-cell.clue[b-8ym3888dyg] {
        background: #a7c6a0;
        border-color: #8b6a2e;
    }

    /* Path highlight */
    .zip-cell.path[b-8ym3888dyg] {
        background: #9cb3c8;
    }

    .zip-cell.current[b-8ym3888dyg] {
        box-shadow: 0 0 0 2px #f5d48a, 0 0 10px rgba(245,212,138,0.7);
    }

/* Text inside */
.zip-clue[b-8ym3888dyg] {
    position: relative;
    z-index: 2;
}

.zip-step[b-8ym3888dyg] {
    position: relative;
    z-index: 2;
    font-size: 0.75em;
    opacity: 0.9;
}

/* Footer area */
.zip-footer[b-8ym3888dyg] {
    flex: 0 0 auto;
    font-size: clamp(0.7rem, 2.6vmin, 1rem);
    text-align: center;
    background: #ede3c9;
    border-radius: 8px;
    padding: 0.35rem 0.5rem;
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.7);
}

.zip-message strong[b-8ym3888dyg] {
    color: #6e5730;
}

/* Disabled state */
.zip-wrap.disabled[b-8ym3888dyg] {
    justify-content: center;
    align-items: center;
}

/* Obstacles */
.zip-cell.obstacle[b-8ym3888dyg] {
    background: #3b2f2f;
    border: 2px solid #1e1111;
    color: #f2d0a7;
    cursor: not-allowed;
}

.zip-obstacle[b-8ym3888dyg] {
    font-weight: 900;
    font-size: 1.2em;
    opacity: 0.9;
}

.pulse[b-8ym3888dyg] {
    animation: pulse-bg-b-8ym3888dyg 2s ease-in-out infinite;
}

/* Tweak the color + alpha to taste */
@keyframes pulse-bg-b-8ym3888dyg {
    0% {
        background-color: rgba(180, 180, 255, 0.6); /* more transparent */
    }

    50% {
        background-color: rgba(180, 180, 255, 1); /* less transparent */
    }

    100% {
        background-color: rgba(180, 180, 255, 0.6);
    }
}
