/* /ChessBoard.razor.rz.scp.css */
    .chessboard-shell[b-wgpcerxsgl] {
        --square-size: 3rem;
        --piece-size: 1.8rem;
        display: inline-flex;
        align-items: center;
        gap: 0.85rem;
    }

    .chessboard-shell.without-side-controls[b-wgpcerxsgl] {
        gap: 0;
    }

    .board-side-controls[b-wgpcerxsgl] {
        align-self: center;
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        gap: 0.55rem;
    }

    @media (max-width: 767.98px) {
        .chessboard-shell[b-wgpcerxsgl] {
            flex-direction: column;
            align-items: stretch;
            gap: 0.65rem;
        }

        .board-side-controls[b-wgpcerxsgl] {
            align-self: stretch;
            flex-direction: row;
            justify-content: center;
            flex-wrap: wrap;
        }
    }

    .chessboard[b-wgpcerxsgl] {
        display: inline-block;
    }

    .chessboard-shell.chessboard-compact-shell[b-wgpcerxsgl],
    .chessboard.chessboard-compact[b-wgpcerxsgl] {
        --square-size: 1.55rem;
    }

    .perspective-button[b-wgpcerxsgl] {
        align-self: center;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #5c6773;
        border-radius: 5px;
        background: var(--app-surface-muted);
        color: var(--app-text-strong);
        width: 2.5rem;
        height: 2.5rem;
        padding: 0.35rem;
        cursor: pointer;
    }

    .perspective-button:hover[b-wgpcerxsgl] {
        background: var(--app-surface-muted-hover);
    }

    .fen-copy-button-copied[b-wgpcerxsgl] {
        border-color: #15803d;
        color: #15803d;
    }

    .board-tool-button[b-wgpcerxsgl] {
        align-self: center;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #5c6773;
        border-radius: 5px;
        background: var(--app-surface-muted);
        color: var(--app-text-strong);
        width: 2.5rem;
        height: 2.5rem;
        padding: 0.35rem;
        cursor: pointer;
    }

    .board-tool-button:hover[b-wgpcerxsgl] {
        background: var(--app-surface-muted-hover);
    }

    .board-tool-button.active[b-wgpcerxsgl] {
        border-color: #2563eb;
        background: #dbeafe;
        color: #1e3a8a;
    }

    .board-tool-button:disabled[b-wgpcerxsgl] {
        cursor: wait;
        opacity: 0.65;
    }

    .board-engine-bar[b-wgpcerxsgl] {
        position: relative;
        align-self: center;
        width: 1.8rem;
        height: calc(var(--square-size) * 8 + 4px);
        min-height: calc(var(--square-size) * 8 + 4px);
        border: 1px solid #111827;
        background: #f8fafc;
        overflow: hidden;
    }

    .board-engine-bar-black[b-wgpcerxsgl] {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        background: #111827;
        transition: height 180ms ease;
    }

    .board-engine-bar-score[b-wgpcerxsgl] {
        position: absolute;
        left: 50%;
        bottom: 0.45rem;
        transform: translateX(-50%) rotate(-90deg);
        transform-origin: center;
        color: #2563eb;
        font-size: 0.78rem;
        font-weight: 700;
        white-space: nowrap;
    }

    .perspective-icon[b-wgpcerxsgl] {
        width: 1.35rem;
        height: 1.35rem;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .board-tool-icon[b-wgpcerxsgl] {
        width: 1.35rem;
        height: 1.35rem;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .chessboard .file-labels[b-wgpcerxsgl] {
        position: absolute;
        left: 2px;
        bottom: 2px;
        z-index: 4;
        display: grid;
        grid-template-columns: repeat(8, var(--square-size));
        width: calc(var(--square-size) * 8);
        height: var(--square-size);
        pointer-events: none;
        font-size: clamp(0.58rem, calc(var(--square-size) * 0.25), 0.85rem);
        font-weight: 700;
        line-height: 1;
    }

    .chessboard .file-labels div[b-wgpcerxsgl] {
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        min-width: 0;
        min-height: 0;
        padding: 0 0.18rem 0.16rem 0;
    }

    .chessboard .rank-labels[b-wgpcerxsgl] {
        position: absolute;
        top: 2px;
        left: 2px;
        z-index: 4;
        display: grid;
        grid-template-rows: repeat(8, var(--square-size));
        width: var(--square-size);
        height: calc(var(--square-size) * 8);
        pointer-events: none;
        font-size: clamp(0.58rem, calc(var(--square-size) * 0.25), 0.85rem);
        font-weight: 700;
        line-height: 1;
    }

    .chessboard .rank-labels div[b-wgpcerxsgl] {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        min-width: 0;
        min-height: 0;
        padding: 0.16rem 0 0 0.18rem;
    }

    .chessboard .coordinate-label-on-light[b-wgpcerxsgl] {
        color: rgba(17, 24, 39, 0.72);
        text-shadow: 0 1px 1px rgba(255, 255, 255, 0.45);
    }

    .chessboard .coordinate-label-on-dark[b-wgpcerxsgl] {
        color: rgba(255, 255, 255, 0.86);
        text-shadow: 0 1px 2px rgba(15, 23, 42, 0.72);
    }

    .chessboard .board-wrap[b-wgpcerxsgl] {
        position: relative;
        display: inline-block;
    }

    .chessboard .board-grid-shell[b-wgpcerxsgl] {
        position: relative;
        display: inline-block;
    }

    .chessboard .board-solved-flash[b-wgpcerxsgl] {
        position: absolute;
        inset: 2px;
        z-index: 8;
        pointer-events: none;
        border-radius: 0.35rem;
        animation: board-solved-pulse-b-wgpcerxsgl 760ms ease-out;
    }

    .chessboard .board-grid[b-wgpcerxsgl] {
        display: grid;
        grid-template-columns: repeat(8, var(--square-size));
        grid-template-rows: repeat(8, var(--square-size));
        border: 2px solid #222;
    }

    .chessboard .square[b-wgpcerxsgl] {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--piece-size);
        line-height: 1;
        user-select: none;
        cursor: pointer;
    }

    .chessboard.read-only .square[b-wgpcerxsgl] {
        cursor: default;
    }

    .chessboard .piece[b-wgpcerxsgl] {
        display: inline-block;
        position: relative;
        z-index: 3;
        color: #1f2937;
    }

.chessboard .piece.animate-move[b-wgpcerxsgl] {
    animation: piece-slide-b-wgpcerxsgl 240ms ease-out;
    z-index: 5;
    will-change: transform;
}

.move-dx-n7[b-wgpcerxsgl] { --move-dx: -7; }
.move-dx-n6[b-wgpcerxsgl] { --move-dx: -6; }
.move-dx-n5[b-wgpcerxsgl] { --move-dx: -5; }
.move-dx-n4[b-wgpcerxsgl] { --move-dx: -4; }
.move-dx-n3[b-wgpcerxsgl] { --move-dx: -3; }
.move-dx-n2[b-wgpcerxsgl] { --move-dx: -2; }
.move-dx-n1[b-wgpcerxsgl] { --move-dx: -1; }
.move-dx-0[b-wgpcerxsgl] { --move-dx: 0; }
.move-dx-1[b-wgpcerxsgl] { --move-dx: 1; }
.move-dx-2[b-wgpcerxsgl] { --move-dx: 2; }
.move-dx-3[b-wgpcerxsgl] { --move-dx: 3; }
.move-dx-4[b-wgpcerxsgl] { --move-dx: 4; }
.move-dx-5[b-wgpcerxsgl] { --move-dx: 5; }
.move-dx-6[b-wgpcerxsgl] { --move-dx: 6; }
.move-dx-7[b-wgpcerxsgl] { --move-dx: 7; }

.move-dy-n7[b-wgpcerxsgl] { --move-dy: -7; }
.move-dy-n6[b-wgpcerxsgl] { --move-dy: -6; }
.move-dy-n5[b-wgpcerxsgl] { --move-dy: -5; }
.move-dy-n4[b-wgpcerxsgl] { --move-dy: -4; }
.move-dy-n3[b-wgpcerxsgl] { --move-dy: -3; }
.move-dy-n2[b-wgpcerxsgl] { --move-dy: -2; }
.move-dy-n1[b-wgpcerxsgl] { --move-dy: -1; }
.move-dy-0[b-wgpcerxsgl] { --move-dy: 0; }
.move-dy-1[b-wgpcerxsgl] { --move-dy: 1; }
.move-dy-2[b-wgpcerxsgl] { --move-dy: 2; }
.move-dy-3[b-wgpcerxsgl] { --move-dy: 3; }
.move-dy-4[b-wgpcerxsgl] { --move-dy: 4; }
.move-dy-5[b-wgpcerxsgl] { --move-dy: 5; }
.move-dy-6[b-wgpcerxsgl] { --move-dy: 6; }
.move-dy-7[b-wgpcerxsgl] { --move-dy: 7; }

@keyframes piece-slide-b-wgpcerxsgl {
        from {
            transform: translate(
                calc(var(--move-dx) * var(--square-size)),
                calc(var(--move-dy) * var(--square-size))
            );
        }

        to {
            transform: translate(0, 0);
        }
    }

    .chessboard.board-scheme-classic .light[b-wgpcerxsgl] {
        background-color: #f0d9b5;
    }

    .chessboard.board-scheme-classic .dark[b-wgpcerxsgl] {
        background-color: #b58863;
    }

    .chessboard.board-scheme-blue .light[b-wgpcerxsgl] {
        background-color: #d7e7ff;
    }

    .chessboard.board-scheme-blue .dark[b-wgpcerxsgl] {
        background-color: #5f7ea8;
    }

    .chessboard.board-scheme-green .light[b-wgpcerxsgl] {
        background-color: #d8ead4;
    }

    .chessboard.board-scheme-green .dark[b-wgpcerxsgl] {
        background-color: #6e8f65;
    }

    .chessboard.board-scheme-high-contrast .light[b-wgpcerxsgl] {
        background-color: #ffffff;
    }

    .chessboard.board-scheme-high-contrast .dark[b-wgpcerxsgl] {
        background-color: #222222;
    }

    .chessboard.board-scheme-dark-slate .light[b-wgpcerxsgl] {
        background-color: #7f8ea3;
    }

    .chessboard.board-scheme-dark-slate .dark[b-wgpcerxsgl] {
        background-color: #2f3a4a;
    }

    .chessboard.piece-font-standard .piece[b-wgpcerxsgl] {
        font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
    }

    .chessboard.piece-font-merida .piece[b-wgpcerxsgl] {
        font-family: "Times New Roman", "Noto Serif", serif;
    }

    .chessboard.piece-font-leipzig .piece[b-wgpcerxsgl] {
        font-family: "Georgia", "Noto Serif", serif;
    }

    .chessboard.piece-font-alpha .piece[b-wgpcerxsgl] {
        font-family: "Trebuchet MS", "Segoe UI Symbol", sans-serif;
    }

    .chessboard.piece-size-large[b-wgpcerxsgl] {
        --piece-size: 2.15rem;
    }

    [data-bs-theme="dark"] .chessboard .board-grid[b-wgpcerxsgl] {
        border-color: #9ca3af;
        box-shadow: 0 0 0 1px rgba(156, 163, 175, 0.35);
    }

    .chessboard .square.marked-green[b-wgpcerxsgl]::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        z-index: 1;
        background:
            radial-gradient(circle at center, rgba(220, 252, 231, 0.88) 0%, rgba(74, 222, 128, 0.52) 45%, rgba(22, 163, 74, 0.18) 100%);
        animation: board-highlight-fade-in-b-wgpcerxsgl 180ms ease-out;
    }

    .chessboard .square.marked-red[b-wgpcerxsgl]::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        z-index: 1;
        background:
            radial-gradient(circle at center, rgba(254, 226, 226, 0.9) 0%, rgba(248, 113, 113, 0.55) 45%, rgba(185, 28, 28, 0.24) 100%);
        animation: board-highlight-fade-in-b-wgpcerxsgl 180ms ease-out;
    }

    @keyframes board-highlight-fade-in-b-wgpcerxsgl {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    @keyframes board-solved-pulse-b-wgpcerxsgl {
        0% {
            box-shadow: inset 0 0 0 0 rgba(34, 197, 94, 0.95), 0 0 0 0 rgba(34, 197, 94, 0.38);
            background: rgba(34, 197, 94, 0.36);
            opacity: 1;
        }

        58% {
            box-shadow: inset 0 0 0 0.35rem rgba(34, 197, 94, 0.82), 0 0 0 0.55rem rgba(34, 197, 94, 0.18);
            background: rgba(34, 197, 94, 0.18);
            opacity: 1;
        }

        100% {
            box-shadow: inset 0 0 0 0.18rem rgba(34, 197, 94, 0), 0 0 0 0.9rem rgba(34, 197, 94, 0);
            background: rgba(34, 197, 94, 0);
            opacity: 0;
        }
    }

    .chessboard .square.commentary-square-green[b-wgpcerxsgl]::after,
    .chessboard .square.commentary-square-red[b-wgpcerxsgl]::after,
    .chessboard .square.commentary-square-yellow[b-wgpcerxsgl]::after {
        content: "";
        position: absolute;
        inset: 0.3rem;
        border-radius: 50%;
        pointer-events: none;
        z-index: 1;
    }

    .chessboard .square.commentary-square-green[b-wgpcerxsgl]::after {
        background: rgba(34, 197, 94, 0.28);
        box-shadow: inset 0 0 0 0.16rem rgba(21, 128, 61, 0.95);
    }

    .chessboard .square.commentary-square-red[b-wgpcerxsgl]::after {
        background: rgba(239, 68, 68, 0.28);
        box-shadow: inset 0 0 0 0.16rem rgba(185, 28, 28, 0.95);
    }

    .chessboard .square.commentary-square-yellow[b-wgpcerxsgl]::after {
        background: rgba(250, 204, 21, 0.3);
        box-shadow: inset 0 0 0 0.16rem rgba(202, 138, 4, 0.95);
    }

    .chessboard .selected[b-wgpcerxsgl] {
        background-color: #ffd54f;
    }

    .chessboard .legal-move[b-wgpcerxsgl] {
        box-shadow: inset 0 0 0 3px rgba(66, 133, 244, 0.85);
    }

    .chessboard .hint-square[b-wgpcerxsgl] {
        outline: 3px solid rgba(245, 158, 11, 0.88);
        outline-offset: -3px;
    }

    .chessboard .piece.hint-piece[b-wgpcerxsgl] {
        filter: drop-shadow(0 0 0.42rem rgba(245, 158, 11, 0.95));
    }

    .chessboard .board-annotation-layer[b-wgpcerxsgl] {
        position: absolute;
        top: 2px;
        left: 2px;
        width: calc(var(--square-size) * 8);
        height: calc(var(--square-size) * 8);
        pointer-events: none;
        z-index: 2;
        overflow: visible;
    }

    .chessboard .board-commentary-arrow[b-wgpcerxsgl] {
        fill: none;
        stroke-width: 0.14;
        stroke-linecap: butt;
        opacity: 0.9;
    }

    .chessboard .board-arrowhead[b-wgpcerxsgl] {
        stroke: none;
    }

    .chessboard .board-commentary-arrow-green[b-wgpcerxsgl] {
        stroke: #16a34a;
    }

    .chessboard .board-arrowhead-green[b-wgpcerxsgl] {
        fill: #16a34a;
    }

    .chessboard .board-commentary-arrow-red[b-wgpcerxsgl] {
        stroke: #dc2626;
    }

    .chessboard .board-arrowhead-red[b-wgpcerxsgl] {
        fill: #dc2626;
    }

    .chessboard .board-commentary-arrow-yellow[b-wgpcerxsgl] {
        stroke: #ca8a04;
    }

    .chessboard .board-arrowhead-yellow[b-wgpcerxsgl] {
        fill: #ca8a04;
    }

    .chessboard .board-side-indicator[b-wgpcerxsgl] {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 5;
        width: clamp(0.56rem, calc(var(--square-size) * 0.324), 0.99rem);
        height: clamp(0.56rem, calc(var(--square-size) * 0.324), 0.99rem);
        border: 1px solid #222;
        border-radius: 2px;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.25);
        pointer-events: none;
    }

    .chessboard .board-side-indicator-white[b-wgpcerxsgl] {
        background-color: #ffffff;
    }

    .chessboard .board-side-indicator-black[b-wgpcerxsgl] {
        background-color: #111111;
    }
/* /ChessExercisePanel.razor.rz.scp.css */
.exercise-panel[b-fdsek1m37i] {
    width: fit-content;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.exercise-header[b-fdsek1m37i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.exercise-title[b-fdsek1m37i] {
    margin: 0;
    font-size: 1rem;
}

.side-to-move[b-fdsek1m37i] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    color: var(--app-text-muted);
}

.turn-indicator[b-fdsek1m37i] {
    width: 0.8rem;
    height: 0.8rem;
    border: 1px solid var(--app-text-strong);
    display: inline-block;
}

.turn-white[b-fdsek1m37i] {
    background-color: #ffffff;
}

.turn-black[b-fdsek1m37i] {
    background-color: #111111;
}

.exercise-list[b-fdsek1m37i] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.4rem;
}

.exercise-button[b-fdsek1m37i] {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--app-border-muted);
    border-radius: 4px;
    background-color: var(--app-surface-muted);
    color: var(--app-text-strong);
    font-weight: 600;
    cursor: pointer;
}

.exercise-button.single[b-fdsek1m37i] {
    width: auto;
    min-width: 14rem;
    padding: 0 0.75rem;
}

.exercise-button.next-highlight[b-fdsek1m37i] {
    border-color: #ffb74d;
    background-color: #ffe082;
    color: #111827;
    box-shadow: 0 0 0 2px rgba(255, 183, 77, 0.25);
}

.exercise-button:disabled[b-fdsek1m37i] {
    opacity: 0.72;
    cursor: not-allowed;
}

.exercise-status[b-fdsek1m37i] {
    margin-top: 0.4rem;
    margin-bottom: 0;
    font-size: 0.9rem;
    color: var(--app-text-muted);
}
/* /EditableOrderedList.razor.rz.scp.css */
.editable-list-page[b-1cj81gio79] {
    display: grid;
    gap: 1rem;
}

.editable-list-toolbar[b-1cj81gio79] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.editable-list-toolbar-actions[b-1cj81gio79] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.editable-list-upload-button[b-1cj81gio79] {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.editable-list-file-input[b-1cj81gio79] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.editable-list-sync-status[b-1cj81gio79] {
    color: var(--app-text-muted);
    font-size: 0.95rem;
    font-weight: 600;
}

.editable-list-helper[b-1cj81gio79],
.editable-list-status[b-1cj81gio79],
.editable-list-error[b-1cj81gio79],
.editable-list-empty[b-1cj81gio79] {
    margin: 0;
}

.editable-list-helper[b-1cj81gio79] {
    color: var(--app-text-muted);
    line-height: 1.5;
}

.editable-list-status[b-1cj81gio79] {
    color: #166534;
    font-weight: 600;
}

.editable-list-error[b-1cj81gio79] {
    color: #b91c1c;
    font-weight: 600;
}

.editable-list-empty[b-1cj81gio79] {
    padding: 1rem 1.1rem;
    border: 1px dashed var(--app-border-muted);
    border-radius: 14px;
    background: var(--app-surface-muted);
    color: var(--app-text-muted);
}

.editable-list[b-1cj81gio79] {
    display: grid;
    gap: 0.55rem;
}

.editable-list-item-card[b-1cj81gio79] {
    position: relative;
    border: 1px solid var(--app-border-color);
    border-radius: 16px;
    background: linear-gradient(180deg, var(--app-surface-bg) 0%, var(--app-surface-muted) 100%);
    box-shadow: var(--app-shadow-soft);
    transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.editable-list-item-shell[b-1cj81gio79] {
    position: relative;
}

.editable-list-drop-target[b-1cj81gio79] {
    position: absolute;
    left: 0;
    right: 0;
    display: none;
    z-index: 2;
}

.editable-list-drop-target-visible[b-1cj81gio79] {
    display: block;
}

.editable-list-drop-target-before[b-1cj81gio79] {
    top: -0.55rem;
    height: calc(50% + 0.55rem);
}

.editable-list-drop-target-after[b-1cj81gio79] {
    bottom: -0.55rem;
    height: calc(50% + 0.55rem);
}

.editable-list-drop-target-active[b-1cj81gio79] {
    cursor: move;
}

.editable-list-item-card-dragging[b-1cj81gio79] {
    opacity: 0.4;
    border-style: dashed;
    box-shadow: 0 10px 24px rgba(59, 130, 246, 0.12);
}

.editable-list-item-card-over[b-1cj81gio79] {
    border-color: #60a5fa;
    background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}

.editable-list-item-card-over-before[b-1cj81gio79] {
    box-shadow: inset 0 4px 0 #60a5fa, var(--app-shadow-soft);
}

.editable-list-item-card-over-after[b-1cj81gio79] {
    box-shadow: inset 0 -4px 0 #60a5fa, var(--app-shadow-soft);
}

.editable-list-drop-placeholder[b-1cj81gio79] {
    height: 4.75rem;
    border: 2px dashed #93c5fd;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(219, 234, 254, 0.75) 0%, rgba(239, 246, 255, 0.9) 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.85);
}

.editable-list-item-body[b-1cj81gio79] {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 0.95rem;
}

.editable-list-drag-handle[b-1cj81gio79],
.editable-list-icon-button[b-1cj81gio79] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--app-surface-bg);
    color: var(--app-text-strong);
    flex-shrink: 0;
}

.editable-list-drag-handle[b-1cj81gio79] {
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: var(--app-surface-accent);
    color: var(--app-text-muted);
    cursor: grab;
}

.editable-list-item-row[b-1cj81gio79] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
}

.editable-list-item-actions[b-1cj81gio79] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.editable-list-item-name[b-1cj81gio79] {
    color: var(--app-text-strong);
    font-weight: 600;
    word-break: break-word;
}

.editable-list-icon-button[b-1cj81gio79] {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid var(--app-border-muted);
    border-radius: 999px;
}

.editable-list-icon-button:hover[b-1cj81gio79] {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.editable-list-delete-button:hover[b-1cj81gio79] {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #b91c1c;
}

.editable-list-icon[b-1cj81gio79] {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.editable-list-edit-fields[b-1cj81gio79] {
    display: grid;
    gap: 0.65rem;
    width: 100%;
}

.editable-list-rename-input[b-1cj81gio79] {
    width: 100%;
    border: 1px solid var(--app-border-muted);
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    font-size: 1rem;
    color: var(--app-text-strong);
    background: var(--app-input-bg);
}

.editable-list-rename-input:focus[b-1cj81gio79] {
    outline: none;
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.25);
}

.editable-list-inline-actions[b-1cj81gio79] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

@media (max-width: 640px) {
    .editable-list-item-body[b-1cj81gio79] {
        grid-template-columns: 1fr;
    }

    .editable-list-drag-handle[b-1cj81gio79] {
        width: 100%;
        justify-content: flex-start;
        padding: 0 0.75rem;
    }

    .editable-list-item-row[b-1cj81gio79] {
        align-items: flex-start;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-3fxog0ljax] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-3fxog0ljax] {
    flex: 1;
}

.sidebar[b-3fxog0ljax] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
    overflow: hidden;
}

.top-row[b-3fxog0ljax] {
    background-color: var(--bs-tertiary-bg);
    border-bottom: 1px solid var(--bs-border-color);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-3fxog0ljax]  a, .top-row[b-3fxog0ljax]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-3fxog0ljax]  a:hover, .top-row[b-3fxog0ljax]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-3fxog0ljax]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-3fxog0ljax] {
        justify-content: space-between;
    }

    .top-row[b-3fxog0ljax]  a, .top-row[b-3fxog0ljax]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-3fxog0ljax] {
        flex-direction: row;
    }

    .sidebar[b-3fxog0ljax] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-3fxog0ljax] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-3fxog0ljax]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-3fxog0ljax], article[b-3fxog0ljax] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-kw6hi29h7o] {
    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-kw6hi29h7o] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-kw6hi29h7o] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-kw6hi29h7o] {
    font-size: 1.1rem;
}

.bi[b-kw6hi29h7o] {
    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-kw6hi29h7o] {
    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-kw6hi29h7o] {
    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-kw6hi29h7o] {
    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-kw6hi29h7o] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-kw6hi29h7o] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-kw6hi29h7o] {
        padding-bottom: 1rem;
    }

    .nav-item[b-kw6hi29h7o]  .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-kw6hi29h7o]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-kw6hi29h7o]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-subitem[b-kw6hi29h7o] {
    font-size: 0.8rem;
    padding-bottom: 0.2rem;
}

.nav-subitem[b-kw6hi29h7o]  .nav-link {
    height: 2rem;
    line-height: 2rem;
    padding-left: 2.4rem;
}

.nav-scrollable[b-kw6hi29h7o] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-kw6hi29h7o] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-kw6hi29h7o] {
        display: none;
    }

    .nav-scrollable[b-kw6hi29h7o] {
        display: block;
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

@media (min-width: 641px) and (max-width: 749.98px) {
    .top-row[b-kw6hi29h7o] {
        width: 250px;
    }

    .navbar-toggler[b-kw6hi29h7o] {
        display: block;
        width: 2.75rem;
        right: 0.625rem;
        z-index: 2;
    }

    .navbar-brand[b-kw6hi29h7o] {
        opacity: 0;
        pointer-events: none;
    }

    .nav-scrollable[b-kw6hi29h7o] {
        display: none;
        width: 250px;
    }

    .navbar-toggler:checked ~ .nav-scrollable[b-kw6hi29h7o] {
        display: block;
    }
}
/* /OpeningCommentaryBlock.razor.rz.scp.css */
.opening-commentary-block[b-mvr9zy61ny] {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.45rem;
    }

    .opening-commentary-text[b-mvr9zy61ny] {
        display: block;
    }

    .opening-commentary-diagram[b-mvr9zy61ny] {
        display: inline-flex;
    }

    .opening-commentary-diagram .chessboard-shell[b-mvr9zy61ny] {
        gap: 0;
    }
/* /OpeningCommentaryDialog.razor.rz.scp.css */
.commentary-toggle-list[b-ldf7jlc6ae] {
        display: flex;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .commentary-toggle-button[b-ldf7jlc6ae] {
        min-width: 3.25rem;
    }

    .commentary-toggle-button.active[b-ldf7jlc6ae] {
        background: #1d4ed8;
        border-color: #1d4ed8;
        color: #fff;
    }
/* /Pages/Attendance/Attendance.razor.rz.scp.css */
.attendance-page[b-p3l53v4xgd] {
        display: grid;
        gap: 1.25rem;
    }

    .attendance-toolbar[b-p3l53v4xgd] {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .attendance-sync-status[b-p3l53v4xgd],
    .attendance-status[b-p3l53v4xgd],
    .attendance-empty[b-p3l53v4xgd] {
        color: var(--app-text-muted);
    }

    .attendance-error[b-p3l53v4xgd] {
        color: #b91c1c;
    }

    .attendance-selectors[b-p3l53v4xgd] {
        display: grid;
        gap: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    }

    .attendance-selector-field[b-p3l53v4xgd] {
        display: grid;
        gap: 0.45rem;
    }

    .attendance-selector-label[b-p3l53v4xgd] {
        font-weight: 600;
        color: var(--app-text-strong);
    }

    .attendance-topic-select[b-p3l53v4xgd],
    .attendance-class-select[b-p3l53v4xgd] {
        min-height: 2.75rem;
        border: 1px solid var(--app-border-muted);
        border-radius: 0.85rem;
        padding: 0.65rem 0.85rem;
        background: var(--app-input-bg);
        color: var(--app-text-strong);
    }

    .attendance-summary[b-p3l53v4xgd] {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1.1rem;
        border-radius: 1rem;
        background: linear-gradient(135deg, #dbeafe, #eff6ff);
        color: #1e3a8a;
    }

    .attendance-summary-topic[b-p3l53v4xgd] {
        font-weight: 700;
    }

    .attendance-summary-count[b-p3l53v4xgd] {
        font-weight: 600;
    }

    .attendance-list[b-p3l53v4xgd] {
        display: grid;
        gap: 0.75rem;
    }

    .attendance-student-card[b-p3l53v4xgd] {
        display: flex;
        gap: 0.85rem;
        align-items: center;
        padding: 0.95rem 1rem;
        border: 1px solid var(--app-border-muted);
        border-radius: 1rem;
        background: var(--app-surface-bg);
        cursor: pointer;
    }

    .attendance-student-checkbox[b-p3l53v4xgd] {
        width: 1.1rem;
        height: 1.1rem;
        accent-color: #2563eb;
    }

    .attendance-student-name[b-p3l53v4xgd] {
        font-weight: 600;
        color: var(--app-text-strong);
    }

    @media (max-width: 640px) {
        .attendance-summary[b-p3l53v4xgd] {
            align-items: flex-start;
        }
    }
/* /Pages/Character/Character.razor.rz.scp.css */
.character-page[b-8hyfibdrmx] {
    display: grid;
    gap: 1.1rem;
}

.character-floating-navigation[b-8hyfibdrmx] {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 1040;
    display: grid;
    gap: 0.5rem;
}

.character-floating-navigation-button[b-8hyfibdrmx] {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 1px solid rgba(15, 23, 42, 0.2);
    border-radius: 0.5rem;
    background: rgba(15, 23, 42, 0.92);
    box-shadow: 0 0.65rem 1.35rem rgba(15, 23, 42, 0.22);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}

.character-floating-navigation-button:hover[b-8hyfibdrmx],
.character-floating-navigation-button:focus-visible[b-8hyfibdrmx] {
    background: #0f172a;
    transform: translateY(-1px);
}

.character-header[b-8hyfibdrmx] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
}

.character-persistence-toolbar[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: end;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--bs-border-color, #d7dee8);
}

.character-persistence-select[b-8hyfibdrmx] {
    display: grid;
    min-width: min(100%, 16rem);
    gap: 0.25rem;
}

.character-persistence-select label[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
}

.character-persistence-select select[b-8hyfibdrmx] {
    min-height: 2.35rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.character-persistence-toolbar .character-button[b-8hyfibdrmx] {
    width: auto;
    min-width: 0;
    height: 2.35rem;
    padding: 0 0.65rem;
    font-size: 0.85rem;
    white-space: nowrap;
}

.character-upload-button[b-8hyfibdrmx] {
    position: relative;
    overflow: hidden;
    margin: 0;
}

.character-upload-input[b-8hyfibdrmx] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    color: transparent;
    cursor: pointer;
    font-size: 0;
}

.character-persistence-status[b-8hyfibdrmx] {
    min-height: 2.35rem;
    display: inline-flex;
    align-items: center;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.88rem;
}

.character-new-menu[b-8hyfibdrmx] {
    position: relative;
}

.character-new-menu-panel[b-8hyfibdrmx] {
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.35rem);
    left: 0;
    display: grid;
    min-width: 13rem;
    overflow: hidden;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.45rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 0.85rem 1.8rem rgba(15, 23, 42, 0.16);
}

.character-new-menu-item[b-8hyfibdrmx] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    min-height: 2.35rem;
    padding: 0.45rem 0.65rem;
    border: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.25);
    background: transparent;
    color: inherit;
    text-align: left;
}

