/* =========================================================
   GAME REVIEW V7 — BOARD-FIRST, SIDE-PANEL ANALYSIS
   Right column order:
   1) notation
   2) compact decision summary
   3) Coach

   Removed from persistent UI:
   - Best line row
   - move-fact chip row

   Those details cost vertical space without helping the main review flow.
   ========================================================= */

body.game-review-page-v7 {
    --gr-card: #101013;
    --gr-card-2: #0c0c0f;
    --gr-line: #29292f;
    --gr-line-soft: #1d1d22;
    --gr-text: #f5f5f7;
    --gr-muted: #8c8c96;
    --gr-muted-2: #666671;
    --gr-accent: #ff2bd6;
}

body.game-review-page-v7 .page-main,
body.game-review-page-v7 .site-nav-main,
body.game-review-page-v7 .footer {
    width: min(1540px, calc(100% - 34px)) !important;
}

body.game-review-page-v7 .page-main {
    padding-top: 20px !important;
}

body.game-review-page-v7 .page-header-player {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
}

body.game-review-page-v7 #gameDetailsCard {
    margin-top: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.game-review-page-v7 #gameDetailsCard > .card-heading {
    display: none !important;
}

/* ---------- compact game header ---------- */

body.game-review-page-v7 .game-review-top {
    display: grid !important;
    grid-template-columns: minmax(390px, .82fr) minmax(650px, 1.45fr) !important;
    gap: 12px !important;
    margin: 0 0 12px !important;
}

body.game-review-page-v7 .game-header,
body.game-review-page-v7 .game-header-clean {
    min-height: 72px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border: 1px solid var(--gr-line) !important;
    border-radius: 8px !important;
    background: #111115 !important;
}

body.game-review-page-v7 .game-header-kicker {
    margin-bottom: 3px !important;
    font-size: 8px !important;
    letter-spacing: .11em !important;
    color: var(--gr-muted-2) !important;
}

body.game-review-page-v7 .game-header h2 {
    margin: 0 0 4px !important;
    font-size: clamp(24px, 1.8vw, 30px) !important;
    line-height: 1 !important;
}

body.game-review-page-v7 .game-meta,
body.game-review-page-v7 .game-meta-clean {
    font-size: 10px !important;
    color: var(--gr-muted) !important;
}

body.game-review-page-v7 .worst-move-button,
body.game-review-page-v7 .worst-move-button-clean {
    min-width: 126px !important;
    padding: 8px 10px !important;
    border: 1px solid #34343b !important;
    border-radius: 7px !important;
    background: #151519 !important;
}

body.game-review-page-v7 .game-review-summary,
body.game-review-page-v7 .game-review-summary-clean {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    min-height: 72px !important;
    border: 1px solid var(--gr-line) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: var(--gr-card) !important;
}

body.game-review-page-v7 .game-review-summary .summary-item,
body.game-review-page-v7 .game-review-summary-clean .summary-item {
    min-width: 0 !important;
    min-height: 72px !important;
    padding: 10px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 0 !important;
    border-right: 1px solid var(--gr-line-soft) !important;
}

body.game-review-page-v7 .game-review-summary .summary-item:last-child,
body.game-review-page-v7 .game-review-summary-clean .summary-item:last-child {
    border-right: 0 !important;
}

body.game-review-page-v7 .game-review-summary .summary-item span,
body.game-review-page-v7 .game-review-summary-clean .summary-item span {
    font-size: 7px !important;
    letter-spacing: .07em !important;
    color: var(--gr-muted-2) !important;
}

body.game-review-page-v7 .game-review-summary .summary-item strong,
body.game-review-page-v7 .game-review-summary-clean .summary-item strong {
    font-size: 18px !important;
    line-height: 1 !important;
}

/* ---------- workspace ---------- */

body.game-review-page-v7 .analysis-layout,
body.game-review-page-v7 .analysis-layout-v7 {
    display: grid !important;
    grid-template-columns: minmax(760px, 1.62fr) minmax(420px, .88fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

body.game-review-page-v7 .analysis-board-column,
body.game-review-page-v7 .analysis-board-column-v7 {
    min-width: 0 !important;
    padding: 10px 12px 9px !important;
    border: 1px solid var(--gr-line) !important;
    border-radius: 9px !important;
    background: #09090b !important;
}

/* Board is intentionally large. No viewport-height cap. */
body.game-review-page-v7 .board-with-eval {
    width: min(100%, 800px) !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 7px !important;
}

body.game-review-page-v7 .evaluation-bar {
    border-radius: 4px !important;
    border-color: #33333a !important;
}

body.game-review-page-v7 .evaluation-value {
    font-size: 9px !important;
    font-weight: 900 !important;
}

body.game-review-page-v7 .fen-board {
    border: 1px solid #3a2e27 !important;
    border-radius: 4px !important;
    box-shadow: 0 24px 64px rgba(0,0,0,.36) !important;
}

body.game-review-page-v7 .board-toolbar {
    width: min(100%, 800px) !important;
    max-width: 800px !important;
    min-height: 44px !important;
    margin: 7px auto 0 !important;
    border-top: 1px solid var(--gr-line-soft) !important;
    border-bottom: 1px solid var(--gr-line-soft) !important;
}

body.game-review-page-v7 .board-toolbar .nav-button {
    height: 40px !important;
    min-width: 54px !important;
    font-size: 18px !important;
}

body.game-review-page-v7 .move-counter strong {
    font-size: 13px !important;
}

body.game-review-page-v7 .move-counter span {
    font-size: 9px !important;
}

body.game-review-page-v7 .board-caption {
    margin-top: 6px !important;
    font-size: 8px !important;
    color: #5f5f69 !important;
}

/* ---------- right side: notation -> decision -> coach ---------- */

body.game-review-page-v7 .analysis-side-column,
body.game-review-page-v7 .analysis-side-column-v7 {
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(300px, 1fr) auto !important;
    gap: 10px !important;
    align-self: stretch !important;
    position: static !important;
    overflow: hidden !important;
}

body.game-review-page-v7 .notation-panel,
body.game-review-page-v7 .move-panel {
    min-width: 0 !important;
    border: 1px solid var(--gr-line) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: var(--gr-card) !important;
    box-shadow: none !important;
}

/* Notation fills the spare vertical space beside the large board. */
body.game-review-page-v7 .notation-panel {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

body.game-review-page-v7 .review-panel-heading {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 8px 11px !important;
    background: #151519 !important;
    border-bottom: 1px solid var(--gr-line-soft) !important;
}

body.game-review-page-v7 .review-panel-heading span {
    font-size: 8px !important;
}

body.game-review-page-v7 .review-panel-heading strong {
    margin-top: 2px !important;
    font-size: 13px !important;
}

body.game-review-page-v7 .review-panel-hint {
    font-size: 7px !important;
}

body.game-review-page-v7 .notation-panel .move-list {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
}

body.game-review-page-v7 .notation-panel .move-row {
    min-height: 31px !important;
}

body.game-review-page-v7 .notation-panel .move-cell {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    font-size: 11px !important;
}

body.game-review-page-v7 .notation-navigation {
    flex: 0 0 43px !important;
    min-height: 43px !important;
}

body.game-review-page-v7 .notation-nav-button {
    height: 42px !important;
    font-size: 17px !important;
}

/* Decision + coach: intentionally compact so the whole stack fits. */
body.game-review-page-v7 .move-panel {
    border-top: 2px solid var(--gr-accent) !important;
    display: flex !important;
    flex-direction: column !important;
}

body.game-review-page-v7 .move-panel > .review-panel-heading {
    order: 0 !important;
}

body.game-review-page-v7 .move-panel > .move-detail-grid {
    order: 1 !important;
}

body.game-review-page-v7 .move-panel > .decision-meta {
    order: 2 !important;
}

body.game-review-page-v7 .move-panel > .coach-block {
    order: 3 !important;
}

body.game-review-page-v7 .move-quality-badge {
    padding: 4px 7px !important;
    border-radius: 4px !important;
    font-size: 8px !important;
}

body.game-review-page-v7 .move-detail-grid,
body.game-review-page-v7 .move-detail-grid-v7 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    background: #0d0d10 !important;
}

body.game-review-page-v7 .move-detail-primary {
    min-width: 0 !important;
    min-height: 66px !important;
    padding: 9px 11px !important;
    border-right: 1px solid var(--gr-line-soft) !important;
}

body.game-review-page-v7 .move-detail-primary:last-child {
    border-right: 0 !important;
}

body.game-review-page-v7 .move-detail-primary span {
    display: block !important;
    margin-bottom: 5px !important;
    font-size: 8px !important;
    color: var(--gr-muted-2) !important;
}

body.game-review-page-v7 .move-detail-primary strong {
    font-size: 20px !important;
    line-height: 1 !important;
}

body.game-review-page-v7 .move-detail-best strong {
    color: var(--gr-accent) !important;
}

body.game-review-page-v7 .decision-meta,
body.game-review-page-v7 .decision-meta-v7 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    border-top: 1px solid var(--gr-line-soft) !important;
    border-bottom: 1px solid var(--gr-line-soft) !important;
    background: #0b0b0e !important;
}

body.game-review-page-v7 .decision-meta > div {
    min-width: 0 !important;
    padding: 8px 11px !important;
    border-right: 1px solid var(--gr-line-soft) !important;
}

body.game-review-page-v7 .decision-meta > div:last-child {
    border-right: 0 !important;
}

body.game-review-page-v7 .decision-meta span {
    display: block !important;
    margin-bottom: 3px !important;
    font-size: 7px !important;
    letter-spacing: .04em !important;
    color: var(--gr-muted-2) !important;
    text-transform: uppercase !important;
}

body.game-review-page-v7 .decision-meta strong {
    font-size: 11px !important;
    color: #dedee4 !important;
}

body.game-review-page-v7 .coach-block,
body.game-review-page-v7 .coach-block-v7 {
    padding: 10px !important;
    border-top: 0 !important;
    background:
        linear-gradient(
            180deg,
            rgba(255,43,214,.06),
            rgba(255,43,214,.018)
        ) !important;
}

body.game-review-page-v7 .coach-heading {
    margin-bottom: 8px !important;
}

body.game-review-page-v7 .coach-heading > div > span {
    font-size: 8px !important;
}

body.game-review-page-v7 .coach-heading > div > strong {
    font-size: 13px !important;
}

body.game-review-page-v7 .coach-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
}

