.games-page .notice{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid var(--border);border-radius:10px;padding:10px 14px}.games-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.games-row{border:1px solid var(--border);border-left:5px solid var(--border);background:var(--surface);color:inherit;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid}.games-row:hover,.games-row:focus-visible{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.games-row.is-won{border-left-color:#4caf50}.games-row.is-lost{border-left-color:#df3b2f}.games-row.is-drawn{border-left-color:#9e9e9e}.games-players{flex-direction:column;gap:6px;min-width:0;display:flex}.games-player{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex;overflow:hidden}.games-bot-avatar{background:var(--surface-2);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:1.1rem;display:inline-grid}.games-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.games-result{font-variant-numeric:tabular-nums;font-size:1.1rem}.games-outcome{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:800}.games-outcome.is-won{color:#3c9a40}.games-outcome.is-lost{color:#df3b2f}.games-outcome.is-drawn{color:var(--muted)}.games-open{color:var(--accent);font-weight:700}.games-empty{flex-direction:column;align-items:flex-start;gap:12px;display:flex}@media (max-width:600px){.games-row{grid-template-columns:minmax(0,1fr) auto}.games-open{display:none}}.review-panel .panel-card h2{margin:0 0 8px;font-size:1.05rem}.review-panel .panel-card h3{margin:10px 0 4px;font-size:.95rem}.review-progress{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:22px;margin:6px 0 8px;position:relative;overflow:hidden}.review-progress span{background:color-mix(in srgb, var(--accent) 35%, transparent);transition:width .4s;position:absolute;inset:0 auto 0 0}.review-progress small{text-align:center;font-weight:600;line-height:20px;display:block;position:relative}.eval-graph{cursor:pointer;touch-action:none;border-radius:8px;width:100%;height:84px;margin-top:8px;display:block;overflow:hidden}.eval-graph-black{fill:#3a3a3a}.eval-graph-white{fill:#f4f1ea}.eval-graph-mid{stroke:#80808099;stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.eval-graph-cursor{stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.eval-graph-dot{stroke:#fff;stroke-width:1.5px}.review-table{border-collapse:collapse;width:100%;font-size:.9rem}.review-table th,.review-table td{text-align:center;font-variant-numeric:tabular-nums;padding:4px 6px}.review-table thead th{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:.8rem;overflow:hidden}.review-table tbody th{text-align:left;align-items:center;gap:6px;font-weight:600;display:flex}.review-table tbody tr+tr{border-top:1px solid var(--border)}.review-accuracy td{font-size:1.15rem;font-weight:800}.review-moments ul,.review-tips ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.review-tips li{border-left:3px solid var(--accent);padding:6px 0 6px 12px;line-height:1.4}.review-moment{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.review-moment:hover,.review-moment:focus-visible{background:var(--surface-2)}.review-variation{border-left:4px solid #7c83ff;flex-direction:column;align-items:flex-start;gap:6px;display:flex}.review-variation p{margin:0}@media (min-width:900px) and (min-aspect-ratio:1){.review-panel .panel-moves{min-height:160px}}.game-panel.review-panel>.panel-moves{z-index:5;order:0;position:sticky;bottom:0;box-shadow:0 -6px 16px -10px #00000059}.game-panel.review-panel>.coach-card,.game-panel.review-panel>.review-variation{order:1}.game-panel.review-panel>.panel-info{order:2}.game-panel.review-panel>.panel-actions{order:3;position:static}@media (min-width:900px) and (min-aspect-ratio:1){.game-panel.review-panel>.panel-info{order:0}.game-panel.review-panel>.panel-moves{box-shadow:none;order:2;position:static}}.game-panel.review-panel>.review-summary{order:4}.game-panel.review-panel>.review-moments{order:5}.game-panel.review-panel>.review-tips{order:6}
