.check-rays,.feedback-layer{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.check-rays{z-index:3}.check-rays line{stroke:#ff9382;stroke-width:.55px;stroke-linecap:round;opacity:.65}.square.check-ray:after{content:"";pointer-events:none;background:#ff514012;position:absolute;inset:0}.square.checked-king:after{background:radial-gradient(#ff54385c,#0000 72%);animation:.65s ease-out both check-confirm;box-shadow:inset 0 0 0 2px #ed8b70}.feedback-splendid{--feedback:#20c7b4}.feedback-blunder{--feedback:#f34d57}.feedback-missed{--feedback:#f69197}.feedback-excellent{--feedback:#80ce8c}.feedback-okay,.feedback-good{--feedback:#69b659}.feedback-best{--feedback:#27ad51}.feedback-great,.feedback-perfect{--feedback:#439fe9}.feedback-inaccuracy{--feedback:#f4cb5b}.feedback-mistake{--feedback:#ed794a}.feedback-book,.feedback-forced{--feedback:#ad987f}.feedback-layer{color:var(--feedback)}.feedback-board-flash{fill:#f34d57;pointer-events:none;animation:blunder-flash var(--feedback-ms,1.1s) ease-out both}.feedback-dim{fill:#080e14;pointer-events:none;animation:evidence-dim var(--feedback-ms,1.1s) ease-out both}.board-wrap .feedback-square,.board-wrap .feedback-arrow,.board-wrap .feedback-source,.board-wrap .excellent-pulse{animation-duration:var(--feedback-ms,.65s)}@keyframes blunder-flash{0%,to{opacity:0}12%{opacity:.22}32%{opacity:0}}@keyframes evidence-dim{0%,20%,to{opacity:0}38%,78%{opacity:.24}}.feedback-square{z-index:1;pointer-events:none;background:color-mix(in srgb, var(--feedback) 20%, transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--feedback) 70%, transparent);border-radius:3px;animation:.65s ease-out both local-confirm;position:absolute;inset:2px}.feedback-square.feedback-book{box-shadow:inset 0 -3px var(--feedback);background:0 0}.square-piece{z-index:2;position:relative}.feedback-square.feedback-splendid{animation:.9s cubic-bezier(.2,.7,.2,1) both brilliant-reveal}.feedback-arrow,.feedback-source{animation:.65s ease-out both evidence-reveal}.feedback-splendid .feedback-arrow,.feedback-splendid .feedback-source{animation:.9s ease-out both brilliant-reveal}.feedback-arrow{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round}.feedback-source{fill:none;stroke:currentColor;stroke-width:.5px}.feedback-caption{min-height:2.5em;color:var(--text);border-left:2px solid var(--feedback);margin:.5rem 0 0;padding-left:.7rem;font-size:.8rem;line-height:1.5}.evaluated-board{position:relative}.evaluated-board>.board-wrap{display:contents}.evaluated-board>.evaluation-bar{grid-area:1/1}.evaluated-board>.board-wrap>.board{grid-area:1/2}.evaluated-board .feedback-caption,.evaluated-board .terminal-status{grid-column:2}.excellent-pulse{fill:none;stroke:currentColor;stroke-width:.7px;transform-box:fill-box;transform-origin:50%;animation:.65s ease-out both excellent-confirm}.feedback-splendid .excellent-pulse{stroke-width:1px;animation:.9s cubic-bezier(.2,.7,.2,1) both brilliant-ring}.mate-fallen{transform-origin:50%;animation:.56s cubic-bezier(.22,.7,.2,1) .26s both mate-settle}.mate-seal{aspect-ratio:1;color:#fff1de;z-index:4;pointer-events:none;background:#50272e;border-radius:50%;place-items:center;width:25%;font:700 clamp(9px,1.3vw,18px)/1 sans-serif;display:grid;position:absolute;top:3%;right:4%}.is-checkmate .checked-king:after{box-shadow:none;background:#a6494120;border:2px solid #dca58b;animation:.85s ease-out both mate-emphasis}.board-wrap .moving-piece{animation-duration:var(--piece-ms,.22s);animation-timing-function:cubic-bezier(.22,.7,.2,1);animation-delay:0s}.terminal-status{background:var(--panel-soft);border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:12px;min-height:38px;padding:9px 12px;font-size:12px;line-height:1.5;display:flex}.terminal-status b{color:var(--accent)}.terminal-status strong{font-variant-numeric:tabular-nums;margin-left:auto}.terminal-status span{color:var(--muted)}.grade-great{--grade:#439fe9}.grade-missed{--grade:#f69197}.grade-inaccuracy{--grade:#f4cb5b;color:#32260c}.grade-mistake{--grade:#ed794a;color:#32180c}.grade-splendid{color:#062e29}@keyframes local-confirm{0%{opacity:0}22%,48%{opacity:1}to{opacity:0}}@keyframes evidence-reveal{0%{opacity:0}25%,72%{opacity:1}to{opacity:0}}@keyframes excellent-confirm{0%{opacity:0;transform:scale(.76)}30%{opacity:.9}to{opacity:0;transform:scale(1.1)}}@keyframes brilliant-reveal{0%,31%{opacity:0}48%,76%{opacity:1}to{opacity:0}}@keyframes brilliant-ring{0%,31%{opacity:0;transform:scale(.65)}50%{opacity:1}to{opacity:0;transform:scale(1.16)}}@keyframes mate-settle{0%{transform:none}35%{transform:scale(.94)rotate(17deg)}to{transform:scale(.72)rotate(68deg)}}@keyframes mate-emphasis{0%,24%{opacity:0}40%{opacity:1}to{opacity:.6}}@keyframes check-confirm{0%{opacity:.4}35%{opacity:1}to{opacity:.5}}[data-motion=off] .moving-piece{display:none}[data-motion=off] .checked-king:after{animation:none}@media (prefers-reduced-motion:reduce){.feedback-board-flash,.feedback-dim{display:none}.mate-fallen,.excellent-pulse,.feedback-square,.feedback-arrow,.feedback-source,.feedback-caption,.square.checked-king:after{animation:none!important}.mate-fallen{transform:scale(.82)rotate(20deg)}.moving-piece{display:none}.excellent-pulse{opacity:.6}}.square.hint-source{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--accent) 82%, white 8%)}.hint-marker{z-index:1;border:2px dashed color-mix(in srgb, var(--accent) 86%, white 8%);pointer-events:none;border-radius:50%;animation:1.8s ease-in-out infinite hint-breathe;position:absolute;inset:7%}@keyframes hint-breathe{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}:root[data-effects=off] .hint-marker{opacity:.9;animation:none}@media (prefers-reduced-motion:reduce){.hint-marker{opacity:.9;animation:none}}
