:root{--text:#6b6375;--text-h:#08060d;--bg:#fdfcfe;--border:#e5e4e7;--code-bg:#f4f3ec;--surface:#fff;--surface-2:#f6f5fa;--accent:#7c3aed;--accent-strong:#6d28d9;--accent-bg:#7c3aed1a;--accent-border:#7c3aed59;--accent-contrast:#fff;--social-bg:#f4f3ec80;--danger:#c0293e;--danger-bg:#c0293e14;--danger-border:#c0293e40;--success:#16874f;--success-bg:#16874f1a;--shadow:#140a280f 0 1px 2px, #140a2814 0 8px 24px -8px;--radius-lg:16px;--radius-md:10px;--radius-sm:7px;--chart-blue:#2a78d6;--chart-orange:#eb6834;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#a7abb8;--text-h:#f3f4f6;--bg:#111219;--border:#2c2e38;--code-bg:#1f2028;--surface:#191a22;--surface-2:#20222c;--accent:#a879ff;--accent-strong:#b794ff;--accent-bg:#a879ff29;--accent-border:#a879ff66;--accent-contrast:#16121f;--social-bg:#2f303a80;--danger:#ff7a8a;--danger-bg:#ff7a8a24;--danger-border:#ff7a8a59;--success:#4ade80;--success-bg:#4ade8024;--shadow:#00000073 0 1px 2px, #0006 0 12px 28px -10px;--chart-blue:#3987e5;--chart-orange:#d95926}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.board{border-radius:var(--radius-md);box-shadow:var(--shadow);background:#1c3fa8;flex-direction:column;gap:6px;padding:10px;display:inline-flex}.board-row{gap:6px;display:flex}.board-cell{cursor:default;background:#0e2570;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;padding:0;display:flex}.board-cell:enabled{cursor:pointer}.board-cell:enabled:hover .token{outline:2px solid #fff9}.token{background:0 0;border-radius:50%;width:46px;height:46px;transition:background-color .15s}.player-1 .token{background:#f5c518}.player-2 .token{background:#e0393e}.player-config-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;flex-direction:column;flex:210px;gap:10px;min-width:210px;padding:1rem 1.1rem;display:flex}.player-config-panel h3{color:var(--text-h);margin:0 0 2px;font-size:.95rem;font-weight:700}.tournament-controls{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:14px;margin-bottom:1rem;display:flex}.num-games-field{width:140px}.num-games-field input{text-align:center}.tournament-result{border-top:1px solid var(--border);color:var(--text-h);flex-direction:column;align-items:center;gap:4px;margin-top:1rem;padding-top:1rem;font-size:.9rem;display:flex}.training-chart{margin-bottom:1.25rem}.training-chart-legend{color:var(--text);justify-content:center;gap:16px;margin-bottom:6px;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-key{border-radius:1px;flex:none;width:12px;height:2px}.training-chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-gridline{stroke:var(--border);stroke-width:1px}.chart-crosshair{stroke:var(--text);stroke-width:1px;opacity:.35}.chart-tick-label{fill:var(--text);font-size:10px}.chart-tooltip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);color:var(--text-h);pointer-events:none;padding:6px 9px;font-size:11px;line-height:1.5}.chart-tooltip-title{color:var(--text-h);margin-bottom:2px;font-weight:700}.chart-tooltip-row{white-space:nowrap;align-items:center;gap:6px;display:flex}.chart-tooltip-name{color:var(--text);flex:1}.run-id-row{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:12px;margin-bottom:1.25rem;display:flex}.run-id-field{width:220px}.training-status{color:var(--text);text-align:center;margin-bottom:.75rem;font-size:.9rem}.training-status strong{color:var(--text-h)}.training-actions{margin-bottom:1.25rem}.training-log{text-align:left;overflow-x:auto}.training-log summary{cursor:pointer;color:var(--text);text-align:center;margin-bottom:.5rem;font-size:.85rem}.training-log[open] summary{margin-bottom:.75rem}.app{text-align:center;max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 5rem}.app-header{margin-bottom:2rem}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:999px;margin-bottom:.75rem;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-block}.app-header h1{margin:.1em 0 .3em}.subtitle{color:var(--text);font-size:1.05rem}.app-sections{text-align:left;flex-direction:column;gap:1.75rem;display:flex}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center;padding:1.75rem}.section-card h2{margin-bottom:1.25rem}.section-subtitle{color:var(--text);margin:-.75rem 0 1.25rem;font-size:.9rem}.btn{height:40px;font:inherit;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-h);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:.92rem;font-weight:600;transition:background-color .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-contrast)}.btn-sm{border-radius:var(--radius-sm);height:32px;padding:0 12px;font-size:.8rem}.btn-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.field{color:var(--text);text-align:left;flex-direction:column;gap:5px;font-size:.82rem;display:flex}.field select,.field input[type=number],.field input[type=text]{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);height:38px;color:var(--text-h);padding:0 10px;font-size:.92rem}.field select:focus,.field input:focus{outline:2px solid var(--accent-border);outline-offset:1px}.checkbox-field{flex-direction:row;align-items:center;gap:8px}.checkbox-field input{width:16px;height:16px}.error-banner{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:10px 16px;font-size:.9rem}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table th{text-align:center;color:var(--text);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:8px 12px;font-size:.75rem;font-weight:600}.data-table td{text-align:center;border-bottom:1px solid var(--border);color:var(--text-h);padding:7px 12px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tr.promoted td{color:var(--success);font-weight:600}.data-table .ia-name-cell{text-align:left;font-family:var(--mono);font-size:.82rem}.config-row{flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.game-controls{flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.game-status{color:var(--text);font-size:.9rem}.board-wrap{justify-content:center;display:flex}@media (width<=640px){.app{padding:1.5rem .85rem 3rem}.section-card{padding:1.25rem}}
