.chess-loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--stone-50)}.chess-loading-screen canvas{display:block;width:180px;height:180px}.chess-loading-screen .loading-text{margin-top:28px;font-size:14px;color:var(--stone-500);letter-spacing:.02em;font-family:inherit;height:20px}.plan-session-ribbon{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--accent-primary, #3b82f6);color:#fff;font-size:13px;font-weight:500;padding:10px 20px}.plan-session-ribbon-inner{position:relative;display:flex;align-items:center;justify-content:space-between}.plan-session-ribbon-left{display:flex;flex-direction:column;gap:2px;min-width:0}.plan-session-ribbon-item{font-size:11px;opacity:.8;font-weight:400}.plan-session-ribbon-label{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-session-ribbon-center{display:flex;align-items:center;gap:10px;position:absolute;left:50%;transform:translate(-50%);width:380px}.plan-session-ribbon-progress-bar{flex:1;height:4px;background:#ffffff40;border-radius:2px;overflow:hidden}.plan-session-ribbon-progress-fill{height:100%;background:#fff;border-radius:2px;transition:width .3s ease}.plan-session-ribbon-progress-text{font-size:12px;font-weight:600;white-space:nowrap}.plan-session-ribbon-end{padding:5px 14px;border-radius:4px;font-size:12px;font-weight:500;background:#fff3;color:#fff;border:none;cursor:pointer;font-family:inherit;flex-shrink:0}.plan-session-ribbon-end:hover{background:#ffffff4d}@media(max-width:500px){.plan-session-ribbon{padding:8px 12px}.plan-session-ribbon-inner{flex-wrap:wrap;gap:6px}.plan-session-ribbon-left{flex:1}.plan-session-ribbon-label{font-size:13px}.plan-session-ribbon-center{position:static;transform:none;width:100%;order:3}.plan-session-ribbon-end{padding:4px 10px;font-size:11px}}.plan-session-ribbon-spacer{height:52px}@media(max-width:500px){.plan-session-ribbon-spacer{height:68px}}.plan-session-continue{padding:16px 40px;border-top:1px solid var(--stone-200, #e7e5e4)}.plan-session-next-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;background:var(--accent-primary, #3b82f6);color:#fff;border:none;cursor:pointer;font-family:inherit;width:100%;justify-content:center}.plan-session-next-btn:hover{background:var(--accent-primary-hover, #2563eb)}.plan-session-countdown{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;font-size:12px;color:var(--stone-500, #78716c)}.plan-session-stop{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;background:transparent;color:var(--stone-500, #78716c);border:1px solid var(--stone-300, #d6d3d1);cursor:pointer;font-family:inherit}.plan-session-stop:hover{background:var(--stone-100, #f5f5f4);color:var(--stone-700, #44403c)}.plan-session-done{padding:16px 40px;border-top:1px solid var(--stone-200, #e7e5e4);text-align:center}.plan-session-done-title{font-size:16px;font-weight:600;color:var(--green-600, #16a34a);margin-bottom:8px}.plan-session-done-sub{font-size:13px;color:var(--stone-500, #78716c);margin-bottom:12px}.plan-session-done-btn{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;background:var(--stone-100, #f5f5f4);color:var(--stone-700, #44403c);border:1px solid var(--stone-300, #d6d3d1);cursor:pointer;font-family:inherit}.plan-session-done-btn:hover{background:var(--stone-200, #e7e5e4)}.sp-page-header-row{display:flex;align-items:flex-start;justify-content:space-between}.sp-drill-all-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:6px;font-size:13px;font-weight:600;background:var(--accent-primary, #3b82f6);color:#fff;border:none;cursor:pointer;font-family:inherit}.sp-drill-all-btn:hover:not(:disabled){background:var(--accent-primary-hover, #2563eb)}.sp-drill-all-btn:disabled{opacity:.4;cursor:not-allowed}.plan-session-inline-next{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}.plan-session-inline-next-btn{padding:8px 20px;border-radius:6px;font-size:13px;font-weight:500;background:var(--accent-primary, #3b82f6);color:#fff;border:none;cursor:pointer;font-family:inherit}.plan-session-inline-next-btn:hover{background:var(--accent-primary-hover, #2563eb)}.hsb-sidebar{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;border-right:1px solid var(--border-default);background:var(--bg-surface)}.hsb-top{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.hsb-bottom{flex-shrink:0;max-height:50%;overflow-y:auto;border-top:1px solid var(--stone-200);padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--bg-surface)}.hsb-scope-tabs{display:flex;border-bottom:1px solid var(--stone-200);flex-shrink:0}.hsb-scope-tab{flex:1;padding:10px 8px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:12px;font-weight:500;color:var(--stone-500);cursor:pointer;font-family:inherit;transition:all .15s;text-align:center}.hsb-scope-tab:hover{color:var(--stone-700)}.hsb-scope-tab.active{color:var(--stone-700);border-bottom-color:var(--accent-primary)}.hsb-toolbar{padding:10px 12px 6px;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.hsb-search-row{display:flex;gap:4px}.hsb-search{flex:1;padding:5px 8px;border:1px solid var(--stone-300);border-radius:4px;font-size:12px;font-family:inherit;color:var(--stone-700);background:var(--bg-page);box-sizing:border-box}.hsb-search:focus{outline:none;border-color:var(--accent-primary)}.hsb-search::placeholder{color:var(--stone-400)}.hsb-filter-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:1px solid var(--stone-200);border-radius:5px;color:var(--stone-400);cursor:pointer;font-size:14px;flex-shrink:0;position:relative;transition:all .15s}.hsb-filter-btn:hover{border-color:var(--stone-300);color:var(--stone-600)}.hsb-filter-btn.has-filters{border-color:var(--accent-primary);background:var(--accent-blue-bg);color:var(--accent-primary)}.hsb-filter-badge{position:absolute;top:-5px;right:-5px;width:14px;height:14px;border-radius:50%;background:var(--accent-primary);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.hsb-action-row{display:flex;gap:4px;align-items:center}.hsb-new-btn{padding:4px 10px;background:none;border:none;font-size:12px;color:var(--stone-500);cursor:pointer;font-family:inherit;transition:color .1s}.hsb-new-btn:hover{color:var(--accent-primary)}.hsb-sort-select{padding:3px 6px;border:1px solid var(--stone-200);border-radius:4px;font-size:11px;font-family:inherit;color:var(--stone-500);background:var(--bg-page)}.hsb-popover{background:var(--bg-surface-alt);border:1px solid var(--stone-200);border-radius:6px;padding:10px 12px;margin:0 12px 6px;box-shadow:var(--shadow-sm)}.hsb-popover-section{margin-bottom:8px}.hsb-popover-section:last-of-type{margin-bottom:0}.hsb-popover-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--stone-400);margin-bottom:6px}.hsb-popover-pills{display:flex;flex-wrap:wrap;gap:4px}.hsb-popover-pill{padding:2px 8px;border-radius:12px;border:1px solid var(--stone-200);background:transparent;color:var(--stone-500);font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.hsb-popover-pill:hover{border-color:var(--stone-300);background:var(--stone-50)}.hsb-popover-pill.active{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.hsb-popover-footer{display:flex;justify-content:flex-end;margin-top:8px;padding-top:6px;border-top:1px solid var(--stone-100)}.hsb-popover-clear{background:none;border:none;font-size:11px;color:var(--stone-400);cursor:pointer;font-family:inherit;padding:2px 4px}.hsb-popover-clear:hover{color:var(--accent-primary);text-decoration:underline}.hsb-active-chips{display:flex;flex-wrap:wrap;gap:4px;padding:0 12px 4px}.hsb-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;background:var(--accent-blue-bg);color:var(--accent-primary);font-size:11px;font-weight:500}.hsb-chip-x{background:none;border:none;padding:0 1px;font-size:12px;color:var(--accent-primary);cursor:pointer;line-height:1;opacity:.6}.hsb-chip-x:hover{opacity:1}.hsb-set-list{flex:1;overflow-y:auto;padding:4px 0}.hsb-ribbon{display:flex;align-items:center;gap:6px;padding:7px 14px;width:100%;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;color:var(--stone-600);text-align:left;transition:background .1s;position:relative;box-sizing:border-box}.hsb-ribbon:hover{background:var(--stone-50)}.hsb-ribbon.active{background:var(--accent-blue-bg);color:var(--stone-800)}.hsb-ribbon-dot{width:7px;height:7px;border-radius:50%;background:var(--stone-300);flex-shrink:0}.hsb-ribbon-dot.accent{background:var(--accent-primary)}.hsb-ribbon-dot.purple{background:var(--purple-accent)}.hsb-ribbon.active .hsb-ribbon-dot{background:var(--accent-primary)}.hsb-ribbon.active .hsb-ribbon-dot.purple{background:var(--purple-accent)}.hsb-ribbon-dot.green{background:var(--status-green)}.hsb-ribbon-dot.blue{background:var(--accent-primary)}.hsb-ribbon-dot.amber{background:var(--status-amber)}.hsb-ribbon-dot.orange{background:var(--color-warning)}.hsb-ribbon.active .hsb-ribbon-dot.green{background:var(--status-green)}.hsb-ribbon.active .hsb-ribbon-dot.blue{background:var(--accent-primary)}.hsb-ribbon.active .hsb-ribbon-dot.amber{background:var(--status-amber)}.hsb-ribbon.active .hsb-ribbon-dot.orange{background:var(--color-warning)}.hsb-ribbon-dot.red,.hsb-ribbon.active .hsb-ribbon-dot.red{background:var(--status-red)}.hsb-ribbon-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;background:var(--focus-bg);color:var(--accent-primary);flex-shrink:0;line-height:1.4}.hsb-ribbon-recipe{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;background:var(--stone-100);color:var(--stone-500);flex-shrink:0;line-height:1.4}.hsb-recipe-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:6px;margin-bottom:12px;background:var(--stone-50);border:1px solid var(--stone-200)}.hsb-recipe-banner-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;background:var(--stone-200);color:var(--stone-600)}.hsb-recipe-banner-text{flex:1;min-width:0}.hsb-recipe-banner-label{font-size:12px;font-weight:600;color:var(--stone-700);margin-bottom:2px}.hsb-recipe-banner-detail{font-size:11px;color:var(--stone-500);line-height:1.4}.hsb-recipe-banner-detail a{color:var(--accent-primary);text-decoration:none}.hsb-recipe-banner-detail a:hover{text-decoration:underline}.hsb-recipe-banner-refresh{padding:4px 10px;border:1px solid var(--stone-200);border-radius:4px;background:var(--bg-surface);font-size:11px;font-weight:500;color:var(--stone-600);cursor:pointer;font-family:inherit;flex-shrink:0;transition:all .15s}.hsb-recipe-banner-refresh:hover{border-color:var(--stone-300);background:var(--stone-50)}.hsb-recipe-banner-refresh:disabled{opacity:.5;cursor:default}.hsb-recipe-banner.repertoire{background:#34a85314;border-color:#34a85340}.hsb-recipe-banner.repertoire .hsb-recipe-banner-icon{background:#34a85326;color:var(--status-green)}.hsb-recipe-banner.theme{background:#3b82f614;border-color:#3b82f640}.hsb-recipe-banner.theme .hsb-recipe-banner-icon{background:#3b82f626;color:var(--accent-primary)}.hsb-recipe-banner.weakest{background:#c5922e14;border-color:#c5922e40}.hsb-recipe-banner.weakest .hsb-recipe-banner-icon{background:#c5922e26;color:var(--status-amber)}.hsb-recipe-banner.pawn{background:#7c3aed14;border-color:#7c3aed40}.hsb-recipe-banner.pawn .hsb-recipe-banner-icon{background:#7c3aed26;color:var(--purple-accent)}.hsb-recipe-banner.position{background:#e8710a14;border-color:#e8710a40}.hsb-recipe-banner.position .hsb-recipe-banner-icon{background:#e8710a26;color:var(--color-warning)}.hsb-recipe-banner.rich{background:#3b82f614;border-color:#3b82f640}.hsb-recipe-banner.rich .hsb-recipe-banner-icon{background:#3b82f626;color:var(--accent-primary)}.hsb-recipe-banner.my-games{background:#b4525214;border-color:#b4525240}.hsb-recipe-banner.my-games .hsb-recipe-banner-icon{background:#b4525226;color:var(--status-red)}.hsb-ribbon-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsb-ribbon-meta{display:flex;gap:4px;align-items:center;flex-shrink:0}.hsb-ribbon-count{font-size:11px;color:var(--stone-400);font-weight:400;flex-shrink:0}.hsb-ribbon-color-badge{display:inline-block;font-size:9px;font-weight:700;padding:0 3px;margin-left:4px;border-radius:2px;background:var(--stone-200);color:var(--stone-600);vertical-align:middle}.hsb-ribbon-actions{display:flex;gap:2px;opacity:0;transition:opacity .1s;flex-shrink:0}.hsb-ribbon:hover .hsb-ribbon-actions,.hsb-ribbon.active .hsb-ribbon-actions{opacity:1}.hsb-ribbon-btn{padding:2px 5px;background:none;border:none;font-size:11px;color:var(--stone-400);cursor:pointer;border-radius:3px;font-family:inherit;line-height:1.3;white-space:nowrap}.hsb-ribbon-btn:hover{background:var(--stone-200);color:var(--stone-700)}.hsb-ribbon-wp-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hsb-ribbon-wp-meta{font-size:11px;color:var(--stone-400);font-weight:400}.hsb-bottom-label{font-size:9px;font-weight:700;color:var(--stone-500);letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;padding:0 2px}.hsb-filter-section{display:flex;flex-direction:column;gap:6px}.hsb-filter-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--stone-500)}.hsb-filter-pills{display:flex;flex-wrap:wrap;gap:5px}.hsb-filter-pill{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;background:var(--bg-page);border:1px solid var(--stone-300);border-radius:12px;font-size:11px;color:var(--stone-600);cursor:pointer;font-family:inherit;transition:all .1s}.hsb-filter-pill:hover{border-color:var(--stone-400);color:var(--stone-700)}.hsb-filter-pill.active{background:var(--pill-active-bg);color:var(--pill-active-text);border-color:var(--pill-active-border)}.hsb-pill-count{font-size:10px;opacity:.8}.hsb-tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;background:var(--bg-page);border:1px solid var(--stone-300);border-radius:12px;font-size:11px;color:var(--stone-600);cursor:pointer;font-family:inherit;transition:all .1s}.hsb-tag-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tag-color, var(--stone-300));flex-shrink:0}.hsb-tag-pill:hover{border-color:var(--tag-color, var(--stone-300));color:var(--stone-700)}.hsb-tag-pill.active{background:var(--tag-color, var(--stone-700));color:#fff;border-color:var(--tag-color, var(--stone-700))}.hsb-tag-count{font-size:10px;opacity:.65;margin-left:2px}.hsb-theme-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;border:1px solid var(--stone-200);background:transparent;color:var(--stone-500);font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.hsb-theme-pill:hover{border-color:var(--stone-300);background:var(--stone-50)}.hsb-theme-pill.active{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.hsb-theme-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--stone-400);flex-shrink:0}.hsb-theme-pill.active .hsb-theme-dot{background:var(--bg-surface)}.hsb-rating-pill{font-variant-numeric:tabular-nums}.hsb-stats-row{display:flex;justify-content:space-between;border-top:1px solid var(--stone-100);margin-top:8px;padding-top:8px}.hsb-stat-label{font-size:11px;color:var(--stone-500)}.hsb-stat-value{font-size:11px;color:var(--stone-700);font-weight:500}.hsb-bar-track{height:5px;background:var(--stone-100);border-radius:3px;overflow:hidden}.hsb-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.hsb-bar-fill.green{background:var(--color-correct)}.hsb-see-more{padding:8px 14px;background:none;border:none;border-top:1px solid var(--border-subtle);color:var(--accent-primary);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;width:100%;text-align:left;transition:background .1s}.hsb-see-more:hover{background:var(--stone-50)}.hsb-empty-msg{padding:16px 14px;font-size:12px;color:var(--stone-400);text-align:center}.hsb-mastery-row{display:flex;flex-direction:column;gap:6px}.hsb-mastery-header{display:flex;align-items:center;gap:4px}.hsb-mastery-label{font-size:12px;font-weight:600;color:var(--stone-500)}.hsb-mastery-count{font-size:12px;color:var(--stone-500);margin-left:auto}.hsb-set-separator{height:1px;background:var(--stone-200);margin:4px 14px}.btn-primary{padding:6px 20px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s;text-decoration:none;display:inline-block}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:6px 20px;background:none;color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.btn-secondary:hover:not(:disabled){background:#2563eb14}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-tertiary{padding:4px 12px;background:none;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.btn-tertiary:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-tertiary:disabled{opacity:.5;cursor:not-allowed}.section-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.board-options{display:flex;align-items:center;gap:12px;padding:4px 12px 6px;align-self:stretch;position:relative}.board-options-spacer{flex:1}.board-wrapper{display:inline-flex;flex-direction:column;max-width:100%}.board-settings-wrapper{position:relative}.board-settings-btn{background:none;border:1px solid var(--stone-300);border-radius:4px;cursor:pointer;font-size:13px;padding:4px 8px;min-width:32px;min-height:26px;display:flex;align-items:center;justify-content:center;color:var(--stone-500);transition:color .15s,border-color .15s,background .15s;line-height:1}.board-settings-btn:hover{background:var(--stone-100)}.board-settings-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.board-undo-btn{background:none;border:1px solid var(--stone-300);border-radius:4px;cursor:pointer;padding:4px 8px;min-width:32px;min-height:26px;color:var(--stone-500);transition:color .15s,border-color .15s,background .15s;line-height:1;display:inline-flex;align-items:center;justify-content:center}.board-undo-btn:hover{background:var(--stone-100)}.board-flip-btn{background:none;border:1px solid var(--stone-300);border-radius:4px;cursor:pointer;font-size:13px;padding:4px 8px;min-width:32px;min-height:26px;color:var(--stone-500);transition:color .15s,border-color .15s,background .15s;line-height:1;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.board-flip-btn:hover{background:var(--stone-100)}.board-engine-btn{background:none;border:1px solid var(--stone-300);border-radius:4px;cursor:pointer;padding:4px 8px;min-width:32px;min-height:26px;color:var(--stone-500);transition:color .15s,border-color .15s,background .15s;line-height:1;display:inline-flex;align-items:center;justify-content:center}.board-engine-btn:hover{background:var(--stone-100)}.board-engine-btn.active{color:var(--color-success);border-color:var(--color-success);background:#22c55e14}.board-engine-btn.active svg{stroke:var(--color-success)}.board-engine-btn:disabled{opacity:.4;cursor:default}.board-settings-depth-row{display:flex;align-items:center;gap:8px;padding:2px 0}.board-settings-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--stone-300);border-radius:2px;outline:none;cursor:pointer}.board-settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--stone-900);cursor:pointer}.record-toggle-btn{background:none;border:1px solid var(--stone-300);border-radius:4px;cursor:pointer;font-size:11px;padding:4px 8px;min-height:26px;color:var(--stone-600);font-family:inherit;transition:color .15s,border-color .15s,background .15s;line-height:1;display:inline-flex;align-items:center;gap:4px;box-sizing:border-box}.record-toggle-btn:hover{color:var(--stone-800);border-color:var(--stone-500)}.record-toggle-btn.active{background:var(--stone-600);color:#fff;border-color:var(--stone-600)}.record-toggle-btn:disabled{opacity:.35;cursor:default}.board-settings-popover{position:absolute;top:100%;left:0;z-index:100;margin-top:4px;padding:8px 12px;background:var(--popover-bg);border:1px solid var(--stone-300);border-radius:6px;box-shadow:var(--shadow-popover);min-width:180px;display:flex;flex-direction:column;gap:6px}.board-settings-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--stone-700);cursor:pointer;-webkit-user-select:none;user-select:none}.board-settings-row input{margin:0;cursor:pointer}.board-settings-divider{height:1px;background:var(--stone-200);margin:2px 0}.board-settings-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--stone-400)}.board-settings-segmented{display:flex;border:1px solid var(--stone-300);border-radius:4px;overflow:hidden}.board-settings-segmented button{flex:1;padding:3px 10px;border:none;background:var(--bg-surface);cursor:pointer;font-size:11px;font-family:inherit;color:var(--text-tertiary);border-right:1px solid var(--stone-300)}.board-settings-segmented button:last-child{border-right:none}.board-settings-segmented button:hover:not(.active){background:var(--stone-100)}.board-settings-segmented button.active{background:var(--segmented-active-bg);color:var(--segmented-active-text)}.nav-buttons{display:flex;align-items:center;gap:4px;padding:8px 0;align-self:stretch}.nav-left{display:flex;gap:2px;align-items:center;flex:1;justify-content:flex-start}.nav-center{display:flex;gap:4px;align-items:center;flex-shrink:0}.nav-right{display:flex;gap:2px;align-items:center;flex:1;justify-content:flex-end}.nav-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:28px;border:1px solid var(--stone-300);border-radius:4px;background:var(--bg-surface);cursor:pointer;font-size:13px;font-family:inherit;color:var(--stone-600);transition:background .15s,color .15s}.nav-btn:hover:not(:disabled){background:var(--stone-100);color:var(--stone-900)}.nav-btn:disabled{opacity:.35;cursor:default}.nav-util-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--stone-300);border-radius:4px;font-size:12px;color:var(--stone-500);background:var(--bg-surface);cursor:pointer;transition:all .15s}.nav-util-btn:hover{background:var(--stone-100);color:var(--stone-700)}.nav-util-btn.active{color:var(--accent-primary);border-color:var(--accent-primary);background:#2563eb0f}.nav-util-btn.has-content{position:relative}.nav-util-btn.has-content:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--accent-primary)}.nav-btn.delete-btn{margin-left:12px;color:var(--color-error);border-color:var(--color-error-border);font-size:11px}.nav-btn.delete-btn:hover{background:var(--color-error-bg);color:var(--color-delete)}.accordion-panel{border-bottom:1px solid var(--border-default)}.accordion-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;border:none;background:var(--stone-100);color:var(--stone-700);cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;text-align:left}.accordion-toggle:hover{background:var(--stone-200)}.accordion-chevron{font-size:9px;flex-shrink:0;width:10px}.accordion-title{white-space:nowrap;flex-shrink:0}.accordion-subtitle{margin-left:auto;font-weight:400;font-size:11px;color:var(--stone-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.accordion-status-icon{display:inline-flex;align-items:center;margin-left:6px;flex-shrink:0;color:var(--stone-400)}@keyframes analysis-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.analysis-progress-bar{height:2px;background:var(--stone-200);border-radius:2px;overflow:hidden;margin-bottom:2px}.analysis-progress-bar-fill{height:100%;width:25%;background:var(--stone-400);border-radius:2px;animation:analysis-indeterminate 1.4s ease-in-out infinite}.analysis-progress-bar-fill.active{background:var(--color-amber);animation-duration:1.1s}.accordion-body{padding:10px 12px;display:flex;flex-direction:column;gap:10px}.accordion-panel.disabled .accordion-toggle{color:var(--text-placeholder);cursor:default}.accordion-panel.disabled .accordion-toggle:hover{background:var(--stone-100)}.accordion-panel.dimmed .accordion-toggle,.accordion-panel.dimmed .accordion-subtitle{color:var(--stone-400)}.accordion-title-input{width:100%;padding:6px 8px;border:1px solid transparent;border-bottom:1px solid var(--border-input);border-radius:0;font-family:inherit;font-size:14px;font-weight:600;background:transparent;box-sizing:border-box;color:var(--text-primary)}.accordion-title-input:hover{border-bottom-color:var(--stone-400)}.accordion-title-input:focus{outline:none;border-bottom-color:var(--accent-blue)}.accordion-title-input::placeholder{font-weight:400;color:var(--text-placeholder)}.accordion-textarea{width:100%;min-height:70px;padding:8px;border:1px solid var(--border-input);border-radius:4px;font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;box-sizing:border-box;background:var(--bg-surface);color:var(--text-primary)}.accordion-textarea:focus{outline:none;border-color:var(--accent-blue)}.accordion-label{font-size:11px;letter-spacing:.3px;color:var(--stone-400);margin-bottom:2px;font-weight:500}.accordion-label-row{display:flex;justify-content:space-between;align-items:center}.accordion-manage-link{border:none;background:transparent;color:var(--accent-blue);cursor:pointer;font-size:11px;padding:0;font-family:inherit}.nag-picker{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.nag-chip{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 6px;border:1.5px solid var(--stone-300);border-radius:4px;background:transparent;color:var(--stone-500);font-family:var(--font-mono);font-size:12px;font-weight:700;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.nag-chip:hover{background:var(--stone-100);border-color:var(--stone-400)}.nag-chip.active{background:var(--stone-700);color:#fff;border-color:var(--stone-700)}.promote-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-surface-alt);cursor:pointer;font-size:12px;color:var(--text-secondary);text-align:left;line-height:1.4}.promote-btn:hover{background:var(--bg-hover);border-color:var(--text-placeholder)}.middle-options{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-alt);flex-shrink:0;min-height:32px;flex-wrap:wrap;row-gap:6px}.middle-settings-wrapper{position:relative;flex-shrink:0}.middle-settings-btn{background:none;border:1px solid var(--stone-300);border-radius:4px;cursor:pointer;font-size:14px;padding:1px 6px;color:var(--stone-500);transition:color .15s,border-color .15s;line-height:1}.middle-settings-btn:hover,.middle-settings-btn.active{color:var(--stone-800);border-color:var(--stone-400)}.middle-settings-popover{position:absolute;top:100%;left:0;z-index:100;margin-top:4px;padding:8px 12px;background:var(--popover-bg);border:1px solid var(--stone-300);border-radius:6px;box-shadow:var(--shadow-popover);min-width:160px;display:flex;flex-direction:column;gap:6px}.middle-settings-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--stone-700);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.middle-settings-row input{margin:0;cursor:pointer}.middle-settings-divider{border:none;border-top:1px solid var(--stone-300);margin:2px 0}.middle-option-divider{width:1px;height:16px;background:var(--stone-300);margin:0 2px;flex-shrink:0}.middle-analyze-wrapper{position:relative;flex-shrink:0}.middle-analyze-dropdown{position:absolute;top:100%;right:0;z-index:400;margin-top:4px;padding:8px 0;background:var(--popover-bg);border:1px solid var(--stone-300);border-radius:6px;box-shadow:var(--shadow-popover);min-width:220px}.middle-training-wrapper{position:relative;flex-shrink:0}.middle-training-dropdown{position:absolute;top:100%;right:0;z-index:400;margin-top:4px;padding:4px 0;background:var(--popover-bg);border:1px solid var(--stone-300);border-radius:6px;box-shadow:var(--shadow-popover);min-width:180px}.training-dropdown-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 12px;background:none;border:none;font-size:12px;color:var(--text-secondary);cursor:pointer;font-family:inherit;text-align:left;transition:background .1s}.training-dropdown-item:hover{background:var(--bg-hover)}.training-dropdown-item.active{color:var(--ts-indicator-color);font-weight:600}.training-dropdown-name{flex:1}.training-dropdown-orient{font-size:10px;font-weight:600;padding:0 3px;background:var(--stone-200);color:var(--stone-600);border-radius:3px}.training-dropdown-count{font-size:10px;color:var(--text-muted)}.training-dropdown-new{color:var(--text-muted);border-top:1px solid var(--border-subtle)}.analyze-pulse-icon{display:inline-block;vertical-align:middle;margin-right:3px;color:var(--stone-400);animation:analyze-pulse 1.5s ease-in-out infinite}.analyze-done-icon{display:inline-block;vertical-align:middle;margin-right:3px;color:var(--color-success)}@keyframes analyze-pulse{0%,to{opacity:.4}50%{opacity:1}}.analyze-dropdown-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-family:inherit;width:100%;border:none;background:none;cursor:pointer;color:var(--stone-700);text-align:left}.analyze-dropdown-item:hover{background:var(--stone-100)}.analyze-dropdown-item:disabled{opacity:.5;cursor:default}.analyze-dropdown-item .analyze-item-label{flex:1;display:inline-flex;align-items:center;gap:5px}.analyze-item-icon{display:inline-block;flex-shrink:0;color:var(--stone-400)}.analyze-item-icon.done{color:var(--color-success)}.analyze-item-icon.pulsing{animation:analyze-pulse 1.5s ease-in-out infinite}.analyze-item-icon.queued{color:var(--stone-400);animation:analyze-pulse 2.5s ease-in-out infinite}.analyze-dropdown-item .analyze-item-status{font-size:11px;color:var(--stone-500)}.analyze-dropdown-item .analyze-item-status.queued{color:var(--stone-500)}.analyze-dropdown-item .analyze-item-status.running{color:var(--color-amber)}.analyze-dropdown-item .analyze-item-status.done{color:var(--color-success)}.analyze-dropdown-item .analyze-item-status.failed{color:var(--color-error)}.analyze-cancel-x{margin-left:6px;opacity:.5;vertical-align:middle}.analyze-dropdown-item:hover .analyze-cancel-x{opacity:1}.analyze-dropdown-progress{padding:4px 12px}.analyze-dropdown-progress-bar{height:3px;background:var(--stone-200);border-radius:2px;overflow:hidden}.analyze-dropdown-progress-fill{height:100%;background:var(--color-success);border-radius:2px;transition:width .3s ease}.analyze-dropdown-section-label{display:flex;align-items:center;gap:5px;padding:4px 12px 2px;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--stone-400);-webkit-user-select:none;user-select:none}.middle-option-segmented{display:flex;border:1px solid var(--stone-300);border-radius:4px;overflow:hidden;flex-shrink:0}.middle-option-segmented button{padding:2px 8px;border:none;background:var(--bg-surface);cursor:pointer;font-size:11px;font-family:inherit;color:var(--text-tertiary);border-right:1px solid var(--stone-300)}.middle-option-segmented button:last-child{border-right:none}.middle-option-segmented button:hover:not(.active){background:var(--stone-100)}.middle-option-segmented button.active{background:var(--segmented-active-bg);color:var(--segmented-active-text)}.middle-option-btn{padding:2px 8px;border:1px solid var(--stone-300);border-radius:4px;background:var(--bg-surface);cursor:pointer;font-size:11px;font-family:inherit;color:var(--text-tertiary)}.middle-option-btn:hover{background:var(--stone-100)}.middle-content{flex:1;overflow:hidden}.below-board-context{align-self:stretch;padding:6px 4px 0;display:flex;flex-direction:column;gap:4px}.below-board-title-row{display:flex;align-items:center;gap:4px}.position-title-display{font-size:13px;font-weight:600;color:var(--text-primary)}.below-board-notes-row{display:flex;align-items:flex-start;gap:4px}.below-board-comment{font-size:12px;color:var(--stone-500);font-style:italic;line-height:1.4}.below-board-notes{font-size:12px;color:var(--text-secondary);line-height:1.4}.exploratory-ribbon{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;margin:4px -8px 0;background:var(--stone-50);border-top:1px solid var(--stone-200);font-family:inherit;overflow:hidden}.exploratory-ribbon-label{font-size:12px;color:var(--text-secondary);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exploratory-ribbon-context{opacity:.65;font-style:italic}.exploratory-ribbon-buttons{display:flex;gap:4px;flex-shrink:0}.exploratory-ribbon-buttons .nav-btn{width:auto;padding:0 8px;white-space:nowrap;font-size:11px;height:24px;border-color:var(--stone-300);color:var(--text-secondary);background:var(--bg-surface)}.exploratory-ribbon-buttons .nav-btn:hover:not(:disabled){background:var(--stone-100);color:var(--text-primary)}.exploratory-ribbon .exploratory-add-btn{background:var(--stone-800);color:#fff;border-color:var(--stone-800)}.exploratory-ribbon .exploratory-add-btn:hover{background:var(--stone-700)}.line-ribbon-compact{display:flex;align-items:center;gap:6px;padding:4px 8px}.line-ribbon-label{font-size:11px;font-weight:700;font-family:inherit;text-transform:uppercase;color:var(--color-amber-text);flex-shrink:0}.line-ribbon-moves{flex:1;min-width:0;font-weight:500;font-size:12px;font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left}.line-ribbon-placeholder{color:var(--text-muted);font-style:italic;font-size:12px;font-family:system-ui,sans-serif}.line-ribbon-actions{display:flex;gap:4px;flex-shrink:0}.line-ribbon-btn{font-size:11px;font-family:inherit;padding:2px 8px;border-radius:4px;border:1px solid var(--color-amber-border);background:none;color:var(--color-amber-text);cursor:pointer;white-space:nowrap}.line-ribbon-btn:hover{background:#0000000f}.line-ribbon-btn-primary{background:#00000014;color:var(--color-amber-text);font-weight:600;border-color:var(--color-amber-border)}.line-ribbon-btn-primary:hover{background:#0000001f}.line-ribbon-btn-accent{background:var(--accent-primary);color:#fff;border-color:transparent}.line-ribbon-btn-accent:hover{opacity:.85}.line-ribbon-btn:disabled{opacity:.4;cursor:default}.hover-tooltip{border-radius:4px;box-shadow:0 4px 16px #00000040;overflow:hidden;background:var(--popover-bg);border:1px solid var(--border-input)}.analysis-section{margin-bottom:10px}.analysis-section:last-child{margin-bottom:0}.analysis-summary-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:4px}.analysis-summary-item{display:flex;flex-direction:column;gap:1px}.analysis-summary-label{font-size:10px;color:var(--stone-400);letter-spacing:.3px}.analysis-summary-value{font-size:12px;font-weight:500;color:var(--stone-700);text-transform:capitalize}.cls-split{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:4px}.cls-side{display:flex;flex-direction:column}.cls-side:first-child{border-right:1px solid var(--border-subtle);padding-right:10px}.cls-side:last-child{padding-left:10px}.cls-side-header{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:10px}.cls-side-identity{display:flex;flex-direction:column;align-items:center;gap:1px}.cls-side-player{font-size:12px;font-weight:600;color:var(--stone-700);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.cls-side-rating{font-size:10px;color:var(--stone-400);font-family:var(--font-mono)}.cls-side-generic{font-size:11px;font-weight:600;color:var(--stone-500)}.cls-accuracy-ring{width:44px;height:44px;position:relative}.cls-accuracy-ring svg{width:44px;height:44px}.cls-accuracy-ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--stone-700);font-family:var(--font-mono)}.cls-bar-row{display:flex;align-items:center;gap:6px;padding:2.5px 0}.cls-bar-label{font-size:11px;color:var(--stone-500);text-transform:capitalize;width:62px;flex-shrink:0}.cls-bar-track{flex:1;height:6px;background:var(--stone-100);border-radius:3px;overflow:hidden}.cls-bar-fill{height:100%;border-radius:3px}.cls-bar-count{font-size:11px;font-weight:600;color:var(--stone-700);min-width:14px;text-align:right;font-family:var(--font-mono)}.cls-bar-count.zero{color:var(--stone-400);font-weight:400}.analysis-status-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.analysis-status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:8px}.analysis-status-badge.none{color:var(--stone-400);background:var(--stone-100)}.analysis-status-badge.queued{color:var(--stone-500);background:var(--stone-100);animation:analyze-pulse 2.5s ease-in-out infinite}.analysis-status-badge.running{color:var(--color-amber);background:var(--color-amber-bg)}.analysis-status-badge.complete{color:var(--color-success);background:var(--color-correct-bg)}.analysis-status-badge.failed{color:var(--color-error);background:var(--color-error-bg)}.glib-retry-btn{font-size:12px;font-weight:500;color:var(--color-error);background:none;border:1px solid var(--color-error);border-radius:6px;padding:4px 12px;cursor:pointer;margin-top:6px}.glib-retry-btn:hover{background:var(--color-error-bg)}.analysis-character-badge{font-size:11px;font-weight:500;color:var(--stone-500);text-transform:capitalize}.analysis-meta-row{display:flex;gap:12px;font-size:10px;color:var(--stone-400);margin-bottom:8px}.analysis-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:500;margin-bottom:2px}.analysis-section-divider{border:none;border-top:1px solid var(--border-subtle);margin:10px 0}.game-narrative{padding:8px 0 4px}.game-narrative-para{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:0 0 6px}.game-narrative-para:last-child{margin-bottom:0}.attr-pill{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:500;color:var(--stone-600);background:var(--stone-100);border:1px solid var(--stone-200)}.tier-info-btn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--stone-300);background:none;font-size:9px;font-weight:600;color:var(--stone-400);cursor:pointer;margin-left:2px;vertical-align:middle;position:relative;font-family:inherit;padding:0}.tier-info-btn:hover{border-color:var(--stone-400);color:var(--stone-500);background:var(--stone-50)}.tier-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:240px;background:var(--stone-900);color:var(--stone-200);border-radius:8px;padding:12px;font-size:11px;font-weight:400;line-height:1.5;z-index:100;box-shadow:0 4px 16px #0003;text-align:left;white-space:normal}.tier-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--stone-900)}.tier-info-btn:hover .tier-tooltip,.tier-info-btn:focus .tier-tooltip{display:block}.tier-tooltip-row{display:flex;gap:8px;margin-bottom:6px}.tier-tooltip-row:last-child{margin-bottom:0}.tier-tooltip-name{font-weight:600;color:#fff;white-space:nowrap;min-width:50px}.tier-tooltip-desc{color:var(--stone-400)}.tier-tooltip-current{color:var(--color-correct)}.classification-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:3px;color:#fff;vertical-align:middle;margin-left:2px;flex-shrink:0;cursor:help;line-height:1;font-size:9px;font-weight:700;font-family:var(--font-mono)}.classification-icon.brilliant,.classification-icon.best,.classification-icon.excellent{font-size:10px;font-family:system-ui,sans-serif}.classification-icon.great{font-size:10px;font-weight:700}.classification-icon.good{font-size:10px;font-weight:700;padding-top:2px;opacity:.7}.classification-icon.book{font-size:9px}.classification-icon.inaccuracy{font-size:9px;letter-spacing:-1px;padding-top:1px}.classification-icon.mistake{font-size:9px;padding-top:1px}.classification-icon.blunder{font-size:9px;letter-spacing:-1px;padding-top:1px}[data-theme=dark] .classification-icon{color:var(--stone-900)}.key-moment-dot{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;color:var(--color-amber-text);vertical-align:middle;margin-left:1px;flex-shrink:0;opacity:.7}.position-eval-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.position-eval-classification{font-size:13px;font-weight:600;text-transform:capitalize}.position-eval-depth{font-size:10px;color:var(--stone-400);font-family:var(--font-mono)}.game-perspective-selector{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:4px 0}.game-perspective-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.game-perspective-pills{display:flex;gap:2px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:5px;padding:2px}.game-perspective-pill{font-size:11px;padding:3px 10px;border:none;border-radius:3px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;line-height:1.3}.game-perspective-pill:hover{color:var(--text-primary);background:var(--bg-hover)}.game-perspective-pill.active{background:var(--accent-dim, rgba(88, 166, 255, .15));color:var(--status-blue);font-weight:500}.game-perspective-pill.auto:after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--status-blue);margin-left:4px;vertical-align:middle;opacity:.6}.game-data-fields{display:flex;flex-direction:column;gap:6px}.game-data-field{display:flex;align-items:center;gap:8px}.game-data-field label{font-size:11px;color:var(--text-muted);width:72px;flex-shrink:0;text-align:right}.game-data-field input,.game-data-field select{flex:1;min-width:0;padding:3px 6px;border:1px solid var(--border-input);border-radius:3px;font-size:12px;font-family:inherit;background:var(--input-bg);color:var(--text-primary)}.game-data-field input:focus,.game-data-field select:focus{outline:none;border-color:var(--accent-blue)}.game-data-save-btn{margin-top:4px;padding:5px 12px;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;font-size:12px;font-family:inherit;font-weight:500;cursor:pointer;align-self:flex-end}.game-data-save-btn:hover{background:var(--accent-blue-hover)}.accordion-divider{border:none;border-top:1px solid var(--border-default);margin:6px 0}.field-label{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:2px}.eco-autocomplete-wrapper{display:inline-block}.eco-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:4px;box-shadow:0 4px 12px #0000001f;max-height:200px;overflow-y:auto;margin-top:2px;min-width:240px}.eco-autocomplete-item{display:flex;align-items:center;gap:8px;padding:5px 8px;cursor:pointer;font-size:12px;color:var(--text-primary)}.eco-autocomplete-item:hover,.eco-autocomplete-item.highlighted{background:var(--bg-hover)}.eco-autocomplete-code{font-weight:600;font-family:var(--font-mono);font-size:11px;flex-shrink:0;min-width:28px}.eco-autocomplete-name{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse-all-bar{flex-shrink:0;display:flex;justify-content:flex-end;border-top:1px solid var(--border-default);background:var(--bg-surface)}.collapse-all-panels{padding:3px 10px;border:none;background:var(--stone-50);color:var(--stone-400);font-size:10px;cursor:pointer;transition:color .15s,background .15s;border-radius:3px}.collapse-all-panels:hover{color:var(--stone-600);background:var(--stone-100)}.board-save-btn{background:none;border:1px solid var(--stone-300);border-radius:4px;cursor:pointer;font-size:16px;color:var(--stone-500);padding:4px 8px;min-width:32px;min-height:26px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s}.board-save-btn:hover{color:var(--color-gold);background:#ffc1071a;border-color:var(--color-gold)}.board-save-btn.saved{color:var(--color-gold);border-color:var(--color-gold);background:#ffc10714}.pill-overflow{display:flex;gap:5px;flex-wrap:wrap}.pill-overflow-toggle{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;border:1px dashed var(--stone-300);background:transparent;color:var(--accent-primary);font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}.pill-overflow-toggle:hover{border-color:var(--accent-primary);background:var(--stone-50)}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-row{display:grid;gap:4px;align-items:center;padding:7px 12px;border-bottom:1px solid var(--bg-hover)}.skel{height:14px;border-radius:3px;background:linear-gradient(90deg,var(--stone-100) 25%,var(--stone-200) 50%,var(--stone-100) 75%);background-size:200% 100%;animation:skel-shimmer 1.5s ease-in-out infinite}.skel-wide{width:70%}.skel-medium{width:80%}.skel-narrow{width:32px}.skel-center{margin:0 auto}.skel-right{margin-left:auto}.skel-card{height:66px;border-radius:8px;background:linear-gradient(90deg,var(--stone-100) 25%,var(--stone-200) 50%,var(--stone-100) 75%);background-size:200% 100%;animation:skel-shimmer 1.5s ease-in-out infinite}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0}.pagination-btn{font-family:inherit;font-size:12px;font-weight:500;color:var(--text-secondary);background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 14px;cursor:pointer;transition:var(--transition-default, .15s ease)}.pagination-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong)}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-info{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.pagination-total{margin-left:12px;font-size:11px;color:var(--text-muted)}@keyframes toast-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--bg-page: #f8f8f8;--bg-surface: white;--bg-surface-alt: #fafafa;--bg-inset: #e8e8e8;--bg-hover: #f5f5f4;--bg-active: #e7e5e4;--bg-panel: #f5f5f5;--bg-panel-hover: #eee;--border-default: #e0e0e0;--border-subtle: #f0f0f0;--border-strong: #d6d3d1;--border-input: #ddd;--text-primary: #333;--text-secondary: #555;--text-tertiary: #666;--text-muted: #888;--text-faint: #999;--text-placeholder: #bbb;--stone-50: #fafaf9;--stone-100: #f5f5f4;--stone-200: #e7e5e4;--stone-300: #d6d3d1;--stone-400: #a8a29e;--stone-500: #78716c;--stone-600: #57534e;--stone-700: #44403c;--stone-800: #292524;--stone-900: #1c1917;--accent-blue: #2196f3;--accent-blue-hover: #1976d2;--accent-blue-bg: #eff6ff;--accent-primary: #2563eb;--accent-primary-hover: #1d4ed8;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-success: #16a34a;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #e65100;--color-info: #2563eb;--color-info-bg: #eff6ff;--color-info-border: #bfdbfe;--purple-bg: #f5f3ff;--purple-border: #ddd6fe;--purple-text: #6d28d9;--purple-accent: #7c3aed;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .15);--shadow-popover: 0 4px 12px rgba(0, 0, 0, .12);--overlay-backdrop: rgba(0, 0, 0, .4);--tab-active-bg: white;--segmented-active-bg: #1c1917;--segmented-active-text: white;--pill-active-bg: var(--stone-700);--pill-active-text: white;--pill-active-border: var(--stone-700);--card-bg: white;--popover-bg: white;--input-bg: transparent;--eval-white-bg: #f0f0f0;--eval-black-bg: #333;--eval-white-adv: #333;--eval-black-adv: #78716c;--eval-mate: #ca3431;--eval-even: #a8a29e;--badge-white-bg: #f5f5f4;--badge-white-color: #a8a29e;--badge-even-bg: #fafaf9;--badge-even-color: #c4b5a8;--badge-mate-bg: #fef2f2;--badge-mate-color: #ca3431;--badge-blunder-bg: #fef2f2;--badge-blunder-color: #ca3431;--badge-mistake-bg: #fff7ed;--badge-mistake-color: #e58f2a;--badge-inaccuracy-bg: #fefce8;--badge-inaccuracy-color: #b49518;--pill-fg: #78716c;--pill-bg: rgba(120, 113, 108, .13);--pill-border: rgba(120, 113, 108, .27);--pill-bg-hover: rgba(120, 113, 108, .2);--pill-border-hover: rgba(120, 113, 108, .4);--pill-fg-hover: #44403c;--expand-pill-fg: #a8a29e;--expand-pill-bg: rgba(168, 162, 158, .13);--expand-pill-border: rgba(168, 162, 158, .27);--expand-pill-bg-hover: rgba(168, 162, 158, .2);--expand-pill-border-hover: rgba(168, 162, 158, .4);--expand-pill-fg-hover: #57534e;--board-bg: #e8e8e8;--board-sq-light: #f0d9b5;--board-sq-dark: #c0ae91;--color-correct: #22c55e;--color-correct-bg: #dcfce7;--color-correct-border: #bbf7d0;--color-incorrect: #ef4444;--color-amber: #d97706;--color-amber-bg: #fef3c7;--color-amber-border: #fde68a;--color-amber-text: #92400e;--focus-ring: #93c5fd;--focus-bg: #dbeafe;--focus-border: #bfdbfe;--color-gold: #eab308;--ts-indicator-color: #7c3aed;--chart-white: #e8e8e8;--chart-black: #404040;--chart-center: #888;--color-engine: #6d9e37;--color-delete: #b91c1c;--classify-brilliant: #1baca6;--classify-great: #5c8bb0;--classify-best: #96bc4b;--classify-prep: #4db8a8;--classify-book: #a88764;--classify-inaccuracy: #f7c631;--classify-mistake: #e58f2a;--classify-blunder: #ca3431;--srs-due-color: #dc2626;--srs-due-bg: #fef2f2;--srs-new-color: #2563eb;--srs-new-bg: #eff6ff;--srs-learning-color: #d97706;--srs-learning-bg: #fffbeb;--srs-mastered-color: #16a34a;--srs-mastered-bg: #f0fdf4;--heatmap-l1: #9be9a8;--heatmap-l2: #40c463;--heatmap-l3: #30a14e;--heatmap-l4: #216e39;--loading-grid-light: #f5f5f4;--loading-grid-dark: #eeeceb;--loading-piece: #1c1917;--loading-dot: #a8a29e;--loading-line: #d6d3d1;--font-mono: "JetBrains Mono", "SF Mono", "Menlo", "Consolas", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .1s ease;--transition-default: .15s ease;--transition-slow: .3s ease;--status-green: #16a34a;--status-amber: #d97706;--status-red: #dc2626;--status-blue: #2563eb;--status-purple: #7c3aed;--graph-main-color: #44403c;--graph-node-stroke: #fff;--graph-label-color: #1c1917;--graph-label-branch: inherit;--graph-trunk-color: #44403c;--graph-minimap-bg: #fafaf9;--graph-selection: #2563eb;--graph-highlight: #1e88e5;--graph-bg: #f8f8f8;--tree-connector-color: rgba(68, 64, 60, .2);--graph-nag-color: #78716c;--graph-indicator-color: #a8a29e;--graph-edge-main: #555;--graph-edge-side: #aaa;--graph-node-default: #9e9e9e;--graph-expand-bg: #666;--graph-expand-text: #fff;--graph-collapse-bg: #ddd;--graph-collapse-stroke: #aaa;--graph-collapse-text: #666;--graph-comment-blue: #2563eb;--graph-notes-green: #16a34a;--explore-accent: var(--purple-accent);--explore-accent-bg: var(--purple-bg);--explore-accent-border: var(--purple-border);--explore-accent-text: var(--purple-text);--coverage-covered: var(--color-correct);--coverage-covered-bg: var(--color-correct-bg);--coverage-covered-border: var(--color-correct-border);--coverage-thin: var(--color-amber);--coverage-thin-bg: var(--color-amber-bg);--coverage-thin-border: var(--color-amber-border);--coverage-gap: var(--color-error);--coverage-gap-bg: var(--color-error-bg);--coverage-gap-border: var(--color-error-border);--graph-preview-node: var(--stone-400);--graph-covered-node: var(--color-correct);--graph-covered-edge: var(--color-correct);--graph-uncovered-node: var(--color-error);--graph-uncovered-edge: var(--color-error);--graph-partial-node: var(--color-amber);--graph-partial-edge: var(--color-amber);--graph-staged-node: var(--purple-accent);--graph-staged-edge: var(--purple-accent);--graph-staged-dim: var(--stone-400);--graph-theory-node: var(--stone-600);--graph-theory-edge: var(--stone-500);--graph-dimmed-opacity: .3}[data-theme=dark]{--bg-page: #0d1117;--bg-surface: #161b22;--bg-surface-alt: #1c2128;--bg-inset: #010409;--bg-hover: #262c36;--bg-active: #2d333b;--bg-panel: #1c2128;--bg-panel-hover: #262c36;--border-default: #30363d;--border-subtle: #21262d;--border-strong: #545d68;--border-input: #30363d;--text-primary: #e6edf3;--text-secondary: #b1bac4;--text-tertiary: #8b949e;--text-muted: #848d97;--text-faint: #6e7681;--text-placeholder: #545d68;--stone-50: #0d1117;--stone-100: #161b22;--stone-200: #21262d;--stone-300: #30363d;--stone-400: #6e7681;--stone-500: #848d97;--stone-600: #b1bac4;--stone-700: #c9d1d9;--stone-800: #e6edf3;--stone-900: #f0f6fc;--accent-blue: #58a6ff;--accent-blue-hover: #79c0ff;--accent-blue-bg: #0d2240;--accent-primary: #58a6ff;--accent-primary-hover: #79c0ff;--color-error: #f85149;--color-error-bg: #1a0e0e;--color-error-border: #6e3630;--color-success: #3fb950;--color-warning: #e3b341;--color-warning-bg: #1a1505;--color-warning-border: #6b5e2d;--color-warning-text: #d29922;--color-info: #58a6ff;--color-info-bg: #0d2240;--color-info-border: #1f3d5f;--purple-bg: #1a1433;--purple-border: #3d3565;--purple-text: #c4b5fd;--purple-accent: #a78bfa;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-popover: 0 4px 12px rgba(0, 0, 0, .5);--overlay-backdrop: rgba(0, 0, 0, .7);--tab-active-bg: #161b22;--segmented-active-bg: #c9d1d9;--segmented-active-text: #0d1117;--pill-active-bg: #484f58;--pill-active-text: #e6edf3;--pill-active-border: #6e7681;--card-bg: #161b22;--popover-bg: #1c2128;--input-bg: #0d1117;--eval-white-bg: #b1bac4;--eval-black-bg: #21262d;--eval-white-adv: #e6edf3;--eval-black-adv: #7d8590;--eval-mate: #f85149;--eval-even: #484f58;--badge-white-bg: #1c2128;--badge-white-color: #7d8590;--badge-even-bg: #161b22;--badge-even-color: #656d76;--badge-mate-bg: #1a0e0e;--badge-mate-color: #f85149;--badge-blunder-bg: #1a0e0e;--badge-blunder-color: #f85149;--badge-mistake-bg: #1a1505;--badge-mistake-color: #d29922;--badge-inaccuracy-bg: #1a1808;--badge-inaccuracy-color: #e3b341;--pill-fg: #7d8590;--pill-bg: rgba(125, 133, 144, .13);--pill-border: rgba(125, 133, 144, .27);--pill-bg-hover: rgba(125, 133, 144, .2);--pill-border-hover: rgba(125, 133, 144, .4);--pill-fg-hover: #b1bac4;--expand-pill-fg: #656d76;--expand-pill-bg: rgba(101, 109, 118, .13);--expand-pill-border: rgba(101, 109, 118, .27);--expand-pill-bg-hover: rgba(101, 109, 118, .2);--expand-pill-border-hover: rgba(101, 109, 118, .4);--expand-pill-fg-hover: #7d8590;--board-bg: #161b22;--board-sq-light: #dee3e6;--board-sq-dark: #8ca2ad;--color-correct: #3fb950;--color-correct-bg: #0d2818;--color-correct-border: #1a4d2e;--color-incorrect: #f85149;--color-amber: #e3b341;--color-amber-bg: #1a1505;--color-amber-border: #5c4813;--color-amber-text: #d29922;--focus-ring: #1f6feb;--focus-bg: #0d2240;--focus-border: #1f6feb;--color-gold: #e3b341;--ts-indicator-color: #a78bfa;--chart-white: #b1bac4;--chart-black: #21262d;--chart-center: #484f58;--color-engine: #3fb950;--color-delete: #f85149;--classify-brilliant: #63e6be;--classify-great: #79c0ff;--classify-best: #a3e635;--classify-prep: #63e6be;--classify-book: #d4a574;--classify-inaccuracy: #e3b341;--classify-mistake: #f0883e;--classify-blunder: #f85149;--srs-due-color: #f85149;--srs-due-bg: #1a0e0e;--srs-new-color: #58a6ff;--srs-new-bg: #0d2240;--srs-learning-color: #e3b341;--srs-learning-bg: #1a1505;--srs-mastered-color: #3fb950;--srs-mastered-bg: #0d2818;--heatmap-l1: #0e4429;--heatmap-l2: #006d32;--heatmap-l3: #26a641;--heatmap-l4: #39d353;--loading-grid-light: #21262d;--loading-grid-dark: #161b22;--loading-piece: #e6edf3;--loading-dot: #484f58;--loading-line: #30363d;--font-mono: "JetBrains Mono", "SF Mono", "Menlo", "Consolas", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .1s ease;--transition-default: .15s ease;--transition-slow: .3s ease;--status-green: #3fb950;--status-amber: #e3b341;--status-red: #f85149;--status-blue: #58a6ff;--status-purple: #a78bfa;--graph-main-color: #c9d1d9;--graph-node-stroke: #161b22;--graph-label-color: #e6edf3;--graph-label-branch: inherit;--graph-trunk-color: #8b949e;--graph-minimap-bg: #1c2128;--graph-selection: #58a6ff;--graph-highlight: #58a6ff;--graph-bg: #0d1117;--tree-connector-color: rgba(139, 148, 158, .4);--graph-nag-color: #7d8590;--graph-indicator-color: #656d76;--graph-edge-main: #b1bac4;--graph-edge-side: #484f58;--graph-node-default: #7d8590;--graph-expand-bg: #484f58;--graph-expand-text: #e6edf3;--graph-collapse-bg: #30363d;--graph-collapse-stroke: #484f58;--graph-collapse-text: #8b949e;--graph-comment-blue: #58a6ff;--graph-notes-green: #3fb950;--explore-accent: var(--purple-accent);--explore-accent-bg: var(--purple-bg);--explore-accent-border: var(--purple-border);--explore-accent-text: var(--purple-text);--coverage-covered: var(--color-correct);--coverage-covered-bg: var(--color-correct-bg);--coverage-covered-border: var(--color-correct-border);--coverage-thin: var(--color-amber);--coverage-thin-bg: var(--color-amber-bg);--coverage-thin-border: var(--color-amber-border);--coverage-gap: var(--color-error);--coverage-gap-bg: var(--color-error-bg);--coverage-gap-border: var(--color-error-border);--graph-preview-node: var(--stone-400);--graph-covered-node: var(--color-correct);--graph-covered-edge: var(--color-correct);--graph-uncovered-node: var(--color-error);--graph-uncovered-edge: var(--color-error);--graph-partial-node: var(--color-amber);--graph-partial-edge: var(--color-amber);--graph-staged-node: var(--purple-accent);--graph-staged-edge: var(--purple-accent);--graph-staged-dim: var(--stone-600);--graph-theory-node: var(--stone-500);--graph-theory-edge: var(--stone-400);--graph-dimmed-opacity: .3;color-scheme:dark}[data-theme=dark] select,[data-theme=dark] select option{background-color:var(--bg-surface);color:var(--text-primary)}[data-theme=dark] input{color:var(--text-primary)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;color:var(--text-primary);background:var(--bg-page)}#root{min-height:100vh}a{color:var(--accent-blue)}
