:root{color:#f4f0e8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--muted:#9da69d;--gold:#d6ad66;--panel:#1b231e;--panel-raised:#222c25;--panel-inset:#141b16;--border-subtle:#bccab81c;--border-strong:#3b493d;--text-primary:#f4f0e8;--text-secondary:#bec7ba;--radius-panel:18px;--shadow-panel:0 18px 48px #00000038, inset 0 1px #ffffff0a;background:#111713;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}button,select,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:not(:disabled){transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,transform .15s}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,select:focus-visible,input[type=checkbox]:focus-visible,input[type=range]:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}select{appearance:none;color:#f4f0e8;cursor:pointer;background-color:#171f19;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%23d6ad66' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;border:1px solid #465447;border-radius:9px;min-height:38px;padding:7px 34px 7px 11px;font-size:12px;transition:background-color .15s,border-color .15s,box-shadow .15s}select:hover{background-color:#202b22;border-color:#718067}select:disabled{cursor:not-allowed;opacity:.55}select option{color:#f4f0e8;background:#171f19}input[type=checkbox]{appearance:none;cursor:pointer;background:#151c17;border:1px solid #64715e;border-radius:5px;flex:0 0 17px;place-content:center;width:17px;height:17px;margin:0;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-grid}input[type=checkbox]:before{content:"";border-bottom:2px solid #172019;border-left:2px solid #172019;width:9px;height:5px;transition:transform .12s;transform:translateY(-1px)rotate(-45deg)scale(0)}input[type=checkbox]:checked{border-color:var(--gold);background:var(--gold);box-shadow:0 0 0 3px #d6ad661f}input[type=checkbox]:checked:before{transform:translateY(-1px)rotate(-45deg)scale(1)}input[type=range]{appearance:none;cursor:pointer;background:0 0;height:18px}input[type=range]::-webkit-slider-runnable-track{background:#151c17;border:1px solid #465447;border-radius:99px;height:5px}input[type=range]::-moz-range-track{background:#151c17;border:1px solid #465447;border-radius:99px;height:5px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--gold);border:2px solid #f5dfb1;border-radius:50%;width:15px;height:15px;margin-top:-6px;box-shadow:0 1px 5px #00000073}input[type=range]::-moz-range-thumb{background:var(--gold);border:2px solid #f5dfb1;border-radius:50%;width:11px;height:11px;box-shadow:0 1px 5px #00000073}.piece-definitions{width:0;height:0;position:absolute;overflow:hidden}body{background:radial-gradient(at 18% 0,#6276522b,#0000 42%),radial-gradient(at 92% 24%,#ad803f12,#0000 34%),#111713;place-items:start center;min-width:0;min-height:100vh;margin:0;padding:clamp(24px,4vw,48px) clamp(14px,2.5vw,28px);display:grid}.game-shell{width:min(100%,1240px)}.game-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.game-header>div{min-width:0}.game-header .eyebrow{letter-spacing:.15em;background:#d6ad660d;border:1px solid #d6ad6633;border-radius:999px;align-items:center;gap:8px;padding:6px 9px;font-size:9px;display:inline-flex}.game-header .eyebrow:before{content:"";background:#d7bd7a;border-radius:50%;width:6px;height:6px;box-shadow:0 0 9px #d6ad666b}.account-panel{background:radial-gradient(at 0 0,#d6ad6614,#0000 48%),linear-gradient(120deg,#243027f5,#19211cfa);border:1px solid #3b4b3e;border-radius:16px;grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);align-items:start;gap:16px 28px;margin-bottom:20px;padding:20px 22px;display:grid;box-shadow:inset 0 1px #ffffff0d,0 14px 36px #0003}.account-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.account-heading h2{color:#eee8d8;margin:7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:500}.account-form{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;align-items:end;gap:8px;display:grid}.account-form label,.account-password-form label{color:#b7c0b5;flex-direction:column;gap:5px;min-width:0;font-size:11px;font-weight:600;display:flex}.account-form label[hidden],.account-password-form[hidden]{display:none}.account-form input,.account-password-form input{color:#f4f0e8;width:100%;min-width:0;min-height:40px;font:inherit;background:#131a15;border:1px solid #4a594b;border-radius:9px;padding:9px 11px;font-size:12px;transition:border-color .15s,background-color .15s,box-shadow .15s}.account-form input:hover,.account-password-form input:hover{background:#172019;border-color:#687a66}.account-form input:focus-visible{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d6ad662b}.account-primary-button,.account-secondary-button{color:#20251c;min-height:40px;font:inherit;cursor:pointer;background:linear-gradient(#e1bc74,#c49a51);border:1px solid #dfb86e;border-radius:8px;padding:0 16px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.account-primary-button:hover{background:linear-gradient(#edca83,#d2a85d);border-color:#f0d39a;transform:translateY(-1px)}.account-links{grid-column:1/-1;justify-content:flex-end;gap:14px;display:flex}.account-links button{color:#cbb47f;min-height:30px;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:11px}.account-links button:hover{color:#f0d59a;text-decoration:underline}.account-status{color:#a7b3a5;background:#ffffff05;border:1px solid #344237;border-radius:9px;grid-column:1/-1;margin:0;padding:9px 11px;font-size:11px;line-height:1.55}.account-password-form{grid-column:1/-1;align-items:flex-end;gap:8px;padding-top:4px;display:flex}.account-password-form label{flex:1}.account-password-form input{max-width:280px}.account-status:empty{display:none}.account-status[data-error=true]{color:#f0a392;background:#783a2f24;border-color:#71483f}.account-signed-in{align-items:center;gap:10px;display:flex}.account-signed-in[hidden]{display:none}#account-identity{color:#e7d2a2;text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:11px;overflow:hidden}.account-secondary-button{color:#e9e6dc;background:#263128;border-color:#52614f;min-height:36px;padding:0 12px;font-size:11px}.account-secondary-button:hover{background:#303e32;border-color:#78845c}.eyebrow,.board-label{color:var(--gold);letter-spacing:.19em;margin:0;font-size:10px;font-weight:750}h1{letter-spacing:-.055em;margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,8vw,52px);font-weight:500;line-height:1}h1 span{color:var(--gold)}.game-subtitle{color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.55}#reset-button{min-height:42px;color:var(--text-primary);font:inherit;cursor:pointer;background:linear-gradient(#273229,#202922);border:1px solid #485549;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:0 16px;font-size:13px;font-weight:650;display:inline-flex;box-shadow:inset 0 1px #ffffff0d,0 5px 14px #00000026}#reset-button span{color:var(--gold);font-size:19px;line-height:1}#reset-button:hover{background:linear-gradient(#303c31,#252f27);border-color:#93805a;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff12,0 8px 18px #00000038}#reset-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.game-layout{grid-template-columns:42px minmax(0,1fr) 250px;align-items:stretch;gap:18px;display:grid}.evaluation-panel{flex-direction:column;align-items:center;gap:12px;min-width:0;padding:20px 0;display:flex}.evaluation-label{color:var(--muted);letter-spacing:.12em;font-size:9px;font-weight:750}.evaluation-value{color:#f0c979;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.evaluation-meter{background:linear-gradient(#29332b,#171d19);border:1px solid #536050;border-radius:999px;flex:1;width:17px;min-height:300px;position:relative;overflow:hidden;box-shadow:inset 0 1px 5px #00000059}.evaluation-fill{height:var(--evaluation-fill,50%);background:linear-gradient(90deg,#f8f3e7,#d8d1c1);border-radius:999px;transition:height .45s;position:absolute;bottom:0;left:0;right:0;box-shadow:0 0 8px #ffffff38}.engine-status{color:#849084;text-align:center;writing-mode:vertical-rl;margin:0;font-size:9px;line-height:1.3;transform:rotate(180deg)}.game-panel,.history-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:linear-gradient(145deg, #ffffff05, transparent 48%), linear-gradient(145deg, #202922, var(--panel) 70%);box-shadow:var(--shadow-panel);padding:clamp(16px,4vw,24px)}.history-panel{flex-direction:column;min-width:0;padding:22px 18px 16px;display:flex}.history-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:10px;padding-bottom:17px;display:flex}.history-header h2{letter-spacing:-.02em;margin:7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:500}.move-count{width:34px;height:34px;color:var(--gold);background:#d6ad660f;border:1px solid #465447;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.move-history{scrollbar-color:#53604f transparent;scrollbar-width:thin;flex-direction:column;flex:1;gap:4px;min-height:120px;max-height:420px;margin:12px -6px 0 0;padding:0 6px 0 0;list-style:none;display:flex;overflow-y:auto}.history-navigation{grid-template-columns:repeat(2,32px) minmax(0,1fr) repeat(2,32px);align-items:center;gap:5px;margin-top:12px;display:grid}.history-navigation button{color:#e9e6dc;min-height:30px;font:inherit;cursor:pointer;background:linear-gradient(#263128,#1d261f);border:1px solid #3b493e;border-radius:8px;font-size:11px;box-shadow:inset 0 1px #ffffff0a}.history-navigation button:hover,.history-move-button:hover,.variation-move:hover{background:#303a2f;border-color:#7d8059}#current-ply{color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.history-shortcuts{color:#849084;text-align:center;margin:6px 0 0;font-size:9px}.opening-notation{background:linear-gradient(110deg,#ffffff08,#ffffff03);border:1px solid #37463a;border-radius:9px;flex-direction:column;gap:3px;margin-top:10px;padding:8px 10px;display:flex}.opening-notation span{color:#91a18c;letter-spacing:.08em;font-size:8px;font-weight:750}.opening-notation strong{color:#e6d3a9;font-size:11px}.move-row{color:#d7d9d0;font-variant-numeric:tabular-nums;border-radius:8px;grid-template-columns:30px 1fr 1fr;align-items:center;min-height:36px;padding:0 9px;font-size:13px;display:grid}.move-row:nth-child(odd){background:#ffffff08}.move-row.current-move-row{outline-offset:-1px;outline:1px solid #d6ad6640}.move-number{color:#8a9588;font-size:11px}.move-notation{font-weight:600}.move-cell{white-space:nowrap;align-items:baseline;gap:3px;display:inline-flex}.history-move-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 3px;font-weight:600}.current-history-move,.current-variation-move{color:#f0c979;background:#d6ad6621;border-color:#8d7449}.move-quality{color:#f0c979;text-align:center;cursor:help;min-width:13px;font-size:10px;font-weight:800}.latest-move .move-notation:last-child{color:#f0c979}.history-empty{color:var(--muted);text-align:center;margin:22px 0;font-size:12px;line-height:1.6}.history-empty[hidden]{display:none}.variation-section{border-top:1px solid #303b32;margin-top:14px;padding-top:12px}.variation-section h3{color:#deddd3;margin:0 0 8px;font-size:11px;font-weight:700}.variations-tree{scrollbar-color:#53604f transparent;scrollbar-width:thin;max-height:210px;overflow:auto}.variation-root,.variation-children{margin:0;padding-left:15px;list-style:none}.variation-root{padding-left:0}.variation-item{margin:3px 0;position:relative}.variation-move{color:#d7d9d0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 5px;font-size:11px}.variation-move.has-comment:after{color:var(--gold);content:"●";vertical-align:middle;margin-left:5px;font-size:7px}.comment-form{border-top:1px solid #303b32;flex-direction:column;gap:7px;margin-top:14px;padding-top:12px;display:flex}.comment-form label{color:#deddd3;font-size:11px;font-weight:700}.comment-form textarea{color:#f4f0e8;width:100%;min-height:68px;font:inherit;resize:vertical;background:#151c17;border:1px solid #3b473e;border-radius:7px;padding:8px 9px;font-size:11px;line-height:1.5}.comment-form textarea:focus,.history-navigation button:focus-visible,.history-move-button:focus-visible,.variation-move:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.comment-status{color:#849084;font-size:10px}.history-notation{color:#849084;border-top:1px solid #303b32;margin:14px 0 0;padding-top:12px;font-size:11px}.analysis-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.tool-panel{border:1px solid var(--border-subtle);background:linear-gradient(145deg, #ffffff05, transparent 48%), linear-gradient(145deg, #202922, var(--panel) 70%);border-radius:16px;min-width:0;padding:clamp(17px,2vw,22px);box-shadow:0 12px 32px #0000002b,inset 0 1px #ffffff08}.tool-panel-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;display:flex}.tool-panel-header h2{letter-spacing:-.02em;margin:7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(18px,2vw,21px);font-weight:500;line-height:1.2}.tool-panel-header>.secondary-button{flex-shrink:0;margin-top:0}.game-library-panel{background:radial-gradient(ellipse at 100% 0%, #d6ad660f, transparent 40%), linear-gradient(145deg, #202922, var(--panel) 70%);grid-column:1/-1;overflow:hidden}.opening-trainer-panel{grid-column:1/-1}.opening-trainer-controls{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px;margin-top:15px;display:grid}.opening-trainer-controls label,.study-goals-form label{min-width:0;color:var(--text-secondary);flex-direction:column;gap:7px;font-size:11px;font-weight:600;display:flex}.opening-trainer-controls select{width:100%}.opening-trainer-controls .secondary-button{min-height:38px;margin:0}.opening-trainer-controls .secondary-button:disabled{cursor:not-allowed}.opening-trainer-panel>[role=status]{margin-bottom:0}.game-library-panel .load-form{max-width:760px;margin-top:18px}.game-account-import-form{border:1px solid var(--border-subtle);background:#0000001f;border-radius:12px;max-width:760px;padding:14px}.game-account-import-form .form-row{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.game-import-submit-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}.game-import-submit-row label{flex-direction:column;gap:5px;display:flex}.game-import-submit-row select{min-width:110px}.progress-dashboard-panel,.study-goals-panel{min-width:0}.progress-dashboard,.study-goals-progress{gap:12px;margin-top:14px;display:grid}.progress-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.progress-metric{border:1px solid var(--border-subtle);background:linear-gradient(145deg,#ffffff08,#ffffff03);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:12px 10px;display:flex}.progress-metric strong{color:#f0d08b;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(17px,2vw,22px);overflow:hidden}.progress-metric span{color:var(--muted);font-size:10px;line-height:1.4}.progress-dashboard h3{color:#d6ddd2;margin:5px 0 -7px;font-size:12px;font-weight:600}.progress-chart{width:100%;height:auto;min-height:90px;overflow:visible}.progress-chart-baseline{stroke:#53604f;stroke-dasharray:4 5}.progress-chart-line{fill:none;stroke:#d6ad66;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.progress-chart-point{fill:#f0c979;stroke:#202922;stroke-width:2px}.study-goals-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin-top:15px;display:grid}.study-goals-form input{width:100%;min-width:0;min-height:38px;color:var(--text-primary);background:#151c17;border:1px solid #3b473e;border-radius:8px;padding:8px 10px}.study-goals-form button{grid-column:1/-1;justify-self:start}.study-goal-item{gap:7px;display:grid}.study-goal-heading{color:#dce1d7;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.study-goal-heading span{color:#f0d08b;font-variant-numeric:tabular-nums}.study-goal-item progress{appearance:none;background:#131a15;border:0;border-radius:99px;width:100%;height:8px;overflow:hidden}.study-goal-item progress::-webkit-progress-bar{background:#131a15;border-radius:99px}.study-goal-item progress::-webkit-progress-value{background:linear-gradient(90deg,#9f8650,#e0bd72);border-radius:99px}.study-goal-item progress::-moz-progress-bar{background:linear-gradient(90deg,#9f8650,#e0bd72);border-radius:99px}.game-library-insights{gap:10px;margin-top:16px;display:grid}.game-library-summary{color:#f0d08b;background:linear-gradient(110deg,#d6ad661a,#ffffff05);border:1px solid #46513d;border-radius:10px;margin:0;padding:11px 13px;font-size:13px;font-weight:650;line-height:1.5}.game-library-review-summary{color:#b3d5bb;background:linear-gradient(110deg,#5d96731a,#ffffff05);border-color:#344c43}.game-library-insights h3{color:#e7e5d9;margin:8px 0 0;font-size:14px}.opening-insight-list,.game-library-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.opening-insight-list li,.game-library-item{background:linear-gradient(110deg,#ffffff08,#ffffff03);border:1px solid #364239;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;transition:border-color .15s,background-color .15s,transform .15s;display:flex}.game-library-item:hover,.opening-insight-list li:hover{background-color:#ffffff08;border-color:#53614c;transform:translateY(-1px)}.opening-insight-list strong,.game-library-game-info strong{color:#e8e5d9;font-size:12px}.opening-insight-list span,.game-library-game-info span{color:var(--muted);text-align:right;font-size:11px}.game-library-tip{color:#c9d0c3;background:#d6ad660d;border-left:2px solid #8a7548;border-radius:0 8px 8px 0;margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.game-library-list{gap:8px;margin-top:18px}.game-library-item{align-items:center}.game-library-game-info{flex-direction:column;gap:4px;min-width:0;display:flex}.game-library-game-info span{text-align:left}.game-library-actions{flex-shrink:0;gap:6px;display:flex}.game-library-actions .secondary-button{margin-top:0}.sync-warning{color:#f0d49a;background:linear-gradient(110deg,#d6ad661c,#d6ad660a);border:1px solid #856d3e;border-radius:10px;margin:14px 0 0;padding:12px 14px;font-size:12px;line-height:1.6}.sync-warning[hidden]{display:none}.multipv-control{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.multipv-control select,.load-form input,.load-form textarea,.form-row select,.setup-controls select,.setup-controls input[type=text]{color:#f4f0e8;min-width:0;font:inherit;background-color:#151c17;border:1px solid #3b473e;border-radius:8px}.multipv-control select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%23d6ad66' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;min-width:62px;padding:7px 30px 7px 10px}.engine-controls{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.depth-control{color:var(--muted);grid-template-columns:auto auto;align-items:center;gap:4px 8px;font-size:11px;display:grid}.depth-control input{grid-column:1/-1;width:120px}.depth-control output{color:#f0c979;text-align:right;font-weight:700}.tool-description{color:var(--text-secondary);margin:12px 0;font-size:12px;line-height:1.6}.candidate-lines,.explorer-moves{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.candidate-line{border:1px solid var(--border-subtle);background:linear-gradient(110deg,#ffffff08,#ffffff03);border-radius:10px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:52px;padding:9px 11px;transition:border-color .15s,background-color .15s;display:grid}.candidate-line:hover{background-color:#ffffff05;border-color:#53614c}.candidate-score{color:#f0c979;font-variant-numeric:tabular-nums;font-size:12px;font-weight:750}.candidate-pv{color:#e5e3d8;text-overflow:ellipsis;font-size:12px;line-height:1.5;overflow:hidden}.line-play-button,.secondary-button,.load-form button{color:#e9e6dc;min-height:36px;font:inherit;cursor:pointer;background:linear-gradient(#2b382d,#222c25);border:1px solid #465447;border-radius:9px;padding:0 12px;font-size:11px;font-weight:650;box-shadow:inset 0 1px #ffffff0a}.line-play-button:hover,.secondary-button:hover,.load-form button:hover{background:linear-gradient(#344132,#283229);border-color:#8b805b;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0f,0 5px 12px #0000002e}.line-play-button:disabled{cursor:not-allowed;opacity:.5}.line-play-button:active,.secondary-button:active,.load-form button:active,.annotation-toolbar button:active,.setup-actions button:active,.history-navigation button:active{transform:translateY(1px)}.promotion-dialog{color:#f4f0e8;background:linear-gradient(145deg,#253027,#171e19 78%);border:1px solid #53634f;border-radius:16px;width:min(360px,100vw - 32px);padding:0;overflow:visible;box-shadow:0 24px 80px #0000008c,inset 0 1px #ffffff0d}.promotion-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050906b8}.promotion-form{flex-direction:column;gap:12px;padding:22px;display:flex}.promotion-form h2{margin:-5px 0 2px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.promotion-form label{color:var(--muted);font-size:12px}.promotion-form select{width:100%;min-height:44px;font-size:14px}.promotion-actions{justify-content:flex-end;gap:9px;margin-top:6px;display:flex}.promotion-actions button{color:#f4f0e8;cursor:pointer;border:1px solid #465447;border-radius:8px;min-height:38px;padding:0 14px;font-size:12px;font-weight:650}.promotion-cancel{background:#202a23}.promotion-cancel:hover{background:#303e32;border-color:#78845c}.promotion-confirm{background:linear-gradient(#e1bc74,#c49a51);box-shadow:0 3px 10px #00000038;color:#20251c!important;border-color:#dfb86e!important}.promotion-confirm:hover{background:linear-gradient(#edca83,#d2a85d);border-color:#f0d39a!important}.secondary-button{margin-top:12px}.load-form{flex-direction:column;gap:8px;margin-top:16px;display:flex}.load-form label{color:#c9d0c4;font-size:12px;font-weight:600}.load-form input,.load-form textarea{width:100%;min-height:40px;padding:10px 12px;font-size:12px;transition:border-color .15s,background-color .15s,box-shadow .15s}.load-form input:hover,.load-form textarea:hover{background-color:#18211a;border-color:#526250}.load-form input:focus,.load-form textarea:focus,.comment-form textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d6ad6624}.load-form textarea{resize:vertical;min-height:95px;line-height:1.5}.form-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.form-row button{min-width:58px}#load-collection-button,#delete-collection-button{color:#f0eadc;min-width:62px;min-height:36px;font:inherit;cursor:pointer;background:linear-gradient(#303d32,#252f27);border:1px solid #465447;border-radius:8px;padding:0 12px;font-size:11px;font-weight:650;box-shadow:inset 0 1px #ffffff0d}#load-collection-button:hover{color:#f1d59d;background:linear-gradient(#3b4939,#2c382d);border-color:#9a8559;transform:translateY(-1px);box-shadow:0 4px 12px #00000038,inset 0 1px #ffffff0f}#delete-collection-button{color:#d7aaa0;background:linear-gradient(#342925,#29211f);border-color:#59413c}#delete-collection-button:hover{color:#ffc0b2;background:linear-gradient(#49302b,#382521);border-color:#a45e52;transform:translateY(-1px);box-shadow:0 4px 12px #00000038,inset 0 1px #ffffff0d}.load-form input:focus,.load-form textarea:focus,.multipv-control select:focus-visible,.load-form button:focus-visible,.line-play-button:focus-visible,.secondary-button:focus-visible,.explorer-move:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.explorer-panel{grid-column:1/-1}.explorer-subtitle{color:#deddd3;margin:18px 0 8px;font-size:12px}.explorer-auth-form{flex-direction:column;gap:7px;margin-top:14px;display:flex}.explorer-auth-form>label{color:#deddd3;font-size:11px;font-weight:650}.explorer-auth-form input{color:#f4f0e8;min-width:0;min-height:36px;font:inherit;background:#151c17;border:1px solid #3b473e;border-radius:8px;padding:8px 10px;font-size:11px}.explorer-auth-form small{color:var(--muted);font-size:10px;line-height:1.5}.explorer-auth-form a{color:#e5c27b}.explorer-auth-form input:focus,.explorer-auth-form button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.explorer-auth-form .form-row button{color:#e9e6dc;min-width:76px;min-height:36px;font:inherit;cursor:pointer;background:#263128;border:1px solid #465044;border-radius:7px;padding:0 11px;font-size:11px;font-weight:650}.explorer-auth-form .form-row button:hover{background:#303e32;border-color:#78845c}.explorer-auth-form .explorer-disconnect{color:#e9e6dc;min-height:28px;font:inherit;cursor:pointer;background:#202a23;border:1px solid #465044;border-radius:7px;align-self:flex-start;padding:0 9px;font-size:10px}.explorer-disconnect[hidden]{display:none}.explorer-games{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.explorer-games li{color:var(--muted);border:1px solid #303b32;border-radius:8px;padding:8px 10px;font-size:11px}.explorer-games a{color:#e5e3d8;text-underline-offset:3px;text-decoration-color:#68734f}.explorer-games a:hover{color:#f0c979}.review-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.review-metric{border:1px solid var(--border-subtle);background:linear-gradient(140deg,#ffffff08,#ffffff03);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 8px;padding:10px;display:grid}.review-metric span,.review-metric small{color:var(--muted);font-size:10px}.review-metric strong{color:#f0c979;font-variant-numeric:tabular-nums;font-size:16px}.review-metric small{grid-column:1/-1}.review-report{border:1px solid var(--border-subtle);background:linear-gradient(140deg,#ffffff08,#ffffff03);border-radius:10px;margin:12px 0;padding:12px}.review-report h3{color:#f0c979;margin:0;font-size:12px}.report-caption{color:var(--muted);margin:4px 0 6px;font-size:10px}.evaluation-chart{width:100%;height:auto;min-height:100px;display:block;overflow:visible}.evaluation-zero-line{stroke:#53604f;stroke-dasharray:4 4}.evaluation-axis-label{fill:#91a18c;font-size:10px}.evaluation-graph-line{fill:none;stroke:#d6ad66;stroke-linejoin:round;stroke-linecap:round;stroke-width:3px}.evaluation-graph-point{fill:#f0c979;stroke:#202a23;stroke-width:1.5px}.move-type-counts{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.move-type-counts span{color:#c7cdc2;font-variant-numeric:tabular-nums;background:#ffffff0a;border-radius:5px;padding:4px 6px;font-size:9px}.review-moments{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.review-moment{background:#d6ad660d;border:1px solid #4a4031;border-radius:8px;padding:10px}.review-moment strong{color:#f0c979;font-size:12px}.coach-label{color:#a9b49e;letter-spacing:.06em;text-transform:uppercase;margin-top:6px;font-size:10px;font-weight:700;display:block}.review-moment p{color:#c4c9bf;margin:5px 0 8px;font-size:11px;line-height:1.5}.review-moment .practice-move-button{margin:0}.mistake-practice-section{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:14px}.mistake-practice-section[hidden]{display:none}.mistake-practice-section h3{color:#e7e5d9;margin:0;font-size:14px}.mistake-practice-section>.tool-description{margin:6px 0 10px}.mistake-practice-queue{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.mistake-practice-item{background:linear-gradient(110deg,#ffffff08,#ffffff03);border:1px solid #3b463b;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.mistake-practice-description{flex-direction:column;gap:4px;min-width:0;display:flex}.mistake-practice-description strong{color:#eee8d8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mistake-practice-description span{color:var(--muted);font-size:10px}.mistake-practice-item .secondary-button{flex-shrink:0;margin:0}.practice-queue-complete{color:#b7d6bc;background:#5d967314;border:1px solid #35513f;border-radius:9px;padding:11px 12px;font-size:12px;line-height:1.5}.annotation-toolbar,.setup-actions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.annotation-toolbar button,.setup-actions button{color:#e9e6dc;min-height:32px;font:inherit;cursor:pointer;background:#202a23;border:1px solid #3b473e;border-radius:7px;padding:0 9px;font-size:10px}.annotation-color-control{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:inline-flex}.annotation-color-control select{min-height:32px;padding-top:5px;padding-bottom:5px;font-size:10px}.annotation-toolbar button:hover,.setup-actions button:hover{background:#303e32;border-color:#78845c}.annotation-toolbar button[aria-pressed=true]{border-color:var(--gold);color:#f0c979}.annotation-toolbar button:focus-visible,.setup-actions button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.setup-tools{border-top:1px solid #303b32;margin-top:18px;padding-top:14px}.setup-tools h3{color:#deddd3;margin:0;font-size:12px}.setup-controls{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 10px;margin-top:10px;display:grid}.setup-controls label,.collection-label,.setup-option-label{color:var(--muted);font-size:11px}.setup-controls select,.setup-controls input[type=text],.form-row select{min-width:0;min-height:34px;padding:6px 30px 6px 9px;font-size:11px}.setup-castling{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.setup-castling label{cursor:pointer;white-space:nowrap;background:#ffffff05;border:1px solid #303b32;border-radius:7px;align-items:center;gap:7px;min-height:30px;padding:5px 7px;display:flex}.setup-castling input{flex:0 0 17px}.setup-actions .secondary-button[hidden]{display:none}.setup-actions .secondary-button{margin-top:0}.collection-label{margin-top:15px;display:block}.form-row select{flex:1}.move-quality{color:#e4c078;background:#d6ad661a;border-radius:4px;padding:1px 4px;font-size:8px;font-weight:750}.quality-blunder,.quality-mistake,.quality-miss,.quality-inaccuracy{color:#f19b86}.position-insights{flex-direction:column;gap:6px;display:flex}.insight-item{color:#c7cdc2;background:#ffffff05;border-left:2px solid #677b58;border-radius:0 6px 6px 0;margin:0;padding:9px 10px;font-size:11px;line-height:1.5}.insight-phase{color:#f0c979}.explorer-moves{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;display:grid}.explorer-move{color:#e9e6dc;text-align:left;cursor:pointer;background:#ffffff05;border:1px solid #303b32;border-radius:8px;grid-template-columns:42px minmax(0,1fr) 48px;align-items:center;width:100%;min-height:40px;padding:5px 9px;transition:background .15s,border-color .15s;display:grid}.explorer-move:hover{background:#8db88117;border-color:#64734f}.explorer-san{color:#f0c979;font-size:13px;font-weight:750}.explorer-statistics{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.explorer-percentage{color:#e5e3d8;font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.board-topline{justify-content:space-between;align-items:center;gap:12px;margin:0 2px 15px;display:flex}#game-status{color:#e8e4d8;text-align:right;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:flex}#game-status:before{content:"";background:#8db881;border-radius:50%;flex:0 0 7px;width:7px;height:7px;box-shadow:0 0 10px #8db88180}.board-frame{background:linear-gradient(135deg,#ffffff21,#0000 48%),linear-gradient(135deg,#826c4d,#59472f);border:1px solid #786346;border-radius:12px;padding:clamp(7px,1.8vw,11px);box-shadow:0 16px 32px #0000004d,inset 0 1px #ffffff2e}#chessboard{aspect-ratio:1;border-radius:3px;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000038}.square{cursor:pointer;justify-content:center;align-items:center;min-width:0;min-height:0;transition:filter .12s;display:flex;position:relative}.square:hover{filter:brightness(1.08)}.light{background-color:#eadcc2}.dark{background-color:#78906b}.white-piece,.black-piece{z-index:1;cursor:pointer;-webkit-user-select:none;user-select:none;width:82%;height:82%;transition:transform .14s,filter .14s;position:relative;overflow:visible}.white-piece{color:#f5f0e2;filter:drop-shadow(0 2px 1px #0000006b)}.black-piece{color:#29372d;filter:drop-shadow(0 2px 1px #fff3)}.selected{filter:drop-shadow(0 4px 4px #00000073);transform:translateY(-2px)scale(1.12)}.selected-square{box-shadow:inset 0 0 0 3px #f4c968,inset 0 0 18px #f6c45373}.analysis-highlight:before{z-index:2;content:"";pointer-events:none;background:#e8b4483d;border:4px solid #e8b448d9;position:absolute;inset:0}.analysis-highlight-green:before{background:#6fbe753d;border-color:#6fbe75e6}.analysis-highlight-red:before{background:#da62533d;border-color:#da6253e6}.board-annotation-overlay{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.analysis-arrow{stroke:#d6ad66;stroke-linecap:round;stroke-width:6px;opacity:.78;vector-effect:non-scaling-stroke}.analysis-arrow-head{fill:#d6ad66;opacity:.78}.analysis-arrow.tactic-arrow-fork,.analysis-arrow-head.tactic-arrow-fork{stroke:#76c9a1;fill:#76c9a1}.analysis-arrow.tactic-arrow-mate,.analysis-arrow-head.tactic-arrow-mate{stroke:#f19b86;fill:#f19b86}.analysis-arrow.tactic-arrow-pin,.analysis-arrow-head.tactic-arrow-pin{stroke:#8eb6e8;fill:#8eb6e8}.tactic-mark{fill:#f19b861f;stroke:#f19b86;stroke-width:4px;vector-effect:non-scaling-stroke}.insight-tactic{color:#f0d7a6;border-left-color:#e2a56d}.legal-move:after{aspect-ratio:1;content:"";pointer-events:none;background:#19231961;border-radius:50%;width:23%;position:absolute}.capture-target:after{box-sizing:border-box;background:0 0;border:clamp(3px,.8vw,5px) solid #19231961;width:80%}.game-hint{color:var(--muted);text-align:center;margin:16px 2px 0;font-size:12px}.page-footer{color:#707b71;letter-spacing:.06em;text-align:center;margin-top:21px;font-size:11px}.analysis-dashboard{align-items:start;gap:18px}.tool-panel,.game-panel,.history-panel{border-color:#bccab826;border-radius:20px;box-shadow:0 16px 38px #0003,inset 0 1px #ffffff0d}.tool-panel{padding:clamp(20px,2.4vw,28px)}.tool-panel-header{padding-bottom:16px}.tool-panel-header h2{font-size:clamp(20px,2.1vw,24px)}.tool-description{color:#c4cdc1;font-size:13px;line-height:1.7}.opening-trainer-panel,.progress-dashboard-panel,.study-goals-panel{background:radial-gradient(at 100% 0,#d6ad6612,#0000 48%),linear-gradient(145deg,#222d25,#19221c 82%)}.opening-trainer-panel{border-top:2px solid #d6ad66a3}.game-library-panel{border-top:2px solid #76c9a17a}.progress-dashboard-panel{border-top:2px solid #8eb6e873}.study-goals-panel{border-top:2px solid #d6ad668a}.opening-trainer-controls{gap:12px;margin-top:18px}.opening-trainer-controls label,.study-goals-form label,.game-import-submit-row label{color:#d3dbd0;font-size:12px}.opening-trainer-controls select,.study-goals-form input,.game-account-import-form input,.game-account-import-form select,.game-library-panel .load-form>input,.game-library-panel .load-form>textarea{color:#f4f0e8;background-color:#121a15;border-color:#4a594b;border-radius:10px;min-height:44px;font-size:13px}.game-library-panel .load-form>textarea{min-height:150px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.6}.game-library-panel .load-form{gap:10px;max-width:880px}.game-account-import-form{background:linear-gradient(135deg,#080e0a47,#ffffff05);border-color:#bccab82b;border-radius:14px;max-width:880px;margin-top:20px;padding:18px}.game-library-panel .load-form button,.study-goals-form>button,.opening-trainer-controls>button:first-of-type{color:#20251c;background:linear-gradient(#e1bc74,#c49a51);border-color:#d6ad66;min-height:42px;font-size:12px;font-weight:750;box-shadow:0 5px 14px #00000029,inset 0 1px #ffffff40}.game-library-panel .load-form button:hover,.study-goals-form>button:hover,.opening-trainer-controls>button:first-of-type:hover{color:#172019;background:linear-gradient(#edca83,#d2a85d);border-color:#f0d39a}.opening-trainer-controls>button:last-child{min-height:42px}.game-library-insights{gap:12px;margin-top:20px}.game-library-summary{padding:14px 16px;font-size:14px}.opening-insight-list li,.game-library-item{background:linear-gradient(115deg,#ffffff0a,#ffffff03);border-color:#bccab829;border-radius:12px;min-height:58px;padding:14px 16px}.opening-insight-list strong,.game-library-game-info strong{font-size:13px}.opening-insight-list span,.game-library-game-info span{font-size:12px}.game-library-list{gap:10px}.game-library-actions .secondary-button{min-height:38px;font-size:12px}.progress-dashboard,.study-goals-progress{gap:14px;margin-top:18px}.progress-metrics{gap:10px}.progress-metric{background:linear-gradient(145deg,#ffffff0d,#ffffff03);border-color:#bccab82b;border-radius:13px;justify-content:center;min-height:98px;padding:15px 13px}.progress-metric span{font-size:11px}.progress-chart{background:#080e0a33;border:1px solid #bccab81f;border-radius:12px;min-height:120px;padding:8px}.study-goals-form{gap:12px;margin-top:18px}.study-goals-form input{font-variant-numeric:tabular-nums;padding:10px 12px}.study-goal-item{background:#080e0a2b;border:1px solid #bccab81f;border-radius:11px;gap:9px;padding:11px 12px}.study-goal-heading{font-size:12px}.study-goal-item progress{height:10px}.review-metric,.review-report,.review-moment,.mistake-practice-item,.candidate-line{border-radius:12px}.review-report{padding:16px}.move-type-counts span{border:1px solid #bccab81a;border-radius:7px;padding:6px 8px;font-size:10px}.candidate-line{min-height:60px;padding:12px 14px}.candidate-score,.candidate-pv{font-size:13px}.line-play-button,.secondary-button,.load-form button,.annotation-toolbar button,.setup-actions button{border-radius:10px;min-height:40px;font-size:12px}.position-insights{gap:9px;margin-top:16px}.insight-item{border-radius:0 10px 10px 0;padding:12px 14px;font-size:13px;line-height:1.65}.annotation-toolbar button,.setup-actions button{padding:0 12px}.annotation-color-control{font-size:11px}.annotation-color-control select{min-height:38px;font-size:11px}.history-panel{padding:24px 20px 18px}.history-navigation button{min-height:36px}.comment-form textarea{border-radius:9px;min-height:84px;font-size:12px}.game-hint{max-width:62ch;margin-left:auto;margin-right:auto;line-height:1.65}#opening-trainer-status:not(:empty),#game-library-status:not(:empty),#study-goals-status:not(:empty),#review-status:not(:empty),#practice-status:not(:empty),#tablebase-status:not(:empty),#explorer-summary:not(:empty),#collection-status:not(:empty),#load-status:not(:empty),#annotation-status:not(:empty){background:#d6ad660d;border-left:2px solid #d6ad66b3;border-radius:0 9px 9px 0;padding:10px 12px}#study-goals-status:empty{display:none}@media (width<=460px){body{padding:24px 12px}.game-header{align-items:flex-start;margin-bottom:19px}#reset-button{white-space:nowrap;flex-shrink:0;min-height:39px;padding:0 11px}.board-label{font-size:9px}#game-status{font-size:12px}}@media (width<=700px){.account-panel{grid-template-columns:minmax(0,1fr);gap:12px}.game-layout{grid-template-columns:minmax(0,1fr)}.evaluation-panel{grid-template-columns:auto auto minmax(88px,1fr) minmax(0,min(22vw,120px));align-items:center;gap:10px 12px;min-width:0;padding:0 2px 6px;display:grid}.evaluation-label,.evaluation-value,.engine-status{min-width:0}.evaluation-meter{flex:initial;background:linear-gradient(90deg,#0000 calc(50% - .5px),#d6ad6673 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),#252e27;border-radius:999px;width:100%;height:14px;min-height:14px}.evaluation-fill{width:var(--evaluation-fill,50%);background:linear-gradient(#fffdf6,#ddd6c5);border-radius:999px 0 0 999px;height:auto;transition:width .35s;inset:0 auto 0 0;box-shadow:0 0 7px #ffffff2e}.engine-status{text-overflow:ellipsis;white-space:nowrap;writing-mode:initial;overflow:hidden;transform:none}.history-panel{min-height:225px}.move-history{max-height:220px}.analysis-dashboard{grid-template-columns:minmax(0,1fr)}.opening-trainer-controls{grid-template-columns:minmax(0,1fr) repeat(2,auto)}.study-goals-form{grid-template-columns:minmax(0,1fr)}.study-goals-form button{grid-column:auto;justify-self:stretch}.explorer-panel{grid-column:auto}}@media (width<=480px){body{padding:18px 12px}.game-shell{min-width:0}.account-panel{padding:14px}.evaluation-panel{grid-template-columns:auto auto minmax(0,1fr);gap:7px 10px;padding-bottom:4px}.evaluation-meter,.engine-status{grid-column:1/-1}.evaluation-meter{height:13px;min-height:13px}.engine-status{text-align:left}.account-form{grid-template-columns:minmax(0,1fr)}.opening-trainer-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.opening-trainer-controls label{grid-column:1/-1}.game-account-import-form .form-row,.game-import-submit-row{grid-template-columns:minmax(0,1fr)}.game-import-submit-row button{width:100%}.progress-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.account-password-form{flex-direction:column;align-items:stretch}.account-password-form input{max-width:none}.account-primary-button{width:100%}.account-links{justify-content:space-between}.account-heading{align-items:flex-start}.account-signed-in{flex-direction:column;align-items:flex-end}.tool-panel{padding:16px}.candidate-line{grid-template-columns:36px minmax(0,1fr)}.line-play-button{grid-column:2;justify-self:start}.explorer-moves{grid-template-columns:minmax(0,1fr)}.game-library-item{flex-direction:column;align-items:flex-start}.game-library-actions{width:100%}.mistake-practice-item{align-items:flex-start}.mistake-practice-description strong{white-space:normal}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
