.live-hint{margin:6px 0 12px;font-weight:600}.live-hint:before{content:"";background:var(--muted);vertical-align:1px;border-radius:50%;width:9px;height:9px;margin-inline-end:8px;display:inline-block}.live-hint.still:before{background:var(--ok)}.live-hint.moving:before{background:#d4a017}.live-view{background:#000;border-radius:10px;max-width:720px;position:relative;overflow:hidden}.live-view video{object-fit:contain;width:100%;height:auto;max-height:60vh;display:block}.live-view canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.live-view:has(.zoom-tools){touch-action:pan-x pan-y}.live-view .video-tools{gap:8px;display:flex;position:absolute;bottom:10px;right:10px}.live-view .video-tools button{color:#fff;background:#0000008c;border:1px solid #fff6;border-radius:8px;min-height:0;padding:6px 10px;font-size:.95rem;line-height:1}.live-view .video-tools button.on{color:#000;background:#ffffffe6}main.broadcast-screen{max-width:none;height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));flex-direction:column;margin:0 -16px;display:flex}main.broadcast-screen #broadcast{border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;margin:0;padding:10px 12px;display:flex}#broadcast .run-head{align-items:center}#broadcast h1{margin:0;font-size:1.1rem}#broadcast .viewers{margin:2px 0 0}#broadcast .live-hint{margin:4px 0 8px;font-size:.9rem}#broadcast .live-view{flex:1;max-width:none;min-height:0}#broadcast .live-view video{object-fit:contain;width:100%;height:100%;max-height:none}#broadcast .actions{margin:8px 0 0}#broadcast .actions button{flex:1}#broadcast .status-msg{margin:6px 0 0}.check-row{cursor:pointer;align-items:flex-start;gap:10px;margin:12px 0 4px;display:flex}.check-row input{flex:none;width:auto;margin:3px 0 0}.check-row .muted{font-weight:400}#live-moves li.provisional .san{color:var(--muted);font-style:italic}.provisional-note{margin:0 0 8px;font-size:.85rem}.viewers{color:var(--muted);margin:-4px 0 6px;font-size:.9rem}.viewers:before{content:"👁 "}.share-link input{width:100%;font-size:.9rem}.topbar.wide,main.wide{max-width:1320px}.watch-view[hidden]{display:none}.watch-view{background:#000;border-radius:10px;max-width:1280px;position:relative;overflow:hidden}.watch-view canvas{object-fit:contain;width:100%;height:auto;max-height:75vh;display:block}.watch-view .video-tools{gap:8px;display:flex;position:absolute;bottom:10px;right:10px}.watch-view .video-tools button{color:#fff;background:#0000008c;border:1px solid #fff6;border-radius:8px;min-height:0;padding:6px 10px;font-size:1.15rem;line-height:1}.watch-view:fullscreen{border-radius:0;align-items:center;max-width:none;display:flex}.watch-view:fullscreen{border-radius:0;align-items:center;max-width:none;display:flex}.watch-view.fill{z-index:10;border-radius:0;align-items:center;max-width:none;display:flex;position:fixed;inset:0}.watch-view:fullscreen canvas{width:100%;height:100%;max-height:none}.watch-view:fullscreen canvas{width:100%;height:100%;max-height:none}.watch-view.fill canvas{width:100%;height:100%;max-height:none}.hls-box{width:100%;max-height:75vh;position:relative;overflow:hidden}.hls-video{object-fit:contain;background:#000;position:absolute;top:50%;left:50%}.watch-view:fullscreen .hls-box{height:100%;max-height:none;aspect-ratio:auto!important}.watch-view:fullscreen .hls-box{height:100%;max-height:none;aspect-ratio:auto!important}.watch-view.fill .hls-box{height:100%;max-height:none;aspect-ratio:auto!important}.watch-placeholder{aspect-ratio:16/9;color:#3a4a42;place-items:center;font-size:3rem;display:grid}.watch-placeholder.over{aspect-ratio:auto;position:absolute;inset:0}.watch-placeholder.starting{background:var(--accent-soft);color:var(--accent);align-content:center;gap:8px}.watch-placeholder p{text-align:center;margin:0;padding:0 16px;font-size:1.1rem;font-weight:600}.watch-placeholder button{justify-self:center;font-size:1rem}.watch-with-board{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.watch-board{justify-items:center;gap:8px;min-width:0;display:grid}.watch-board .moves{align-content:start;width:100%;max-height:40vh;margin:0;overflow-y:auto}.watch-board .moves li.current .san{color:var(--accent)}.watch-board-note{text-align:center;margin:0;font-size:.85rem}.watch-board .move-jump{min-height:0;color:inherit;font-weight:inherit;text-align:left;background:0 0;border:none;border-radius:4px;align-items:baseline;gap:8px;padding:1px 4px;display:inline-flex}.watch-board .move-jump:hover,.watch-board .moves li.current .move-jump{background:var(--accent-soft)}.watch-board-nav,.watch-board-actions{flex:none;width:min(100%,360px)}.watch-board-nav{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,2fr);display:grid;overflow:hidden}.watch-board-nav button{background:var(--surface);border:none;border-radius:0;min-height:30px;padding:0;font-size:1.05rem;line-height:1}.watch-board-nav button+button{border-left:1px solid var(--border)}.watch-board-nav button:hover:not(:disabled){background:var(--accent-soft)}.watch-board-nav button:disabled{opacity:.35}.watch-board-nav button.back-to-live{font-size:.82rem}.watch-board-nav button.back-to-live:disabled{opacity:1;color:var(--muted)}.watch-board-nav button.back-to-live.primary{background:var(--accent);color:var(--accent-text)}.watch-board-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.watch-board-actions button,.watch-board-actions .button{min-height:30px;color:var(--muted);white-space:nowrap;background:0 0;border-radius:8px;padding:2px 6px;font-size:.82rem}.watch-board-actions button:hover,.watch-board-actions .button:hover{background:var(--accent-soft);color:var(--text)}.watch-board .pgn{box-sizing:border-box;width:100%;margin:0}@media (width<=860px){.watch-with-board{grid-template-columns:minmax(0,1fr)}.watch-board .moves{max-height:30vh}}@media (width>=861px){.watch-with-board:not(.full) .watch-board{contain:size;flex-direction:column;align-self:stretch;align-items:center;min-height:470px;display:flex}.watch-with-board:not(.full) .watch-board>*{flex:none}.watch-with-board:not(.full) .watch-board .moves{flex:1 1 0;min-height:0;max-height:none}}.watch-with-board.board-only{grid-template-columns:minmax(0,1fr)}.watch-with-board.board-only .watch-board{contain:none;grid-template-rows:minmax(0,1fr) auto auto auto;grid-template-columns:min(100%,520px,72vh) minmax(0,420px);justify-content:start;place-items:start stretch;gap:10px 24px;min-height:0;display:grid}.watch-with-board.board-only .watch-board .board{grid-area:1/1/-1;width:100%}.watch-with-board.board-only .watch-board>:not(.board){grid-column:2}.watch-with-board.board-only .watch-board .moves{contain:size;align-self:stretch;max-height:none;font-size:1.05rem}.watch-with-board.board-only .watch-board-nav,.watch-with-board.board-only .watch-board-actions{width:100%}@media (width<=760px){.watch-with-board.board-only .watch-board{grid-template-rows:none;grid-template-columns:minmax(0,1fr);justify-items:center}.watch-with-board.board-only .watch-board .board{grid-row:auto;width:min(100%,520px)}.watch-with-board.board-only .watch-board>:not(.board){grid-column:1}.watch-with-board.board-only .watch-board .moves{contain:none;max-width:520px;max-height:45vh}.watch-with-board.board-only .watch-board-nav,.watch-with-board.board-only .watch-board-actions{width:min(100%,520px)}}.watch-with-board.full{box-sizing:border-box;background:#000;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) min(36vw,70vh,420px);align-items:center;gap:10px;height:100dvh;padding:10px}.watch-with-board.fill{z-index:10;position:fixed;inset:0}.watch-with-board.full .watch-view{border-radius:0;align-items:center;max-width:none;height:100%;display:flex}.watch-with-board.full .hls-box{height:100%;max-height:none;aspect-ratio:auto!important}.watch-with-board.full canvas{width:100%;height:100%;max-height:none}.watch-with-board.full .watch-board{color:#e8ece9;box-sizing:border-box;background:#1c2320;border-radius:10px;flex-direction:column;align-items:center;max-height:100%;padding:10px;display:flex;overflow:hidden}.watch-with-board.full .watch-board .muted{color:#9aa6a0}.watch-with-board.full .watch-board .board{border-color:#2c3531;flex:none;width:min(100%,52vh)}.watch-with-board.full .watch-board .moves{flex:auto;width:100%;min-height:0;max-height:none;font-size:.95rem;line-height:1.5;display:block;-webkit-mask-image:linear-gradient(#0000,#000 1.4em);mask-image:linear-gradient(#0000,#000 1.4em)}.watch-with-board.full .watch-board .moves li{white-space:nowrap;margin-right:.45em;display:inline-block}.watch-with-board.full .watch-board .moves .num{color:#9aa6a0;min-width:0;margin-right:.2em}.watch-with-board.full .watch-board .moves .san{font-weight:600}.watch-with-board.full .watch-board .moves li.current .san{color:#1d2420;background:#e8c95a;border-radius:4px;padding:0 3px}.watch-with-board.full .watch-board>:not(.board):not(.moves){flex:none}.watch-with-board.full .watch-board-actions,.watch-with-board.full .watch-board .pgn{display:none}.watch-with-board.full .watch-board-nav{border-color:#3a4540}.watch-with-board.full .watch-board-nav button:not(.primary){color:#e8ece9;background:#2c3531;border-color:#3a4540}.watch-with-board.full .watch-board-nav button.primary{color:#1d2420;background:#e8c95a}.watch-with-board.full .watch-board .move-jump{gap:0;padding:0 2px}.watch-with-board.full .watch-board .move-jump:hover{background:#2c3531}.watch-with-board.full .watch-board .moves li.current .move-jump{background:0 0}.watch-with-board.full.board-hidden{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.watch-with-board.full.board-hidden .watch-board{display:none}.watch-view .video-tools button.on{color:#000;background:#ffffffe6}@media (orientation:portrait){.watch-with-board.full{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch}.watch-with-board.full .watch-board{grid-template-columns:min(46vw,34vh) minmax(0,1fr);place-items:start stretch;display:grid}.watch-with-board.full .watch-board .board{width:100%}.watch-with-board.full .watch-board .moves{max-height:min(46vw,34vh)}.watch-with-board.full .watch-board>:not(.board):not(.moves){grid-column:2}}.watch-view{--clock-bar:54px}.watch-clocks{height:var(--clock-bar);box-sizing:border-box;color:#e8ece9;font-variant-numeric:tabular-nums;background:#0d1210;border-top:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;padding:0 12px;font-size:16px;display:grid}.clock-side{align-items:center;gap:10px;min-width:0;display:flex}.clock-side.black,.clock-side.black .clock-who{flex-direction:row-reverse}.clock-who{flex:auto;align-items:center;gap:.6em;min-width:0;display:flex}.clock-disc{border-radius:50%;flex:none;width:.75em;height:.75em}.clock-side.white .clock-disc{background:#f4f1ea}.clock-side.black .clock-disc{background:#1d2420;box-shadow:inset 0 0 0 1.5px #fff9}.clock-name{text-overflow:ellipsis;white-space:nowrap;color:#b9c4be;flex:auto;min-width:0;font-size:.95em;font-weight:600;transition:color .2s;overflow:hidden}.clock-side.black .clock-name{text-align:right}.clock-side.running .clock-name{color:#fff}.clock-time{text-align:center;letter-spacing:.01em;color:#fffc;background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;flex:none;min-width:4.4ch;padding:.2em .6em;font-size:1.4em;font-weight:700;line-height:1.2}.clock-side.running .clock-time{color:#0b1f14;background:#6fc593;border-color:#6fc593;box-shadow:0 0 0 3px #6fc59333}.clock-side.low .clock-time{color:#fff;box-shadow:none;background:#c0392b;border-color:#c0392b}.clock-side.low.running .clock-time{animation:1s ease-in-out infinite clock-low}@keyframes clock-low{50%{box-shadow:0 0 0 4px #d9534f66}}.watch-clocks.paused .clock-time,.watch-clocks.ended .clock-time,.watch-clocks.stale .clock-time{opacity:.6}.clock-middle{color:#9aa6a0;place-items:center;height:100%;font-size:.85em;display:grid}.clock-middle:empty:before{content:"";background:#ffffff24;width:1px;height:45%}@media (prefers-reduced-motion:no-preference){.clock-time{transition:background-color .2s,color .2s,border-color .2s,opacity .2s}}@media (prefers-reduced-motion:reduce){.clock-side.low.running .clock-time{animation:none}}.watch-view.with-clocks .video-tools{bottom:calc(var(--clock-bar) + 10px)}.watch-view.with-clocks:fullscreen{--clock-bar:64px;flex-direction:column;align-items:stretch}.watch-view.with-clocks:fullscreen{--clock-bar:64px;flex-direction:column;align-items:stretch}.watch-view.with-clocks.fill,.watch-with-board.full .watch-view.with-clocks{--clock-bar:64px;flex-direction:column;align-items:stretch}.watch-view.with-clocks:fullscreen .hls-box{flex:1 1 0;height:auto;min-height:0}.watch-view.with-clocks:fullscreen .hls-box{flex:1 1 0;height:auto;min-height:0}.watch-view.with-clocks.fill .hls-box,.watch-with-board.full .watch-view.with-clocks .hls-box{flex:1 1 0;height:auto;min-height:0}.watch-view.with-clocks:fullscreen canvas{flex:1 1 0;height:auto;min-height:0}.watch-view.with-clocks:fullscreen canvas{flex:1 1 0;height:auto;min-height:0}.watch-view.with-clocks.fill canvas,.watch-with-board.full .watch-view.with-clocks canvas{flex:1 1 0;height:auto;min-height:0}.watch-view.with-clocks:fullscreen .watch-clocks{flex:none;font-size:19px}.watch-view.with-clocks:fullscreen .watch-clocks{flex:none;font-size:19px}.watch-view.with-clocks.fill .watch-clocks,.watch-with-board.full .watch-view.with-clocks .watch-clocks{flex:none;font-size:19px}@media (width<=520px){.watch-view{--clock-bar:66px}.watch-clocks{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);padding:0 10px;font-size:14px}.clock-side{flex-direction:column;align-items:flex-end;gap:4px}.clock-side.black{flex-direction:column;align-items:flex-start}.clock-who{flex:none;max-width:100%;font-size:.9em}.clock-side.white .clock-who{flex-direction:row-reverse}.clock-side.black .clock-who{flex-direction:row}.clock-side.black .clock-name{text-align:left}}.probe-results{border-collapse:collapse;width:100%;margin:12px 0;font-size:.92rem}.probe-results th{text-align:left;vertical-align:top;white-space:nowrap;color:var(--muted);padding:6px 12px 6px 0}.probe-results td{overflow-wrap:anywhere;padding:6px 0}:root{--bg:#f4f1ea;--surface:#fff;--text:#1d2420;--muted:#5f6a64;--border:#dcd6c8;--accent:#1f3a2e;--accent-text:#fff;--accent-soft:#e3ece6;--warn-bg:#fff4d6;--warn-text:#6b4e00;--error:#b3261e;--ok:#1e7a45;--inaccuracy:#2f7fb3;--mistake:#b86e00;--blunder:#c62f2f;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#131815;--surface:#1c2320;--text:#e8ece9;--muted:#9aa6a0;--border:#2e3833;--accent:#8fc4a5;--accent-text:#0f1a14;--accent-soft:#23312a;--warn-bg:#3a3218;--warn-text:#f1d98a;--error:#ff8a80;--ok:#7fd3a1;--inaccuracy:#7cc1ec;--mistake:#f0b04a;--blunder:#ff8076;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);padding:env(safe-area-inset-top,0) 16px env(safe-area-inset-bottom,0);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.topbar,main{max-width:1040px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;padding:14px 0;display:flex}.brand{color:var(--text);letter-spacing:.01em;font-size:1.15rem;font-weight:700;text-decoration:none}.brand:before{content:"♞ ";color:var(--accent)}h1{margin:0 0 6px;font-size:1.35rem}h2{margin:24px 0 10px;font-size:1.1rem}.card h2{margin-top:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px}.card.narrow{max-width:420px;margin:40px auto}label{margin:12px 0 6px;font-weight:600;display:block}input[type=password],select,textarea{width:100%;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px}textarea{margin-top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}button,.button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button:disabled{opacity:.55;cursor:default}button.busy:disabled{opacity:1;cursor:progress}.spinner{vertical-align:-.15em;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;margin-right:.55em;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}button.link{color:var(--muted);background:0 0;border:none;min-height:auto;padding:6px 0;font-weight:500}button.danger{color:var(--error)}form button.primary{width:100%;margin-top:16px}.file-drop{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:4px;margin:12px 0;padding:24px 12px;font-weight:400;display:flex}.file-drop:hover,.file-drop:focus-within{border-color:var(--accent)}.file-drop.dragging{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.drop-hint{display:none}@media (hover:hover) and (pointer:fine){.drop-hint{display:inline}}.file-drop-title{color:var(--accent);font-weight:700}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.options summary{cursor:pointer;color:var(--muted)}.upload-title{overflow-wrap:anywhere;margin:4px 0 0;font-weight:600}.progress{background:var(--accent-soft);border-radius:999px;height:10px;margin-top:14px;overflow:hidden}.progress-bar{background:var(--accent);width:0;height:100%;transition:width .4s}.progress-text{font-variant-numeric:tabular-nums;margin:8px 0 0}.note{background:var(--accent-soft);border-radius:10px;padding:10px 12px;font-size:.9rem}.muted{color:var(--muted)}.center{text-align:center}.error{color:var(--error);margin:10px 0 0}.run-filters{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.run-filters input[type=search]{flex:240px;width:auto}.run-filters select{flex:auto;width:auto}.run-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.run-table{border-collapse:collapse;width:100%}.run-table th,.run-table td{text-align:left;vertical-align:middle;padding:12px 16px}.run-table th{color:var(--muted);border-bottom:1px solid var(--border);padding-block:8px;font-size:.82rem;font-weight:600}.run-table .num,.run-table .col-status{text-align:right}.run-table .num{font-variant-numeric:tabular-nums}.run-table .col-date,.run-table .col-size{white-space:nowrap;color:var(--muted);font-size:.92rem}.run-table tbody tr{cursor:pointer}.run-table tbody tr+tr td{border-top:1px solid var(--border)}.run-table tbody tr:hover{background:var(--bg)}.run-table tr.empty{cursor:default}.run-table tr.empty:hover{background:0 0}.run-table tr.static{cursor:default}.run-table tr.static:hover{background:0 0}.run-table a.run-name{color:inherit;text-decoration:none}.run-table a.run-name:hover{text-decoration:underline}button.sort{min-height:auto;font:inherit;color:inherit;background:0 0;border:none;gap:4px;padding:0}button.sort:hover{color:var(--text)}.sort-mark{min-width:.7em;display:inline-block}.run-table .col-lichess{width:1%;padding-left:0}.lichess-links{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.button.lichess-link{white-space:nowrap;min-height:32px;padding:4px 12px;font-size:.88rem}.button.lichess-link[aria-disabled=true]{pointer-events:auto;cursor:help}.run-count{margin:8px 2px 0;font-size:.88rem}.narrow-only{display:none}@media (width<=600px){.run-table .col-date,.run-table .col-size{display:none}.run-table th,.run-table td{padding-inline:12px}.narrow-only{display:block}}.run-name{overflow-wrap:anywhere;font-weight:600}.run-sub{color:var(--muted);font-size:.88rem}.pill{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:.8rem;font-weight:700}.pill.succeeded{color:var(--ok)}.pill.failed{color:var(--error);border:1px solid var(--error);background:0 0}.run-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.back{color:var(--muted);text-decoration:none}.warnings{gap:8px;margin:10px 0;padding:0;list-style:none;display:grid}.warnings li{background:var(--warn-bg);color:var(--warn-text);border-radius:10px;padding:8px 12px;font-size:.92rem}.warnings li.shown{outline:2px solid var(--warn-text);outline-offset:1px}.moves li.doubtful{background:var(--warn-bg);color:var(--warn-text);border-radius:6px}.moves li.doubtful .san{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.moves li.doubtful .num,.moves li.doubtful .t{color:var(--warn-text)}.doubt-mark{color:var(--warn-text);cursor:pointer;vertical-align:.1em;background:0 0;border:none;min-height:0;padding:0 0 0 3px;font-size:.75em;font-weight:400;line-height:1}.actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.moves{font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;max-width:560px;margin:12px 0;padding:0;list-style:none;display:grid}.moves li{flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0;display:flex}.moves .num{color:var(--muted);text-align:right;min-width:2.2em}.moves .san{font-weight:600}.moves .t{color:var(--muted);margin-left:auto;font-size:.8rem}.moves li.black .num{display:none}.moves li.full-row{grid-column:1/-1}.editor{border-top:1px solid var(--border);margin-top:14px;padding-top:4px}.editor-body{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.editor-controls{flex:240px;gap:12px;display:grid}.editor-caption{margin:0;font-weight:600}.control-label{color:var(--muted);margin-bottom:4px;font-size:.9rem;display:block}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row select{flex:1;min-width:0}button.danger:not(.link){color:var(--error);border-color:var(--error);background:0 0}.board{aspect-ratio:1;border:1px solid var(--border);border-radius:6px;flex:none;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,320px);display:grid;overflow:hidden}.sq{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-width:0;min-height:0;line-height:1;display:flex;overflow:hidden}.sq .piece{pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.sq.light{background:#ebe6d8}.sq.dark{background:#8da587}.sq.hl{box-shadow:inset 0 0 0 100px #f6cd468c}.board.clickable .sq{cursor:pointer}.sq.sel{box-shadow:inset 0 0 0 3px var(--accent), inset 0 0 0 100px #f6cd4659}.moves .move-btn{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:flex-start;align-items:baseline;gap:8px;width:100%;min-height:0;padding:4px 6px;font-weight:400;display:flex}.moves .move-btn:hover{border-color:var(--border)}.moves .move-btn.selected{border-color:var(--accent);background:var(--accent-soft)}.moves .invalid .san{color:var(--error);text-decoration:line-through}.moves .added .t{font-style:italic}.button[aria-disabled=true]{opacity:.55;pointer-events:none}.account{align-items:center;gap:12px;display:flex}.nav-link{color:var(--muted);font-size:.95rem;text-decoration:none}.nav-link:hover{color:var(--text)}#whoami{font-size:.9rem}input[type=text],input[type=search]{width:100%;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px}#rename-form{margin:8px 0}#rename-form input{flex:1;min-width:0}#rename-form button{flex:none;width:auto;margin-top:0}#rename{padding:0}.run-file{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.tabs{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:0;width:fit-content;max-width:100%;margin:8px 0 6px;display:flex;overflow:hidden}.tabs button{border:none;border-radius:0;flex:auto;min-height:40px;font-weight:500}.tabs button+button{border-inline-start:1px solid var(--border)}.tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-text);font-weight:700}.draft-bar{background:var(--warn-bg);color:var(--warn-text);border-radius:10px;gap:8px;margin:10px 0;padding:10px 12px;display:grid}.draft-bar p{margin:0;font-weight:600}.correction-panel{border-top:1px solid var(--border);gap:10px;margin-top:12px;padding-top:4px;display:grid}.correction-panel textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.pill.corrected{color:var(--ok)}.feedback{border-top:1px solid var(--border);gap:8px;margin:12px 0;padding-top:10px;display:grid}.feedback-text{margin:0;font-weight:600}.feedback-mine{justify-content:space-between;align-items:baseline}.feedback-list{margin:0;padding-inline-start:20px;font-size:.92rem}.feedback-note{gap:8px;display:grid}.score-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.score-btn{text-align:center;gap:2px;padding:8px 6px;font-weight:500;display:grid}.score-btn .score-detail{color:var(--muted);font-size:.8rem}.score-btn[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.score-btn[aria-pressed=true] .score-detail{color:inherit}@media (width<=560px){.score-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.feedback-details{text-align:start;justify-self:start}.feedback-pgn{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.dataset{gap:8px;margin:0 0 12px;display:grid}.dataset-added{justify-content:space-between;align-items:baseline}.dataset-text{margin:0;font-weight:600}.dataset-text:before{content:"📚 "}.dataset-panel{border:1px solid var(--border);border-radius:10px;gap:10px;padding:10px 12px;display:grid}.dataset-panel fieldset{border:none;gap:6px;margin:0;padding:0;display:grid}.dataset-panel legend{margin-bottom:4px;padding:0;font-weight:600}.dataset-panel textarea[dir=ltr]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.game-photo{margin:4px 0 12px}.game-photo-open{cursor:zoom-in;background:0 0;border:0;min-height:0;padding:0;display:inline-block}.game-photo img,.game-photo canvas{border-radius:10px;width:auto;max-width:100%;height:auto;max-height:340px;display:block}.game-photo-caption{margin-top:6px;font-size:.85rem}.moves .photo-link{min-height:0;font:inherit;color:var(--accent);cursor:zoom-in;white-space:nowrap;background:0 0;border:0;padding:0 4px;font-size:.8rem}.moves .photo-link:hover{text-decoration:underline}.photo-viewer{border-radius:var(--radius);box-sizing:border-box;background:var(--surface);width:min(96vw,1300px);max-width:none;color:var(--text);border:0;padding:12px}.photo-viewer::backdrop{background:#000000bf}.photo-stage{justify-content:center;align-items:center;height:74vh;display:flex}.photo-viewer img,.photo-viewer canvas{border-radius:8px;min-width:0;max-width:100%;min-height:0;max-height:100%;display:block}.photo-viewer p{margin:10px 0;font-weight:600}.status-msg{background:var(--accent-soft);color:var(--ok);border-radius:10px;margin:8px 0;padding:8px 12px;font-weight:600}.moves .eval-mark{min-height:0;font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;gap:2px;padding:0 3px;font-size:.78rem;font-weight:500;display:inline-flex}.moves button.eval-mark:hover{background:var(--accent-soft)}.moves .eval-glyph{font-weight:800}.moves .eval-mark.inaccuracy,.verdict-class.inaccuracy,.critical-btn.inaccuracy{color:var(--inaccuracy)}.moves .eval-mark.mistake,.verdict-class.mistake,.critical-btn.mistake{color:var(--mistake)}.moves .eval-mark.blunder,.verdict-class.blunder,.critical-btn.blunder{color:var(--blunder)}.moves .eval-mark.critical .eval-value{text-underline-offset:2px;text-decoration:underline}.engine-panel,.coach-panel{border-top:1px solid var(--border);margin-top:12px;padding-top:4px}.coach-panel p{margin:0}.coach-panel .coach-intro{margin-bottom:10px}.coach-sides{gap:8px}.coach-sides button.selected{border-color:var(--accent);background:var(--accent-soft)}.coach-body{gap:10px;display:grid}.coach-overview{line-height:1.5}.coach-moments{gap:12px;margin:0;padding:0;list-style:none;display:grid}.coach-moment{border-inline-start:3px solid var(--accent-soft);gap:6px;padding-inline-start:12px;line-height:1.5;display:grid}.coach-moment-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.coach-next-time{font-weight:600}.coach-takeaways{gap:4px;margin:0;padding-inline-start:20px;line-height:1.5;display:grid}.coach-question{border-top:1px dashed var(--border);gap:8px;padding-top:10px;display:grid}.coach-ask{gap:6px;display:grid}.coach-ask textarea{margin-top:0;font-family:inherit;font-size:1rem}.coach-ask button.primary{width:auto;margin-top:0}.coach-review{gap:10px;display:grid}.coach-panel .coach-asked{gap:2px;font-style:italic;display:grid}.coach-answer{line-height:1.5}.coach-hint{font-size:.88rem}.coach-panel .coach-status{margin:4px 0}.coach-panel .coach-error{margin-top:8px}.engine-title{margin:10px 0;font-size:1rem}.engine-status p{margin:0}.engine-body{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.engine-board{flex:0 auto;align-items:stretch;gap:6px;width:min(100%,346px);display:flex}.engine-board .board{width:calc(100% - 26px)}.eval-bar{border:1px solid var(--border);background:#3b3b38;border-radius:4px;flex:0 0 20px;position:relative;overflow:hidden}.eval-bar-white{background:#f4f2ec;transition:height .25s;position:absolute;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.eval-bar-white{transition:none}}.eval-bar-text{text-align:center;writing-mode:vertical-rl;font-size:.55rem;font-weight:700;line-height:20px;position:absolute;left:0;right:0;transform:rotate(180deg)}.eval-bar-text.low{color:#2a2a2a;bottom:4px}.eval-bar-text.high{color:#f4f2ec;top:4px}.engine-side{flex:240px;gap:10px;min-width:0;display:grid}.engine-nav{flex-wrap:wrap}.engine-nav button{min-height:36px;padding:4px 12px}.engine-at{text-align:center;font-variant-numeric:tabular-nums;min-width:6em;font-weight:600}.verdict{gap:4px;display:grid}.verdict p{margin:0}.verdict-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.verdict-move{font-weight:700}.verdict-class{font-weight:600}.verdict-critical{border:1px solid;border-radius:999px;padding:0 8px;font-size:.8rem;font-weight:600}.engine-summary{flex-wrap:wrap;gap:4px 16px;margin:0;font-size:.92rem;display:flex}.critical-moments .row{gap:6px}.critical-btn{font-variant-numeric:tabular-nums;min-height:32px;padding:4px 10px;font-weight:600}.critical-btn.selected{border-color:var(--accent);background:var(--accent-soft)}.engine-credit{margin:0;font-size:.8rem}.editor-body .engine-board{flex:none}.operator{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;margin-top:16px;display:grid}.operator-board{justify-items:stretch;gap:10px;display:grid}.operator-board .board{width:100%}.operator-board .moves{max-height:40vh;margin:0;overflow-y:auto}.operator-board .row input{flex:1;min-width:0}.operator-chester{margin:0;font-size:.85rem}@media (width<=900px){.operator{grid-template-columns:minmax(0,1fr)}}
