:root{--judge-inaccuracy:#8f6a00;--judge-mistake:#b45309;--judge-blunder:#b42a26;--judge-good:#3f7a37;--glyph-inaccuracy:#f2c12e;--glyph-inaccuracy-ink:#3a2a00;--glyph-mistake:#e07612;--glyph-blunder:#d83a2e;--glyph-ink:#fff;--review-arrow-missed:#15803d;--review-arrow-next:#1d4ed8;--review-arrow-bad:#d23a2e}:root[data-theme=dark]{--judge-inaccuracy:#ecc65c;--judge-mistake:#f4a35b;--judge-blunder:#f18b80;--judge-good:#a8cf96}.review-overlay{z-index:7;pointer-events:none;position:absolute;inset:0;container-type:inline-size}.review-arrows{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.review-arrow.missed{fill:var(--review-arrow-missed);stroke:var(--review-arrow-missed);opacity:.68}.review-arrow.next{fill:var(--review-arrow-next);stroke:var(--review-arrow-next);opacity:.58}.review-arrow.bad{fill:var(--review-arrow-bad);stroke:var(--review-arrow-bad);opacity:.55}circle.review-arrow{fill:none}.review-glyph{width:11.1111%;height:10%;position:absolute}.review-glyph>i{aspect-ratio:1;letter-spacing:-.06em;width:42%;color:var(--glyph-ink);animation:review-pop .18s var(--ease-out);border-radius:50%;place-items:center;font:800 2.35cqw/1 Noto Sans KR Variable,system-ui,sans-serif;display:grid;position:absolute;top:-6%;left:64%;box-shadow:0 1px 1px #0000004d,0 2px 6px #00000059}.review-glyph.inaccuracy>i{background:var(--glyph-inaccuracy);color:var(--glyph-inaccuracy-ink)}.review-glyph.mistake>i{background:var(--glyph-mistake)}.review-glyph.blunder>i{background:var(--glyph-blunder)}@keyframes review-pop{0%{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion:reduce){.review-glyph>i{animation:none}}.variation-banner{z-index:9;background:var(--surface);color:var(--text);white-space:nowrap;pointer-events:auto;border-radius:999px;align-items:center;gap:2px;padding:2px 2px 2px 12px;font-size:12px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-58%);box-shadow:0 2px 10px #0004}.variation-banner button{background:var(--primary);min-height:30px;color:var(--on-primary);border:0;border-radius:999px;padding:0 12px;font-size:12px;font-weight:600}@media (max-width:767.98px),(max-width:1023.98px) and (orientation:portrait),(orientation:landscape) and (max-height:500.98px){.variation-banner{display:none}}.variation-banner button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.glyph-pill{letter-spacing:-.04em;min-width:22px;height:22px;color:var(--glyph-ink);border-radius:999px;flex:none;place-items:center;padding:0 5px;font:800 12px/1 Noto Sans KR Variable,system-ui,sans-serif;display:inline-grid}.glyph-pill.inaccuracy{background:var(--glyph-inaccuracy);color:var(--glyph-inaccuracy-ink)}.glyph-pill.mistake{background:var(--glyph-mistake)}.glyph-pill.blunder{background:var(--glyph-blunder)}.arrow-swatch{vertical-align:middle;border-radius:2px;width:14px;height:4px;margin-right:6px;display:inline-block}.arrow-swatch.missed{background:var(--review-arrow-missed)}.arrow-swatch.next{background:var(--review-arrow-next);opacity:.8}.advice-verdict.inaccuracy .advice-badge{background:color-mix(in srgb, var(--glyph-inaccuracy) 22%, transparent);color:var(--judge-inaccuracy)}.advice-verdict.mistake .advice-badge{background:color-mix(in srgb, var(--glyph-mistake) 18%, transparent);color:var(--judge-mistake)}.advice-verdict.blunder .advice-badge{background:color-mix(in srgb, var(--glyph-blunder) 16%, transparent);color:var(--judge-blunder)}.move-row button .move-glyph{letter-spacing:-.04em;margin-left:1px;font-weight:800}.move-row button.judge-inaccuracy{color:var(--judge-inaccuracy)}.move-row button.judge-mistake{color:var(--judge-mistake)}.move-row button.judge-blunder{color:var(--judge-blunder)}.move-row button.current:is(.judge-inaccuracy,.judge-mistake,.judge-blunder){color:#fff}.move-row button.current.judge-inaccuracy{background:color-mix(in srgb, var(--glyph-inaccuracy) 85%, #000 0%);color:var(--glyph-inaccuracy-ink)}.move-row button.current.judge-mistake{background:color-mix(in srgb, var(--glyph-mistake) 88%, #000)}.move-row button.current.judge-blunder{background:color-mix(in srgb, var(--glyph-blunder) 88%, #000)}.move-row button .move-repeat{color:var(--muted);font-size:12px;font-weight:500}.move-row button .move-eval{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-left:auto;padding-left:2px;font-size:10px;font-weight:400}.review-moves .move-row button{gap:3px;padding:8px 4px 8px 13px;overflow:hidden}.review-moves .move-row button:before{width:5px;height:5px;left:5px}.review-moves .move-row button .move-mark{font-size:10px}.move-row button.current .move-eval,.move-row button.current .move-repeat{color:inherit;opacity:.85}.move-list.review-moves,.side-panel-body .move-list.review-moves{border:1px solid var(--border);border-radius:var(--radius-md);max-height:clamp(176px,40svh,380px)}.variation-record{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--muted);margin:6px 0 0;padding:8px 10px;font-size:12px;font-style:italic}.variation-record button{font:inherit;color:var(--text);background:0 0;border:0;border-radius:4px;min-height:28px;padding:2px 4px}.variation-record button[aria-current]{background:var(--tint);color:var(--primary);font-weight:600}.review-summary{gap:8px;display:grid}.review-side{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);gap:6px;padding:9px 10px;display:grid}.review-side-head{align-items:baseline;gap:6px;min-width:0;display:flex}.review-side-head .side-mark{font:18px/1 Noto Serif KR Variable,serif}.review-side-head .side-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;font-size:12px;overflow:hidden}.review-accuracy{font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;display:inline-flex}.review-accuracy strong{font-size:18px;line-height:1.1}.review-accuracy small{color:var(--muted);font-size:11px}.review-accuracy .tone{border-radius:999px;padding:0 6px;font-size:11px;font-weight:600}.review-accuracy .tone.good{color:var(--judge-good);background:color-mix(in srgb, var(--judge-good) 14%, transparent)}.review-accuracy .tone.inaccuracy{color:var(--judge-inaccuracy);background:color-mix(in srgb, var(--glyph-inaccuracy) 20%, transparent)}.review-accuracy .tone.mistake{color:var(--judge-mistake);background:color-mix(in srgb, var(--glyph-mistake) 16%, transparent)}.review-accuracy .tone.blunder{color:var(--judge-blunder);background:color-mix(in srgb, var(--glyph-blunder) 14%, transparent)}.review-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.review-count{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast);justify-content:center;align-items:center;gap:4px;padding:0 4px;font-size:12px;display:flex}.review-count .glyph-pill{min-width:20px;height:20px;font-size:11px}.review-count strong{font-size:14px}.review-count .count-label{color:var(--muted);font-size:11px}.review-count:disabled{cursor:default;opacity:.55}.review-count:disabled .glyph-pill{filter:grayscale(.8)}.review-count:not(:disabled):hover,.review-count:focus-visible{border-color:var(--primary);background:var(--tint)}.review-count:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.review-learn{width:100%}@media (pointer:coarse){.review-count{min-height:44px}}.eval-graph-box{cursor:crosshair;touch-action:pan-y;outline:none;height:120px;position:relative}.eval-graph-box svg{width:100%;height:100%;display:block}.eval-graph.compact .eval-graph-box{height:64px}.eval-graph:has(.eval-graph-box:focus-visible){box-shadow:0 0 0 2px var(--primary)}.eval-dot{pointer-events:none;width:6px;height:6px;box-shadow:0 0 0 1px var(--surface);transition:transform var(--motion-fast);animation:eval-dot-in .22s var(--ease-out) backwards;border-radius:50%;margin:-3px 0 0 -3px;position:absolute}.eval-dot[data-quiet]{animation:none}@keyframes eval-dot-in{0%{opacity:0;transform:scale(.4)}}.eval-dot.inaccuracy{background:var(--glyph-inaccuracy)}.eval-dot.mistake{background:var(--glyph-mistake)}.eval-dot.blunder{background:var(--glyph-blunder)}.eval-dot.highlight{z-index:1;box-shadow:0 0 0 1.5px var(--surface), 0 0 0 3px currentColor;transform:scale(1.9)}.eval-dot.current{background:var(--primary);width:9px;height:9px;box-shadow:0 0 0 2px var(--surface);z-index:2;margin:-4.5px 0 0 -4.5px}.eval-hover-line{border-left:1px dashed var(--muted);pointer-events:none;width:0;position:absolute;top:0;bottom:0}.eval-tooltip{z-index:3;background:var(--text);max-width:calc(100% - 8px);color:var(--surface);pointer-events:none;font-variant-numeric:tabular-nums;border-radius:4px;padding:3px 7px;font-size:11px;line-height:1.45;position:absolute;top:4px;right:4px;box-shadow:0 2px 6px #0003}.eval-tooltip.left{left:4px;right:auto}@media (prefers-reduced-motion:reduce){.eval-dot{transition:none;animation:none}}.movetime-chart{gap:6px;margin:0;display:grid;position:relative}.movetime-plot{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);cursor:crosshair;touch-action:pan-y;outline:none;height:96px;position:relative;overflow:hidden}.movetime-plot:focus-visible{box-shadow:0 0 0 2px var(--primary)}.movetime-plot:after{content:"";border-top:1px solid var(--border);position:absolute;top:50%;left:0;right:0}.movetime-bar{width:max(1px, calc(100% / var(--count) - 1px));pointer-events:none;border-radius:1px;position:absolute;transform:translate(-50%)}.movetime-bar.cho{background:color-mix(in srgb, var(--cho) 55%, transparent);bottom:50%}.movetime-bar.han{background:color-mix(in srgb, var(--han) 55%, transparent);top:50%}.movetime-bar.current{background:var(--primary)}.movetime-period{background:var(--glyph-mistake);pointer-events:none;border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute}.movetime-period.cho{top:3px}.movetime-period.han{bottom:3px}.movetime-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:11px;display:flex}.movetime-legend{align-items:center;gap:4px;display:inline-flex}.movetime-legend:before{content:"";background:var(--glyph-mistake);border-radius:50%;width:6px;height:6px}.autoplay-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.autoplay-row>span{color:var(--muted);margin-right:2px;font-size:11px}.autoplay-row button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text);border-radius:999px;padding:0 10px;font-size:12px}.autoplay-row button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.autoplay-row button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@media (pointer:coarse){.autoplay-row button{min-height:40px}}.replay-controls .autoplay-stop{color:var(--primary);flex:1.4;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.game-review-view .review-section{margin:0 0 12px}.game-panel .game-review-view>:is(.hint,.button,.error){width:100%;margin:0 0 12px}.game-panel .game-review-view>.panel-heading{margin:-10px -12px 10px}.game-review-view .review-section>h3{color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:600}.game-review-view .review-tools{gap:8px;display:grid}.review-toggles{flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.review-toggles label{cursor:pointer;flex-direction:row;align-items:center;gap:6px;min-height:32px;font-size:12px;font-weight:400;display:inline-flex}.review-toggles kbd,.game-review-view .hint kbd{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:3px;padding:0 4px;font:10px system-ui,sans-serif}@media (pointer:coarse){.review-toggles label{min-height:44px}}.review-subtabs{gap:2px;margin-bottom:6px;display:flex}.review-subtabs button{min-height:32px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;font-size:12px}.review-subtabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--primary);font-weight:600}.review-subtabs button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.review-bar{padding:0 var(--board-gutter,12px);gap:6px;min-width:0;display:grid}.review-bar-head{align-items:center;gap:6px;min-width:0;min-height:30px;line-height:1.3;display:flex}.review-bar-move{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.review-bar-verdict{white-space:nowrap;font-size:12px;font-weight:600}.review-bar-verdict.inaccuracy{color:var(--judge-inaccuracy)}.review-bar-verdict.mistake{color:var(--judge-mistake)}.review-bar-verdict.blunder{color:var(--judge-blunder)}.review-bar-verdict.best{color:var(--judge-good)}.review-bar-score{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:14px;font-weight:700}.review-bar-open{flex:none;width:40px;height:40px;margin-right:-8px}.review-bar-line{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin:0;font-size:12px;overflow:hidden}.review-bar-line strong{color:var(--text);font-weight:600}.review-bar .eval-graph{margin:0}.review-bar-status{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.mistake-progress{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.mistake-progress-bar{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.mistake-progress-bar>span{background:var(--primary);height:100%;transition:width var(--motion-base);display:block}.mistake-feedback{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-soft);align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.mistake-feedback>i{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-style:normal;font-weight:800;display:grid}.mistake-feedback.win>i{background:#5f8f1d}.mistake-feedback.fail>i{background:#c8372f}.mistake-feedback.eval>i{background:var(--muted)}.mistake-feedback.win{border-color:color-mix(in srgb, #5f8f1d 50%, var(--border))}.mistake-feedback.fail{border-color:color-mix(in srgb, #c8372f 50%, var(--border))}.mistake-feedback strong{display:block}.mistake-feedback small{color:var(--muted)}.mistake-eval-progress{background:var(--border);border-radius:2px;height:3px;margin-top:4px;overflow:hidden}.mistake-eval-progress>span{background:var(--primary);width:40%;height:100%;animation:1.1s ease-in-out infinite mistake-eval;display:block}@keyframes mistake-eval{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.mistake-eval-progress>span{opacity:.5;width:100%;animation:none}}.move-strip button .move-strip-glyph{letter-spacing:-.04em;font-weight:800}.move-strip button.judge-inaccuracy:not([aria-current]){color:var(--judge-inaccuracy);border-color:color-mix(in srgb, var(--glyph-inaccuracy) 60%, var(--border))}.move-strip button.judge-mistake:not([aria-current]){color:var(--judge-mistake);border-color:color-mix(in srgb, var(--glyph-mistake) 55%, var(--border))}.move-strip button.judge-blunder:not([aria-current]){color:var(--judge-blunder);border-color:color-mix(in srgb, var(--glyph-blunder) 55%, var(--border))}.move-strip button[aria-current].judge-inaccuracy{background:var(--glyph-inaccuracy);border-color:var(--glyph-inaccuracy);color:var(--glyph-inaccuracy-ink)}.move-strip button[aria-current].judge-mistake{background:var(--glyph-mistake);border-color:var(--glyph-mistake);color:#fff}.move-strip button[aria-current].judge-blunder{background:var(--glyph-blunder);border-color:var(--glyph-blunder);color:#fff}@container phone-status (max-height:200px){.phone-status.reviewing .move-strip{display:none}}@container phone-status (max-height:78px){.phone-status .move-strip{display:none}}@container phone-status (max-height:112px){.phone-status:has(>.first-move-banner) .move-strip{display:none}}.phone-status .move-strip{flex:none}@container phone-status (max-height:112px){.phone-status.reviewing .review-bar .eval-graph{display:none}}@container phone-status (max-height:64px){.phone-status.reviewing .review-bar-line{display:none}}.phone-status:focus{outline:none}.phone-status small .spinner{vertical-align:-2px;margin-right:6px}@container phone-status (max-height:44px){.phone-status.reviewing .review-bar-head{min-height:0}.phone-status.reviewing .review-bar-open{display:none}.phone-status.reviewing .review-bar .glyph-pill{min-width:18px;height:18px;font-size:11px}.phone-status.reviewing .review-bar-move,.phone-status.reviewing .review-bar-score{font-size:13px}}.arrow-swatch.bad{background:var(--review-arrow-bad);opacity:.8}.analysis-autoplay{border-top:1px solid var(--border);padding:8px 12px}.mistake-phone-feedback{display:none}@media (max-width:767px){.mistake-phone-feedback{margin-top:8px;display:block}.mistake-phone-feedback:empty,.mistake-guide .mistake-feedback{display:none}}@media (min-width:768px){.mistake-workspace .board-column{justify-self:center;width:min(100%,max(360px,90svh - 225px))}}.game-review-view .review-share>summary{cursor:pointer;min-height:32px;color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.game-share .share-actions{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:6px 0;display:grid}.game-share .share-actions .button{justify-content:flex-start;min-height:40px;font-size:13px}.game-share textarea{width:100%;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.game-share .share-fallback{margin:8px 0;display:block}@media (pointer:coarse){.game-review-view .review-share>summary,.game-share .share-actions .button{min-height:44px}}
