:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1210;--bg-2:#111814;--surface:#151d18;--surface-2:#1a241e;--surface-3:#202d25;--line:#2a3930;--line-soft:#223028;--text:#f2eee3;--text-soft:#d8d4c8;--muted:#98a89d;--muted-2:#74847a;--accent:#d8f26a;--accent-strong:#e5ff72;--accent-dim:#d8f26a1f;--amber:#f0c674;--amber-dim:#f0c6741f;--danger:#ff8378;--danger-dim:#ff83781f;--good:#7ee2b8;--good-dim:#7ee2b81f;--blue:#8fc8ef;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body:"Inter", "SF Pro Text", "Segoe UI", system-ui, -apple-system, sans-serif;--radius:18px;--shadow:0 20px 60px #00000047}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(1100px 700px at 82% -10%, #74a05f1f, transparent 60%), radial-gradient(900px 600px at -10% 20%, #d8f26a0d, transparent 60%), var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;font-weight:500}h1 em,h2 em,h3 em{color:var(--accent);font-style:italic}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:12px}.danger-text{color:var(--danger)!important}.warn-text{color:var(--amber)!important}.good-text{color:var(--good)!important}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.subhead{max-width:760px;color:var(--muted);font-size:15px}.app-shell{min-height:100vh}.page{width:min(1400px,100% - 64px);margin:0 auto;padding:42px 0 80px}.narrow-page{width:min(720px,100% - 48px);padding-top:90px}.center-screen{place-items:center;min-height:100vh;padding:30px;display:grid}.text-link{color:var(--accent);white-space:nowrap;background:0 0;border:0;padding:0;font-size:13px;font-weight:600;text-decoration:none}.text-link:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.button{background:var(--surface-3);min-height:42px;color:var(--text);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:10px 18px;font-size:13px;font-weight:650;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button-accent{background:var(--accent);color:#10150f;border-color:var(--accent)}.button-accent:hover{background:var(--accent-strong)}.button-ghost{border-color:var(--line);color:var(--text-soft);background:0 0}.button-ghost:hover{border-color:var(--muted-2);background:#ffffff08}.button-lichess{color:#151515;background:#f4f4f4;border-color:#f4f4f4}.button-lichess:hover{background:#fff}.button-large{border-radius:12px;min-height:52px;padding:13px 24px;font-size:14px}.full{width:100%}.button-row{flex-wrap:wrap;gap:10px;display:flex}.icon-button{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:0 0;border-radius:9px;place-items:center;font-size:18px;display:inline-grid}.icon-button:hover{color:var(--text);border-color:var(--muted-2)}.icon-button.active{color:var(--accent);background:var(--accent-dim);border-color:#d8f26a80}.panel{background:linear-gradient(160deg, #ffffff05, transparent 55%), var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px;box-shadow:inset 0 1px #ffffff06}.section-title{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.section-title h2{margin-top:5px;font-size:27px}.alert{border-radius:10px;flex-direction:column;gap:3px;padding:13px 16px;font-size:13px;line-height:1.5;display:flex}.alert-error{background:var(--danger-dim);color:#ffc3bd;border:1px solid #ff837859}.alert-error strong{color:#ffd6d1}.alert-info{background:var(--accent-dim);color:#e7f6b4;border:1px solid #d8f26a4d}.alert-info strong{color:#f3ffc9}.spinner-wrap{color:var(--muted);align-items:center;gap:10px;display:inline-flex}.spinner{border:2px solid #d8f26a33;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tag{background:var(--accent-dim);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:5px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.tag-warn{background:var(--amber-dim);color:var(--amber)}.status-pill{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:700;display:inline-flex}.status-good{background:var(--good-dim);color:var(--good)}.status-accent{background:var(--accent-dim);color:var(--accent)}.status-bad{background:var(--danger-dim);color:var(--danger)}.status-warn{background:var(--amber-dim);color:var(--amber)}.logo{color:var(--text);align-items:center;gap:12px;display:inline-flex}.logo-mark{background:var(--accent);color:#0e130f;border-radius:11px;place-items:center;width:42px;height:42px;font-size:27px;line-height:1;display:grid;box-shadow:0 6px 22px #d8f26a2e}.logo-word{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-size:21px}.logo-word em{color:var(--accent)}.logo-small .logo-mark{border-radius:9px;width:34px;height:34px;font-size:22px}.logo-small .logo-word{font-size:18px}.logo-button{background:0 0;border:0;padding:0}.topbar{z-index:60;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d1210db;border-bottom:1px solid #2a3930bf;justify-content:space-between;align-items:center;height:66px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-right{align-items:center;gap:16px;display:flex}.profile-chip{align-items:center;gap:9px;display:flex}.avatar{background:var(--surface-3);border:1px solid var(--line);width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.profile-name{color:var(--text-soft);align-items:center;gap:6px;font-size:13px;display:flex}.title-badge{background:var(--danger);color:#1a0c0a;border-radius:3px;padding:1px 4px;font-size:9px}.header-live{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:650;display:flex}.login-page{flex-direction:column;min-height:100vh;padding:30px 48px 24px;display:flex;position:relative;overflow:hidden}.login-glow{pointer-events:none;background:radial-gradient(circle,#d8f26a24,#0000 66%);width:800px;height:800px;position:absolute;top:-320px;right:-260px}.login-header{z-index:2;justify-content:space-between;align-items:center;width:min(1400px,100%);margin:0 auto;display:flex;position:relative}.login-main{z-index:2;grid-template-columns:1fr minmax(420px,.86fr);align-items:center;gap:80px;width:min(1400px,100%);margin:auto;padding:54px 0;display:grid;position:relative}.login-copy{max-width:690px}.login-copy h1{letter-spacing:-.045em;margin:18px 0 22px;font-size:clamp(46px,5.2vw,82px);line-height:.98}.lead{max-width:600px;color:var(--muted);font-size:17px;line-height:1.65}.login-actions{flex-direction:column;align-items:flex-start;gap:12px;margin-top:34px;display:flex}.lichess-knight{font-size:22px;line-height:1}.fine-print{color:var(--muted-2);font-size:12px}.login-steps{border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;padding-top:28px;display:grid}.login-steps strong{font-family:var(--font-display);margin:8px 0 4px;font-size:19px;font-weight:500;display:block}.login-steps p{color:var(--muted);font-size:12.5px;line-height:1.55}.step-number{color:var(--accent);letter-spacing:.12em;font-size:11px;font-weight:700}.login-visual{position:relative}.login-board-card{border:1px solid var(--line);background:linear-gradient(155deg,#ffffff0f,#0000 55%),#17201a;border-radius:24px;padding:16px;position:relative;box-shadow:0 40px 100px #00000073}.login-board-card .board-wrap{max-width:600px}.board-caption{color:var(--muted-2);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding:13px 4px 0;font-size:10px;display:flex}.floating-note{z-index:3;border:1px solid var(--line);min-width:150px;box-shadow:var(--shadow);color:var(--muted);background:#1c2720;border-radius:11px;flex-direction:column;gap:1px;padding:11px 14px;font-size:11px;display:flex;position:absolute}.floating-note strong{color:var(--text);font-family:var(--font-display);font-size:18px;font-weight:500}.note-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700}.note-one{top:20%;left:-38px;transform:rotate(-2deg)}.note-two{bottom:18%;right:-30px;transform:rotate(2deg)}.login-footer{z-index:2;width:min(1400px,100%);color:var(--muted-2);justify-content:space-between;margin:0 auto;font-size:11px;display:flex;position:relative}.board-wrap{width:100%;max-width:680px;margin:0 auto;container-type:inline-size}.board{aspect-ratio:1;background:#7d8f7f;border-radius:12px;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 10px 40px #0000004d}.square{aspect-ratio:1;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.square.light{background:#e6dbc5}.square.dark{background:#718477}.square.last:before{content:"";background:#d8f26a61;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #d8f26a47}.square.check:before{content:"";background:radial-gradient(circle,#ff5b4ddb,#0000 72%);position:absolute;inset:0}.square-danger{z-index:1;pointer-events:none;background:radial-gradient(circle,#ff44449e,#ff44442e 70%),#ff444438;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ff4c4ce6}.piece{z-index:2;pointer-events:none;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",Apple Symbols,serif;font-size:9.4cqw;line-height:1;position:relative;transform:translateY(-1%)}.white-piece{color:#fbf7ea;-webkit-text-stroke:.9px #171d18ad;text-shadow:0 2px 3px #00000052}.black-piece{color:#1b221d;-webkit-text-stroke:.4px #ffffff29;text-shadow:0 2px 2px #ffffff14}.rank-label,.file-label{z-index:3;color:#141b1685;font-size:1.45cqw;font-weight:700;line-height:1;position:absolute}.rank-label{top:2.3%;left:4%}.file-label{text-transform:uppercase;bottom:2.3%;right:5%}.board-arrows{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0}.page-head,.analysis-head,.report-head{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:34px;display:flex}.page-head h1,.analysis-head h1,.report-head h1{letter-spacing:-.035em;margin:9px 0 10px;font-size:clamp(36px,4vw,56px);line-height:1.02}.engine-badge{background:var(--surface);border:1px solid var(--line-soft);white-space:nowrap;border-radius:12px;align-items:center;gap:10px;padding:11px 15px;display:flex}.engine-badge strong{font-size:12px;font-weight:650;display:block}.engine-badge span:not(.engine-dot){color:var(--muted);font-size:10.5px;display:block}.engine-dot{background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 4px var(--danger-dim);border-radius:50%}.engine-dot.online{background:var(--good);box-shadow:0 0 0 4px var(--good-dim)}.active-run-banner{background:linear-gradient(90deg,#d8f26a1c,#d8f26a08);border:1px solid #d8f26a52;border-radius:15px;grid-template-columns:1fr minmax(160px,.5fr) auto;align-items:center;gap:24px;margin-bottom:24px;padding:20px 24px;display:grid}.active-run-banner h3{margin:2px 0;font-size:23px}.active-run-banner p{color:var(--muted);font-size:12px}.live-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.8s infinite pulse;display:inline-block;box-shadow:0 0 #d8f26a73}@keyframes pulse{50%{opacity:.35}}.progress-inline{width:100%}.progress-track{background:#ffffff14;border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-track.large{height:10px}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, #a7c54c, var(--accent));height:100%;transition:width .5s;position:relative;overflow:hidden}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:1.8s infinite shimmer;position:absolute;inset:0}.progress-fill.warm{background:linear-gradient(90deg, #c49d50, var(--amber))}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr);align-items:start;gap:24px;display:grid}.setup-panel{padding:30px}.preset-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px;display:grid}.preset{text-align:left;background:var(--bg-2);border:1px solid var(--line-soft);color:var(--text);border-radius:11px;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 15px;transition:border-color .15s,background .15s;display:flex}.preset span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.preset strong{font-size:13px;font-weight:650}.preset em{color:var(--muted-2);font-size:10.5px;font-style:normal}.preset:hover,.preset.selected{background:var(--accent-dim);border-color:#d8f26a8c}.field-grid{grid-template-columns:1fr 1fr;gap:26px;margin-bottom:25px;display:grid}.field{flex-direction:column;gap:9px;display:flex}.field>span:first-child,.field-label{color:var(--text-soft);font-size:12px;font-weight:600}.field b{color:var(--accent);font-weight:700}input[type=range]{background:linear-gradient(90deg, var(--accent), var(--accent)) no-repeat #ffffff1a;appearance:none;border-radius:99px;outline:none;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 1px var(--accent);border:3px solid #1b241c;border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid #1b241c;border-radius:50%;width:16px;height:16px}.range-labels{color:var(--muted-2);justify-content:space-between;font-size:10px;display:flex}.chip-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:7px;padding:6px 11px;font-size:11.5px;font-weight:600}.chip:hover{border-color:var(--muted-2);color:var(--text)}.chip.selected{background:var(--accent);border-color:var(--accent);color:#10150f}.chip-note{color:var(--muted-2);font-size:11px}.two-fields{grid-template-columns:1fr 1fr;gap:26px;margin-bottom:24px;display:grid}.segmented{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:9px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:6px 14px;font-size:11.5px;font-weight:600}.segmented button.selected{background:var(--surface-3);color:var(--text)}select,input[type=search]{border:1px solid var(--line);background:var(--bg-2);width:100%;height:39px;color:var(--text-soft);border-radius:8px;outline:none;padding:0 11px;font-size:12px}select:focus,input[type=search]:focus{border-color:#d8f26a99}.toggle-row{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:flex-start;gap:12px;padding:15px 0;display:flex}.toggle-row input{display:none}.toggle-ui{background:var(--surface-3);border:1px solid var(--line);border-radius:999px;flex:none;width:38px;height:22px;margin-top:1px;transition:background .15s;position:relative}.toggle-ui:after{content:"";background:var(--muted);border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.toggle-row input:checked+.toggle-ui{background:var(--accent-dim);border-color:var(--accent)}.toggle-row input:checked+.toggle-ui:after{background:var(--accent);transform:translate(16px)}.toggle-row>span:last-child{color:var(--text-soft);font-size:12.5px;font-weight:600}.toggle-row em{color:var(--muted-2);font-size:11px;font-style:normal;font-weight:400;display:block}.start-row{justify-content:space-between;align-items:center;gap:24px;margin-top:22px;display:flex}.estimate span{color:var(--text-soft);font-size:12px;font-weight:600;display:block}.estimate small{color:var(--muted-2);font-size:10.5px}.dashboard-aside{flex-direction:column;gap:24px;display:flex}.latest-panel{padding:24px}.panel-head{justify-content:space-between;gap:12px;display:flex}.panel-head .section-title{margin-bottom:16px}.mini-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.stat-card{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:13px;padding:17px 18px}.stat-top{justify-content:space-between;gap:8px;display:flex}.stat-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.stat-icon{color:var(--muted-2);font-size:15px;line-height:1}.stat-value{font-family:var(--font-display);letter-spacing:-.03em;margin-top:7px;font-size:30px;line-height:1}.stat-hint{color:var(--muted);margin-top:7px;font-size:10.5px;line-height:1.4}.stat-accent .stat-value{color:var(--accent)}.stat-good .stat-value{color:var(--good)}.stat-warn .stat-value{color:var(--amber)}.stat-bad .stat-value{color:var(--danger)}.leak-mini{border-top:1px solid var(--line-soft);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 0;font-size:11.5px;display:grid}.leak-mini strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.leak-mini>span:last-child{color:var(--danger);white-space:nowrap;font-size:10.5px}.latest-panel .full{margin-top:14px}.empty-panel{text-align:center;padding:38px 24px}.empty-icon{background:var(--accent-dim);width:54px;height:54px;color:var(--accent);border-radius:14px;place-items:center;margin-bottom:14px;font-size:28px;display:inline-grid}.empty-panel h3{margin-bottom:6px;font-size:23px}.empty-panel p{color:var(--muted);font-size:12.5px}.how-panel{padding:24px}.check-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.check-list li{gap:12px;display:flex}.check-list li>span{color:var(--accent);padding-top:2px;font-size:10px;font-weight:700}.check-list strong{font-size:12.5px;font-weight:650;display:block}.check-list p{color:var(--muted);font-size:11.5px;line-height:1.5}.page-footer{border-top:1px solid var(--line-soft);color:var(--muted-2);justify-content:space-between;align-items:center;margin-top:54px;padding-top:24px;font-size:11px;display:flex}.analysis-head .subhead{max-width:680px}.analysis-actions{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.connection{color:var(--muted-2);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:650;display:flex}.connection span{background:var(--amber);border-radius:50%;width:6px;height:6px}.connection.connected span{background:var(--good)}.progress-hero{grid-template-columns:200px 1fr;align-items:center;gap:34px;padding:34px;display:grid}.progress-ring-wrap{width:180px;height:180px;position:relative}.progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg,.ring-fill{fill:none;stroke-width:7px}.ring-bg{stroke:#ffffff14}.ring-fill{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:327;transition:stroke-dashoffset .6s}.progress-ring-label{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.progress-ring-label strong{font-family:var(--font-display);font-size:42px;font-weight:500;line-height:1}.progress-ring-label span{max-width:100px;color:var(--muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:9px;font-weight:700}.progress-meta{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;display:grid}.progress-meta>div{border-right:1px solid var(--line-soft);padding-right:12px}.progress-meta>div:last-child{border-right:0}.progress-meta strong{font-family:var(--font-display);margin-top:3px;font-size:24px;font-weight:500;display:block}.current-game{border-top:1px solid var(--line-soft);align-items:center;gap:16px;margin-top:22px;padding-top:20px;display:flex}.current-game-icon{background:var(--accent-dim);width:48px;height:48px;color:var(--accent);border-radius:12px;flex:none;place-items:center;font-size:26px;display:grid}.current-game h3{margin:3px 0;font-size:21px}.current-game h3 span{color:var(--muted-2);font-size:13px;font-style:italic}.current-game p{color:var(--muted);font-size:11.5px}.current-progress{flex:none;width:180px;margin-left:auto}.current-progress>span{color:var(--muted);text-align:right;margin-top:6px;font-size:10px;display:block}.loading-line{color:var(--muted)}.stat-grid{gap:14px;margin:24px 0;display:grid}.stat-grid.four{grid-template-columns:repeat(4,1fr)}.stat-grid.five{grid-template-columns:repeat(5,1fr)}.progress-columns{grid-template-columns:1.05fr .95fr;gap:24px;display:grid}.insight-list{flex-direction:column;gap:12px;display:flex}.insight{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:10px;gap:12px;padding:13px 14px;display:flex}.insight-spark{color:var(--accent);font-size:15px;line-height:1.4}.insight strong{font-size:12.5px;font-weight:650;display:block}.insight p{color:var(--muted);margin-top:3px;font-size:11.5px;line-height:1.5}.insight-value{color:var(--accent);font-family:var(--font-display);white-space:nowrap;align-self:flex-start;margin-left:auto;font-size:17px}.insight-positive .insight-spark,.insight-positive .insight-value{color:var(--good)}.insight-warning .insight-spark,.insight-warning .insight-value{color:var(--danger)}.two-charts{grid-template-columns:1fr 1fr;gap:24px;display:grid}.two-charts h4,.mini-games h4,.review-tabs h3,.key-moments h3{color:var(--muted);font-family:var(--font-body);letter-spacing:.11em;text-transform:uppercase;margin-bottom:11px;font-size:10px;font-weight:700}.mini-games{border-top:1px solid var(--line-soft);margin-top:24px;padding-top:20px}.mini-game-row{grid-template-columns:8px 1fr auto auto;align-items:center;gap:9px;padding:7px 0;font-size:11.5px;display:grid}.mini-game-name em{color:var(--muted-2);font-style:italic}.mini-opening{max-width:150px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result-dot{border-radius:50%;width:7px;height:7px}.result-win{background:var(--good)}.result-draw{background:var(--muted-2)}.result-loss{background:var(--danger)}.skeleton-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0;display:grid}.skeleton{background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 45%, var(--surface-2) 60%);background-size:300% 100%;border-radius:13px;height:116px;animation:1.6s infinite skeleton}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.cancel-panel{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:20px 24px;display:flex}.cancel-panel strong{font-size:12.5px}.cancel-panel p{color:var(--muted);font-size:11.5px}.report-head{margin-bottom:24px}.report-head-left{max-width:950px}.back-link{margin-bottom:22px;display:inline-block}.report-head-actions{gap:10px;padding-top:34px;display:flex}.report-nav{z-index:50;border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d1210d9;gap:8px;margin:0 -8px 34px;padding:9px 8px;display:flex;position:sticky;top:66px;overflow-x:auto}.report-nav button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:6px 11px;font-size:11.5px;font-weight:600}.report-nav button:hover{background:var(--surface-2);color:var(--text)}.report-section{margin-bottom:54px;scroll-margin-top:128px}.overview-strip{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;flex-wrap:wrap;align-items:stretch;gap:0;margin-top:16px;padding:17px 22px;display:flex}.overview-strip>div{border-right:1px solid var(--line-soft);min-width:128px;padding:0 22px}.overview-strip>div:first-child{padding-left:0}.overview-strip>div:last-child{border-right:0}.overview-strip strong{font-family:var(--font-display);margin-top:2px;font-size:22px;font-weight:500;display:block}.overview-strip .small{display:block}.overview-blunder{cursor:pointer;flex:1;min-width:250px!important}.overview-blunder:hover strong{color:var(--accent)}.leak-list{flex-direction:column;gap:12px;display:flex}.leak-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 24px;display:grid}.leak-card:hover{border-color:var(--line)}.leak-first{background:linear-gradient(100deg, #d8f26a1a, transparent 50%), var(--surface);border-color:#d8f26a59}.leak-rank{color:var(--muted-2);font-family:var(--font-display);font-size:28px}.leak-first .leak-rank{color:var(--accent)}.leak-meta{align-items:center;gap:10px;display:flex}.leak-main h3{margin:4px 0 3px;font-size:23px}.leak-main p{max-width:720px;color:var(--muted);font-size:11.5px;line-height:1.5}.leak-metrics{text-align:right;gap:24px;display:flex}.leak-metrics strong{font-family:var(--font-display);font-size:24px;font-weight:500;line-height:1.1;display:block}.leak-metrics div:first-child strong{color:var(--danger)}.leak-metrics span{color:var(--muted-2);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:650}.stage-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;display:grid}.stage-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:20px}.stage-card-head{color:var(--text-soft);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.stage-card-head strong{color:var(--danger);margin-left:auto;font-size:12px}.stage-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.stage-dot.stage-middlegame{background:var(--amber)}.stage-dot.stage-endgame{background:var(--blue)}.stage-big{font-family:var(--font-display);margin:14px 0 10px;font-size:32px;line-height:1}.stage-big small{color:var(--muted-2);font-family:var(--font-body);letter-spacing:.04em;font-size:10px}.stage-facts{color:var(--muted);flex-wrap:wrap;gap:7px 13px;margin-top:12px;font-size:10px;display:flex}.micro-bar{background:#ffffff12;border-radius:99px;width:100%;height:5px;overflow:hidden}.micro-bar.large{height:7px}.micro-bar>span{border-radius:inherit;background:linear-gradient(90deg, #b9d451, var(--accent));height:100%;display:block}.split-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.report-section>.panel{margin-bottom:24px}.tactics-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{color:var(--muted-2);letter-spacing:.09em;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 10px;font-size:9.5px;font-weight:700}.data-table td{border-bottom:1px solid var(--line-soft);color:var(--text-soft);vertical-align:middle;padding:11px 10px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#ffffff05}.clickable-row{cursor:pointer}.compact-table td{padding:9px 8px}.compact-table th{padding:7px 8px}.bar-col{width:17%}.micro-bar{min-width:42px}.result-chip{letter-spacing:.06em;text-transform:uppercase;border-radius:5px;justify-content:center;align-items:center;width:34px;padding:3px 0;font-size:9px;font-weight:750;display:inline-flex}.result-chip.result-win{background:var(--good-dim);color:var(--good)}.result-chip.result-draw{color:var(--muted);background:#ffffff12}.result-chip.result-loss{background:var(--danger-dim);color:var(--danger)}.result-text.result-win{color:var(--good)}.result-text.result-draw{color:var(--muted)}.result-text.result-loss{color:var(--danger)}.color-dot{border:1px solid var(--line);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.color-white{background:#eee6d4}.color-black{background:#1c241e}.opening-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.game-filters{flex-wrap:wrap;gap:8px;display:flex}.game-filters input{width:190px}.game-filters select{width:auto;min-width:122px}.table-panel{padding:8px 12px}.empty-table{color:var(--muted);text-align:center;padding:30px;font-size:12px}.insight-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.insight-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;min-height:160px;padding:20px}.insight-card-top{justify-content:space-between;align-items:flex-start;min-height:22px;display:flex}.insight-symbol{color:var(--accent);font-size:19px}.insight-card h3{margin:12px 0 6px;font-size:20px;line-height:1.15}.insight-card p{color:var(--muted);font-size:11.5px;line-height:1.55}.insight-card.insight-positive{border-color:#7ee2b838}.insight-card.insight-positive .insight-symbol,.insight-card.insight-positive .insight-value{color:var(--good)}.insight-card.insight-warning{border-color:#ff83782e}.insight-card.insight-warning .insight-symbol,.insight-card.insight-warning .insight-value{color:var(--danger)}.insight-card .insight-value{font-size:15px}.methodology{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius);margin-top:30px;padding:30px;scroll-margin-top:128px}.method-grid{grid-template-columns:repeat(4,1fr);gap:26px;display:grid}.method-grid strong{color:var(--text-soft);margin-bottom:7px;font-size:12px;font-weight:650;display:block}.method-grid p{color:var(--muted);font-size:11px;line-height:1.6}.report-footer{border-top:1px solid var(--line-soft);color:var(--muted-2);justify-content:space-between;gap:20px;margin-top:42px;padding-top:22px;font-size:10.5px;display:flex}.status-panel{text-align:center;padding:46px}.status-panel h2{margin:14px 0 8px;font-size:32px}.status-panel p{max-width:560px;color:var(--muted);margin:0 auto 22px}.failed-panel .empty-icon{background:var(--danger-dim);color:var(--danger)}.group-bars{flex-direction:column;gap:13px;display:flex}.bar-row{text-align:left;background:0 0;border:0;flex-direction:column;gap:5px;width:100%;padding:0;display:flex}.bar-clickable:hover .bar-label{color:var(--accent)}.bar-head{justify-content:space-between;gap:10px;font-size:11px;display:flex}.bar-label{color:var(--text-soft);font-weight:600}.bar-detail{color:var(--muted-2);white-space:nowrap;font-size:10px}.bar-track{background:#ffffff0f;border-radius:99px;width:100%;height:6px;overflow:hidden}.bar-fill{border-radius:inherit;height:100%;transition:width .5s}.bar-accent{background:linear-gradient(90deg, #aac84b, var(--accent))}.bar-warn{background:linear-gradient(90deg, #c49d50, var(--amber))}.bar-bad{background:linear-gradient(90deg, #c25f57, var(--danger))}.bar-good{background:linear-gradient(90deg, #4daf89, var(--good))}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050806c7;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}.review-panel{background:var(--bg-2);border:1px solid var(--line);border-radius:20px;width:min(1280px,100%);max-height:94vh;overflow-y:auto;box-shadow:0 50px 150px #0009}.review-loading{place-items:center;min-height:300px;display:grid}.review-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px;display:flex}.review-head h2{margin:4px 0 3px;font-size:30px}.review-head h2 span{color:var(--muted-2);font-size:14px;font-style:italic}.review-head p{color:var(--muted);font-size:11.5px}.review-head-right{gap:9px;display:flex}.review-body{grid-template-columns:minmax(420px,1fr) 430px;gap:30px;padding:28px;display:grid}.review-board-col{min-width:0}.board-with-eval{align-items:stretch;gap:10px;max-width:620px;margin:0 auto;display:flex}.board-with-eval .board-wrap{align-self:flex-start;max-width:590px}.eval-bar{border:1px solid var(--line);background:#252b26;border-radius:5px;flex:none;width:18px;min-height:200px;position:relative;overflow:hidden}.eval-white{background:#ece2cf;width:100%;transition:height .35s;position:absolute;bottom:0}.eval-black{background:#2c3731;width:100%;transition:height .35s;position:absolute;top:0}.eval-bar-label{z-index:2;color:#26302a;white-space:nowrap;font-size:8px;font-weight:700;position:absolute;bottom:5px;left:50%;transform:translate(-50%)rotate(-90deg)}.eval-compact{width:12px}.board-controls{justify-content:center;align-items:center;gap:6px;max-width:590px;margin:12px auto 0;display:flex}.board-controls button{border:1px solid var(--line);background:var(--surface);width:34px;height:32px;color:var(--text-soft);border-radius:7px;font-size:12px}.board-controls button:hover{border-color:var(--accent);color:var(--accent)}.board-controls span{min-width:82px;color:var(--muted);text-align:center;font-size:10px}.eval-graph{max-width:620px;margin:18px auto 0}.eval-graph svg{background:#202923;border-radius:7px;width:100%;height:100px;display:block;overflow:hidden}.graph-black{fill:#28322c}.graph-white{fill:#dcd2bd}.graph-mid{stroke:#00000047;stroke-width:.7px}.graph-line{fill:none;stroke:var(--accent);stroke-width:2.2px}.graph-cursor{stroke:var(--danger);stroke-width:1.4px}.graph-hit{fill:#0000;cursor:pointer}.graph-labels{color:var(--muted-2);justify-content:space-between;gap:10px;padding-top:5px;font-size:8.5px;display:flex}.move-detail{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;max-width:620px;margin:16px auto 0;padding:14px 16px}.move-detail-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.move-number{color:var(--muted);font-size:11px}.move-detail-top strong{font-family:var(--font-display);font-size:20px;font-weight:500}.class-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:5px;margin-left:auto;padding:3px 7px;font-size:9px;font-weight:700}.class-best,.class-excellent{background:var(--good-dim);color:var(--good)}.class-good{color:var(--muted);background:#ffffff0f}.class-inaccuracy{background:var(--amber-dim);color:var(--amber)}.class-mistake{color:#ffd28b;background:#f0c6742e}.class-blunder{background:var(--danger-dim);color:var(--danger)}.move-detail-stats{color:var(--muted);flex-wrap:wrap;gap:7px 16px;margin-top:9px;font-size:10.5px;display:flex}.move-detail-stats b{color:var(--text-soft);font-weight:650}.move-detail.neutral{color:var(--muted);font-size:11.5px}.review-side{flex-direction:column;min-width:0;display:flex}.review-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px;display:grid}.review-summary>div{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;padding:10px 11px}.review-summary strong{font-family:var(--font-display);margin-top:2px;font-size:19px;font-weight:500;display:block}.review-tabs{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.move-list{background:var(--bg);border:1px solid var(--line-soft);scrollbar-width:thin;border-radius:10px;flex:1;min-height:220px;max-height:410px;padding:8px;overflow-y:auto}.move-pair{border-radius:5px;grid-template-columns:32px 1fr 1fr;align-items:center;display:grid}.move-pair:nth-child(odd){background:#ffffff05}.move-pair-number{color:var(--muted-2);padding-left:7px;font-size:10px}.move-cell{color:var(--text-soft);text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:5px 7px;font-family:SFMono-Regular,Consolas,monospace;font-size:11.5px;display:flex}.move-cell:hover{background:#ffffff0d}.move-cell em{font-family:var(--font-body);margin-left:auto;font-size:9px;font-style:normal;font-weight:700}.move-active{color:var(--accent);background:#d8f26a29!important}.move-cell.move-blunder em{color:var(--danger)}.move-cell.move-mistake em{color:var(--amber)}.move-cell.move-inaccuracy em{color:#dfc47f}.move-cell.move-best em,.move-cell.move-excellent em{color:var(--good)}.move-cell.move-book em{color:var(--blue)}.move-cell.user-move{font-weight:700}.key-moments{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:16px}.key-moment{border:1px solid var(--line-soft);background:var(--surface);width:100%;color:var(--text-soft);text-align:left;border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin-bottom:5px;padding:8px 10px;font-size:10.5px;display:grid}.key-moment:hover{border-color:var(--muted-2)}.key-moment strong{color:var(--danger)}.key-move{font-family:SFMono-Regular,Consolas,monospace;font-weight:700}.key-moment>span:nth-child(2){color:var(--muted);text-transform:capitalize}@media (width<=1120px){.login-main{grid-template-columns:1fr;gap:44px}.login-copy{max-width:760px}.login-visual{max-width:620px}.dashboard-grid,.progress-columns,.split-grid,.tactics-grid{grid-template-columns:1fr}.stat-grid.five{grid-template-columns:repeat(3,1fr)}.insight-grid,.method-grid{grid-template-columns:repeat(2,1fr)}.review-body{grid-template-columns:1fr}.move-list{max-height:300px}}@media (width<=820px){.page{width:calc(100% - 32px);padding-top:26px}.topbar{padding:0 16px}.profile-name{display:none}.page-head,.analysis-head,.report-head{flex-direction:column;gap:18px}.report-head-actions{padding-top:0}.engine-badge{white-space:normal}.active-run-banner{grid-template-columns:1fr}.stat-grid.four,.stat-grid.five{grid-template-columns:repeat(2,1fr)}.progress-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.progress-meta{text-align:left;grid-template-columns:repeat(3,1fr)}.current-game{text-align:left;flex-wrap:wrap}.current-progress{width:100%;margin-left:0}.stage-grid,.preset-grid,.field-grid,.two-fields{grid-template-columns:1fr}.login-page{padding:22px 20px}.login-copy h1{font-size:46px}.login-steps{grid-template-columns:1fr;gap:16px}.floating-note{display:none}.overview-strip{flex-direction:column;gap:13px}.overview-strip>div{border-right:0;padding:0!important}.leak-card{grid-template-columns:34px 1fr}.leak-metrics{text-align:left;grid-column:2;justify-content:flex-start}.review-panel{border-radius:0;max-height:100vh}.modal-backdrop{padding:0}.review-body{padding:16px}.review-head{padding:18px}.review-summary{grid-template-columns:repeat(2,1fr)}.method-grid,.insight-grid{grid-template-columns:1fr}.report-footer,.login-footer{flex-direction:column;gap:6px}}@media (width<=520px){.login-copy h1{font-size:38px}.stat-grid.four,.stat-grid.five,.stat-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:26px}.progress-meta{grid-template-columns:repeat(2,1fr)}.report-nav{top:65px}.game-filters,.game-filters input{width:100%}.review-head h2{font-size:22px}}.topbar-nav{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:9px;gap:3px;padding:3px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.topbar-nav button{color:var(--muted);letter-spacing:.02em;background:0 0;border:0;border-radius:6px;padding:6px 14px;font-size:11.5px;font-weight:650}.topbar-nav button:hover{color:var(--text)}.topbar-nav button.active{background:var(--surface-3);color:var(--accent)}.field input:not([type=range]):not([type=checkbox]),.field textarea,.tree-filters input,.tag-editor input,.coverage-options select{border:1px solid var(--line);background:var(--bg-2);width:100%;min-height:39px;color:var(--text-soft);border-radius:8px;outline:none;padding:8px 11px;font-size:12.5px}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus,.tree-filters input:focus{border-color:#d8f26a99}.button-danger{background:var(--danger-dim);color:#ffc3bd;border-color:#ff837866}.button-danger:hover{background:#ff837833}.center-panel{place-items:center;min-height:220px;display:grid}.repertoire-list-head{align-items:flex-end}.repertoire-hero-stat{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;min-width:210px;padding:16px 20px}.repertoire-hero-stat strong{font-family:var(--font-display);color:var(--accent);margin:2px 0;font-size:38px;font-weight:500;line-height:1.05;display:block}.repertoire-hero-stat>span:last-child{color:var(--muted);font-size:11px}.repertoire-list-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:24px;display:grid}.repertoire-cards{gap:17px;display:grid}.repertoire-card{cursor:pointer;transition:border-color .15s,transform .15s}.repertoire-card:hover{border-color:#d8f26a57;transform:translateY(-1px)}.repertoire-card-top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.repertoire-card h2{margin:4px 0 5px;font-size:27px}.repertoire-card p{max-width:600px;color:var(--muted);font-size:12.5px}.repertoire-color{letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.repertoire-color-white{color:#f4efe1;background:#f2eee321}.repertoire-color-black{color:var(--blue);background:#8fc8ef1f}.coverage-medallion{border:1px solid var(--line);background:var(--bg-2);border-radius:50%;flex:none;align-content:center;justify-items:center;width:86px;height:86px;display:grid}.coverage-medallion strong{font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1}.coverage-medallion span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:3px;font-size:9px}.coverage-good strong{color:var(--good)}.coverage-warn strong{color:var(--amber)}.coverage-bad strong{color:var(--danger)}.coverage-none strong{color:var(--muted)}.repertoire-card-metrics{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:18px 0 12px;padding:11px 0;font-size:11.5px;display:flex}.repertoire-card-metrics b{color:var(--text-soft)}.repertoire-tags{margin-bottom:14px}.builder-opening-tags{margin-top:10px}.builder-opening-tags .tag button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 6px}.builder-opening-tags input{border:1px solid var(--line);background:var(--surface);width:150px;color:var(--text);border-radius:5px;padding:5px 8px;font-size:11px}.repertoire-card-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.repertoire-side{flex-direction:column;gap:18px;display:flex}.create-repertoire-panel .field{margin-bottom:16px}.create-repertoire-panel .button{margin-top:4px}.repertoire-empty{min-height:320px}.repertoire-page{padding-top:32px}.repertoire-head{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:22px;display:flex}.repertoire-eyebrow{color:var(--muted);flex-wrap:wrap;margin:17px 0 7px}.repertoire-eyebrow span:first-child{color:var(--accent)}.repertoire-head h1{font-size:clamp(34px,4vw,52px);line-height:1.02}.repertoire-head .subhead{margin-top:7px;font-size:13px}.repertoire-head-actions{align-items:stretch;gap:11px;display:flex}.repertoire-mini-stat{border:1px solid var(--line-soft);background:var(--surface);border-radius:10px;min-width:220px;max-width:300px;padding:11px 14px}.repertoire-mini-stat span,.repertoire-mini-stat small{color:var(--muted-2);letter-spacing:.07em;text-transform:uppercase;font-size:9.5px;display:block}.repertoire-mini-stat strong{color:var(--text);margin:1px 0;font-size:14px;display:block}.repertoire-mini-stat small{text-overflow:ellipsis;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden}.repertoire-alert{margin-bottom:16px}.repertoire-status{background:var(--accent-dim);color:var(--text-soft);border:1px solid #d8f26a40;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:9px 14px;font-size:12px;display:flex}.builder-grid{grid-template-columns:minmax(0,1fr) 530px;align-items:start;gap:22px;display:grid}.builder-board-column,.builder-side{flex-direction:column;gap:18px;min-width:0;display:flex}.builder-board-panel{background:linear-gradient(160deg, #ffffff05, transparent 55%), var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:20px 22px 18px;box-shadow:inset 0 1px #ffffff06}.builder-board-meta{justify-content:space-between;align-items:flex-end;gap:16px;max-width:680px;margin:0 auto 12px;display:flex}.builder-board-meta strong{font-family:var(--font-display);margin-top:1px;font-size:22px;font-weight:500;display:block}.builder-turn{background:var(--bg-2);border:1px solid var(--line-soft);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:4px 9px;font-size:10px;font-weight:650}.builder-board-with-eval{max-width:680px}.builder-board-with-eval .board-wrap{max-width:650px}.builder-board-with-eval .eval-bar{min-height:260px}.builder-board-controls{max-width:650px}.builder-line-strip{scrollbar-width:thin;flex-wrap:wrap;gap:4px;max-width:650px;max-height:84px;margin:11px auto 0;display:flex;overflow-y:auto}.line-chip{background:var(--bg-2);color:var(--text-soft);border:1px solid #0000;border-radius:5px;padding:4px 7px;font-family:SFMono-Regular,Consolas,monospace;font-size:10.5px}.line-chip:hover{border-color:var(--line)}.line-chip.active{background:var(--accent-dim);color:var(--accent);border-color:#d8f26a66}.line-chip.draft{color:#ffd58e;border-color:#ffc45c66}.builder-toolbar{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:12px 16px;max-width:650px;margin:15px auto 0;padding-top:14px;display:flex}.builder-mode,.arrow-colors{flex:none}.arrow-colors button{padding-left:22px;position:relative}.arrow-colors button:before{content:"";border-radius:50%;width:8px;height:8px;margin-top:-4px;position:absolute;top:50%;left:8px}.arrow-amber:before{background:#ffc45c}.arrow-blue:before{background:var(--blue)}.builder-autosave{border:0;gap:8px;padding:0}.builder-autosave .toggle-ui{width:32px;height:18px}.builder-autosave .toggle-ui:after{width:12px;height:12px}.builder-autosave input:checked+.toggle-ui:after{transform:translate(14px)}.builder-autosave>span:last-child{font-size:11.5px}.builder-draft-actions{gap:8px;margin-left:auto;display:flex}.builder-board-hint{max-width:650px;color:var(--muted-2);margin:12px auto 0;font-size:10.5px;line-height:1.5}.square.interactive-square{cursor:pointer}.square.selected{box-shadow:inset 0 0 0 3px #d8f26ae0}.square.marked:after{content:"";z-index:3;background:#8fc8efd1;border-radius:50%;width:27%;height:27%;position:absolute;box-shadow:0 0 0 2px #0d121059}.tree-panel{padding:20px}.tree-head{align-items:flex-start;margin-bottom:12px}.tree-head h2{margin-top:2px;font-size:23px}.tree-filters{grid-template-columns:minmax(0,1fr) 130px;gap:7px;margin-bottom:8px;display:grid}.tree-filters input,.tree-filters select{height:34px;min-height:34px;padding:5px 8px;font-size:11px}.tree-filter-note{color:var(--muted-2);margin-bottom:7px;font-size:10px}.tree-scroll{background:var(--bg);border:1px solid var(--line-soft);scrollbar-width:thin;border-radius:8px;max-height:335px;padding:5px;overflow-y:auto}.tree-branch{display:block}.tree-row{width:100%;color:var(--text-soft);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:5px 7px;display:flex}.tree-row:hover{background:#ffffff09}.tree-row.active{background:var(--accent-dim);color:var(--accent)}.tree-root{border-bottom:1px solid var(--line-soft);color:var(--muted);border-radius:5px 5px 0 0}.tree-root.active{color:var(--accent)}.tree-move{white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.tree-root-note{color:var(--muted-2);margin-left:auto;font-size:9px}.tree-tag{background:var(--surface-3);max-width:70px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:8.5px;overflow:hidden}.tree-tag-more{color:var(--muted-2);font-size:8px}.tree-comment{color:var(--amber);font-size:9px}.tree-coverage{border-radius:3px;margin-left:auto;padding:1px 4px;font-size:8px;font-weight:700}.tree-coverage.good{background:var(--good-dim);color:var(--good)}.tree-coverage.warn{background:var(--amber-dim);color:var(--amber)}.tree-coverage.bad{background:var(--danger-dim);color:var(--danger)}.tree-empty{color:var(--muted);text-align:center;padding:16px 8px;font-size:11px}.branch-panel{padding:20px}.branch-head{align-items:flex-start;margin-bottom:12px}.branch-head h2{margin-top:2px;font-size:23px}.branch-line{background:var(--bg);border:1px solid var(--line-soft);color:var(--text-soft);overflow-wrap:anywhere;border-radius:7px;margin-bottom:14px;padding:8px 10px;font-family:SFMono-Regular,Consolas,monospace;font-size:10.5px;line-height:1.6}.branch-comment textarea{font-size:12px}.branch-comment-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.branch-comment-actions .button{min-height:33px;padding:6px 11px;font-size:11px}.branch-tags{margin-top:14px}.tag-editor{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;flex-wrap:wrap;align-items:center;gap:5px;min-height:39px;margin-top:6px;padding:5px 7px;display:flex}.tag-editor input{background:0 0;border:0;flex:110px;width:auto;height:24px;min-height:24px;padding:2px 4px;font-size:11px}.editable-tag{text-transform:none;letter-spacing:.02em;gap:3px}.editable-tag button,.annotation-chip button{color:inherit;opacity:.7;background:0 0;border:0;padding:0;font-size:12px;line-height:1}.editable-tag button:hover,.annotation-chip button:hover{opacity:1}.tag-suggestions{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.tag.suggestion{border:1px dashed var(--line);color:var(--muted);cursor:pointer;text-transform:none;background:0 0}.tag.suggestion:hover{color:var(--accent);border-color:var(--accent)}.branch-annotations{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:14px}.branch-annotation-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.annotation-list{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.annotation-chip{background:var(--surface-3);color:var(--text-soft);border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:9.5px;display:inline-flex}.annotation-chip.arrow-user{color:#ffd58e;background:#ffc45c24}.annotation-chip.arrow-alt,.annotation-chip.mark{color:var(--blue);background:#8fc8ef24}.annotation-actions{margin-top:9px}.annotation-actions .button{min-height:31px;padding:5px 10px;font-size:10.5px}.branch-danger{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:14px}.branch-danger .button{min-height:34px;padding:7px 12px;font-size:11px}.unsaved-branch{background:#ffc45c14;border:1px solid #ffc45c4d;border-radius:9px;padding:13px}.unsaved-branch strong{color:#ffd58e;overflow-wrap:anywhere;margin-bottom:6px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.6;display:block}.unsaved-branch p{color:var(--muted);margin-bottom:11px;font-size:11px}.unsaved-branch .button{min-height:34px;padding:6px 11px;font-size:11px}.engine-panel{padding:22px}.engine-panel-head{align-items:flex-start;margin-bottom:14px}.engine-panel-head h2{margin-top:2px;font-size:25px}.engine-score{text-align:right}.engine-score strong{font-family:var(--font-display);color:var(--accent);font-size:27px;font-weight:500;display:block}.engine-score.negative strong{color:var(--danger)}.engine-score span{color:var(--muted-2);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.engine-controls{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto;align-items:end;gap:12px 18px;margin-bottom:12px;padding-bottom:14px;display:grid}.engine-control{color:var(--muted);flex-direction:column;gap:5px;font-size:10px;display:flex}.engine-control b{color:var(--accent)}.engine-auto{border:0;grid-column:1/-1;align-items:center;padding:0}.engine-auto>span:last-child{font-size:11px}.engine-controls .button{min-height:34px;padding:6px 12px;font-size:11px}.engine-loading{justify-content:center;padding:16px;display:flex}.engine-lines{flex-direction:column;gap:5px;display:flex}.engine-line{background:var(--bg-2);width:100%;color:var(--text-soft);text-align:left;border:1px solid #0000;border-radius:6px;grid-template-columns:22px 58px minmax(0,1fr) 42px;align-items:center;gap:7px;padding:7px 8px;display:grid}.engine-line:hover{border-color:var(--line)}.engine-line.best{background:#d8f26a0d;border-color:#d8f26a4d}.engine-line-index{background:var(--surface-3);width:18px;height:18px;color:var(--muted);border-radius:4px;place-items:center;font-size:9px;font-weight:700;display:grid}.engine-line.best .engine-line-index{background:var(--accent);color:#10150f}.engine-line-score{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:700}.engine-line-pv{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:9.5px;overflow:hidden}.engine-line-depth{color:var(--muted-2);text-align:right;font-size:8.5px}.coverage-panel{padding:20px}.coverage-head{align-items:flex-start;margin-bottom:12px}.coverage-head h2{margin-top:2px;font-size:24px}.coverage-head .button{min-height:33px;padding:6px 11px;font-size:10.5px}.coverage-options{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:13px;display:flex}.coverage-options label{flex-direction:column;flex:1;gap:5px;display:flex}.coverage-options label span{color:var(--text-soft);font-size:10.5px;font-weight:600}.coverage-options select{height:33px;min-height:33px;padding:5px 8px;font-size:11px}.coverage-speeds{color:var(--muted-2);white-space:nowrap;padding-bottom:8px;font-size:9px}.coverage-stale{background:var(--amber-dim);color:#f5d79e;border:1px solid #f0c67440;border-radius:6px;margin-bottom:11px;padding:7px 10px;font-size:10.5px}.coverage-overview{background:var(--bg);border:1px solid var(--line-soft);border-radius:9px;padding:13px}.coverage-gauge{background:var(--surface-3);border-radius:99px;height:10px;margin-bottom:12px;overflow:hidden}.coverage-gauge-fill{border-radius:inherit;background:linear-gradient(90deg, var(--amber), var(--accent), var(--good));height:100%;transition:width .4s}.coverage-numbers{justify-content:space-between;gap:16px;display:flex}.coverage-numbers strong{font-family:var(--font-display);color:var(--good);font-size:27px;font-weight:500;line-height:1.1;display:block}.coverage-risk-number{text-align:right}.coverage-risk-number strong{color:var(--danger)}.coverage-numbers span{color:var(--muted);font-size:9.5px}.coverage-meta{color:var(--muted-2);flex-wrap:wrap;gap:4px 14px;margin:11px 0;font-size:9.5px;display:flex}.coverage-meta b{color:var(--text-soft)}.coverage-warnings{background:var(--amber-dim);color:#f5d79e;border-radius:6px;margin-bottom:11px;padding:8px 10px;font-size:9.5px;line-height:1.55}.coverage-warnings p+p{margin-top:4px}.coverage-risk-list{margin-top:13px}.coverage-risk-title{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;display:flex}.coverage-risk-title h3{font-size:15px;font-weight:500}.coverage-risk-row{border:1px solid var(--line-soft);background:var(--bg-2);width:100%;color:var(--text-soft);text-align:left;border-radius:6px;margin-bottom:5px;padding:8px 9px;display:block}.coverage-risk-row:hover{border-color:#d8f26a57}.coverage-risk-top{justify-content:space-between;gap:12px;display:flex}.coverage-risk-line{text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:9.5px;overflow:hidden}.coverage-risk-pct{color:var(--amber);flex:none;font-size:9.5px;font-weight:700}.coverage-risk-bar{background:var(--surface-3);border-radius:99px;height:3px;margin:5px 0;overflow:hidden}.coverage-risk-bar div{background:var(--good);height:100%}.coverage-risk-detail{color:var(--muted-2);flex-wrap:wrap;justify-content:space-between;gap:3px 10px;font-size:8.5px;display:flex}.coverage-clear{background:var(--good-dim);color:var(--good);border-radius:6px;padding:10px;font-size:10.5px}.coverage-note{margin-top:11px}.explorer-panel{padding:20px}.explorer-head{align-items:flex-start;margin-bottom:11px}.explorer-head h2{margin-top:2px;font-size:24px}.explorer-sample{text-align:right;color:var(--text-soft);font-size:11px;font-weight:650}.explorer-sample em{color:var(--muted-2);font-size:9px;font-style:normal;font-weight:400;display:block}.explorer-moves{scrollbar-width:thin;flex-direction:column;gap:5px;max-height:360px;display:flex;overflow-y:auto}.explorer-move{border:1px solid var(--line-soft);background:var(--bg-2);width:100%;color:var(--text-soft);text-align:left;border-radius:6px;padding:7px 9px}.explorer-move:hover{border-color:var(--muted-2)}.explorer-move.prepared{background:#7ee2b80b;border-color:#7ee2b852}.explorer-move-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.explorer-move-top strong{font-family:SFMono-Regular,Consolas,monospace;font-size:11.5px}.explorer-move-top span{color:var(--accent);font-size:10.5px;font-weight:700}.explorer-move-bar{background:var(--surface-3);border-radius:99px;height:3px;margin:4px 0;overflow:hidden}.explorer-move-bar div{background:linear-gradient(90deg, var(--accent-dim), var(--accent));height:100%}.explorer-move-meta{color:var(--muted-2);flex-wrap:wrap;justify-content:space-between;gap:3px 9px;font-size:8.5px;display:flex}.prepared-label{color:var(--good)}.unprepared-label{color:var(--amber)}.repertoire-footer{border-top:1px solid var(--line-soft);color:var(--muted-2);margin-top:26px;padding-top:16px;font-size:10px}@media (width<=1320px){.builder-grid{grid-template-columns:minmax(0,1fr) 470px}.engine-controls{grid-template-columns:1fr 1fr}.engine-controls .button{justify-self:start}}@media (width<=1120px){.repertoire-list-grid{grid-template-columns:1fr}.repertoire-side{grid-template-columns:1fr 1fr;align-items:start;display:grid}.builder-grid{grid-template-columns:1fr}.builder-side{grid-template-columns:1fr 1fr;align-items:start;display:grid}.tree-panel,.branch-panel{min-height:0}.coverage-panel,.explorer-panel{align-self:start}}@media (width<=900px){.repertoire-head{flex-direction:column;align-items:flex-start}.repertoire-head-actions{width:100%}.repertoire-mini-stat{flex:1;max-width:none}.builder-side,.repertoire-side{grid-template-columns:1fr}.topbar-nav{margin-left:20px;position:static;transform:none}.repertoire-list-head{align-items:flex-start}}@media (width<=700px){.topbar-nav button{padding:5px 9px;font-size:10.5px}.logo-small .logo-word{display:none}.builder-board-panel,.tree-panel,.branch-panel,.engine-panel,.coverage-panel,.explorer-panel{padding:15px}.builder-toolbar{align-items:flex-start}.builder-draft-actions{width:100%;margin-left:0}.coverage-options{flex-direction:column;align-items:stretch}.coverage-speeds{padding-bottom:0}.engine-controls{grid-template-columns:1fr}.engine-line{grid-template-columns:20px 52px minmax(0,1fr)}.engine-line-depth{display:none}.repertoire-head h1{font-size:38px}}.coverage-empty{background:var(--surface-2);color:var(--muted);margin-top:12px}.explorer-fallback{background:var(--amber-dim);color:#f5d79e;border:1px solid #f0c67440;border-radius:7px;padding:10px 12px;font-size:10.5px;line-height:1.55}.explorer-fallback code{background:#00000038;border-radius:3px;padding:1px 4px;font-size:9.5px}.branch-line-list{background:var(--bg);border:1px solid var(--line-soft);scrollbar-width:thin;border-radius:8px;flex-direction:column;gap:3px;max-height:335px;margin-top:6px;padding:5px;display:flex;overflow-y:auto}.branch-line-row{cursor:pointer;background:#ffffff05;border:1px solid #0000;border-radius:6px;flex:none;min-width:0}.branch-line-row:hover{border-color:var(--line)}.branch-line-row.contains-current{background:var(--accent-dim);border-color:#d8f26a57}.branch-line-scroll{white-space:nowrap;scrollbar-width:thin;touch-action:pan-x;align-items:center;gap:0;width:100%;padding:5px 7px 6px;display:flex;overflow:auto hidden}.branch-line-scroll::-webkit-scrollbar{height:3px}.branch-line-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.branch-move-token{color:var(--text-soft);white-space:nowrap;background:0 0;border:0;border-radius:4px;flex:none;padding:1px 3px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.55}.branch-move-token:hover{color:var(--accent);background:#ffffff0a}.branch-move-token.current{background:var(--accent);color:#10150f}.branch-move-token.has-comment:after{content:"✎";color:var(--amber);font-family:var(--font-body);vertical-align:super;margin-left:3px;font-size:8px}.branch-move-token.current.has-comment:after{color:#34411a}.branch-line-meta{flex:none;align-items:center;gap:4px;margin-left:8px;display:inline-flex}.branch-meta-item.comment{color:var(--amber);font-size:9px}.branch-line-meta .tree-tag{max-width:90px}.branch-line-meta .tree-coverage{margin-left:0}.tree-hint{color:var(--muted-2);margin:8px 2px 0;font-size:9.5px;line-height:1.5}.branch-graph-panel{margin-bottom:22px;padding:20px 22px 16px}.branch-graph-head{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:13px;display:flex}.branch-graph-head h2{margin:2px 0 4px;font-size:28px}.branch-graph-head p{max-width:720px;color:var(--muted);font-size:11.5px}.graph-head-side{flex-direction:column;flex:none;align-items:flex-end;gap:7px;display:flex}.graph-source{border:1px solid var(--line-soft);background:var(--bg-2);border-radius:8px;align-items:center;gap:8px;padding:7px 10px;display:flex}.graph-source-dot{background:var(--muted-2);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #74847a1f}.graph-source-explorer .graph-source-dot{background:var(--good);box-shadow:0 0 0 3px var(--good-dim)}.graph-source-games .graph-source-dot{background:var(--amber);box-shadow:0 0 0 3px var(--amber-dim)}.graph-source strong{color:var(--text-soft);font-size:10.5px;display:block}.graph-source span:last-child{color:var(--muted-2);font-size:9px;display:block}.graph-status{max-width:300px;color:var(--amber);text-align:right;font-size:9.5px}.branch-graph-scroll{border:1px solid var(--line-soft);background:linear-gradient(180deg, #d8f26a06, transparent 180px), var(--bg);scrollbar-width:thin;scrollbar-color:var(--line) var(--bg-2);border-radius:10px;max-height:560px;overflow:auto}.branch-graph-svg{min-width:100%;display:block}.graph-turn-column{pointer-events:none}.graph-column-line{stroke:#98a89d21;stroke-width:1px;stroke-dasharray:3 6}.graph-turn-label{fill:var(--muted-2);letter-spacing:.05em;font-family:SFMono-Regular,Consolas,monospace;font-size:11.5px;font-weight:700}.graph-turn-cumulative{font-family:var(--font-display);font-size:20px;font-weight:500}.graph-turn-cumulative.good,.graph-node-local.good{fill:var(--good)}.graph-turn-cumulative.warn,.graph-node-local.warn{fill:var(--amber)}.graph-turn-cumulative.bad,.graph-node-local.bad{fill:var(--danger)}.graph-turn-cumulative.none,.graph-node-local.none{fill:var(--muted-2)}.graph-edge{cursor:pointer}.graph-edge-path{fill:none;stroke-width:1.4px;opacity:.62;transition:opacity .15s,stroke-width .15s}.graph-edge-user .graph-edge-path{stroke:#d8f26aa3}.graph-edge-opponent .graph-edge-path{stroke:#8fc8ef9e}.graph-edge:hover .graph-edge-path{stroke-width:2.2px;opacity:1}.graph-arrow-head-user{fill:#d8f26ae6}.graph-arrow-head-opponent{fill:#8fc8efe6}.graph-edge-label{fill:var(--muted);stroke:var(--bg);stroke-width:4px;paint-order:stroke;pointer-events:none;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.graph-edge-opponent .graph-edge-label{fill:var(--blue)}.graph-node{cursor:pointer;outline:none}.graph-node-dot{stroke:var(--bg);stroke-width:2.4px;transition:r .15s,filter .15s}.graph-node-user .graph-node-dot{fill:var(--accent)}.graph-node-opponent .graph-node-dot{fill:var(--blue)}.graph-node:hover .graph-node-dot{filter:brightness(1.2)}.graph-node-ring{fill:none;stroke:var(--accent);stroke-width:1.4px;opacity:.85}.graph-node-local{stroke:var(--bg);stroke-width:3px;paint-order:stroke;font-family:var(--font-body);pointer-events:none;font-size:9.5px;font-weight:700}.branch-graph-legend{color:var(--muted-2);flex-wrap:wrap;align-items:center;gap:5px 16px;margin-top:9px;font-size:9.5px;display:flex}.branch-graph-legend span{align-items:center;gap:5px;display:inline-flex}.branch-graph-legend b{color:var(--text-soft);font-weight:600}.legend-dot{border-radius:50%;width:7px;height:7px}.legend-dot.user{background:var(--accent)}.legend-dot.opponent{background:var(--blue)}.legend-warning{color:var(--amber)}@media (width<=820px){.branch-graph-head{flex-direction:column;gap:10px}.graph-head-side{align-items:flex-start}.graph-status{text-align:left}.branch-graph-scroll{max-height:460px}}.branch-graph-scroll::-webkit-scrollbar{width:7px;height:7px}.branch-graph-scroll::-webkit-scrollbar-track{background:var(--bg-2)}.branch-graph-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.branch-graph-scroll::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}.graph-head-actions{justify-content:flex-end;display:flex}.graph-refresh{min-height:30px;padding:5px 10px;font-size:10px}.graph-layout-controls{border:1px solid var(--line-soft);background:var(--bg-2);border-radius:9px;flex-wrap:wrap;align-items:flex-end;gap:10px 22px;margin-bottom:12px;padding:10px 12px;display:flex}.graph-spacing{flex-direction:column;flex:0 250px;gap:5px;display:flex}.graph-spacing span{color:var(--muted);font-size:10px}.graph-spacing b{color:var(--accent);font-weight:700}.graph-spacing input[type=range]{width:100%}.graph-layout-hint{color:var(--muted-2);text-align:right;flex:220px;padding-bottom:2px;font-size:9.5px}@media (width<=820px){.graph-layout-hint{text-align:left}}.start-position-picker{border:1px solid var(--line-soft);background:var(--bg-2);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.start-position-board{width:min(100%,300px);margin:0 auto}.start-position-board .board-wrap{max-width:300px}.start-position-board .board{border-radius:8px}.start-board-controls{justify-content:center;gap:7px;display:flex}.start-board-controls .button{min-height:28px;padding:4px 8px;font-size:9.5px}.fen-loader{gap:6px;display:flex}.fen-loader input{border:1px solid var(--line);background:var(--bg);min-width:0;min-height:30px;color:var(--muted);border-radius:6px;flex:1;padding:5px 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.fen-loader .button{min-height:30px;padding:5px 8px;font-size:9.5px}.field-error{color:var(--danger);font-size:10.5px;line-height:1.5}.locked-color{border:1px solid var(--line);background:var(--bg-2);color:var(--text-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-size:12px;font-weight:600;display:flex}.locked-color span{color:var(--muted-2);font-size:9.5px;font-weight:400}.substudy-note{background:var(--accent-dim);color:var(--text-soft);border:1px solid #d8f26a38;border-radius:8px;padding:9px 11px;font-size:10.5px;line-height:1.5}.create-form-actions{margin-top:4px}.create-form-actions .button-accent{flex:1}.repertoire-create-form{flex-direction:column;gap:14px;display:flex}.promote-modal{border:1px solid var(--line);background:var(--bg-2);border-radius:18px;width:min(560px,100%);max-height:92vh;padding:24px;overflow-y:auto;box-shadow:0 50px 150px #0009}.promote-modal-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.promote-modal-head h2{margin-top:3px;font-size:28px}.branch-promote{background:#8fc8ef0f;border:1px solid #8fc8ef40;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:12px;display:flex}.branch-promote p{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.45}.branch-promote .button{white-space:nowrap;min-height:34px;padding:6px 10px;font-size:10.5px}.graph-backlinks{background:#8fc8ef0f;border:1px solid #8fc8ef3d;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding:8px 10px;display:flex}.graph-backlinks-label{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700}.graph-backlink{color:var(--blue);background:#8fc8ef14;border:1px solid #8fc8ef4d;border-radius:999px;padding:3px 8px;font-size:10px}.graph-backlink:hover{background:#8fc8ef29}.graph-study-link{cursor:pointer;outline:none}.graph-study-link-label{fill:var(--blue);stroke:var(--bg);stroke-width:3px;paint-order:stroke;font-family:var(--font-body);font-size:9px;font-weight:700;text-decoration:underline}.graph-study-link:hover .graph-study-link-label{fill:#b7e2ff}.graph-study-link-line{stroke:#8fc8ef8c;stroke-width:1px;stroke-dasharray:2 3}@media (width<=700px){.branch-promote{flex-direction:column;align-items:flex-start}.promote-modal{border-radius:14px;padding:16px}}.run-history{flex-direction:column;gap:6px;display:flex}.run-history-row{border:1px solid var(--line);width:100%;color:inherit;text-align:left;cursor:pointer;background:#ffffff05;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.run-history-row:hover{border-color:var(--accent);background:#8fc8ef12}.run-history-row strong{font-size:.82rem;display:block}.run-history-row em{color:var(--muted);font-size:.72rem;font-style:normal;display:block}.computing-line{flex-direction:column;gap:8px;margin-top:14px;display:flex}.insights-page .setup-panel{margin-bottom:18px}.insights-page .report-page{padding-top:8px}.game-analysis-page .page-head{margin-bottom:24px}.analysis-picker-panel{margin-bottom:18px}.analysis-picker-grid{grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.5fr) minmax(200px,1fr);align-items:end;gap:16px;display:grid}.analysis-picker-grid .field select,.analysis-picker-grid .field input{border:1px solid var(--line);background:var(--bg-2);width:100%;min-height:41px;color:var(--text-soft);border-radius:8px;outline:none;padding:8px 11px;font-size:12.5px}.analysis-picker-grid .field select:focus,.analysis-picker-grid .field input:focus{border-color:#d8f26a99}.analysis-game-table td{font-size:11.5px}.analysis-hero{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:18px;display:flex}.analysis-hero-main h2{margin:4px 0 6px;font-size:clamp(26px,3vw,38px)}.analysis-hero-main h2 span{color:var(--muted);padding:0 4px;font-size:.55em;font-style:italic}.analysis-hero-main p{color:var(--text-soft)}.analysis-hero-main p+p{margin-top:6px}.analysis-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.analysis-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);align-items:start;gap:18px;display:grid}.analysis-main,.analysis-side{flex-direction:column;gap:18px;min-width:0;display:flex}.analysis-board-panel{padding-bottom:18px}.analysis-board-wrap{min-width:0}.analysis-fact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.analysis-fact-grid>div{border:1px solid var(--line-soft);background:#ffffff06;border-radius:7px;padding:8px 9px}.analysis-fact-grid strong{color:var(--text-soft);text-transform:capitalize;margin-top:2px;font-size:11px;font-weight:650;display:block}.analysis-conclusion{border-top:1px solid var(--line-soft);color:var(--text-soft);margin-top:12px;padding-top:10px;font-size:11.5px;line-height:1.55}.analysis-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.analysis-summary-grid>div{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;padding:10px 11px}.analysis-summary-grid strong{font-family:var(--font-display);margin-top:2px;font-size:19px;font-weight:500;display:block}.analysis-game-meta{border-top:1px solid var(--line-soft);grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;display:grid}.analysis-game-meta>span{min-width:0}.analysis-game-meta b{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;font-weight:650;display:block;overflow:hidden}.analysis-version-line{border-top:1px solid var(--line-soft);color:var(--muted-2);margin-top:14px;padding-top:12px;font-size:10px;line-height:1.5}.raw-eval-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.raw-eval-card{background:var(--bg);border:1px solid var(--line-soft);border-radius:10px;min-width:0;padding:14px}.raw-eval-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.raw-eval-score{font-family:var(--font-display);letter-spacing:-.03em;margin-top:3px;font-size:27px;font-weight:500;display:block}.raw-eval-facts{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:12px;padding-top:10px;font-size:10px;display:flex}.raw-eval-facts b{color:var(--text-soft);font-weight:650}.raw-eval-line,.raw-eval-pv{color:var(--muted);margin-top:10px;font-size:10.5px;line-height:1.5}.raw-eval-line strong{color:var(--text-soft);word-break:break-word;margin-top:2px;font-family:SFMono-Regular,Consolas,monospace;font-weight:500;display:block}.raw-eval-pv span:last-child{color:var(--text-soft);word-break:break-word;margin-top:2px;font-family:SFMono-Regular,Consolas,monospace;display:block}.raw-info{color:var(--muted);margin-top:10px;font-size:10px}.raw-info summary{cursor:pointer;-webkit-user-select:none;user-select:none}.raw-info code{max-height:180px;color:var(--muted);white-space:pre-wrap;word-break:break-word;background:#00000040;border-radius:6px;margin-top:6px;padding:8px;font-size:9px;display:block;overflow:auto}.analysis-engine-meta{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:6px 18px;margin-top:14px;padding-top:12px;display:flex}.analysis-engine-meta b{color:var(--text-soft);margin-top:2px;font-size:10.5px;font-weight:650;display:block}.move-conclusions{max-height:420px}.move-active-row td{background:#d8f26a1a!important}.feedback-panel .section-title{align-items:center}.feedback-attachment{background:var(--accent-dim);border:1px solid #d8f26a38;border-radius:8px;flex-direction:column;gap:2px;margin:14px 0;padding:10px 12px;display:flex}.feedback-attachment strong{color:var(--accent);font-size:12px}.feedback-attachment span:last-child{color:var(--muted);font-size:10.5px}.feedback-textarea{resize:vertical;min-height:120px}.feedback-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.feedback-actions .fine-print{color:var(--muted-2)}.feedback-page-head{align-items:center}.feedback-filter{flex:none}.feedback-loading{color:var(--muted);justify-content:center;padding:40px 20px;display:flex}.feedback-list{gap:16px;display:grid}.feedback-card{padding:20px 22px}.feedback-card-meta{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px;display:flex}.feedback-card-message{color:var(--text-soft);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.feedback-empty{margin-top:8px}.analysis-side .move-list{max-height:460px}.analysis-preview-banner{max-width:620px;color:var(--text-soft);background:#d8f26a0f;border:1px solid #d8f26a4d;border-radius:7px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0 auto 10px;padding:7px 10px;font-size:10.5px;display:flex}.analysis-preview-banner .text-link{font-size:10.5px}.analysis-line-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;max-width:620px;margin:14px auto 0;padding:13px 15px}.analysis-line-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.analysis-line-source{color:var(--text-soft);margin-top:3px;font-size:12px;display:block}.analysis-line-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.analysis-line-score{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:18px;font-weight:700}.analysis-line-pv{background:var(--bg);border:1px solid var(--line-soft);border-radius:7px;flex-wrap:wrap;align-items:baseline;gap:2px 4px;margin-top:12px;padding:9px 11px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.9;display:flex}.analysis-line-token{align-items:baseline;gap:3px;display:inline-flex}.analysis-line-number{color:var(--muted-2);padding:0 2px;font-size:10.5px}.analysis-line-move{color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 4px}.analysis-line-move:hover{border-color:var(--line);color:var(--accent)}.analysis-line-move.active{background:var(--accent-dim);color:var(--accent);border-color:#d8f26a4d}.analysis-line-controls{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.analysis-line-controls button:not(.text-link){border:1px solid var(--line);background:var(--surface);width:32px;height:29px;color:var(--text-soft);border-radius:6px;font-size:11px}.analysis-line-controls button:not(.text-link):hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.analysis-line-controls button:disabled{opacity:.4;cursor:default}.analysis-line-controls button.analysis-line-play{width:auto;padding:0 10px}.analysis-line-position{min-width:44px;color:var(--muted);text-align:center;font-size:10px}.analysis-line-controls .analysis-line-back{margin-left:auto}.analysis-line-card .fine-print{color:var(--muted-2);margin-top:8px}@media (width<=1100px){.analysis-layout{grid-template-columns:minmax(0,1fr)}.analysis-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.analysis-side>.panel:first-child{grid-column:1/-1}}@media (width<=820px){.analysis-picker-grid{grid-template-columns:1fr}.analysis-hero{flex-direction:column}.analysis-hero-actions{justify-content:flex-start}.analysis-fact-grid{grid-template-columns:1fr 1fr}.analysis-side{display:flex}}@media (width<=560px){.analysis-summary-grid{grid-template-columns:1fr 1fr}.analysis-game-meta{grid-template-columns:1fr}.analysis-line-head{flex-direction:column}.analysis-line-meta{justify-content:flex-start}.analysis-line-controls .analysis-line-back{margin-left:0}.feedback-actions{flex-direction:column;align-items:flex-end}}.analysis-board-actions{justify-content:space-between;align-items:center;gap:12px;max-width:620px;margin:12px auto 0;display:flex}.analysis-board-actions .fine-print{color:var(--muted-2);text-align:right}@media (width<=560px){.analysis-board-actions{flex-direction:column;align-items:flex-start}.analysis-board-actions .fine-print{text-align:left}}.opening-name-editor{gap:.65rem;padding:1rem;display:grid}.opening-name-editor input{width:100%;font-size:1.1rem}.saved-continuations{padding:1rem}.saved-continuations ul{margin:.75rem 0 0;padding:0;list-style:none}.saved-continuations li button{text-align:left;border:1px solid var(--line);width:100%;color:inherit;background:0 0;border-radius:8px;justify-content:space-between;gap:1rem;padding:.8rem;display:flex}.saved-continuations li+li{margin-top:.4rem}.saved-continuations li span{color:var(--muted);overflow-wrap:anywhere}.saved-continuations button:focus-visible,.opening-name-editor input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.branch-move-mark{margin:1rem 0}.helper-arrow-hoverable{pointer-events:visiblePainted}.helper-arrow-clickable{cursor:pointer}.helper-arrow-hovered>line{filter:drop-shadow(0 0 .45px #fffc)}.square.arrow-source:before,.square.arrow-destination:before{content:"";z-index:1;pointer-events:none;background:#46a1ff61;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #2773d7d9}.square.arrow-destination:before{background:#ffcb436b;box-shadow:inset 0 0 0 3px #dea41be6}.helper-arrow-clickable:focus{filter:drop-shadow(0 0 1px #fff);outline:none}.helper-thickness-pending{animation:1.4s ease-in-out infinite alternate helper-width}.helper-border-pending{animation:1.4s ease-in-out infinite alternate helper-border-width}.helper-trap-pending{animation:1.4s ease-in-out infinite alternate helper-stripe}.helper-head-pending{transform-origin:0 0;animation:1.4s ease-in-out infinite alternate helper-head-scale}.helper-shaft-mask-pending{transform-origin:0 0;animation:1.4s ease-in-out infinite alternate helper-shaft-scale}@keyframes helper-head-scale{0%{transform:scale(.307692)}to{transform:scale(1)}}@keyframes helper-shaft-scale{0%{transform:scaleY(.307692)}to{transform:scaleY(1)}}@keyframes helper-width{0%{stroke-width:.8px}to{stroke-width:2.6px}}@keyframes helper-border-width{0%{stroke-width:2px}to{stroke-width:3.8px}}@keyframes helper-stripe{0%{opacity:.15}to{opacity:1}}@media (prefers-reduced-motion:reduce){.helper-thickness-pending,.helper-border-pending,.helper-trap-pending,.helper-head-pending,.helper-shaft-mask-pending{animation:none}.helper-trap-pending{opacity:.45}}.alert-warning{background:var(--amber-dim);color:#ffe3b3;border:1px solid #f0c67459}.text-link-button{color:var(--accent);font:inherit;background:0 0;border:0;padding:0;font-size:13px;font-weight:650}.text-link-button:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.button-small{min-height:32px;padding:6px 11px;font-size:12px}.page-head-actions{align-items:flex-start;gap:10px;display:flex}.fetch-banner{border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;align-items:center;gap:18px;margin-bottom:18px;padding:14px 18px;display:flex}.games-settings{grid-template-columns:210px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:26px;margin-bottom:24px;display:grid}.games-settings h2{margin-top:5px;font-size:26px}.settings-slider{color:var(--text-soft);gap:7px;font-size:13px;display:grid}.settings-slider>span:first-child{justify-content:space-between;gap:10px;display:flex}.settings-slider b{color:var(--accent);font-weight:650}.settings-slider input[type=range]{width:100%;accent-color:var(--accent)}.games-list-panel{padding:0;overflow:hidden}.games-list-panel .panel-head{margin:0;padding:22px 24px 18px}.games-table-wrap{overflow-x:auto}.games-table{border-collapse:collapse;width:100%;font-size:13px}.games-table th{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;text-align:left;white-space:nowrap;padding:10px 14px;font-size:10.5px;font-weight:650}.games-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:13px 14px}.games-table tr:last-child td{border-bottom:0}.games-table tbody tr:hover{background:#ffffff06}.game-id-link{color:var(--text);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;font-weight:650;text-decoration:none}.game-id-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.game-subline{white-space:nowrap;margin-top:3px}.color-badge,.result-badge{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:4px 9px;font-size:11px;font-weight:650;display:inline-flex}.color-badge i{border:1px solid #00000059;border-radius:50%;width:9px;height:9px}.color-badge.color-white{color:var(--text);background:#f4eee014}.color-badge.color-white i{background:#f4eee0}.color-badge.color-black{color:var(--text-soft);background:#0000003d}.color-badge.color-black i{background:#141a17}.result-badge.result-win{color:var(--good);background:var(--good-dim);border-color:#7ee2b84d}.result-badge.result-loss{color:var(--danger);background:var(--danger-dim);border-color:#ff83784d}.result-badge.result-draw{color:var(--amber);background:var(--amber-dim);border-color:#f0c6744d}.game-progress-cell{min-width:96px;color:var(--text-soft);font-variant-numeric:tabular-nums;gap:5px;display:grid}.game-progress-track{background:var(--line);border-radius:999px;width:100%;height:4px;display:block;overflow:hidden}.game-progress-fill{border-radius:inherit;background:var(--accent);height:100%;display:block}.games-loading{place-items:center;min-height:220px;display:grid}.analysis-run-banner{background:var(--accent-dim);border:1px solid #d8f26a4d;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:14px 18px;display:flex}.analysis-run-main{flex-wrap:wrap;align-items:center;gap:16px;min-width:0;display:flex}.analysis-run-numbers{min-width:190px;color:var(--text-soft);font-variant-numeric:tabular-nums;text-align:right;gap:5px;font-size:12px;display:grid}.analysis-run-track{background:#d8f26a2e;border-radius:999px;width:100%;height:5px;display:block;overflow:hidden}.analysis-run-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .2s linear;display:block}.analysis-note{border:1px solid var(--line-soft);background:var(--surface);color:var(--muted);border-radius:10px;margin-bottom:18px;padding:10px 14px;font-size:12.5px}.game-row-active{box-shadow:inset 3px 0 0 var(--accent);background:#d8f26a0e}.player-game-page{padding-top:28px}.player-game-breadcrumb{align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.player-game-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.player-game-head h1{margin-top:8px;font-size:clamp(28px,3vw,42px)}.player-game-result{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.player-game-layout{grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);align-items:start;gap:26px;display:grid}.player-analysis-column,.player-classification-column{gap:18px;min-width:0;display:grid}.player-classification-column{position:sticky;top:84px}.player-board-panel{padding:16px}.player-board-with-eval{align-items:stretch;gap:12px;max-width:620px;margin:0 auto;display:flex}.player-eval-rail{flex-direction:column;flex:none;align-items:center;gap:8px;width:44px;display:flex}.player-eval-rail .eval-bar{flex:auto;width:18px;min-height:0}.player-eval-score{border:1px solid var(--line-soft);background:var(--bg-2);font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;width:100%;padding:4px 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;font-weight:700}.eval-tone-white{color:#f4eee0}.eval-tone-black{color:var(--danger)}.eval-tone-even{color:var(--muted)}.player-board-with-eval .board-wrap{flex:auto;min-width:0;max-width:none;margin:0}.player-board-panel .board-wrap{max-width:620px;margin:0 auto}.player-board-footer{justify-content:space-between;gap:12px;padding:12px 4px 0;display:flex}.player-pv-panel{border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;gap:7px;min-height:84px;padding:14px 16px;display:grid}.player-pv-panel.empty{place-items:center}.player-pv-context{border-bottom:1px solid var(--line-soft);margin-bottom:2px;padding-bottom:2px}.player-pv-status{align-items:center;gap:10px;font-size:13px;display:flex}.spinner-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 4px var(--accent-dim);border-radius:50%;animation:1.2s ease-in-out infinite pulse}.player-pv-line{border:1px solid #0000;border-radius:8px;align-items:baseline;gap:10px;padding:6px 8px;font-size:13px;line-height:1.9;display:flex}.pv-tone-white{color:#f3efe4;background:#f4eee00e;border-color:#f4eee021}.pv-tone-black{color:#c4cfc8;background:#00000042;border-color:#ffffff14}.pv-tone-even{color:var(--text-soft);border-color:var(--line-soft);background:#ffffff06}.pv-index{width:20px;height:20px;color:var(--muted);background:#0000003d;border-radius:5px;flex:none;place-items:center;font-size:10px;font-weight:700;display:inline-grid}.pv-score{font-variant-numeric:tabular-nums;flex:none;min-width:58px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;font-weight:700}.pv-moves{flex-wrap:wrap;gap:1px 3px;min-width:0;display:flex}.pv-move{color:inherit;font:inherit;background:0 0;border:0;border-radius:3px;padding:0 2px;font-weight:600}.pv-move:hover,.pv-move:focus-visible{color:var(--accent-strong);background:#d8f26a33;outline:none}.pv-source{flex:none;margin-left:auto}.player-eval-graph{border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;padding:14px 16px}.player-eval-graph-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.player-eval-graph svg{background:#202923;border-radius:7px;width:100%;height:118px;display:block;overflow:hidden}.graph-point{fill:var(--accent)}.graph-empty-label{fill:#ffffff75;font-size:12px;font-family:var(--font-body)}.analysis-progress{border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;padding:14px 16px}.analysis-progress-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.analysis-progress-bars{background:var(--bg-2);border-radius:6px;align-items:stretch;gap:2px;height:38px;padding:3px;display:flex;overflow:hidden}.analysis-progress-column{background:#ffffff09;border-radius:2px;flex:1 1 0;min-width:1px;position:relative;overflow:hidden}.analysis-progress-fill{background:var(--muted-2);border-radius:2px;transition:height .15s linear;position:absolute;bottom:0;left:0;right:0}.progress-source-cache .analysis-progress-fill{background:var(--blue)}.progress-source-tablebase .analysis-progress-fill{background:var(--amber)}.progress-source-engine .analysis-progress-fill{background:var(--accent)}.progress-source-terminal .analysis-progress-fill{background:var(--muted)}.legend-swatch.progress-source-cache{background:var(--blue)}.legend-swatch.progress-source-tablebase{background:var(--amber)}.legend-swatch.progress-source-engine{background:var(--accent)}.legend-swatch.progress-source-terminal{background:var(--muted)}.progress-error .analysis-progress-fill{background:var(--danger)}.analysis-progress-legend{flex-wrap:wrap;gap:12px;padding-top:8px;display:flex}.analysis-progress-legend span{align-items:center;gap:5px;display:inline-flex}.legend-swatch{border-radius:2px;width:8px;height:8px;display:inline-block}.player-game-meta dl{gap:8px;margin:14px 0;display:grid}.player-game-meta dl>div{justify-content:space-between;gap:16px;font-size:13px;display:flex}.player-game-meta dt{color:var(--muted)}.player-game-meta dd{text-align:right;margin:0}.classification-form{gap:16px;display:grid}.classification-form-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.classification-form-head h2{margin-top:4px;font-size:25px}.classification-move{color:var(--accent);letter-spacing:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.78em;font-weight:650}.classification-disabled{opacity:.72}.save-indicator{min-height:18px;color:var(--muted);white-space:nowrap;font-size:11px}.save-saved{color:var(--good)}.save-saving{color:var(--amber)}.save-error{color:var(--danger)}.classification-field{gap:7px;display:grid}.wr-deltas{border:1px solid var(--line-soft);background:var(--bg-2);border-radius:8px;gap:6px;padding:10px 11px;display:grid}.wr-deltas-head{justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:3px;display:flex}.wr-delta-row{color:var(--text-soft);justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.wr-delta-row b{color:var(--danger);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.classification-checkbox{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 11px;display:flex}.classification-checkbox:hover{border-color:var(--muted-2)}.classification-checkbox input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:1px 0 0}.classification-checkbox>span{gap:1px;display:grid}.classification-checkbox strong{color:var(--text-soft);font-size:12px;font-weight:650}.classification-label{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:650}.toggle-row{flex-wrap:wrap;gap:6px;display:flex}.toggle-chip{border:1px solid var(--line);color:var(--muted);text-align:left;background:0 0;border-radius:7px;padding:6px 10px;font-size:11.5px;font-weight:600}.toggle-chip:hover{color:var(--text);border-color:var(--muted-2)}.toggle-chip.selected{color:#10150f;background:var(--accent);border-color:var(--accent)}.motif-input-shell{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;flex-wrap:wrap;align-items:center;gap:5px;min-height:40px;padding:5px 7px;display:flex}.motif-input-invalid .motif-input-shell{border-color:var(--danger)}.motif-input-shell input{min-width:100px;color:var(--text);background:0 0;border:0;outline:none;flex:120px;padding:3px 2px;font-size:12.5px}.motif-chip{background:var(--surface-3);color:var(--text-soft);border-radius:5px;align-items:center;gap:3px;padding:3px 4px 3px 7px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px;display:inline-flex}.motif-chip-remove{width:16px;height:16px;color:var(--muted);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;font-size:14px;line-height:1;display:inline-grid}.motif-chip-remove:hover{background:var(--danger-dim);color:var(--danger)}.motif-input-error{color:var(--danger);font-size:10.5px}.motif-reference{border-top:1px solid var(--line-soft);margin-top:42px;padding-top:28px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.section-heading h2{margin-top:5px;font-size:28px}.motif-reference-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.motif-reference-item{border:1px solid var(--line-soft);background:var(--surface);border-radius:9px;padding:12px 14px}.motif-reference-item code{color:var(--accent);font-size:11.5px;font-weight:650}.motif-reference-item p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5}.mate-reference-heading{margin-top:30px}@media (width<=980px){.player-game-layout{grid-template-columns:1fr}.player-classification-column{position:static}.games-settings{grid-template-columns:1fr;gap:18px}}@media (width<=680px){.games-page .page-head,.player-game-head{flex-direction:column}.player-game-result{justify-content:flex-start}.player-pv-line{flex-wrap:wrap}.pv-source{margin-left:30px}.analysis-run-banner{flex-direction:column;align-items:stretch}.analysis-run-numbers{text-align:left;min-width:0}}.puzzles-page{width:min(1800px,100%);margin:0 auto;padding:38px 32px 80px}.puzzle-page-head{margin-bottom:26px}.puzzle-page-head h1{margin:8px 0 10px}.puzzle-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.puzzles-layout{grid-template-columns:minmax(280px,320px) minmax(320px,1fr) minmax(350px,560px);align-items:start;gap:18px;display:grid}.puzzle-filters,.puzzle-results,.puzzle-player{min-width:0;padding:18px}.puzzle-filters{scrollbar-width:thin;scrollbar-color:var(--line) var(--bg-2);max-height:calc(100vh - 104px);position:sticky;top:84px;overflow-y:auto}.puzzle-filters fieldset{border:0;border-bottom:1px solid var(--line-soft);min-width:0;margin:0 0 17px;padding:0 0 17px}.puzzle-filters fieldset:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.puzzle-filters legend{width:100%;color:var(--text-soft);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:11px;font-weight:700;display:flex}.puzzle-filters label{color:var(--muted);margin:9px 0 0;font-size:11.5px;display:block}.puzzle-filters label:first-of-type{margin-top:0}.puzzle-filters select{border:1px solid var(--line);background:var(--bg-2);width:100%;color:var(--text-soft);border-radius:7px;margin-top:6px;padding:7px 9px;font-size:12px}.puzzle-filters input[type=range]{width:100%;accent-color:var(--accent);margin-top:7px}.puzzle-filters small{color:var(--muted-2);margin-top:7px;font-size:10px;line-height:1.45;display:block}.puzzle-reset{color:var(--muted-2);letter-spacing:.04em;text-underline-offset:2px;text-transform:none;background:0 0;border:0;padding:0;font-size:9.5px;font-weight:600;text-decoration:underline}.puzzle-reset:hover{color:var(--accent)}.puzzle-histogram{border-bottom:1px solid var(--line);align-items:flex-end;gap:1px;height:62px;margin-top:4px;padding:0 1px;display:flex}.puzzle-histogram span{background:linear-gradient(#d8f26ae6,#d8f26a47);border-radius:1px 1px 0 0;flex:1 1 0;min-width:0;min-height:0}.puzzle-histogram span:hover{background:var(--accent-strong)}.puzzle-exact-toggle{align-items:center;gap:8px;color:var(--text-soft)!important;font-size:12px!important;display:flex!important}.puzzle-exact-toggle input{width:15px;height:15px;accent-color:var(--accent)}.puzzle-tag-groups{gap:13px;margin-top:11px;display:grid}.puzzle-tag-group h3{color:var(--muted-2);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:9.5px;font-weight:700}.puzzle-tags{flex-wrap:wrap;gap:4px;display:flex}.puzzle-tag{border:1px solid var(--line);color:var(--muted);text-align:left;background:#ffffff05;border-radius:6px;align-items:baseline;gap:3px;padding:3px 6px;font-size:10.5px;line-height:1.3;display:inline-flex}.puzzle-tag:hover{border-color:var(--muted-2);color:var(--text-soft)}.puzzle-tag.active{background:var(--accent-dim);color:var(--accent);border-color:#d8f26a8c}.puzzle-tag-count{color:var(--muted-2);font-variant-numeric:tabular-nums;font-size:9px}.puzzle-tag.active .puzzle-tag-count{color:#d8f26aa8}.puzzle-section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.puzzle-section-title h2{margin-top:2px;font-size:24px}.puzzle-sort{color:var(--muted-2);white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:flex}.puzzle-sort select{border:1px solid var(--line);background:var(--bg-2);color:var(--text-soft);border-radius:6px;padding:5px 7px;font-size:10.5px}.puzzle-results{flex-direction:column;min-height:520px;display:flex}.puzzle-list{gap:6px;margin:14px 0;display:grid}.puzzle-list-item{border:1px solid var(--line-soft);width:100%;color:var(--text-soft);text-align:left;background:#ffffff05;border-radius:9px;gap:3px;padding:10px 12px;display:grid}.puzzle-list-item:hover{border-color:var(--line);background:#ffffff0b}.puzzle-list-item.active{background:var(--accent-dim);box-shadow:inset 3px 0 0 var(--accent);border-color:#d8f26a8c}.puzzle-list-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.puzzle-list-top strong{color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.puzzle-list-facts{color:var(--muted);font-size:10.5px}.puzzle-list-facts b{color:var(--text-soft);font-weight:650}.puzzle-list-item small{color:var(--muted-2);overflow-wrap:anywhere;font-size:9.5px;line-height:1.4;overflow:hidden}.puzzle-status-badge{border:1px solid var(--line);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.4;display:inline-flex}.puzzle-status-successful{background:var(--good-dim);color:var(--good);border-color:#7ee2b866}.puzzle-status-failed{background:var(--danger-dim);color:var(--danger);border-color:#ff837866}.puzzle-status-incomplete{background:var(--amber-dim);color:var(--amber);border-color:#f0c67466}.puzzle-status-new{color:var(--muted-2);background:#ffffff08}.puzzle-pagination{color:var(--muted-2);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;font-size:10px;display:flex}.puzzle-empty{color:var(--muted);text-align:center;place-items:center;gap:4px;padding:60px 20px;display:grid}.puzzle-empty h3{margin:0;font-size:24px}.puzzle-player{position:sticky;top:84px}.puzzle-player .board-wrap{margin-top:14px}.puzzle-player-empty{min-height:300px;color:var(--muted);text-align:center;place-items:center;gap:6px;display:grid}.puzzle-player-empty h2{font-size:27px}.puzzle-player-loading{place-items:center;min-height:300px;display:grid}.puzzle-status{min-height:34px;color:var(--text-soft);margin-top:11px;font-size:12px;line-height:1.5}.puzzle-attempt-line{color:var(--muted-2);margin-top:4px;font-size:10px}.puzzle-attempt-line b{margin:0 4px}.puzzle-error{color:var(--danger);margin-top:8px;font-size:11.5px}.puzzle-promotion{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.puzzle-promotion .button{min-height:30px;padding:5px 10px;font-size:10.5px}@media (width<=1280px){.puzzles-layout{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.puzzle-filters{grid-row:1/span 2}.puzzle-player{grid-column:2;position:static}.puzzle-results{grid-column:2;min-height:0}}@media (width<=820px){.puzzles-page{padding:24px 18px 60px}.puzzle-page-head{flex-direction:column}.puzzles-layout{flex-direction:column;display:flex}.puzzle-filters{width:100%;max-height:none;position:static}.puzzle-player{order:-1;width:100%}.puzzle-results{width:100%}}@media (width<=560px){.puzzles-page{padding:18px 12px 50px}.puzzle-filters,.puzzle-results,.puzzle-player{padding:14px}.puzzle-section-title{align-items:flex-start}.puzzle-sort{justify-content:space-between;width:100%}}
