@font-face{font-family:lichess;font-display:block;src:url(/fonts/lichess.woff2) format("woff2")}[data-icon]:before{font-family:lichess;content:attr(data-icon);font-style:normal;font-weight:400;line-height:1}:root{--page-bg: #161512;--panel-bg: #262421;--header-bg: #2e2a24;--card-nested-bg: #3d3d3d;--border: #383838;--text: #bababa;--text-dim: #949494;--text-strong: #ffffff;--primary: #3692e7;--primary-hover: #4aa0f0;--good: #3fbf60;--warn: #e0a53f;--info: #8dbbd8;--bad: #d62929;--bad-soft: #e05252;--shadow: rgba(0, 0, 0, .35);--pawn-white: #f0f0f0;--pawn-black: #4a4a4a;--pct-white: #e8e8e8;--pct-black: #9a9a9a;color-scheme:dark}:root[data-theme=light]{--page-bg: #edebe9;--panel-bg: #ffffff;--header-bg: #e4e1dd;--card-nested-bg: #f3f1ee;--border: #d4d1cc;--text: #4d4d4d;--text-dim: #6f6f6f;--text-strong: #1a1a1a;--primary: #1f78d1;--primary-hover: #1565b3;--good: #1d8a3a;--warn: #a5680f;--info: #2a6f99;--bad: #c42323;--bad-soft: #c93a3a;--shadow: rgba(0, 0, 0, .18);--pawn-white: #ffffff;--pawn-black: #3a3a3a;--pct-white: #4d4d4d;--pct-black: #4d4d4d;color-scheme:light}.theme-toggle{flex-shrink:0;width:34px;height:34px;margin-left:auto;padding:0;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font-size:1.05rem;line-height:1;cursor:pointer}.theme-toggle:hover{border-color:var(--primary);color:var(--text-strong)}.theme-toggle+.site-auth{margin-left:0}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--page-bg);color:var(--text)}.site-header{background:var(--header-bg);border-bottom:1px solid var(--border)}.site-header__inner{max-width:1100px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:24px;height:64px}.site-title{display:flex;align-items:center;gap:.75rem;color:var(--text-strong);font-size:1.75rem;font-weight:600;text-decoration:none;white-space:nowrap}.site-title .site-icon{display:inline-block;height:40px;width:40px;background-color:currentColor;-webkit-mask-image:url(/logos/rook2.png);mask-image:url(/logos/rook2.png);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;mask-mode:alpha}.site-title .tld{color:var(--text-dim);font-weight:400}.site-title:hover,.site-title:hover .tld{color:var(--primary-hover)}.site-nav{display:flex;gap:18px;flex:1;flex-wrap:wrap}.site-nav a{color:var(--text);text-decoration:none;font-size:.95rem}.site-nav a:hover{color:var(--text-strong)}.site-nav a[aria-current=page]{color:var(--text-strong);font-weight:600}.site-auth{display:flex;align-items:center;gap:12px}.username{color:var(--text-strong);font-size:.95rem;text-decoration:none;font-weight:600}.username:hover{color:var(--primary-hover)}.btn{display:inline-block;padding:6px 14px;border-radius:4px;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;border:none}.btn-primary{background:var(--primary);color:var(--text-strong)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{color:var(--text-strong);border-color:var(--text-dim)}.btn-warning{background:#a5680f;color:var(--text-strong)}.btn-warning:hover{background:#c07a12}.site-main{max-width:1100px;margin:0 auto;padding:60px 16px}.empty-state{text-align:center;color:var(--text-dim);padding:80px 0;background:var(--panel-bg);border:1px dashed var(--border);border-radius:8px}.empty-state p{margin:0 0 16px}.empty-state p:last-child{margin-bottom:0}.profile-header{margin-bottom:24px}.profile-header h1{margin:0 0 4px;color:var(--text-strong);font-size:1.6rem}.profile-subtitle{margin:0;color:var(--text-dim);font-size:.9rem}.profile-section+.profile-section{margin-top:34px}.profile-section__heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.profile-section__heading h2{margin:0 0 4px;color:var(--text-strong);font-size:1.2rem}.profile-section__aside,.profile-section__link{color:var(--text-dim);font-size:.82rem}.profile-section__link{color:var(--primary-hover);text-decoration:none}.profile-section__link:hover{color:var(--text-strong)}.profile-study-list{overflow:hidden;background:var(--panel-bg);border:1px solid var(--border);border-radius:10px}.profile-study-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px}.profile-study-row+.profile-study-row{border-top:1px solid var(--border)}.profile-study-row__main,.profile-study-row__practice{display:flex;align-items:center;gap:12px}.profile-study-row__text{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-study-row__text strong{overflow-wrap:anywhere;color:var(--text-strong);font-size:.94rem}.profile-study-row__text>span,.profile-study-row__practice>span{color:var(--text-dim);font-size:.78rem}.profile-study-row__practice{flex-shrink:0}.profile-study-row__practice .btn{padding:5px 11px}.profile-empty{padding:34px 18px}.rating-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:40px}.rating-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.rating-card__icon:before{font-size:1.7rem;color:var(--primary)}.rating-card__label{color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.rating-card__value{color:var(--text-strong);font-size:1.8rem;font-weight:700}.rating-card__detail{color:var(--text-dim);font-size:.8rem;margin-top:4px}.profile-section h2{color:var(--text-strong);font-size:1.2rem;margin-bottom:12px}.profile-section .empty-state{padding:40px 0}.page-title{color:var(--text-strong);font-size:1.6rem;margin:0 0 24px}.studies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.opening-groups{display:grid;gap:44px}.opening-group h2{margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--primary-hover);color:var(--primary-hover);font-size:1.15rem;font-weight:700}.opening-group__empty{grid-column:1 / -1;margin:0;padding:14px 16px;color:var(--text-dim);background:var(--panel-bg);border:1px dashed var(--border);border-radius:8px}.study-create-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:16px}.study-card{display:block;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:16px;text-decoration:none;color:var(--text);transition:border-color .15s ease-in-out}.study-card:hover{border-color:var(--primary)}.study-card h3{margin:0 0 8px;color:var(--text-strong);font-size:1.05rem}.study-card__line{display:flex;flex-direction:column;gap:2px;margin:10px 0 0;padding-top:9px;border-top:1px solid var(--border);font-family:Courier New,monospace;font-size:.85rem;color:var(--text);overflow-wrap:anywhere}.study-card--summary{display:flex;flex-direction:column;gap:8px}.study-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.study-card__header h3{min-width:0;overflow-wrap:anywhere;margin:0}.study-card__delete{display:inline-flex;flex-shrink:0;align-self:center;padding:3px;border:0;border-radius:4px;background:transparent;color:#b86a6a;opacity:.75;cursor:pointer}.study-card__delete:hover{color:var(--bad);opacity:1;background:#d6292924}.study-card__delete:disabled{opacity:.5;cursor:default}.study-card__score{display:flex;align-items:baseline;justify-content:space-between;color:var(--text-dim);font-size:.8rem}.study-card__score strong{color:var(--primary);font-size:1.05rem}.study-card__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:auto;padding-top:4px}.study-card__actions .btn{padding-inline:6px;text-align:center;white-space:nowrap}.study-card__move-line{display:block;min-height:1.4em;white-space:nowrap}.study-card__line .tree-move{padding:0;cursor:inherit}.study-card__line .study-card__start{color:var(--text-dim);font-family:inherit;font-size:.78rem}.study-card__meta{margin:0;color:var(--text-dim);font-size:.8rem}.study-card--new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-style:dashed;color:var(--text-dim);min-height:96px}.study-card--new:hover{color:var(--text-strong)}.study-card__plus{font-size:2rem;line-height:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.stat-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:16px}.stat-card[role=button]{cursor:pointer;transition:border-color .15s ease-in-out}.stat-card[role=button]:hover,.stat-card[role=button]:focus-visible{border-color:var(--primary);outline:none}.stat-card__header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}.stat-card__header h3{display:flex;align-items:center;gap:6px;margin:0;color:var(--text-strong);font-size:1.05rem}.stat-card__side{display:inline-flex;align-items:center;color:var(--text-dim);font-size:.75rem;white-space:nowrap}.side-pawn{display:inline-block;margin-right:5px;font-size:1.1rem;line-height:1;vertical-align:-1px}.side-pawn--white{color:var(--pawn-white);-webkit-text-stroke:.5px var(--text-dim)}.side-pawn--black{color:var(--pawn-black);-webkit-text-stroke:.5px var(--text-dim)}.stat-card__score{color:var(--primary);font-size:2.2rem;font-weight:700;line-height:1.1}.stat-card__score--empty{color:var(--text-dim)}.stat-card__label{margin:2px 0 10px;color:var(--text-dim);font-size:.75rem}.stat-card__meta{margin:0 0 12px;color:var(--text-dim);font-size:.78rem;line-height:1.4}.stat-card__recalc{width:100%}.stat-page{max-width:900px;margin-top:16px;background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;padding:24px}.stat-page__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.stat-page__header h1{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-strong);font-size:1.4rem}.stat-detail__score{color:var(--primary);font-size:2.6rem;font-weight:700;line-height:1.1;margin-top:16px}.stat-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 28px}.stat-metric-card{background:var(--card-nested-bg);border:1px solid var(--border);border-radius:10px;padding:16px 18px 18px}.stat-metric-card .stat-detail__score{margin-top:0}.stat-metric-card .stat-card__meta{margin-bottom:0}.stat-outcome-pair{display:flex;align-items:baseline;gap:14px}.stat-outcome-pair .stat-detail__score{margin-top:0}.stat-loss-probability{display:flex;align-items:baseline;gap:5px;color:var(--text-dim);font-size:.82rem}.stat-loss-probability strong{color:var(--text-strong);font-size:1.2rem}.piece-badge-btn{border:none;background:none;padding:0;margin:0;cursor:pointer;line-height:1}.piece-badge{display:inline-block;font-size:1.9rem;line-height:1;background-image:linear-gradient(120deg,var(--piece-c1),var(--piece-c2),var(--piece-c1));background-size:220% auto;background-position:left center;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));transition:transform .15s ease,background-position .6s ease}.piece-badge-btn:hover .piece-badge{transform:scale(1.12) rotate(-4deg);background-position:right center}.piece-badge--sm{font-size:1.15rem}.piece-badge--gold{--piece-c1: #fff3b0;--piece-c2: #c9950c}.piece-badge--silver{--piece-c1: #f4f4f4;--piece-c2: #9a9a9a}.piece-badge--bronze{--piece-c1: #f0b27a;--piece-c2: #8b4a1e}.piece-badge--none{--piece-c1: #8a8a8a;--piece-c2: #55555a;filter:none}.piece-legend{display:flex;flex-direction:column;gap:8px;background:var(--card-nested-bg);border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin:10px 0 4px}.piece-legend__title{margin:0 0 2px;color:var(--text-strong);font-size:.85rem;font-weight:600}.piece-legend__row{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:.85rem}.stat-card__eval{margin:0 0 8px;color:var(--text-dim);font-size:.82rem}.stat-card__eval strong{color:var(--text-strong)}.explorer-settings-panel{display:flex;flex-direction:column;gap:18px;margin:14px 0 24px}.explorer-settings-panel .analysis-header__settings{gap:18px}.explorer-settings-panel select{padding:7px 14px}.explorer-settings-panel .speed-checkboxes{gap:22px;margin-bottom:0}.explorer-settings-panel .speed-checkbox{gap:7px}.stat-settings{margin:22px 0 28px;padding:14px 16px;background:var(--card-nested-bg);border:1px solid var(--border);border-radius:8px}.stat-settings summary{color:var(--text-strong);cursor:pointer;font-weight:600}.stat-settings[open] summary{margin-bottom:12px}.stat-settings>.stat-card__meta{margin-bottom:0}.stat-actions{display:flex;flex-wrap:wrap;gap:32px;margin:20px 0 28px}.stat-actions--single{margin-bottom:8px}.stat-actions--compact{gap:18px;margin-top:8px}.stat-action{display:flex;flex-direction:column;gap:8px;min-width:240px;flex:1 1 240px}.stat-action .stat-card__meta{margin:0}.stat-card__meta--warning{color:var(--warn)}.eval-update-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.eval-count{color:var(--text-dim);font-size:.8rem}.status-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#3fbf6026;color:var(--good);font-size:.85rem;font-weight:700;flex-shrink:0}.progress-bar{display:flex;align-items:center;gap:10px}.progress-bar__track{flex:1;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.progress-bar__fill{height:100%;width:0%;background:var(--primary);border-radius:3px;transition:width .2s ease}.progress-bar__label{color:var(--text-dim);font-size:.78rem;white-space:nowrap}.progress-bar__label--error{color:var(--bad-soft);white-space:normal}.progress-bar--error .progress-bar__track{display:none}.progress-bar--indeterminate .progress-bar__fill{width:35%;animation:progress-bar-indeterminate 1.1s ease-in-out infinite}@keyframes progress-bar-indeterminate{0%{margin-left:0%}50%{margin-left:65%}to{margin-left:0%}}.stat-detail__chart-title{margin:28px 0 4px;color:var(--text-strong);font-size:1.1rem}.coverage-chart-wrap{position:relative;height:320px;margin-top:8px}.study-editor{max-width:1100px}.study-name-row{display:flex;gap:10px;margin-bottom:20px}.study-name-input{flex:1;padding:10px 12px;background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-strong);font-size:1rem}.study-name-input:focus{outline:none;border-color:var(--primary)}.study-name-input--attention{border-color:var(--bad);animation:study-name-shake .4s ease-in-out}@keyframes study-name-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@media (prefers-reduced-motion: reduce){.study-name-input--attention{animation:none}}.study-color-select{padding:0 10px;background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-strong);font-size:.9rem}.study-color-badge{display:flex;align-items:center;padding:0 12px;background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:.9rem;white-space:nowrap}.study-start-badge{display:flex;align-items:center;padding:0 12px;background:var(--panel-bg);border:1px solid var(--info);border-radius:6px;color:var(--info);font-size:.85rem;white-space:nowrap}.move-conflict{margin:0;color:var(--bad);font-size:.8rem}.study-grid{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:20px;margin-bottom:20px}.study-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;padding:16px}.study-card--board{display:block;aspect-ratio:1}.study-board-tools{display:flex;justify-content:flex-end;margin-bottom:10px}.board-flip-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:var(--panel-bg);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:1.3rem;line-height:1;cursor:pointer}.board-flip-btn:hover{color:var(--text-strong);border-color:var(--text-dim)}.study-board{width:100%;aspect-ratio:1 / 1}.study-card--moves{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden;aspect-ratio:45 / 55}.tree-view{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;font-family:Courier New,monospace;font-size:.9rem;color:var(--text);line-height:1.7}.tree-move{cursor:pointer;padding:1px 3px;border-radius:3px}.tree-move:hover{background:var(--border)}.tree-move-comment-marker{display:inline-block;width:5px;height:5px;margin-left:5px;border-radius:50%;background:var(--primary-hover);vertical-align:2px}.tree-move-comment-marker[hidden]{display:none}.tree-move--mine{color:var(--primary-hover)}.tree-move-number{color:var(--good)}.tree-move--current{background:var(--primary);color:var(--text-strong)}.tree-move--start-point{color:var(--info)}.tree-variation{position:relative;color:var(--text-dim)}.tree-variations{margin:2px 0 4px 18px;padding-left:9px;border-left:1px solid var(--border)}.tree-variation:before{position:absolute;top:15px;left:-10px;width:7px;border-top:1px solid var(--border);content:""}.tree-empty{color:var(--text-dim)}.tree-hint{margin:0;color:var(--text-dim);font-size:.8rem}.study-comment-editor{display:flex;flex-direction:column;gap:5px;padding:12px;background:var(--card-nested-bg);border:1px solid var(--border);border-radius:8px}.study-comment-editor textarea{width:100%;min-height:64px;padding:7px 9px;resize:vertical;background:var(--panel-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font:inherit;font-size:.85rem}.study-comment-editor textarea:focus{outline:none;border-color:var(--primary)}.study-keyboard-help-btn{width:32px;height:32px;padding:0;border-radius:50%;font-size:1rem;line-height:1}.study-keyboard-help{max-height:40vh;overflow-y:auto;padding:12px 14px;background:var(--header-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);box-shadow:0 8px 24px var(--shadow)}.study-keyboard-help__title{margin:0 0 8px;color:var(--text-strong);font-size:.85rem;font-weight:600}.study-keyboard-help__intro{margin:0 0 10px;color:var(--text-dim);font-size:.82rem;line-height:1.4}.study-keyboard-help ul{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:.82rem}.study-keyboard-help li{display:flex;align-items:center;gap:6px}.study-keyboard-help kbd{min-width:28px;padding:2px 5px;background:var(--panel-bg);border:1px solid var(--border);border-radius:4px;color:var(--text-strong);font:inherit;text-align:center}.study-keyboard-help[hidden]{display:none}.study-actions{display:flex;gap:8px}.study-actions .study-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;font-size:1.15rem}.analysis-label{display:inline-flex;align-items:center}.analysis-label:before{margin-right:6px;font-size:1.1rem}.btn:disabled{opacity:.4;cursor:not-allowed}.study-card--explorer,.study-card--engine{display:flex;flex-direction:column}.analysis-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:10px;font-size:.9rem;min-height:28px}.analysis-header__settings{display:flex;flex-wrap:wrap;gap:8px}.explorer-toggle{display:flex;align-items:center;gap:6px;color:var(--text);cursor:pointer;white-space:nowrap}.analysis-header select,.analysis-header__settings select{background:var(--panel-bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:4px 8px;font-size:.85rem}.analysis-header select:disabled,.analysis-header__settings select:disabled{opacity:.4}.speed-checkboxes{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.speed-checkbox{display:flex;align-items:center;gap:4px;color:var(--text-dim);font-size:.8rem;cursor:pointer}.speed-checkbox:has(input:disabled){opacity:.4;cursor:not-allowed}.engine-eval{color:var(--text-dim);font-family:Courier New,monospace;font-size:.85rem}.engine-panel{display:flex;flex-direction:column;gap:2px;margin-top:6px}.engine-line{display:grid;grid-template-columns:10px 1fr 56px;align-items:center;gap:8px;width:100%;padding:4px 8px;background:var(--panel-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font:inherit;text-align:left;cursor:pointer}.engine-line:hover{border-color:var(--primary)}.engine-line__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.engine-line__san{font-weight:600;color:var(--text-strong);font-size:.85rem}.engine-line__score{text-align:right;color:var(--text-dim);font-family:Courier New,monospace;font-size:.8rem}.explorer-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;color:var(--text-dim);font-size:.8rem}.explorer-opening{color:var(--text);font-weight:600}.explorer-fetched-at{white-space:nowrap;cursor:help}.explorer-rows{display:flex;flex-direction:column;gap:2px}.explorer-row{display:grid;grid-template-columns:56px 1fr 48px;align-items:center;gap:10px;width:100%;padding:6px 8px;background:var(--panel-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font:inherit;text-align:left;cursor:pointer}.explorer-row:hover{border-color:var(--primary)}.explorer-row__san{font-weight:600;color:var(--text-strong)}.explorer-row__bar-wrap{display:flex;flex-direction:column;gap:3px}.explorer-row__bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--border)}.explorer-row__white{background:#e8e8e8}.explorer-row__draws{background:#8a8a8a}.explorer-row__black{background:#3a3a3a}.explorer-row__pct{display:flex;justify-content:space-between;font-size:.7rem;font-family:Courier New,monospace}.explorer-row__pct-white{color:var(--pct-white)}.explorer-row__pct-draws{color:var(--text-dim)}.explorer-row__pct-black{color:var(--pct-black)}.explorer-row__games{text-align:right;color:var(--text-dim);font-size:.85rem}.explorer-empty{margin:0;color:var(--text-dim);font-size:.85rem}.study-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:12px}.study-save-status{flex:1;margin:0;color:var(--text-dim);font-size:.82rem;text-align:left}.study-save-status--error{color:var(--bad)}.btn-danger{background:#7e2424;color:var(--text-strong)}.btn-danger:hover{background:#a02d2d}.error-page{max-width:480px;margin:0 auto;padding:32px 28px;background:var(--panel-bg);border:1px solid var(--border);border-left:4px solid var(--bad);border-radius:8px;text-align:center}.error-page__title{margin:0 0 12px;color:var(--text-strong);font-size:1.4rem}.error-page__message{margin:0 0 24px;color:var(--text);line-height:1.5}.error-page__actions{display:flex;justify-content:center;gap:12px}.doc-main{max-width:900px;padding-top:40px}.doc-intro{max-width:680px;margin:-12px 0 20px;color:var(--text-dim);font-size:1.05rem}.doc-section{padding:22px 24px;margin:16px 0;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px}.doc-section h2,.doc-main h2{margin:0 0 10px;color:var(--text-strong);font-size:1.2rem}.doc-section h3,.doc-main h3{margin:18px 0 6px;color:var(--text-strong);font-size:1rem}.doc-section p,.doc-section li,.doc-main>section p,.doc-main>section li{line-height:1.65}.doc-section ul,.doc-section ol,.doc-main>section ul,.doc-main>section ol{padding-left:22px}.doc-section a,.doc-main a{color:var(--primary-hover)}.doc-link{display:inline-flex;gap:8px;margin-top:8px;font-weight:600;text-decoration:none}.doc-link:hover,.doc-main nav a:hover{color:var(--text-strong)}.doc-callout,.doc-main .callout{padding:12px 14px;border-left:3px solid var(--primary);background:var(--header-bg)}.doc-main>nav[aria-label=Documentation]{display:flex;gap:18px;padding:12px 16px;margin-bottom:16px;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px}.doc-main>nav a{color:var(--text-dim);text-decoration:none}.doc-main>nav a[aria-current=page]{color:var(--text-strong)}.doc-main>section{padding:22px 24px;margin:16px 0;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px}.doc-main>section h2{margin-bottom:8px;color:var(--text-strong)}.doc-main code{padding:1px 4px;border-radius:3px;background:var(--header-bg);color:var(--text-strong);font-size:.9em}.doc-main footer{display:flex;justify-content:space-between;gap:12px;padding-top:20px;color:var(--text-dim);font-size:.85rem}@media (max-width: 640px){.doc-main{padding:28px 16px}.doc-section{padding:18px 16px}.doc-main>section{padding:18px 16px}}.practice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.practice-card__counts{display:flex;gap:6px;margin:8px 0}.practice-badge{padding:2px 8px;border-radius:10px;font-size:.75rem;white-space:nowrap}.practice-badge--due{color:var(--warn);background:#e0a53f1f}.practice-badge--new{color:var(--primary-hover);background:#4aa0f01f}.practice-card__status{margin:auto 0 0;color:var(--text-dim);font-size:.8rem}.practice-card--unavailable{opacity:.72}.practice-session__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.practice-session__header .page-title{margin:0}.practice-session__header-right{display:flex;align-items:center;gap:14px}.practice-knowledge-badge{display:flex;align-items:baseline;gap:6px;color:var(--text-dim);font-size:.85rem;white-space:nowrap}.practice-knowledge-badge strong{color:var(--primary);font-size:1.15rem}.practice-session__tools{display:flex;align-items:center;gap:10px;margin-bottom:12px}.practice-layout{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}.practice-panel{display:flex;flex-direction:column;gap:12px}.practice-show-answer{align-self:flex-start}.practice-save-warning{margin:0;padding:8px 10px;border:1px solid var(--bad);border-radius:6px;color:var(--bad);font-size:.85rem}.engine-line--readonly{cursor:default}.engine-line--readonly:hover{border-color:var(--border)}.practice-progress{margin:0;color:var(--text-dim);font-size:.85rem}.practice-prompt{margin:0;color:var(--text-strong);font-size:1.3rem;font-weight:600;min-height:1.6em}.practice-prompt--correct{color:var(--good)}.practice-prompt--incorrect{color:var(--bad)}.practice-feedback{padding:12px 14px;border-radius:8px;background:var(--panel-bg);border:1px solid var(--border)}.practice-feedback p{margin:0}.practice-feedback--summary{color:var(--text)}.practice-feedback--summary p{margin-bottom:8px}.practice-feedback--summary .btn{margin-top:4px}.practice-celebration{position:relative;overflow:hidden;text-align:center;border-color:#e0c93f}.practice-celebration__badge{font-size:2.4rem;line-height:1;animation:practice-celebration-pop .6s cubic-bezier(.34,1.56,.64,1)}.practice-celebration__title{margin:6px 0 10px!important;color:var(--text-strong);font-size:1.15rem;font-weight:700}.practice-celebration__actions{display:flex;justify-content:center;gap:10px;margin-top:4px}.practice-confetti-field{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.practice-confetti{position:absolute;top:-10px;width:7px;height:7px;border-radius:1px;opacity:.9;animation-name:practice-confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes practice-celebration-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@keyframes practice-confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(160px) rotate(360deg);opacity:0}}@media (prefers-reduced-motion: reduce){.practice-celebration__badge{animation:none}.practice-confetti-field{display:none}}.practice-history{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;max-height:60vh;overflow-y:auto}.practice-history__item{display:flex;align-items:baseline;gap:8px;padding:6px 10px;border-radius:6px;background:var(--panel-bg);border:1px solid var(--border);font-size:.85rem}.practice-history__mark{flex-shrink:0;font-weight:700}.practice-history__item--correct .practice-history__mark{color:var(--good)}.practice-history__item--incorrect .practice-history__mark{color:var(--bad)}.practice-history__san{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--text);font-family:Courier New,monospace}.practice-history__expected{color:var(--text-strong)}.practice-history__analysis{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;color:var(--text-dim);font-size:.95rem;text-decoration:none}.practice-history__analysis:hover{color:var(--text-strong)}.practice-history__knowledge{flex-shrink:0;color:var(--text-dim)}@media (max-width: 720px){.profile-study-row{align-items:flex-start;flex-direction:column}.profile-study-row__practice{width:100%;justify-content:space-between}.study-grid{grid-template-columns:1fr}.study-card--moves{aspect-ratio:1;min-height:420px}.stat-metrics{grid-template-columns:1fr}.stat-page{padding:18px}.practice-layout{grid-template-columns:1fr}}