body.game-review-page-v7 .coach-question {
    min-height: 34px !important;
    padding: 6px 5px !important;
    font-size: 8px !important;
}

body.game-review-page-v7 .coach-response {
    max-height: 145px !important;
    margin-top: 8px !important;
    padding: 9px 10px !important;
    overflow-y: auto !important;
    font-size: 10.5px !important;
    line-height: 1.48 !important;
}

/* Recent games remain secondary below the workspace. */
body.game-review-page-v7 .game-row,
body.game-review-page-v7 .recent-game-row {
    min-height: 62px !important;
}

/* ---------- responsive ---------- */

@media (max-width: 1280px) {
    body.game-review-page-v7 .analysis-layout,
    body.game-review-page-v7 .analysis-layout-v7 {
        grid-template-columns: minmax(690px, 1.5fr) minmax(390px, .88fr) !important;
    }

    body.game-review-page-v7 .board-with-eval,
    body.game-review-page-v7 .board-toolbar {
        width: min(100%, 740px) !important;
        max-width: 740px !important;
    }
}

@media (max-width: 1080px) {
    body.game-review-page-v7 .game-review-top {
        grid-template-columns: 1fr !important;
    }

    body.game-review-page-v7 .analysis-layout,
    body.game-review-page-v7 .analysis-layout-v7 {
        grid-template-columns: 1fr !important;
    }

    body.game-review-page-v7 .analysis-side-column,
    body.game-review-page-v7 .analysis-side-column-v7 {
        height: auto !important;
        overflow: visible !important;
        grid-template-rows: auto auto !important;
    }

    body.game-review-page-v7 .notation-panel .move-list {
        height: 360px !important;
        flex: none !important;
    }

    body.game-review-page-v7 .board-with-eval,
    body.game-review-page-v7 .board-toolbar {
        width: min(100%, 800px) !important;
        max-width: 800px !important;
    }
}

@media (max-width: 720px) {
    body.game-review-page-v7 .page-main,
    body.game-review-page-v7 .site-nav-main,
    body.game-review-page-v7 .footer {
        width: min(100% - 20px, 1540px) !important;
    }

    body.game-review-page-v7 .game-review-summary,
    body.game-review-page-v7 .game-review-summary-clean {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    body.game-review-page-v7 .coach-actions {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   GAME REVIEW V7.1 — NOTATION SCROLL FIX

   The V7 grid let the notation row size itself from content, so long games
   could make the entire right column taller than the board.  This override
   gives the notation panel an explicit responsive height and keeps only the
   move list scrollable.
   ========================================================= */

body.game-review-page-v7 .analysis-side-column,
body.game-review-page-v7 .analysis-side-column-v7 {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
    overflow: visible !important;
}

body.game-review-page-v7 .notation-panel,
body.game-review-page-v7 .notation-panel-v7 {
    height: clamp(350px, 45vh, 430px) !important;
    min-height: 350px !important;
    max-height: 430px !important;
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

body.game-review-page-v7 .notation-panel .review-panel-heading {
    flex: 0 0 auto !important;
}

body.game-review-page-v7 .notation-panel .move-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-gutter: stable !important;
    overscroll-behavior: contain !important;
}

body.game-review-page-v7 .notation-navigation {
    flex: 0 0 43px !important;
    min-height: 43px !important;
}

body.game-review-page-v7 .move-panel,
body.game-review-page-v7 .move-panel-v7 {
    flex: 0 0 auto !important;
}

@media (max-height: 800px) and (min-width: 1081px) {
    body.game-review-page-v7 .notation-panel,
    body.game-review-page-v7 .notation-panel-v7 {
        height: 330px !important;
        min-height: 330px !important;
        max-height: 330px !important;
    }
}

@media (max-width: 1080px) {
    body.game-review-page-v7 .analysis-side-column,
    body.game-review-page-v7 .analysis-side-column-v7 {
        display: flex !important;
        height: auto !important;
    }

    body.game-review-page-v7 .notation-panel,
    body.game-review-page-v7 .notation-panel-v7 {
        height: 360px !important;
        min-height: 360px !important;
        max-height: 360px !important;
    }
}

/* =========================================================
   GAME REVIEW V8 — CLEAN REVIEW WORKSPACE
   ========================================================= */

/* Match Player Profile shell exactly: fixes avatar/name jumping up-left. */
body.game-review-page-v8 .page-main,
body.game-review-page-v8 .site-nav-main,
body.game-review-page-v8 .footer {
    width: min(1420px, calc(100% - 40px)) !important;
}

body.game-review-page-v8 .page-main {
    padding-top: 36px !important;
}

body.game-review-page-v8 .player-profile-shell,
body.game-review-page-v8 .player-subnav {
    margin-top: 0 !important;
}

body.game-review-page-v8 .game-review-v8-stack {
    gap: 24px;
}

/* Intro */
body.game-review-page-v8 .game-review-v8-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .55fr);
    gap: 60px;
    align-items: end;
    padding: 8px 0 24px;
    border-bottom: 1px solid #26262b;
}

body.game-review-page-v8 .game-review-v8-intro h1 {
    max-width: 760px;
    margin: 7px 0 0;
    color: #f5f5f7;
    font-size: clamp(32px, 3.5vw, 48px);
    font-weight: 740;
    line-height: 1.02;
    letter-spacing: -.047em;
}

body.game-review-page-v8 .game-review-v8-intro > p {
    max-width: 500px;
    margin: 0;
    color: #7d7d86;
    font-size: 12px;
    line-height: 1.65;
}

/* Game selector */
body.game-review-page-v8 .game-review-v8-games {
    padding: 0;
    border: 0;
    background: transparent;
}

body.game-review-page-v8 .game-review-v8-games-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 13px;
}

body.game-review-page-v8 .game-review-v8-games-heading h2 {
    margin: 5px 0 0;
    color: #f0f0f3;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.03em;
}

body.game-review-page-v8 .game-review-v8-games-heading > p {
    max-width: 430px;
    margin: 0;
    color: #66666f;
    font-size: 10px;
    line-height: 1.5;
    text-align: right;
}

body.game-review-page-v8 .game-review-v8-game-list {
    display: grid;
    border-top: 1px solid #29292f;
}

body.game-review-page-v8 .game-review-v8-game-row {
    appearance: none;
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: 42px minmax(260px, 1.5fr) minmax(85px, .42fr) minmax(75px, .38fr) minmax(75px, .38fr) minmax(110px, .5fr) 92px;
    gap: 18px;
    align-items: center;
    min-height: 78px;
    margin: 0 !important;
    padding: 13px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #29292f !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 140ms ease, padding 140ms ease;
}

body.game-review-page-v8 .game-review-v8-game-row::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    bottom: 13px;
    width: 2px;
    background: #ff2bd6;
    transform: scaleY(0);
    transition: transform 140ms ease;
}

body.game-review-page-v8 .game-review-v8-game-row:hover {
    padding-left: 18px !important;
    background: linear-gradient(90deg, rgba(255,43,214,.045), transparent 42%) !important;
}

body.game-review-page-v8 .game-review-v8-game-row:hover::before,
body.game-review-page-v8 .game-review-v8-game-row.game-row-selected::before {
    transform: scaleY(1);
}

body.game-review-page-v8 .game-review-v8-game-row.game-row-selected {
    padding-left: 18px !important;
    background: linear-gradient(90deg, rgba(255,43,214,.075), transparent 46%) !important;
}

body.game-review-page-v8 .game-review-v8-game-row.game-row-selected::after {
    display: none !important;
}

body.game-review-page-v8 .game-review-v8-game-index {
    color: #52525b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
}

body.game-review-page-v8 .game-review-v8-game-main {
    min-width: 0;
    display: grid;
    gap: 5px;
}