.character-new-menu-item:last-child[b-8hyfibdrmx] {
    border-bottom: 0;
}

.character-new-menu-item:hover[b-8hyfibdrmx],
.character-new-menu-item:focus-visible[b-8hyfibdrmx] {
    background: rgba(14, 165, 233, 0.1);
}

.character-new-menu-item small[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    white-space: nowrap;
}

.character-persistence-error[b-8hyfibdrmx] {
    color: #b91c1c;
    font-weight: 700;
}

.character-header h1[b-8hyfibdrmx] {
    margin-bottom: 0.25rem;
}

.character-header p[b-8hyfibdrmx] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
}

.character-ap-panel[b-8hyfibdrmx] {
    display: grid;
    min-width: 12rem;
    gap: 0.35rem;
}

.character-ap-label[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
}

.character-name-panel[b-8hyfibdrmx] {
    display: grid;
    min-width: min(100%, 18rem);
    gap: 0.35rem;
}

.character-name-controls[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.4rem;
}

.character-portrait-preview[b-8hyfibdrmx] {
    width: 5.5rem;
    aspect-ratio: 1;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.5rem;
    object-fit: cover;
    background: var(--bs-tertiary-bg, #f8fafc);
}

.character-portrait-upload-menu[b-8hyfibdrmx] {
    position: relative;
}

.character-portrait-upload-popover[b-8hyfibdrmx] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 0.45rem);
    left: 0;
    display: grid;
    gap: 0.5rem;
    width: min(18rem, calc(100vw - 2rem));
    padding: 0.75rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 0.85rem 1.8rem rgba(15, 23, 42, 0.16);
}

.character-conditions[b-8hyfibdrmx] {
    display: grid;
    gap: 0.85rem;
}

