:root{color:#293340;font-synthesis:none;text-rendering:optimizelegibility;--bg:#fffceb;--surface:#faf7e9;--surface-raised:#f4f1e3;--surface-soft:#eeecdf;--line:#2c3d4b1f;--line-strong:#2c3d4b33;--text:#293340;--muted:#697583;--accent:#315d82;--accent-dark:#e8eef3;--warning:#a47121;--danger:#b34f42;--radius-lg:.5rem;--radius-md:.35rem;background:#fffceb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:radial-gradient(circle at 23% 15%, #315d820d, transparent 26rem), var(--bg);min-width:320px;min-height:100vh;margin:0}button,textarea{font:inherit}button:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #315d82b8}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcebe6;grid-template-columns:1fr auto 1fr;justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.5rem;padding:.8rem clamp(1rem,3vw,2.5rem);display:grid}.brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:.7rem;font-size:1rem;font-weight:720;text-decoration:none;display:inline-flex}.brand-mark{width:2rem;height:2rem;color:var(--accent);background:var(--accent-dark);border:1px solid #315d826b;border-radius:.55rem;place-items:center;font-size:1.25rem;display:grid}.primary-nav{border:1px solid var(--line);background:#ffffff06;border-radius:.75rem;align-items:center;gap:.25rem;padding:.24rem;display:flex}.nav-link{color:var(--muted);border-radius:.52rem;padding:.48rem .78rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:color .12s,background .12s}.nav-link:hover{color:var(--text)}.nav-link--active{color:#fffdf5;background:var(--accent)}.workspace{grid-template-columns:minmax(0,1fr) minmax(18rem,25rem);gap:clamp(1.4rem,3vw,3.5rem);width:min(100%,96rem);margin:0 auto;padding:clamp(1.4rem,3.2vw,3.4rem);display:grid}.board-column{min-width:0}.section-heading,.panel-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.section-heading{width:min(100%,46rem);margin:0 auto 1.25rem}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .32rem;font-size:.72rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:0;font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.05}h2{letter-spacing:-.02em;margin-bottom:0;font-size:1.12rem}.turn-badge{border:1px solid var(--line-strong);color:#4e5d69;background:#ffffff09;border-radius:999px;flex:none;align-items:center;gap:.55rem;min-height:2.25rem;padding:.55rem .72rem;font-size:.78rem;font-weight:650;display:inline-flex}.turn-piece{background:#f1f0e7;border:1px solid #ffffff73;border-radius:999px;width:.8rem;height:.8rem}.turn-badge--b .turn-piece{background:#28313b;border-color:#687064}.board-frame{background:#e6e5d9;border:1px solid #f0f2e11a;border-radius:1.15rem;width:min(100%,46rem);margin:0 auto;padding:clamp(.45rem,1.2vw,.7rem);box-shadow:0 40px 90px #00000038,inset 0 1px #ffffff0a}.board-surface{position:relative}.board-with-evaluation{display:block;position:relative}.board-with-evaluation--off{display:block}.evaluation-bar{z-index:5;background:#697165;border:1px solid #2c3d4b57;border-radius:.28rem;flex-direction:column;width:.85rem;min-height:12rem;display:flex;position:absolute;top:0;bottom:0;left:-1.27rem;overflow:hidden}.evaluation-segment{min-height:0;transition:height .18s}.evaluation-segment--white{background:#f7f3e7}.evaluation-segment--black{background:#273039}.evaluation-bar>span{color:#fffdf5;text-shadow:0 1px 2px #000000b3;font-size:.65rem;font-weight:850;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.evaluation-bar--loading{opacity:.72}.evaluation-bar--error{background:#a14b40}.material-counter{min-height:1.8rem;color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:.5rem;font-size:.7rem;display:flex}.material-side{align-items:center;gap:.24rem;display:inline-flex}.material-side>span{font-size:1rem;line-height:1}.material-side>strong{color:var(--accent);font-weight:850}.material-separator{opacity:.45}.puzzle-timer-card{color:var(--muted);background:#ffffff29;border:1px solid #48545b2e;border-radius:.38rem;margin-top:.75rem;font-size:.68rem;transition:border-color .18s,background-color .18s;overflow:hidden}.puzzle-timer-trigger{cursor:pointer;width:100%;min-height:2.8rem;color:var(--muted);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:.55rem .7rem;display:flex}.puzzle-timer-trigger>span:first-child{gap:.08rem;display:grid}.puzzle-timer-trigger strong{color:#5c666d;font-size:.72rem;font-weight:600}.puzzle-timer-trigger small{color:var(--muted);font-size:.61rem}.puzzle-timer-trigger>span:last-child{opacity:.45;font-size:.8rem}.puzzle-timer-trigger:hover{background:#315d8209}.puzzle-timer-trigger:disabled{cursor:default;opacity:.5}.puzzle-timer-card-heading{justify-content:space-between;align-items:center;min-height:2.55rem;padding:.5rem .7rem;display:flex}.puzzle-timer-card-heading span{color:#59656d;font-weight:600}.puzzle-timer-card-heading strong{color:#3b4d5d;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}.puzzle-timer-card-controls{border-top:1px solid #48545b1f;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;display:flex}.timer-duration{align-items:center;gap:.4rem;display:inline-flex}.timer-duration input{border:1px solid var(--line);width:3.7rem;min-height:1.7rem;color:var(--text);background:#fffdf5;border-radius:.3rem;padding:.15rem .35rem}.timer-off-button{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:0;padding:.25rem 0;font-size:.65rem}.timer-off-button:hover{color:var(--danger)}.puzzle-timer-card--expired{background:#b34f4213;border-color:#b34f427a}.puzzle-timer-card--expired .puzzle-timer-card-heading strong,.puzzle-timer-card--expired .puzzle-timer-card-heading span{color:var(--danger)}.puzzle-timer-card--expired .puzzle-timer-card-controls{border-top-color:#b34f4233}.timer-error{color:var(--danger);padding:0 .7rem .5rem;display:block}.drills-catalogue{max-width:74rem}.drill-family{border-top:1px solid var(--line);grid-template-columns:minmax(12rem,.36fr) minmax(0,1fr);gap:2rem;padding:2rem 0;display:grid}.drill-family-heading{align-items:flex-start;gap:.8rem;display:flex}.drill-family-heading>span{color:var(--accent);letter-spacing:.1em;font-size:.68rem;font-weight:850}.drill-family-heading p{color:var(--muted);margin:.45rem 0 0;font-size:.78rem;line-height:1.55}.drill-catalogue-list{display:grid}.drill-catalogue-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.1rem .4rem;display:grid}.drill-catalogue-row:first-child{border-top:1px solid var(--line)}.drill-catalogue-row:hover{background:#315d820b}.drill-catalogue-row>span:nth-child(2){gap:.28rem;display:grid}.drill-catalogue-row strong{color:#33495a;font-size:.95rem}.drill-catalogue-row small{color:var(--muted);font-size:.72rem;line-height:1.5}.drill-symbol{width:2.35rem;height:2.35rem;color:var(--accent);background:#315d8214;border-radius:50%;place-items:center;font-size:1.35rem;display:grid}.drill-start{color:var(--accent);font-size:.72rem;font-weight:800}.back-link--button{cursor:pointer;background:0 0;border:0;margin-bottom:.8rem;padding:0;display:block}.technique-actions,.editor-actions,.editor-tool-row,.editor-turn{align-items:center;gap:.5rem;display:flex}.technique-actions{margin-top:1rem}.position-editor{grid-template-columns:minmax(0,46rem) minmax(16rem,1fr);align-items:start;gap:2rem;display:grid}.position-editor .board-frame{width:100%}.position-editor-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:.9rem;padding:1rem;display:grid}.piece-palette{grid-template-columns:repeat(5,1fr);gap:.35rem;display:grid}.editor-tool{border:1px solid var(--line);cursor:pointer;color:#415363;background:#fffdf5;border-radius:.4rem;min-height:2.25rem;font-weight:750}.editor-tool--active{border-color:var(--accent);color:#fffdf5;background:var(--accent)}.editor-turn>span{color:var(--muted);margin-right:auto;font-size:.72rem}.editor-actions{justify-content:flex-end}.drill-action-bar{grid-template-columns:1fr 1.35fr}.drill-side-panel{align-self:stretch}@media (width<=800px){.drill-family,.position-editor{grid-template-columns:1fr}}.board-arrows{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.promotion-backdrop{z-index:8;background:#1f2a3033;place-items:center;display:grid;position:absolute;inset:0}.promotion-picker{border:1px solid var(--line-strong);background:#fffdf5;border-radius:.45rem;gap:.55rem;padding:.7rem;display:grid;box-shadow:0 12px 35px #27394933}.promotion-picker>span{color:var(--muted);text-align:center;font-size:.68rem;font-weight:650}.promotion-picker>div{flex-direction:column;gap:.3rem;display:flex}.promotion-picker button{border:1px solid var(--line);cursor:pointer;width:4rem;height:4rem;color:var(--text);background:var(--surface);border-radius:.3rem;place-items:center;font-size:2rem;display:grid}.promotion-picker button:hover{border-color:var(--accent);background:#315d8214}.promotion-piece{width:56px;height:56px;display:block}.promotion-piece svg{width:100%;height:100%;display:block}.promotion-choices--large button{width:84px;height:84px}.promotion-choices--large .promotion-piece{width:76px;height:76px}.promotion-choices--labelled button{grid-template-columns:64px 1fr;gap:8px;width:160px;height:72px;padding:4px 12px;font-size:14px}.promotion-choices--labelled .promotion-piece{width:64px;height:64px}.promotion-designs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:24px;display:grid}.promotion-design{padding:24px}.promotion-design p{color:var(--muted);font-size:13px}.promotion-preview{background:#e3dfcc;border-radius:6px;justify-content:center;padding:24px 8px;display:flex}.piece-feedback{z-index:7;color:#fff;pointer-events:none;border-radius:50%;place-items:center;width:clamp(22px,4vw,32px);height:clamp(22px,4vw,32px);font-size:24px;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 5px #0003}.piece-feedback--correct{background:#49844c}.piece-feedback--incorrect{background:#c44c43}.board-footer{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,46rem);margin:1rem auto 0;display:flex}.board-column>.board-footer{justify-content:flex-end}.board-column>.board-footer>.feedback{margin-right:auto}.feedback{min-height:2.55rem;color:var(--muted);align-items:center;gap:.65rem;font-size:.86rem;line-height:1.4;display:flex}.feedback-icon{color:#faf7e9;background:var(--accent);border-radius:999px;flex:none;place-items:center;width:1.55rem;height:1.55rem;font-size:.76rem;font-weight:900;display:grid}.feedback--error{color:#97483c}.feedback--error .feedback-icon{background:var(--danger)}.board-actions{flex:none;gap:.5rem;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:.62rem;justify-content:center;align-items:center;min-height:2.45rem;padding:.55rem .8rem;font-size:.82rem;font-weight:720;transition:transform .12s,border-color .12s,background .12s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.38}.button--quiet{border-color:var(--line-strong);color:#435361;background:#ffffff06}.button--quiet:hover:not(:disabled){background:#315d8212;border-color:#315d8273}.button--primary{color:#fffdf5;background:var(--accent);width:100%}.button--primary:hover{background:#254d70}.button--inline{width:auto;text-decoration:none}.side-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:#faf7e9e0;flex-direction:column;align-self:start;min-width:0;display:flex;overflow:hidden;box-shadow:0 28px 70px #00000029}.panel-section+.panel-section{border-top:1px solid var(--line)}.engine-panel{gap:1rem;display:grid}.engine-heading{align-items:center}.engine-actions{align-items:center;gap:.35rem;display:flex}.engine-settings-button{cursor:pointer;width:2.35rem;height:2.35rem;color:var(--muted);background:0 0;border:0;border-radius:.3rem;place-items:center;font-size:1.3rem;line-height:1;display:grid}.engine-settings-button:hover,.engine-settings-button[aria-expanded=true]{color:var(--accent);background:#315d8212}.engine-toggle{border:1px solid var(--line-strong);cursor:pointer;min-width:4.25rem;min-height:2rem;color:var(--muted);background:#ffffff06;border-radius:999px;justify-content:center;align-items:center;gap:.42rem;padding:.3rem .55rem;font-size:.7rem;font-weight:800;display:inline-flex}.engine-toggle>span{background:#697064;border-radius:999px;width:.52rem;height:.52rem}.engine-controls{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.engine-settings-status{color:var(--muted);grid-column:1/-1;font-size:.65rem}.engine-settings-status--error{color:var(--danger)}.engine-controls label{gap:.35rem;display:grid}.engine-controls label>span{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:750}.engine-controls select{width:100%}.engine-meta{color:#737b6f;justify-content:space-between;align-items:center;gap:.7rem;font-size:.64rem;display:flex}.engine-status{color:var(--muted);align-items:center;gap:.4rem;font-weight:750;display:inline-flex}.engine-status:before{content:"";background:#6f766b;border-radius:999px;width:.4rem;height:.4rem}.engine-status--loading:before,.engine-status--searching:before{background:var(--warning)}.engine-status--complete:before{background:var(--accent)}.engine-status--error:before{background:var(--danger)}.engine-lines{border:1px solid var(--line);background:#f7f6ed;border-radius:.75rem;grid-auto-rows:3rem;height:100%;display:grid;overflow:hidden}.engine-variation{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:3.6rem minmax(0,1fr);align-items:center;gap:.65rem;width:100%;height:3rem;min-height:0;padding:.65rem .72rem;font-family:inherit;display:grid}.engine-results{min-height:3rem;overflow:hidden}.engine-results>.engine-empty{height:100%;min-height:0}.engine-results>.panel-note{text-align:center;place-items:center;height:100%;margin:0;display:grid}.engine-variation:hover:not(:disabled){background:#315d820f}.engine-variation:disabled{cursor:default}.engine-variation+.engine-variation{border-top:1px solid #2c3d4b13}.engine-variation>strong{color:#273a49;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem}.engine-variation>div{color:#556370;align-items:flex-start;gap:.42rem;min-width:0;font-size:.72rem;line-height:1.45;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.engine-line-number{width:1.1rem;height:1.1rem;color:var(--accent);background:#315d8214;border-radius:.28rem;flex:none;place-items:center;font-size:.58rem;font-weight:850;display:grid}.engine-empty{border:1px dashed var(--line-strong);color:#315d8259;text-align:center;border-radius:.75rem;align-content:center;place-items:center;gap:.55rem;min-height:7rem;padding:1rem;display:grid}.engine-empty>span:not(.engine-spinner){font-size:1.8rem}.engine-empty p{max-width:15rem;color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}.engine-spinner{border:2px solid #315d8229;border-top-color:var(--accent);border-radius:999px;width:1.35rem;height:1.35rem;animation:.7s linear infinite engine-spin}@keyframes engine-spin{to{transform:rotate(360deg)}}.engine-error{color:#97483c;background:#b34f4212;border:1px solid #b34f424d;border-radius:.62rem;margin:0;padding:.65rem;font-size:.7rem;line-height:1.45}.engine-note{color:#697165;text-align:center;margin:-.25rem 0 0;font-size:.62rem}.move-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem}.empty-moves{min-height:10.5rem;color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.empty-moves__number{color:#315d8257;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:2.5rem;font-weight:800}.move-list{gap:.15rem;max-height:17rem;margin:1rem -.35rem 0;padding:0 .35rem;list-style:none;display:grid;overflow-y:auto}.move-row{color:#354656;border-radius:.45rem;grid-template-columns:2.4rem 1fr 1fr;align-items:center;gap:.55rem;min-height:2.25rem;padding:0 .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;display:grid}.move-row:nth-child(odd){background:#ffffff06}.move-number{color:#737b6e}.move-button{cursor:pointer;color:#354656;min-width:0;font:inherit;text-align:left;background:0 0;border:0;border-radius:.35rem;padding:.3rem .4rem}.move-button:hover:not(:disabled){background:#315d8217}.move-button--active{color:#faf7e9;background:var(--accent)!important}.move-button:disabled{cursor:default}.replay-controls{grid-template-columns:auto auto minmax(4.5rem,1fr) auto auto;align-items:center;gap:.35rem;width:100%;margin-top:.85rem;display:grid}.replay-controls button{border:1px solid var(--line-strong);cursor:pointer;color:#3b4d5d;background:#ffffff06;border-radius:.48rem;place-items:center;width:2.25rem;height:2.15rem;font-size:1.15rem;display:grid}.replay-controls button:hover:not(:disabled){background:#315d8212;border-color:#315d8273}.replay-controls button:disabled{cursor:default;opacity:.3}.replay-controls span{color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;font-size:.72rem}.fen-form{gap:.65rem;margin-top:1.1rem;display:grid}.notation-tabs{border:1px solid var(--line);background:#ffffff05;border-radius:.65rem;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:1rem;padding:.25rem;display:grid}.notation-tab{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:.43rem;padding:.42rem;font-size:.72rem;font-weight:800}.notation-tab--active{color:#faf7e9;background:var(--accent)}.fen-form label{color:var(--muted);font-size:.78rem;font-weight:650}.fen-form textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-md);color:#354656;background:#fffdf5;width:100%;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem;line-height:1.55}.panel-note{color:#858d80;margin:1rem 0 0;font-size:.76rem;line-height:1.5}.page-shell{width:min(100%,96rem);margin:0 auto;padding:clamp(1.5rem,3.2vw,3.4rem)}.page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading h1{font-size:clamp(2rem,4vw,3.2rem)}.page-subtitle{color:var(--muted);margin:.65rem 0 0;font-size:.9rem}.page-state{min-height:60vh;color:var(--muted);text-align:center;place-content:center;display:grid}.page-state h1{color:var(--text)}.page-state .button{justify-self:center}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.stat-card,.data-card{border:1px solid var(--line);background:#faf7e9e0;box-shadow:0 22px 60px #0000001f}.stat-card{border-radius:1rem;flex-direction:column;justify-content:space-between;min-height:7.8rem;padding:1.1rem;display:flex}.stat-card span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.76rem;font-weight:700}.stat-card strong{color:var(--text);letter-spacing:-.055em;font-size:clamp(1.7rem,3vw,2.35rem)}.data-card{border-radius:var(--radius-lg);overflow:hidden}.data-card+.data-card{margin-top:1rem}.data-card__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.3rem 1.4rem;display:flex}.filters,.account-form{align-items:flex-end;gap:.65rem;display:flex}.filters label,.account-form label{gap:.35rem;display:grid}.filters label>span,.account-form label>span{color:var(--muted);font-size:.7rem;font-weight:700}select,input{border:1px solid var(--line-strong);min-height:2.35rem;color:var(--text);font:inherit;background:#fffdf5;border-radius:.58rem;padding:.45rem 2rem .45rem .65rem;font-size:.8rem}input{padding-right:.65rem}select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #315d82b8}.table-scroll{max-width:100%;overflow:auto}.data-table{border-collapse:collapse;color:#3d4b59;text-align:left;width:100%;font-size:.8rem}.data-table th{color:#81897c;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#ffffff05;padding:.75rem .85rem;font-size:.68rem;font-weight:800}.data-table td{vertical-align:middle;border-top:1px solid #2c3d4b12;max-width:21rem;padding:.76rem .85rem}.data-table tbody tr:hover{background:#315d8209}.clickable-row{cursor:pointer}.data-table a{color:var(--accent);text-decoration:none}.data-table a:hover{text-decoration:underline}.number-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.opening-cell{min-width:15rem}.eco-code{border:1px solid var(--line-strong);color:var(--muted);border-radius:.35rem;margin-right:.45rem;padding:.12rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:inline-flex}.result-pill,.connection-badge{border:1px solid var(--line-strong);text-transform:capitalize;border-radius:999px;align-items:center;padding:.24rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex}.platform-badge{white-space:nowrap;color:#4c5b67;align-items:center;gap:.38rem;font-size:.74rem;font-weight:700;display:inline-flex}.platform-icon{background:#202421;border-radius:.3rem;flex:none;place-items:center;width:1.35rem;height:1.35rem;padding:.14rem;display:grid;overflow:hidden}.platform-icon img{object-fit:contain;width:100%;height:100%;display:block}.platform-icon--fallback{color:#fff}.platform-icon--lichess img{filter:invert()}.platform-badge>span:not(.platform-icon){border:1px solid var(--line);width:1.5rem;height:1.5rem;color:var(--muted);background:#fff;border-radius:.42rem;place-items:center;padding:.12rem;font-size:.88rem;display:grid}.time-control,.time-class{white-space:nowrap;display:block}.time-control{color:#3b4956;font-variant-numeric:tabular-nums;font-weight:750}.time-class{color:var(--muted);text-transform:capitalize;margin-top:.12rem;font-size:.68rem}.result-pill--loss,.connection-badge--missing{color:#a14b40;background:#b34f4214;border-color:#b34f4252}.result-pill--draw{color:#626f7c}.empty-table{color:var(--muted);text-align:center;margin:0;padding:2rem}.query-heading{align-items:center}.sample-queries{gap:.35rem;display:flex}.text-button{cursor:pointer;color:var(--accent);background:0 0;border:0;border-radius:.45rem;padding:.4rem .55rem;font-size:.76rem;font-weight:750}.text-button:hover{background:#315d8214}.text-button--danger{color:#a64a3f}.query-editor{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.8rem;padding:1rem 1.4rem;display:grid}.query-editor textarea{resize:vertical;border:1px solid var(--line-strong);color:#344859;background:#fffdf5;border-radius:.75rem;min-height:12rem;padding:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.55}.query-error,.settings-error{color:#97483c;background:#b34f4212;border:1px solid #b34f424d;border-radius:.65rem;margin:0 1.4rem 1rem;padding:.75rem;font-size:.8rem}.schema-reference{border:1px solid var(--line);background:#ffffff05;border-radius:.75rem;margin:0 1.4rem 1rem}.schema-reference>summary,.schema-table>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;list-style:none;display:flex}.schema-reference>summary::-webkit-details-marker{display:none}.schema-table>summary::-webkit-details-marker{display:none}.schema-reference>summary{color:#3d4b59;padding:.8rem .9rem;font-size:.78rem;font-weight:750}.schema-reference>summary span,.schema-table>summary span{color:var(--muted);font-size:.68rem;font-weight:600}.schema-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:0 .75rem .75rem;display:grid}.schema-table{background:#fffdf5;border:1px solid #2c3d4b14;border-radius:.6rem;align-self:start}.schema-table>summary{padding:.7rem}.schema-table>summary code{color:var(--accent)}.schema-table>p{color:var(--muted);margin:0;padding:0 .7rem .7rem;font-size:.7rem;line-height:1.45}.schema-columns{border-top:1px solid #2c3d4b12;max-height:18rem;display:grid;overflow-y:auto}.schema-columns>div{border-bottom:1px solid #2c3d4b0d;justify-content:space-between;gap:1rem;padding:.42rem .7rem;font-size:.67rem;display:flex}.schema-columns code{color:#3d4b59}.schema-columns span{color:#717a6d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem}.settings-error{margin-inline:0}.query-results{border-top:1px solid var(--line)}.query-meta{color:var(--muted);margin:0;padding:.75rem 1.4rem;font-size:.72rem}.query-table{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.settings-grid{grid-template-columns:minmax(0,1.55fr) minmax(20rem,.85fr);align-items:start;gap:1rem;display:grid}.settings-card{padding-bottom:1.3rem}.account-list{padding:.4rem 1.4rem;display:grid}.account-row{border-bottom:1px solid #2c3d4b12;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.25rem;display:grid}.account-row>.platform-icon{background:#202421;border:1px solid #202421;border-radius:.55rem;width:2.25rem;height:2.25rem;padding:.28rem}.account-main{gap:.15rem;display:grid}.account-main strong{font-size:.9rem}.account-main span{color:var(--muted);font-size:.72rem}.account-form{border:1px solid var(--line);background:#ffffff05;border-radius:.85rem;margin:1rem 1.4rem 0;padding:1rem}.account-form__username{flex:1;min-width:0}.settings-card .panel-note{margin-inline:1.4rem}.source-details{gap:0;margin:0;padding:.5rem 1.4rem 1.2rem;display:grid}.source-details>div{border-bottom:1px solid #2c3d4b12;justify-content:space-between;gap:1rem;padding:.72rem 0;display:flex}.source-details dt{color:var(--muted);font-size:.76rem}.source-details dd{color:#3b4d5d;text-align:right;margin:0;font-size:.76rem}.path-value{overflow-wrap:anywhere;max-width:16rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem!important}.settings-card>.button{width:calc(100% - 2.8rem);margin-inline:1.4rem}.history-fetch-toggle{margin:.8rem auto 0;display:block}.history-fetch-form{border:1px solid var(--line);background:#ffffff05;border-radius:.75rem;gap:.75rem;margin:.9rem 1.4rem 0;padding:1rem;display:grid}.history-fetch-form label{color:var(--muted);gap:.35rem;font-size:.72rem;font-weight:700;display:grid}.history-fetch-form p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.45}.refresh-status{border:1px solid var(--line);color:var(--muted);background:#ffffff05;border-radius:.75rem;margin:1rem 1.4rem 0;padding:.8rem;font-size:.75rem}.refresh-status strong{color:#3d4b59;display:block}.refresh-status pre{white-space:pre-wrap;max-height:11rem;margin:.7rem 0 0;font-size:.67rem;overflow:auto}.replay-heading{align-items:center}.back-link{color:var(--muted);margin-bottom:1.1rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.replay-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,25rem);align-items:start;gap:clamp(1.4rem,3vw,3.5rem);display:grid}.replay-board-column{width:min(100%,48rem);margin:0 auto}.replay-board-column>.replay-controls{width:min(100%,46rem);margin:1rem auto 0}.replay-panel{width:100%}.game-result-summary{gap:.8rem;display:grid}.game-result-summary .result-pill{justify-self:start}.game-result-summary strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.game-result-summary strong span{color:var(--muted);font-size:.72rem;font-weight:600}.game-result-summary p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.puzzle-rating{border:1px solid var(--line-strong);color:#3e4d59;font-variant-numeric:tabular-nums;border-radius:999px;align-items:baseline;gap:.38rem;padding:.5rem .72rem;font-size:.78rem;font-weight:750;display:flex}.puzzle-rating span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}.puzzle-session-header{grid-template-columns:minmax(0,1fr) auto;gap:.7rem;margin-bottom:.65rem;display:grid}.puzzle-profile-rating,.puzzle-session-record{border:1px solid var(--line);background:#ffffff06;border-radius:.78rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.1rem .8rem;padding:.65rem .8rem;display:grid}.puzzle-profile-rating>span,.puzzle-session-record>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.63rem;font-weight:750}.puzzle-profile-rating>strong,.puzzle-session-record>strong{color:var(--accent);font-variant-numeric:tabular-nums;grid-area:1/2/span 2;font-size:1.35rem;line-height:1}.puzzle-session-record>strong{color:var(--text)}.puzzle-session-record>strong small{color:var(--danger);font-size:.8rem}.puzzle-profile-rating>small,.puzzle-session-record>small{color:#737b70;font-size:.64rem}.puzzle-timeline{border:1px solid var(--line);background:#0000001f;border-radius:.78rem;align-items:center;gap:.35rem;min-height:2.55rem;margin-bottom:1rem;padding:.38rem;display:flex;overflow-x:auto}.puzzle-timeline-empty{color:#697167;margin-inline:.4rem auto;font-size:.67rem}.puzzle-timeline-item{border:1px solid var(--line-strong);width:2rem;height:1.85rem;color:var(--muted);font:inherit;background:0 0;border-radius:.48rem;flex:0 0 2rem;place-items:center;padding:0;display:grid;position:relative}button.puzzle-timeline-item{cursor:pointer}button.puzzle-timeline-item:hover,.puzzle-timeline-item--selected{translate:0 -1px;box-shadow:0 0 0 2px #2c3d4b1f}.puzzle-timeline-item span{font-size:.75rem;font-weight:900}.puzzle-timeline-item small{color:currentColor;opacity:.7;font-size:.43rem;position:absolute;bottom:.08rem;right:.18rem}.puzzle-timeline-item--correct{color:var(--accent);background:#315d8217;border-color:#315d8261}.puzzle-timeline-item--incorrect{color:#a95042;background:#b34f4217;border-color:#b34f426b}.puzzle-timeline-item--current{color:#435563;background:#ffffff0b}.puzzle-heading{margin-bottom:.8rem}.puzzle-settings form{gap:.78rem;display:grid}.puzzle-settings label{gap:.32rem;min-width:0;display:grid}.puzzle-settings label>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.64rem;font-weight:750}.puzzle-settings input,.puzzle-settings select{border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--text);font:inherit;background:#fffdf5;border-radius:.58rem;padding:.58rem .65rem;font-size:.74rem}.puzzle-settings input:focus,.puzzle-settings select:focus{border-color:#315d828c;outline:none;box-shadow:0 0 0 3px #315d8214}.puzzle-range-fields{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.puzzle-settings .button{width:100%}.puzzle-settings .panel-note{margin-bottom:0}.puzzle-footer .button--primary{width:auto}.puzzle-footer,.drill-footer{align-items:stretch}.puzzle-feedback{border:1px solid var(--line);background:#ffffff06;border-radius:.78rem;flex:1;padding:.72rem .8rem}.puzzle-feedback>div{gap:.13rem;display:grid}.puzzle-feedback strong{color:var(--text);font-size:.76rem}.puzzle-feedback span:not(.feedback-icon){color:var(--muted);font-size:.78rem}.puzzle-feedback--correct,.puzzle-feedback--complete{background:#315d8211;border-color:#315d8259}.puzzle-feedback--incorrect{background:#b34f4213;border-color:#b34f4261}.puzzle-feedback--incorrect .feedback-icon{background:var(--danger)}.puzzle-feedback--incorrect span:not(.feedback-icon){color:#97483c}.puzzle-summary{gap:.85rem;display:grid}.theme-list{flex-wrap:wrap;gap:.4rem;display:flex}.theme-list span{color:#315d82;background:#315d820e;border:1px solid #315d8233;border-radius:999px;padding:.28rem .5rem;font-size:.68rem;font-weight:700}.puzzle-stats{grid-template-columns:1fr 1fr;gap:.6rem;margin:0;display:grid}.puzzle-stats>div{border:1px solid var(--line);border-radius:.65rem;padding:.65rem}.puzzle-stats dt{color:var(--muted);text-transform:uppercase;font-size:.65rem;font-weight:750}.puzzle-stats dd{color:var(--text);font-variant-numeric:tabular-nums;margin:.28rem 0 0;font-size:1rem;font-weight:800}.puzzle-picker>div{flex-wrap:wrap;gap:.4rem;display:flex}.puzzle-dot{border:1px solid var(--line-strong);cursor:pointer;width:2rem;height:2rem;color:var(--muted);background:0 0;border-radius:.48rem;place-items:center;font-size:.7rem;font-weight:750;display:grid}.puzzle-dot--active{color:#faf7e9;background:var(--accent)}.drill-mode-tabs{border:1px solid var(--line);background:#ffffff05;border-radius:.7rem;grid-template-columns:repeat(3,1fr);gap:.35rem;padding:.25rem;display:grid}.drill-mode-tab{cursor:pointer;min-height:2.2rem;color:var(--muted);background:0 0;border:0;border-radius:.48rem;padding:.4rem .35rem;font-size:.7rem;font-weight:800}.drill-mode-tab:hover{color:var(--text);background:#ffffff09}.drill-mode-tab--active{color:#faf7e9;background:var(--accent)}.drill-instruction{color:var(--muted);margin:0;font-size:.8rem;line-height:1.55}.perspective-toggle{border:1px solid var(--line-strong);cursor:pointer;width:100%;color:var(--text);text-align:left;background:#ffffff06;border-radius:.72rem;align-items:center;gap:.75rem;padding:.72rem;display:flex}.perspective-toggle>span:first-child{width:2rem;height:2rem;color:var(--accent);background:#315d8214;border-radius:999px;flex:none;place-items:center;font-size:1.1rem;display:grid}.perspective-toggle>span:last-child{gap:.12rem;display:grid}.perspective-toggle strong{font-size:.76rem}.perspective-toggle small{color:var(--muted);font-size:.68rem}.perspective-toggle--active{background:#315d8212;border-color:#315d826b}.answer-list{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.answer-list span{color:#315d82;background:#315d820e;border:1px solid #315d8242;border-radius:.45rem;padding:.32rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:800}.repertoire-page{width:min(100%,100rem)}.repertoire-page-heading{margin-bottom:1.1rem}.repertoire-error{margin-bottom:1rem}.repertoire-importer{margin-bottom:1.2rem}.repertoire-import-form{gap:1rem;padding:1.2rem 1.4rem 1.4rem;display:grid}.repertoire-import-meta{grid-template-columns:minmax(14rem,1fr) 10rem minmax(16rem,1fr);gap:.75rem;display:grid}.repertoire-import-meta label,.pgn-source,.repertoire-toolbar label,.repertoire-controls label{gap:.38rem;display:grid}.repertoire-import-meta label>span,.pgn-source>span,.repertoire-toolbar label>span,.repertoire-controls label>span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.68rem;font-weight:750}.pgn-file input{width:100%;padding:.35rem}.pgn-file input::file-selector-button{cursor:pointer;color:#faf7e9;background:var(--accent);border:0;border-radius:.38rem;min-height:1.75rem;margin-right:.55rem;padding:.25rem .55rem;font-weight:750}.pgn-source textarea{resize:vertical;border:1px solid var(--line-strong);color:#344859;background:#fffdf5;border-radius:.75rem;width:100%;padding:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem;line-height:1.55}.repertoire-import-footer,.repertoire-toolbar,.repertoire-toolbar-actions{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.repertoire-import-footer p{max-width:50rem;color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}.repertoire-toolbar{border:1px solid var(--line);background:#ffffff05;border-radius:.85rem;margin-bottom:1.2rem;padding:.75rem .85rem}.repertoire-toolbar label{min-width:min(25rem,48vw)}.repertoire-layout{grid-template-columns:minmax(0,1fr) minmax(19rem,27rem);align-items:start;gap:clamp(1.4rem,3vw,3.5rem);display:grid}.repertoire-board-column{min-width:0}.review-due-badge{min-width:3.5rem;min-height:3.5rem;color:var(--accent);text-align:center;background:#315d820f;border:1px solid #315d8252;border-radius:.85rem;place-content:center;display:grid}.review-due-badge strong{font-variant-numeric:tabular-nums;font-size:1.15rem;line-height:1}.review-due-badge span{color:var(--muted);text-transform:uppercase;margin-top:.18rem;font-size:.58rem;font-weight:800}.repertoire-footer{align-items:stretch}.repertoire-feedback{border:1px solid var(--line);background:#ffffff06;border-radius:.78rem;flex:1;padding:.72rem .8rem}.repertoire-feedback>div{gap:.14rem;display:grid}.repertoire-feedback strong{color:var(--text);font-size:.75rem}.repertoire-feedback span:not(.feedback-icon){color:var(--muted);font-size:.76rem}.repertoire-feedback--complete{background:#315d820f;border-color:#315d8257}.caught-up-card{text-align:center;background:#315d8206;border:1px dashed #315d824d;border-radius:1.15rem;place-content:center;justify-items:center;gap:.75rem;width:min(100%,46rem);min-height:33rem;margin:0 auto;padding:2rem;display:grid}.caught-up-card>span{color:#faf7e9;background:var(--accent);border-radius:999px;place-items:center;width:3.5rem;height:3.5rem;font-size:1.4rem;font-weight:900;display:grid}.caught-up-card p{max-width:24rem;color:var(--muted);margin:0 0 .4rem;font-size:.8rem;line-height:1.55}.repertoire-panel{width:100%}.repertoire-mode-section{gap:.85rem;display:grid}.repertoire-mode-tabs{border:1px solid var(--line);background:#ffffff05;border-radius:.65rem;grid-template-columns:1fr 1fr;gap:.35rem;padding:.25rem;display:grid}.repertoire-controls{grid-template-columns:1fr 1.35fr;gap:.6rem;display:grid}.repertoire-controls label:only-child{grid-column:1/-1}.route-section{gap:.9rem;display:grid}.route-trail{flex-wrap:wrap;align-content:flex-start;gap:.42rem;max-height:14rem;display:flex;overflow-y:auto}.route-move{border:1px solid var(--line);color:#3d4c59;background:#ffffff06;border-radius:.48rem;align-items:center;gap:.28rem;min-height:1.9rem;padding:.3rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;display:inline-flex}.route-move--b{background:#00000024}.route-move small{color:#727a6e;font-size:.58rem}.route-move em{color:var(--accent);background:#315d821a;border-radius:999px;padding:.11rem .28rem;font-family:inherit;font-size:.55rem;font-style:normal;font-weight:850}.route-empty,.branch-help{color:var(--muted);margin:0;font-size:.74rem;line-height:1.5}.branch-help{color:#747d70;font-size:.68rem}.repertoire-comment{color:#526170;background:#315d8209;border-left:3px solid #315d8280;margin:0;padding:.5rem .7rem;font-size:.72rem;line-height:1.55}.repertoire-summary{gap:1rem;display:grid}.repertoire-stats{grid-template-columns:repeat(3,1fr);gap:.45rem;margin:0;display:grid}.repertoire-stats>div{border:1px solid var(--line);background:#ffffff05;border-radius:.58rem;padding:.55rem}.repertoire-stats dt{color:var(--muted);text-transform:uppercase;font-size:.58rem;font-weight:750}.repertoire-stats dd{color:var(--text);font-variant-numeric:tabular-nums;margin:.22rem 0 0;font-size:.98rem;font-weight:850}.repertoire-summary .panel-note{margin:0}.repertoire-empty{min-height:45vh}@media (width<=68rem){.workspace{grid-template-columns:minmax(0,1fr) minmax(17rem,21rem);gap:1.5rem;padding-inline:1.25rem}.board-footer{flex-direction:column;align-items:flex-start}.settings-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.data-card__heading{flex-direction:column;align-items:flex-start}.replay-layout{grid-template-columns:minmax(0,1fr) minmax(17rem,21rem)}.repertoire-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);gap:1.5rem}.repertoire-import-meta{grid-template-columns:1fr 10rem}.pgn-file{grid-column:1/-1}}@media (width<=52rem){.topbar{grid-template-columns:auto 1fr}.primary-nav{grid-area:2/1/auto/-1;justify-content:center}.workspace{grid-template-columns:1fr}.side-panel{width:min(100%,46rem);margin:0 auto}.replay-layout,.repertoire-layout{grid-template-columns:1fr}.repertoire-panel,.replay-panel{width:min(100%,46rem);margin:0 auto}.board-footer{flex-direction:row;align-items:center}.filters,.account-form{flex-direction:column;align-items:stretch;width:100%}.filters label,.account-form label{width:100%}.query-editor{grid-template-columns:1fr}.query-editor .button{width:100%}.schema-grid{grid-template-columns:1fr}}@media (width<=38rem){.topbar{min-height:4rem}.primary-nav{justify-content:flex-start;max-width:calc(100vw - 1.5rem);overflow-x:auto}.workspace{padding:1.1rem .75rem 2rem}.page-shell{padding:1.25rem .75rem 2rem}.page-heading{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr 1fr;gap:.55rem}.stat-card{min-height:6.5rem}.account-row{grid-template-columns:auto 1fr auto}.sample-queries{flex-wrap:wrap}.section-heading{flex-direction:column;align-items:flex-start}.turn-badge{min-height:2rem}.board-footer{flex-direction:column;align-items:stretch}.board-actions{grid-template-columns:repeat(3,1fr);display:grid}.repertoire-import-meta,.repertoire-controls{grid-template-columns:1fr}.pgn-file{grid-column:auto}.repertoire-import-footer,.repertoire-toolbar{flex-direction:column;align-items:stretch}.repertoire-toolbar label{min-width:0}.repertoire-toolbar-actions{flex-wrap:wrap}.repertoire-stats{grid-template-columns:1fr 1fr}.puzzle-session-header,.puzzle-range-fields{grid-template-columns:1fr}.button--quiet{padding-inline:.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--success:#477650;--on-accent:#fffefa;--line:#e1dfd1;--line-strong:#c9ced0}body{background:var(--bg)}a{color:var(--accent)}button,input,select,textarea{accent-color:var(--accent)}.topbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:flex-start;gap:2rem;min-height:4rem;padding:.7rem clamp(1rem,3vw,2.5rem);display:flex}.brand{letter-spacing:-.035em;font-size:1.05rem;font-weight:650}.primary-nav{background:0 0;border:0;border-radius:0;gap:.6rem;padding:0}.nav-link{border-radius:0;padding:.5rem .35rem;font-size:.83rem;font-weight:500}.nav-link--active{color:var(--accent);background:0 0;font-weight:650}.settings-link{color:var(--muted);margin-left:auto;font-size:.75rem;text-decoration:none}.nav-dropdown{position:relative}.nav-split{align-items:center;display:flex}.nav-split button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.45rem .25rem}.nav-submenu{z-index:20;border:1px solid var(--line);background:#fffdf5;border-radius:.35rem;min-width:12rem;padding:.4rem;display:none;position:absolute;top:100%;left:-.5rem;box-shadow:0 8px 24px #27394a14}.nav-submenu a{color:var(--text);border-radius:.25rem;padding:.7rem .65rem;font-size:.8rem;text-decoration:none;display:block}.nav-submenu a:hover{background:var(--surface-raised)}.nav-dropdown:hover .nav-submenu,.nav-dropdown--open .nav-submenu{display:block}.workspace{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);gap:2rem;width:min(74rem,max(22rem,100dvh - 16rem) + 28rem);max-width:74rem;padding:2rem}.page-shell{max-width:82rem}h1,.page-heading h1{letter-spacing:-.035em;font-size:1.65rem;font-weight:620;line-height:1.2}h2{letter-spacing:-.02em;font-size:1rem;font-weight:600}.eyebrow{letter-spacing:.07em;color:var(--muted);font-size:.64rem;font-weight:550}.board-frame{box-shadow:none;background:0 0;border:0;border-radius:3px;padding:0}.side-panel{box-shadow:none;background:0 0;border:0;border-radius:0}.panel-section{padding:1.2rem 0}.panel-section:first-child{padding-top:0}.button{border-radius:.3rem;min-height:2.35rem;font-size:.8rem;font-weight:550}.button:hover:not(:disabled){transform:none}.button--primary,.notation-tab--active,.move-button--active,.caught-up-card>span{color:var(--on-accent)}.pgn-file input::file-selector-button{color:var(--on-accent)}.button--quiet{background:0 0}.turn-badge{background:0 0;border:0;padding:.4rem 0;font-size:.76rem}.feedback-icon{color:var(--on-accent)}.feedback--success .feedback-icon{background:var(--success)}.engine-toggle{background:0 0;border-radius:1rem}.engine-toggle--active{color:var(--success);background:#47765012;border-color:#47765061}.engine-toggle--active>span{background:var(--success);box-shadow:none}.engine-lines{background:var(--surface);border-radius:.3rem}.engine-variation{height:3rem;min-height:0;padding:.6rem}.engine-controls select{min-height:2rem}.engine-note{display:none}.engine-empty{border:0;min-height:4.5rem}.engine-empty>span:not(.engine-spinner){display:none}.move-panel{min-height:0}.empty-moves{text-align:left;justify-items:start;min-height:3.5rem}.empty-moves__number{display:none}.empty-moves p{margin:0;font-size:.75rem}.move-list{max-height:13rem}.move-row{font-size:.8rem}.move-row:nth-child(odd),.route-move--b{background:var(--surface)}.replay-controls button{border-radius:.3rem}.stat-card,.data-card{background:var(--surface);box-shadow:none;border-radius:.4rem}.stat-card{min-height:6.5rem}.stat-card strong{font-size:1.9rem;font-weight:550}.stat-card span,.data-table th{text-transform:none;letter-spacing:0;font-weight:550}.data-card__heading{padding:1rem 1.2rem}.data-table th{background:var(--surface-raised);color:var(--muted);font-size:.75rem}.data-table td{border-color:var(--line)}input,select,textarea,.fen-form textarea,.query-editor textarea,.pgn-source textarea{background:#fffdf5;border-radius:.3rem}.result-pill--win,.connection-badge--ready{color:var(--success);background:#edf2e4;border-color:#a8bea7}.result-pill--loss,.connection-badge--missing{color:var(--danger);background:#faeee7}.panel-note{color:var(--muted);font-size:.75rem}.account-card,.connection-card{box-shadow:none}.repertoire-page{max-width:82rem}.repertoire-editor{border:1px solid var(--line);border-radius:8px;margin:20px 0;padding:24px}.repertoire-editor-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px;display:flex}.repertoire-editor p,.branch-lab p{color:var(--muted);font-size:13px;line-height:1.5}.repertoire-editor-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:24px;margin-top:24px;display:grid}.repertoire-editor-layout aside{min-width:0}.editor-board-actions,.branch-view-tabs{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.repertoire-general-notes{color:var(--muted);gap:8px;margin-top:20px;font-size:13px;display:grid}.repertoire-general-notes textarea{resize:vertical;width:100%;line-height:1.55}.repertoire-pgn-editor{gap:8px;margin-top:20px;display:grid}.repertoire-pgn-editor>div{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.repertoire-pgn-editor textarea{resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55}.editor-save{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.editor-save .button{width:100%}.branch-view-tabs [aria-pressed=true]{background:var(--accent);color:#fff}.branch-navigator{max-height:480px;padding:10px 2px;overflow:auto}.branch-navigator ul{border-left:1px solid var(--line);margin:8px 0;padding-left:18px;list-style:none}.branch-navigator li{padding:3px 0}.branch-navigator summary{color:var(--muted);cursor:pointer;padding:5px;font-size:11px}.branch-node{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:5px;flex-wrap:wrap;align-items:center;gap:7px;margin:3px;padding:8px 10px;display:inline-flex}.branch-node strong{font-size:13px;font-weight:550}.branch-node small{font-size:10px}.branch-node--path{background:#e5edf3;border-color:#8faec5}.branch-node--current{background:var(--accent);color:#fff;border-color:var(--accent)}.branch-lanes{gap:12px;padding-top:10px;display:flex}.branch-lanes section{border-right:1px solid var(--line);min-width:150px;padding-right:10px}.branch-navigator h3{color:var(--muted);margin:14px 0 8px;font-size:12px;font-weight:500}.branch-breadcrumbs{flex-wrap:wrap;gap:2px;margin-top:12px;display:flex}.branch-lab{max-width:1500px}.twig-tools{justify-content:space-between;margin:18px 0 12px;display:flex}.twig-tools button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:12px}.twig-scroll{max-height:540px;padding:0 0 12px 2px;overflow:auto}.twig-preview ul{margin:0;padding:0 0 0 17px;list-style:none}.twig-preview li{margin:0;padding:0;position:relative}.twig-preview li:before{content:"";border-left:1px solid #b5bab8;position:absolute;top:0;bottom:0;left:-12px}.twig-preview li:last-child:before{height:15px;bottom:auto}.twig-preview li:after{content:"";border-top:1px solid #b5bab8;width:12px;position:absolute;top:15px;left:-12px}.twig-preview li.twig-on-route:before,.twig-preview li.twig-on-route:after{border-color:var(--accent)}.twig-row{align-items:flex-start;min-height:26px;padding:2px 0;display:flex}.twig-connector{z-index:1;cursor:pointer;background:0 0;border:0;width:18px;padding:0;position:absolute;top:0;bottom:0;left:-19px}.twig-connector:hover,.twig-connector:focus-visible{background:#315d8217;outline:none}.twig-preview li:has(>.twig-connector:hover):before{border-width:2px;border-color:#1670b5}.twig-preview li:has(>.twig-connector:hover):after{border-width:2px;border-color:#1670b5}.twig-preview li:has(>.twig-connector:focus-visible):before{border-width:2px;border-color:#1670b5}.twig-preview li:has(>.twig-connector:focus-visible):after{border-width:2px;border-color:#1670b5}.twig-moves{flex-wrap:wrap;align-items:center;gap:2px;min-width:80px;display:flex}.twig-moves button{color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:4px 3px;font-size:12px}.twig-moves button span{color:var(--muted);font-size:10px}.twig-moves button.twig-path{background:#e5edf3}.twig-moves button.twig-current{background:var(--accent);color:#fff}.twig-moves button.twig-current span{color:inherit}.twig-moves button:hover{outline:1px solid var(--accent)}.twig-preview--text .twig-moves button.twig-path,.twig-preview--underline .twig-moves button.twig-path{color:var(--accent);background:0 0}.twig-preview--text .twig-moves button.twig-current,.twig-preview--underline .twig-moves button.twig-current{color:var(--accent);background:0 0;font-weight:750}.twig-preview--text .twig-moves button.twig-path span,.twig-preview--underline .twig-moves button.twig-path span{color:inherit}.twig-preview--text .twig-moves button:hover,.twig-preview--underline .twig-moves button:hover{color:var(--accent);outline:none;text-decoration:underline}.twig-preview--underline .twig-moves button.twig-current{text-underline-offset:4px;text-decoration:underline}.twig-preview--underline .twig-moves button.twig-path{color:#254e72;font-weight:600}.twig-moves button.twig-practiced{background:rgba(71,118,80,calc(.04 + var(--practice-strength) * .16));box-shadow:inset 0 -2px 0 rgba(71,118,80,calc(.18 + var(--practice-strength) * .52))}.twig-preview--underline .twig-moves button.twig-practiced.twig-path,.twig-preview--underline .twig-moves button.twig-practiced.twig-current{box-shadow:none;background:0 0}.repertoire-status{margin:20px 0 12px}.repertoire-status h2{font-size:19px}.repertoire-status p{color:var(--muted);margin-top:8px;font-size:13px}.repertoire-action-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.practice-kings{gap:6px;display:flex}.practice-kings button{cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex}.practice-kings button span{width:30px;height:30px;display:block}.practice-kings button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#e5edf3;font-weight:650}.repertoire-library article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:22px 0;display:flex}.repertoire-library h2{font-size:18px}.repertoire-library p{color:var(--muted);margin:7px 0 0;font-size:13px}.repertoire-library .button{width:auto;min-width:90px}.repertoire-library-actions{align-items:center;gap:8px;display:flex}.repertoire-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:14px}.repertoire-notes-toggle{width:100%;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;font-size:13px;font-weight:600;display:flex}.repertoire-notes-toggle:hover{color:var(--accent)}.repertoire-notes-eye{width:26px;height:26px;color:var(--muted);place-items:center;display:grid}.repertoire-notes-eye svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.repertoire-notes--open{padding-bottom:10px}.repertoire-notes textarea{resize:vertical;width:100%;line-height:1.55;display:block}.repertoire-notes small{min-height:1rem;color:var(--muted);text-align:right;margin-top:6px;font-size:11px;display:block}.repertoire-toolbar{background:0 0;border:0;padding:0 0 18px}.repertoire-action-row .button{flex:1}.repertoire-layout--clean .repertoire-summary summary{cursor:pointer;color:var(--muted);font-size:13px}.repertoire-layout--clean .twig-scroll{max-height:460px}.repertoire-layout--clean .repertoire-panel{min-width:0}.route-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.route-section-heading label{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.route-section-heading input{accent-color:var(--success);margin:0}.twig-moves b{font-size:8px}.twig-moves small{color:var(--muted)}.branch-lab-intro{grid-template-columns:260px 1fr;align-items:center;gap:28px;margin:24px 0;display:grid}.branch-lab-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.branch-lab-options>section{min-width:0;margin-top:0;padding:20px}.branch-lab-options>.data-card+.data-card{margin-top:0}.page-heading>.repertoire-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;width:auto;display:flex}.page-heading>.repertoire-toolbar-actions>*{white-space:nowrap;width:auto}.training-forks{margin-top:16px}.training-forks>div{border-left:3px solid var(--accent);margin:10px 0;padding:6px 12px}.training-forks small{color:var(--muted);font-size:11px;display:block}.training-forks strong{margin-top:5px;font-size:14px;display:block}.training-forks strong span,.training-forks p{color:var(--muted);font-size:11px;font-weight:400}@media (width<=900px){.branch-lab-options,.repertoire-editor-layout{grid-template-columns:1fr}}@media (width<=500px){.branch-lab-intro{grid-template-columns:1fr}.branch-lab-intro .board-frame{max-width:260px}.editor-save{flex-direction:column;align-items:stretch}}.repertoire-layout{grid-template-columns:minmax(0,1fr) minmax(19rem,24rem);gap:2rem}.repertoire-toolbar,.repertoire-mode-tabs{border-radius:.35rem}.perspective-toggle{background:0 0;border:0;border-radius:.3rem;padding:.4rem 0}.perspective-toggle>span:first-child{width:1.7rem;height:1.7rem}.perspective-toggle small{font-size:.67rem}.theme-list span,.answer-list span{border-radius:.25rem;font-weight:500}.puzzle-workspace{grid-template-rows:auto 1fr;row-gap:1.5rem}.puzzle-page-heading{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.puzzle-page-heading>div:first-child{align-items:baseline;gap:.85rem;display:flex}.puzzle-page-heading h1{font-size:1.5rem}.puzzle-page-heading span,.player-rating{color:var(--muted);font-size:.76rem}.player-rating strong{color:var(--text);margin-left:.7rem;font-size:1.3rem;font-weight:550}.mobile-puzzle-feedback,.session-history.session-history--mobile{display:none}.puzzle-side-panel{align-self:stretch}.puzzle-moves{min-height:7rem}.puzzle-moves--compact{min-height:0}.puzzle-moves--compact .panel-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.66rem}.compact-move-history{grid-template-columns:2.15rem minmax(0,1fr) 2.15rem;align-items:center;gap:.55rem;margin-top:.7rem;display:grid}.compact-move-history button{border:1px solid var(--line);cursor:pointer;min-height:2.15rem;color:var(--accent);background:var(--surface-raised);border-radius:.3rem;font-size:1.15rem}.compact-move-history button:disabled{cursor:default;opacity:.35}.compact-move-history>div{text-align:center;gap:.15rem;min-width:0;display:grid}.compact-move-history strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;overflow:hidden}.compact-move-history small{color:var(--muted);font-size:.62rem}.puzzle-status-section{margin-top:0}.puzzle-feedback{background:0 0;border:0;align-items:center;gap:.75rem;min-height:5rem;padding:.5rem 0 1rem}.puzzle-feedback strong{font-size:1.2rem;font-weight:600}.puzzle-status-icon{flex-shrink:0;place-items:center;width:2.4rem;height:2.8rem;display:grid;color:var(--success)!important;font-size:2.2rem!important}.puzzle-status-icon svg{width:100%;height:100%}.puzzle-feedback--incorrect .puzzle-status-icon,.puzzle-feedback--incorrect strong{color:var(--danger)!important}.puzzle-feedback--incorrect span:not(.puzzle-status-icon){color:var(--muted)}.puzzle-action-bar{border:1px solid var(--line-strong);border-radius:5px;grid-template-columns:1fr 1.5fr 1fr;display:grid;overflow:hidden}.puzzle-action-bar .button{border:0;border-radius:0;width:100%;min-width:0;padding:.65rem .35rem}.puzzle-action-bar .button+.button{border-left:1px solid var(--line)}.puzzle-action-bar--complete{grid-template-columns:1fr}.puzzle-perspective{margin-top:14px}.puzzle-perspective .perspective-toggle{border:1px solid var(--line);border-radius:5px;width:100%;padding:10px 8px}.puzzle-perspective .perspective-toggle--active{border-color:var(--accent);background:#e3ebf1}.perspective-toggle>.perspective-switch:first-child{background:#a4a7a2;border-radius:20px;flex-shrink:0;align-items:center;width:34px;height:20px;padding:3px;display:flex}.perspective-switch i{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;display:block}.perspective-toggle--active>.perspective-switch:first-child{background:var(--accent)}.perspective-toggle--active .perspective-switch i{transform:translate(14px)}.puzzle-assists{grid-template-columns:minmax(6.5rem,.72fr) minmax(0,1.28fr);align-items:stretch;gap:.65rem;display:grid}.puzzle-hint-button{width:100%;margin:0}.puzzle-assists .perspective-toggle{border:1px solid var(--line);background:var(--surface-raised);min-height:2.4rem;padding:.38rem .45rem}.puzzle-assists .perspective-toggle>span:first-child{width:1.5rem;height:1.5rem}.puzzle-assists .perspective-toggle small{display:none}.puzzle-primary-actions .text-button{white-space:nowrap}.completed-puzzle-details{margin-top:1.2rem}.completed-puzzle-details p{color:var(--muted);font-size:.75rem}.completed-puzzle-details a{margin-top:.8rem;font-size:.7rem;text-decoration:none;display:inline-block}.puzzle-status-section .settings-error{margin:1rem 0 0}.puzzle-difficulty h2{font-size:.8rem}.puzzle-difficulty output{color:var(--accent);font-size:.72rem}.puzzle-difficulty input[type=range]{background:0 0;border:0;width:100%;min-height:1.5rem;margin:.8rem 0 0;padding:0}.difficulty-labels{color:var(--muted);justify-content:space-between;align-items:center;font-size:.65rem;display:flex}.difficulty-labels button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:.3rem}.puzzle-difficulty .panel-note{justify-content:space-between;font-size:.69rem;display:flex}.session-history{border-top:1px solid var(--line);align-items:center;gap:1rem;margin-top:1.3rem;padding-top:.8rem;display:flex}.session-history-label{color:var(--muted);flex-shrink:0;font-size:.7rem}.session-history-label small{margin-top:.3rem;font-size:.62rem;display:block}.puzzle-timeline{scrollbar-width:thin;background:0 0;border:0;border-radius:0;min-width:0;margin:0;padding:.25rem 0 .5rem}.puzzle-timeline-item{background:0 0;border-color:#0000;border-radius:.25rem;flex-basis:1.9rem;height:2.3rem}.puzzle-timeline-item small{font-size:.55rem;position:static}.puzzle-timeline-item--correct{color:var(--success)}.puzzle-timeline-item--incorrect{color:var(--danger)}.puzzle-timeline-item--current{color:var(--accent)}.puzzle-timeline-item--selected{border-color:var(--accent);box-shadow:none}.puzzle-board-tools{align-items:center;margin-top:.6rem}.puzzle-board-tools .perspective-toggle{width:auto}.puzzle-board-tools>.panel-note{margin:0;font-size:.65rem}.catalog-footnote{color:var(--muted);padding:.7rem 0;font-size:.63rem}.puzzle-config-page{max-width:80rem}.custom-builder{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:32px;display:grid}.saved-puzzle-lists{position:sticky;top:24px}.saved-puzzle-list{border-bottom:1px solid var(--line);padding:18px 0}.saved-puzzle-list h3{margin:0;font-size:15px}.saved-puzzle-list p{color:var(--muted);font-size:12px;line-height:1.5}.saved-puzzle-list>div{align-items:center;gap:20px;display:flex}.saved-puzzle-list--active h3{color:var(--accent)}.custom-builder-form{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:28px}.custom-builder-form>section{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.custom-builder-form p{color:var(--muted);font-size:13px;line-height:1.5}.custom-list-name{gap:8px;margin-top:24px;font-size:13px;display:grid}.custom-list-name small{color:var(--muted);margin-left:8px}.rating-dual-slider{height:44px;margin-top:12px;position:relative}.rating-range-track{background:linear-gradient(to right,var(--line) var(--range-start),var(--accent) var(--range-start),var(--accent) var(--range-end),var(--line) var(--range-end));border-radius:5px;height:5px;position:absolute;top:20px;left:0;right:0}.rating-dual-slider input[type=range]{pointer-events:none;appearance:none;background:0 0;border:0;width:100%;height:44px;min-height:0;margin:0;padding:0;position:absolute;top:0;left:0}.rating-dual-slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:3px solid var(--surface);width:20px;height:20px;box-shadow:0 0 0 1px var(--accent);pointer-events:auto;cursor:ew-resize;border-radius:50%}.rating-dual-slider input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--surface);pointer-events:auto;cursor:ew-resize;border-radius:50%;width:16px;height:16px}.rating-number-fields{justify-content:space-between;gap:20px;display:flex}.rating-number-fields label{width:130px;color:var(--muted);gap:6px;font-size:12px;display:grid}.rating-number-fields input{width:100%}.theme-selection-tools{align-items:center;gap:16px;display:flex}.selected-theme-chips{flex-wrap:wrap;gap:6px;max-height:100px;margin:12px 0;display:flex;overflow:auto}.selected-theme-chips button{color:var(--accent);cursor:pointer;background:#e4edf3;border:1px solid #9ab3c7;border-radius:4px;padding:5px 8px;font-size:12px}.theme-selection-tools input{flex:1;min-width:0}.theme-selection-tools button{white-space:nowrap}.theme-match-options{flex-wrap:wrap;gap:20px;margin:18px 0;display:flex}.theme-match-options label{align-items:center;gap:7px;font-size:12px;display:flex}.custom-builder input[type=checkbox],.custom-builder input[type=radio]{width:16px;height:16px;min-height:16px;accent-color:var(--accent);padding:0}.custom-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:350px;padding:2px;display:grid;overflow:auto}.theme-check{border:1px solid var(--line);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:10px 8px;font-size:12px;display:flex}.theme-check--selected{background:#e4edf3;border-color:#9ab3c7}.custom-builder-form footer{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}@media (width<=850px){.custom-builder{grid-template-columns:1fr}.saved-puzzle-lists{position:static}.custom-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=450px){.custom-builder-form{padding:16px}.custom-theme-grid{grid-template-columns:1fr}}.custom-puzzle-card{max-width:36rem}.custom-puzzle-form{gap:1.2rem;display:grid}.custom-puzzle-form label{gap:.5rem;display:grid}.custom-puzzle-form label>span{text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:500}.theme-search{max-width:25rem;color:var(--muted);gap:.5rem;margin-bottom:2rem;font-size:.8rem;display:grid}.theme-browser{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.theme-browser button{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:.35rem;grid-template-columns:1fr auto;gap:.5rem;padding:1.1rem;display:grid}.theme-browser strong{color:var(--text);font-size:.85rem;font-weight:550}.theme-browser span{color:var(--muted);grid-row:2;font-size:.7rem}.theme-browser b{color:var(--accent);grid-area:1/2/3;align-self:center}.random-puzzle-feature{width:100%;color:var(--accent);text-align:left;cursor:pointer;background:#e6edf1;border:1px solid #a4bbcd;border-radius:7px;justify-content:space-between;align-items:center;padding:26px 28px;display:flex}.random-puzzle-feature strong{font-size:23px;font-weight:600;display:block}.random-puzzle-feature small{color:var(--muted);margin-top:8px;font-size:13px;display:block}.random-puzzle-feature>span:last-child{font-size:28px}.random-puzzle-feature:hover:not(:disabled){background:#dce7ef}.random-puzzle-feature:disabled,.theme-directory-item:disabled{opacity:.5;cursor:default}.theme-section-links{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:22px;padding:22px 0;display:flex}.theme-section-links button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:13px}.theme-directory-group{padding-top:32px;scroll-margin-top:24px}.theme-directory-group>h2{margin-bottom:12px;font-size:19px}.theme-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;display:grid}.theme-directory-item{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:100px;color:var(--text);cursor:pointer;font:inherit;background:0 0;justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 0;display:flex}.theme-directory-item strong{font-size:14px;font-weight:600;display:block}.theme-directory-item small{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.5;display:block}.theme-directory-item:hover:not(:disabled) strong{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.theme-directory-count{white-space:nowrap;color:var(--muted);padding-top:2px;font-size:11px}.theme-directory-count b{color:var(--accent);margin-left:6px}.theme-directory-search{border-top:1px solid var(--line-strong);margin-top:32px}.theme-directory-search>p{color:var(--muted);font-size:13px}.theme-directory-search .theme-search{max-width:32rem;margin-top:20px;margin-bottom:12px}.custom-theme-groups{max-height:440px;padding:2px 5px 2px 2px;overflow:auto}.custom-theme-groups fieldset{border:0;min-width:0;margin:0 0 20px;padding:0}.custom-theme-groups legend{margin-bottom:10px;padding:0;font-size:13px;font-weight:600}.custom-theme-groups .custom-theme-grid{max-height:none;overflow:visible}@media (width<=1000px){.theme-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.theme-directory-grid{grid-template-columns:1fr}.theme-directory-item{min-height:0}.random-puzzle-feature{padding:20px}}@media (width<=68rem){.workspace{grid-template-columns:minmax(0,1fr) minmax(17rem,21rem);gap:1.5rem;padding:1.5rem}.repertoire-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,23rem)}}@media (width<=52rem){.topbar{flex-wrap:wrap;gap:.6rem 1.3rem}.primary-nav{flex-wrap:wrap;order:2;justify-content:flex-start;width:100%;overflow:visible}.settings-link{margin-left:auto}.workspace,.repertoire-layout{grid-template-columns:1fr}.workspace,.side-panel{width:100%}.puzzle-page-heading{grid-column:1}.puzzle-side-panel{gap:0}.puzzle-status-section{order:-1;margin-top:0}.puzzle-moves{min-height:0}.puzzle-page-heading>div:first-child{gap:.5rem}.puzzle-page-heading h1{font-size:1.3rem}.theme-browser{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-section{padding:1rem 0}}@media (width<=38rem){html,body{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.workspace{gap:1rem;padding:1rem}.puzzle-workspace{gap:0;padding:1rem 0 2rem}.puzzle-page-heading{padding:0 .75rem 1rem}.puzzle-page-heading .player-rating strong{margin-left:.35rem;font-size:1rem}.mobile-puzzle-feedback{min-height:4.2rem;margin:0;padding:.45rem .75rem .65rem;scroll-margin-top:.25rem;display:flex}.desktop-puzzle-feedback,.session-history--desktop{display:none}.puzzle-workspace>.board-column{width:100%;max-width:100%}.board-frame{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}.board-frame--engine .board-with-evaluation{padding-left:1.05rem}.board-frame--engine .evaluation-bar{border-radius:.15rem;width:.95rem;left:0}.puzzle-workspace>.board-column .material-counter{min-height:2rem;padding:0 .75rem}.puzzle-side-panel{padding:0 .75rem}.puzzle-side-panel .puzzle-status-section{padding-top:.35rem}.session-history--mobile{margin-top:1rem;display:flex}.nav-link{font-size:.77rem}.primary-nav{gap:.5rem}.theme-browser{grid-template-columns:1fr}.puzzle-board-tools{flex-wrap:wrap}.puzzle-page-heading>div:first-child{display:block}.puzzle-assists{grid-template-columns:1fr}}.account-nav{align-items:center;gap:1rem;margin-left:auto;display:flex}.account-nav .settings-link{margin-left:0}.logout-button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:.35rem 0;font-size:.75rem}.logout-button:hover{color:var(--text);text-underline-offset:4px;text-decoration:underline}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:1rem;display:grid}.login-form{gap:.45rem;width:min(100%,14rem);font-family:Arial,sans-serif;display:grid}.login-title{color:var(--text);letter-spacing:0;margin:0 0 .25rem;font:700 1rem/1.2 Arial,sans-serif}.login-form input{box-sizing:border-box;color:#111;width:100%;height:1.9rem;box-shadow:none;background:#fff;border:1px solid #777;border-radius:0;padding:.25rem .4rem;font:13px Arial,sans-serif}.login-form input:focus{outline:1px solid var(--accent);outline-offset:0;border-color:var(--accent)}.login-submit{border:1px solid var(--accent);background:var(--accent);color:#fffdf5;height:1.9rem;box-shadow:none;cursor:pointer;border-radius:0;padding:.2rem .6rem;font:13px Arial,sans-serif}.login-submit:hover:not(:disabled){background:#274d6d}.login-submit:active:not(:disabled){background:#203f59}.login-submit:disabled{opacity:.6;cursor:default}.login-error{color:#b00000;margin:.1rem 0;font:12px/1.3 Arial,sans-serif}.settings-card--access{grid-column:1/-1}.login-attempt-list{border-top:1px solid var(--line)}.login-attempt-row{border-bottom:1px solid var(--line);grid-template-columns:5rem minmax(0,1fr) auto;align-items:start;gap:1rem;padding:.9rem 0;display:grid}.login-attempt-row>div{gap:.25rem;min-width:0;display:grid}.login-attempt-row strong{font-size:.78rem}.login-attempt-row>div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.login-attempt-row time{color:var(--muted);white-space:nowrap;font-size:.68rem}.login-outcome{border-radius:999px;width:max-content;padding:.25rem .45rem;font-size:.62rem;font-weight:650}.login-outcome--success{color:var(--success);background:#e3efe9}.login-outcome--failure,.login-outcome--rate_limited{color:var(--danger);background:#f5e3df}@media (width<=38rem){.login-attempt-row{grid-template-columns:4.5rem minmax(0,1fr)}.login-attempt-row time{grid-column:2}}
