:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141619;--card:#1c1f23;--surface:#1c1f23;--surface-raised:#24282d;--ink:#e8ebef;--muted:#a1a8b2;--line:#30343a;--accent:#b5a0f5;--accent-strong:#9672e6;--accent-soft:#302740;--accent-border:#55446e;--sidebar:68px;--radius:8px;--board-light:#f0d9b5;--board-dark:#b58863;--board-coordinate:#38483d;--board-coordinate-light:#e1e8df;--board-max:790px;--board-width-budget:590px;--board-size:min(var(--board-max), calc(100dvh - 196px), calc(100vw - var(--board-width-budget)));color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}body{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button svg,.icon-button svg{flex-shrink:0}h1,h2,h3,p{margin:0}a{color:var(--accent)}input,textarea,select{color:var(--ink);background:#171a1e;border:1px solid #3b4149;border-radius:6px;outline:none;padding:10px 12px}input::placeholder,textarea::placeholder{color:#7e8691}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #b5a0f51f}textarea{resize:vertical;width:100%;font-family:ui-monospace,SF Mono,monospace;font-size:14px;line-height:1.65}::selection{color:#fff;background:#9672e655}*{scrollbar-width:thin;scrollbar-color:#49515b transparent}.app-shell{height:100dvh;min-height:0;display:flex}.sidebar{z-index:40;width:var(--sidebar);flex:0 0 var(--sidebar);border-right:1px solid var(--line);background:#17191d;flex-direction:column;align-items:center;height:100%;padding:15px 0 44px;display:flex;position:relative}.brand{background:0 0;border:0;justify-content:center;align-items:center;width:48px;height:44px;padding:0;display:flex}.brand>span{display:none}.pigeon-mark{width:34px;height:34px;color:var(--accent);flex-shrink:0}.pigeon-mark.small{width:24px;height:24px}.sidebar nav{flex-direction:column;align-items:center;gap:9px;width:100%;margin-top:30px;display:flex}.nav-item{color:#a1a8b2;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:0;width:48px;height:44px;padding:0;font-size:0;display:flex}.nav-item.import-action{height:48px;margin-bottom:0}.nav-item.import-action>svg{width:30px;height:30px}.nav-item>svg{width:20px;height:20px}.nav-item:hover{color:#f1f3f6;background:#24292e}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item .nav-count,.nav-item .nav-end,.nav-item .nav-label,.nav-active-dot{display:none}.sidebar-bottom{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;display:flex}.account-button{background:0 0;border:0;place-items:center;width:48px;height:44px;padding:0;display:grid}.account-button>span:not(.avatar),.account-button>svg{display:none}.avatar{color:#bbc3ca;background:#2b3036;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.main-area{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--line);flex:0 0 58px;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex}.workspace-title,.topbar h1{letter-spacing:-.35px;font-size:18px;font-weight:600}.topbar-right{align-items:center;gap:12px;display:flex}.top-avatar{display:none}.page-content{flex-direction:column;flex:1;gap:12px;width:100%;max-width:1300px;min-height:0;margin:0 auto;padding:16px 24px;display:flex}.button,.primary-button,.secondary-button{color:#dce1e7;white-space:nowrap;background:#24282e;border:1px solid #3b4149;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:8px 12px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.button:hover,.secondary-button:hover{background:#30363d;border-color:#59626c}.button.primary,.primary-button{color:#20182e;background:var(--accent);border-color:var(--accent);font-weight:600}.button.primary:hover,.primary-button:hover{background:#c6b4ff;border-color:#c6b4ff}.button.compact{min-height:32px;padding:6px 10px;font-size:13px}.button.full{width:100%;margin-top:16px}.icon-button{color:#a7afb9;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.icon-button:hover{color:#f2f4f7;background:#30363d}.icon-button.toggled{background:var(--accent-soft);color:var(--accent)}.text-button{color:var(--accent);text-align:left;background:0 0;border:0;padding:3px 0;font-size:13px}.text-button:hover{color:#d5c7ff;text-decoration:underline}.muted{color:var(--muted)}.text-small{font-size:12px;line-height:1.6}.pill{color:#a6adb7;white-space:nowrap;font-size:12px}.pill.green{color:var(--accent)}.studio-toolbar{max-width:calc(var(--board-size) + 498px);flex:0 0 36px;justify-content:space-between;align-items:center;gap:16px;width:100%;margin-inline:auto;display:flex}.game-label{min-width:0;color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.game-label strong{color:#dce1e7;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.game-label .pill,.mini-board{display:none}.separator-dot{color:#666f7b}.toolbar-actions{flex-shrink:0;gap:8px;display:flex}.dropdown-container{position:relative}.dropdown-menu{z-index:40;background:#25292f;border:1px solid #434b55;border-radius:8px;min-width:246px;padding:5px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 35px #0005}.dropdown-menu button{text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:14px;width:100%;padding:9px 10px;font-size:14px;display:flex}.dropdown-menu button:hover{background:#343c45}.dropdown-menu small{color:#b1b9c3;margin-left:auto;font-size:12px}.studio-grid{--player-row-height:36px;--board-row-gap:8px;--board-column-height:calc(var(--board-size) + var(--player-row-height) * 2 + 56px + var(--board-row-gap) * 3);grid-template-columns:calc(var(--board-size) + 44px) minmax(370px, 430px);grid-template-rows:var(--board-column-height);flex:1;place-content:center;align-items:stretch;gap:24px;min-height:0;display:grid}.board-column{min-width:0;width:min(100%, calc(var(--board-size) + 44px));grid-template-rows:var(--player-row-height) auto var(--player-row-height) 56px;align-self:start;gap:var(--board-row-gap);margin-inline:auto;display:grid}.player-row{align-items:center;gap:9px;min-width:0;padding-left:64px;display:flex}.player-avatar{color:#c7d0da;background:#30343a;border-radius:6px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:12px;font-weight:600;line-height:1;display:grid;overflow:hidden}.player-avatar img{object-fit:cover;width:100%;height:100%}.player-row>div:not(.player-avatar){align-items:baseline;gap:8px;min-width:0;display:flex}.player-row strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.player-row>div>span{color:var(--muted);font-size:13px}.player-outcome{white-space:nowrap;text-transform:capitalize;letter-spacing:.2px;border-radius:4px;align-items:center;padding:2px 7px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.player-row .player-outcome.win,.player-outcome.win{background:#4ade8029;border:1px solid #4ade8059;color:#4ade80!important}.player-row .player-outcome.loss,.player-outcome.loss{background:#ff6b6b29;border:1px solid #ff6b6b59;color:#ff6b6b!important}.player-row .player-outcome.draw,.player-outcome.draw{background:#cbd5e124;border:1px solid #cbd5e147;color:#cbd5e1!important}.player-time{color:#cdd7e1;flex-shrink:0;margin-left:auto;font-size:14px;font-weight:500;display:flex;align-items:center!important;gap:6px!important}.turn-indicator{color:#aeb7c1;white-space:nowrap;margin-left:auto;font-size:12px}.turn-indicator>span{display:none}.board-with-eval{align-items:stretch;gap:10px;width:100%;min-width:0;display:flex}.eval-bar{background:#121518;border-radius:3px;flex:0 0 38px;width:38px;margin-bottom:20px;position:relative;overflow:hidden}.eval-track{flex-direction:column;display:flex;position:absolute;inset:0}.eval-bar[data-orientation=black] .eval-track{flex-direction:column-reverse}.eval-black,.eval-white{border-radius:2px;transition:height .32s cubic-bezier(.22,.68,0,1)}.eval-black{background:#2d2d2f}.eval-white{background:#f3f3f0}.eval-score{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.2px;box-sizing:border-box;z-index:2;pointer-events:none;width:100%;padding:0 1px;font-size:11px;font-weight:700;line-height:18px;transition:top .32s cubic-bezier(.22,.68,0,1),opacity .15s;position:absolute;left:0}.eval-score[data-theme=dark],.eval-score:not([data-theme=light]){color:#f3f3f0;background:#2d2d2f}.eval-score[data-theme=light]{color:#171a1c;background:#f3f3f0}.eval-zero{background:#000;height:.1px;position:absolute;top:50%;left:0;right:0}.study-board{aspect-ratio:1;grid-template-rows:minmax(0,1fr) 20px;grid-template-columns:20px minmax(0,1fr);width:100%;display:grid}.study-board,.study-board *{-webkit-user-select:none;user-select:none}.board-surface{isolation:isolate;aspect-ratio:1;grid-area:1/2;min-width:0;position:relative}.board-ranks{grid-area:1/1;grid-template-rows:repeat(8,1fr);display:grid}.board-surface[data-interactive=true][data-dragging-piece=true] [data-square]:hover:after{content:"";pointer-events:none;z-index:3;position:absolute;inset:0;box-shadow:inset 0 0 0 4px #fff}.board-surface[data-interactive=false],.board-surface[data-interactive=false] [data-piece]{cursor:default!important}.board-files{grid-area:2/2;grid-template-columns:repeat(8,1fr);display:grid}.board-ranks>span,.board-files>span{color:#abb6c2;place-items:center;font-size:16px;font-weight:500;display:grid}.board-arrow-layer{pointer-events:none;z-index:15;width:100%;height:100%;position:absolute;inset:0}.board-surface [data-piece]{z-index:10;will-change:transform;position:relative}.board-surface [data-piece]>svg{display:block}.board-move-badge{z-index:25;pointer-events:none;line-height:0;position:absolute;transform:translate(-50%,-50%)}.board-move-badge .move-symbol{color:#fff;border:0;border-radius:50%;width:clamp(24px,3.2vw,30px);height:clamp(24px,3.2vw,30px);font-size:14px}.board-frame{aspect-ratio:1;border-radius:4px;flex:1;min-width:0}.board-loading{aspect-ratio:1;background:var(--accent-soft);color:#cec4e3;border-radius:4px;justify-content:center;align-items:center;gap:10px;width:100%;font-size:14px;display:flex}.board-controls{border:1px solid var(--line);background:var(--card);border-radius:6px;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;min-width:0;margin-left:64px;padding:0 6px;display:grid}.board-controls .icon-button{width:40px;height:40px}.board-controls.with-turn{grid-template-columns:minmax(40px,1fr) auto minmax(86px,1fr)}.board-turn{color:var(--muted);text-align:right;justify-self:end;padding-right:6px;font-size:12px}@media (max-width:600px){.board-controls.with-turn{grid-template-columns:30px minmax(0,1fr) 62px}.board-controls.with-turn .move-controls{gap:0}.board-controls.with-turn .move-counter{min-width:48px}.board-turn{font-size:11px}}.board-controls .icon-button svg{width:24px;height:24px}.board-controls .step-button{color:#eee8ff;background:#282b32;width:52px;height:48px}.board-controls .step-button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.board-controls .step-button svg{width:32px;height:32px}.move-controls{justify-self:center;align-items:center;gap:8px;display:flex}.move-counter{font-variant-numeric:tabular-nums;text-align:center;color:#d8dfe6;min-width:82px;font-size:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.analysis-column{min-width:0;min-height:0;margin-top:calc(var(--player-row-height) + var(--board-row-gap));max-height:calc(100% - var(--player-row-height) - var(--board-row-gap));border:1px solid var(--line);background:var(--card);border-radius:8px;flex-direction:column;gap:0;display:flex}.analysis-column.overview-active{align-self:stretch}.overview-active .review-card{flex:1;height:auto}.analysis-column>.card{background:0 0;border:0;border-radius:0}.analysis-column>.card+.card{border-top:1px solid var(--line)}.review-card{flex-direction:column;flex:1;min-height:140px;display:flex;overflow:hidden}.review-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px 6px;display:flex}.review-title{white-space:nowrap;font-size:15px;font-weight:600}.review-title .pigeon-mark{display:none}.review-actions{align-items:center;gap:5px;display:flex}.review-action{color:#d0d9e1;background:#272c32;border:1px solid #39414a;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;line-height:1;display:inline-flex;position:relative}.review-action:hover{background:var(--accent-soft);border-color:var(--accent-border);color:#fff}.review-game-meta{color:#9ca7b1;flex-shrink:0;align-items:center;gap:8px;min-height:26px;padding:0 14px 9px;font-size:12px;display:flex}.review-game-meta>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-game-meta>span+span{flex-shrink:0}.review-game-meta>span+span:before{content:"·";color:#727d87;margin-right:8px}.panel-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:22px;padding:0 14px;display:flex}.panel-tabs>button{color:#a4adb7;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:7px 0 8px;font-size:14px;display:flex}.panel-tabs>button.active{color:#e4daff;border-bottom-color:var(--accent)}.panel-tabs span{color:#8f99a6;font-size:12px}.moves-panel{flex-direction:column;flex:1;min-height:0;display:flex}.notation-head,.notation-row{grid-template-columns:34px 1fr 1fr;align-items:center;gap:6px;display:grid}.notation-head{color:#9da6b2;flex-shrink:0;padding:7px 14px;font-size:12px}.notation-head span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notation-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:0 8px 3px 14px;overflow:auto}.notation-row{font-variant-numeric:tabular-nums;height:32px}.notation-row>span:first-child{color:#8f9aa7;font-size:13px}.notation-row>button{text-align:left;color:#d1d7df;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:7px;height:30px;padding:3px 8px;font-size:15px;display:flex}.notation-row>button:hover{background:#2c333b}.notation-row>button.selected{background:var(--accent-soft);color:#e4daff;font-weight:600}.move-meta{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.move-time-track{cursor:default;flex-shrink:0;align-items:center;width:30px;height:18px;display:inline-flex}.move-time-bar{background:#ffffff24;border-radius:2px;width:100%;height:4px;display:block;overflow:hidden}.move-time-fill{background:#8e9fad;border-radius:2px;height:100%;transition:width .15s,background-color .15s;display:block}.notation-row>button:hover .move-time-fill{background:#b2c2d4}.notation-row>button.selected .move-time-bar{background:#ffffff38}.notation-row>button.selected .move-time-fill{background:#ddd6fe}.move-time-track:hover .move-time-fill{background:#fff!important}.move-symbol{color:#fff;background:#343d42;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:15px;font-weight:750;display:inline-flex}.move-symbol.brilliant{background:#138f88}.move-symbol.book{background:#977952}.move-symbol.best{background:#83bf25}.move-symbol.excellent{background:#4c91e8}.move-symbol.good{background:#8674bd}.move-symbol.inaccuracy{background:#f3c62e}.move-symbol.mistake{background:#b66a15}.move-symbol.blunder{background:#d34251}.game-result{text-align:right;color:#929dab;border-top:1px solid var(--line);flex-shrink:0;padding:4px 14px;font-size:12px}.empty-notation{color:var(--muted);padding:18px 8px;font-size:14px}.overview-panel{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.overview-empty{color:var(--muted);padding:22px 18px;font-size:14px}.overview-empty>svg{display:none}.accuracy-grid{text-align:center;flex-shrink:0;grid-template-columns:minmax(130px,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px 14px 8px;display:grid}.accuracy-grid>div{min-width:0}.accuracy-label{text-align:left;color:var(--muted);align-self:end;padding-bottom:7px;font-size:12px}.classification-label{align-items:center;gap:8px;min-width:0;display:flex}.accuracy-grid span{color:#a4adb8;text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.accuracy-grid strong{letter-spacing:-1px;color:#efebf7;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.25;display:block}.accuracy-grid strong small{letter-spacing:0;color:#aaa1bc;margin-left:2px;font-size:15px;font-weight:400}.accuracy-grid p{color:#a1a9b3;font-size:12px}.classification-table{flex:none;align-content:start;padding:2px 14px 10px;display:grid}.classification-table>div{color:#ced5dc;grid-template-columns:minmax(130px,1.2fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;min-height:28px;font-size:14px;display:grid}.classification-table strong{font-variant-numeric:tabular-nums;text-align:center;color:#e2e7ed;font-size:17px;font-weight:500}.classification-table>div:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.metric-note{color:#9da7b2;padding:4px 14px 10px;font-size:12px;line-height:1.5}.variations{border-top:1px solid var(--line);flex:0 auto;max-height:94px;padding:8px 14px;overflow:auto}.section-label{color:#a5afb9;margin-bottom:6px;font-size:12px;font-weight:500}.variation-chip{border:1px solid var(--accent-border);background:var(--accent-soft);color:#d5c8f3;border-radius:4px;margin:0 5px 4px 0;padding:3px 8px;font-size:13px}.variation-path{color:#b6aec4;margin-top:4px;font-size:12px;line-height:1.5}.review-progress{flex-shrink:0;padding:2px 14px 9px}.review-progress>div,.review-progress>div>span{align-items:center;gap:7px;font-size:13px;display:flex}.review-progress>div{justify-content:space-between}.review-progress progress{appearance:none;border:0;border-radius:3px;width:100%;height:16px;margin:7px 0 3px;overflow:hidden}.review-progress progress::-webkit-progress-bar{background:var(--accent-soft)}.review-progress progress::-webkit-progress-value{background:var(--accent)}.review-progress small{color:var(--muted);font-size:12px}.position-card{flex-shrink:0;max-height:102px;padding:10px 14px;overflow:auto}.card-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.card-heading h2{font-size:17px;font-weight:600}.card-heading p{color:var(--muted);margin-top:5px;font-size:13px}.card-heading.tight{padding:0}.card-heading h3{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.card-heading h3>svg{color:var(--accent)}.position-card p{color:#b4bdc6;margin-top:5px;font-size:13px;line-height:1.4}.position-card .game-comment{max-height:38px;overflow:auto}.inline-classification{color:#b0d398;margin-right:8px;font-size:13px;font-weight:500;display:inline-flex}.inline-classification.blunder{color:#eca0a3}.inline-classification.mistake{color:#e4ae77}.inline-classification.best{color:#a2d65b}.inline-classification.excellent{color:#80b5fa}.inline-classification.good{color:#b7a4e9}.inline-classification.inaccuracy{color:#ffe060}.workspace-loading{color:var(--muted);background:var(--bg);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex;position:fixed;inset:0}.workspace-loading .pigeon-mark{color:var(--accent)}.chart-card{z-index:1;flex:0 0 164px;padding:10px 14px 8px;position:relative}.chart-heading{color:#c7cfd7;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.chart-heading>span:first-child{align-items:center;gap:7px;display:flex}.green-line{display:none}.evaluation-chart{height:120px;margin-top:6px;position:relative}.evaluation-chart svg{width:100%;height:100%;overflow:visible}.chart-empty{color:#939eaa;pointer-events:none;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.chart-hit-targets{display:flex;position:absolute;inset:0}.chart-hit-targets button{background:0 0;border:0;flex:1;min-width:1px;padding:0}.chart-hit-targets button:hover{background:#b5a0f515}.chart-axis{display:none}.engine-card{--engine-row-height:30px;flex:none;padding:9px 14px 10px;position:relative}.engine-heading{justify-content:space-between;align-items:center;display:flex}.engine-heading>div{align-items:center;gap:8px;font-size:14px;display:flex}.engine-heading strong{font-weight:600}.engine-heading svg{color:var(--accent)}.engine-heading .icon-button{width:26px;height:26px}.status-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.status-dot.error{background:#de9898}.engine-meta{color:#9fa9b4;justify-content:space-between;align-items:center;gap:8px;padding:2px 0 7px;font-size:12px;display:flex}.engine-results{height:calc(var(--engine-rows,3) * var(--engine-row-height));min-width:0;overflow:auto}.engine-lines{max-height:150px;overflow:auto}.engine-line{width:100%;min-height:var(--engine-row-height);text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;gap:10px;padding:3px 0;display:flex}.engine-line:hover{background:#282f35}.engine-line>span:last-child{text-overflow:ellipsis;color:#c7ced7;font-family:ui-monospace,SF Mono,monospace;font-size:13px;overflow:hidden}.line-eval{font-variant-numeric:tabular-nums;text-align:center;color:#c9d2dc;background:#2d333a;border-radius:4px;min-width:50px;padding:2px 5px;font-size:13px;font-weight:600}.line-eval.best{background:var(--accent-soft);color:#d8c7ff}.engine-wait{color:#a4adb8;align-items:center;gap:7px;padding:8px 0;font-size:13px;display:flex}.engine-error{color:#e0a7a7;font-size:13px;line-height:1.5}.library-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.subtle-count{color:#9da8b5;margin-left:6px;font-size:13px;font-weight:400}.search-field{color:#a1adb9;border:1px solid #3b444e;border-radius:6px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-field input{background:0 0;border:0;width:230px;padding:8px 0;font-size:14px}.search-field input:focus{box-shadow:none}.library-empty{color:#8f9da9;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px 24px;display:flex}.library-empty h3{color:#dce3e9;font-size:18px;font-weight:500}.library-empty p{color:#abb4be;font-size:14px}.game-list{border-top:1px solid var(--line);flex:1;min-height:0;overflow:auto}.game-library-row{border-bottom:1px solid #2d3239;align-items:center;padding:3px 14px;display:flex}.game-library-row:last-child{border-bottom:0}.game-open{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:14px;min-width:0;padding:13px 4px;display:flex}.game-open>span:nth-child(2){min-width:0}.game-open strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;display:block;overflow:hidden}.game-open small{color:#9da8b3;margin-top:5px;font-size:12px;display:block}.game-open>svg{color:#8f9aa6}.game-open:hover strong{color:#d5c7ff}.game-icon{background:var(--accent-soft);color:#cfbfed;border-radius:5px;flex-shrink:0;place-items:center;width:34px;height:38px;font-size:25px;display:grid}.versus{color:#8e9ca9;margin:0 6px;font-size:12px}.result-pill{color:#bbc6d1;white-space:nowrap;background:#2b3239;border-radius:4px;margin-left:auto;padding:3px 7px;font-size:13px}.delete-button{margin-left:10px}.delete-button:hover{color:#eeb0b2;background:#472f33}.modal,.account-dialog{width:min(560px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--ink);background:#1e2227;border:1px solid #424b56;border-radius:10px;padding:24px;overflow-y:auto;box-shadow:0 24px 90px #0008}.modal::backdrop,.account-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080a0db8}.modal-head,.modal-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.modal h2,.account-dialog h2{letter-spacing:-.3px;font-size:20px;font-weight:600}.modal-head p,.modal-heading p{color:#aab4be;margin-top:6px;font-size:14px}.segmented{background:#171b20;border:1px solid #353e48;border-radius:6px;gap:3px;margin-bottom:18px;padding:3px;display:flex}.segmented button{color:#a6b1bd;background:0 0;border:0;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px 8px;font-size:14px;display:flex}.segmented button.active{color:#e1e8ef;background:#303943}.upload-zone{border:1px dashed var(--accent-border);width:100%;color:var(--accent);background:#262230;border-radius:6px;flex-direction:column;align-items:center;gap:7px;margin-bottom:16px;padding:19px;display:flex}.upload-zone strong{color:#d5c8ed;font-size:14px;font-weight:500}.upload-zone span{color:#b5acbf;font-size:12px}.field-label{color:#c7d0d9;margin:14px 0 8px;font-size:14px;font-weight:500;display:block}.input-action{gap:8px;display:flex}.input-action input{flex:1;min-width:0}.info-callout{border:1px solid var(--accent-border);color:#ccc0e2;background:#262230;border-radius:6px;align-items:flex-start;gap:11px;margin-bottom:16px;padding:12px 14px;display:flex}.info-callout>svg{flex-shrink:0}.info-callout strong{font-size:14px;font-weight:500}.info-callout p{color:#bcb2cb;margin-top:3px;font-size:13px;line-height:1.6}.error-message,.field-error{color:#e9b0b5;background:#37282d;border:1px solid #664448;border-radius:6px;margin-top:14px;padding:10px 12px;font-size:13px;line-height:1.6}.import-results{margin-top:16px}.import-game-list{max-height:min(270px,34dvh);overflow-y:auto}.import-counts{color:var(--muted);margin-top:3px;font-size:12px;display:block}.import-game-summary{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.import-game-summary>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-game-summary small{margin-left:0}.import-load-more{width:100%;margin-top:12px}.import-results-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.import-results-heading .section-label{margin:0;font-size:13px}.import-game{border-bottom:1px solid #333b43;align-items:center;gap:9px;padding:10px 0;font-size:13px;display:flex}.import-game input{accent-color:var(--accent)}.import-game small{color:#a8b2bd;white-space:nowrap;margin-left:auto;font-size:12px}.toast{bottom:20px;left:calc(50% + var(--sidebar) / 2);z-index:60;border:1px solid var(--accent-border);color:#e6dcf8;background:#30283d;border-radius:7px;align-items:center;gap:10px;width:max-content;max-width:min(670px,100% - 40px);padding:10px 12px 10px 15px;font-size:14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #0006}.toast>svg{flex-shrink:0}kbd{vertical-align:1px;color:#e6edf3;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#252b33;border:1px solid #414d5c;border-radius:4px;justify-content:center;align-items:center;min-width:18px;height:20px;margin:0 1px;padding:0 4px;font-family:inherit;font-size:11px;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 1px #121519,inset 0 1px #ffffff1a}.help-list{flex-direction:column;gap:14px;display:flex}.help-group{flex-direction:column;gap:6px;display:flex}.help-group-header{color:#dce5ed;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.help-group-header svg{color:var(--accent);flex-shrink:0}.shortcut-rows{color:#adb9c6;grid-template-columns:auto 1fr;align-items:baseline;gap:5px 14px;padding-left:24px;font-size:13px;display:grid}.shortcut-keys{color:#c9d5e1;white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.shortcut-desc{color:#adb9c6;line-height:1.4}.help-list p{color:#adb9c6;gap:12px;margin:0;font-size:13px;line-height:1.6;display:flex}.help-list p>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.help-list strong{color:#dce5ed;margin-bottom:2px;font-size:13px;font-weight:600;display:block}.help-list+.metric-note{padding:16px 0 0}.promotion-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.account-dialog p{color:#acb7c3;font-size:14px;line-height:1.6}.account-dialog form{flex-direction:column;gap:14px;display:flex}.form-field{color:#c5d0db;flex-direction:column;gap:7px;font-size:14px;display:flex}.form-field input{width:100%}.form-field small,.field-hint{color:#a4afbc;font-size:13px}.account-dialog .notice{border:1px solid var(--accent-border);color:#d6c5ef;background:#2b2338;border-radius:6px;margin-top:14px;padding:12px;font-size:13px}.account-actions{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.account-summary{align-items:center;gap:12px;padding:0 0 18px;display:flex}.account-setup>svg{display:none}.account-setup h3{margin-bottom:9px;font-size:16px;font-weight:500}.account-setup p+p{margin-top:10px}.account-setup .primary-button{margin-top:20px}.account-dialog code{color:#d5c4f4;font-size:12px}.eyebrow{color:#a4aebb;font-size:12px}.analysis-settings{flex-direction:column;gap:18px;display:flex}.settings-group{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding-bottom:20px;display:flex}.settings-group h3{margin:0 0 2px;font-size:15px;font-weight:650}.settings-group .appearance-options{margin-bottom:0}.settings-group .field-hint{margin:0}.settings-engine{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.settings-engine label{flex-direction:column;gap:8px;font-size:13px;display:flex}.settings-engine select{width:100%}.settings-colors{border-block:1px solid var(--line);padding-block:8px}.settings-colors label{justify-content:space-between;align-items:center;min-height:45px;display:flex}.settings-colors small{color:var(--muted);margin-left:12px;font-size:12px}.settings-colors input[type=color]{cursor:pointer;width:46px;height:30px;padding:3px}.settings-toggle{justify-content:space-between;align-items:center;gap:9px;min-height:32px;display:flex}.settings-footer{justify-content:space-between;align-items:center;display:flex}.modal>.field-hint+.field-hint{margin-top:10px}.modal>.field-hint[role=status]{margin-top:12px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1600px){:root{--board-max:820px;--board-width-budget:664px}.page-content{max-width:1450px}.studio-grid{grid-template-columns:calc(var(--board-size) + 44px) minmax(410px, 480px)}}@media (max-width:1100px) and (min-width:801px){:root{--board-width-budget:510px}.page-content{padding:16px}.topbar{padding:0 16px}.studio-grid{grid-template-columns:calc(var(--board-size) + 44px) 350px;gap:16px}.turn-indicator{font-size:11px}.player-time,.player-row strong{font-size:13px}}@media (max-height:900px) and (min-width:801px){.page-content{gap:8px;padding-top:10px;padding-bottom:10px}.review-header{padding-top:6px;padding-bottom:6px}.panel-tabs>button{padding-top:5px;padding-bottom:5px}.chart-card{flex-basis:140px;padding-top:7px;padding-bottom:6px}.evaluation-chart{height:104px;margin-top:3px}.position-card{max-height:80px;padding-top:7px;padding-bottom:7px}.engine-card{--engine-row-height:26px;padding-top:6px;padding-bottom:7px}.engine-meta{padding-bottom:3px}.analysis-column{gap:0}.classification-table{padding-top:0;padding-bottom:8px}.classification-table>div{min-height:26px;font-size:13px}.classification-table .move-symbol{width:22px;height:22px}.classification-table strong{font-size:16px}.accuracy-grid{padding-top:5px;padding-bottom:5px}.accuracy-grid strong{font-size:26px;line-height:1.1}}@media (max-height:760px) and (min-width:801px){.review-header{padding-top:4px;padding-bottom:4px}.review-game-meta{padding-bottom:5px}.chart-card{flex-basis:124px}.evaluation-chart{height:88px}.classification-table>div{min-height:24px}.classification-table{padding-bottom:4px}.accuracy-grid{padding-top:3px;padding-bottom:3px}.accuracy-grid strong{font-size:25px}.position-card{padding-top:5px;padding-bottom:5px}.engine-card{--engine-row-height:24px}.engine-line,.line-eval{padding-block:1px}.engine-card{grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;display:grid}.engine-heading{grid-area:1/1}.engine-meta{grid-area:1/2;padding:0}.engine-meta>span:last-child{display:none}.engine-results{grid-column:1/-1}}@media (max-width:800px){:root{--sidebar:0px;--board-size:min(100vw - 56px, 580px)}.app-shell{height:auto;min-height:100dvh;display:block}.sidebar{z-index:40;border-right:0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#17191df5;flex-direction:row;gap:12px;width:100%;height:55px;padding:7px 15px;position:sticky;top:0}.brand{justify-content:flex-start;gap:7px;width:auto}.brand>span{letter-spacing:-.7px;font-size:19px;font-weight:600;display:block}.brand-dot{color:var(--accent)}.pigeon-mark{width:45px;height:45px}.sidebar nav{flex-direction:row;gap:5px;width:auto;margin:0 0 0 auto}.nav-item{width:34px;height:34px}.sidebar-bottom{flex-direction:row;gap:3px;width:auto;margin:0}.sidebar-bottom>.nav-item{display:flex}.nav-item.import-action{border-radius:8px;height:34px;margin-bottom:0}.nav-item.import-action>svg{width:26px;height:26px}.brand>span{display:none}.account-button{width:32px;height:34px}.avatar{width:29px;height:29px}.main-area{width:100%}.topbar{min-height:58px;padding:9px 16px}.topbar-right{gap:9px}.topbar-right>.icon-button{display:none}.workspace-title,.topbar h1{font-size:17px}.page-content{gap:10px;padding:10px 14px 20px}.studio-toolbar{flex-wrap:wrap;gap:10px;max-width:none}.game-label{flex:1}.game-label strong{font-size:13px}.game-label>span:not(.separator-dot){font-size:12px}.studio-grid{flex-direction:column;gap:16px;display:flex}.board-column{align-self:center;width:min(100%,608px);margin-inline:auto}.move-controls{gap:2px}.move-counter{min-width:56px;font-size:13px}.board-controls{grid-template-columns:30px minmax(0,1fr) 30px;padding:0 2px}.board-controls .icon-button{width:30px;height:40px}.board-controls .step-button{width:44px;height:48px}.player-row strong{font-size:13px}.player-row>div>span{font-size:12px}.turn-indicator{font-size:11px}.player-time{font-size:12.5px}.analysis-column{width:100%;max-width:608px;max-height:none;margin:auto}.review-card{flex:none;height:370px}.engine-card{margin-bottom:4px}.notation-row{height:34px}.notation-row>button{font-size:15px}.library-view{min-height:400px;max-height:calc(100dvh - 138px)}.card-heading{flex-wrap:wrap;padding:14px}.search-field,.search-field input{width:100%}.game-library-row{padding:3px 10px}.game-open{gap:9px}.game-open strong{font-size:13px}.game-open>svg,.game-icon{display:none}.game-open small{font-size:11px}.modal,.account-dialog{padding:20px}.input-action{flex-direction:column}.toast{width:calc(100% - 28px);font-size:13px;bottom:14px;left:50%}}@media (max-width:380px){.board-controls{grid-template-columns:24px minmax(0,1fr) 24px}.board-controls .icon-button{width:24px}.board-controls .step-button{width:36px}.board-controls .step-button svg{width:28px;height:28px}.move-controls{gap:0}.move-counter{min-width:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.move-notation{align-items:center;gap:2px;display:inline-flex}.notation-piece{flex-shrink:0;width:20px;height:20px;display:inline-flex}.notation-piece svg{width:100%;height:100%;display:block}.appearance-options{border:0;min-width:0;margin:0 0 18px;padding:0}.appearance-options legend{margin-bottom:10px;font-size:13px;font-weight:600}.appearance-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.piece-set-grid{grid-template-columns:repeat(5,minmax(76px,1fr));padding-bottom:4px;overflow-x:auto}.appearance-choice{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:7px;flex-direction:column;align-items:center;gap:6px;padding:8px 3px;font-size:11px;display:flex}.appearance-choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.board-swatch{border-radius:3px;width:34px;height:34px}.piece-swatch{width:34px;height:34px;display:block}.piece-swatch svg,.notation-piece img{width:100%;height:100%;display:block}.social-signin{gap:10px;margin:18px 0;display:grid}.social-signin .secondary-button{justify-content:center;width:100%;height:44px;min-height:44px}.social-signin svg{flex:0 0 20px;width:20px;height:20px}.modal-head h2:focus,.modal-heading h2:focus{outline:none}.sidebar-import{position:relative}.build-version{color:var(--muted);-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;font-size:11px;line-height:1.6;display:block}.build-version code{font:inherit;font-family:monospace}