body.game-review-page-v8 .game-review-v8-game-main strong {
    overflow: hidden;
    color: #ededf0;
    font-size: 15px;
    font-weight: 690;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.game-review-page-v8 .game-review-v8-game-main small {
    overflow: hidden;
    color: #686872;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.game-review-page-v8 .game-review-v8-game-rating,
body.game-review-page-v8 .game-review-v8-game-side,
body.game-review-page-v8 .game-review-v8-game-result,
body.game-review-page-v8 .game-review-v8-game-errors {
    min-width: 0;
    display: grid;
    gap: 6px;
}

body.game-review-page-v8 .game-review-v8-game-row > span > small {
    color: #55555e;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.game-review-page-v8 .game-review-v8-game-row > span > strong {
    color: #bdbdc5;
    font-size: 11px;
    font-weight: 690;
    text-transform: capitalize;
}

body.game-review-page-v8 .game-review-v8-game-action {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #71717a;
    font-size: 8px;
    font-weight: 780;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.game-review-page-v8 .game-review-v8-game-action b {
    color: #ff2bd6;
    font-size: 15px;
    font-weight: 500;
    transition: transform 140ms ease;
}

body.game-review-page-v8 .game-review-v8-game-row:hover .game-review-v8-game-action b {
    transform: translateX(3px);
}

body.game-review-page-v8 .game-review-v8-games-empty {
    padding: 26px 0;
    border-bottom: 1px solid #29292f;
    color: #777780;
}

/* Inline review */
body.game-review-page-v8 #recentGames > #gameDetailsCard {
    width: 100%;
    margin: 0 0 24px !important;
    padding: 20px 0 10px !important;
    border-top: 1px solid rgba(255,43,214,.42) !important;
    border-bottom: 1px solid #29292f !important;
}

body.game-review-page-v8 #recentGames > #gameDetailsCard::before {
    display: none !important;
}

body.game-review-page-v8 .game-review-v8-review-head {
    grid-template-columns: minmax(330px, .78fr) minmax(620px, 1.22fr) !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}

body.game-review-page-v8 .game-review-v8-game-identity {
    border-radius: 0 !important;
    background: #0e0e11 !important;
}

body.game-review-page-v8 .game-review-v8-summary {
    border-radius: 0 !important;
}

/* Serious moments */
body.game-review-page-v8 .game-review-v8-moments {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin-bottom: 12px;
    padding: 10px 12px;
    border-top: 1px solid #29292f;
    border-bottom: 1px solid #29292f;
    background: #0b0b0e;
}

body.game-review-page-v8 .game-review-v8-moments-copy {
    display: grid;
    gap: 4px;
}

body.game-review-page-v8 .game-review-v8-moments-copy > span {
    color: #ff2bd6;
    font-size: 7px;
    font-weight: 820;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.game-review-page-v8 .game-review-v8-moments-copy > strong {
    color: #c8c8ce;
    font-size: 10px;
    font-weight: 650;
}

body.game-review-page-v8 .game-review-v8-moment-buttons {
    min-width: 0;
    display: flex;
    gap: 5px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: thin;
    scrollbar-color: #34343a transparent;
}

body.game-review-page-v8 .game-review-v8-moment {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: auto auto;
    grid-template-areas: "number move" "quality quality";
    gap: 1px 5px;
    min-width: 72px;
    padding: 7px 8px;
    border: 1px solid #2d2d33;
    border-radius: 0;
    background: #111114;
    color: #c6c6cd;
    text-align: left;
}

body.game-review-page-v8 .game-review-v8-moment:hover,
body.game-review-page-v8 .game-review-v8-moment.active {
    border-color: #55555e;
    background: #17171a;
}

body.game-review-page-v8 .game-review-v8-moment.active {
    box-shadow: inset 2px 0 0 #ff2bd6;
}

body.game-review-page-v8 .game-review-v8-moment > span {
    grid-area: number;
    color: #66666f;
    font-size: 8px;
}

body.game-review-page-v8 .game-review-v8-moment > strong {
    grid-area: move;
    font-size: 10px;
}

body.game-review-page-v8 .game-review-v8-moment > small {
    grid-area: quality;
    margin-top: 2px;
    font-size: 7px;
    font-weight: 800;
}

body.game-review-page-v8 .game-review-v8-moment-mistake > small { color: #ef9c5b; }
body.game-review-page-v8 .game-review-v8-moment-miss > small { color: #c27be7; }
body.game-review-page-v8 .game-review-v8-moment-blunder > small { color: #f06464; }

body.game-review-page-v8 .game-review-v8-moment-nav {
    display: grid;
    grid-template-columns: 30px auto 30px;
    align-items: center;
    gap: 6px;
}

body.game-review-page-v8 .game-review-v8-moment-nav button {
    width: 30px;
    height: 30px;
    border: 1px solid #303036;
    border-radius: 0;
    background: #111114;
    color: #8d8d96;
}

body.game-review-page-v8 .game-review-v8-moment-nav button:hover:not(:disabled) {
    border-color: #ff2bd6;
    color: #ff2bd6;
}

body.game-review-page-v8 .game-review-v8-moment-nav span {
    min-width: 58px;
    color: #66666f;
    font-size: 8px;
    text-align: center;
}

/* Workspace: preserve large board */
body.game-review-page-v8 .game-review-v8-workspace {
    grid-template-columns: minmax(650px, 1.52fr) minmax(390px, .78fr) !important;
    gap: 14px !important;
}

body.game-review-page-v8 .game-review-v8-board-column {
    padding: 12px 13px 10px !important;
    border-radius: 0 !important;
}

body.game-review-page-v8 .board-with-eval,
body.game-review-page-v8 .board-toolbar {
    width: min(100%, 780px) !important;
    max-width: 780px !important;
}

body.game-review-page-v8 .fen-board,
body.game-review-page-v8 .game-review-v8-notation,
body.game-review-page-v8 .game-review-v8-decision {
    border-radius: 0 !important;
}

body.game-review-page-v8 .game-review-v8-side {
    gap: 10px !important;
}

/* Decision hierarchy */
body.game-review-page-v8 .game-review-v8-played-best {
    background: #0d0d10 !important;
}

body.game-review-page-v8 .game-review-v8-played-best .move-detail-primary {
    min-height: 72px !important;
    padding: 13px 14px !important;
}

body.game-review-page-v8 .game-review-v8-played-best .move-detail-primary strong {
    font-size: 22px !important;
}

body.game-review-page-v8 .game-review-v8-decision-meta {
    background: #0b0b0e !important;
}

body.game-review-page-v8 .game-review-v8-decision-context {
    padding: 12px 14px;
    border-bottom: 1px solid #29292f;
    background: #0d0d10;
}

body.game-review-page-v8 .game-review-v8-decision-context > span {
    display: block;
    margin-bottom: 7px;
    color: #777780;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

body.game-review-page-v8 .game-review-v8-decision-context > p {
    margin: 0;
    color: #b3b3bb;
    font-size: 10.5px;
    line-height: 1.55;
}

body.game-review-page-v8 .game-review-v8-coach {
    padding: 12px 14px 14px !important;
    background: linear-gradient(180deg, rgba(255,43,214,.045), transparent 70%), #101012 !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-question {
    min-height: 36px !important;
    border-radius: 0 !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-response {
    max-height: 190px !important;
}

/* Responsive */
@media (max-width: 1180px) {
    body.game-review-page-v8 .game-review-v8-review-head {
        grid-template-columns: 1fr !important;
    }

    body.game-review-page-v8 .game-review-v8-workspace {
        grid-template-columns: 1fr !important;
    }

    body.game-review-page-v8 .board-with-eval,
    body.game-review-page-v8 .board-toolbar {
        width: min(100%, 820px) !important;
        max-width: 820px !important;
    }

    body.game-review-page-v8 .game-review-v8-moments {
        grid-template-columns: 170px minmax(0, 1fr);
    }

    body.game-review-page-v8 .game-review-v8-moment-nav {
        grid-column: 2;
        justify-self: end;
    }
}

@media (max-width: 900px) {
    body.game-review-page-v8 .game-review-v8-intro {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body.game-review-page-v8 .game-review-v8-game-row {
        grid-template-columns: 34px minmax(220px, 1fr) 80px 75px 90px;
        gap: 12px;
    }

    body.game-review-page-v8 .game-review-v8-game-rating,
    body.game-review-page-v8 .game-review-v8-game-side {
        display: none;
    }

    body.game-review-page-v8 .game-review-v8-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    body.game-review-page-v8 .page-main,
    body.game-review-page-v8 .site-nav-main,
    body.game-review-page-v8 .footer {
        width: min(100% - 22px, 1420px) !important;
    }

    body.game-review-page-v8 .page-main {
        padding-top: 36px !important;
    }

    body.game-review-page-v8 .game-review-v8-games-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    body.game-review-page-v8 .game-review-v8-games-heading > p {
        text-align: left;
    }

    body.game-review-page-v8 .game-review-v8-game-row {
        grid-template-columns: 30px minmax(0, 1fr) 70px;
        min-height: 72px;
    }

    body.game-review-page-v8 .game-review-v8-game-result,
    body.game-review-page-v8 .game-review-v8-game-errors {
        display: none;
    }

    body.game-review-page-v8 .game-review-v8-game-action {
        font-size: 0;
    }

    body.game-review-page-v8 .game-review-v8-game-action b {
        font-size: 17px;
    }

    body.game-review-page-v8 .game-review-v8-moments {
        grid-template-columns: 1fr;
    }

    body.game-review-page-v8 .game-review-v8-moment-nav {
        grid-column: 1;
        justify-self: start;
    }
}

/* =========================================================
   GAME REVIEW V9 — RESULT + SERIOUS MOMENT COLORS
   ========================================================= */

/* The generic V8 row rule is more specific than the shared
   .result-win / .result-loss classes, so override it here. */
body.game-review-page-v8 .game-review-v8-game-result > strong.result-win {
    color: var(--success, #74c88a) !important;
}

body.game-review-page-v8 .game-review-v8-game-result > strong.result-loss {
    color: var(--danger, #f06565) !important;
}

body.game-review-page-v8 .game-review-v8-game-result > strong.result-draw {
    color: #b5b5bc !important;
}

body.game-review-page-v8 .game-review-v8-game-errors > strong {
    color: var(--accent, #ff2bd6) !important;
}


/* =========================================================
   GAME REVIEW V10 — PLAYER SHELL ALIGNMENT
   Keep analyzed-player block at the same vertical position
   as Player Profile / Weakness Map / Training.
   ========================================================= */

body.game-review-page-v8 .page-main {
    padding-top: 36px !important;
}


/* =========================================================
   GAME REVIEW V11.8 — EVAL BAR
   Chess.com-like orientation + readability
   ========================================================= */

body.game-review-page-v7 .board-with-eval {
    grid-template-columns:
        36px
        minmax(0, 1fr)
        !important;

    gap:
        7px
        !important;
}


/*
    Black is the permanent base layer.
    White is the moving layer.
*/
body.game-review-page-v7 .evaluation-bar {
    position:
        relative
        !important;

    overflow:
        hidden
        !important;

    min-width:
        36px
        !important;

    border:
        1px solid #414145
        !important;

    border-radius:
        3px
        !important;

    background:
        #262624
        !important;

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .018)
        !important;
}


/*
    True white instead of the old beige.
*/
body.game-review-page-v7 .evaluation-white {
    position:
        absolute
        !important;

    left:
        0
        !important;

    width:
        100%
        !important;

    background:
        #ffffff
        !important;

    transition:
        height 180ms ease
        !important;
}


/*
    Board orientation:
    White player -> white side of board is at bottom.
*/
body.game-review-page-v7
.evaluation-bar.orientation-white
.evaluation-white {
    top:
        auto
        !important;

    bottom:
        0
        !important;
}


/*
    Black player -> board is flipped, so white belongs at top
    and black remains at the bottom.
*/
body.game-review-page-v7
.evaluation-bar.orientation-black
.evaluation-white {
    top:
        0
        !important;

    bottom:
        auto
        !important;
}


/*
    Horizontal, crisp evaluation number.
*/
body.game-review-page-v7 .evaluation-value {
    position:
        absolute
        !important;

    left:
        50%
        !important;

    z-index:
        5
        !important;

    width:
        max-content
        !important;

    max-width:
        32px
        !important;

    padding:
        2px 1px
        !important;

    transform:
        translateX(-50%)
        !important;

    rotate:
        0deg
        !important;

    color:
        #151515
        !important;

    font-size:
        10px
        !important;

    font-weight:
        900
        !important;

    line-height:
        1
        !important;

    letter-spacing:
        -.28px
        !important;

    font-variant-numeric:
        tabular-nums
        !important;

    font-feature-settings:
        "tnum" 1
        !important;

    text-align:
        center
        !important;

    white-space:
        nowrap
        !important;

    mix-blend-mode:
        normal
        !important;

    text-shadow:
        none
        !important;
}


/*
    Put the number near the advantaged side, like a conventional
    chess eval bar. Positive always means White; negative Black.
*/

/* White board orientation + White advantage -> bottom. */
body.game-review-page-v7
.evaluation-bar.orientation-white.eval-positive
.evaluation-value {
    top:
        auto
        !important;

    bottom:
        7px
        !important;

    color:
        #161616
        !important;
}


/* White board orientation + Black advantage -> top. */
body.game-review-page-v7
.evaluation-bar.orientation-white.eval-negative
.evaluation-value {
    top:
        7px
        !important;

    bottom:
        auto
        !important;

    color:
        #ffffff
        !important;
}


/* Black board orientation + White advantage -> top. */
body.game-review-page-v7
.evaluation-bar.orientation-black.eval-positive
.evaluation-value {
    top:
        7px
        !important;

    bottom:
        auto
        !important;

    color:
        #161616
        !important;
}


/* Black board orientation + Black advantage -> bottom. */
body.game-review-page-v7
.evaluation-bar.orientation-black.eval-negative
.evaluation-value {
    top:
        auto
        !important;

    bottom:
        7px
        !important;

    color:
        #ffffff
        !important;
}


/* No engine value: keep the dash centered and readable. */
body.game-review-page-v7
.evaluation-bar.eval-unavailable
.evaluation-value {
    top:
        50%
        !important;

    bottom:
        auto
        !important;

    transform:
        translate(-50%, -50%)
        !important;

    color:
        #d5d5d7
        !important;

    padding:
        3px 4px
        !important;

    border-radius:
        3px
        !important;

    background:
        rgba(18, 18, 20, .72)
        !important;
}


/*
    Free Analysis has no Stockfish score yet.
    Keep its 50/50 bar intentionally neutral.
*/
body.game-review-page-v7
.evaluation-bar.is-free-analysis
.evaluation-white {
    background:
        #dedede
        !important;

    opacity:
        .42
        !important;
}

body.game-review-page-v7
.evaluation-bar.is-free-analysis
.evaluation-value {
    top:
        50%
        !important;

    bottom:
        auto
        !important;

    transform:
        translate(-50%, -50%)
        !important;

    color:
        #d5d5d7
        !important;

    padding:
        3px 4px
        !important;

    border-radius:
        3px
        !important;

    background:
        rgba(18, 18, 20, .72)
        !important;
}


/* Slightly narrower bar on small screens, still wider than before. */
@media (max-width: 720px) {

    body.game-review-page-v7 .board-with-eval {
        grid-template-columns:
            32px
            minmax(0, 1fr)
            !important;

        gap:
            6px
            !important;
    }

    body.game-review-page-v7 .evaluation-bar {
        min-width:
            32px
            !important;
    }

    body.game-review-page-v7 .evaluation-value {
        max-width:
            29px
            !important;

        font-size:
            9px
            !important;
    }
}


/* =========================================================
   GAME REVIEW V11.9 — FORCED MATE EVAL
   ========================================================= */


/*
    A forced mate is binary on the eval bar:
    the winning side owns the entire bar.
*/
body.game-review-page-v7
.evaluation-bar.eval-mate.eval-negative {
    background:
        #111111
        !important;
}

body.game-review-page-v7
.evaluation-bar.eval-mate.eval-positive
.evaluation-white {
    background:
        #ffffff
        !important;
}


/*
    M2 / M3 should read like a chess score, not like a tiny decimal.
*/
body.game-review-page-v7
.evaluation-bar.eval-mate
.evaluation-value {
    font-size:
        11px
        !important;

    font-weight:
        900
        !important;

    letter-spacing:
        -.15px
        !important;
}

/* =========================================================
   GAME REVIEW V11.10 — RESTORED FREE ANALYSIS UI
   Restores the exact V11 interaction visuals that were lost
   when game-review.css was rebuilt for the newer eval bar.
   ========================================================= */

/* =========================================================
   GAME REVIEW V11 — FREE ANALYSIS VARIATIONS
   ========================================================= */


/* ---------------------------------------------------------
   BOARD INTERACTION
   --------------------------------------------------------- */

body.game-review-page-v8
#selectedBoard .fen-board {
    touch-action: pan-y;
}

body.game-review-page-v8
#selectedBoard .fen-square {
    cursor: default;
}


/* Same selected-piece language as Training puzzles. */
body.game-review-page-v8
#selectedBoard .fen-square.is-analysis-selected::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 3;

    pointer-events: none;
}

body.game-review-page-v8
#selectedBoard .fen-square.light.is-analysis-selected::before {
    background:
        rgba(
            176,
            0,
            85,
            .50
        );
}

body.game-review-page-v8
#selectedBoard .fen-square.dark.is-analysis-selected::before {
    background:
        rgba(
            255,
            28,
            207,
            .28
        );
}


/* Puzzle-style legal destination dots. */
body.game-review-page-v8
#selectedBoard .fen-square.is-analysis-legal::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    z-index: 8;

    width: 28%;
    min-width: 14px;

    aspect-ratio: 1 / 1;

    transform:
        translate(
            -50%,
            -50%
        );

    border-radius: 50%;

    background:
        rgba(
            38,
            38,
            42,
            .50
        );

    pointer-events: none;
}

body.game-review-page-v8
#selectedBoard .fen-square.is-analysis-capture::after {
    width: 84%;
    min-width: 0;

    border:
        3px solid
        rgba(
            38,
            38,
            42,
            .44
        );

    background:
        transparent;
}


/* Pieces stay over all analysis target fills. */
body.game-review-page-v8
#selectedBoard .fen-square.is-analysis-selected .fen-piece,
body.game-review-page-v8
#selectedBoard .fen-square.is-analysis-legal .fen-piece {
    position: relative;
    z-index: 10;
}


/* ---------------------------------------------------------
   DRAG
   --------------------------------------------------------- */

body.game-review-page-v8
#selectedBoard .fen-piece.is-analysis-drag-source {
    opacity: 0 !important;
}

.game-review-analysis-drag-ghost {
    position: fixed;

    z-index: 99999;

    width: 72px;
    height: 72px;

    transform:
        translate(
            -50%,
            -50%
        );

    object-fit: contain;

    pointer-events: none;
    user-select: none;
}


/* ---------------------------------------------------------
   FREE ANALYSIS BOARD PALETTE
   --------------------------------------------------------- */

/*
    Deliberately more washed / grey-white than the normal board.
    It makes it immediately obvious that the user left the recorded
    game and is exploring a hypothetical line.
*/
body.game-review-page-v8
#selectedBoard .fen-board.is-free-analysis {
    border-color:
        #85898d;

    box-shadow:
        0 24px 70px
        rgba(
            0,
            0,
            0,
            .34
        );
}

