:root{color-scheme:light}*{box-sizing:border-box}body{font-family:Segoe UI,system-ui,sans-serif;max-width:720px;margin:40px auto;padding:0 16px;background:#f6f4ef;color:#23211c}h1{font-size:1.4rem}h1 .pawn{opacity:.6}.card{background:#fffdf8;border:1px solid #ddd8cc;border-radius:10px;padding:20px;margin-top:16px;box-shadow:0 1px 3px #0000000f}label{display:block;margin:12px 0 4px;font-weight:600}input[type=text],input[type=password],select{width:100%;padding:8px 10px;border:1px solid #c8c2b4;border-radius:6px;font-size:1rem;background:#fff;color:#23211c}button{margin-top:16px;padding:10px 22px;font-size:1rem;border:0;border-radius:6px;background:#4a6b3a;color:#fff;cursor:pointer}button:disabled{background:#a8a396;cursor:default}button.secondary{background:#7a7364}button.linklike{margin:0;padding:0;background:none;border:0;color:#7a7364;text-decoration:underline;font-size:1rem;cursor:pointer}.error{color:#a03030;margin-top:10px;min-height:1.2em}.muted{color:#7a7364;font-size:.9rem}progress{width:100%;height:18px;margin-top:12px}.progress-row{display:flex;align-items:center;gap:10px}.progress-row progress{flex:1;min-width:0}.progress-row .eta{margin-top:12px;white-space:nowrap}.status{margin-top:8px;min-height:1.4em}.estimate{margin-top:10px}.spent{margin-top:4px}.failed{color:#a03030}.topbar{display:flex;justify-content:space-between;align-items:baseline}.jobs-panel-title{font-size:1rem;font-weight:600;margin:0 0 12px}.jobs-table{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr auto;gap:0;font-size:.875rem}.jobs-head,.jobs-row{display:contents}.jobs-head>span{padding:4px 8px 6px;font-weight:600;color:#7a7364;font-size:.8rem;border-bottom:1px solid #ddd8cc}.jobs-row>span{padding:7px 8px;border-bottom:1px solid #f0ece2;display:flex;align-items:center;overflow:hidden;cursor:pointer}.jobs-row:hover>span{background:#f7f4ed}.jobs-filename{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jobs-dl{display:inline-block;padding:2px 8px;border-radius:4px;background:#4a6b3a;color:#fff;font-size:.8rem;text-decoration:none;font-weight:600}.jobs-dl:hover{background:#3a5430}.jobs-actions{gap:6px}.jobs-del{margin:0;padding:2px 8px;border-radius:4px;cursor:pointer;background:none;color:#a03030;font-size:.8rem;font-weight:600;border:1px solid #d8c8c0;line-height:1.3}.jobs-del:hover{background:#f3e2de}.jobs-del:disabled{background:none;color:#a8a396;border-color:#ddd8cc;cursor:default}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge-done{background:#d4edda;color:#2e6b3e}.badge-running{background:#d1ecf1;color:#1a6070}.badge-failed{background:#f8d7da;color:#842029}.badge-muted{background:#e8e4dc;color:#6b6458}.preview-card{width:min(calc(100vw - 32px),1100px);margin-left:50%;transform:translate(-50%)}.preview-columns{display:flex;gap:14px;align-items:flex-start}.game-list{flex:0 0 250px;max-height:520px;overflow-y:auto;border:1px solid #ddd8cc;border-radius:6px;background:#fff}.game-list button{display:block;width:100%;margin:0;padding:6px 10px;background:none;border:0;border-radius:0;color:inherit;font-size:.88rem;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-list button:hover{background:#f1ede2}.game-list button.selected{background:#4a6b3a;color:#fff}.game-list .tick{display:inline-block;width:1.1em;color:#4a6b3a}.game-list button.selected .tick{color:#fff}.game-list button.failed:not(.selected){color:#a03030}.game-list button.failed:not(.selected) .tick{color:#a03030}.game-view{flex:1;min-width:0}.board-preview{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px;outline:none}.board-preview:focus-visible{box-shadow:0 0 0 2px #4a6b3a55;border-radius:6px}.board-square{flex:0 0 300px;width:300px}.board-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.board-controls{display:flex;align-items:center;gap:6px}.board-controls button{margin:0;padding:4px 12px;font-size:.95rem;background:#7a7364;line-height:1.3}.board-controls button:disabled{background:#d9d4c8}.board-controls .muted{margin-left:6px;white-space:nowrap}.board-moves{max-height:170px;overflow-y:auto;padding:6px 8px;border:1px solid #ddd8cc;border-radius:6px;background:#fff;font-size:.85rem;line-height:1.7}.board-moves button{margin:0;padding:1px 4px;border-radius:4px;background:none;border:0;color:inherit;font-size:inherit;font-family:inherit;cursor:pointer;white-space:nowrap}.board-moves button:hover{background:#f1ede2}.board-moves button.current{background:#4a6b3a;color:#fff}.board-moves .move-no{color:#7a7364;margin-right:2px}.board-moves button.current .move-no{color:#d8e4cc}.board-comment{padding:8px 10px;border:1px solid #ddd8cc;border-radius:6px;background:#fbfaf5;font-size:.9rem;line-height:1.45;max-height:130px;overflow-y:auto}.board-truncated{font-size:.8rem}@media(max-width:760px){.board-preview{flex-direction:column}.board-square{flex:none;width:100%;max-width:340px}}.pgn-view{max-height:520px;overflow-y:auto;padding:10px 12px;border:1px solid #ddd8cc;border-radius:6px;background:#fff;font-family:Consolas,Courier New,monospace;font-size:.85rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.hl-comment{background:#dcebc4;border-radius:3px}.hl-skipped{background:#efe9db;color:#7a7364;border-radius:3px}.pairs{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:12px;border:1px solid #ddd8cc;border-radius:6px;background:#ddd8cc;overflow:hidden;font-size:.9rem}.pairs>div{background:#fff;padding:7px 10px}.pairs>.head{background:#f1ede2;font-weight:600}.no-pairs{margin-top:12px}.game-error{margin-bottom:12px;padding:10px 12px;border:1px solid #e0b4b4;border-radius:6px;background:#fbecec;color:#7a2e2e;font-size:.9rem;line-height:1.45}.game-error-detail{margin-top:8px;padding:8px 10px;background:#fff;border:1px solid #e6c9c9;border-radius:4px;font-family:Consolas,Courier New,monospace;font-size:.8rem;color:#5a2020;white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow-y:auto}@media(max-width:760px){.preview-columns{flex-direction:column}.game-list{flex:none;width:100%;max-height:200px}.game-view{width:100%}}