.character-condition-summary[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

.character-condition-summary > div[b-8hyfibdrmx],
.character-condition-card[b-8hyfibdrmx] {
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-condition-summary > div[b-8hyfibdrmx] {
    display: grid;
    gap: 0.2rem;
    padding: 0.65rem 0.75rem;
}

.character-condition-summary span[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.character-condition-summary strong[b-8hyfibdrmx] {
    font-size: 1.1rem;
}

.character-condition-summary .character-condition-alert[b-8hyfibdrmx] {
    border-color: rgba(185, 28, 28, 0.45);
    background: rgba(254, 226, 226, 0.75);
    color: #991b1b;
}

.character-condition-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.6rem;
}

.character-condition-card[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem 0.75rem;
    align-items: center;
    padding: 0.75rem;
}

.character-condition-card h3[b-8hyfibdrmx],
.character-condition-card p[b-8hyfibdrmx] {
    margin: 0;
}

.character-condition-card h3[b-8hyfibdrmx] {
    font-size: 1rem;
}

.character-condition-card p[b-8hyfibdrmx],
.character-condition-card a[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
}

.character-condition-card a[b-8hyfibdrmx] {
    grid-column: 1 / -1;
    width: fit-content;
}

.character-condition-controls[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: 2rem 2rem 2rem;
    align-items: center;
    text-align: center;
}

.character-condition-controls button[b-8hyfibdrmx] {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-tertiary-bg, #f8fafc);
    color: inherit;
    font-weight: 800;
}

.character-portrait-upload-option[b-8hyfibdrmx],
.character-portrait-upload-link button[b-8hyfibdrmx] {
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    font: inherit;
    font-weight: 700;
}

.character-portrait-upload-option[b-8hyfibdrmx] {
    display: block;
    width: 100%;
    padding: 0.4rem 0.7rem;
    cursor: pointer;
    text-align: left;
}

.character-portrait-upload-option:hover[b-8hyfibdrmx],
.character-portrait-upload-option:focus-visible[b-8hyfibdrmx],
.character-portrait-upload-link button:hover[b-8hyfibdrmx],
.character-portrait-upload-link button:focus-visible[b-8hyfibdrmx] {
    background: var(--bs-tertiary-bg, #f8fafc);
}

.character-portrait-upload-file[b-8hyfibdrmx] {
    display: none;
}

.character-portrait-upload-link[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.4rem;
}

.character-portrait-upload-link input[b-8hyfibdrmx] {
    min-width: 0;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.character-portrait-upload-link button[b-8hyfibdrmx] {
    padding: 0.4rem 0.65rem;
}

.character-portrait-upload-error[b-8hyfibdrmx] {
    margin: 0;
    color: #b91c1c;
    font-size: 0.85rem;
    font-weight: 700;
}

.character-birth-labels[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0;
}

.character-birth-labels div[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: auto auto;
    gap: 0.3rem;
    align-items: baseline;
    width: fit-content;
    min-width: 0;
    padding: 0.25rem 0.45rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-tertiary-bg, #f8fafc);
}

.character-birth-labels dt[b-8hyfibdrmx],
.character-birth-labels dd[b-8hyfibdrmx] {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.25;
}

.character-birth-labels dt[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-weight: 700;
    text-transform: uppercase;
}

.character-birth-labels dd[b-8hyfibdrmx] {
    color: var(--bs-emphasis-color, #0f172a);
    font-weight: 800;
}

.character-ap-panel label[b-8hyfibdrmx],
.character-name-panel label[b-8hyfibdrmx],
.character-summary span[b-8hyfibdrmx],
.character-attribute-meta[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
}

.character-ap-panel input[b-8hyfibdrmx],
.character-ap-panel select[b-8hyfibdrmx],
.character-name-panel input[b-8hyfibdrmx] {
    min-height: 2.4rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.character-name-hint[b-8hyfibdrmx] {
    max-width: 32rem;
    margin: 0;
    padding: 0.55rem 0.65rem;
    border-left: 4px solid var(--app-border-muted, #64748b);
    background: var(--bs-tertiary-bg, #f8fafc);
    color: var(--bs-body-color, #334155);
    font-size: 0.86rem;
    line-height: 1.45;
}

.character-ap-actions[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
}

.character-ap-actions button[b-8hyfibdrmx] {
    min-height: 2rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    font-weight: 800;
}

.character-ap-negative[b-8hyfibdrmx] {
    color: #b91c1c;
}

.character-summary[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 0.8rem 0;
    border-top: 1px solid var(--bs-border-color, #d7dee8);
    border-bottom: 1px solid var(--bs-border-color, #d7dee8);
}

.character-summary div[b-8hyfibdrmx] {
    display: grid;
    gap: 0.15rem;
}

.character-summary strong[b-8hyfibdrmx] {
    font-size: 1.35rem;
}

.character-experience[b-8hyfibdrmx] {
    display: grid;
    gap: 0.75rem;
    padding-bottom: 0.2rem;
}

.character-experience-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.65rem;
}

.character-experience-grid div[b-8hyfibdrmx] {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    padding: 0.7rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-experience-grid span[b-8hyfibdrmx],
.character-experience-note[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
    font-weight: 700;
}

.character-experience-grid span[b-8hyfibdrmx] {
    text-transform: uppercase;
}

.character-experience-grid strong[b-8hyfibdrmx] {
    font-size: 1.25rem;
    line-height: 1;
}

.character-experience-grid small[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
}

.character-experience-note[b-8hyfibdrmx] {
    margin: 0;
    font-weight: 600;
}

.character-species[b-8hyfibdrmx] {
    display: grid;
    gap: 0.8rem;
}

.character-species-picker[b-8hyfibdrmx] {
    display: grid;
    min-width: min(100%, 14rem);
    gap: 0.3rem;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.character-species-picker select[b-8hyfibdrmx],
.character-species-choices select[b-8hyfibdrmx] {
    min-height: 2.4rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.character-species-grid[b-8hyfibdrmx],
.character-species-choices[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.character-species-card[b-8hyfibdrmx] {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-species-card span[b-8hyfibdrmx],
.character-species-card small[b-8hyfibdrmx],
.character-species-choices label[b-8hyfibdrmx],
.character-species-traits dt[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 700;
}

.character-species-card span[b-8hyfibdrmx],
.character-species-choices label[b-8hyfibdrmx],
.character-species-traits dt[b-8hyfibdrmx] {
    text-transform: uppercase;
}

.character-species-card strong[b-8hyfibdrmx] {
    font-size: 1rem;
    line-height: 1.25;
}

.character-species-choices label[b-8hyfibdrmx] {
    display: grid;
    gap: 0.3rem;
}

.character-species-traits[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0;
}

.character-species-traits div[b-8hyfibdrmx] {
    display: grid;
    gap: 0.25rem;
    padding: 0.7rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.5rem;
}

.character-species-traits dd[b-8hyfibdrmx] {
    margin: 0;
}

.character-advantages[b-8hyfibdrmx] {
    display: grid;
    gap: 0.85rem;
}

.character-advantage-summary[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: center;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.86rem;
    font-weight: 700;
}

.character-advantage-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.character-unlock-list[b-8hyfibdrmx] {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.35rem;
}

.character-unlock-list > summary[b-8hyfibdrmx] {
    cursor: pointer;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.9rem;
    font-weight: 800;
}

.character-unlock-list[open] > summary[b-8hyfibdrmx] {
    margin-bottom: 0.65rem;
}

.character-unlock-items[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.8rem;
}

.character-unlock-items span[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.9rem;
}

.character-advantage-card[b-8hyfibdrmx] {
    display: grid;
    align-content: start;
    min-width: 0;
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-advantage-card[open][b-8hyfibdrmx] {
    gap: 0.55rem;
    grid-column: 1 / -1;
}

.character-advantage-card-unavailable[b-8hyfibdrmx] {
    background: var(--bs-tertiary-bg, #f8fafc);
    color: var(--bs-secondary-color, #64748b);
}

.character-advantage-card-unavailable summary[b-8hyfibdrmx] {
    opacity: 0.72;
}

.character-culture-typical[b-8hyfibdrmx] {
    border-color: #22c55e;
    border-left: 5px solid #22c55e;
}

.character-culture-atypical[b-8hyfibdrmx] {
    border-color: #f59e0b;
    border-left: 5px solid #f59e0b;
}

.character-profession-included[b-8hyfibdrmx] {
    border-color: #38bdf8;
    border-left: 5px solid #38bdf8;
}

.character-profession-suggested[b-8hyfibdrmx] {
    border-color: #a78bfa;
    border-left: 5px solid #a78bfa;
}

.character-profession-unsuitable[b-8hyfibdrmx] {
    border-color: #fb7185;
    border-left: 5px solid #fb7185;
}

.character-advantage-card summary[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.25rem 0.4rem;
    align-items: baseline;
    cursor: pointer;
}

.character-advantage-card summary span[b-8hyfibdrmx],
.character-advantage-card summary small[b-8hyfibdrmx],
.character-advantage-card dt[b-8hyfibdrmx],
.character-advantage-actions label[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.72rem;
    font-weight: 700;
}

.character-advantage-card summary span[b-8hyfibdrmx],
.character-advantage-card dt[b-8hyfibdrmx],
.character-advantage-actions label[b-8hyfibdrmx] {
    text-transform: uppercase;
}

.character-advantage-card summary strong[b-8hyfibdrmx] {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 0.92rem;
    line-height: 1.18;
}

.character-profession-card summary[b-8hyfibdrmx] {
    grid-template-columns: minmax(0, 1fr) max-content;
}

.character-profession-card summary small[b-8hyfibdrmx] {
    max-width: min(22rem, 48vw);
    overflow-wrap: normal;
    text-align: right;
    white-space: normal;
}

.character-advantage-actions[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: end;
    justify-content: flex-start;
}

.character-advantage-actions label[b-8hyfibdrmx] {
    display: grid;
    gap: 0.25rem;
}

.character-advantage-actions select[b-8hyfibdrmx],
.character-advantage-actions input[b-8hyfibdrmx] {
    min-height: 2rem;
    padding: 0.25rem 0.45rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.character-advantage-card dl[b-8hyfibdrmx] {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.character-advantage-card dl div[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(7rem, 0.25fr) minmax(0, 1fr);
    gap: 0.45rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--bs-border-color, #e5e7eb);
}

.character-advantage-card dl .character-guidance-positive[b-8hyfibdrmx] {
    border-left: 4px solid #22c55e;
    padding-left: 0.55rem;
}

.character-advantage-card dl .character-guidance-negative[b-8hyfibdrmx] {
    border-left: 4px solid #ef4444;
    padding-left: 0.55rem;
}

.character-advantage-card dl .character-guidance-atypical[b-8hyfibdrmx] {
    border-left: 4px solid #f59e0b;
    padding-left: 0.55rem;
}

.character-advantage-card dd[b-8hyfibdrmx] {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.86rem;
    line-height: 1.3;
}

.character-attributes[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.character-attribute[b-8hyfibdrmx] {
    display: grid;
    gap: 0.75rem;
    padding: 0.9rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-attribute-main[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: start;
}

.character-attribute-main h2[b-8hyfibdrmx] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
}

.character-attribute-main h2 span[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.85rem;
}

.character-attribute-main p[b-8hyfibdrmx] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
}

.character-attribute-main strong[b-8hyfibdrmx] {
    min-width: 2.6rem;
    text-align: right;
    font-size: 2rem;
    line-height: 1;
}

.character-info-button[b-8hyfibdrmx] {
    width: 1.35rem;
    height: 1.35rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 50%;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.character-attribute-meta[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.9rem;
    text-transform: none;
}

.character-basiswerte[b-8hyfibdrmx] {
    display: grid;
    gap: 0.85rem;
}

.character-section-header-plain[b-8hyfibdrmx] {
    padding-top: 0;
    border-top: 0;
}

.character-basiswerte-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.character-basiswert[b-8hyfibdrmx] {
    display: grid;
    gap: 0.55rem;
    padding: 0.8rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-basiswert-main[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: start;
}

.character-basiswert h3[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: baseline;
    margin: 0 0 0.2rem;
    font-size: 1rem;
}

.character-basiswert h3 span[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
}

.character-basiswert p[b-8hyfibdrmx],
.character-basiswert small[b-8hyfibdrmx] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
}

.character-basiswert strong[b-8hyfibdrmx] {
    min-width: 2.2rem;
    text-align: right;
    font-size: 1.75rem;
    line-height: 1;
}

.character-current-basiswerte[b-8hyfibdrmx] {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.25rem;
}

.character-current-basiswerte-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.character-current-basiswert[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.8rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-current-basiswert h3[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: baseline;
    margin: 0 0 0.2rem;
    font-size: 1rem;
}

.character-current-basiswert h3 span[b-8hyfibdrmx],
.character-current-basiswert p[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
}

.character-current-basiswert h3 span[b-8hyfibdrmx] {
    font-size: 0.78rem;
}

.character-current-basiswert p[b-8hyfibdrmx] {
    margin: 0;
    font-size: 0.82rem;
}

.character-current-basiswert .character-healing-status[b-8hyfibdrmx] {
    margin-top: 0.35rem;
    color: #9f1239;
    font-weight: 700;
}

.character-current-basiswert-controls[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: 2.35rem 3rem 2.35rem;
    gap: 0.35rem;
    align-items: center;
}

.character-current-basiswert-controls button[b-8hyfibdrmx] {
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-tertiary-bg, #f8fafc);
    color: var(--bs-body-color, #111827);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1;
}

.character-current-basiswert-controls button:hover[b-8hyfibdrmx],
.character-current-basiswert-controls button:focus-visible[b-8hyfibdrmx] {
    border-color: var(--bs-primary, #0d6efd);
    color: var(--bs-primary, #0d6efd);
}

.character-current-basiswert-controls button:disabled[b-8hyfibdrmx] {
    border-color: var(--bs-border-color, #d7dee8);
    background: var(--bs-secondary-bg, #e9ecef);
    color: var(--bs-secondary-color, #64748b);
    cursor: not-allowed;
    opacity: 0.58;
}

.character-current-basiswert-controls strong[b-8hyfibdrmx] {
    min-width: 3rem;
    text-align: center;
    font-size: 1.45rem;
    line-height: 1;
}

.character-basiswert-popup[b-8hyfibdrmx] {
    position: fixed;
    left: 50%;
    bottom: 1.25rem;
    z-index: 1100;
    min-width: 7rem;
    transform: translateX(-50%);
    padding: 0.7rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.2);
    border-radius: 0.5rem;
    background: rgba(15, 23, 42, 0.94);
    color: #fff;
    text-align: center;
    font-weight: 800;
    box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.22);
}

.character-basiswerte-settings[b-8hyfibdrmx] {
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-basiswerte-settings summary[b-8hyfibdrmx] {
    padding: 0.75rem 0.85rem;
    color: var(--bs-body-color, #111827);
    font-weight: 800;
}

.character-basiswerte-settings-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 0 0.85rem 0.85rem;
}

.character-basiswerte-settings label[b-8hyfibdrmx] {
    display: grid;
    gap: 0.3rem;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.character-basiswerte-settings input[b-8hyfibdrmx] {
    min-width: 0;
    min-height: 2.35rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #111827);
}

.character-currencies[b-8hyfibdrmx] {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.35rem;
}

.character-currency-region-controls[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.character-currency-region-controls select[b-8hyfibdrmx] {
    min-width: min(100%, 16rem);
    min-height: 2.35rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #111827);
}

.character-currency-region-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.character-currency-region[b-8hyfibdrmx] {
    display: grid;
    align-content: start;
    padding: 0.8rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-currency-region[open][b-8hyfibdrmx] {
    gap: 0.65rem;
}

.character-currency-region summary[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.6rem;
    align-items: baseline;
    cursor: pointer;
}

.character-currency-region summary span[b-8hyfibdrmx],
.character-currency-region p[b-8hyfibdrmx],
.character-currency-row[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
}

.character-currency-region p[b-8hyfibdrmx] {
    margin: 0;
}

.character-currency-remove-button[b-8hyfibdrmx] {
    justify-self: start;
    min-height: 2rem;
    padding: 0.25rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #111827);
    font-size: 0.82rem;
    font-weight: 800;
}

.character-currency-table[b-8hyfibdrmx] {
    display: grid;
    gap: 0.35rem;
}

.character-currency-row[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(8rem, 1.4fr) minmax(3rem, 0.4fr) minmax(7rem, 0.7fr) minmax(4rem, 0.55fr) minmax(6rem, 1fr);
    gap: 0.5rem;
    align-items: baseline;
    min-width: 0;
    padding-top: 0.35rem;
    border-top: 1px solid var(--bs-border-color, #e5e7eb);
}

.character-currency-row span[b-8hyfibdrmx] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.character-currency-row strong[b-8hyfibdrmx] {
    color: var(--bs-body-color, #111827);
}

.character-currency-counter[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: 2rem minmax(2rem, 1fr) 2rem;
    gap: 0.25rem;
    align-items: center;
}

.character-currency-counter span[b-8hyfibdrmx] {
    color: var(--bs-body-color, #111827);
    font-weight: 800;
    text-align: center;
}

.character-currency-button[b-8hyfibdrmx] {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    font-weight: 800;
    line-height: 1;
}

.character-currency-button:disabled[b-8hyfibdrmx] {
    opacity: 0.45;
}

.character-currency-head[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.character-attribute-controls[b-8hyfibdrmx] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.character-spell-extensions[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.45rem;
}

.character-spell-extension[b-8hyfibdrmx] {
    display: grid;
    gap: 0.15rem;
    min-height: 3.05rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    text-align: left;
}

.character-spell-extension span[b-8hyfibdrmx] {
    overflow-wrap: anywhere;
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.15;
}

.character-spell-extension small[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.72rem;
    font-weight: 800;
}

.character-spell-extension-bought[b-8hyfibdrmx] {
    border-color: #15803d;
    background: #f0fdf4;
}

.character-spell-extension:disabled[b-8hyfibdrmx] {
    cursor: not-allowed;
    border-color: var(--bs-border-color, #cbd5e1);
    background: var(--bs-secondary-bg, #f1f5f9);
    color: var(--bs-secondary-color, #64748b);
    opacity: 1;
}

.character-spell-extension:disabled small[b-8hyfibdrmx] {
    color: var(--bs-tertiary-color, #64748b);
}

[data-bs-theme="dark"] .character-spell-extension-bought[b-8hyfibdrmx] {
    border-color: #22c55e;
    background: rgba(34, 197, 94, 0.18);
}

[data-bs-theme="dark"] .character-spell-extension:disabled[b-8hyfibdrmx] {
    border-color: #475569;
    background: #1e293b;
    color: #cbd5e1;
}

[data-bs-theme="dark"] .character-spell-extension:disabled small[b-8hyfibdrmx] {
    color: #94a3b8;
}

.character-button[b-8hyfibdrmx] {
    width: auto;
    height: auto;
    min-width: 2.4rem;
    min-height: 2.4rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.15;
    overflow-wrap: anywhere;
    text-align: center;
    white-space: normal;
}

.character-button-primary[b-8hyfibdrmx] {
    background: #1f2937;
    color: #fff;
}

.character-button-secondary[b-8hyfibdrmx] {
    min-width: 3rem;
    font-size: 0.85rem;
}

.character-button:disabled[b-8hyfibdrmx] {
    cursor: not-allowed;
    opacity: 0.45;
}

.character-link-button[b-8hyfibdrmx] {
    min-height: 1.8rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #2563eb;
    font: inherit;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.18rem;
}

.character-link-button:hover[b-8hyfibdrmx] {
    color: #1d4ed8;
}

.character-probe-backdrop[b-8hyfibdrmx] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgb(15 23 42 / 0.48);
}

.character-probe-dialog[b-8hyfibdrmx] {
    display: grid;
    width: min(100%, 28rem);
    max-height: calc(100dvh - 2rem);
    gap: 0.85rem;
    padding: 1rem;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 1rem 2.4rem rgb(15 23 42 / 0.22);
}

.character-talent-probe-dialog[b-8hyfibdrmx] {
    width: min(100%, 40rem);
}

.character-probe-header[b-8hyfibdrmx] {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.character-probe-header h2[b-8hyfibdrmx] {
    margin: 0 0 0.15rem;
    font-size: 1.2rem;
}

.character-probe-header p[b-8hyfibdrmx] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
}

.character-probe-close[b-8hyfibdrmx] {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

.character-probe-values[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.character-probe-values div[b-8hyfibdrmx] {
    display: grid;
    gap: 0.1rem;
    padding: 0.65rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
}

.character-probe-values span[b-8hyfibdrmx],
.character-probe-field[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.character-probe-values strong[b-8hyfibdrmx] {
    color: var(--bs-body-color, #111827);
    font-size: 1.25rem;
}

.character-probe-field[b-8hyfibdrmx] {
    display: grid;
    gap: 0.35rem;
}

.character-probe-field input[b-8hyfibdrmx] {
    min-height: 2.4rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #111827);
    font: inherit;
}

.character-probe-field select[b-8hyfibdrmx] {
    min-height: 2.4rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #111827);
    font: inherit;
}

.character-probe-field span[b-8hyfibdrmx] {
    color: var(--bs-body-color, #111827);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: none;
}

.character-probe-result[b-8hyfibdrmx] {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem;
    border: 1px solid;
    border-radius: 0.4rem;
}

.character-probe-result span[b-8hyfibdrmx] {
    font-weight: 800;
}

.character-probe-result strong[b-8hyfibdrmx] {
    font-size: 1.05rem;
}

.character-probe-result p[b-8hyfibdrmx] {
    margin: 0;
}

.character-probe-success[b-8hyfibdrmx] {
    border-color: #16a34a;
    background: #f0fdf4;
    color: #14532d;
}

.character-probe-failure[b-8hyfibdrmx] {
    border-color: #dc2626;
    background: #fef2f2;
    color: #7f1d1d;
}

.character-probe-actions[b-8hyfibdrmx] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.character-probe-roll[b-8hyfibdrmx] {
    min-height: 2.4rem;
    padding: 0 0.8rem;
    border: 1px solid #1f2937;
    border-radius: 0.4rem;
    background: #1f2937;
    color: #fff;
    font-weight: 800;
}

.character-probe-rule-fields[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0;
}

.character-probe-rule-fields div[b-8hyfibdrmx] {
    display: grid;
    gap: 0.1rem;
    padding: 0.55rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
}

.character-probe-rule-fields dt[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.character-probe-rule-fields dd[b-8hyfibdrmx] {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.9rem;
    font-weight: 700;
}

.character-probe-selection-detail[b-8hyfibdrmx] {
    margin: 0;
    padding: 0.65rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
    background: var(--bs-tertiary-bg, #f8fafc);
    color: var(--bs-body-color, #111827);
    font-size: 0.92rem;
}

.character-probe-option-group[b-8hyfibdrmx] {
    display: grid;
    gap: 0.45rem;
}

.character-probe-option-group > span[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.character-probe-spell-rules[b-8hyfibdrmx] {
    display: grid;
    gap: 0.55rem;
}

.character-probe-rule-summary[b-8hyfibdrmx] {
    display: grid;
    gap: 0.15rem;
    padding: 0.65rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
    background: var(--bs-tertiary-bg, #f8fafc);
}

.character-probe-rule-summary strong[b-8hyfibdrmx],
.character-probe-rule-summary span[b-8hyfibdrmx] {
    font-weight: 800;
}

.character-probe-rule-summary small[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-weight: 700;
}

.character-probe-rule-warning[b-8hyfibdrmx] {
    border-color: #dc2626;
    background: #fef2f2;
    color: #7f1d1d;
}

.character-probe-toggle-grid[b-8hyfibdrmx],
.character-probe-number-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.character-probe-toggle-grid label[b-8hyfibdrmx] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.35rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
    font-size: 0.86rem;
    font-weight: 800;
}

.character-talent-probe-attributes[b-8hyfibdrmx],
.character-talent-probe-rolls[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.character-talent-probe-rolls[b-8hyfibdrmx] {
    margin: 0.45rem 0 0;
}

.character-talent-probe-rolls div[b-8hyfibdrmx] {
    display: grid;
    gap: 0.1rem;
}

.character-talent-probe-rolls dt[b-8hyfibdrmx] {
    font-weight: 800;
}

.character-talent-probe-rolls dd[b-8hyfibdrmx] {
    margin: 0;
}

.character-meaning-text[b-8hyfibdrmx] {
    max-height: min(62vh, 34rem);
    margin: 0;
    padding: 0.75rem;
    overflow: auto;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
    background: var(--bs-tertiary-bg, #f8fafc);
    color: inherit;
    font: inherit;
    white-space: pre-wrap;
}

.character-talents[b-8hyfibdrmx] {
    display: grid;
    gap: 0.85rem;
    padding-top: 0.35rem;
}

#character-spells > .character-unlock-list[b-8hyfibdrmx] {
    grid-row: 2;
}

.character-section-header[b-8hyfibdrmx] {
    display: flex;
    gap: 1rem;
    align-items: end;
    justify-content: space-between;
    padding-top: 0.9rem;
    border-top: 1px solid var(--bs-border-color, #d7dee8);
}

.character-section-header h2[b-8hyfibdrmx] {
    margin: 0 0 0.2rem;
    font-size: 1.25rem;
}

.character-section-header p[b-8hyfibdrmx],
.character-status[b-8hyfibdrmx],
.character-talent-summary[b-8hyfibdrmx] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
}

.character-section-header input[b-8hyfibdrmx] {
    width: min(100%, 18rem);
    min-height: 2.4rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.character-error[b-8hyfibdrmx] {
    color: #b91c1c;
}

.character-talent-summary[b-8hyfibdrmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    align-items: center;
    font-size: 0.86rem;
}

.character-talent-category[b-8hyfibdrmx] {
    display: grid;
    gap: 0.65rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--bs-border-color, #d7dee8);
}

.character-talent-category h3[b-8hyfibdrmx] {
    margin: 0;
    color: var(--bs-body-color, #111827);
    font-size: 1.08rem;
}

.character-talent-value[b-8hyfibdrmx] {
    display: grid;
    gap: 0.15rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--bs-border-color, #e5e7eb);
}

.character-talent-value span[b-8hyfibdrmx],
.character-talent-value small[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
    font-weight: 700;
}

.character-talent-value strong[b-8hyfibdrmx] {
    font-size: 1.5rem;
    line-height: 1;
}

.character-talent-grid[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.character-talent-card[b-8hyfibdrmx] {
    display: grid;
    align-content: start;
    min-width: 0;
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
}

.character-talent-card[open][b-8hyfibdrmx] {
    gap: 0.55rem;
    grid-column: 1 / -1;
}

.character-talent-card-unavailable[b-8hyfibdrmx] {
    background: var(--bs-tertiary-bg, #f8fafc);
    color: var(--bs-secondary-color, #64748b);
}

.character-talent-card-unavailable summary[b-8hyfibdrmx] {
    opacity: 0.72;
}

.character-talent-title[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.4rem;
    align-items: center;
    cursor: pointer;
    list-style-position: outside;
}

.character-talent-title h4[b-8hyfibdrmx] {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.92rem;
    line-height: 1.18;
}

.character-talent-source[b-8hyfibdrmx] {
    justify-self: start;
    color: #1f2937;
    font-size: 0.86rem;
    font-weight: 700;
}

.character-talent-card dl[b-8hyfibdrmx] {
    display: grid;
    gap: 0.35rem;
    margin: 0;
}

.character-talent-card dl div[b-8hyfibdrmx] {
    display: grid;
    grid-template-columns: minmax(8rem, 0.36fr) minmax(0, 1fr);
    gap: 0.45rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--bs-border-color, #e5e7eb);
}

.character-talent-card dt[b-8hyfibdrmx] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.72rem;
    font-weight: 700;
}

.character-talent-card dd[b-8hyfibdrmx] {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.86rem;
    line-height: 1.3;
}

@media (max-width: 900px) {
    .character-header[b-8hyfibdrmx],
    .character-summary[b-8hyfibdrmx],
    .character-attributes[b-8hyfibdrmx],
    .character-experience-grid[b-8hyfibdrmx],
    .character-species-grid[b-8hyfibdrmx],
    .character-species-choices[b-8hyfibdrmx],
    .character-species-traits[b-8hyfibdrmx],
    .character-currency-region-grid[b-8hyfibdrmx],
    .character-current-basiswerte-grid[b-8hyfibdrmx],
    .character-talent-grid[b-8hyfibdrmx] {
        grid-template-columns: 1fr;
    }

    .character-advantage-grid[b-8hyfibdrmx] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .character-basiswerte-grid[b-8hyfibdrmx],
    .character-basiswerte-settings-grid[b-8hyfibdrmx] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .character-header[b-8hyfibdrmx] {
        display: grid;
    }

    .character-section-header[b-8hyfibdrmx] {
        display: grid;
        align-items: start;
    }

    .character-section-header input[b-8hyfibdrmx] {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .character-summary[b-8hyfibdrmx],
    .character-attributes[b-8hyfibdrmx],
    .character-experience-grid[b-8hyfibdrmx],
    .character-advantage-grid[b-8hyfibdrmx],
    .character-talent-grid[b-8hyfibdrmx],
    .character-basiswerte-grid[b-8hyfibdrmx],
    .character-current-basiswerte-grid[b-8hyfibdrmx],
    .character-basiswerte-settings-grid[b-8hyfibdrmx],
    .character-probe-values[b-8hyfibdrmx],
    .character-probe-rule-fields[b-8hyfibdrmx],
    .character-probe-toggle-grid[b-8hyfibdrmx],
    .character-probe-number-grid[b-8hyfibdrmx],
    .character-talent-probe-attributes[b-8hyfibdrmx],
    .character-talent-probe-rolls[b-8hyfibdrmx] {
        grid-template-columns: 1fr;
    }

    .character-currency-row[b-8hyfibdrmx] {
        grid-template-columns: minmax(0, 1fr) 4rem;
    }

    .character-currency-row span:nth-child(3)[b-8hyfibdrmx],
    .character-currency-row span:nth-child(4)[b-8hyfibdrmx],
    .character-currency-row span:nth-child(5)[b-8hyfibdrmx] {
        grid-column: 1 / -1;
    }

    .character-talent-card dl div[b-8hyfibdrmx] {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    .character-advantage-card summary[b-8hyfibdrmx],
    .character-advantage-card dl div[b-8hyfibdrmx] {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }
}
/* /Pages/Character/CharacterCardIndexList.razor.rz.scp.css */
.character-card-index-grid[b-ngj5u7zycd] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.character-link-button.character-card-index-card[b-ngj5u7zycd] {
    display: grid;
    flex: 1 1 calc(30ch + 1.2rem);
    gap: 0.2rem;
    min-width: 0;
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #111827);
    text-align: left;
    text-decoration: none;
}

.character-link-button.character-card-index-card:hover[b-ngj5u7zycd],
.character-link-button.character-card-index-card:focus-visible[b-ngj5u7zycd] {
    border-color: #1f2937;
    color: var(--bs-body-color, #111827);
}

.character-link-button.character-card-index-card:disabled[b-ngj5u7zycd] {
    cursor: progress;
    opacity: 0.7;
}

.character-card-index-card span[b-ngj5u7zycd] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.character-card-index-card strong[b-ngj5u7zycd] {
    display: block;
    min-width: 0;
    max-width: 30ch;
    overflow-wrap: break-word;
    font-size: 0.92rem;
    line-height: 1.18;
    white-space: normal;
}

.character-card-index-inline-detail[b-ngj5u7zycd] {
    flex: 1 1 100%;
    min-width: 0;
}

.character-link-button.character-culture-typical[b-ngj5u7zycd] {
    border: 2px solid #22c55e;
    border-radius: 0.4rem;
}

.character-link-button.character-culture-atypical[b-ngj5u7zycd] {
    border: 2px solid #f59e0b;
    border-radius: 0.4rem;
}

.character-link-button.character-profession-included[b-ngj5u7zycd] {
    border: 2px solid #38bdf8;
    border-radius: 0.4rem;
}

.character-link-button.character-profession-suggested[b-ngj5u7zycd] {
    border: 2px solid #a78bfa;
    border-radius: 0.4rem;
}

.character-link-button.character-profession-unsuitable[b-ngj5u7zycd] {
    border: 2px solid #fb7185;
    border-radius: 0.4rem;
}

@media (max-width: 900px) {
    .character-link-button.character-card-index-card[b-ngj5u7zycd] {
        flex-basis: 100%;
    }
}
/* /Pages/Character/Sections/CharacterSummarySection.razor.rz.scp.css */
.character-summary[b-v52foufgm1] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 0.8rem 0;
    border-top: 1px solid var(--bs-border-color, #d7dee8);
    border-bottom: 1px solid var(--bs-border-color, #d7dee8);
}

.character-summary div[b-v52foufgm1] {
    display: grid;
    gap: 0.15rem;
}

.character-summary span[b-v52foufgm1] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
}

.character-summary strong[b-v52foufgm1] {
    font-size: 1.35rem;
}

@media (max-width: 900px) {
    .character-summary[b-v52foufgm1] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Character/TalentProbeDialog.razor.rz.scp.css */
.character-probe-backdrop[b-l0nfpmt8ri] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgb(15 23 42 / 0.48);
}

.character-probe-dialog[b-l0nfpmt8ri] {
    position: relative;
    display: grid;
    width: min(100%, 28rem);
    max-height: calc(100dvh - 2rem);
    gap: 0.85rem;
    padding: 1rem;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color, #d7dee8);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 1rem 2.4rem rgb(15 23 42 / 0.22);
}

.character-talent-probe-dialog[b-l0nfpmt8ri] {
    width: min(100%, 40rem);
}

.character-probe-header[b-l0nfpmt8ri] {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.character-probe-header h2[b-l0nfpmt8ri] {
    margin: 0 0 0.15rem;
    font-size: 1.2rem;
}

.character-probe-header p[b-l0nfpmt8ri] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
}

.character-probe-close[b-l0nfpmt8ri] {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

.character-probe-values[b-l0nfpmt8ri] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.character-probe-values div[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.1rem;
    padding: 0.65rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
}

.character-probe-values span[b-l0nfpmt8ri],
.character-probe-field[b-l0nfpmt8ri] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.character-probe-values strong[b-l0nfpmt8ri] {
    color: var(--bs-body-color, #111827);
    font-size: 1.25rem;
}

.character-probe-field[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.35rem;
}

.character-probe-field input[b-l0nfpmt8ri],
.character-probe-field select[b-l0nfpmt8ri] {
    min-height: 2.4rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #111827);
    font: inherit;
}

.character-probe-field span[b-l0nfpmt8ri] {
    color: var(--bs-body-color, #111827);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: none;
}

.character-probe-rule-fields[b-l0nfpmt8ri] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0;
}

.character-probe-rule-fields div[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.1rem;
    padding: 0.55rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
}

.character-probe-rule-fields dt[b-l0nfpmt8ri] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.character-probe-rule-fields dd[b-l0nfpmt8ri] {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.9rem;
    font-weight: 700;
}

.character-probe-selection-detail[b-l0nfpmt8ri] {
    margin: 0;
    padding: 0.65rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
    background: var(--bs-tertiary-bg, #f8fafc);
    color: var(--bs-body-color, #111827);
    font-size: 0.92rem;
}

.character-probe-option-group[b-l0nfpmt8ri],
.character-probe-jump-config[b-l0nfpmt8ri],
.character-probe-spell-rules[b-l0nfpmt8ri],
.character-probe-alchemie-details[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.55rem;
}

.character-probe-option-group > span[b-l0nfpmt8ri] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.character-spell-extensions[b-l0nfpmt8ri] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.45rem;
}

.character-spell-extension[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.15rem;
    min-height: 3.05rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
    text-align: left;
}

.character-spell-extension span[b-l0nfpmt8ri] {
    overflow-wrap: anywhere;
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.15;
}

.character-spell-extension small[b-l0nfpmt8ri] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.72rem;
    font-weight: 800;
}

.character-spell-extension-bought[b-l0nfpmt8ri] {
    border-color: #15803d;
    background: #f0fdf4;
}

[data-bs-theme="dark"] .character-spell-extension-bought[b-l0nfpmt8ri] {
    border-color: #22c55e;
    background: rgba(34, 197, 94, 0.18);
    color: #e5e7eb;
}

[data-bs-theme="dark"] .character-spell-extension-bought small[b-l0nfpmt8ri] {
    color: #cbd5e1;
}

.character-probe-alchemie-toggle[b-l0nfpmt8ri] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--app-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: linear-gradient(135deg, var(--app-surface-bg, #ffffff), var(--app-surface-muted, #f3f4f6));
    color: var(--app-text-strong, inherit);
    text-align: left;
}

.character-probe-alchemie-toggle span[b-l0nfpmt8ri] {
    font-size: 0.94rem;
    font-weight: 800;
}

.character-probe-alchemie-toggle small[b-l0nfpmt8ri] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
}

.character-probe-alchemie-grid[b-l0nfpmt8ri] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 0.6rem;
}

.character-probe-alchemie-card[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.55rem;
    padding: 0.8rem;
    border: 1px solid var(--app-border-color, #e2e8f0);
    border-radius: 0.5rem;
    background: var(--app-surface-bg, #fff);
}

.character-probe-alchemie-card h3[b-l0nfpmt8ri] {
    margin: 0;
    font-size: 0.95rem;
}

.character-probe-alchemie-content[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.45rem;
    color: var(--bs-body-color, #111827);
    font-size: 0.9rem;
}

.character-probe-alchemie-content :is(h2, h3, h4, h5, h6)[b-l0nfpmt8ri] {
    margin: 0;
    font-size: 0.85rem;
}

.character-probe-alchemie-content p[b-l0nfpmt8ri],
.character-probe-alchemie-content ul[b-l0nfpmt8ri],
.character-probe-alchemie-content table[b-l0nfpmt8ri] {
    margin: 0;
}

.character-probe-alchemie-content ul[b-l0nfpmt8ri] {
    padding-left: 1.15rem;
}

.character-probe-alchemie-content table[b-l0nfpmt8ri] {
    display: block;
    overflow-x: auto;
    font-size: 0.82rem;
}

.character-probe-alchemie-content th[b-l0nfpmt8ri],
.character-probe-alchemie-content td[b-l0nfpmt8ri] {
    min-width: 6rem;
    padding: 0.3rem 0.4rem;
    border: 1px solid var(--app-border-color, #e5e7eb);
}

.character-probe-rule-summary[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.15rem;
    padding: 0.65rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
    background: var(--bs-tertiary-bg, #f8fafc);
}

.character-probe-rule-summary strong[b-l0nfpmt8ri],
.character-probe-rule-summary span[b-l0nfpmt8ri] {
    font-weight: 800;
}

.character-probe-rule-summary small[b-l0nfpmt8ri] {
    color: var(--bs-secondary-color, #64748b);
    font-weight: 700;
}

.character-probe-rule-warning[b-l0nfpmt8ri] {
    border-color: #dc2626;
    background: #fef2f2;
    color: #7f1d1d;
}

.character-probe-toggle-grid[b-l0nfpmt8ri],
.character-probe-number-grid[b-l0nfpmt8ri] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.character-probe-toggle-grid label[b-l0nfpmt8ri] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.35rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 0.4rem;
    font-size: 0.86rem;
    font-weight: 800;
}

.character-probe-toggle-grid-invocation[b-l0nfpmt8ri] {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}

.character-probe-toggle-grid-invocation label[b-l0nfpmt8ri] {
    align-items: flex-start;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.character-probe-toggle-grid-invocation input[type="checkbox"][b-l0nfpmt8ri] {
    margin-top: 0.1rem;
    flex: 0 0 auto;
}

.character-probe-range-field[b-l0nfpmt8ri] {
    gap: 0.55rem;
}

.character-probe-range-field input[type="range"][b-l0nfpmt8ri] {
    padding: 0;
}

.character-talent-probe-attributes[b-l0nfpmt8ri],
.character-talent-probe-rolls[b-l0nfpmt8ri] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.character-talent-probe-rolls[b-l0nfpmt8ri] {
    margin: 0.45rem 0 0;
}

.character-probe-result[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem;
    border: 1px solid;
    border-radius: 0.4rem;
}

.character-probe-result span[b-l0nfpmt8ri] {
    font-weight: 800;
}

.character-probe-result strong[b-l0nfpmt8ri] {
    font-size: 1.05rem;
}

.character-probe-result p[b-l0nfpmt8ri] {
    margin: 0;
}

.character-probe-success[b-l0nfpmt8ri] {
    border-color: #16a34a;
    background: #f0fdf4;
    color: #14532d;
}

.character-probe-failure[b-l0nfpmt8ri] {
    border-color: #dc2626;
    background: #fef2f2;
    color: #7f1d1d;
}

.character-probe-actions[b-l0nfpmt8ri] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.character-probe-roll[b-l0nfpmt8ri] {
    min-height: 2.4rem;
    padding: 0 0.8rem;
    border: 1px solid var(--app-border-color, #1f2937);
    border-radius: 0.4rem;
    background: var(--app-surface-accent, #1f2937);
    color: var(--app-text-strong, #fff);
    font-weight: 800;
}

.character-talent-source[b-l0nfpmt8ri] {
    justify-self: start;
    color: var(--app-text-strong, #1f2937);
    font-size: 0.86rem;
    font-weight: 700;
}

.character-probe-rule-fields-single[b-l0nfpmt8ri] {
    grid-template-columns: 1fr;
}

.character-probe-alchemy-item-suggested[b-l0nfpmt8ri] {
    border-color: #0f766e;
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.18);
}

.character-probe-confirm-backdrop[b-l0nfpmt8ri] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.52);
    border-radius: 0.5rem;
}

.character-probe-confirm-dialog[b-l0nfpmt8ri] {
    display: grid;
    gap: 0.75rem;
    width: min(100%, 30rem);
    padding: 1rem;
    border: 1px solid var(--app-border-color, #cbd5e1);
    border-radius: 0.5rem;
    background: var(--app-surface-bg, #fff);
    color: var(--app-text-strong, inherit);
    box-shadow: var(--app-shadow-panel, 0 18px 35px rgba(15, 23, 42, 0.12));
}

.character-probe-confirm-dialog h3[b-l0nfpmt8ri],
.character-probe-confirm-dialog p[b-l0nfpmt8ri] {
    margin: 0;
}

.character-probe-roll-secondary[b-l0nfpmt8ri] {
    background: var(--app-surface-muted, #f3f4f6);
    color: var(--app-text-strong, inherit);
}

.character-probe-roll[data-roll-label][b-l0nfpmt8ri] {
    font-size: 0;
}

.character-probe-roll[data-roll-label][b-l0nfpmt8ri]::after {
    content: attr(data-roll-label);
    font-size: 1rem;
}

[data-bs-theme="dark"] .character-probe-rule-warning[b-l0nfpmt8ri] {
    background: rgba(127, 29, 29, 0.35);
    color: #fecaca;
}

[data-bs-theme="dark"] .character-probe-success[b-l0nfpmt8ri] {
    background: rgba(20, 83, 45, 0.28);
    color: #bbf7d0;
}

[data-bs-theme="dark"] .character-probe-failure[b-l0nfpmt8ri] {
    background: rgba(127, 29, 29, 0.35);
    color: #fecaca;
}

@media (max-width: 640px) {
    .character-probe-values[b-l0nfpmt8ri],
    .character-probe-rule-fields[b-l0nfpmt8ri],
    .character-probe-toggle-grid[b-l0nfpmt8ri],
    .character-probe-number-grid[b-l0nfpmt8ri],
    .character-probe-alchemie-grid[b-l0nfpmt8ri],
    .character-talent-probe-attributes[b-l0nfpmt8ri],
    .character-talent-probe-rolls[b-l0nfpmt8ri] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/ChessBoardFen/ChessBoardFen.razor.rz.scp.css */
.exercise-panel[b-ymnhcq5nlh] {
    width: fit-content;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.exercise-header[b-ymnhcq5nlh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.exercise-title[b-ymnhcq5nlh] {
    margin: 0;
    font-size: 1rem;
}

.exercise-topic-panel[b-ymnhcq5nlh] {
    margin-bottom: 0.35rem;
}

.exercise-topic-field[b-ymnhcq5nlh] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--app-text-muted);
    font-size: 0.9rem;
}

.exercise-topic-select[b-ymnhcq5nlh] {
    min-width: min(18rem, 70vw);
    border: 1px solid var(--app-border-muted);
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    padding: 0.35rem 0.55rem;
    font-size: 0.9rem;
}

.lecture-labyrinth-panel .exercise-topic-field[b-ymnhcq5nlh] {
    margin-bottom: 0.65rem;
}

.side-to-move[b-ymnhcq5nlh] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    color: var(--app-text-muted);
}

.turn-indicator[b-ymnhcq5nlh] {
    width: 0.8rem;
    height: 0.8rem;
    border: 1px solid #222;
    display: inline-block;
}

.turn-white[b-ymnhcq5nlh] {
    background-color: #ffffff;
}

.turn-black[b-ymnhcq5nlh] {
    background-color: #111111;
}

.exercise-list[b-ymnhcq5nlh] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.4rem;
}

.exercise-button[b-ymnhcq5nlh] {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--app-border-muted);
    border-radius: 4px;
    background-color: var(--app-surface-muted);
    color: var(--app-text-strong);
    font-weight: 600;
    cursor: pointer;
}

.exercise-button.single[b-ymnhcq5nlh] {
    width: auto;
    min-width: 14rem;
    padding: 0 0.75rem;
}

.exercise-button.next-highlight[b-ymnhcq5nlh] {
    border-color: #ff8f00;
    background-color: #ffe082;
    box-shadow: 0 0 0 2px rgba(255, 143, 0, 0.25);
}

.exercise-button:disabled[b-ymnhcq5nlh] {
    opacity: 0.7;
    cursor: not-allowed;
}

.exercise-status[b-ymnhcq5nlh] {
    margin-top: 0.4rem;
    margin-bottom: 0;
    font-size: 0.9rem;
    color: var(--app-text-muted);
}

.lecture-labyrinth-panel[b-ymnhcq5nlh] {
    max-width: min(100%, 28rem);
}

.lecture-labyrinth-fen[b-ymnhcq5nlh] {
    margin: 0.45rem 0 0;
    overflow-wrap: anywhere;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
    color: var(--app-text-muted);
}

.lecture-labyrinth-button[b-ymnhcq5nlh] {
    min-height: 2rem;
}

.lecture-labyrinth-actions[b-ymnhcq5nlh] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.55rem;
}

.lecture-labyrinth-toggle[b-ymnhcq5nlh] {
    border: 1px solid #5c6773;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    padding: 0.35rem 0.7rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.lecture-labyrinth-toggle.active[b-ymnhcq5nlh] {
    background: #dbeafe;
    border-color: #2563eb;
    color: #1e3a8a;
    font-weight: 600;
}

.lecture-labyrinth-toggle:disabled[b-ymnhcq5nlh] {
    background: var(--app-surface-muted);
    border-color: var(--app-border-muted);
    color: var(--app-text-muted);
    cursor: not-allowed;
}

.exercise-panel + .chessboard[b-ymnhcq5nlh] {
    margin-top: 1rem;
}

.fen-error[b-ymnhcq5nlh] {
    color: #b00020;
    margin-top: 0.5rem;
}

.engine-panel[b-ymnhcq5nlh] {
    margin-top: 0.8rem;
    width: fit-content;
}

.promotion-picker[b-ymnhcq5nlh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: 0.4rem 0 0.5rem;
}

.promotion-label[b-ymnhcq5nlh] {
    font-size: 0.9rem;
    color: var(--app-text-muted);
}

.promotion-button[b-ymnhcq5nlh] {
    min-width: 5.5rem;
}

.engine-button[b-ymnhcq5nlh] {
    border: 1px solid #4b5563;
    background: var(--app-surface-muted-hover);
    color: var(--app-text-strong);
    border-radius: 4px;
    padding: 0.35rem 0.7rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.engine-button:disabled[b-ymnhcq5nlh] {
    opacity: 0.7;
    cursor: not-allowed;
}

.engine-status[b-ymnhcq5nlh] {
    margin-top: 0.4rem;
    margin-bottom: 0;
    font-size: 0.9rem;
    color: var(--app-text-muted);
}

.engine-result[b-ymnhcq5nlh] {
    margin-top: 0.3rem;
    font-size: 0.9rem;
    color: var(--app-text-strong);
}

.engine-lines[b-ymnhcq5nlh] {
    margin: 0.25rem 0 0;
    padding-left: 1.4rem;
}

.engine-lines li[b-ymnhcq5nlh] {
    margin-top: 0.15rem;
}

.engine-line-score[b-ymnhcq5nlh] {
    font-weight: 600;
}

.chessboard-fen-layout[b-ymnhcq5nlh] {
    display: inline-block;
}

.chessboard-fen-layout.display-only[b-ymnhcq5nlh],
.chessboard-fen-layout.display-only .board-area[b-ymnhcq5nlh],
.chessboard-fen-layout.display-only[b-ymnhcq5nlh]  .chessboard-shell,
.chessboard-fen-layout.display-only[b-ymnhcq5nlh]  .chessboard {
    width: 100%;
    min-width: 0;
}

.chessboard-fen-layout.display-only .board-area[b-ymnhcq5nlh] {
    display: flex;
    justify-content: center;
}

.chessboard-fen-layout.display-only[b-ymnhcq5nlh]  .chessboard-shell {
    --piece-size: var(--display-only-piece-size, clamp(1rem, 7vw, 2rem));
}

.chessboard-fen-layout.display-only[b-ymnhcq5nlh]  .board-grid-shell,
.chessboard-fen-layout.display-only[b-ymnhcq5nlh]  .board-grid {
    width: var(--display-only-board-width, 100%) !important;
    aspect-ratio: 1;
}

.chessboard-fen-layout.display-only[b-ymnhcq5nlh]  .board-grid {
    border: var(--display-only-board-border, 2px solid #111827);
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(8, minmax(0, 1fr)) !important;
}

.chessboard-fen-layout.display-only[b-ymnhcq5nlh]  .chessboard .light {
    background: var(--display-only-light-square, #f0d9b5);
}

.chessboard-fen-layout.display-only[b-ymnhcq5nlh]  .chessboard .dark {
    background: var(--display-only-dark-square, #b58863);
}

.chessboard-fen-layout.opening-layout[b-ymnhcq5nlh] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.chessboard-fen-layout:focus[b-ymnhcq5nlh] {
    outline: none;
}

.board-area[b-ymnhcq5nlh] {
    min-width: 19.5rem;
}

.tree-panel[b-ymnhcq5nlh] {
    min-width: 18rem;
    flex: 1;
    border: 1px solid var(--app-border-color);
    border-radius: 8px;
    padding: 0.75rem;
    background: var(--app-surface-muted);
}

.tree-header[b-ymnhcq5nlh] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

.tree-header h3[b-ymnhcq5nlh] {
    margin: 0;
    font-size: 1.05rem;
}

.line-label[b-ymnhcq5nlh] {
    margin: 0.45rem 0;
    font-size: 0.9rem;
    color: var(--app-text-muted);
    word-break: break-word;
}

.tree-scroll-region[b-ymnhcq5nlh] {
    display: grid;
    gap: 0.45rem;
    max-height: min(38rem, 60vh);
    overflow: auto;
    overscroll-behavior: contain;
    padding-right: 0.25rem;
    scrollbar-gutter: stable;
}

.tree-root[b-ymnhcq5nlh] {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.25rem;
}

.tree-root[b-ymnhcq5nlh]  .tree-branch,
.tree-root[b-ymnhcq5nlh]  .tree-variations {
    display: grid;
    gap: 0.3rem;
}

.tree-root[b-ymnhcq5nlh]  .tree-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.45rem;
    padding-left: calc(var(--tree-depth) * 1rem);
    line-height: 1.45;
}

.tree-root[b-ymnhcq5nlh]  .tree-move {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    color: var(--app-text-strong);
    font-size: 0.92rem;
    cursor: pointer;
    user-select: none;
    scroll-margin-block: 0.65rem;
    scroll-margin-inline: 0.65rem;
}

.tree-root[b-ymnhcq5nlh]  .tree-move-main {
    display: inline-flex;
    align-items: baseline;
    gap: 0.18rem;
}

.tree-root[b-ymnhcq5nlh]  .tree-move:hover .tree-move-main {
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 0.15em;
}

.tree-root[b-ymnhcq5nlh]  .tree-move:focus-visible {
    outline: 2px solid #93c5fd;
    outline-offset: 3px;
    border-radius: 4px;
}

.tree-root[b-ymnhcq5nlh]  .tree-move-prefix {
    color: var(--app-text-muted);
    font-variant-numeric: tabular-nums;
}

.tree-root[b-ymnhcq5nlh]  .tree-move.current {
    color: var(--bs-link-color);
    font-weight: 600;
}

.tree-root[b-ymnhcq5nlh]  .tree-move.current .tree-move-main {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.18em;
}

.variant-navigation-buttons[b-ymnhcq5nlh] {
    display: none;
    margin-top: 0.65rem;
    gap: 0.5rem;
}

.variant-navigation-button[b-ymnhcq5nlh] {
    min-width: 3rem;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1;
}

.secondary-button[b-ymnhcq5nlh] {
    border: 1px solid #5c6773;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    padding: 0.35rem 0.7rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.secondary-button:disabled[b-ymnhcq5nlh] {
    background: #e5e7eb;
    border-color: #9ca3af;
    color: #6b7280;
    cursor: not-allowed;
    opacity: 1;
}

[data-bs-theme="dark"] .tree-panel[b-ymnhcq5nlh] {
    background: #343a40;
}

@media (max-width: 767.98px) {
    .chessboard-fen-layout.opening-layout[b-ymnhcq5nlh] {
        flex-direction: column;
    }

    .board-area[b-ymnhcq5nlh],
    .tree-panel[b-ymnhcq5nlh] {
        width: 100%;
        min-width: 0;
    }

    .variant-navigation-buttons[b-ymnhcq5nlh] {
        display: flex;
    }
}
/* /Pages/Construct/Construct.razor.rz.scp.css */
.construct-page[b-lkax3sp59v] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 76rem;
}

.construct-header[b-lkax3sp59v] {
    display: grid;
    gap: 0.25rem;
}

.construct-header h1[b-lkax3sp59v] {
    margin: 0;
    color: var(--app-text-strong);
    font-size: 1.65rem;
}

.construct-header p[b-lkax3sp59v] {
    margin: 0;
    color: var(--app-text-muted);
}

.construct-controls[b-lkax3sp59v] {
    display: grid;
    gap: 0.75rem;
    max-width: 62rem;
}

.construct-fen-field[b-lkax3sp59v],
.construct-depth-field[b-lkax3sp59v] {
    display: grid;
    gap: 0.3rem;
    color: var(--app-text-muted);
    font-size: 0.88rem;
    font-weight: 600;
}

.construct-fen-input[b-lkax3sp59v],
.construct-depth-input[b-lkax3sp59v] {
    border: 1px solid #9ca3af;
    border-radius: 5px;
    background: var(--app-surface);
    color: var(--app-text-strong);
}

.construct-fen-input[b-lkax3sp59v] {
    width: 100%;
    min-height: 5rem;
    padding: 0.55rem 0.65rem;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.92rem;
}

.construct-actions[b-lkax3sp59v] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.65rem;
}

.construct-piece-tools[b-lkax3sp59v] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.construct-piece-tool[b-lkax3sp59v] {
    display: inline-grid;
    place-items: center;
    width: 2.45rem;
    aspect-ratio: 1;
    border: 1px solid #94a3b8;
    border-radius: 5px;
    background: var(--app-surface);
    color: var(--app-text-strong);
    cursor: pointer;
}

.construct-piece-tool.is-selected[b-lkax3sp59v] {
    border-color: #2563eb;
    background: #dbeafe;
    box-shadow: inset 0 0 0 1px #2563eb;
}

.construct-piece-symbol[b-lkax3sp59v] {
    line-height: 1;
    font-size: 1.55rem;
}

.construct-erase-symbol[b-lkax3sp59v] {
    position: relative;
    width: 1.15rem;
    height: 1.15rem;
}

.construct-erase-symbol[b-lkax3sp59v]::before,
.construct-erase-symbol[b-lkax3sp59v]::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: #b91c1c;
    content: "";
}

.construct-erase-symbol[b-lkax3sp59v]::before {
    transform: rotate(45deg);
}

.construct-erase-symbol[b-lkax3sp59v]::after {
    transform: rotate(-45deg);
}

.construct-move-tool[b-lkax3sp59v] {
    position: relative;
}

.construct-move-symbol[b-lkax3sp59v] {
    position: relative;
    display: block;
    width: 1.25rem;
    height: 1.45rem;
}

.construct-move-symbol[b-lkax3sp59v]::before {
    position: absolute;
    left: 0.2rem;
    top: 0.05rem;
    width: 0;
    height: 0;
    border-left: 0.38rem solid #111827;
    border-top: 0.68rem solid transparent;
    border-bottom: 0.68rem solid transparent;
    content: "";
    transform: rotate(-18deg);
    transform-origin: 0.2rem 0.68rem;
}

.construct-move-symbol[b-lkax3sp59v]::after {
    position: absolute;
    left: 0.72rem;
    top: 0.88rem;
    width: 0.48rem;
    height: 0.16rem;
    border-radius: 999px;
    background: #111827;
    content: "";
    transform: rotate(48deg);
}

.construct-depth-input[b-lkax3sp59v] {
    width: 5.5rem;
    min-height: 2.25rem;
    padding: 0.35rem 0.5rem;
}

.construct-button[b-lkax3sp59v] {
    min-height: 2.25rem;
    border: 1px solid #64748b;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    padding: 0.4rem 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.construct-button.primary[b-lkax3sp59v] {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}

.construct-button:disabled[b-lkax3sp59v] {
    opacity: 0.58;
    cursor: not-allowed;
}

.construct-error[b-lkax3sp59v] {
    margin: 0;
    color: #b00020;
    font-weight: 600;
}

.construct-workspace[b-lkax3sp59v] {
    display: grid;
    grid-template-columns: minmax(18rem, 38rem) minmax(16rem, 24rem);
    align-items: start;
    gap: 1rem;
}

.construct-analysis[b-lkax3sp59v] {
    display: grid;
    gap: 0.7rem;
    border-left: 1px solid #d1d5db;
    padding-left: 1rem;
    color: var(--app-text-strong);
}

.construct-analysis-header[b-lkax3sp59v] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.construct-analysis-header h2[b-lkax3sp59v] {
    margin: 0;
    font-size: 1.1rem;
}

.construct-analysis-header span[b-lkax3sp59v],
.construct-status[b-lkax3sp59v],
.construct-empty[b-lkax3sp59v] {
    color: var(--app-text-muted);
    font-size: 0.92rem;
}

.construct-status[b-lkax3sp59v],
.construct-empty[b-lkax3sp59v] {
    margin: 0;
}

.construct-lines[b-lkax3sp59v] {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding-left: 1.35rem;
}

.construct-lines li[b-lkax3sp59v] {
    padding-left: 0.15rem;
}

.construct-score[b-lkax3sp59v] {
    display: inline-block;
    min-width: 3.8rem;
    color: #2563eb;
    font-weight: 800;
}

.construct-line[b-lkax3sp59v] {
    overflow-wrap: anywhere;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.9rem;
}

.construct-move-columns[b-lkax3sp59v] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem;
}

.construct-move-columns h3[b-lkax3sp59v],
.construct-chart-header h3[b-lkax3sp59v] {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
    color: var(--app-text-strong);
}

.construct-move-table[b-lkax3sp59v] {
    display: grid;
    grid-template-columns: minmax(4.4rem, 1fr) auto;
    gap: 0.28rem 0.65rem;
    align-items: baseline;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.88rem;
}

.construct-move-table > span:nth-child(1)[b-lkax3sp59v],
.construct-move-table > span:nth-child(2)[b-lkax3sp59v] {
    color: var(--app-text-muted);
    font-family: inherit;
    font-size: 0.78rem;
}

.construct-move-good[b-lkax3sp59v] {
    color: #16a34a;
    stroke: #16a34a;
    fill: #16a34a;
}

.construct-move-warning[b-lkax3sp59v] {
    color: #b45309;
    stroke: #b45309;
    fill: #b45309;
}

.construct-move-bad[b-lkax3sp59v] {
    color: #dc2626;
    stroke: #dc2626;
    fill: #dc2626;
}

.construct-move-neutral[b-lkax3sp59v] {
    color: #64748b;
    stroke: #64748b;
    fill: #64748b;
}

.construct-move-engine-only[b-lkax3sp59v] {
    color: #111827;
    stroke: #111827;
    fill: #111827;
}

.construct-move-bars[b-lkax3sp59v] {
    display: grid;
    gap: 0.4rem;
}

.construct-move-bar-row[b-lkax3sp59v] {
    display: grid;
    grid-template-columns: 4.4rem minmax(5rem, 1fr) 3.6rem;
    gap: 0.55rem;
    align-items: center;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
}

.construct-move-bar-track[b-lkax3sp59v] {
    height: 0.55rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7eb;
}

.construct-move-bar[b-lkax3sp59v] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: currentColor;
}

.construct-chart-panel[b-lkax3sp59v] {
    display: grid;
    gap: 0.45rem;
    border-top: 1px solid #d1d5db;
    padding-top: 0.75rem;
}

.construct-chart-header[b-lkax3sp59v] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.construct-chart-legend[b-lkax3sp59v] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.82rem;
}

.construct-chart[b-lkax3sp59v] {
    width: 100%;
    min-height: 13rem;
}

.construct-chart-grid[b-lkax3sp59v] {
    stroke: #d1d5db;
    stroke-dasharray: 3 3;
}

.construct-chart-axis[b-lkax3sp59v] {
    stroke: #94a3b8;
}

.construct-chart-label[b-lkax3sp59v] {
    fill: var(--app-text-muted);
    font-size: 0.62rem;
}

.construct-chart-line[b-lkax3sp59v] {
    stroke-width: 2;
}

.construct-chart-dot[b-lkax3sp59v] {
    stroke-width: 0;
}

@media (max-width: 860px) {
    .construct-workspace[b-lkax3sp59v] {
        grid-template-columns: minmax(0, 1fr);
    }

    .construct-analysis[b-lkax3sp59v] {
        border-left: 0;
        border-top: 1px solid #d1d5db;
        padding: 0.85rem 0 0;
    }

    .construct-move-columns[b-lkax3sp59v] {
        grid-template-columns: minmax(0, 1fr);
    }

    .construct-chart-header[b-lkax3sp59v] {
        align-items: start;
        flex-direction: column;
    }
}
/* /Pages/Debug/Debug.razor.rz.scp.css */
.debug-auth-section[b-bo6fw5c58o],
    .debug-cache-section[b-bo6fw5c58o] {
        margin-bottom: 2rem;
    }

    .debug-auth-summary p[b-bo6fw5c58o],
    .debug-cache-summary p[b-bo6fw5c58o] {
        margin-bottom: 0.35rem;
    }

    .debug-auth-user-id[b-bo6fw5c58o] {
        color: var(--app-text-muted, var(--bs-secondary-color, #6c757d));
    }

    .debug-auth-switcher[b-bo6fw5c58o] {
        margin: 1rem 0;
    }

    .debug-auth-user-select[b-bo6fw5c58o] {
        max-width: 18rem;
    }
/* /Pages/DsaImages.razor.rz.scp.css */
.dsa-image-toolbar[b-9v0ekveve7] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1.25rem 0 1rem;
}

.dsa-image-section[b-9v0ekveve7] {
    margin-bottom: 1.5rem;
}

.dsa-image-section-heading[b-9v0ekveve7] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.dsa-image-section-heading h2[b-9v0ekveve7] {
    margin: 0;
    font-size: 1.15rem;
}

.dsa-image-section-heading span[b-9v0ekveve7],
.dsa-image-muted[b-9v0ekveve7] {
    color: #5f6368;
}

.dsa-image-select-all[b-9v0ekveve7],
.dsa-image-card-selector[b-9v0ekveve7] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
}

.dsa-image-card-selector[b-9v0ekveve7] {
    width: 100%;
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid #d7d7d7;
}

.dsa-image-card-selector span[b-9v0ekveve7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dsa-image-grid[b-9v0ekveve7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
}

.dsa-image-filter[b-9v0ekveve7] {
    display: grid;
    gap: 0.3rem;
    min-width: min(18rem, 100%);
    flex: 1 1 16rem;
}

.dsa-image-filter label[b-9v0ekveve7],
.dsa-image-name-field span[b-9v0ekveve7] {
    color: #5f6368;
    font-size: 0.88rem;
}

.dsa-image-card[b-9v0ekveve7] {
    border: 1px solid #d7d7d7;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.dsa-image-card.is-unused[b-9v0ekveve7] {
    border-color: #dc3545;
}

.dsa-image-card img[b-9v0ekveve7] {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    background: #f6f6f6;
}

.dsa-image-card-body[b-9v0ekveve7] {
    display: grid;
    gap: 0.2rem;
    padding: 0.65rem;
}

.dsa-image-name-field[b-9v0ekveve7] {
    display: grid;
    gap: 0.3rem;
    margin-bottom: 0.35rem;
}

.dsa-image-card span[b-9v0ekveve7],
.dsa-image-card small[b-9v0ekveve7] {
    color: #5f6368;
}

.dsa-image-status[b-9v0ekveve7] {
    color: #0d6efd;
}

.dsa-image-card em[b-9v0ekveve7] {
    justify-self: start;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: #f8d7da;
    color: #842029;
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 600;
}
/* /Pages/DsaRegeln/DsaRegeln.razor.rz.scp.css */
.dsa-rules-page[b-gvvowxizjl] {
    display: grid;
    gap: 1rem;
}

.dsa-rules-header h1[b-gvvowxizjl] {
    margin-bottom: 0.25rem;
}

.dsa-rules-header p[b-gvvowxizjl],
.dsa-rule-panel p[b-gvvowxizjl] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
}

.dsa-rule-panel[b-gvvowxizjl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
    border-top: 1px solid var(--bs-border-color, #d7dee8);
    border-bottom: 1px solid var(--bs-border-color, #d7dee8);
}

.dsa-rule-panel h2[b-gvvowxizjl] {
    margin: 0 0 0.25rem;
    font-size: 1.15rem;
}

.dsa-rule-toggle[b-gvvowxizjl] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 800;
}

.dsa-rule-toggle input[b-gvvowxizjl] {
    width: 1.25rem;
    height: 1.25rem;
}

@media (max-width: 560px) {
    .dsa-rule-panel[b-gvvowxizjl] {
        display: grid;
        align-items: start;
    }
}
/* /Pages/DsaRegelwiki/DsaRegelwiki.razor.rz.scp.css */
.dsa-regelwiki-page[b-cso9m1o7uy] {
    max-width: 78rem;
}

.dsa-regelwiki-header[b-cso9m1o7uy] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.dsa-regelwiki-header h1[b-cso9m1o7uy] {
    margin: 0;
}

.dsa-regelwiki-header p[b-cso9m1o7uy],
.dsa-regelwiki-status[b-cso9m1o7uy] {
    margin: 0.25rem 0 0;
    color: var(--app-text-muted);
}

.dsa-regelwiki-error[b-cso9m1o7uy] {
    color: var(--bs-danger);
}

.dsa-regelwiki-calculator[b-cso9m1o7uy] {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    background: var(--app-surface-bg);
    border: 1px solid var(--app-border-color);
    border-radius: 8px;
}

.dsa-regelwiki-section-heading[b-cso9m1o7uy] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
}

.dsa-regelwiki-section-heading h2[b-cso9m1o7uy] {
    margin: 0;
    font-size: 1.2rem;
}

.dsa-regelwiki-section-heading p[b-cso9m1o7uy] {
    margin: 0.2rem 0 0;
    color: var(--app-text-muted);
}

.dsa-regelwiki-converter-grid[b-cso9m1o7uy] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.dsa-regelwiki-converter-grid label[b-cso9m1o7uy] {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    color: var(--app-text-muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.dsa-regelwiki-converter-grid select[b-cso9m1o7uy],
.dsa-regelwiki-converter-grid input[b-cso9m1o7uy] {
    width: 100%;
    min-width: 0;
    padding: 0.4rem 0.5rem;
    color: var(--bs-body-color);
    background: var(--app-input-bg);
    border: 1px solid var(--app-border-color);
    border-radius: 6px;
}

.dsa-regelwiki-converter-result[b-cso9m1o7uy] {
    display: grid;
    gap: 0.15rem;
    padding: 0.75rem;
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border-muted);
    border-radius: 6px;
}

.dsa-regelwiki-converter-result strong[b-cso9m1o7uy] {
    font-size: 1.05rem;
}

.dsa-regelwiki-converter-result span[b-cso9m1o7uy] {
    color: var(--app-text-muted);
    font-size: 0.86rem;
}

.dsa-regelwiki-unit-pills[b-cso9m1o7uy] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.dsa-regelwiki-unit-pills span[b-cso9m1o7uy] {
    padding: 0.2rem 0.45rem;
    color: var(--app-text-muted);
    font-size: 0.78rem;
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border-muted);
    border-radius: 6px;
}

.dsa-regelwiki-tree[b-cso9m1o7uy],
.dsa-regelwiki-children[b-cso9m1o7uy] {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dsa-regelwiki-tree[b-cso9m1o7uy] {
    padding: 1rem;
    background: var(--app-surface-bg);
    border: 1px solid var(--app-border-color);
    border-radius: 8px;
}

.dsa-regelwiki-children[b-cso9m1o7uy] {
    margin: 0.35rem 0 0 1.05rem;
    padding-left: 0.85rem;
    border-left: 1px solid var(--app-border-muted);
}

.dsa-regelwiki-node-row[b-cso9m1o7uy] {
    display: grid;
    grid-template-columns: 1.75rem minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: center;
    min-height: 2rem;
}

.dsa-regelwiki-toggle[b-cso9m1o7uy],
.dsa-regelwiki-spacer[b-cso9m1o7uy] {
    width: 1.5rem;
    height: 1.5rem;
}

.dsa-regelwiki-toggle[b-cso9m1o7uy] {
    display: inline-grid;
    place-items: center;
    padding: 0;
    color: var(--bs-link-color);
    font: inherit;
    font-weight: 700;
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border-color);
    border-radius: 6px;
}

.dsa-regelwiki-link[b-cso9m1o7uy] {
    overflow-wrap: anywhere;
}

.dsa-regelwiki-reference[b-cso9m1o7uy] {
    color: var(--app-text-muted);
    font-size: 0.78rem;
}

.dsa-regelwiki-progress[b-cso9m1o7uy],
.dsa-regelwiki-source[b-cso9m1o7uy],
.dsa-regelwiki-path[b-cso9m1o7uy] {
    grid-column: 2 / -1;
    width: 100%;
    min-width: 0;
    padding: 0.25rem 0.45rem;
    color: var(--app-text-muted);
    font-size: 0.78rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border-muted);
    border-radius: 6px;
}

.dsa-regelwiki-progress[b-cso9m1o7uy] {
    color: var(--bs-body-color);
    font-weight: 700;
}

.dsa-regelwiki-inner-toggle[b-cso9m1o7uy] {
    grid-column: 2 / -1;
    justify-self: start;
    padding: 0.25rem 0.55rem;
    color: var(--bs-link-color);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border-muted);
    border-radius: 6px;
}

.dsa-regelwiki-inner-toggle:hover[b-cso9m1o7uy],
.dsa-regelwiki-inner-toggle:focus[b-cso9m1o7uy] {
    background: var(--app-surface-muted-hover);
}

.dsa-regelwiki-inner-text[b-cso9m1o7uy] {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.dsa-regelwiki-inner-text p[b-cso9m1o7uy] {
    margin: 0;
    color: var(--app-text-muted);
}

.dsa-regelwiki-inner-error[b-cso9m1o7uy] {
    color: var(--bs-danger);
}

.dsa-regelwiki-markdown[b-cso9m1o7uy] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.65rem;
    color: var(--bs-body-color);
    font-size: 0.9rem;
    line-height: 1.5;
    background: var(--app-input-bg);
    border: 1px solid var(--app-border-muted);
    border-radius: 6px;
    overflow-x: auto;
}

.dsa-regelwiki-markdown > :first-child[b-cso9m1o7uy] {
    margin-top: 0;
}

.dsa-regelwiki-markdown > :last-child[b-cso9m1o7uy] {
    margin-bottom: 0;
}

.dsa-regelwiki-markdown h1[b-cso9m1o7uy],
.dsa-regelwiki-markdown h2[b-cso9m1o7uy],
.dsa-regelwiki-markdown h3[b-cso9m1o7uy],
.dsa-regelwiki-markdown h4[b-cso9m1o7uy],
.dsa-regelwiki-markdown h5[b-cso9m1o7uy],
.dsa-regelwiki-markdown h6[b-cso9m1o7uy] {
    margin: 0.85rem 0 0.35rem;
    font-size: 1rem;
}

.dsa-regelwiki-markdown p[b-cso9m1o7uy],
.dsa-regelwiki-markdown ul[b-cso9m1o7uy],
.dsa-regelwiki-markdown table[b-cso9m1o7uy] {
    margin: 0 0 0.65rem;
}

.dsa-regelwiki-markdown ul[b-cso9m1o7uy] {
    padding-left: 1.25rem;
}

.dsa-regelwiki-markdown table[b-cso9m1o7uy] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.84rem;
}

.dsa-regelwiki-markdown th[b-cso9m1o7uy],
.dsa-regelwiki-markdown td[b-cso9m1o7uy] {
    padding: 0.35rem 0.45rem;
    text-align: left;
    vertical-align: top;
    border: 1px solid var(--app-border-muted);
}

.dsa-regelwiki-markdown th[b-cso9m1o7uy] {
    background: var(--app-surface-muted);
}

.dsa-regelwiki-markdown code[b-cso9m1o7uy] {
    padding: 0.08rem 0.22rem;
    font-size: 0.86em;
    background: var(--app-surface-muted);
    border-radius: 4px;
}

.dsa-regelwiki-node-reference .dsa-regelwiki-link[b-cso9m1o7uy] {
    color: var(--app-text-muted);
}

@media (max-width: 52rem) {
    .dsa-regelwiki-header[b-cso9m1o7uy],
    .dsa-regelwiki-section-heading[b-cso9m1o7uy] {
        display: grid;
    }

    .dsa-regelwiki-converter-grid[b-cso9m1o7uy] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 34rem) {
    .dsa-regelwiki-converter-grid[b-cso9m1o7uy] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Endgame/Endgame.razor.rz.scp.css */
.endgame-page[b-xqugdyo9ao] {
    display: grid;
    gap: 1rem;
}

.endgame-header[b-xqugdyo9ao] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
}

.endgame-header h1[b-xqugdyo9ao] {
    margin: 0;
}

.endgame-header p[b-xqugdyo9ao] {
    margin: 0.25rem 0 0;
    color: var(--app-text-muted);
}

.endgame-layout[b-xqugdyo9ao] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
}

.endgame-board-column[b-xqugdyo9ao] {
    display: grid;
    gap: 0.75rem;
    outline: none;
}

.endgame-board-shell[b-xqugdyo9ao] {
    position: relative;
    max-width: min(100%, 34rem);
}

.endgame-won-flash[b-xqugdyo9ao] {
    position: absolute;
    inset: 0;
    z-index: 8;
    pointer-events: none;
    border-radius: 0.35rem;
    animation: endgame-won-pulse-b-xqugdyo9ao 760ms ease-out;
}

.endgame-variant-tree-panel[b-xqugdyo9ao] {
    width: min(100%, 34rem);
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 6px;
    background: var(--bs-body-bg, #fff);
}

.tree-toolbar[b-xqugdyo9ao] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid var(--bs-border-color, #cbd5e1);
}

.tree-toolbar h2[b-xqugdyo9ao] {
    margin: 0;
    font-size: 1rem;
}

.tree-toolbar p[b-xqugdyo9ao] {
    margin: 0.2rem 0 0;
    color: var(--app-text-muted);
    font-size: 0.85rem;
    overflow-wrap: anywhere;
}

.tree-nav-buttons[b-xqugdyo9ao] {
    display: flex;
    gap: 0.35rem;
}

.tree-nav-buttons button[b-xqugdyo9ao] {
    width: 2rem;
    height: 2rem;
    border: 1px solid #8b98a8;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
}

.tree-nav-buttons button:disabled[b-xqugdyo9ao] {
    opacity: 0.45;
}

.tree-lines[b-xqugdyo9ao] {
    max-height: 13rem;
    overflow: auto;
    padding: 0.75rem 0.85rem;
}

.tree-lines[b-xqugdyo9ao]  .tree-branch,
.tree-lines[b-xqugdyo9ao]  .tree-variations {
    display: grid;
    gap: 0.3rem;
}

.tree-lines[b-xqugdyo9ao]  .tree-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.45rem;
    padding-left: calc(var(--tree-depth) * 1rem);
    line-height: 1.45;
}

.tree-lines[b-xqugdyo9ao]  .tree-move {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    color: var(--app-text-strong);
    font-size: 0.92rem;
    cursor: pointer;
    user-select: none;
    scroll-margin-block: 0.65rem;
    scroll-margin-inline: 0.65rem;
}

.tree-lines[b-xqugdyo9ao]  .tree-move-main {
    display: inline-flex;
    align-items: baseline;
    gap: 0.18rem;
}

.tree-lines[b-xqugdyo9ao]  .tree-move:hover {
    color: var(--app-text-strong);
}

.tree-lines[b-xqugdyo9ao]  .tree-move:hover .tree-move-main {
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 0.15em;
}

.tree-lines[b-xqugdyo9ao]  .tree-move:focus-visible {
    outline: 2px solid #93c5fd;
    outline-offset: 3px;
    border-radius: 4px;
}

.tree-lines[b-xqugdyo9ao]  .tree-move-prefix {
    color: var(--app-text-muted);
    font-variant-numeric: tabular-nums;
}

.endgame-panel[b-xqugdyo9ao] {
    display: grid;
    gap: 0.85rem;
    min-width: min(100%, 18rem);
    max-width: 26rem;
}

.endgame-field[b-xqugdyo9ao] {
    display: grid;
    gap: 0.35rem;
    font-weight: 600;
}

.endgame-field select[b-xqugdyo9ao] {
    max-width: 18rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid #8b98a8;
    border-radius: 5px;
    background: var(--app-surface);
    color: var(--app-text-strong);
    font-weight: 400;
}

.endgame-description[b-xqugdyo9ao],
.endgame-status[b-xqugdyo9ao] {
    margin: 0;
}

.endgame-facts[b-xqugdyo9ao] {
    display: grid;
    gap: 0.65rem;
    margin: 0;
}

.endgame-facts div[b-xqugdyo9ao] {
    display: grid;
    gap: 0.2rem;
}

.endgame-facts dt[b-xqugdyo9ao] {
    color: var(--app-text-muted);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.endgame-facts dd[b-xqugdyo9ao] {
    margin: 0;
}

.endgame-fen[b-xqugdyo9ao] {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
    word-break: break-all;
}

.endgame-button[b-xqugdyo9ao] {
    border: 1px solid #5c6773;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    padding: 0.4rem 0.75rem;
    cursor: pointer;
}

.endgame-button:disabled[b-xqugdyo9ao] {
    background: #e5e7eb;
    border-color: #9ca3af;
    color: #6b7280;
    cursor: not-allowed;
}

.endgame-alert[b-xqugdyo9ao] {
    margin: 0;
    color: #b02a37;
    font-weight: 600;
}

.endgame-promotions[b-xqugdyo9ao] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

@keyframes endgame-won-pulse-b-xqugdyo9ao {
    0% {
        box-shadow: inset 0 0 0 0 rgba(34, 197, 94, 0.95), 0 0 0 0 rgba(34, 197, 94, 0.38);
        background: rgba(34, 197, 94, 0.36);
        opacity: 1;
    }

    58% {
        box-shadow: inset 0 0 0 0.35rem rgba(34, 197, 94, 0.82), 0 0 0 0.55rem rgba(34, 197, 94, 0.18);
        background: rgba(34, 197, 94, 0.18);
        opacity: 1;
    }

    100% {
        box-shadow: inset 0 0 0 0.18rem rgba(34, 197, 94, 0), 0 0 0 0.9rem rgba(34, 197, 94, 0);
        background: rgba(34, 197, 94, 0);
        opacity: 0;
    }
}
/* /Pages/Game/Game.razor.rz.scp.css */
.cookie-game-page[b-xncbsax3h7] {
    display: grid;
    gap: 1rem;
    color: var(--app-text-strong);
}

.million-fireworks[b-xncbsax3h7] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    overflow: hidden;
    pointer-events: none;
    animation: million-fireworks-fade-b-xncbsax3h7 3.6s ease-out forwards;
}

.million-firework[b-xncbsax3h7] {
    position: absolute;
    left: var(--burst-x);
    top: var(--burst-y);
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 0 1rem rgba(255, 255, 255, 0.9);
    animation: million-burst-core-b-xncbsax3h7 1.15s ease-out both;
    animation-delay: var(--burst-delay);
}

.million-firework-1[b-xncbsax3h7] {
    --burst-x: 18%;
    --burst-y: 26%;
    --burst-color-a: #f97316;
    --burst-color-b: #facc15;
    --burst-delay: 0s;
}

.million-firework-2[b-xncbsax3h7] {
    --burst-x: 82%;
    --burst-y: 22%;
    --burst-color-a: #22d3ee;
    --burst-color-b: #14b8a6;
    --burst-delay: 0.22s;
}

.million-firework-3[b-xncbsax3h7] {
    --burst-x: 48%;
    --burst-y: 18%;
    --burst-color-a: #f472b6;
    --burst-color-b: #fb7185;
    --burst-delay: 0.46s;
}

.million-firework-4[b-xncbsax3h7] {
    --burst-x: 28%;
    --burst-y: 58%;
    --burst-color-a: #a78bfa;
    --burst-color-b: #60a5fa;
    --burst-delay: 0.74s;
}

.million-firework-5[b-xncbsax3h7] {
    --burst-x: 72%;
    --burst-y: 62%;
    --burst-color-a: #84cc16;
    --burst-color-b: #facc15;
    --burst-delay: 0.98s;
}

.million-firework-6[b-xncbsax3h7] {
    --burst-x: 52%;
    --burst-y: 44%;
    --burst-color-a: #fb7185;
    --burst-color-b: #fdba74;
    --burst-delay: 1.24s;
}

.million-firework-7[b-xncbsax3h7] {
    --burst-x: 13%;
    --burst-y: 74%;
    --burst-color-a: #38bdf8;
    --burst-color-b: #818cf8;
    --burst-delay: 1.48s;
}

.million-firework-8[b-xncbsax3h7] {
    --burst-x: 88%;
    --burst-y: 76%;
    --burst-color-a: #facc15;
    --burst-color-b: #fb923c;
    --burst-delay: 1.72s;
}

.million-firework-9[b-xncbsax3h7] {
    --burst-x: 36%;
    --burst-y: 36%;
    --burst-color-a: #2dd4bf;
    --burst-color-b: #bef264;
    --burst-delay: 1.92s;
}

.million-firework-10[b-xncbsax3h7] {
    --burst-x: 64%;
    --burst-y: 34%;
    --burst-color-a: #c084fc;
    --burst-color-b: #f0abfc;
    --burst-delay: 2.08s;
}

.million-firework-11[b-xncbsax3h7] {
    --burst-x: 8%;
    --burst-y: 42%;
    --burst-color-a: #fb7185;
    --burst-color-b: #fde68a;
    --burst-delay: 2.22s;
}

.million-firework-12[b-xncbsax3h7] {
    --burst-x: 92%;
    --burst-y: 46%;
    --burst-color-a: #60a5fa;
    --burst-color-b: #67e8f9;
    --burst-delay: 2.36s;
}

.million-firework-13[b-xncbsax3h7] {
    --burst-x: 42%;
    --burst-y: 78%;
    --burst-color-a: #f9a8d4;
    --burst-color-b: #f472b6;
    --burst-delay: 2.5s;
}

.million-firework-14[b-xncbsax3h7] {
    --burst-x: 60%;
    --burst-y: 82%;
    --burst-color-a: #a3e635;
    --burst-color-b: #34d399;
    --burst-delay: 2.64s;
}

.million-spark[b-xncbsax3h7] {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.56rem;
    height: 0.56rem;
    border-radius: 999px;
    background: var(--burst-color-a);
    box-shadow: 0 0 0.6rem var(--burst-color-b);
    transform: translate(-50%, -50%) rotate(var(--spark-angle)) translateX(0);
    animation: million-spark-flight-b-xncbsax3h7 1.15s ease-out both;
    animation-delay: var(--burst-delay);
}

.million-spark:nth-child(even)[b-xncbsax3h7] {
    background: var(--burst-color-b);
    box-shadow: 0 0 0.7rem var(--burst-color-a);
}

.million-spark-1[b-xncbsax3h7] {
    --spark-angle: 0deg;
}

.million-spark-2[b-xncbsax3h7] {
    --spark-angle: 30deg;
}

.million-spark-3[b-xncbsax3h7] {
    --spark-angle: 60deg;
}

.million-spark-4[b-xncbsax3h7] {
    --spark-angle: 90deg;
}

.million-spark-5[b-xncbsax3h7] {
    --spark-angle: 120deg;
}

.million-spark-6[b-xncbsax3h7] {
    --spark-angle: 150deg;
}

.million-spark-7[b-xncbsax3h7] {
    --spark-angle: 180deg;
}

.million-spark-8[b-xncbsax3h7] {
    --spark-angle: 210deg;
}

.million-spark-9[b-xncbsax3h7] {
    --spark-angle: 240deg;
}

.million-spark-10[b-xncbsax3h7] {
    --spark-angle: 270deg;
}

.million-spark-11[b-xncbsax3h7] {
    --spark-angle: 300deg;
}

.million-spark-12[b-xncbsax3h7] {
    --spark-angle: 330deg;
}

.cookie-game-header[b-xncbsax3h7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.cookie-game-header h1[b-xncbsax3h7] {
    margin: 0 0 0.25rem;
}

.cookie-game-header p[b-xncbsax3h7] {
    margin: 0;
    color: var(--app-text-muted);
}

.cookie-scoreboard[b-xncbsax3h7] {
    display: grid;
    gap: 0.1rem;
    min-width: 10rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--app-border-color);
    border-radius: 8px;
    background: var(--app-surface-bg);
    box-shadow: var(--app-shadow-soft);
    text-align: right;
}

.cookie-score[b-xncbsax3h7] {
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.cookie-score-label[b-xncbsax3h7],
.cookie-rate[b-xncbsax3h7] {
    color: var(--app-text-muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.cookie-progress-panel[b-xncbsax3h7] {
    display: grid;
    grid-template-columns: minmax(10rem, 14rem) minmax(12rem, 1fr) minmax(11rem, 15rem);
    gap: 0.9rem;
    align-items: center;
    padding: 0.85rem 1rem;
    border: 1px solid var(--app-border-color);
    border-radius: 8px;
    background: var(--app-surface-bg);
    box-shadow: var(--app-shadow-soft);
}

.cookie-progress-copy[b-xncbsax3h7],
.cookie-progress-countdown[b-xncbsax3h7] {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.cookie-progress-title[b-xncbsax3h7],
.cookie-progress-countdown > span:first-child[b-xncbsax3h7] {
    color: var(--app-text-strong);
    font-weight: 900;
}

.cookie-progress-detail[b-xncbsax3h7],
.cookie-progress-rate[b-xncbsax3h7] {
    overflow-wrap: anywhere;
    color: var(--app-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.cookie-progress-track[b-xncbsax3h7] {
    position: relative;
    height: 1rem;
    overflow: hidden;
    border: 1px solid rgba(15, 118, 110, 0.35);
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.12);
}

.cookie-progress-fill[b-xncbsax3h7] {
    position: absolute;
    inset: 0 auto 0 0;
    min-width: 0.3rem;
    border-radius: inherit;
    background:
        linear-gradient(90deg, #0f766e, #14b8a6),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0 0.35rem, transparent 0.35rem 0.7rem);
    box-shadow: 0 0 1rem rgba(20, 184, 166, 0.28);
    transition: width 180ms ease;
}

.cookie-game-layout[b-xncbsax3h7] {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 25rem);
    gap: 1rem;
    align-items: start;
}

.cookie-click-zone[b-xncbsax3h7],
.cookie-upgrades[b-xncbsax3h7] {
    border: 1px solid var(--app-border-color);
    border-radius: 8px;
    background: var(--app-surface-bg);
    box-shadow: var(--app-shadow-panel);
}

.cookie-click-zone[b-xncbsax3h7] {
    position: relative;
    display: grid;
    place-items: center;
    gap: 1rem;
    min-height: 30rem;
    overflow: hidden;
    padding: 2rem;
    background:
        radial-gradient(circle at 20% 15%, rgba(56, 189, 248, 0.16), transparent 30%),
        radial-gradient(circle at 84% 24%, rgba(244, 114, 182, 0.14), transparent 28%),
        linear-gradient(145deg, var(--app-surface-bg), var(--app-surface-muted));
}

.cookie-floating-layer[b-xncbsax3h7] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 3;
}

.cookie-float[b-xncbsax3h7] {
    position: absolute;
    left: calc(50% + var(--float-x));
    top: 42%;
    color: #0f766e;
    font-size: 1.15rem;
    font-weight: 900;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
    animation: cookie-float-b-xncbsax3h7 900ms ease-out forwards;
}

.cookie-button[b-xncbsax3h7] {
    display: grid;
    place-items: center;
    position: relative;
    z-index: 2;
    width: min(17rem, 68vw);
    aspect-ratio: 1;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    filter: drop-shadow(0 1.4rem 1.3rem rgba(120, 53, 15, 0.22));
    transform: translateY(0) scale(1);
    transition: transform 90ms ease, filter 160ms ease;
}

.cookie-button:hover[b-xncbsax3h7] {
    filter: drop-shadow(0 1.6rem 1.4rem rgba(120, 53, 15, 0.28));
}

.cookie-button.is-pressed[b-xncbsax3h7] {
    transform: translateY(0.25rem) scale(0.96);
}

.cookie-auto-cursors[b-xncbsax3h7] {
    position: absolute;
    z-index: 4;
    inset: 0;
    pointer-events: none;
}

.cookie-auto-cursor[b-xncbsax3h7] {
    position: absolute;
    left: var(--cursor-x);
    top: var(--cursor-y);
    width: 2rem;
    height: 2rem;
    transform: translate(-50%, -50%);
}

.cookie-auto-cursor-shape[b-xncbsax3h7] {
    position: absolute;
    left: 0;
    top: 0;
    width: 1.35rem;
    height: 1.9rem;
    border: 2px solid #0f172a;
    border-radius: 0.8rem 0.8rem 0.55rem 0.55rem;
    background: linear-gradient(145deg, #ffffff, #dbeafe);
    box-shadow: 0 0.35rem 0.7rem rgba(15, 23, 42, 0.22);
    transform: rotate(var(--cursor-angle));
    transform-origin: 50% 100%;
    animation: cursor-tap-b-xncbsax3h7 900ms ease-in-out infinite;
    animation-delay: var(--cursor-delay);
}

.cookie-auto-cursor-shape[b-xncbsax3h7]::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -0.9rem;
    width: 0.42rem;
    height: 1rem;
    border: 2px solid #0f172a;
    border-bottom: 0;
    border-radius: 0.35rem 0.35rem 0 0;
    background: #ffffff;
    transform: translateX(-50%);
}

.cookie-auto-cursor-shape[b-xncbsax3h7]::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -0.42rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 0.15rem;
    background: #0f766e;
    transform: translateX(-50%) rotate(45deg);
}

.cookie-helper-stage[b-xncbsax3h7] {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
}

.cookie-helper[b-xncbsax3h7] {
    position: absolute;
    left: var(--helper-x);
    top: var(--helper-y);
    width: 3rem;
    height: 3.3rem;
    animation: helper-bob-b-xncbsax3h7 1.8s ease-in-out infinite;
    animation-delay: var(--helper-delay);
}

.cookie-helper-body[b-xncbsax3h7] {
    position: absolute;
    left: 0.74rem;
    bottom: 0.28rem;
    width: 1.45rem;
    height: 1.72rem;
    border: 2px solid #0f172a;
    border-radius: 0.72rem 0.72rem 0.44rem 0.44rem;
    background: linear-gradient(145deg, #fef3c7, #f59e0b);
    box-shadow: 0 0.45rem 0.7rem rgba(15, 23, 42, 0.22);
}

.cookie-helper-body[b-xncbsax3h7]::before,
.cookie-helper-body[b-xncbsax3h7]::after {
    content: "";
    position: absolute;
    top: 0.45rem;
    width: 0.23rem;
    height: 0.23rem;
    border-radius: 999px;
    background: #0f172a;
}

.cookie-helper-body[b-xncbsax3h7]::before {
    left: 0.34rem;
}

.cookie-helper-body[b-xncbsax3h7]::after {
    right: 0.34rem;
}

.cookie-helper-tool[b-xncbsax3h7],
.cookie-helper-accent[b-xncbsax3h7] {
    position: absolute;
    display: block;
}

.cookie-helper-roller .cookie-helper-tool[b-xncbsax3h7] {
    left: 0.28rem;
    top: 1.82rem;
    width: 2.45rem;
    height: 0.42rem;
    border-radius: 999px;
    background: #92400e;
    box-shadow: inset 0 0.12rem 0 rgba(255, 255, 255, 0.36);
    animation: helper-roll-tool-b-xncbsax3h7 700ms linear infinite;
    animation-delay: var(--helper-delay);
}

.cookie-helper-roller .cookie-helper-accent[b-xncbsax3h7] {
    left: 0.55rem;
    top: 2.36rem;
    width: 1.85rem;
    height: 0.28rem;
    border-radius: 999px;
    background: rgba(217, 144, 61, 0.8);
}

.cookie-helper-mixer .cookie-helper-body[b-xncbsax3h7] {
    background: linear-gradient(145deg, #dbeafe, #60a5fa);
}

.cookie-helper-mixer .cookie-helper-tool[b-xncbsax3h7] {
    left: 1.35rem;
    top: 0.62rem;
    width: 0.26rem;
    height: 1.75rem;
    border-radius: 999px;
    background: #78350f;
    transform-origin: 50% 90%;
    animation: helper-stir-tool-b-xncbsax3h7 650ms linear infinite;
    animation-delay: var(--helper-delay);
}

.cookie-helper-mixer .cookie-helper-accent[b-xncbsax3h7] {
    left: 0.48rem;
    bottom: 0.02rem;
    width: 2.1rem;
    height: 0.72rem;
    border-radius: 0 0 999px 999px;
    background: #2563eb;
}

.cookie-helper-oven .cookie-helper-body[b-xncbsax3h7] {
    background: linear-gradient(145deg, #e5e7eb, #94a3b8);
}

.cookie-helper-oven .cookie-helper-tool[b-xncbsax3h7] {
    left: 0.46rem;
    top: 1.7rem;
    width: 2rem;
    height: 0.95rem;
    border: 0.16rem solid #334155;
    border-radius: 0.25rem;
    background: #111827;
}

.cookie-helper-oven .cookie-helper-accent[b-xncbsax3h7] {
    left: 1.1rem;
    top: 1.98rem;
    width: 0.78rem;
    height: 0.55rem;
    border-radius: 999px 999px 0.22rem 0.22rem;
    background: #f97316;
    animation: helper-flame-b-xncbsax3h7 600ms ease-in-out infinite;
    animation-delay: var(--helper-delay);
}

.cookie-helper-robot .cookie-helper-body[b-xncbsax3h7] {
    border-radius: 0.34rem;
    background: linear-gradient(145deg, #ccfbf1, #2dd4bf);
    animation: helper-robot-tilt-b-xncbsax3h7 1.15s ease-in-out infinite;
    animation-delay: var(--helper-delay);
}

.cookie-helper-robot .cookie-helper-tool[b-xncbsax3h7] {
    left: 0.45rem;
    top: 1.65rem;
    width: 0.78rem;
    height: 0.18rem;
    border-radius: 999px;
    background: #0f172a;
    transform-origin: 100% 50%;
    animation: helper-robot-arm-left-b-xncbsax3h7 800ms ease-in-out infinite;
    animation-delay: var(--helper-delay);
}

.cookie-helper-robot .cookie-helper-accent[b-xncbsax3h7] {
    right: 0.42rem;
    top: 1.65rem;
    width: 0.78rem;
    height: 0.18rem;
    border-radius: 999px;
    background: #0f172a;
    transform-origin: 0 50%;
    animation: helper-robot-arm-right-b-xncbsax3h7 800ms ease-in-out infinite;
    animation-delay: var(--helper-delay);
}

.cookie-sprite[b-xncbsax3h7] {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 999px;
    background:
        radial-gradient(circle at 35% 28%, #ffe7ae 0 11%, transparent 12%),
        radial-gradient(circle at 62% 70%, rgba(255, 232, 180, 0.75) 0 9%, transparent 10%),
        radial-gradient(circle at 50% 50%, #d9903d 0 64%, #b96923 65% 100%);
    box-shadow:
        inset 0.45rem 0.55rem 0 rgba(255, 245, 203, 0.32),
        inset -0.8rem -0.9rem 0 rgba(111, 56, 18, 0.18);
    animation: cookie-idle-b-xncbsax3h7 2.4s ease-in-out infinite;
}

.cookie-chip[b-xncbsax3h7] {
    position: absolute;
    width: 12%;
    aspect-ratio: 1;
    border-radius: 999px;
    background: #4b2212;
    box-shadow: inset -0.1rem -0.1rem 0 rgba(0, 0, 0, 0.2);
}

.cookie-chip-one[b-xncbsax3h7] {
    left: 30%;
    top: 25%;
}

.cookie-chip-two[b-xncbsax3h7] {
    left: 58%;
    top: 30%;
    width: 10%;
}

.cookie-chip-three[b-xncbsax3h7] {
    left: 44%;
    top: 49%;
    width: 13%;
}

.cookie-chip-four[b-xncbsax3h7] {
    left: 68%;
    top: 58%;
    width: 9%;
}

.cookie-chip-five[b-xncbsax3h7] {
    left: 24%;
    top: 63%;
    width: 11%;
}

.cookie-chip-six[b-xncbsax3h7] {
    left: 51%;
    top: 76%;
    width: 8%;
}

.cookie-click-stats[b-xncbsax3h7] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    width: min(32rem, 100%);
    margin: 0;
}

.cookie-click-stats div[b-xncbsax3h7] {
    min-width: 0;
    padding: 0.7rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 8px;
    background: var(--app-surface-subtle);
    text-align: center;
}

.cookie-click-stats dt[b-xncbsax3h7] {
    color: var(--app-text-muted);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.cookie-click-stats dd[b-xncbsax3h7] {
    margin: 0.2rem 0 0;
    font-size: 1.2rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.cookie-upgrades[b-xncbsax3h7] {
    display: grid;
    gap: 0.65rem;
    padding: 1rem;
}

.cookie-upgrades h2[b-xncbsax3h7] {
    margin: 0 0 0.25rem;
    font-size: 1.2rem;
}

.cookie-upgrade[b-xncbsax3h7] {
    display: grid;
    grid-template-columns: 2.65rem minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: center;
    width: 100%;
    min-height: 4.5rem;
    padding: 0.7rem;
    color: inherit;
    border: 2px solid var(--app-border-color);
    border-radius: 8px;
    background: var(--app-surface-bg);
    text-align: left;
    transition: transform 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.cookie-upgrade.is-saver[b-xncbsax3h7] {
    border-color: #16a34a;
}

.cookie-upgrade.is-drain[b-xncbsax3h7] {
    border-color: #dc2626;
}

.cookie-upgrade:hover:enabled[b-xncbsax3h7],
.cookie-upgrade:focus-visible:enabled[b-xncbsax3h7] {
    border-color: #0f766e;
    background: rgba(20, 184, 166, 0.08);
    transform: translateY(-1px);
}

.cookie-upgrade:disabled[b-xncbsax3h7] {
    cursor: not-allowed;
}

.cookie-upgrade.is-locked[b-xncbsax3h7] {
    opacity: 0.58;
}

.cookie-upgrade-icon[b-xncbsax3h7] {
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
    width: 2.6rem;
    aspect-ratio: 1;
    border-radius: 8px;
    background: #0f766e;
}

.upgrade-sprite-part[b-xncbsax3h7] {
    position: absolute;
    display: block;
}

.upgrade-sprite-cursor[b-xncbsax3h7] {
    background: linear-gradient(145deg, #e0f2fe, #ffffff);
}

.upgrade-sprite-cursor .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.9rem;
    top: 0.45rem;
    width: 0.64rem;
    height: 1.45rem;
    border: 2px solid #0f172a;
    border-radius: 0.4rem;
    background: #ffffff;
    transform: rotate(-18deg);
    animation: icon-cursor-tap-b-xncbsax3h7 850ms ease-in-out infinite;
}

.upgrade-sprite-cursor .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 1.36rem;
    top: 1.44rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 0.15rem;
    background: #0f766e;
    transform: rotate(45deg);
}

.upgrade-sprite-cursor .upgrade-sprite-part-three[b-xncbsax3h7] {
    left: 0.64rem;
    top: 0.72rem;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: #f59e0b;
    animation: icon-pulse-b-xncbsax3h7 850ms ease-in-out infinite;
}

.upgrade-sprite-rolling-pin[b-xncbsax3h7] {
    background: linear-gradient(145deg, #fef3c7, #fed7aa);
}

.upgrade-sprite-rolling-pin .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.52rem;
    top: 1.04rem;
    width: 1.55rem;
    height: 0.52rem;
    border-radius: 999px;
    background: #b45309;
    box-shadow: inset 0 0.12rem 0 rgba(255, 255, 255, 0.4);
    animation: icon-roll-b-xncbsax3h7 1.2s linear infinite;
}

.upgrade-sprite-rolling-pin .upgrade-sprite-part-two[b-xncbsax3h7],
.upgrade-sprite-rolling-pin .upgrade-sprite-part-three[b-xncbsax3h7] {
    top: 1.13rem;
    width: 0.38rem;
    height: 0.32rem;
    border-radius: 999px;
    background: #78350f;
}

.upgrade-sprite-rolling-pin .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 0.24rem;
}

.upgrade-sprite-rolling-pin .upgrade-sprite-part-three[b-xncbsax3h7] {
    right: 0.24rem;
}

.upgrade-sprite-mixing-bowl[b-xncbsax3h7] {
    background: linear-gradient(145deg, #dbeafe, #bfdbfe);
}

.upgrade-sprite-mixing-bowl .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.55rem;
    bottom: 0.42rem;
    width: 1.5rem;
    height: 0.9rem;
    border-radius: 0 0 999px 999px;
    background: #2563eb;
    box-shadow: inset 0 -0.18rem 0 rgba(15, 23, 42, 0.18);
}

.upgrade-sprite-mixing-bowl .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 1.15rem;
    top: 0.42rem;
    width: 0.26rem;
    height: 1.15rem;
    border-radius: 999px;
    background: #92400e;
    transform-origin: 50% 100%;
    animation: icon-stir-b-xncbsax3h7 1s linear infinite;
}

.upgrade-sprite-mixing-bowl .upgrade-sprite-part-three[b-xncbsax3h7] {
    left: 0.85rem;
    top: 1.18rem;
    width: 0.9rem;
    height: 0.22rem;
    border-radius: 999px;
    background: #fef3c7;
    animation: icon-pulse-b-xncbsax3h7 1s ease-in-out infinite;
}

.upgrade-sprite-oven[b-xncbsax3h7] {
    background: linear-gradient(145deg, #e5e7eb, #94a3b8);
}

.upgrade-sprite-oven .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.45rem;
    top: 0.55rem;
    width: 1.7rem;
    height: 1.45rem;
    border: 0.18rem solid #334155;
    border-radius: 0.25rem;
    background: #111827;
}

.upgrade-sprite-oven .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 0.9rem;
    top: 1.1rem;
    width: 0.8rem;
    height: 0.7rem;
    border-radius: 999px 999px 0.2rem 0.2rem;
    background: #f97316;
    animation: icon-flame-b-xncbsax3h7 700ms ease-in-out infinite;
}

.upgrade-sprite-oven .upgrade-sprite-part-three[b-xncbsax3h7] {
    left: 0.75rem;
    top: 0.78rem;
    width: 1.1rem;
    height: 0.18rem;
    border-radius: 999px;
    background: #cbd5e1;
}

.upgrade-sprite-robot[b-xncbsax3h7] {
    background: linear-gradient(145deg, #ccfbf1, #99f6e4);
}

.upgrade-sprite-robot .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.72rem;
    top: 0.58rem;
    width: 1.16rem;
    height: 1.1rem;
    border: 0.16rem solid #0f172a;
    border-radius: 0.3rem;
    background: #e0f2fe;
    animation: icon-robot-bob-b-xncbsax3h7 1.1s ease-in-out infinite;
}

.upgrade-sprite-robot .upgrade-sprite-part-two[b-xncbsax3h7],
.upgrade-sprite-robot .upgrade-sprite-part-three[b-xncbsax3h7] {
    top: 1rem;
    width: 0.26rem;
    height: 0.26rem;
    border-radius: 999px;
    background: #0f766e;
    animation: icon-blink-b-xncbsax3h7 1.7s steps(2, end) infinite;
}

.upgrade-sprite-robot .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 0.98rem;
}

.upgrade-sprite-robot .upgrade-sprite-part-three[b-xncbsax3h7] {
    right: 0.98rem;
}

.upgrade-sprite-glove[b-xncbsax3h7] {
    background: linear-gradient(145deg, #fef3c7, #ffffff);
}

.upgrade-sprite-glove .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.72rem;
    top: 0.62rem;
    width: 1.16rem;
    height: 1.35rem;
    border: 0.16rem solid #0f172a;
    border-radius: 0.55rem 0.55rem 0.35rem 0.35rem;
    background: #ffffff;
    animation: icon-glove-punch-b-xncbsax3h7 850ms ease-in-out infinite;
}

.upgrade-sprite-glove .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 1.42rem;
    top: 1.12rem;
    width: 0.52rem;
    height: 0.32rem;
    border: 0.12rem solid #0f172a;
    border-radius: 999px;
    background: #ffffff;
}

.upgrade-sprite-glove .upgrade-sprite-part-three[b-xncbsax3h7] {
    left: 0.62rem;
    bottom: 0.38rem;
    width: 1.35rem;
    height: 0.18rem;
    border-radius: 999px;
    background: #f59e0b;
}

.upgrade-sprite-polish[b-xncbsax3h7] {
    background: linear-gradient(145deg, #e0f2fe, #bfdbfe);
}

.upgrade-sprite-polish .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.72rem;
    top: 0.7rem;
    width: 0.86rem;
    height: 1.18rem;
    border: 0.15rem solid #0f172a;
    border-radius: 0.42rem;
    background: #ffffff;
    transform: rotate(-18deg);
}

.upgrade-sprite-polish .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 1.35rem;
    top: 0.62rem;
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 999px;
    background: #22d3ee;
    animation: icon-polish-shine-b-xncbsax3h7 900ms ease-in-out infinite;
}

.upgrade-sprite-polish .upgrade-sprite-part-three[b-xncbsax3h7] {
    left: 1.45rem;
    top: 1.42rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 0.14rem;
    background: #0f766e;
    transform: rotate(45deg);
}

.upgrade-sprite-bearings[b-xncbsax3h7] {
    background: linear-gradient(145deg, #f1f5f9, #cbd5e1);
}

.upgrade-sprite-bearings .upgrade-sprite-part-one[b-xncbsax3h7],
.upgrade-sprite-bearings .upgrade-sprite-part-two[b-xncbsax3h7],
.upgrade-sprite-bearings .upgrade-sprite-part-three[b-xncbsax3h7] {
    width: 0.66rem;
    height: 0.66rem;
    border: 0.14rem solid #334155;
    border-radius: 999px;
    background: #e2e8f0;
    animation: icon-bearing-spin-b-xncbsax3h7 850ms linear infinite;
}

.upgrade-sprite-bearings .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.52rem;
    top: 0.64rem;
}

.upgrade-sprite-bearings .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 1.42rem;
    top: 0.96rem;
}

.upgrade-sprite-bearings .upgrade-sprite-part-three[b-xncbsax3h7] {
    left: 0.86rem;
    top: 1.62rem;
}

.upgrade-sprite-whisk[b-xncbsax3h7] {
    background: linear-gradient(145deg, #dbeafe, #bfdbfe);
}

.upgrade-sprite-whisk .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 1.24rem;
    top: 0.36rem;
    width: 0.22rem;
    height: 1.8rem;
    border-radius: 999px;
    background: #92400e;
    animation: icon-whisk-swing-b-xncbsax3h7 760ms ease-in-out infinite;
}

.upgrade-sprite-whisk .upgrade-sprite-part-two[b-xncbsax3h7],
.upgrade-sprite-whisk .upgrade-sprite-part-three[b-xncbsax3h7] {
    top: 1.28rem;
    width: 0.58rem;
    height: 0.88rem;
    border: 0.12rem solid #2563eb;
    border-top: 0;
    border-radius: 0 0 999px 999px;
}

.upgrade-sprite-whisk .upgrade-sprite-part-two[b-xncbsax3h7] {
    left: 0.78rem;
}

.upgrade-sprite-whisk .upgrade-sprite-part-three[b-xncbsax3h7] {
    right: 0.78rem;
}

.upgrade-sprite-core[b-xncbsax3h7] {
    background: linear-gradient(145deg, #fee2e2, #fed7aa);
}

.upgrade-sprite-core .upgrade-sprite-part-one[b-xncbsax3h7] {
    left: 0.72rem;
    top: 0.72rem;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    background: #f97316;
    box-shadow: 0 0 0.55rem rgba(249, 115, 22, 0.8);
    animation: icon-core-pulse-b-xncbsax3h7 780ms ease-in-out infinite;
}

.upgrade-sprite-core .upgrade-sprite-part-two[b-xncbsax3h7],
.upgrade-sprite-core .upgrade-sprite-part-three[b-xncbsax3h7] {
    left: 1.16rem;
    top: 0.26rem;
    width: 0.28rem;
    height: 2.05rem;
    border-radius: 999px;
    background: rgba(127, 29, 29, 0.45);
}

.upgrade-sprite-core .upgrade-sprite-part-two[b-xncbsax3h7] {
    transform: rotate(45deg);
}

.upgrade-sprite-core .upgrade-sprite-part-three[b-xncbsax3h7] {
    transform: rotate(-45deg);
}

.cookie-upgrade-copy[b-xncbsax3h7] {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.cookie-upgrade-name[b-xncbsax3h7] {
    font-weight: 900;
}

.cookie-upgrade-detail[b-xncbsax3h7] {
    color: var(--app-text-muted);
    font-size: 0.86rem;
    line-height: 1.25;
}

.cookie-upgrade-wait[b-xncbsax3h7] {
    display: grid;
    grid-template-columns: minmax(4rem, 1fr) auto;
    gap: 0.45rem;
    align-items: center;
    margin-top: 0.35rem;
}

.cookie-upgrade-wait-track[b-xncbsax3h7] {
    position: relative;
    height: 0.42rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.24);
}

.cookie-upgrade-wait-fill[b-xncbsax3h7] {
    position: absolute;
    inset: 0 auto 0 0;
    min-width: 0.18rem;
    border-radius: inherit;
    background: #14b8a6;
}

.cookie-upgrade-wait-text[b-xncbsax3h7] {
    color: var(--app-text-muted);
    font-size: 0.75rem;
    font-weight: 800;
    white-space: nowrap;
}

.cookie-upgrade-numbers[b-xncbsax3h7] {
    display: grid;
    gap: 0.2rem;
    justify-items: end;
    min-width: 4.5rem;
    font-size: 0.8rem;
    color: var(--app-text-muted);
}

.cookie-upgrade-numbers strong[b-xncbsax3h7] {
    color: var(--app-text-strong);
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
}

@keyframes cookie-idle-b-xncbsax3h7 {
    0%,
    100% {
        transform: rotate(-1deg);
    }

    50% {
        transform: rotate(1deg) scale(1.015);
    }
}

@keyframes cookie-float-b-xncbsax3h7 {
    0% {
        opacity: 0;
        transform: translate(-50%, 0) scale(0.85);
    }

    20% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -4.5rem) scale(1.12);
    }
}

@keyframes million-fireworks-fade-b-xncbsax3h7 {
    0%,
    78% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes million-burst-core-b-xncbsax3h7 {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.2);
    }

    16% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.25);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.1);
    }
}

@keyframes million-spark-flight-b-xncbsax3h7 {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) rotate(var(--spark-angle)) translateX(0) scale(0.55);
    }

    16% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -50%) rotate(var(--spark-angle)) translateX(9.6rem) scale(0.18);
    }
}

@keyframes cursor-tap-b-xncbsax3h7 {
    0%,
    100% {
        transform: translate(0, 0) rotate(var(--cursor-angle));
    }

    46% {
        transform: translate(-0.25rem, -0.72rem) rotate(var(--cursor-angle)) scale(0.94);
    }

    62% {
        transform: translate(-0.08rem, -0.28rem) rotate(var(--cursor-angle));
    }
}

@keyframes helper-bob-b-xncbsax3h7 {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-0.18rem);
    }
}

@keyframes helper-roll-tool-b-xncbsax3h7 {
    from {
        transform: rotate(0deg) translateX(-0.08rem);
    }

    to {
        transform: rotate(360deg) translateX(0.08rem);
    }
}

@keyframes helper-stir-tool-b-xncbsax3h7 {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes helper-flame-b-xncbsax3h7 {
    0%,
    100% {
        transform: scaleY(0.72);
        background: #f97316;
    }

    50% {
        transform: scaleY(1.18);
        background: #facc15;
    }
}

@keyframes helper-robot-tilt-b-xncbsax3h7 {
    0%,
    100% {
        transform: rotate(-3deg);
    }

    50% {
        transform: rotate(3deg);
    }
}

@keyframes helper-robot-arm-left-b-xncbsax3h7 {
    0%,
    100% {
        transform: rotate(26deg);
    }

    50% {
        transform: rotate(-18deg);
    }
}

@keyframes helper-robot-arm-right-b-xncbsax3h7 {
    0%,
    100% {
        transform: rotate(-26deg);
    }

    50% {
        transform: rotate(18deg);
    }
}

@keyframes icon-cursor-tap-b-xncbsax3h7 {
    0%,
    100% {
        transform: translateY(0) rotate(-18deg);
    }

    50% {
        transform: translateY(0.28rem) rotate(-12deg);
    }
}

@keyframes icon-pulse-b-xncbsax3h7 {
    0%,
    100% {
        opacity: 0.45;
        transform: scale(0.82);
    }

    50% {
        opacity: 1;
        transform: scale(1.08);
    }
}

@keyframes icon-roll-b-xncbsax3h7 {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes icon-stir-b-xncbsax3h7 {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes icon-flame-b-xncbsax3h7 {
    0%,
    100% {
        transform: scaleY(0.82);
        background: #f97316;
    }

    50% {
        transform: scaleY(1.1);
        background: #facc15;
    }
}

@keyframes icon-robot-bob-b-xncbsax3h7 {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-0.12rem);
    }
}

@keyframes icon-blink-b-xncbsax3h7 {
    0%,
    82% {
        opacity: 1;
    }

    83%,
    100% {
        opacity: 0.18;
    }
}

@keyframes icon-glove-punch-b-xncbsax3h7 {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(0.3rem) scaleY(0.94);
    }
}

@keyframes icon-polish-shine-b-xncbsax3h7 {
    0%,
    100% {
        opacity: 0.45;
        transform: scale(0.75);
    }

    50% {
        opacity: 1;
        transform: scale(1.15);
    }
}

@keyframes icon-bearing-spin-b-xncbsax3h7 {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes icon-whisk-swing-b-xncbsax3h7 {
    0%,
    100% {
        transform: rotate(-18deg);
    }

    50% {
        transform: rotate(18deg);
    }
}

@keyframes icon-core-pulse-b-xncbsax3h7 {
    0%,
    100% {
        transform: scale(0.82);
        opacity: 0.78;
    }

    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}

@media (max-width: 980px) {
    .cookie-game-layout[b-xncbsax3h7] {
        grid-template-columns: 1fr;
    }

    .cookie-progress-panel[b-xncbsax3h7] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .cookie-scoreboard[b-xncbsax3h7] {
        width: 100%;
        text-align: left;
    }

    .cookie-click-zone[b-xncbsax3h7] {
        min-height: 24rem;
        padding: 1rem;
    }

    .cookie-click-stats[b-xncbsax3h7] {
        grid-template-columns: 1fr;
    }

    .cookie-upgrade[b-xncbsax3h7] {
        grid-template-columns: 2.5rem minmax(0, 1fr);
    }

    .cookie-upgrade-numbers[b-xncbsax3h7] {
        grid-column: 2;
        justify-items: start;
    }
}
/* /Pages/Home/Home.razor.rz.scp.css */
.home-meta-text[b-mtxjjb5krg] {
    margin: 1em 0;
    font-size: 0.95em;
    color: var(--app-text-muted);
}

.home-preloading[b-mtxjjb5krg] {
    max-width: 42rem;
    margin: 0.75rem 0 1rem;
}

.home-preloading-heading[b-mtxjjb5krg] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.35rem;
}

.home-backend-status[b-mtxjjb5krg] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.25rem 0 1em;
    padding: 0.3rem 0.55rem;
    border: 1px solid currentColor;
    border-radius: 0.375rem;
    font-size: 0.95em;
    font-weight: 600;
}

.home-backend-status-dot[b-mtxjjb5krg] {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: currentColor;
    flex: 0 0 auto;
}

.home-backend-status-checking[b-mtxjjb5krg] {
    color: var(--app-text-muted);
}

.home-backend-status-reachable[b-mtxjjb5krg] {
    color: #146c43;
    background: #d1e7dd;
    border-color: #a3cfbb;
}

.home-backend-status-unreachable[b-mtxjjb5krg] {
    color: #b02a37;
    background: #f8d7da;
    border-color: #f1aeb5;
}

.home-update-available[b-mtxjjb5krg] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    width: fit-content;
    max-width: 100%;
    margin: 0.25rem 0 1em;
    padding: 0.55rem 0.7rem;
    color: #664d03;
    background: #fff3cd;
    border: 1px solid #ffda6a;
    border-radius: 0.375rem;
    font-size: 0.95rem;
    font-weight: 600;
}

.home-update-button[b-mtxjjb5krg] {
    border: 1px solid #997404;
    border-radius: 0.375rem;
    padding: 0.3rem 0.65rem;
    color: #332701;
    background: #ffffff;
    font: inherit;
    line-height: 1.2;
}

.home-update-button:hover[b-mtxjjb5krg],
.home-update-button:focus[b-mtxjjb5krg] {
    color: #000000;
    background: #ffe69c;
}

.home-database-update-warning[b-mtxjjb5krg] {
    flex-basis: 100%;
    max-width: 42rem;
    color: #842029;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
}

.home-stack-version-diff[b-mtxjjb5krg] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-family: var(--bs-font-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.3;
}

.home-stack-version[b-mtxjjb5krg] {
    display: inline-flex;
    flex-wrap: wrap;
}

.home-stack-version-old-part[b-mtxjjb5krg] {
    color: #b02a37;
}

.home-stack-version-new-part[b-mtxjjb5krg] {
    color: #146c43;
}

.home-open-branches[b-mtxjjb5krg] {
    margin: 1em 0;
}

.home-deployment-topology[b-mtxjjb5krg] {
    margin: 1.25rem 0;
}

.home-deployment-topology-title[b-mtxjjb5krg] {
    font-size: 1.2rem;
}

.home-project-map[b-mtxjjb5krg] {
    margin: 1.5rem 0;
}

.home-collapsible-toggle[b-mtxjjb5krg] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.375rem;
    padding: 0.45rem 0.65rem;
    color: inherit;
    background: var(--bs-body-bg, #ffffff);
    font: inherit;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
}

.home-collapsible-toggle:hover[b-mtxjjb5krg],
.home-collapsible-toggle:focus[b-mtxjjb5krg] {
    background: var(--bs-tertiary-bg, #f8f9fa);
}

.home-collapsible-toggle span[aria-hidden="true"][b-mtxjjb5krg] {
    width: 1rem;
    font-family: var(--bs-font-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace);
    font-size: 0.95rem;
    text-align: center;
}

.home-project-map-panel[b-mtxjjb5krg] {
    margin-top: 0.75rem;
}

.home-project-map-note[b-mtxjjb5krg] {
    max-width: 56rem;
    margin: 0.35rem 0 0.75rem;
    color: var(--app-text-muted);
    font-size: 0.94rem;
    line-height: 1.45;
}

.home-diagram-toolbar[b-mtxjjb5krg] {
    display: flex;
    gap: 0.4rem;
    margin: 0.35rem 0 0.25rem;
}

.home-diagram-button[b-mtxjjb5krg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.375rem;
    color: inherit;
    background: var(--bs-body-bg, #ffffff);
    font: inherit;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
}

.home-diagram-button:hover[b-mtxjjb5krg],
.home-diagram-button:focus[b-mtxjjb5krg] {
    background: var(--bs-tertiary-bg, #f8f9fa);
}

.home-project-node-actions[b-mtxjjb5krg] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.4rem 0 0.25rem;
}

.home-project-node-selection[b-mtxjjb5krg] {
    color: var(--app-text-muted);
    font-size: 0.9rem;
    font-weight: 700;
    white-space: nowrap;
}

.home-project-node-select[b-mtxjjb5krg] {
    width: min(34rem, 100%);
    min-width: min(18rem, 100%);
    max-width: 100%;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.375rem;
    padding: 0.3rem 0.55rem;
    overflow: hidden;
    color: inherit;
    background: var(--bs-body-bg, #ffffff);
    font: inherit;
    font-size: 0.9rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-project-node-action[b-mtxjjb5krg] {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.375rem;
    padding: 0.3rem 0.55rem;
    color: inherit;
    background: var(--bs-body-bg, #ffffff);
    font: inherit;
    font-size: 0.9rem;
    line-height: 1.2;
}

.home-project-node-action:hover[b-mtxjjb5krg],
.home-project-node-action:focus[b-mtxjjb5krg] {
    background: var(--bs-tertiary-bg, #f8f9fa);
}

.home-mermaid-diagram[b-mtxjjb5krg] {
    max-width: 100%;
    overflow-x: auto;
    padding: 0.75rem 0;
}

.home-mermaid-diagram svg[b-mtxjjb5krg] {
    max-width: 100%;
    min-width: min(38rem, 100%);
    height: auto;
    transition: width 120ms ease-out;
}

.home-open-branches-title[b-mtxjjb5krg] {
    font-size: 1.2rem;
}

.home-stack-branch-list[b-mtxjjb5krg] {
    display: grid;
    gap: 0.75rem;
    padding-left: 1.15rem;
}

.home-stack-branch-name[b-mtxjjb5krg] {
    font-weight: 700;
}

.home-stack-version-list[b-mtxjjb5krg] {
    margin-top: 0.25rem;
    padding-left: 1.15rem;
    color: var(--app-text-muted);
    font-family: var(--bs-font-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace);
    font-size: 0.88rem;
}

.home-stack-current-link[b-mtxjjb5krg] {
    font-weight: 700;
}

.home-stack-active-count[b-mtxjjb5krg] {
    margin-left: 0.5rem;
    color: var(--app-text-muted);
    font-family: var(--bs-body-font-family, system-ui, sans-serif);
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
}

.home-error-text[b-mtxjjb5krg] {
    font-size: 0.95em;
    color: #dc3545;
}

.home-wind-layer[b-mtxjjb5krg] {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}

.home-wind-diagonal[b-mtxjjb5krg] {
    position: absolute;
    width: 26vmax;
    height: 2px;
    left: calc((var(--diag) * 12%) - 10%);
    bottom: -8%;
    opacity: 0;
    background: linear-gradient(90deg, rgba(86, 161, 255, 0), rgba(86, 161, 255, 0.5), rgba(86, 161, 255, 0));
    transform: rotate(-35deg) translateY(0);
}

.home-wind-diagonal.is-active[b-mtxjjb5krg] {
    animation: home-breeze-pass-b-mtxjjb5krg 550ms ease-out;
    animation-delay: calc(var(--diag) * 50ms);
}

@keyframes home-breeze-pass-b-mtxjjb5krg {
    0% { opacity: 0; transform: rotate(-35deg) translateY(25vh); }
    20% { opacity: 0.65; }
    100% { opacity: 0; transform: rotate(-35deg) translateY(-95vh); }
}
/* /Pages/Knives/Knives.razor.rz.scp.css */
.knives-page[b-ywibxd9sr1] {
        display: grid;
        gap: 1rem;
    }

    .knives-hero[b-ywibxd9sr1],
    .knives-formula-card[b-ywibxd9sr1] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .knives-hero[b-ywibxd9sr1] {
        padding: 1.25rem;
        border: 1px solid var(--app-border-color);
        border-radius: 20px;
        background: linear-gradient(135deg, var(--app-surface-bg) 0%, var(--app-surface-muted) 55%, #e0f2fe 100%);
        box-shadow: var(--app-shadow-panel);
    }

    .knives-copy[b-ywibxd9sr1] {
        display: grid;
        gap: 0.5rem;
    }

    .knives-copy h1[b-ywibxd9sr1],
    .knives-helper[b-ywibxd9sr1],
    .knives-formula[b-ywibxd9sr1],
    .knives-empty[b-ywibxd9sr1],
    .knives-error[b-ywibxd9sr1] {
        margin: 0;
    }

    .knives-helper[b-ywibxd9sr1],
    .knives-empty[b-ywibxd9sr1] {
        color: var(--app-text-muted);
        max-width: 48rem;
    }

    .knives-formula-card[b-ywibxd9sr1] {
        padding: 0.95rem 1.1rem;
        border: 1px solid #dbeafe;
        border-radius: 16px;
        background: #eff6ff;
    }

    .knives-angle-badge[b-ywibxd9sr1] {
        display: inline-flex;
        align-items: center;
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        background: #1d4ed8;
        color: #ffffff;
        font-size: 0.86rem;
        font-weight: 700;
        letter-spacing: 0.02em;
    }

    .knives-formula[b-ywibxd9sr1] {
        color: #1e3a8a;
        font-weight: 600;
    }

    .knives-error[b-ywibxd9sr1] {
        color: #b91c1c;
        font-weight: 600;
    }

    .knives-table-shell[b-ywibxd9sr1] {
        border: 1px solid var(--app-border-color);
        border-radius: 18px;
        overflow: hidden;
        background: var(--app-surface-bg);
        box-shadow: var(--app-shadow-panel);
    }

    .knives-table[b-ywibxd9sr1] {
        margin-bottom: 0;
    }

    .knives-table thead th[b-ywibxd9sr1] {
        background: var(--app-surface-muted);
        color: var(--app-text-strong);
        font-size: 0.92rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    .knives-number[b-ywibxd9sr1] {
        font-variant-numeric: tabular-nums;
        font-weight: 600;
        color: var(--app-text-strong);
    }
/* /Pages/Labyrinth/Labyrinth.razor.rz.scp.css */
.labyrinth-heading[b-kjj79l31uf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.labyrinth-heading h1[b-kjj79l31uf] {
    margin-bottom: 0;
}

.labyrinth-info-link[b-kjj79l31uf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid #5c6773;
    border-radius: 50%;
    color: var(--app-text-strong);
    text-decoration: none;
}

.labyrinth-info-link:hover[b-kjj79l31uf],
.labyrinth-info-link:focus[b-kjj79l31uf] {
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
}

.labyrinth-layout[b-kjj79l31uf] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
}

.labyrinth-panel[b-kjj79l31uf] {
    min-width: 16rem;
    max-width: 24rem;
}

.labyrinth-field[b-kjj79l31uf] {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

.labyrinth-field select[b-kjj79l31uf] {
    max-width: 12rem;
    padding: 0.35rem 0.5rem;
}

.labyrinth-result.is-labyrinth[b-kjj79l31uf] {
    color: #198754;
}

.labyrinth-result.not-labyrinth[b-kjj79l31uf] {
    color: #b02a37;
}

.labyrinth-fen[b-kjj79l31uf] {
    word-break: break-all;
}

.labyrinth-actions[b-kjj79l31uf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.labyrinth-button[b-kjj79l31uf] {
    border: 1px solid #5c6773;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    padding: 0.35rem 0.7rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.labyrinth-button.active[b-kjj79l31uf] {
    background: #dbeafe;
    border-color: #2563eb;
    color: #1e3a8a;
    font-weight: 600;
}

.labyrinth-button:disabled[b-kjj79l31uf] {
    background: #e5e7eb;
    border-color: #9ca3af;
    color: #6b7280;
    cursor: not-allowed;
}


.labyrinth-board-shell[b-kjj79l31uf] {
    position: relative;
}

.labyrinth-loading-overlay[b-kjj79l31uf] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.55);
    border-radius: 8px;
    z-index: 8;
}

.labyrinth-loading-overlay .spinner-border[b-kjj79l31uf] {
    width: 2.25rem;
    height: 2.25rem;
    color: #2563eb;
}
/* /Pages/Labyrinth/LabyrinthDocs.razor.rz.scp.css */
.labyrinth-docs[b-7cpgg0ehqh] {
    max-width: 56rem;
}

.labyrinth-docs-back[b-7cpgg0ehqh] {
    display: inline-block;
    margin-bottom: 1rem;
}

.labyrinth-docs section[b-7cpgg0ehqh] {
    margin-top: 1.75rem;
}

.labyrinth-docs h2[b-7cpgg0ehqh] {
    font-size: 1.35rem;
    margin-bottom: 0.75rem;
}

.labyrinth-docs li[b-7cpgg0ehqh] {
    margin-bottom: 0.45rem;
}
/* /Pages/LectureTopics.razor.rz.scp.css */
.lecture-heading[b-3knuvtgcee] {
    margin-bottom: 1rem;
}

.lecture-topic-layout[b-3knuvtgcee] {
    display: grid;
    grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr);
    align-items: start;
    gap: 1.5rem;
}

.lecture-topic-picker[b-3knuvtgcee] {
    position: sticky;
    top: 1rem;
    padding: 0.35rem 0;
}

.lecture-animation-option[b-3knuvtgcee] {
    margin-top: 0.75rem;
}

.lecture-topic-picker select option.lecture-option-learned[b-3knuvtgcee] {
    color: #15803d;
    font-weight: 700;
}

.lecture-topic-picker select:has(option.lecture-option-learned:checked)[b-3knuvtgcee] {
    color: #15803d;
    font-weight: 700;
}

.lecture-topic-stack[b-3knuvtgcee] {
    display: grid;
    gap: 2rem;
}

.lecture-topic-stack[b-3knuvtgcee]  .lecture-step-shell {
    min-width: 0;
}

.lecture-topic-stack[b-3knuvtgcee]  .stalemate-lecture {
    display: grid;
    grid-template-columns: minmax(18rem, max-content) minmax(18rem, 42rem);
    align-items: start;
    gap: 1.5rem;
    margin-bottom: 1.75rem;
}

.lecture-topic-stack[b-3knuvtgcee]  .stalemate-board-panel {
    overflow-x: auto;
}

.lecture-topic-stack[b-3knuvtgcee]  .stalemate-definition {
    max-width: 42rem;
}

.lecture-topic-stack[b-3knuvtgcee]  .stalemate-definition h1 {
    margin: 0 0 0.75rem;
    font-size: clamp(1.55rem, 2vw, 2.1rem);
    line-height: 1.15;
}

.lecture-topic-stack[b-3knuvtgcee]  .stalemate-definition p {
    margin: 0 0 0.85rem;
    font-size: 1.02rem;
    line-height: 1.65;
}

.lecture-topic-stack[b-3knuvtgcee]  .lecture-fen {
    display: inline-block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 0.95em;
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border-muted);
    border-radius: 4px;
    padding: 0.05rem 0.25rem;
}

.lecture-topic-stack[b-3knuvtgcee]  .lecture-text-section {
    max-width: 48rem;
}

.lecture-topic-stack[b-3knuvtgcee]  .lecture-text-section h1 {
    margin: 0 0 0.75rem;
    font-size: clamp(1.35rem, 1.8vw, 1.85rem);
    line-height: 1.2;
}

.lecture-topic-stack[b-3knuvtgcee]  .lecture-text-section p {
    margin: 0 0 0.85rem;
    font-size: 1.02rem;
    line-height: 1.65;
}

.lecture-topic-stack[b-3knuvtgcee]  .lecture-step-controls {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.25rem;
}

.lecture-topic-stack[b-3knuvtgcee]  .lecture-step-progress {
    color: var(--app-text-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

@media (max-width: 900px) {
    .lecture-topic-stack[b-3knuvtgcee]  .stalemate-lecture {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .lecture-topic-layout[b-3knuvtgcee] {
        grid-template-columns: 1fr;
    }

    .lecture-topic-picker[b-3knuvtgcee] {
        position: static;
    }
}
/* /Pages/Opening/Opening.razor.rz.scp.css */
.opening-controls[b-8zybvh0jwv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.7rem;
}

.opening-dialog-backdrop[b-8zybvh0jwv] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    z-index: 1000;
}

.opening-dialog[b-8zybvh0jwv] {
    width: min(100%, 28rem);
    background: var(--app-surface-bg);
    border-radius: 10px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.25);
    padding: 1rem;
    display: grid;
    gap: 0.8rem;
}

.opening-dialog h2[b-8zybvh0jwv] {
    margin: 0;
    font-size: 1.1rem;
}

.opening-dialog-field[b-8zybvh0jwv] {
    display: grid;
    gap: 0.35rem;
    font-size: 0.9rem;
    color: var(--app-text-muted);
}

.opening-dialog-input[b-8zybvh0jwv],
.opening-dialog-upload-input[b-8zybvh0jwv] {
    border: 1px solid var(--app-border-muted);
    border-radius: 6px;
    padding: 0.45rem 0.55rem;
    font-size: 0.95rem;
    background: var(--app-input-bg);
}

.opening-dialog-input.opening-dialog-input-invalid[b-8zybvh0jwv] {
    border-color: #b00020;
    box-shadow: 0 0 0 2px rgba(176, 0, 32, 0.15);
}

.opening-commentary-input[b-8zybvh0jwv] {
    min-height: 8rem;
    resize: vertical;
    font-family: inherit;
    line-height: 1.45;
}

.opening-dialog-help[b-8zybvh0jwv] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--app-text-muted);
}

.opening-dialog-actions[b-8zybvh0jwv] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.mode-toggle[b-8zybvh0jwv] {
    display: inline-flex;
    gap: 0.35rem;
}

.mode-button[b-8zybvh0jwv],
.secondary-button[b-8zybvh0jwv] {
    border: 1px solid #5c6773;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    padding: 0.35rem 0.7rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.secondary-button:disabled[b-8zybvh0jwv] {
    background: #e5e7eb;
    border-color: #9ca3af;
    color: #6b7280;
    cursor: not-allowed;
    opacity: 1;
}

.mode-button.active[b-8zybvh0jwv] {
    background: #dbeafe;
    border-color: #2563eb;
    color: #1e3a8a;
    font-weight: 600;
}

.upload-button[b-8zybvh0jwv] {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
}

.opening-upload-input[b-8zybvh0jwv] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    color: transparent;
    cursor: pointer;
    font-size: 0;
}

.secondary-button.danger[b-8zybvh0jwv] {
    border-color: #b91c1c;
    color: #7f1d1d;
    background: #fee2e2;
}

.train-option[b-8zybvh0jwv] {
    font-size: 0.9rem;
    color: #374151;
}

.train-select[b-8zybvh0jwv] {
    border: 1px solid #6b7280;
    border-radius: 4px;
    padding: 0.25rem 0.45rem;
    font-size: 0.9rem;
    background: var(--app-input-bg);
    min-width: 6.5rem;
}

#opening-select[b-8zybvh0jwv] {
    min-width: 10rem;
}

.training-toggle[b-8zybvh0jwv] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9rem;
    color: #374151;
}

.training-toggle input[b-8zybvh0jwv] {
    margin: 0;
}

.opening-status[b-8zybvh0jwv] {
    margin: 0.2rem 0 0.25rem;
    font-size: 0.9rem;
    color: #1f2937;
    white-space: pre-line;
}

.opening-error[b-8zybvh0jwv] {
    margin: 0.1rem 0 0.25rem;
    font-size: 0.9rem;
    color: #b00020;
}

.promotion-picker[b-8zybvh0jwv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: 0.2rem 0 0.4rem;
}

.promotion-label[b-8zybvh0jwv] {
    font-size: 0.9rem;
    color: var(--app-text-muted);
}

.promotion-button[b-8zybvh0jwv] {
    min-width: 5.5rem;
}

.turn-label[b-8zybvh0jwv] {
    margin: 0.25rem 0 0.6rem;
    font-size: 0.9rem;
    color: var(--app-text-muted);
}

.opening-layout[b-8zybvh0jwv] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.board-area[b-8zybvh0jwv] {
    min-width: 19.5rem;
}

.variant-navigation-buttons[b-8zybvh0jwv] {
    display: none;
    margin-top: 0.65rem;
    gap: 0.5rem;
}

.variant-navigation-button[b-8zybvh0jwv] {
    min-width: 3rem;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1;
}

.board-tool-button[b-8zybvh0jwv] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0.35rem;
    border: 1px solid #5c6773;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    cursor: pointer;
    overflow: hidden;
}

.board-tool-button:hover[b-8zybvh0jwv] {
    background: var(--app-surface-muted-hover);
}

.board-tool-button:disabled[b-8zybvh0jwv] {
    cursor: wait;
    opacity: 0.65;
}

.board-tool-icon[b-8zybvh0jwv] {
    width: 1.35rem;
    height: 1.35rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tree-panel[b-8zybvh0jwv] {
    min-width: 18rem;
    flex: 1;
    border: 1px solid var(--app-border-color);
    border-radius: 8px;
    padding: 0.75rem;
    background: var(--app-surface-muted);
}

.tree-panel-hidden[b-8zybvh0jwv] {
    display: grid;
    gap: 0.5rem;
    align-content: start;
}

.tree-header[b-8zybvh0jwv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

.tree-header-actions[b-8zybvh0jwv] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.tree-header h3[b-8zybvh0jwv] {
    margin: 0;
    font-size: 1.05rem;
}

.line-label[b-8zybvh0jwv] {
    margin: 0.45rem 0 0.45rem;
    font-size: 0.9rem;
    color: var(--app-text-muted);
    word-break: break-word;
}

.tree-empty[b-8zybvh0jwv] {
    margin: 0.4rem 0 0;
    color: var(--app-text-muted);
}

.tree-root-commentary[b-8zybvh0jwv] {
    margin: 0.4rem 0 0;
    padding: 0.55rem 0.7rem;
    border-left: 3px solid #93c5fd;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 0.88rem;
    line-height: 1.4;
    white-space: pre-line;
}

.tree-hidden-message[b-8zybvh0jwv] {
    margin: 0;
    color: var(--app-text-muted);
    font-size: 0.9rem;
}

.tree-scroll-region[b-8zybvh0jwv] {
    display: grid;
    gap: 0.45rem;
    max-height: min(38rem, 60vh);
    overflow: auto;
    overscroll-behavior: contain;
    padding-right: 0.25rem;
    scrollbar-gutter: stable;
}

.tree-root[b-8zybvh0jwv] {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.25rem;
}

.training-leaf-section[b-8zybvh0jwv] {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--app-border-color);
}

.training-leaf-header[b-8zybvh0jwv] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
}

.training-leaf-header h4[b-8zybvh0jwv] {
    margin: 0;
    font-size: 1rem;
}

.training-leaf-summary[b-8zybvh0jwv],
.training-leaf-highlight-note[b-8zybvh0jwv],
.training-leaf-empty[b-8zybvh0jwv],
.training-leaf-line[b-8zybvh0jwv],
.training-leaf-full-line[b-8zybvh0jwv],
.training-leaf-probability[b-8zybvh0jwv],
.training-leaf-weight[b-8zybvh0jwv],
.training-leaf-priority[b-8zybvh0jwv] {
    margin: 0;
}

.training-leaf-summary[b-8zybvh0jwv],
.training-leaf-empty[b-8zybvh0jwv],
.training-leaf-full-line[b-8zybvh0jwv] {
    color: var(--app-text-muted);
}

.training-leaf-highlight-note[b-8zybvh0jwv] {
    color: #1d4ed8;
    font-size: 0.85rem;
    font-weight: 600;
}

.training-leaf-grid[b-8zybvh0jwv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 0.75rem;
}

.training-leaf-card[b-8zybvh0jwv] {
    display: grid;
    gap: 0.35rem;
    padding: 0.8rem;
    border: 1px solid var(--app-border-color);
    border-radius: 12px;
    background: var(--app-surface-bg);
}

.training-leaf-card.selected[b-8zybvh0jwv] {
    border-color: #93c5fd;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.2);
}

.training-leaf-line[b-8zybvh0jwv] {
    color: var(--app-text-strong);
    font-weight: 600;
    word-break: break-word;
}

.training-leaf-full-line[b-8zybvh0jwv],
.training-leaf-probability[b-8zybvh0jwv],
.training-leaf-weight[b-8zybvh0jwv],
.training-leaf-priority[b-8zybvh0jwv] {
    font-size: 0.9rem;
}

.training-leaf-probability[b-8zybvh0jwv] {
    color: #0f766e;
}

.training-leaf-weight[b-8zybvh0jwv] {
    color: #1e293b;
}

.training-leaf-priority[b-8zybvh0jwv] {
    color: #1d4ed8;
}

.tree-root[b-8zybvh0jwv]  .tree-branch,
.tree-root[b-8zybvh0jwv]  .tree-variations {
    display: grid;
    gap: 0.3rem;
}

.tree-root[b-8zybvh0jwv]  .tree-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.45rem;
    padding-left: calc(var(--tree-depth) * 1rem);
    line-height: 1.45;
}

.tree-root[b-8zybvh0jwv]  .tree-move {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    color: var(--app-text-strong);
    font-size: 0.92rem;
    cursor: pointer;
    user-select: none;
    scroll-margin-block: 0.65rem;
    scroll-margin-inline: 0.65rem;
}

.tree-root[b-8zybvh0jwv]  .tree-move-main {
    display: inline-flex;
    align-items: baseline;
    gap: 0.18rem;
}

.tree-root[b-8zybvh0jwv]  .tree-move:hover {
    color: var(--app-text-strong);
}

.tree-root[b-8zybvh0jwv]  .tree-move:hover .tree-move-main {
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 0.15em;
}

.tree-root[b-8zybvh0jwv]  .tree-move.visit-pending .tree-move-main {
    color: #b91c1c;
}

.tree-root[b-8zybvh0jwv]  .tree-move.visit-pending .tree-move-prefix {
    color: #991b1b;
}

.tree-root[b-8zybvh0jwv]  .tree-move:focus-visible {
    outline: 2px solid #93c5fd;
    outline-offset: 3px;
    border-radius: 4px;
}

.tree-root[b-8zybvh0jwv]  .tree-move-prefix {
    color: var(--app-text-muted);
    font-variant-numeric: tabular-nums;
}

.tree-nag-toolbar[b-8zybvh0jwv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.4rem;
}

.tree-nag-toolbar-label[b-8zybvh0jwv] {
    color: var(--app-text-muted);
    font-size: 0.82rem;
    font-weight: 600;
}

.tree-nag-toolbar-buttons[b-8zybvh0jwv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.tree-nag-button[b-8zybvh0jwv] {
    min-width: 3rem;
    padding-inline: 0.7rem;
}

.tree-nag-button.active[b-8zybvh0jwv] {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}

.tree-root[b-8zybvh0jwv]  .tree-move-commentary {
    display: block;
    max-width: min(24rem, 100%);
    padding: 0.18rem 0.45rem;
    border-radius: 8px;
    background: var(--app-surface-muted);
    color: var(--app-text-muted);
    font-size: 0.8rem;
    line-height: 1.35;
    white-space: pre-wrap;
}

.tree-root[b-8zybvh0jwv]  .tree-move.current {
    color: var(--bs-link-color);
    font-weight: 600;
}

[data-bs-theme="dark"] .tree-panel[b-8zybvh0jwv] {
    background: #343a40;
}

[data-bs-theme="dark"] .tree-root-commentary[b-8zybvh0jwv] {
    border-left-color: #60a5fa;
    background: rgba(96, 165, 250, 0.16);
    color: #dbeafe;
}

[data-bs-theme="dark"] .training-leaf-card.selected[b-8zybvh0jwv] {
    border-color: #60a5fa;
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.18) 0%, rgba(30, 41, 59, 0.75) 100%);
    box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.2);
}

[data-bs-theme="dark"] .training-leaf-highlight-note[b-8zybvh0jwv],
[data-bs-theme="dark"] .training-leaf-priority[b-8zybvh0jwv] {
    color: #93c5fd;
}

[data-bs-theme="dark"] .training-leaf-probability[b-8zybvh0jwv] {
    color: #5eead4;
}

[data-bs-theme="dark"] .training-leaf-weight[b-8zybvh0jwv] {
    color: #e2e8f0;
}

.tree-root[b-8zybvh0jwv]  .tree-move.current .tree-move-main {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.18em;
}

@media (max-width: 767.98px) {
    .opening-layout[b-8zybvh0jwv] {
        flex-direction: column;
    }

    .board-area[b-8zybvh0jwv],
    .tree-panel[b-8zybvh0jwv] {
        width: 100%;
        min-width: 0;
    }

    .board-area .chessboard-shell[b-8zybvh0jwv] {
        width: 100%;
    }

    .mobile-hide-commentary-action[b-8zybvh0jwv] {
        display: none;
    }

    .variant-navigation-buttons[b-8zybvh0jwv] {
        display: flex;
    }
}


.board-area[b-8zybvh0jwv],
.tree-panel[b-8zybvh0jwv] {
    position: relative;
}

.opening-loading-overlay[b-8zybvh0jwv] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.55);
    z-index: 8;
    border-radius: 8px;
}

.opening-loading-overlay .spinner-border[b-8zybvh0jwv] {
    width: 2.25rem;
    height: 2.25rem;
    color: #2563eb;
}

@media (max-width: 767.98px) {
    .opening-loading-overlay-tree[b-8zybvh0jwv] {
        display: none;
    }
}

@media (min-width: 768px) {
    .opening-loading-overlay-board[b-8zybvh0jwv] {
        display: none;
    }
}
/* /Pages/OpeningTreeBranch/OpeningTreeBranch.razor.rz.scp.css */
.tree-move.current .tree-move-main[b-nf143jowao] {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.18em;
}

.tree-depth-0[b-nf143jowao] { --tree-depth: 0; }
.tree-depth-1[b-nf143jowao] { --tree-depth: 1; }
.tree-depth-2[b-nf143jowao] { --tree-depth: 2; }
.tree-depth-3[b-nf143jowao] { --tree-depth: 3; }
.tree-depth-4[b-nf143jowao] { --tree-depth: 4; }
.tree-depth-5[b-nf143jowao] { --tree-depth: 5; }
.tree-depth-6[b-nf143jowao] { --tree-depth: 6; }
.tree-depth-7[b-nf143jowao] { --tree-depth: 7; }
.tree-depth-8[b-nf143jowao] { --tree-depth: 8; }
.tree-depth-9[b-nf143jowao] { --tree-depth: 9; }
.tree-depth-10[b-nf143jowao] { --tree-depth: 10; }
.tree-depth-11[b-nf143jowao] { --tree-depth: 11; }
.tree-depth-12[b-nf143jowao] { --tree-depth: 12; }
.tree-depth-13[b-nf143jowao] { --tree-depth: 13; }
.tree-depth-14[b-nf143jowao] { --tree-depth: 14; }
.tree-depth-15[b-nf143jowao] { --tree-depth: 15; }
.tree-depth-16[b-nf143jowao] { --tree-depth: 16; }
.tree-depth-17[b-nf143jowao] { --tree-depth: 17; }
.tree-depth-18[b-nf143jowao] { --tree-depth: 18; }
.tree-depth-19[b-nf143jowao] { --tree-depth: 19; }
.tree-depth-20[b-nf143jowao] { --tree-depth: 20; }
.tree-depth-21[b-nf143jowao] { --tree-depth: 21; }
.tree-depth-22[b-nf143jowao] { --tree-depth: 22; }
.tree-depth-23[b-nf143jowao] { --tree-depth: 23; }
.tree-depth-24[b-nf143jowao] { --tree-depth: 24; }
.tree-depth-25[b-nf143jowao] { --tree-depth: 25; }
.tree-depth-26[b-nf143jowao] { --tree-depth: 26; }
.tree-depth-27[b-nf143jowao] { --tree-depth: 27; }
.tree-depth-28[b-nf143jowao] { --tree-depth: 28; }
.tree-depth-29[b-nf143jowao] { --tree-depth: 29; }
.tree-depth-30[b-nf143jowao] { --tree-depth: 30; }
.tree-depth-31[b-nf143jowao] { --tree-depth: 31; }
.tree-depth-32[b-nf143jowao] { --tree-depth: 32; }
.tree-depth-33[b-nf143jowao] { --tree-depth: 33; }
.tree-depth-34[b-nf143jowao] { --tree-depth: 34; }
.tree-depth-35[b-nf143jowao] { --tree-depth: 35; }
.tree-depth-36[b-nf143jowao] { --tree-depth: 36; }
.tree-depth-37[b-nf143jowao] { --tree-depth: 37; }
.tree-depth-38[b-nf143jowao] { --tree-depth: 38; }
.tree-depth-39[b-nf143jowao] { --tree-depth: 39; }
.tree-depth-40[b-nf143jowao] { --tree-depth: 40; }
/* /Pages/Play/Play.razor.rz.scp.css */
.play-page[b-2e10dc373i] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    max-width: 72rem;
}

.play-toolbar[b-2e10dc373i] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.7rem;
    padding: 0.75rem 0;
}

.play-field[b-2e10dc373i] {
    display: grid;
    gap: 0.25rem;
    color: var(--app-text-muted);
    font-size: 0.84rem;
}

.play-select[b-2e10dc373i] {
    min-width: 11rem;
    border: 1px solid #9ca3af;
    border-radius: 5px;
    background: var(--app-surface);
    color: var(--app-text-strong);
    padding: 0.42rem 0.55rem;
}

.play-button[b-2e10dc373i] {
    min-height: 2.25rem;
    border: 1px solid #64748b;
    border-radius: 5px;
    background: var(--app-surface-muted);
    color: var(--app-text-strong);
    padding: 0.4rem 0.72rem;
    font-weight: 600;
    cursor: pointer;
}

.play-button.primary[b-2e10dc373i] {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}

.play-button:disabled[b-2e10dc373i] {
    opacity: 0.55;
    cursor: not-allowed;
}

.play-toggle[b-2e10dc373i] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.25rem;
    color: var(--app-text-strong);
    font-weight: 600;
}

.maia-panel[b-2e10dc373i] {
    display: grid;
    gap: 0.65rem;
    max-width: 42rem;
    border-top: 1px solid #d1d5db;
    border-bottom: 1px solid #d1d5db;
    padding: 0.85rem 0;
}

.maia-controls[b-2e10dc373i] {
    display: grid;
    grid-template-columns: minmax(12rem, 20rem) minmax(12rem, 1fr);
    align-items: end;
    gap: 0.8rem;
}

.maia-rating-field input[type="range"][b-2e10dc373i] {
    width: 100%;
    accent-color: #16a34a;
}

.maia-note[b-2e10dc373i] {
    color: var(--app-text-muted);
    font-size: 0.9rem;
}

.maia-chart-shell[b-2e10dc373i] {
    position: relative;
    width: min(100%, 34rem);
    min-height: 12rem;
}

.maia-chart[b-2e10dc373i] {
    display: block;
    width: 100%;
    max-width: 34rem;
    height: auto;
    background:
        linear-gradient(90deg, rgba(148, 163, 184, 0.14) 1px, transparent 1px),
        linear-gradient(0deg, rgba(148, 163, 184, 0.14) 1px, transparent 1px);
    background-size: 3rem 2.45rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
}

.maia-chart-axis[b-2e10dc373i] {
    position: absolute;
    left: 0.35rem;
    z-index: 1;
    color: #475569;
    font-size: 0.72rem;
    pointer-events: none;
}

.maia-chart-axis.y-high[b-2e10dc373i] {
    top: 0.55rem;
}

.maia-chart-axis.y-mid[b-2e10dc373i] {
    top: 5.25rem;
}

.maia-chart-axis.y-low[b-2e10dc373i] {
    bottom: 0.9rem;
}

.maia-grid-line[b-2e10dc373i] {
    stroke: rgba(100, 116, 139, 0.35);
    stroke-dasharray: 4 4;
    stroke-width: 1;
}

.maia-axis-line[b-2e10dc373i] {
    stroke: #475569;
    stroke-width: 1.2;
}

.maia-axis-tick[b-2e10dc373i] {
    stroke: #475569;
    stroke-width: 1;
}

.maia-x-tick-label[b-2e10dc373i],
.maia-x-axis-label[b-2e10dc373i] {
    fill: #475569;
    font-size: 0.58rem;
    text-anchor: middle;
}

.maia-x-axis-label[b-2e10dc373i] {
    font-size: 0.66rem;
    font-weight: 700;
}

.maia-line[b-2e10dc373i] {
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.maia-dot[b-2e10dc373i] {
    stroke: var(--app-surface);
    stroke-width: 1.2;
}

.maia-line.maia-quality-good[b-2e10dc373i] {
    stroke: #15803d;
}

.maia-line.maia-quality-warning[b-2e10dc373i] {
    stroke: #d97706;
}

.maia-line.maia-quality-bad[b-2e10dc373i] {
    stroke: #b91c1c;
}

.maia-dot.maia-quality-good[b-2e10dc373i],
.maia-swatch.maia-quality-good[b-2e10dc373i] {
    fill: #15803d;
    background: #15803d;
}

.maia-dot.maia-quality-warning[b-2e10dc373i],
.maia-swatch.maia-quality-warning[b-2e10dc373i] {
    fill: #d97706;
    background: #d97706;
}

.maia-dot.maia-quality-bad[b-2e10dc373i],
.maia-swatch.maia-quality-bad[b-2e10dc373i] {
    fill: #b91c1c;
    background: #b91c1c;
}

.maia-hover-guide[b-2e10dc373i] {
    stroke: rgba(15, 23, 42, 0.3);
    stroke-dasharray: 3 3;
    stroke-width: 1;
    pointer-events: none;
}

.maia-hover-dot[b-2e10dc373i] {
    stroke: #fff;
    stroke-width: 2.2;
    pointer-events: none;
}

.maia-hover-dot.maia-quality-good[b-2e10dc373i] {
    fill: #15803d;
}

.maia-hover-dot.maia-quality-warning[b-2e10dc373i] {
    fill: #d97706;
}

.maia-hover-dot.maia-quality-bad[b-2e10dc373i] {
    fill: #b91c1c;
}

.maia-tooltip[b-2e10dc373i] {
    pointer-events: none;
}

.maia-tooltip rect[b-2e10dc373i] {
    fill: rgba(15, 23, 42, 0.92);
    stroke: rgba(255, 255, 255, 0.35);
    stroke-width: 1;
}

.maia-tooltip-move[b-2e10dc373i],
.maia-tooltip-detail[b-2e10dc373i] {
    fill: #fff;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.62rem;
}

.maia-tooltip-move[b-2e10dc373i] {
    font-weight: 700;
}

.maia-hit-area[b-2e10dc373i] {
    fill: transparent;
    cursor: crosshair;
}

.maia-legend[b-2e10dc373i] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.7rem;
}

.maia-legend-item[b-2e10dc373i] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--app-text-strong);
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.84rem;
}

.maia-swatch[b-2e10dc373i] {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
}

.play-promotion-picker[b-2e10dc373i] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.play-board-row[b-2e10dc373i] {
    display: grid;
    grid-template-columns: minmax(18rem, 38rem) minmax(16rem, 1fr) minmax(12rem, 18rem);
    align-items: start;
    gap: 0.8rem;
}

.play-board-row:focus[b-2e10dc373i] {
    outline: none;
}

.play-status-panel[b-2e10dc373i] {
    display: grid;
    gap: 0.45rem;
    min-height: 12rem;
    border-left: 1px solid #d1d5db;
    padding-left: 0.85rem;
}

.play-variant-tree-panel[b-2e10dc373i] {
    min-width: 16rem;
    max-width: 28rem;
    border: 1px solid var(--app-border-color);
    border-radius: 8px;
    padding: 0.75rem;
    background: var(--app-surface-muted);
}

.tree-header[b-2e10dc373i] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

.tree-header h3[b-2e10dc373i] {
    margin: 0;
    font-size: 1.05rem;
}

.line-label[b-2e10dc373i] {
    margin: 0.45rem 0;
    font-size: 0.9rem;
    color: var(--app-text-muted);
    word-break: break-word;
}

.variant-navigation-buttons[b-2e10dc373i] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.variant-navigation-button[b-2e10dc373i] {
    min-width: 3rem;
    font-size: 1.05rem;
    line-height: 1;
}

.tree-scroll-region[b-2e10dc373i] {
    display: grid;
    gap: 0.45rem;
    max-height: min(24rem, 55vh);
    overflow: auto;
    overscroll-behavior: contain;
    padding-right: 0.25rem;
    scrollbar-gutter: stable;
}

.tree-root[b-2e10dc373i] {
    display: grid;
    gap: 0.45rem;
}

.tree-root[b-2e10dc373i]  .tree-branch,
.tree-root[b-2e10dc373i]  .tree-variations {
    display: grid;
    gap: 0.3rem;
}

.tree-root[b-2e10dc373i]  .tree-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.45rem;
    padding-left: calc(var(--tree-depth) * 1rem);
    line-height: 1.45;
}

.tree-root[b-2e10dc373i]  .tree-move {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    color: var(--app-text-strong);
    font-size: 0.92rem;
    cursor: pointer;
    user-select: none;
}

.tree-root[b-2e10dc373i]  .tree-move-main {
    display: inline-flex;
    align-items: baseline;
    gap: 0.18rem;
}

.tree-root[b-2e10dc373i]  .tree-move:hover .tree-move-main,
.tree-root[b-2e10dc373i]  .tree-move.current .tree-move-main {
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.tree-root[b-2e10dc373i]  .tree-move.current {
    color: var(--bs-link-color);
    font-weight: 600;
}

.tree-root[b-2e10dc373i]  .tree-move-prefix {
    color: var(--app-text-muted);
    font-variant-numeric: tabular-nums;
}

.play-status-title[b-2e10dc373i] {
    color: var(--app-text-strong);
    font-weight: 700;
}

.play-status-line[b-2e10dc373i] {
    color: var(--app-text-strong);
}

.play-status-line.muted[b-2e10dc373i] {
    color: var(--app-text-muted);
    font-size: 0.92rem;
}

@media (max-width: 820px) {
    .play-board-row[b-2e10dc373i] {
        grid-template-columns: minmax(0, 1fr);
    }

    .play-variant-tree-panel[b-2e10dc373i],
    .play-status-panel[b-2e10dc373i] {
        grid-column: 1 / -1;
    }

    .play-status-panel[b-2e10dc373i] {
        border-left: 0;
        border-top: 1px solid #d1d5db;
        padding: 0.75rem 0 0;
    }

    .play-select[b-2e10dc373i] {
        min-width: 9rem;
    }

    .maia-controls[b-2e10dc373i] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Print/Print.razor.rz.scp.css */
.print-workspace[b-cue1cg70cd] {
    --print-page-height: 277mm;
    --print-cell-height: calc(var(--print-page-height) / 3);
    --print-cell-padding: 4mm;
    --print-board-size: 58mm;
    --print-square-size: calc(var(--print-board-size) / 8);
    max-width: 74rem;
    margin: 0 auto;
    padding: 1rem;
}

.print-header[b-cue1cg70cd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.print-header h1[b-cue1cg70cd] {
    margin: 0;
    font-size: 1.8rem;
}

.print-header-actions[b-cue1cg70cd] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.print-save-status[b-cue1cg70cd] {
    color: var(--app-text-muted);
    font-size: 0.92rem;
}

.fen-paste[b-cue1cg70cd] {
    min-height: 8rem;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}

.print-title-input[b-cue1cg70cd] {
    margin-bottom: 0.85rem;
}

.print-options[b-cue1cg70cd] {
    display: grid;
    grid-template-columns: minmax(10rem, 14rem) auto;
    gap: 0.85rem 1rem;
    align-items: end;
    margin-bottom: 0.85rem;
}

.print-bw-toggle[b-cue1cg70cd] {
    min-height: 2.4rem;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0;
}

.print-bw-toggle .form-check-input[b-cue1cg70cd] {
    margin-left: 0;
}

.print-actions[b-cue1cg70cd] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 0.8rem 0 1rem;
}

.position-editor-list[b-cue1cg70cd] {
    display: grid;
    gap: 0.75rem;
}

.position-editor-row[b-cue1cg70cd] {
    display: grid;
    grid-template-columns: minmax(18rem, 2fr) minmax(12rem, 1fr) auto;
    align-items: end;
    gap: 0.75rem;
}

.position-page-title-row[b-cue1cg70cd] {
    padding: 0.75rem;
    border: 1px solid var(--bs-border-color, #ced4da);
    border-radius: 0.35rem;
    background: var(--bs-tertiary-bg, #f8f9fa);
}

.position-image-controls[b-cue1cg70cd] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.45rem;
}

.position-image-input[b-cue1cg70cd] {
    display: none;
}

.rich-text-editor[b-cue1cg70cd] {
    display: grid;
    gap: 0.35rem;
}

.rich-text-toolbar[b-cue1cg70cd] {
    display: flex;
    justify-content: flex-start;
    gap: 0.35rem;
}

.rich-text-bold-button[b-cue1cg70cd] {
    width: 2.2rem;
    height: 2.2rem;
    padding: 0;
    font-weight: 700;
}

.position-text-input[b-cue1cg70cd] {
    min-height: 4.75rem;
    resize: vertical;
}

.position-row-actions[b-cue1cg70cd] {
    display: grid;
    gap: 0.35rem;
}

.position-move-button[b-cue1cg70cd],
.remove-position-button[b-cue1cg70cd] {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
}

.print-sheet[b-cue1cg70cd] {
    display: grid;
    gap: 1.25rem;
    margin-top: 1.25rem;
}

.print-page-title[b-cue1cg70cd] {
    margin: 0 0 0.65rem;
    color: #111827;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.print-position-table[b-cue1cg70cd] {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    background: #ffffff;
}

.print-position-cell[b-cue1cg70cd] {
    width: 50%;
    box-sizing: border-box;
    border: 1px solid #1f2937;
    padding: 0.75rem;
    vertical-align: top;
}

.print-board[b-cue1cg70cd] {
    --display-only-board-width: 100%;
    --display-only-piece-size: clamp(1rem, 7vw, 2rem);
    --display-only-board-border: 2px solid #111827;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    width: min(100%, 17rem);
    aspect-ratio: 1;
    margin: 0 auto;
}

.print-position-image[b-cue1cg70cd] {
    display: block;
    max-width: min(100%, 17rem);
    max-height: 17rem;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
    background: #ffffff;
}

.print-bw .print-board[b-cue1cg70cd]  .chessboard .light {
    background: #ffffff;
}

.print-bw .print-board[b-cue1cg70cd]  .chessboard .dark {
    background: #c2c2c2;
}

.print-bw .print-board[b-cue1cg70cd] {
    --display-only-light-square: #ffffff;
    --display-only-dark-square: #c2c2c2;
}

.print-position-text[b-cue1cg70cd] {
    min-height: 2.5rem;
    margin: 0.55rem 0 0;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.3;
    color: #111827;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

.print-position-text.text-only[b-cue1cg70cd] {
    min-height: auto;
    margin-top: 0;
}

@media (max-width: 767.98px) {
    .print-options[b-cue1cg70cd] {
        grid-template-columns: 1fr;
    }

    .position-editor-row[b-cue1cg70cd] {
        grid-template-columns: 1fr;
    }

    .position-move-button[b-cue1cg70cd],
    .remove-position-button[b-cue1cg70cd] {
        width: 100%;
    }

    .print-position-table[b-cue1cg70cd],
    .print-position-table tbody[b-cue1cg70cd],
    .print-position-table tr[b-cue1cg70cd],
    .print-position-table td[b-cue1cg70cd] {
        display: block;
        width: 100%;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 10mm;
    }

    .print-editor[b-cue1cg70cd] {
        display: none !important;
    }

    .page[b-cue1cg70cd] {
        display: block !important;
    }

    main[b-cue1cg70cd],
    article[b-cue1cg70cd],
    .content[b-cue1cg70cd],
    .print-workspace[b-cue1cg70cd] {
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
    }

    .print-workspace:has(.print-layout-4)[b-cue1cg70cd] {
        --print-cell-height: calc(var(--print-page-height) / 2);
        --print-board-size: 72mm;
        --print-square-size: calc(var(--print-board-size) / 8);
    }

    .print-sheet[b-cue1cg70cd] {
        display: block;
        margin: 0;
    }

    .print-page[b-cue1cg70cd] {
        break-after: page;
        page-break-after: always;
    }

    .print-page:last-child[b-cue1cg70cd] {
        break-after: auto;
        page-break-after: auto;
    }

    .print-page-title[b-cue1cg70cd] {
        max-height: 16mm;
        overflow: hidden;
        margin: 0 0 4mm;
        color: #111827;
        font-size: 16pt;
        font-weight: 700;
        line-height: 1.15;
    }

    .print-position-table[b-cue1cg70cd] {
        width: 100%;
        height: var(--print-page-height);
        table-layout: fixed;
        border-collapse: collapse;
    }

    .print-page:has(.print-page-title)[b-cue1cg70cd] {
        --print-cell-height: calc((var(--print-page-height) - 20mm) / 3);
    }

    .print-workspace:has(.print-layout-4) .print-page:has(.print-page-title)[b-cue1cg70cd] {
        --print-cell-height: calc((var(--print-page-height) - 20mm) / 2);
    }

    .print-page:has(.print-page-title) .print-position-table[b-cue1cg70cd] {
        height: calc(var(--print-page-height) - 20mm);
    }

    .print-position-table tr[b-cue1cg70cd] {
        height: var(--print-cell-height);
    }

    .print-position-cell[b-cue1cg70cd] {
        width: 50%;
        height: var(--print-cell-height);
        border: 0.35mm solid #111827;
        padding: var(--print-cell-padding);
        vertical-align: top;
        overflow: hidden;
    }

    .print-board[b-cue1cg70cd] {
        --display-only-piece-size: 15pt;
        --display-only-board-border: 0.55mm solid #111827;
        width: var(--print-board-size);
        aspect-ratio: 1;
        margin: 0 auto;
    }

    .print-position-image[b-cue1cg70cd] {
        display: block;
        max-width: var(--print-board-size);
        max-height: var(--print-board-size);
        width: auto;
        height: auto;
        object-fit: contain;
        margin: 0 auto;
    }

    .print-board[b-cue1cg70cd] {
        --display-only-light-square: #eadcc4;
        --display-only-dark-square: #76573b;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .print-bw .print-board[b-cue1cg70cd] {
        --display-only-light-square: #ffffff;
        --display-only-dark-square: #c4c4c4;
    }

    .print-position-text[b-cue1cg70cd] {
        min-height: 12mm;
        max-height: 18mm;
        overflow: hidden;
        margin: 3mm 0 0;
        color: #111827;
        font-size: 11pt;
        font-weight: 700;
        line-height: 1.25;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}
/* /Pages/Settings/Settings.razor.rz.scp.css */
.settings-picker[b-lirj334ccg] {
        position: relative;
    }

    .settings-picker-toggle[b-lirj334ccg] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: left;
        cursor: pointer;
    }

    .settings-picker-value[b-lirj334ccg],
    .settings-picker-option[b-lirj334ccg] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .settings-picker-menu[b-lirj334ccg] {
        position: absolute;
        top: calc(100% + 0.35rem);
        left: 0;
        right: 0;
        z-index: 20;
        display: grid;
        gap: 0.2rem;
        padding: 0.35rem;
        border: 1px solid var(--bs-border-color, #ced4da);
        border-radius: 0.5rem;
        background: var(--bs-body-bg, #fff);
        box-shadow: 0 0.7rem 1.6rem rgba(15, 23, 42, 0.16);
    }

    .settings-picker-option[b-lirj334ccg] {
        width: 100%;
        padding: 0.55rem 0.7rem;
        border: none;
        border-radius: 0.4rem;
        background: transparent;
        color: inherit;
        text-align: left;
        cursor: pointer;
    }

    .settings-picker-option:hover[b-lirj334ccg],
    .settings-picker-option.selected[b-lirj334ccg] {
        background: rgba(148, 163, 184, 0.16);
    }

    .settings-board-preview[b-lirj334ccg] {
        display: inline-grid;
        grid-template-columns: repeat(2, 0.9rem);
        gap: 0.15rem;
        align-items: center;
    }

    .settings-color-swatch[b-lirj334ccg] {
        width: 0.9rem;
        height: 0.9rem;
        border: 1px solid rgba(15, 23, 42, 0.22);
        border-radius: 0.2rem;
    }

    .settings-piece-preview[b-lirj334ccg] {
        min-width: 3.3rem;
        color: #1f2937;
        font-size: 1.15rem;
        letter-spacing: 0.04em;
        line-height: 1;
    }

    .settings-piece-font-standard[b-lirj334ccg] {
        font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
    }

    .settings-piece-font-merida[b-lirj334ccg] {
        font-family: "Times New Roman", "Noto Serif", serif;
    }

    .settings-piece-font-leipzig[b-lirj334ccg] {
        font-family: "Georgia", "Noto Serif", serif;
    }

    .settings-piece-font-alpha[b-lirj334ccg] {
        font-family: "Trebuchet MS", "Segoe UI Symbol", sans-serif;
    }

    [data-bs-theme="dark"] .settings-picker-option:hover[b-lirj334ccg],
    [data-bs-theme="dark"] .settings-picker-option.selected[b-lirj334ccg] {
        background: rgba(148, 163, 184, 0.22);
    }

    .settings-training-mix[b-lirj334ccg] {
        display: grid;
        gap: 0.85rem;
        margin-top: 2rem;
        max-width: 44rem;
    }

    .settings-training-mix h2[b-lirj334ccg] {
        margin: 0 0 0.25rem;
        font-size: 1.35rem;
        line-height: 1.25;
    }

    .settings-slider-row[b-lirj334ccg] {
        display: grid;
        grid-template-columns: minmax(7rem, 10rem) minmax(12rem, 1fr) 3rem;
        gap: 0.8rem;
        align-items: center;
    }

    .settings-slider-row .form-label[b-lirj334ccg] {
        margin-bottom: 0;
    }

    .settings-slider-row output[b-lirj334ccg] {
        font-variant-numeric: tabular-nums;
        text-align: right;
    }

    @media (max-width: 575.98px) {
        .settings-slider-row[b-lirj334ccg] {
            grid-template-columns: 1fr 3rem;
            gap: 0.35rem 0.8rem;
        }

        .settings-slider-row input[b-lirj334ccg] {
            grid-column: 1 / -1;
            grid-row: 2;
        }
    }
/* /Pages/Statistics/Statistics.razor.rz.scp.css */
.statistics-page[b-cqghfyyvub] {
    display: grid;
    gap: 1rem;
}

.statistics-status[b-cqghfyyvub],
.statistics-error[b-cqghfyyvub] {
    margin: 0.4rem 0 0;
    font-size: 0.95rem;
}

.statistics-error[b-cqghfyyvub] {
    color: #b91c1c;
}

.statistics-opening-section[b-cqghfyyvub] {
    border: 1px solid var(--app-border-color);
    border-radius: 14px;
    padding: 1rem;
    background: linear-gradient(180deg, var(--app-surface-bg) 0%, var(--app-surface-muted) 100%);
    box-shadow: var(--app-shadow-panel);
}

.statistics-opening-header h2[b-cqghfyyvub],
.statistics-tree-header h3[b-cqghfyyvub] {
    margin: 0;
}

.statistics-opening-header[b-cqghfyyvub] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}

.statistics-opening-summary[b-cqghfyyvub] {
    margin: 0.2rem 0 0;
    color: var(--app-text-muted);
}

.statistics-opening-delete-button[b-cqghfyyvub] {
    flex-shrink: 0;
}

.statistics-tree-sections[b-cqghfyyvub] {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.statistics-tree-section[b-cqghfyyvub] {
    border: 1px solid var(--app-border-color);
    border-radius: 12px;
    padding: 0.9rem;
    background: var(--app-surface-subtle);
}

.statistics-tree-header[b-cqghfyyvub] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.statistics-tree-summary[b-cqghfyyvub] {
    color: var(--app-text-muted);
    font-size: 0.9rem;
}

.statistics-empty[b-cqghfyyvub] {
    margin: 0;
    color: var(--app-text-muted);
}

.statistics-leaf-grid[b-cqghfyyvub] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 0.9rem;
}

.statistics-leaf-card[b-cqghfyyvub] {
    display: grid;
    gap: 0.75rem;
    align-content: start;
    padding: 0.85rem;
    border: 1px solid var(--app-border-color);
    border-radius: 12px;
    background: var(--app-surface-bg);
}

.statistics-leaf-board-button[b-cqghfyyvub] {
    display: block;
    width: fit-content;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: none;
    color: inherit;
    cursor: pointer;
    text-decoration: none;
    text-align: left;
}

.statistics-leaf-board-button:hover .position-preview[b-cqghfyyvub],
.statistics-leaf-board-button:focus-visible .position-preview[b-cqghfyyvub] {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18), 0 10px 24px rgba(15, 23, 42, 0.12);
}

.statistics-leaf-content[b-cqghfyyvub] {
    display: grid;
    gap: 0.35rem;
}

.statistics-leaf-line[b-cqghfyyvub],
.statistics-leaf-count[b-cqghfyyvub],
.statistics-leaf-probability[b-cqghfyyvub],
.statistics-leaf-weight[b-cqghfyyvub],
.statistics-leaf-priority[b-cqghfyyvub] {
    margin: 0;
}

.statistics-leaf-line[b-cqghfyyvub] {
    color: var(--app-text-strong);
    font-weight: 600;
    word-break: break-word;
}

.statistics-leaf-count[b-cqghfyyvub] {
    color: var(--app-text-muted);
}

.statistics-leaf-probability[b-cqghfyyvub] {
    color: #0f766e;
}

.statistics-leaf-weight[b-cqghfyyvub] {
    color: #1e293b;
    font-size: 0.92rem;
}

.statistics-leaf-priority[b-cqghfyyvub] {
    color: #1d4ed8;
    font-size: 0.92rem;
}

.statistics-leaf-actions[b-cqghfyyvub] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.15rem;
}

.statistics-leaf-priority-button[b-cqghfyyvub] {
    justify-self: start;
}

@media (max-width: 640px) {
    .statistics-opening-section[b-cqghfyyvub],
    .statistics-tree-section[b-cqghfyyvub],
    .statistics-leaf-card[b-cqghfyyvub] {
        padding: 0.8rem;
    }

    .statistics-opening-header[b-cqghfyyvub],
    .statistics-tree-header[b-cqghfyyvub] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Pages/Students/Student.razor.rz.scp.css */
.student-page[b-kl7f44lcf7] {
    display: grid;
    gap: 1rem;
    max-width: 42rem;
}

.student-page h1[b-kl7f44lcf7],
.student-qr-section h2[b-kl7f44lcf7],
.student-curriculum-section h2[b-kl7f44lcf7],
.student-stufe-section h2[b-kl7f44lcf7],
.student-facts[b-kl7f44lcf7],
.student-facts dd[b-kl7f44lcf7] {
    margin: 0;
}

.student-back-link[b-kl7f44lcf7] {
    color: #1d4ed8;
    text-decoration: none;
}

.student-back-link:hover[b-kl7f44lcf7] {
    text-decoration: underline;
}

.student-facts[b-kl7f44lcf7] {
    display: grid;
    gap: 0.75rem;
}

.student-facts div[b-kl7f44lcf7] {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--app-border-muted);
}

.student-facts dt[b-kl7f44lcf7] {
    color: var(--app-text-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.student-facts dd[b-kl7f44lcf7] {
    color: var(--app-text-strong);
    font-size: 1.1rem;
    font-weight: 600;
}

.student-stack-version[b-kl7f44lcf7],
.student-stack-version-date[b-kl7f44lcf7] {
    display: block;
}

.student-stack-version[b-kl7f44lcf7] {
    overflow-wrap: anywhere;
}

.student-stack-version-date[b-kl7f44lcf7] {
    color: var(--app-text-muted);
    font-size: 0.9rem;
    font-weight: 500;
    margin-top: 0.2rem;
}

.student-status[b-kl7f44lcf7],
.student-error[b-kl7f44lcf7] {
    margin: 0;
}

.student-error[b-kl7f44lcf7] {
    color: #b91c1c;
}

.student-qr-section[b-kl7f44lcf7] {
    display: grid;
    gap: 0.65rem;
    align-items: start;
    max-width: 18rem;
    padding-top: 0.5rem;
}

.student-qr-section h2[b-kl7f44lcf7] {
    color: var(--app-text-strong);
    font-size: 1rem;
}

.student-qr-code[b-kl7f44lcf7] {
    width: min(100%, 14rem);
    aspect-ratio: 1;
    border: 1px solid var(--app-border-muted);
    border-radius: 8px;
    background: #fff;
}

.student-url[b-kl7f44lcf7] {
    color: var(--app-text-muted);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.student-stufe-section[b-kl7f44lcf7] {
    display: grid;
    gap: 0.75rem;
}

.student-stufe-heading[b-kl7f44lcf7] {
    display: flex;
    gap: 0.75rem;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
}

.student-stufe-section h2[b-kl7f44lcf7] {
    color: var(--app-text-strong);
    font-size: 1rem;
}

.student-save-status[b-kl7f44lcf7] {
    color: var(--app-text-muted);
    font-size: 0.9rem;
}

.student-stufe-grid[b-kl7f44lcf7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.75rem;
}

.student-stufe-field[b-kl7f44lcf7] {
    display: grid;
    gap: 0.35rem;
    color: var(--app-text-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.student-stufe-date-input[b-kl7f44lcf7] {
    min-height: 2.5rem;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--app-border-muted);
    border-radius: 6px;
    color: var(--app-text-strong);
    background: var(--app-input-bg);
}

.student-stufe-date-input[b-kl7f44lcf7]::placeholder {
    color: var(--app-text-muted);
    opacity: 1;
}

.student-stufe-date-input:focus[b-kl7f44lcf7] {
    outline: none;
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(37, 140, 251, 0.18);
}

.student-curriculum-section[b-kl7f44lcf7] {
    display: grid;
    gap: 0.75rem;
}

.student-curriculum-section h2[b-kl7f44lcf7] {
    color: var(--app-text-strong);
    font-size: 1rem;
}

.student-curriculum-empty[b-kl7f44lcf7] {
    color: var(--app-text-muted);
    margin: 0;
}

.student-curriculum-list[b-kl7f44lcf7] {
    display: grid;
    gap: 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.student-curriculum-item[b-kl7f44lcf7] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.6rem;
    align-items: center;
    padding: 0.75rem;
    border: 1px solid var(--app-border-muted);
    border-radius: 10px;
    background: #fff;
}

.student-curriculum-checkmark[b-kl7f44lcf7] {
    color: #15803d;
    font-weight: 800;
}

.student-curriculum-name[b-kl7f44lcf7] {
    color: var(--app-text-strong);
    font-weight: 700;
}

.student-curriculum-date[b-kl7f44lcf7] {
    color: var(--app-text-muted);
    font-size: 0.9rem;
}
/* /Pages/Students/Students.razor.rz.scp.css */
.students-page[b-1vulavr404] {
        display: grid;
        gap: 1rem;
    }

    .students-toolbar[b-1vulavr404],
    .students-class-header[b-1vulavr404],
    .students-class-title-row[b-1vulavr404],
    .students-item-row[b-1vulavr404],
    .students-account-controls[b-1vulavr404],
    .students-inline-actions[b-1vulavr404] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .students-toolbar[b-1vulavr404],
    .students-class-header[b-1vulavr404] {
        flex-wrap: wrap;
    }

    .students-helper[b-1vulavr404],
    .students-status[b-1vulavr404],
    .students-error[b-1vulavr404],
    .students-empty[b-1vulavr404],
    .students-sync-status[b-1vulavr404],
    .students-class-empty[b-1vulavr404] {
        margin: 0;
    }

    .students-helper[b-1vulavr404],
    .students-sync-status[b-1vulavr404],
    .students-empty[b-1vulavr404],
    .students-class-empty[b-1vulavr404] {
        color: #52606d;
        font-size: 0.95rem;
    }

    .students-error[b-1vulavr404] {
        color: #b91c1c;
    }

    .students-class-grid[b-1vulavr404] {
        display: grid;
        gap: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    }

    .students-class-card[b-1vulavr404] {
        display: grid;
        gap: 0.85rem;
        padding: 1rem;
        border: 1px solid var(--app-border-color);
        border-radius: 18px;
        background: linear-gradient(180deg, var(--app-surface-bg) 0%, var(--app-surface-muted) 100%);
        box-shadow: var(--app-shadow-panel);
    }

    .students-class-title[b-1vulavr404] {
        margin: 0;
        font-size: 1.1rem;
        color: var(--app-text-strong);
    }

    .students-class-edit[b-1vulavr404],
    .students-edit-fields[b-1vulavr404],
    .students-account-link[b-1vulavr404],
    .students-list[b-1vulavr404] {
        display: grid;
        gap: 0.65rem;
    }

    .students-drop-zone[b-1vulavr404] {
        height: 0;
        border-radius: 999px;
        background: transparent;
        transition: height 120ms ease, background-color 120ms ease, transform 120ms ease;
    }

    .students-drop-zone-visible[b-1vulavr404] {
        height: 1.1rem;
        background: rgba(148, 163, 184, 0.25);
    }

    .students-drop-zone-active[b-1vulavr404] {
        background: #2563eb;
        transform: scaleY(1.15);
    }

    .students-drop-preview[b-1vulavr404] {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        padding: 0.2rem 0;
        color: #1d4ed8;
        font-size: 0.84rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    .students-drop-preview[b-1vulavr404]::before,
    .students-drop-preview[b-1vulavr404]::after {
        content: "";
        flex: 1 1 auto;
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(90deg, rgba(37, 99, 235, 0.2) 0%, rgba(37, 99, 235, 0.95) 100%);
    }

    .students-drop-preview[b-1vulavr404]::after {
        background: linear-gradient(90deg, rgba(37, 99, 235, 0.95) 0%, rgba(37, 99, 235, 0.2) 100%);
    }

    .students-drop-preview-label[b-1vulavr404] {
        white-space: nowrap;
    }

    .students-item-card[b-1vulavr404] {
        border: 1px solid var(--app-border-color);
        border-radius: 14px;
        background: var(--app-surface-bg);
        box-shadow: var(--app-shadow-soft);
    }

    .students-item-card-dragging[b-1vulavr404] {
        opacity: 0.72;
    }

    .students-item-card-drop-target[b-1vulavr404] {
        border-color: #60a5fa;
        box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.18), var(--app-shadow-soft);
    }

    .students-item-body[b-1vulavr404] {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 0.85rem;
        padding: 0.85rem 0.95rem;
    }

    .students-drag-handle[b-1vulavr404],
    .students-icon-button[b-1vulavr404] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--app-surface-bg);
        color: var(--app-text-strong);
        flex-shrink: 0;
    }

    .students-drag-handle[b-1vulavr404] {
        width: 2rem;
        height: 2rem;
        border-radius: 10px;
        background: var(--app-surface-accent);
        color: var(--app-text-muted);
        cursor: grab;
    }

    .students-item-name[b-1vulavr404] {
        color: var(--app-text-strong);
        font-weight: 600;
        word-break: break-word;
    }

    .students-item-title[b-1vulavr404] {
        display: grid;
        gap: 0.15rem;
        min-width: 0;
    }

    .students-last-trained[b-1vulavr404] {
        color: #52606d;
        font-size: 0.82rem;
        line-height: 1.25;
    }

    .students-item-link[b-1vulavr404] {
        text-decoration: none;
    }

    .students-item-link:hover[b-1vulavr404] {
        color: #1d4ed8;
        text-decoration: underline;
    }

    .students-account-link[b-1vulavr404] {
        grid-column: 2;
        gap: 0.35rem;
    }

    .students-account-label[b-1vulavr404] {
        color: #52606d;
        font-size: 0.82rem;
        font-weight: 700;
    }

    .students-account-select[b-1vulavr404] {
        width: 100%;
        flex: 1 1 12rem;
        min-height: 2.25rem;
        border: 1px solid var(--app-border-muted);
        border-radius: 10px;
        padding: 0.45rem 0.65rem;
        color: var(--app-text-strong);
        background: var(--app-input-bg);
    }

    .students-account-select:disabled[b-1vulavr404] {
        color: var(--app-text-muted);
        background: var(--app-surface-muted);
    }

    .students-account-controls[b-1vulavr404] {
        align-items: stretch;
    }

    .students-unlink-button[b-1vulavr404] {
        white-space: nowrap;
    }

    .students-icon-button[b-1vulavr404] {
        width: 2.25rem;
        height: 2.25rem;
        border: 1px solid var(--app-border-muted);
        border-radius: 999px;
    }

    .students-icon-button:hover[b-1vulavr404] {
        background: #eff6ff;
        border-color: #93c5fd;
        color: #1d4ed8;
    }

    .students-delete-button:hover[b-1vulavr404] {
        background: #fef2f2;
        border-color: #fca5a5;
        color: #b91c1c;
    }

    .students-icon[b-1vulavr404] {
        width: 1rem;
        height: 1rem;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .students-rename-input[b-1vulavr404],
    .students-class-name-input[b-1vulavr404] {
        width: 100%;
        border: 1px solid var(--app-border-muted);
        border-radius: 10px;
        padding: 0.55rem 0.75rem;
        font-size: 1rem;
        color: var(--app-text-strong);
        background: var(--app-input-bg);
    }

    @media (max-width: 640px) {
        .students-item-body[b-1vulavr404] {
            grid-template-columns: 1fr;
        }

        .students-account-link[b-1vulavr404] {
            grid-column: 1;
        }

        .students-drag-handle[b-1vulavr404] {
            width: 100%;
            justify-content: flex-start;
            padding: 0 0.75rem;
        }

        .students-item-row[b-1vulavr404] {
            align-items: flex-start;
        }

        .students-account-controls[b-1vulavr404] {
            flex-wrap: wrap;
        }
    }
/* /Pages/Tactics/Tactics.razor.rz.scp.css */
.tactics-page[b-n2gty69rja] {
    display: grid;
    gap: 1rem;
}

.tactics-header[b-n2gty69rja] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
}

.tactics-header h1[b-n2gty69rja] {
    margin-bottom: 0.25rem;
}

.tactics-header p[b-n2gty69rja] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
}

.tactics-actions[b-n2gty69rja] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.tactics-button[b-n2gty69rja],
.secondary-button[b-n2gty69rja] {
    min-height: 2.4rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.tactics-button[b-n2gty69rja] {
    background: #1f2937;
    color: #fff;
}

.tactics-button:disabled[b-n2gty69rja],
.secondary-button:disabled[b-n2gty69rja] {
    opacity: 0.55;
}

.tactics-layout[b-n2gty69rja] {
    display: grid;
    grid-template-columns: minmax(18rem, 34rem) minmax(16rem, 24rem);
    gap: 1.25rem;
    align-items: start;
}

.tactics-board-shell[b-n2gty69rja] {
    position: relative;
}

.tactics-board-column[b-n2gty69rja] {
    display: grid;
    gap: 0.75rem;
    justify-items: start;
    outline: none;
}

.tactics-loading-overlay[b-n2gty69rja] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.55);
}

.tactics-promotion-picker[b-n2gty69rja] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.tactics-promotion-label[b-n2gty69rja] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.9rem;
    font-weight: 600;
}

.tactics-promotion-button[b-n2gty69rja] {
    min-height: 2.15rem;
}

.tactics-panel[b-n2gty69rja] {
    display: grid;
    gap: 1rem;
}

.tactics-variant-tree-panel[b-n2gty69rja] {
    width: min(100%, 34rem);
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 6px;
    background: var(--bs-body-bg, #fff);
}

.tree-toolbar[b-n2gty69rja] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid var(--bs-border-color, #cbd5e1);
}

.tree-toolbar h2[b-n2gty69rja] {
    margin: 0;
    font-size: 1rem;
}

.tree-toolbar p[b-n2gty69rja] {
    margin: 0.2rem 0 0;
    color: var(--bs-secondary-color, #64748b);
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
    overflow-wrap: anywhere;
}

.tree-nav-buttons[b-n2gty69rja] {
    display: flex;
    gap: 0.35rem;
}

.tree-nav-buttons button[b-n2gty69rja] {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 5px;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.tree-nav-buttons button:disabled[b-n2gty69rja] {
    opacity: 0.45;
}

.tree-lines[b-n2gty69rja] {
    max-height: 13rem;
    overflow: auto;
    padding: 0.75rem 0.85rem;
}

.tactics-field[b-n2gty69rja] {
    display: grid;
    gap: 0.35rem;
}

.tactics-field select[b-n2gty69rja] {
    min-height: 2.4rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.tactics-facts[b-n2gty69rja] {
    display: grid;
    gap: 0.65rem;
    margin: 0;
}

.tactics-facts div[b-n2gty69rja] {
    display: grid;
    gap: 0.15rem;
}

.tactics-facts dt[b-n2gty69rja] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.tactics-facts dd[b-n2gty69rja] {
    margin: 0;
}

.tactics-fen[b-n2gty69rja] {
    overflow-wrap: anywhere;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
}

.tactics-alert[b-n2gty69rja] {
    margin: 0;
    padding: 0.7rem 0.85rem;
    border: 1px solid #fecaca;
    border-radius: 0.45rem;
    background: #fef2f2;
    color: #991b1b;
}

.tactics-themes[b-n2gty69rja],
.tactics-status[b-n2gty69rja] {
    margin: 0;
}

.tactics-status[b-n2gty69rja] {
    white-space: pre-line;
}

[data-bs-theme="dark"] .tactics-loading-overlay[b-n2gty69rja] {
    background: rgba(15, 23, 42, 0.5);
}

@media (max-width: 900px) {
    .tactics-header[b-n2gty69rja],
    .tactics-layout[b-n2gty69rja] {
        grid-template-columns: 1fr;
    }

    .tactics-header[b-n2gty69rja] {
        display: grid;
    }

    .tactics-actions[b-n2gty69rja] {
        justify-content: flex-start;
    }
}
/* /Pages/Trading/Trading.razor.rz.scp.css */
.trading-page[b-vvhke4d9ey] {
    display: grid;
    gap: 1rem;
}

.trading-header[b-vvhke4d9ey] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
}

.trading-header h1[b-vvhke4d9ey] {
    margin-bottom: 0.25rem;
}

.trading-header p[b-vvhke4d9ey] {
    margin: 0;
    color: var(--bs-secondary-color, #64748b);
}

.trading-actions[b-vvhke4d9ey] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.trading-button[b-vvhke4d9ey],
.secondary-button[b-vvhke4d9ey] {
    min-height: 2.4rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid var(--bs-border-color, #cbd5e1);
    border-radius: 0.4rem;
    background: var(--bs-body-bg, #fff);
    color: inherit;
}

.trading-button[b-vvhke4d9ey] {
    background: #1f2937;
    color: #fff;
}

.trading-layout[b-vvhke4d9ey] {
    display: grid;
    grid-template-columns: minmax(18rem, 34rem) minmax(16rem, 24rem);
    gap: 1.25rem;
    align-items: start;
}

.trading-board-column[b-vvhke4d9ey],
.trading-panel[b-vvhke4d9ey] {
    display: grid;
    gap: 1rem;
}

.trading-facts[b-vvhke4d9ey] {
    display: grid;
    gap: 0.65rem;
    margin: 0;
}

.trading-facts div[b-vvhke4d9ey] {
    display: grid;
    gap: 0.15rem;
}

.trading-facts dt[b-vvhke4d9ey] {
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.trading-facts dd[b-vvhke4d9ey] {
    margin: 0;
}

.trading-fen[b-vvhke4d9ey] {
    overflow-wrap: anywhere;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
}

.trading-legend[b-vvhke4d9ey] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    color: var(--bs-secondary-color, #64748b);
    font-size: 0.9rem;
}

.trading-legend span[b-vvhke4d9ey] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.legend-swatch[b-vvhke4d9ey] {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 999px;
}

.legend-positive[b-vvhke4d9ey] {
    background: #22c55e;
}

.legend-equal[b-vvhke4d9ey] {
    background: #eab308;
}

.legend-losing[b-vvhke4d9ey] {
    background: #ef4444;
}

.trading-status p[b-vvhke4d9ey] {
    margin: 0;
}

.trading-exchange-line[b-vvhke4d9ey] {
    display: grid;
    gap: 0.3rem;
    margin: 0.6rem 0 0;
    padding-left: 1.35rem;
}

.trading-exchange-line li[b-vvhke4d9ey] {
    padding-left: 0.15rem;
}

.trading-move[b-vvhke4d9ey] {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-weight: 700;
}

.trading-delta[b-vvhke4d9ey] {
    margin-left: 0.45rem;
    font-weight: 700;
}

.trading-delta-positive[b-vvhke4d9ey] {
    color: #15803d;
}

.trading-delta-negative[b-vvhke4d9ey] {
    color: #b91c1c;
}

@media (max-width: 900px) {
    .trading-header[b-vvhke4d9ey],
    .trading-layout[b-vvhke4d9ey] {
        grid-template-columns: 1fr;
    }

    .trading-header[b-vvhke4d9ey] {
        display: grid;
    }

    .trading-actions[b-vvhke4d9ey] {
        justify-content: flex-start;
    }
}
/* /PositionPreviewBoard.razor.rz.scp.css */
.position-preview-shell[b-4oca92ca3k] {
        position: relative;
        width: min(100%, 12rem);
    }

    .position-preview[b-4oca92ca3k] {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        grid-template-rows: repeat(8, 1fr);
        width: 100%;
        aspect-ratio: 1;
        border: 1px solid #51606f;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
        background: var(--app-surface-muted);
    }

    .position-preview-square[b-4oca92ca3k] {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: clamp(1rem, 2.5vw, 1.35rem);
        line-height: 1;
    }

    .position-preview-square.light[b-4oca92ca3k] {
        background: #f0d9b5;
    }

    .position-preview-square.dark[b-4oca92ca3k] {
        background: #b58863;
    }

    .position-preview-piece[b-4oca92ca3k] {
        filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.4));
    }

    .position-preview-error[b-4oca92ca3k] {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 8rem;
        padding: 0.75rem;
        color: #991b1b;
        background: #fee2e2;
        border: 1px solid #fecaca;
        border-radius: 10px;
        text-align: center;
        font-size: 0.9rem;
    }