body.game-review-page-v8
#selectedBoard .fen-board.is-free-analysis
.fen-square.light {
    background:
        #d7d5cf;
}

body.game-review-page-v8
#selectedBoard .fen-board.is-free-analysis
.fen-square.dark {
    background:
        #979794;
}

body.game-review-page-v8
#selectedBoard .fen-board.is-free-analysis
.fen-piece {
    filter:
        saturate(.72)
        contrast(.96)
        brightness(1.03);
}


/* Eval is intentionally neutral while no branch Stockfish is running. */
body.game-review-page-v8
.evaluation-bar.is-free-analysis {
    filter:
        grayscale(1);

    opacity:
        .74;
}


/* ---------------------------------------------------------
   NOTATION VARIATION BRANCH
   --------------------------------------------------------- */

body.game-review-page-v8
.game-review-analysis-variation {
    display: grid;
    grid-template-columns:
        48px
        minmax(0, 1fr);

    min-height: 58px;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .04
        );

    background:
        linear-gradient(
            90deg,
            rgba(39, 199, 232, .055),
            transparent 64%
        ),
        #242426;
}

body.game-review-page-v8
.game-review-analysis-variation-marker {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;

    padding:
        14px 12px
        0 4px;

    color:
        #27c7e8;

    font-size:
        14px;
    font-weight:
        800;
}

body.game-review-page-v8
.game-review-analysis-variation-body {
    min-width: 0;

    padding:
        9px 10px
        10px 0;
}

