.chess-study-overlay[hidden]{display:none!important}
.chess-study-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0009;backdrop-filter:blur(4px)}
.chess-study-dialog{--study-bg:var(--panel-bg,#18212d);--study-text:var(--text-color,#ecf0f5);width:min(1120px,100%);max-height:94dvh;display:flex;flex-direction:column;background:var(--study-bg);color:var(--study-text);border:1px solid #8290a755;border-radius:16px;box-shadow:0 25px 100px #0009;overflow:hidden;font:14px/1.5 system-ui,sans-serif}
.chess-study-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px 8px}.chess-study-header h2{margin:0;font-size:22px}.chess-study-dialog h3{margin:0 0 10px;font-size:16px}
.chess-study-dialog button,.chess-study-dialog input,.chess-study-dialog select,.chess-study-dialog textarea{font:inherit;box-sizing:border-box;color:inherit}.chess-study-dialog button{border:1px solid #8290a755;border-radius:7px;padding:7px 11px;min-height:36px;background:#8290a71a;cursor:pointer}.chess-study-dialog button:hover{background:#8290a737}.chess-study-dialog button:focus-visible,.chess-study-dialog input:focus-visible,.chess-study-dialog select:focus-visible,.chess-study-dialog textarea:focus-visible{outline:2px solid #67cad5;outline-offset:2px}.chess-study-dialog button:disabled{opacity:.4;cursor:default}.chess-study-dialog button.is-active,.chess-study-dialog button.is-selected{background:#43afbf29;border-color:#65cfdb;color:#8ce8ef}.chess-study-dialog button.chess-study-primary{background:#178899;color:white;margin-top:10px;display:block;width:100%}
.chess-study-tabs{display:flex;gap:6px;padding:4px 20px 10px;border-bottom:1px solid #8290a733}.chess-study-status{margin:0;padding:0 20px;font-size:13px;color:#9fd9cb;min-height:0}.chess-study-status:not(:empty){padding-block:8px}.chess-study-status.is-error{color:#ffbead}.chess-study-body{overflow:auto;overscroll-behavior:contain;padding:16px 20px 22px;min-height:0;scrollbar-gutter:stable}
.chess-study-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;align-items:center}.chess-study-toolbar select{max-width:100%;min-width:180px;flex:1}.chess-study-dialog input,.chess-study-dialog select,.chess-study-dialog textarea{padding:8px 10px;background:#8290a715;border:1px solid #8290a755;border-radius:6px;max-width:100%}.chess-study-dialog option{color:#19232f;background:#fff}.chess-study-dialog textarea{resize:vertical;width:100%}.chess-study-label{display:flex;flex-direction:column;gap:5px;font-size:13px;margin-bottom:12px}.chess-study-hint{font-size:12px;opacity:.8;margin:8px 0 14px}.chess-study-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:20px;margin-bottom:20px}.chess-study-tree{max-height:620px;min-height:180px;overflow:auto;overscroll-behavior:contain;border:1px solid #8290a733;border-radius:8px;padding:8px}.chess-study-node{padding-left:calc(var(--branch-depth,0)*13px);border-left:2px solid #8290a733;margin:3px 0}.chess-study-move{text-align:left!important;border-color:transparent!important}.chess-study-comment-summary{display:block;font-size:12px;opacity:.75;padding:0 10px 6px;overflow-wrap:anywhere}.chess-study-detail{min-width:0}.chess-study-detail>button:not(.chess-study-primary){margin-top:8px}.chess-study-import{border-top:1px solid #8290a733;padding:12px 0;margin-top:10px}.chess-study-import summary{cursor:pointer;font-weight:600;margin-bottom:8px}.chess-study-import>button,.chess-study-import>input{margin:8px 8px 0 0}
.chess-study-preview{min-width:0;margin-bottom:16px}.chess-study-board{width:min(100%,320px);aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border:2px solid #8290a766;border-radius:4px;overflow:hidden;margin:0 auto 10px}.chess-study-board>span{display:flex;align-items:center;justify-content:center;line-height:1;font-family:"Segoe UI Symbol","Noto Sans Symbols 2",serif;font-size:clamp(22px,4vw,35px);user-select:none}.chess-study-board .is-light{background:#e2ded2}.chess-study-board .is-dark{background:#748b83}.chess-study-board .white-piece{color:#fff;text-shadow:0 1px #111,1px 0 #111,-1px 0 #111,0 -1px #111}.chess-study-board .black-piece{color:#172128;text-shadow:0 1px #fff5}.chess-study-preview-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px}.chess-study-preview-controls button{padding:5px 9px;min-width:36px}.chess-study-preview-moves{display:flex;flex-wrap:wrap;gap:3px;max-height:120px;overflow:auto;margin-top:10px}.chess-study-preview-moves button{padding:3px 7px;min-height:30px}.chess-study-fen{display:block;font-size:11px;overflow-wrap:anywhere;white-space:normal;opacity:.75;margin:12px 0}
.chess-study-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.chess-study-snapshot{min-width:0;border:1px solid #8290a744;border-radius:10px;padding:14px}.chess-study-snapshot>strong{display:block;margin-top:12px}.chess-study-snapshot table{width:100%;font-size:12px;border-collapse:collapse;margin:12px 0}.chess-study-snapshot th,.chess-study-snapshot td{text-align:left;padding:5px 4px;border-bottom:1px solid #8290a72a}.chess-study-snapshot pre{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}.chess-study-snapshot details{font-size:12px;margin-bottom:12px}
body.light-theme .chess-study-dialog,body.light .chess-study-dialog,body.light-mode .chess-study-dialog,body[data-theme="light"] .chess-study-dialog,html[data-theme="light"] .chess-study-dialog{--study-bg:#f9fafc;--study-text:#172536}.chess-study-dialog button.is-selected{color:inherit}body.light-theme .chess-study-dialog button.is-active{color:#087080}body.light-theme .chess-study-status{color:#087465}body.light-theme .chess-study-status.is-error{color:#b42e14}
@media(max-width:700px){.chess-study-overlay{padding:6px}.chess-study-dialog{max-height:98dvh;border-radius:10px}.chess-study-header{padding:12px}.chess-study-header h2{font-size:18px}.chess-study-tabs{padding-inline:12px;gap:4px}.chess-study-tabs button{font-size:12px;padding:7px}.chess-study-body{padding:12px}.chess-study-columns{grid-template-columns:1fr;gap:14px}.chess-study-tree{max-height:240px;min-height:120px}.chess-study-comparison{grid-template-columns:1fr}.chess-study-board>span{font-size:32px}.chess-study-snapshot{padding:10px}.chess-study-status{padding-inline:12px}}
.chess-study-limit-overlay[hidden]{display:none!important}
.chess-study-limit-overlay{position:fixed;inset:0;z-index:12010;display:flex;align-items:center;justify-content:center;padding:20px;background:#000b;backdrop-filter:blur(5px)}
.chess-study-limit-dialog{--study-bg:var(--panel-bg,#18212d);--study-text:var(--text-color,#ecf0f5);box-sizing:border-box;width:min(470px,100%);max-height:90dvh;overflow:auto;padding:26px;background:var(--study-bg);color:var(--study-text);border:1px solid #8290a766;border-radius:16px;box-shadow:0 25px 100px #0009;font:14px/1.5 system-ui,sans-serif}
.chess-study-limit-dialog h2{margin:0 0 12px;font-size:21px;line-height:1.25}.chess-study-limit-dialog p{margin:0 0 22px;line-height:1.6}.chess-study-limit-actions{display:flex;flex-wrap:wrap;gap:9px}
.chess-study-limit-actions button{box-sizing:border-box;min-height:39px;padding:8px 12px;border:1px solid #8290a777;border-radius:8px;background:#8290a722;color:inherit;font:inherit;font-weight:600;cursor:pointer}.chess-study-limit-actions button:hover{background:#8290a744}.chess-study-limit-actions button:focus-visible{outline:2px solid #67cad5;outline-offset:2px}.chess-study-limit-actions .chess-study-limit-primary{background:#178899;border-color:#50bcc9;color:white}.chess-study-limit-actions .chess-study-limit-danger{background:#a53628;border-color:#d57263;color:white}
body.light-theme .chess-study-limit-dialog,body.light .chess-study-limit-dialog,body.light-mode .chess-study-limit-dialog,body[data-theme="light"] .chess-study-limit-dialog,html[data-theme="light"] .chess-study-limit-dialog{--study-bg:#f9fafc;--study-text:#172536}
@media(max-width:500px){.chess-study-limit-overlay{padding:12px}.chess-study-limit-dialog{padding:20px}.chess-study-limit-actions button{flex:1 1 100%}}

/* W0 capacity manager: theme-paired, scoped controls; stable channels have their own files. */
.chess-study-dialog{--study-bg:var(--ui-surface,#1d2421);--study-text:var(--ui-text,#f0f1e9);--study-border:#899c8d}
body.light-theme .chess-study-dialog{--study-border:#65785c}
.chess-study-dialog button,.chess-study-dialog input,.chess-study-dialog select,.chess-study-dialog textarea{background:var(--ui-raised,#27302b);color:var(--study-text);border-color:var(--study-border)}
.chess-study-dialog button:hover:not(:disabled):not(.chess-study-primary):not(.is-active):not(.is-selected):not(.chess-study-danger){background:var(--ui-inset,#19221d);border-color:var(--ui-accent,#c7df91)}
.chess-study-dialog button.chess-study-primary{background:var(--ui-accent,#c7df91);color:var(--ui-ink,#182010)}
.chess-study-dialog button.is-active,.chess-study-dialog button.is-selected,body.light-theme .chess-study-dialog button.is-active,body.light-theme .chess-study-dialog button.is-selected{background:var(--ui-accent,#c7df91);color:var(--ui-ink,#182010);border-color:var(--ui-accent,#c7df91)}
.chess-study-dialog :is(button,input,select,textarea):focus-visible{outline-color:var(--ui-accent,#c7df91)}
.chess-study-dialog button:disabled{opacity:1;color:var(--ui-muted,#b5beb0);border-style:dashed;cursor:default}
.chess-study-dialog .chess-study-danger{border-color:#d98a78;color:#ffccbd;background:#422b25}
body.light-theme .chess-study-dialog .chess-study-danger{border-color:#9b3224;color:#852819;background:#fff0eb}
.chess-capacity-list{max-height:35dvh;overflow:auto;border:1px solid var(--ui-border,#45544b);border-radius:7px;margin-bottom:12px}
.chess-capacity-row{display:flex;align-items:center;gap:12px;padding:10px;overflow-wrap:anywhere;min-height:44px}
.chess-capacity-row[hidden],.chess-study-tabs[hidden]{display:none!important}
.chess-capacity-row input{flex:0 0 18px;width:18px;height:18px;accent-color:var(--ui-accent,#c7df91)}
.chess-capacity-confirm{border:2px solid var(--ui-border,#45544b);padding:12px;margin:12px 0}
.chess-capacity-confirm button{margin:4px}