body.game-review-page-v8
.game-review-analysis-variation-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin-bottom:
        6px;
}

body.game-review-page-v8
.game-review-analysis-variation-label {
    color:
        #7c9299;

    font-size:
        7px;
    font-weight:
        850;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}

body.game-review-page-v8
.game-review-analysis-variation-actions {
    display: flex;
    align-items: center;

    gap: 4px;
}

body.game-review-page-v8
.game-review-analysis-variation-action {
    min-height: 23px;

    padding:
        0 7px;

    border:
        1px solid
        #3b3b3f;

    background:
        #2a2a2d;

    color:
        #a9a9ae;

    font-size:
        7px;
    font-weight:
        760;

    text-transform:
        uppercase;
}

body.game-review-page-v8
.game-review-analysis-variation-action:hover {
    border-color:
        #606066;

    color:
        #ffffff;
}

body.game-review-page-v8
.game-review-analysis-variation-action:disabled {
    opacity:
        .34;
}

body.game-review-page-v8
.game-review-analysis-variation-action.is-exit {
    color:
        #d4d4d8;
}

body.game-review-page-v8
.game-review-analysis-variation-moves {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap:
        3px 6px;
}

body.game-review-page-v8
.game-review-analysis-variation-token {
    min-height:
        25px;

    padding:
        0 5px;

    border:
        0;

    background:
        transparent;

    color:
        #b5b5b9;

    font-size:
        12px;

    font-weight:
        720;
}

body.game-review-page-v8
.game-review-analysis-variation-token:hover {
    background:
        rgba(
            255,
            255,
            255,
            .055
        );

    color:
        #ffffff;
}

body.game-review-page-v8
.game-review-analysis-variation-token.active {
    background:
        #545459;

    color:
        #ffffff;
}


/* ---------------------------------------------------------
   BOARD CAPTION / EXIT
   --------------------------------------------------------- */

body.game-review-page-v8
.game-review-analysis-exit {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    min-height:
        29px;

    padding:
        0 9px;

    border:
        1px solid
        #3a3a40;

    background:
        #101013;

    color:
        #c4c4ca;

    font-size:
        7px;

    font-weight:
        820;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

body.game-review-page-v8
.game-review-analysis-exit:hover {
    border-color:
        rgba(
            39,
            199,
            232,
            .55
        );

    color:
        #ffffff;
}

body.game-review-page-v8
.game-review-analysis-exit b {
    color:
        #27c7e8;

    font-size:
        13px;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 700px) {

    .game-review-analysis-drag-ghost {
        width:
            58px;

        height:
            58px;
    }

    body.game-review-page-v8
    .game-review-analysis-variation {
        grid-template-columns:
            34px
            minmax(0, 1fr);
    }

    body.game-review-page-v8
    .game-review-analysis-variation-marker {
        padding-right:
            8px;
    }

    body.game-review-page-v8
    .game-review-analysis-variation-top {
        align-items:
            flex-start;

        flex-direction:
            column;
    }
}


/* =========================================================
   GAME REVIEW V11.12 — FREE ANALYSIS LONG-LINE LAYOUT
   ========================================================= */


/*
    The notation list is a grid. Let every automatically-created row
    size itself to its content, including multi-line analysis branches.
*/
body.game-review-page-v7
.notation-panel
.move-list {
    grid-auto-rows:
        max-content
        !important;
}


/*
    A variation is a real content-sized notation row.
    When the SAN sequence wraps, this block grows and pushes the
    following normal game move downward.
*/
body.game-review-page-v8
.game-review-analysis-variation {
    box-sizing:
        border-box
        !important;

    height:
        auto
        !important;

    min-height:
        max-content
        !important;

    overflow:
        visible
        !important;

    align-self:
        stretch
        !important;
}


body.game-review-page-v8
.game-review-analysis-variation-body {
    box-sizing:
        border-box
        !important;

    min-width:
        0
        !important;

    height:
        auto
        !important;

    min-height:
        max-content
        !important;

    overflow:
        visible
        !important;

    padding-bottom:
        12px
        !important;
}


/*
    Each move remains one token. When there is no more horizontal
    space, the next token starts on the next line.
*/
body.game-review-page-v8
.game-review-analysis-variation-moves {
    display:
        flex
        !important;

    flex-direction:
        row
        !important;

    flex-wrap:
        wrap
        !important;

    align-items:
        flex-start
        !important;

    align-content:
        flex-start
        !important;

    width:
        100%
        !important;

    height:
        auto
        !important;

    min-height:
        max-content
        !important;

    overflow:
        visible
        !important;

    white-space:
        normal
        !important;

    column-gap:
        6px
        !important;

    row-gap:
        6px
        !important;
}


body.game-review-page-v8
.game-review-analysis-variation-token {
    flex:
        0 0 auto
        !important;

    white-space:
        nowrap
        !important;
}



/* =========================================================
   GAME REVIEW V12 — MANUAL REFINEMENT
   Preserve the current ChessReveal layout and interactions.
   Changes are deliberately limited to clarity around:
   - board support UI
   - selected move hierarchy
   - Coach
   - compact next critical move
   - evaluation history
   ========================================================= */

body.game-review-page-v8 {
    --gr-v12-panel: #0f0f12;
    --gr-v12-panel-soft: #121216;
    --gr-v12-panel-raised: #17171b;
    --gr-v12-line: #29292f;
    --gr-v12-line-soft: #202025;
    --gr-v12-muted: #777780;
}

/* Keep the board dominant, but give the right column a little more breathing room. */
body.game-review-page-v8 .game-review-v8-workspace {
    grid-template-columns:
        minmax(650px, 1.5fr)
        minmax(420px, .82fr)
        !important;

    gap:
        16px
        !important;
}

/* Board remains visually primary. */
body.game-review-page-v8 .game-review-v8-board-column {
    padding:
        12px 14px 10px
        !important;

    border:
        1px solid var(--gr-v12-line)
        !important;

    background:
        #09090b
        !important;
}

/* Navigation is quieter and easier to scan. */
body.game-review-page-v8 .board-toolbar {
    min-height:
        46px
        !important;

    margin-top:
        8px
        !important;

    border-color:
        var(--gr-v12-line-soft)
        !important;
}

body.game-review-page-v8 .board-toolbar .nav-button {
    min-width:
        56px
        !important;

    height:
        42px
        !important;

    color:
        #8f8f98
        !important;
}

body.game-review-page-v8 .board-toolbar .nav-button:hover:not(:disabled) {
    color:
        #ffffff
        !important;

    background:
        rgba(255, 43, 214, .075)
        !important;
}

body.game-review-page-v8 .move-counter strong {
    font-size:
        14px
        !important;
}

body.game-review-page-v8 .move-counter span {
    color:
        #64646d
        !important;
}

/* ---------------------------------------------------------
   COMPACT EVALUATION HISTORY
   --------------------------------------------------------- */

body.game-review-page-v8 .game-review-eval-history {
    width:
        min(100%, 780px);

    max-width:
        780px;

    margin:
        8px auto 0;

    padding:
        8px 10px 9px;

    border-top:
        1px solid var(--gr-v12-line-soft);

    border-bottom:
        1px solid var(--gr-v12-line-soft);

    background:
        #0b0b0e;
}

body.game-review-page-v8 .game-review-eval-history-head {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    margin-bottom:
        5px;
}

body.game-review-page-v8 .game-review-eval-history-head span {
    color:
        #66666f;

    font-size:
        7px;

    font-weight:
        820;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}

body.game-review-page-v8 .game-review-eval-history-head strong {
    color:
        #a8a8b0;

    font-size:
        9px;

    font-weight:
        720;

    font-variant-numeric:
        tabular-nums;
}

body.game-review-page-v8 .game-review-eval-history-chart {
    height:
        54px;
}

body.game-review-page-v8 .game-review-eval-history-chart svg {
    display:
        block;

    width:
        100%;

    height:
        100%;

    overflow:
        visible;
}

body.game-review-page-v8 .game-review-eval-zero {
    stroke:
        #35353b;

    stroke-width:
        .45;

    vector-effect:
        non-scaling-stroke;
}

body.game-review-page-v8 .game-review-eval-path {
    fill:
        none;

    stroke:
        #b8b8bf;

    stroke-width:
        1.15;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;

    vector-effect:
        non-scaling-stroke;
}

body.game-review-page-v8 .game-review-eval-current {
    stroke:
        #ff2bd6;

    stroke-width:
        1;

    opacity:
        .78;

    vector-effect:
        non-scaling-stroke;
}

/* Board caption becomes supporting text, not another visual block. */
body.game-review-page-v8 .game-review-v10-board-caption {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-wrap:
        wrap;

    gap:
        6px 12px;

    margin-top:
        6px
        !important;

    color:
        #55555e
        !important;
}

/* ---------------------------------------------------------
   RIGHT COLUMN — ONE CONNECTED REVIEW FLOW
   --------------------------------------------------------- */

body.game-review-page-v8 .game-review-v8-side {
    display:
        flex
        !important;

    flex-direction:
        column
        !important;

    gap:
        10px
        !important;

    min-width:
        0
        !important;
}

body.game-review-page-v8 .game-review-v8-notation,
body.game-review-page-v8 .game-review-v8-decision {
    border:
        1px solid var(--gr-v12-line)
        !important;

    background:
        var(--gr-v12-panel)
        !important;

    box-shadow:
        none
        !important;
}

/* Moves stay first and remain the largest piece of the right side. */
body.game-review-page-v8 .game-review-v8-notation {
    height:
        clamp(330px, 40vh, 390px)
        !important;

    min-height:
        330px
        !important;

    max-height:
        390px
        !important;
}

body.game-review-page-v8 .game-review-v8-notation .review-panel-heading {
    min-height:
        46px
        !important;

    padding:
        8px 12px
        !important;

    background:
        #17171a
        !important;
}

body.game-review-page-v8 .game-review-v8-notation .review-panel-heading strong {
    font-size:
        13px
        !important;
}

body.game-review-page-v8 .game-review-v8-notation .review-panel-hint {
    color:
        #606069
        !important;
}

/* Active move is clear without turning the notation into a second dashboard. */
body.game-review-page-v8 .game-review-v8-notation .move-list-button.active {
    background:
        #36363a
        !important;

    box-shadow:
        inset 3px 0 0 #ff2bd6
        !important;
}

body.game-review-page-v8 .game-review-v8-notation .move-list-button:hover {
    background:
        #2b2b2f
        !important;
}

/* Smaller notation controls: useful, but secondary to the board controls. */
body.game-review-page-v8 .notation-navigation {
    min-height:
        44px
        !important;

    background:
        #151518
        !important;
}

body.game-review-page-v8 .notation-nav-button {
    min-height:
        43px
        !important;

    height:
        43px
        !important;

    font-size:
        17px
        !important;
}

/* ---------------------------------------------------------
   SELECTED MOVE
   --------------------------------------------------------- */

body.game-review-page-v8 .game-review-v8-decision {
    overflow:
        hidden
        !important;

    border-top:
        2px solid #ff2bd6
        !important;
}

body.game-review-page-v8 .game-review-v8-decision > .review-panel-heading {
    min-height:
        50px
        !important;

    padding:
        9px 12px
        !important;

    background:
        #151518
        !important;
}

body.game-review-page-v8 .game-review-v8-decision > .review-panel-heading span {
    color:
        #ff68e1
        !important;
}

body.game-review-page-v8 .game-review-v8-decision > .review-panel-heading strong {
    margin-top:
        2px;

    font-size:
        15px
        !important;
}

body.game-review-page-v8 .game-review-v8-played-best {
    grid-template-columns:
        1fr 1fr
        !important;

    background:
        #0d0d10
        !important;
}

body.game-review-page-v8 .game-review-v8-played-best .move-detail-primary {
    min-height:
        62px
        !important;

    padding:
        10px 12px
        !important;
}

body.game-review-page-v8 .game-review-v8-played-best .move-detail-primary span {
    margin-bottom:
        4px
        !important;

    color:
        #686871
        !important;
}

body.game-review-page-v8 .game-review-v8-played-best .move-detail-primary strong {
    font-size:
        19px
        !important;
}

body.game-review-page-v8 .game-review-v8-decision-meta {
    grid-template-columns:
        1fr 1fr
        !important;

    background:
        #0b0b0e
        !important;
}

body.game-review-page-v8 .game-review-v8-decision-meta > div {
    padding:
        8px 12px
        !important;
}

body.game-review-page-v8 .game-review-v8-decision-meta strong {
    color:
        #d2d2d7
        !important;

    font-size:
        11px
        !important;
}

body.game-review-page-v8 .game-review-v8-decision-context {
    padding:
        9px 12px
        !important;

    background:
        #0e0e11
        !important;
}

body.game-review-page-v8 .game-review-v8-decision-context > span {
    margin-bottom:
        4px
        !important;
}

body.game-review-page-v8 .game-review-v8-decision-context > p {
    color:
        #aaaab2
        !important;

    font-size:
        10px
        !important;

    line-height:
        1.48
        !important;
}

/* ---------------------------------------------------------
   COACH
   --------------------------------------------------------- */

body.game-review-page-v8 .game-review-v8-coach {
    padding:
        11px 12px 12px
        !important;

    border-top:
        1px solid #26262b
        !important;

    background:
        linear-gradient(
            90deg,
            rgba(255, 43, 214, .06),
            transparent 58%
        ),
        #111114
        !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-heading {
    margin-bottom:
        9px
        !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-heading strong {
    font-size:
        13px
        !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-actions {
    gap:
        5px
        !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-question {
    min-height:
        32px
        !important;

    padding:
        5px 6px
        !important;

    background:
        #151518
        !important;

    font-size:
        8px
        !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-response {
    max-height:
        150px
        !important;

    margin-top:
        8px
        !important;

    padding:
        9px 10px
        !important;

    font-size:
        10px
        !important;

    line-height:
        1.48
        !important;
}

/* ---------------------------------------------------------
   NEXT CRITICAL MOVE
   --------------------------------------------------------- */

body.game-review-page-v8 .game-review-next-critical {
    appearance:
        none;

    width:
        100%;

    min-height:
        52px;

    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        22px;

    align-items:
        center;

    gap:
        10px;

    padding:
        9px 12px;

    border:
        0;

    border-top:
        1px solid #2c2c31;

    background:
        linear-gradient(
            90deg,
            rgba(255, 43, 214, .055),
            transparent 58%
        ),
        #101013;

    color:
        #ffffff;

    text-align:
        left;

    transition:
        background 140ms ease,
        border-color 140ms ease;
}

body.game-review-page-v8 .game-review-next-critical:hover {
    border-top-color:
        rgba(255, 43, 214, .55);

    background:
        linear-gradient(
            90deg,
            rgba(255, 43, 214, .09),
            transparent 64%
        ),
        #121216;
}

body.game-review-page-v8 .game-review-next-critical-copy {
    min-width:
        0;

    display:
        grid;

    gap:
        2px;
}

body.game-review-page-v8 .game-review-next-critical-copy small {
    color:
        #ff68e1;

    font-size:
        7px;

    font-weight:
        820;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}

body.game-review-page-v8 .game-review-next-critical-copy strong {
    overflow:
        hidden;

    color:
        #f2f2f4;

    font-size:
        13px;

    font-weight:
        760;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}

body.game-review-page-v8 .game-review-next-critical-quality {
    font-size:
        9px;

    font-weight:
        850;

    letter-spacing:
        .04em;

    text-transform:
        uppercase;
}

body.game-review-page-v8 .game-review-next-critical-arrow {
    color:
        #ff2bd6;

    font-size:
        18px;

    line-height:
        1;

    transition:
        transform 140ms ease;
}

body.game-review-page-v8 .game-review-next-critical:hover .game-review-next-critical-arrow {
    transform:
        translateX(3px);
}

/* Keep classification semantics on the compact CTA. */
body.game-review-page-v8 .game-review-next-critical-mistake .game-review-next-critical-quality {
    color:
        #ef9c5b;
}

body.game-review-page-v8 .game-review-next-critical-miss .game-review-next-critical-quality {
    color:
        #c27be7;
}

body.game-review-page-v8 .game-review-next-critical-blunder .game-review-next-critical-quality {
    color:
        #f06464;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 1180px) {

    body.game-review-page-v8 .game-review-v8-workspace {
        grid-template-columns:
            1fr
            !important;
    }

    body.game-review-page-v8 .game-review-v8-notation {
        height:
            360px
            !important;

        min-height:
            360px
            !important;

        max-height:
            360px
            !important;
    }
}

@media (max-width: 700px) {

    body.game-review-page-v8 .game-review-eval-history {
        width:
            100%;

        padding-inline:
            7px;
    }

    body.game-review-page-v8 .game-review-eval-history-chart {
        height:
            46px;
    }

    body.game-review-page-v8 .game-review-next-critical {
        grid-template-columns:
            minmax(0, 1fr)
            auto
            20px;
    }
}


/* =========================================================
   GAME REVIEW V12.1 — MANUAL RIGHT-COLUMN REFINEMENT
   Scope is deliberately narrow:
   - preserve header / Move Quality / board / notation / interactions
   - keep current move facts together
   - give Coach more room
   - move Next Critical to the end of the current-move flow
   - remove the always-visible evaluation history from beneath the board
   ========================================================= */

/* Evaluation history is intentionally withdrawn in this iteration. */
body.game-review-page-v8 .game-review-eval-history {
    display: none !important;
}

/* Give the explanation stack a little more vertical room without touching the board. */
body.game-review-page-v8 .game-review-v8-notation {
    height: clamp(300px, 35vh, 345px) !important;
    min-height: 300px !important;
    max-height: 345px !important;
}

/* Explicit ordering overrides the older V7 flex-order rules. */
body.game-review-page-v8 .game-review-v8-decision {
    display: flex !important;
    flex-direction: column !important;
}

body.game-review-page-v8 .game-review-v8-decision > .review-panel-heading {
    order: 0 !important;
}

body.game-review-page-v8 .game-review-v8-decision > .game-review-v13-decision-grid,
body.game-review-page-v8 .game-review-v8-decision > .opponent-move-panel {
    order: 1 !important;
}

body.game-review-page-v8 .game-review-v8-decision > .game-review-v13-decision-context {
    order: 2 !important;
}

body.game-review-page-v8 .game-review-v8-decision > .game-review-v8-coach {
    order: 3 !important;
}

body.game-review-page-v8 .game-review-v8-decision > .game-review-next-critical {
    order: 4 !important;
}

/* Selected move title gets enough weight to be readable at a glance. */
body.game-review-page-v8 .game-review-v8-decision > .review-panel-heading {
    min-height: 54px !important;
    padding: 10px 13px !important;
}

body.game-review-page-v8 .game-review-v8-decision > .review-panel-heading span {
    font-size: 8px !important;
}

body.game-review-page-v8 .game-review-v8-decision > .review-panel-heading strong {
    margin-top: 3px !important;
    font-size: 16px !important;
    line-height: 1.08 !important;
}

body.game-review-page-v8 .game-review-v8-decision .move-quality-badge {
    padding: 5px 8px !important;
    font-size: 8px !important;
}

/* Played / Best / Evaluation are one decision summary, not separate modules. */
body.game-review-page-v8 .game-review-v13-decision-grid {
    display: grid;
    grid-template-columns: .88fr .88fr 1.24fr;
    border-bottom: 1px solid #25252a;
    background: #0d0d10;
}

body.game-review-page-v8 .game-review-v13-decision-stat {
    min-width: 0;
    min-height: 67px;
    padding: 11px 12px;
    border-right: 1px solid #25252a;
}

body.game-review-page-v8 .game-review-v13-decision-stat:last-child {
    border-right: 0;
}

body.game-review-page-v8 .game-review-v13-decision-stat > span {
    display: block;
    margin-bottom: 6px;
    color: #777780;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

body.game-review-page-v8 .game-review-v13-decision-stat > strong {
    display: block;
    overflow: hidden;
    color: #f3f3f5;
    font-size: 18px;
    font-weight: 780;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.game-review-page-v8 .game-review-v13-decision-best > strong {
    color: #ff2bd6;
}

body.game-review-page-v8 .game-review-v13-decision-eval > strong {
    color: #d9d9de;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.015em;
}

/* What changed is short context, with Impact kept as quiet metadata. */
body.game-review-page-v8 .game-review-v13-decision-context {
    padding: 10px 13px 11px !important;
    border-bottom: 1px solid #25252a !important;
    background: #0f0f12 !important;
}

body.game-review-page-v8 .game-review-v13-context-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

body.game-review-page-v8 .game-review-v13-context-heading > span {
    margin: 0 !important;
    color: #777780 !important;
    font-size: 8px !important;
    font-weight: 820 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
}

body.game-review-page-v8 .game-review-v13-context-heading > small {
    flex: 0 0 auto;
    padding: 3px 6px;
    border: 1px solid #2e2e34;
    color: #8d8d96;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.game-review-page-v8 .game-review-v13-decision-context > p {
    margin: 0 !important;
    color: #b7b7bf !important;
    font-size: 11px !important;
    line-height: 1.52 !important;
}

/* Coach is deliberately more readable than the surrounding engine metadata. */
body.game-review-page-v8 .game-review-v8-coach {
    padding: 13px 13px 14px !important;
    border-top: 0 !important;
    background:
        linear-gradient(90deg, rgba(255, 43, 214, .065), transparent 62%),
        #111114 !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-heading {
    margin-bottom: 10px !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-heading > div > span {
    font-size: 8px !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-heading strong {
    font-size: 14px !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-actions {
    gap: 6px !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-question {
    min-height: 36px !important;
    padding: 7px 7px !important;
    font-size: 9px !important;
    line-height: 1.18 !important;
}

body.game-review-page-v8 .game-review-v8-coach .coach-response {
    max-height: 170px !important;
    margin-top: 9px !important;
    padding: 10px 11px !important;
    font-size: 11.5px !important;
    line-height: 1.55 !important;
}

/* Next Critical is a final, compact continuation action. */
body.game-review-page-v8 .game-review-next-critical {
    min-height: 47px !important;
    grid-template-columns: minmax(0, 1fr) auto 20px !important;
    gap: 9px !important;
    padding: 8px 12px !important;
    border-top: 1px solid #2c2c31 !important;
    background:
        linear-gradient(90deg, rgba(255, 43, 214, .045), transparent 66%),
        #0f0f12 !important;
}

body.game-review-page-v8 .game-review-next-critical-copy {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
}

body.game-review-page-v8 .game-review-next-critical-copy small {
    flex: 0 0 auto;
    font-size: 7px !important;
}

body.game-review-page-v8 .game-review-next-critical-copy strong {
    min-width: 0;
    font-size: 12px !important;
}

body.game-review-page-v8 .game-review-next-critical-quality {
    font-size: 8px !important;
}

body.game-review-page-v8 .game-review-next-critical-arrow {
    font-size: 17px !important;
}

/* Preserve a usable notation height when the workspace stacks. */
@media (max-width: 1180px) {
    body.game-review-page-v8 .game-review-v8-notation {
        height: 340px !important;
        min-height: 340px !important;
        max-height: 340px !important;
    }
}

@media (max-height: 800px) and (min-width: 1181px) {
    body.game-review-page-v8 .game-review-v8-notation {
        height: 290px !important;
        min-height: 290px !important;
        max-height: 290px !important;
    }

    body.game-review-page-v8 .game-review-v8-coach .coach-response {
        max-height: 135px !important;
    }
}

@media (max-width: 700px) {
    body.game-review-page-v8 .game-review-v13-decision-grid {
        grid-template-columns: 1fr 1fr;
    }

    body.game-review-page-v8 .game-review-v13-decision-eval {
        grid-column: 1 / -1;
        min-height: 54px;
        border-top: 1px solid #25252a;
        border-right: 0;
    }

    body.game-review-page-v8 .game-review-next-critical-copy {
        display: grid !important;
        gap: 2px !important;
    }
}

/* Mobile V1 — page-scrolling score sheet; no changes above 768px. */
@media (max-width: 768px) {
    body.game-review-page-v8 .page-main { padding-top: 16px !important; }
    body.game-review-page-v8 .game-review-v8-intro { display: none; }
    body.game-review-page-v8 .game-review-v8-game-row {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px 8px;
        padding: 14px 12px;
        text-align: left;
    }
    body.game-review-page-v8 .game-review-v8-game-main { grid-column: 1 / -1; min-width: 0; }
    body.game-review-page-v8 .game-review-v8-game-main strong,
    body.game-review-page-v8 .game-review-v8-game-main small { white-space: normal; overflow-wrap: anywhere; }
    body.game-review-page-v8 .game-review-v8-game-index,
    body.game-review-page-v8 .game-review-v8-game-action { display: none; }
    body.game-review-page-v8 .game-review-v8-game-rating,
    body.game-review-page-v8 .game-review-v8-game-side,
    body.game-review-page-v8 .game-review-v8-game-result,
    body.game-review-page-v8 .game-review-v8-game-errors { display: block; min-width: 0; }
    body.game-review-page-v8 .game-review-v8-game-row > span > small { white-space: normal; font-size: 10px; }
    body.game-review-page-v8 .game-review-v8-game-row > span > strong { font-size: 13px; }
    body.game-review-page-v8 #gameDetailsCard { padding: 0 !important; }
    body.game-review-page-v8 .game-review-v8-workspace { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
    body.game-review-page-v8 .game-review-v8-board-column { padding: 0 !important; min-width: 0; border: 0 !important; position: static !important; }
    body.game-review-page-v8 .board-with-eval {
        width: 100% !important; max-width: none !important;
        grid-template-columns: 24px minmax(0, 1fr) !important; gap: 4px !important;
    }
    body.game-review-page-v8 .evaluation-bar { min-width: 24px !important; width: 24px !important; }
    body.game-review-page-v8 #selectedBoard { min-width: 0; width: 100%; }
    body.game-review-page-v8 .fen-board { width: 100% !important; max-width: none !important; }
    body.game-review-page-v8 .board-toolbar { width: 100% !important; max-width: none !important; }
    body.game-review-page-v8 .board-toolbar .nav-button { height: 48px !important; min-width: 56px !important; }
    body.game-review-page-v8 .notation-navigation,
    body.game-review-page-v8 .game-review-v10-draw-hint { display: none !important; }
    body.game-review-page-v8 .game-review-v8-side { min-width: 0; display: flex !important; flex-direction: column; }
    body.game-review-page-v8 .game-review-v8-notation,
    body.game-review-page-v8 #gameMoveList {
        height: auto !important; min-height: 0 !important; max-height: none !important;
        overflow: visible !important;
    }
    body.game-review-page-v8 #gameMoveList { display: flex; flex-wrap: wrap; gap: 4px 8px; padding: 10px; flex: none; }
    body.game-review-page-v8 #gameMoveList .move-list-row {
        display: inline-flex; flex: 0 0 auto; align-items: center;
        width: auto; gap: 2px; padding: 0; border: 0; background: transparent;
    }
    body.game-review-page-v8 #gameMoveList .move-list-number { width: auto; min-width: 20px; padding: 0 2px; font-size: 12px; }
    body.game-review-page-v8 #gameMoveList .move-list-button {
        width: auto; min-width: 40px; min-height: 44px;
        padding: 8px 6px; font-size: 14px; border-radius: 4px;
    }
    body.game-review-page-v8 #gameMoveList .move-list-button.active { background: #61234f; box-shadow: inset 0 0 0 2px #ff2bd6; }
    body.game-review-page-v8 #gameMoveList .move-list-button:focus-visible { outline: 2px solid #ff2bd6; outline-offset: 1px; }
    body.game-review-page-v8 .game-review-v8-coach .coach-response { max-height: none !important; overflow: visible !important; }
    body.game-review-page-v8 .game-review-v8-review-head { padding: 12px !important; }
}
@media (max-width: 768px) {
    body.game-review-page-v8 .game-review-v8-stack,
    body.game-review-page-v8 .game-review-v8-game-list { grid-template-columns: minmax(0, 1fr); }
    body.game-review-page-v8 .game-review-v8-stack > *,
    body.game-review-page-v8 .game-review-v8-game-list > *,
    body.game-review-page-v8 .game-review-v8-review-head > * { min-width: 0; }
    body.game-review-page-v8 .game-review-v8-game-identity { min-width: 0; flex-wrap: wrap; }
    body.game-review-page-v8 .game-header-main { min-width: 0; }
    body.game-review-page-v8 .game-header h2 { overflow-wrap: anywhere; }
    body.game-review-page-v8 .game-review-v8-review-head { grid-template-columns: minmax(0, 1fr) !important; }
    body.game-review-page-v8 .game-review-v8-summary { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px) {
    body.game-review-page-v8 #gameMoveList .move-list-button.active { background: #61234f !important; box-shadow: inset 0 0 0 2px #ff2bd6 !important; }
}

/* =========================================================
   GAME REVIEW V13 — ACCURACY V1
   Desktop game-list signal only. Existing mobile layout stays compact.
   ========================================================= */

@media (min-width: 901px) {
    body.game-review-page-v8 .game-review-v8-game-row {
        grid-template-columns:
            42px
            minmax(245px, 1.45fr)
            minmax(80px, .40fr)
            minmax(70px, .34fr)
            minmax(70px, .34fr)
            minmax(78px, .36fr)
            minmax(105px, .48fr)
            92px;
    }
}

body.game-review-page-v8 .game-review-v8-game-accuracy {
    min-width: 0;
    display: grid;
    gap: 6px;
}

body.game-review-page-v8 .game-review-v8-game-accuracy > small {
    color: #55555e;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.game-review-page-v8 .game-review-v8-game-accuracy > strong {
    color: #e2e2e7;
    font-size: 12px;
    font-weight: 760;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

body.game-review-page-v8 .game-meta-accuracy {
    color: #d7d7dd !important;
    font-weight: 720;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}

/*
    Preserve the current compact tablet/mobile game-list geometry.
    Accuracy remains visible in the opened game's header.
*/
@media (max-width: 900px) {
    body.game-review-page-v8 .game-review-v8-game-accuracy {
        display: none;
    }
}


/* =========================================================
   GAME REVIEW V14 — POLISH
   - signal-only notation colors for both players
   - compact top move summary + dual White/Black Accuracy
   - lighter, tighter mobile score sheet
   ========================================================= */


/* ---------------------------------------------------------
   TOP REVIEW STRIP
   --------------------------------------------------------- */

body.game-review-page-v8 .game-review-v8-review-head {
    grid-template-columns:
        minmax(330px, .70fr)
        minmax(700px, 1.30fr)
        !important;

    gap:
        10px
        !important;
}


body.game-review-page-v8 .game-review-v8-game-identity {
    min-height:
        68px
        !important;

    padding:
        9px 13px
        !important;
}


/*
    Summary is now two compact zones:
    move counts on the left, dual-color Accuracy on the right.
*/
body.game-review-page-v8 .game-review-v8-summary {
    display:
        grid
        !important;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        !important;

    min-height:
        68px
        !important;

    overflow:
        hidden
        !important;
}


body.game-review-page-v8 .game-review-summary-counts {
    min-width:
        0;

    display:
        grid;

    grid-template-columns:
        repeat(6, minmax(58px, 1fr));

    background:
        var(--gr-card);
}


body.game-review-page-v8
.game-review-summary-counts
.summary-item {
    min-width:
        0
        !important;

    min-height:
        68px
        !important;

    padding:
        8px 7px
        !important;

    gap:
        5px
        !important;

    border-right:
        1px solid var(--gr-line-soft)
        !important;
}


body.game-review-page-v8
.game-review-summary-counts
.summary-item span {
    font-size:
        6.5px
        !important;

    letter-spacing:
        .055em
        !important;
}


body.game-review-page-v8
.game-review-summary-counts
.summary-item strong {
    font-size:
        17px
        !important;
}


body.game-review-page-v8 .game-review-dual-accuracy {
    display:
        grid;

    grid-template-columns:
        repeat(2, 92px);

    min-width:
        184px;

    border-left:
        1px solid #303036;
}


body.game-review-page-v8 .game-review-accuracy-box {
    min-width:
        0;

    min-height:
        68px;

    display:
        grid;

    grid-template-rows:
        auto 1fr auto;

    align-items:
        center;

    padding:
        8px 10px 7px;

    font-variant-numeric:
        tabular-nums;

    font-feature-settings:
        "tnum" 1;
}


body.game-review-page-v8 .game-review-accuracy-box + .game-review-accuracy-box {
    border-left:
        1px solid #303036;
}


body.game-review-page-v8 .game-review-accuracy-box span,
body.game-review-page-v8 .game-review-accuracy-box small {
    font-size:
        6.5px;

    font-weight:
        820;

    line-height:
        1;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


body.game-review-page-v8 .game-review-accuracy-box strong {
    align-self:
        center;

    font-size:
        20px;

    font-weight:
        790;

    line-height:
        1;

    letter-spacing:
        -.025em;
}


body.game-review-page-v8 .game-review-accuracy-white {
    background:
        #f1f1ed;

    color:
        #121214;
}


body.game-review-page-v8 .game-review-accuracy-white span,
body.game-review-page-v8 .game-review-accuracy-white small {
    color:
        #55555a;
}


body.game-review-page-v8 .game-review-accuracy-black {
    background:
        #0a0a0c;

    color:
        #f3f3f5;
}


body.game-review-page-v8 .game-review-accuracy-black span,
body.game-review-page-v8 .game-review-accuracy-black small {
    color:
        #85858e;
}


/* Old opened-game metadata Accuracy is intentionally removed in V14. */
body.game-review-page-v8 .game-meta-accuracy {
    display:
        none
        !important;
}


/* ---------------------------------------------------------
   NOTATION — SIGNAL COLORS ONLY, BOTH PLAYERS
   --------------------------------------------------------- */

/*
    Default notation is deliberately neutral.
    These rules override legacy player/opponent quality palettes.
*/
body.game-review-page-v8
#gameMoveList
.move-list-button
.move-san {
    color:
        #eeeeF2
        !important;

    opacity:
        .88;
}


/* Explicitly neutral legacy/current quality classes. */
body.game-review-page-v8
#gameMoveList
.move-quality-neutral
.move-san,
body.game-review-page-v8
#gameMoveList
.move-quality-opponent
.move-san,
body.game-review-page-v8
#gameMoveList
.move-quality-best
.move-san,
body.game-review-page-v8
#gameMoveList
.move-quality-good
.move-san,
body.game-review-page-v8
#gameMoveList
.move-quality-inaccuracy
.move-san {
    color:
        #eeeeF2
        !important;
}


/* Only the four requested high-signal classes keep color. */
body.game-review-page-v8
#gameMoveList
.move-quality-brilliant
.move-san {
    color:
        #22d3ee
        !important;

    opacity:
        1;
}


body.game-review-page-v8
#gameMoveList
.move-quality-mistake
.move-san {
    color:
        #fb923c
        !important;

    opacity:
        1;
}


body.game-review-page-v8
#gameMoveList
.move-quality-miss
.move-san {
    color:
        #c084fc
        !important;

    opacity:
        1;
}


body.game-review-page-v8
#gameMoveList
.move-quality-blunder
.move-san {
    color:
        #ef5b5b
        !important;

    opacity:
        1;
}


/* ---------------------------------------------------------
   RESPONSIVE TOP STRIP
   --------------------------------------------------------- */

@media (max-width: 1180px) {

    body.game-review-page-v8 .game-review-v8-review-head {
        grid-template-columns:
            minmax(0, 1fr)
            !important;
    }


    body.game-review-page-v8 .game-review-v8-summary {
        grid-template-columns:
            minmax(0, 1fr)
            184px
            !important;
    }
}


@media (max-width: 768px) {

    body.game-review-page-v8 .game-review-v8-review-head {
        padding:
            8px 0
            !important;
    }


    body.game-review-page-v8 .game-review-v8-summary {
        grid-template-columns:
            minmax(0, 1fr)
            !important;
    }


    body.game-review-page-v8 .game-review-summary-counts {
        grid-template-columns:
            repeat(3, minmax(0, 1fr))
            !important;
    }


    body.game-review-page-v8
    .game-review-summary-counts
    .summary-item {
        min-height:
            52px
            !important;

        padding:
            7px 8px
            !important;

        gap:
            3px
            !important;
    }


    body.game-review-page-v8 .game-review-dual-accuracy {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        min-width:
            0;

        border-top:
            1px solid #303036;

        border-left:
            0;
    }


    body.game-review-page-v8 .game-review-accuracy-box {
        min-height:
            56px;

        padding:
            7px 11px;
    }


    body.game-review-page-v8 .game-review-accuracy-box strong {
        font-size:
            18px;
    }


    /* -----------------------------------------------------
       MOBILE NOTATION — THINNER / TIGHTER
       ----------------------------------------------------- */

    body.game-review-page-v8 #gameMoveList {
        gap:
            2px 5px
            !important;

        padding:
            8px 7px
            !important;
    }


    body.game-review-page-v8 #gameMoveList .move-list-row {
        gap:
            1px
            !important;

        opacity:
            .88;
    }


    body.game-review-page-v8 #gameMoveList .move-list-number {
        min-width:
            17px
            !important;

        padding:
            0 1px
            !important;

        color:
            #8b8b94
            !important;

        font-size:
            10.5px
            !important;

        font-weight:
            560
            !important;

        line-height:
            1.15
            !important;

        opacity:
            .68;
    }


    body.game-review-page-v8 #gameMoveList .move-list-button {
        min-width:
            33px
            !important;

        min-height:
            34px
            !important;

        padding:
            4px 5px
            !important;

        border-radius:
            3px
            !important;

        font-size:
            12.5px
            !important;

        font-weight:
            560
            !important;

        line-height:
            1.12
            !important;
    }


    body.game-review-page-v8
    #gameMoveList
    .move-list-button
    .move-san {
        opacity:
            .76;

        font-weight:
            560
            !important;
    }


    body.game-review-page-v8
    #gameMoveList
    .move-quality-brilliant
    .move-san,
    body.game-review-page-v8
    #gameMoveList
    .move-quality-mistake
    .move-san,
    body.game-review-page-v8
    #gameMoveList
    .move-quality-miss
    .move-san,
    body.game-review-page-v8
    #gameMoveList
    .move-quality-blunder
    .move-san {
        opacity:
            .96;

        font-weight:
            650
            !important;
    }


    body.game-review-page-v8 #gameMoveList .move-list-button.active {
        background:
            rgba(97, 35, 79, .68)
            !important;

        box-shadow:
            inset 0 0 0 1px #ff2bd6
            !important;
    }
}
