:root{--bg:#0f1115;--panel:#171a21;--panel-2:#1f232c;--border:#2a2f3a;--text:#e8eaed;--muted:#9aa3b2;--accent:#6ea8fe;--board-ref:#e9e4d8;--board-mark:#3b82f6;--celebrate:#34d399;--affirm:#6ee7b7;--nudge:#fbbf24;--correct:#fb923c;--alert:#f87171}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{width:-moz-fit-content;width:fit-content;max-width:1880px;margin:0 auto;padding:clamp(16px,2.5vw,28px) clamp(14px,2.5vw,24px) 24px;--chrome:172px}.site-header{display:flex;flex-direction:column;align-items:center;margin:0 0 clamp(14px,2vw,22px)}.site-title{display:flex;align-items:baseline;gap:.26em;margin:0;line-height:1;font-size:clamp(26px,2.6vw,32px);letter-spacing:-.01em}.site-title-chess{font-weight:400;color:var(--muted);animation:site-rise .9s cubic-bezier(.2,.7,.2,1) both}.site-title-oracle{font-weight:600;background:linear-gradient(100deg,var(--text) 0,var(--text) 38%,#b9d3ff 46%,#c9b8ff 50%,#9fe8dc 54%,var(--text) 62%,var(--text) 100%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:site-rise .9s cubic-bezier(.2,.7,.2,1) .12s both,site-shimmer 1.8s ease-in-out .9s both}.site-rule{position:relative;width:clamp(140px,22vw,240px);height:1px;margin-top:10px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 55%,transparent) 50%,transparent);transform-origin:center;animation:site-draw 1.1s cubic-bezier(.2,.7,.2,1) .35s both}.site-rule:after{content:"";position:absolute;top:-1px;left:0;width:36px;height:3px;border-radius:2px;background:radial-gradient(ellipse at center,rgba(220,232,255,.9),transparent 70%);opacity:0;animation:site-glint 1.4s ease-in-out 1.2s both}.site-rule-gem{position:absolute;top:50%;left:50%;width:5px;height:5px;background:var(--accent);box-shadow:0 0 8px 1px color-mix(in srgb,var(--accent) 60%,transparent);transform:translate(-50%,-50%) rotate(45deg)}@keyframes site-rise{0%{opacity:0;transform:translateY(6px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes site-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes site-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes site-glint{0%{left:0;opacity:0}20%,75%{opacity:1}to{left:calc(100% - 36px);opacity:0}}@media (prefers-reduced-motion:reduce){.site-rule,.site-rule:after,.site-title-chess,.site-title-oracle{animation:none}}.layout{display:grid;grid-template-columns:auto 360px;grid-template-rows:auto auto 1fr;grid-template-areas:"board side" "board opening" "board foot";grid-column-gap:clamp(14px,2vw,24px);column-gap:clamp(14px,2vw,24px);grid-row-gap:14px;row-gap:14px;align-items:start;padding-top:20px}.layout>.board-col-wrap{grid-area:board}.layout>.sidebar{grid-area:side}.opening-col{grid-area:opening;min-width:0}.opening-col:empty{display:none}.sidebar-foot{grid-area:foot;display:flex;flex-direction:column;gap:14px}.board-col{display:flex;gap:10px;flex:0 0 auto;min-width:0;align-items:stretch}.board-wrap{flex:none;width:var(--board-size);aspect-ratio:1/1;box-shadow:0 26px 60px -24px rgba(0,0,0,.75),0 0 70px -8px rgba(110,140,255,.16),0 0 220px 20px rgba(130,96,255,.07)}.sidebar{flex:0 0 360px;width:360px;display:flex;flex-direction:column;gap:14px}.status{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);min-height:22px}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.dot.thinking{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.controls{display:flex;gap:8px}.controls button{flex:1 1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-icon,.controls .sound-toggle{flex:0 0 auto}.newgame-split{flex:1 1;display:flex}.controls .newgame-split button{background:color-mix(in srgb,var(--accent) 16%,var(--panel-2));border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:color-mix(in srgb,var(--accent) 35%,var(--text));font-weight:600}.controls .newgame-split button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 26%,var(--panel-2));border-color:var(--accent)}.controls .newgame-main{border-top-right-radius:0;border-bottom-right-radius:0}.controls .newgame-rematch{flex:0 0 auto;margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.action-row{display:flex;gap:8px;margin-bottom:8px}.takeback-btn{flex:1 1;white-space:nowrap;gap:6px}.takeback-btn,.takeback-count{display:inline-flex;align-items:center;justify-content:center}.takeback-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:12px;font-weight:600;line-height:1;color:var(--muted);background:var(--bg);border:1px solid var(--border)}.copy-btn{white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.copy-btn,.copy-icon{flex:0 0 auto}.board-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-6px;margin-left:calc(100% - var(--board-size));min-width:0}.board-tools{display:flex;gap:6px}.board-foot-me{display:flex;align-items:center;gap:10px;min-width:0}.player-clock{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 6px;border:0;border-radius:6px;background:none;color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;opacity:.55;transition:opacity .15s,color .15s}.player-clock:focus-visible,.player-clock:hover{opacity:1;background:var(--panel-2)}.player-clock.hidden{opacity:.35}.player-clock.countdown.running{opacity:.85}.player-clock.countdown .player-clock-time{font-weight:600}.player-clock.paused{opacity:.55;animation:clock-paused 1.6s ease-in-out infinite}@keyframes clock-paused{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.player-clock.paused{animation:none}}.player-clock.low{opacity:1;color:var(--alert)}.play-on-btn{padding:3px 8px;border-radius:6px;font-size:12px;color:var(--muted);white-space:nowrap}.play-on-btn:hover{color:var(--text)}.player-clock.flagged:not(.countdown){opacity:.45}.board-tools .copy-btn{gap:4px;padding:3px 8px;border-radius:6px;font-size:12px;color:var(--muted)}.board-tools .copy-btn:hover{color:var(--text)}.board-tools .copy-icon{width:11px;height:11px}.action-row .copy-btn{display:none}.action-row:not(:has(.takeback-btn)){display:none}.takeback-icon{display:inline-block;position:relative;top:2px}.level-note{margin:8px 0 0;font-size:13px;color:var(--muted);text-align:center}.level-note strong{color:var(--text);font-weight:600}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:8px 14px;border-radius:8px;transition:border-color .15s,background .15s}button.primary,button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#0b1020;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}@property --tone{syntax:"<color>";inherits:true;initial-value:#6ea8fe}.coach-card{--tone:var(--accent);transition:--tone 1.4s ease-in-out;position:relative;background:linear-gradient(90deg,transparent,var(--tone),transparent) top /56% 1px no-repeat,radial-gradient(55% 230px at 50% 0,color-mix(in srgb,var(--tone) 13%,transparent),transparent 72%),var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px;min-height:120px}.coach-orb-wrap{--orb-size:140px;--orb-scale:1;display:flex;justify-content:center;height:calc(var(--orb-size) * var(--orb-scale));margin:14px 0 16px;transition:height .45s cubic-bezier(.3,.7,.2,1),margin .45s cubic-bezier(.3,.7,.2,1)}.coach-card.folded{min-height:0;padding:12px 36px}.coach-card.folded .coach-orb-wrap{--orb-scale:0;margin:0}.coach-card.folded .coach-text,.coach-card.folded>.coach-empty,.coach-card.folded>.coach-engine,.coach-card.folded>.coach-fallback,.coach-card.folded>.status{display:none}.coach-card.folded .coach-verdict{justify-content:center;margin-bottom:0;animation:fold-in .35s ease both}.coach-folded-note{display:none}.coach-card.folded .coach-folded-note{display:block;font-size:13px;line-height:26px;text-align:center;color:var(--muted);animation:fold-in .35s ease both}.coach-card.folded>.card-corner-btn,.coach-card.folded>.ce-info-wrap{top:50%;transform:translateY(-50%)}@keyframes fold-in{0%{opacity:0}}.coach-orb{position:relative;flex:none;width:var(--orb-size);height:var(--orb-size);pointer-events:none;isolation:isolate;transform:scale(var(--orb-scale));transform-origin:50% 0;transition:transform .45s cubic-bezier(.3,.7,.2,1)}.coach-orb>*{position:absolute;inset:0;border-radius:50%}.orb-body{background:radial-gradient(circle at 50% 44%,#0f1b3d 0,#080f27 52%,#03050e 100%);box-shadow:inset 0 0 0 1px rgba(170,200,255,.1),inset 0 -18px 30px -8px color-mix(in srgb,var(--tone) 42%,transparent),inset 0 16px 30px -12px rgba(140,180,255,.2),0 0 44px -8px color-mix(in srgb,var(--tone) 30%,transparent),0 12px 28px -6px rgba(0,0,0,.6);transition:box-shadow 1.2s ease-in-out}.coach-orb.thinking .orb-body{box-shadow:inset 0 0 0 1px rgba(170,200,255,.16),inset 0 -20px 34px -8px color-mix(in srgb,var(--tone) 55%,transparent),inset 0 16px 30px -12px rgba(140,180,255,.3),0 0 60px -6px rgba(110,150,255,.32),0 12px 28px -6px rgba(0,0,0,.6)}.orb-nebula{overflow:hidden;-webkit-mask:radial-gradient(circle,#000 60%,transparent 71%);mask:radial-gradient(circle,#000 60%,transparent 71%)}.orb-nebula i{position:absolute;inset:-10%;background:conic-gradient(from 0deg,transparent 0 8%,rgba(90,120,255,.16) 16%,transparent 30%,rgba(150,100,255,.1) 46%,transparent 58%,rgba(70,200,255,.12) 72%,transparent 86%);filter:blur(9px)}.coach-orb .orb-spec{inset:7% auto auto 24%;width:34%;height:15%;background:radial-gradient(ellipse at 50% 35%,rgba(255,255,255,.08),transparent 70%);filter:blur(.6px)}.coach-orb .search-tree-bloom{width:100%;height:100%;border-radius:0;overflow:visible}@keyframes stb-draw{to{stroke-dashoffset:0}}@keyframes stb-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes stb-twinkle{50%{opacity:.35}}.search-tree-bloom .stb-edge{stroke-dasharray:1;stroke-dashoffset:1;animation:stb-draw .7s cubic-bezier(.3,.7,.3,1) forwards;transition:opacity 1.2s ease}.search-tree-bloom .stb-node{transform-box:fill-box;transform-origin:center;animation:stb-pop .55s cubic-bezier(.2,1.7,.4,1) .35s both}.search-tree-bloom .stb-node.twinkle{animation:stb-pop .55s cubic-bezier(.2,1.7,.4,1) .35s both,stb-twinkle var(--stb-tw,3s) ease-in-out 1s infinite}.search-tree-bloom .stb-main{stroke:rgb(255,236,190);stroke-width:.95;opacity:0;transition:opacity 1.1s ease .2s}.search-tree-bloom .stb-bead{stroke:#fff;stroke-width:2;stroke-dasharray:.035 1.2;stroke-dashoffset:.035;opacity:0}.search-tree-bloom.settled .stb-main{opacity:1}.search-tree-bloom.settled .stb-edge:not(.main){opacity:.62}@keyframes stb-bead{0%{stroke-dashoffset:.035;opacity:0}8%,85%{opacity:1}to{stroke-dashoffset:-1;opacity:0}}.search-tree-bloom.settled .stb-bead{animation:stb-bead 2.6s cubic-bezier(.45,.1,.4,1) .9s infinite}.card-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.card-title-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.opening-icon{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);background:var(--panel-2);border:1px solid var(--border)}.opening-icon svg{width:15px;height:15px}.badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:var(--panel-2);color:var(--muted)}.badge.celebrate{color:#052e1f;background:var(--celebrate)}.badge.affirm{color:#052e1f;background:var(--affirm)}.badge.nudge{color:#3a2c00;background:var(--nudge)}.badge.correct{color:#3a1c00;background:var(--correct)}.badge.alert{color:#3a0a0a;background:var(--alert)}.coach-move{font-size:13px;color:var(--muted);margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.coach-praise{font-size:15px;line-height:1.5;margin:0 0 8px}.coach-insight{font-size:14px;line-height:1.55;color:#d4d8df;margin:0 0 10px}.move-ref{--ref:var(--board-ref);border-radius:4px;padding:0 3px;font-weight:600;color:var(--text);background:color-mix(in srgb,var(--ref) 13%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ref) 22%,transparent);cursor:pointer;white-space:nowrap;transition:background .12s,box-shadow .12s}.move-ref.pinned,.move-ref:focus-visible,.move-ref:hover{background:color-mix(in srgb,var(--ref) 30%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ref) 50%,transparent);outline:none}.square-ref{--ref:var(--board-mark);border-radius:4px;padding:0 2px;font-weight:600;color:var(--text);-webkit-text-decoration:underline dotted color-mix(in srgb,var(--ref) 70%,transparent);text-decoration:underline dotted color-mix(in srgb,var(--ref) 70%,transparent);text-underline-offset:2px;cursor:pointer;white-space:nowrap;transition:background .12s}.square-ref.pinned,.square-ref:focus-visible,.square-ref:hover{background:color-mix(in srgb,var(--ref) 22%,transparent);outline:none}.coach-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.show-best-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:500;line-height:1;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--muted);transition:background .15s,border-color .15s,color .15s}.show-best-btn:hover{border-color:var(--muted);color:var(--text)}.show-best-btn.active{background:var(--panel-2);border-color:#3a4150;color:var(--text)}.show-best-icon{flex:none;opacity:.8}.coach-empty{color:var(--muted);font-size:14px;text-align:center}.coach-card .status{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.coach-engine{display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 0 20px;min-height:22px;container-type:inline-size}.coach-engine-info{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.82;white-space:nowrap}@container (max-width: 330px){.ce-nps{display:none}}@container (max-width: 270px){.coach-engine-info{gap:6px;font-size:12px}.ce-eval{font-size:13px}}.ce-eval{color:var(--text);font-weight:650;font-size:14px}.ce-sep{flex:none;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.45}.ce-depth{opacity:.85}.ce-positions{opacity:.92}.ce-nps{color:var(--muted);opacity:.85;font-weight:400}.ce-maxed{font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.55}.ce-deepen{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border-radius:50%;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel-2));border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));vertical-align:middle}.ce-deepen:hover{background:color-mix(in srgb,var(--accent) 26%,var(--panel-2));border-color:var(--accent)}.ce-deepen svg{flex:none}.ce-info-wrap{position:absolute;top:12px;right:12px;z-index:6}.ce-info,.ce-info-wrap{display:inline-flex;align-items:center}.ce-info{justify-content:center;width:16px;height:16px;padding:0;border-radius:50%;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700;font-size:10px;line-height:1;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);cursor:pointer}.ce-info:hover,.ce-info[aria-expanded=true]{color:var(--text);border-color:color-mix(in srgb,var(--text) 30%,var(--border))}.card-corner-btn{position:absolute;top:12px;left:12px;z-index:6;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border-radius:50%;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);cursor:pointer}.card-corner-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--text) 30%,var(--border))}.chevron-icon{flex:none;transition:transform .3s ease}.chevron-icon.up{transform:rotate(180deg)}.card-toggle{width:-moz-fit-content;width:fit-content;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.card-toggle .chevron-icon{color:var(--muted);opacity:.7}.card-toggle:hover .card-title-label,.card-toggle:hover .chevron-icon{color:var(--text);opacity:1}.card-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s cubic-bezier(.3,.7,.2,1),opacity .3s ease}.card-collapse.collapsed{grid-template-rows:0fr;opacity:0}.card-collapse-inner{min-height:0;overflow:hidden;margin:0 -6px;padding:0 6px}.ce-info-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:250px;display:flex;flex-direction:column;gap:6px;padding:12px 13px;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.28);font-size:12px;line-height:1.45;font-weight:400;font-feature-settings:normal;font-variant-numeric:normal;color:var(--muted);opacity:1;white-space:normal;cursor:default}.ce-info-pop a,.level-note a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.ce-info-pop:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.ce-info-title{color:var(--text);font-size:13px;font-weight:700}.ce-info-sub{margin-bottom:2px}.ce-info-row b{color:var(--text);font-weight:600}.ce-info-foot{margin-top:2px;padding-top:8px;border-top:1px solid var(--border);opacity:.85}.ce-info-note{padding:7px 9px;border-radius:7px;color:var(--text);background:color-mix(in srgb,var(--nudge) 12%,var(--panel-2));border:1px solid color-mix(in srgb,var(--nudge) 30%,var(--border))}.coach-fallback{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;padding:8px 10px;font-size:12px;line-height:1.45;color:var(--muted);background:color-mix(in srgb,var(--nudge) 10%,var(--panel-2));border:1px solid color-mix(in srgb,var(--nudge) 28%,var(--border));border-radius:8px}.coach-fallback strong{color:var(--text);font-weight:600}.coach-fallback-icon{flex:none;margin-top:1px;color:var(--nudge)}.coach-fallback-body{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.coach-retry-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--text);background:color-mix(in srgb,var(--nudge) 18%,var(--panel-2));border:1px solid color-mix(in srgb,var(--nudge) 40%,var(--border));border-radius:7px;cursor:pointer;transition:background .15s,border-color .15s}.coach-retry-btn:hover:not(:disabled){background:color-mix(in srgb,var(--nudge) 28%,var(--panel-2));border-color:var(--nudge)}.coach-retry-btn:disabled{opacity:.65;cursor:default}.coach-retry-btn .spin{animation:coach-retry-spin .8s linear infinite;transform-origin:center}@keyframes coach-retry-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.coach-retry-btn .spin{animation:none}}.opening-card{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.opening-wdl{margin-top:12px}.wdl-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--panel-2)}.wdl-white{background:#e9edf3}.wdl-draw{background:#8b93a3}.wdl-black{background:#2a2f3a}.wdl-legend{display:flex;margin-top:6px;font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wdl-leg{overflow:visible;white-space:nowrap}.wdl-leg-white{text-align:left}.wdl-leg-draw{text-align:center}.wdl-leg-black{text-align:right}.opening-name-row{margin-top:14px;line-height:1.45}.opening-name{font-size:14px;font-weight:600;color:var(--text)}.opening-eco{display:inline-block;margin-left:8px;vertical-align:1px;white-space:nowrap;line-height:1.3;font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px}.opening-inbook{position:absolute;top:16px;right:16px;font-size:11px;font-weight:600;color:#052e1f;background:var(--affirm);border-radius:999px;padding:2px 8px}.opening-repertoire{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--accent)}.opening-repertoire b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.opening-novel{display:flex;gap:10px;margin:12px 0 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:13px;line-height:1.45}.opening-novel-icon{flex:none;width:18px;height:18px;margin-top:1px;color:var(--accent)}.opening-novel-icon svg{width:100%;height:100%}.opening-novel-title{font-weight:600;color:var(--text)}.opening-novel p{margin:2px 0 0}.opening-empty .opening-name,.opening-novel p{color:var(--muted)}.opening-empty-text{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.opening-ghost{display:flex;gap:3px;height:8px;margin:14px 0 2px;opacity:.7}.opening-ghost span{border-radius:4px;background:var(--panel-2);border:1px solid var(--border)}.opening-ghost span:first-child{flex:5 1}.opening-ghost span:nth-child(2){flex:1 1}.opening-ghost span:nth-child(3){flex:4 1}.opening-games-details{margin-top:12px}.opening-games-summary{font-size:11px;color:var(--muted);cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.opening-games-summary::-webkit-details-marker{display:none}.opening-games-summary:before{content:"▸";font-size:9px;transition:transform .15s ease}.opening-games-details[open]>.opening-games-summary:before{transform:rotate(90deg)}.opening-games-summary:hover{color:var(--accent)}.opening-games{margin-top:8px;display:flex;flex-direction:column;gap:4px}.opening-game-link{font-size:12px;color:var(--accent);text-decoration:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.opening-game-link:hover{text-decoration:underline}.opening-game-link.static{color:var(--muted);font-style:italic}.opening-card>.opening-name-row:first-child{margin-top:0}.crowd-heading{margin-top:14px;font-size:12px;font-weight:600;color:var(--muted)}.crowd-tiles{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:8px}.crowd-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:10px 12px 11px;text-align:left;font:inherit;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.crowd-tile:hover:not(:disabled):not(.selected){border-color:#3a4150;background:rgba(255,255,255,.02)}.crowd-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.crowd-tile.selected{color:var(--text);background:var(--panel-2);border-color:var(--accent);cursor:default}.crowd-tile.selected:after{content:"";position:absolute;left:22px;bottom:-6px;width:10px;height:10px;background:var(--panel-2);border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(45deg)}.crowd-tile:disabled{opacity:.45;cursor:default}.crowd-name{font-size:13px;font-weight:650;color:var(--text)}.crowd-count{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.3}.crowd-count strong{font-size:20px;font-weight:750;color:var(--text)}.crowd-tile:not(.selected) .crowd-count strong{color:var(--muted)}.crowd-count-skeleton{width:64px;height:18px;margin:3px 0 2px}.crowd-detail{max-width:100%;font-size:11px;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crowd-detail b{font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.crowd-tile:not(.selected) .crowd-detail b{color:var(--muted)}.crowd-panel{margin-top:12px;padding:12px 12px 10px;background:var(--panel-2);border-radius:10px}.crowd-panel .opening-wdl{margin-top:6px}.crowd-panel .skeleton-pill,.crowd-panel .trend-bar-fill.skeleton{background:var(--border)}.opening-trend{margin-top:14px}.opening-trend-title{font-size:11px;color:var(--muted);margin-bottom:6px}.trend-bars{display:flex;align-items:flex-end;gap:6px;height:72px}.trend-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.trend-bar-track{flex:1 1;width:100%;display:flex;align-items:flex-end}.trend-bar-fill{position:relative;width:100%;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px}.trend-bar-count{position:absolute;left:0;right:0;text-align:center;font-size:9px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}.trend-bar-count.inside{top:3px;color:var(--bg);font-weight:600}.trend-bar-count.above{bottom:100%;margin-bottom:3px;color:var(--accent)}.trend-year{font-size:10px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.trend-col.partial .trend-bar-fill{background:repeating-linear-gradient(-45deg,rgba(110,168,254,.28) 0 4px,rgba(110,168,254,.12) 4px 8px);box-shadow:inset 0 0 0 1px rgba(110,168,254,.7)}.trend-col.partial .trend-bar-count.inside{color:var(--accent)}.trend-year-note{font-style:italic}@keyframes shimmer{0%{opacity:.45}50%{opacity:.9}to{opacity:.45}}.skeleton-pill,.trend-bar-fill.skeleton{background:var(--panel-2);animation:shimmer 1.2s ease-in-out infinite}.skeleton-pill{display:inline-block;width:60%;height:8px;border-radius:4px}.trend-col:nth-child(2) .skeleton,.trend-col:nth-child(2) .skeleton-pill{animation-delay:.1s}.trend-col:nth-child(3) .skeleton,.trend-col:nth-child(3) .skeleton-pill{animation-delay:.2s}.trend-col:nth-child(4) .skeleton,.trend-col:nth-child(4) .skeleton-pill{animation-delay:.3s}.trend-col:nth-child(5) .skeleton,.trend-col:nth-child(5) .skeleton-pill{animation-delay:.4s}.trend-col:nth-child(6) .skeleton,.trend-col:nth-child(6) .skeleton-pill{animation-delay:.5s}.evalbar{flex:none;width:clamp(22px,2.2vmin,30px);align-self:stretch;background:#111;border:1px solid var(--border);border-radius:6px;position:relative;overflow:hidden;display:flex;flex-direction:column-reverse}.evalbar .white-fill{background:#e9edf3;width:100%;transition:height .4s ease}.evalbar .label{position:absolute;left:0;right:0;text-align:center;font-size:10px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.evalbar.flipped{flex-direction:column}.evalbar .label.top{top:3px}.evalbar .label.bottom{bottom:3px}.evalbar .label.on-black{color:#cfd6e0}.evalbar .label.on-white{color:#20242c}.overlay{position:fixed;inset:0;background:radial-gradient(ellipse 62% 75% at 50% 50%,rgba(96,120,255,.13),transparent 72%),radial-gradient(ellipse 45% 55% at 60% 62%,rgba(140,92,255,.09),transparent 72%),rgba(8,10,14,.88);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:16px 0;z-index:50}.modal{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 90px -20px rgba(110,140,255,.18),0 30px 80px -30px rgba(0,0,0,.7);padding:28px;width:520px;max-width:92vw;margin:auto}.modal-close{position:absolute;top:14px;right:14px;width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:14px;line-height:1;cursor:pointer}.modal-close:hover{color:var(--text);background:rgba(255,255,255,.06)}.modal h2{margin:0 0 6px;font-size:19px}.modal h2.setup-title{margin:0 0 18px;font-size:24px;text-align:center}.modal p{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.5}.modal p.lead{margin-bottom:22px}.confirm-modal{width:380px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-actions button{flex:0 0 auto}.setup-section{margin-bottom:20px}.section-label{margin:0 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.modal p.section-help{margin:0 0 12px;font-size:13px}.section-label-row{gap:6px}.info-inline,.section-label-row{display:inline-flex;align-items:center}.info-inline{position:relative;line-height:1}.info-inline-pop{left:0;right:auto;max-width:280px;text-transform:none;letter-spacing:normal}.tier-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:12px}.opp-grid button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;padding:14px 12px}.opp-head{display:inline-flex;align-items:center;justify-content:center;gap:7px}.opp-icon{color:var(--muted);flex-shrink:0}.opp-grid button.selected .opp-icon{color:var(--accent)}.opp-badge{white-space:nowrap;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted)}.opp-grid button.selected .opp-badge{border-color:rgba(110,168,254,.45);background:rgba(110,168,254,.16);color:var(--accent)}.opp-detail{font-size:12px;line-height:1.35;color:var(--muted)}.tier-grid button{flex-direction:column;padding:14px 8px;text-align:center}.tier-grid button.selected{border-color:var(--accent);background:rgba(110,168,254,.12)}.tier-grid .t-name{font-weight:650;display:block}.color-grid{grid-template-columns:repeat(3,1fr);margin-bottom:0}.color-grid button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:10px 8px}.color-swatch{flex-shrink:0;color:var(--border)}.color-grid button.selected .color-swatch{color:var(--accent)}.elo-hint{margin:8px 0 0;font-size:12px;color:var(--muted);text-align:center}.elo-hint-note{display:flex;align-items:flex-start;justify-content:center;gap:6px;text-align:left}.elo-hint-icon{flex:none;display:flex;align-items:center;height:1lh}.elo-hint-icon .ce-info{cursor:default}.rating-picker{--thumb:18px}.rp-readout{display:flex;align-items:baseline;justify-content:center;gap:8px}.rp-value{font:inherit;font-size:41px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1;color:var(--text);background:transparent;border:1px solid transparent;border-radius:8px;padding:0 4px;width:3.4em;text-align:center}.rp-value:focus,.rp-value:hover{border-color:var(--border);background:var(--panel-2);outline:none}.rp-value-engine{position:relative;width:auto;color:#f2836f;text-shadow:0 0 18px rgba(248,113,113,.35)}.rp-est{position:absolute;left:100%;bottom:.32em;margin-left:3px;font-size:12px;font-weight:600;letter-spacing:.02em;text-shadow:none;opacity:.75}.modal p.rp-percent{margin:4px 0 12px;text-align:center;font-size:13px;min-height:3em}.modal p.rp-percent.rp-percent-short{padding-top:3px}.rp-percent strong{color:var(--accent)}.rp-source{color:inherit;text-decoration:none}.rp-source:hover{text-decoration:underline;-webkit-text-decoration-color:rgba(154,163,178,.5);text-decoration-color:rgba(154,163,178,.5);text-underline-offset:2px}.rp-plot{position:relative;height:150px;margin:0 calc(var(--thumb) / 2);border-bottom:1px solid var(--border);cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rp-plot svg{position:absolute;inset:0;width:100%;height:100%}.rp-area{fill:rgba(154,163,178,.14);stroke:rgba(154,163,178,.45);stroke-width:1.25}.rp-area,.rp-area-on{vector-effect:non-scaling-stroke}.rp-area-on{fill:url(#rp-fill);stroke:var(--accent);stroke-width:1.5}.rp-curve-label{top:62%;transform:translate(-50%,-50%);font-size:13px;font-weight:600;line-height:1.25;text-align:center;white-space:nowrap;color:rgba(232,234,237,.7)}.rp-curve-label,.rp-line{position:absolute;pointer-events:none}.rp-line{top:0;bottom:0;width:0;border-left:2px solid var(--accent);transform:translateX(-1px)}.rp-line:before{content:"";position:absolute;top:-4px;left:-5px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.rp-capped{bottom:0;background:repeating-linear-gradient(135deg,rgba(15,17,21,.55) 0 6px,rgba(15,17,21,.35) 6px 12px);border-left:1px dashed var(--border)}.rp-capped,.rp-zone{position:absolute;top:0;right:0}.rp-zone{bottom:-1px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;background:linear-gradient(180deg,rgba(110,168,254,.05),rgba(110,168,254,.14));border-left:1px dashed rgba(110,168,254,.4);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.rp-title{position:absolute;top:6px;bottom:0;width:0;padding:0;border:none;border-left:1px dotted rgba(232,234,237,.35);background:transparent;border-radius:0;cursor:pointer;z-index:1}.rp-title.row-1{top:24px}.rp-title.row-2{top:42px}.rp-title.row-3{top:60px}.rp-title-label{position:absolute;top:-2px;left:0;transform:translateX(-50%) translateY(-50%);padding:1px 4px;border-radius:4px;background:var(--panel);border:1px solid var(--border);font-size:10px;font-weight:700;line-height:1.2;color:var(--muted);white-space:nowrap}.rp-title.near .rp-title-label,.rp-title:focus-visible .rp-title-label,.rp-title:hover .rp-title-label{color:var(--text);border-color:var(--accent)}.rp-title:focus-visible{outline:none}.rp-tip{position:absolute;top:-30px;right:6px;z-index:2;padding:4px 8px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);font-size:11px;color:var(--text);white-space:nowrap;pointer-events:none}.rp-axis{position:relative;height:16px;margin:0 calc(var(--thumb) / 2)}.rp-axis span{position:absolute;top:2px;transform:translateX(-50%);font-size:10px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rp-axis span.rp-axis-end{transform:translateX(-100%);font-weight:700;color:var(--accent)}.rp-slider{display:block;width:100%;margin:2px 0 0;height:var(--thumb);background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.rp-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--panel-2);border:1px solid var(--border)}.rp-slider::-moz-range-track{height:4px;border-radius:2px;background:var(--panel-2);border:1px solid var(--border)}.rp-slider::-webkit-slider-thumb{-webkit-appearance:none;width:var(--thumb);height:var(--thumb);margin-top:-8px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--accent)}.rp-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--accent)}.rp-slider:focus-visible{outline:none}.rp-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(110,168,254,.45)}@media (max-width:480px){.modal{padding:22px 18px}.rp-title-label{padding:1px 3px;font-size:9px}}.setup-options{--opt-control:58px;display:flex;flex-direction:column;gap:10px}.setup-options .spoiler-row input[type=checkbox]{margin:0 calc((var(--opt-control) - 16px) / 2)}.setup-options .spoiler-row>label,.setup-options .spoiler-row>span{text-box:trim-both cap alphabetic}.takeback-select{width:var(--opt-control);height:24px;flex:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;font-size:13px;font-weight:600;text-align:center;text-align-last:center;color:var(--text);background-color:var(--panel-2);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 9px) 50%,calc(100% - 6px) 50%;background-size:3px 3px;background-repeat:no-repeat;border:1px solid var(--border);border-radius:6px;padding:0 10px 1px 2px;cursor:pointer}.takeback-select:focus-visible,.takeback-select:hover{border-color:color-mix(in srgb,var(--text) 30%,var(--border))}.takeback-select[data-pointer]{outline:none}.takeback-select[data-pointer]:not(:hover){border-color:var(--border)}.option-label{display:inline-flex;align-items:center;gap:6px}.setup-options .info-inline-pop{top:auto;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}.setup-options .info-inline-pop:before{top:auto;bottom:-8px}@media (max-width:560px){.setup-options>*{position:relative}.setup-options .info-inline{position:static}.setup-options .info-inline-pop{left:0;right:0;width:auto;max-width:none;transform:none}}.spoiler-row{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);cursor:pointer}.spoiler-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent,#5b8bb0);cursor:pointer}:root{--g-brilliant:#1bbfa6;--g-great:#5b8bb0;--g-best:#7eaa4e;--g-good:#84a667;--g-miss:#e0813f;--g-inaccuracy:#e6b53e;--g-mistake:#e07f3a;--g-blunder:#e0533f;--g-forced:#84a667}.glyph-brilliant{color:var(--g-brilliant)}.glyph-great{color:var(--g-great)}.glyph-best{color:var(--g-best)}.glyph-good{color:var(--g-good)}.glyph-miss{color:var(--g-miss)}.glyph-inaccuracy{color:var(--g-inaccuracy)}.glyph-mistake{color:var(--g-mistake)}.glyph-blunder{color:var(--g-blunder)}.glyph-forced{color:var(--g-forced)}.coach-verdict{display:flex;align-items:center;gap:9px;margin-bottom:9px}.coach-verdict .glyph-chip{margin-top:0;border-radius:7px;box-shadow:0 0 14px -2px color-mix(in srgb,var(--tone) 70%,transparent)}.coach-verdict-name{font-size:11.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--tone)}.coach-verdict-move{padding:0;margin-right:-4px;border:0;background:none;font:inherit;font-size:11.5px;font-weight:750;letter-spacing:.08em;color:var(--tone);cursor:default}.coach-verdict-move:focus{outline:none}.coach-verdict-move:focus-visible{outline:1px solid color-mix(in srgb,var(--tone) 60%,transparent);outline-offset:2px;border-radius:3px}.coach-text{min-width:0}.coach-thinking{margin-bottom:4px}.ct-caption{display:flex;align-items:center;gap:7px;min-height:20px;font-size:13.5px;font-weight:550;color:var(--text)}.ct-spark{flex:none;display:inline-flex;color:var(--tone);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--tone) 70%,transparent));animation:ct-spark 2.4s ease-in-out infinite}.ct-stage{background:linear-gradient(100deg,var(--text) 0,var(--text) 40%,color-mix(in srgb,var(--tone) 55%,#fff) 50%,var(--text) 60%,var(--text) 100%) 0 0 /250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ct-stage-in .45s cubic-bezier(.2,.7,.2,1) both,ct-sheen 2.6s linear .45s infinite}.ct-dots{display:inline-flex;gap:3px;margin-left:1px}.ct-dots i{width:3.5px;height:3.5px;border-radius:50%;background:var(--tone);animation:ct-dot 1.2s ease-in-out infinite}.ct-dots i:nth-child(2){animation-delay:.15s}.ct-dots i:nth-child(3){animation-delay:.3s}.ct-track{display:flex;gap:4px;margin:9px 0 13px}.ct-track i{position:relative;flex:1 1;height:3px;border-radius:2px;overflow:hidden;background:var(--panel-2);transition:background .5s ease}.ct-track i.done{background:color-mix(in srgb,var(--tone) 75%,transparent)}.ct-track i.on{background:color-mix(in srgb,var(--tone) 22%,var(--panel-2))}.ct-track i.on:after{content:"";position:absolute;inset:0;width:45%;background:linear-gradient(90deg,transparent,var(--tone),transparent);animation:ct-run 1.3s ease-in-out infinite}.ct-lines{display:flex;flex-direction:column;gap:10px;padding:2px 0 4px;opacity:.35;filter:blur(4px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),filter .9s cubic-bezier(.2,.7,.2,1)}.ct-lines[data-step="1"]{opacity:.55;filter:blur(2.6px)}.ct-lines[data-step="2"]{opacity:.8;filter:blur(1.2px)}.ct-lines[data-step="3"]{opacity:1;filter:blur(0)}.coach-thinking.is-retrying .ct-lines{opacity:.25;filter:blur(4px) grayscale(.6)}.ct-try{font-weight:450;-webkit-text-fill-color:var(--muted)}.ct-slow,.ct-try{color:var(--muted)}.ct-slow{margin-top:3px;padding-left:21px;font-size:12px;animation:ct-stage-in .4s ease both}.ct-retry{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border-radius:9px;background:color-mix(in srgb,var(--nudge) 9%,var(--panel-2));border:1px solid color-mix(in srgb,var(--nudge) 30%,transparent);animation:ct-retry-in .35s cubic-bezier(.2,.7,.2,1) both}.ct-retry-icon{flex:none;display:inline-flex;margin-top:1px;color:var(--nudge);animation:coach-retry-spin 1.1s linear infinite}.ct-retry-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.ct-retry-title{font-size:13px;font-weight:600;color:var(--text)}.ct-retry-sub{font-size:12px;color:var(--muted)}.ct-retry-countdown{margin-top:6px;height:2px;border-radius:1px;background:var(--nudge);transform-origin:left center;animation:ct-drain var(--wait,1.5s) linear both}.ct-line{display:flex;gap:6px}.ct-line:last-child{width:62%}.ct-word{flex:1 1;height:9px;border-radius:5px;background:color-mix(in srgb,var(--tone) 14%,var(--panel-2));animation:ct-wave 2.6s ease-in-out infinite;animation-delay:calc(var(--d) * 85ms)}.coach-text.rewriting .coach-insight,.coach-text.rewriting .coach-praise{opacity:.4;filter:blur(.6px);transition:opacity .4s,filter .4s}.ct-rewrite{margin-bottom:8px;font-size:12.5px}.rv{display:inline-block;animation:rv-in .28s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * var(--rv-step, 12ms))}@keyframes rv-in{0%{opacity:0;filter:blur(5px);transform:translateY(3px)}to{opacity:1;filter:none;transform:none}}@keyframes ct-retry-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@keyframes ct-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ct-wave{0%,55%,to{background:color-mix(in srgb,var(--tone) 14%,var(--panel-2));box-shadow:none}25%{background:color-mix(in srgb,var(--tone) 60%,var(--panel-2));box-shadow:0 0 10px -1px color-mix(in srgb,var(--tone) 55%,transparent)}}@keyframes ct-stage-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes ct-sheen{0%{background-position:100% 0}to{background-position:-150% 0}}@keyframes ct-spark{0%,to{transform:rotate(0deg) scale(.85);opacity:.75}50%{transform:rotate(90deg) scale(1.1);opacity:1}}@keyframes ct-dot{0%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes ct-run{0%{transform:translateX(-110%)}to{transform:translateX(240%)}}@media (prefers-reduced-motion:reduce){.ct-dots i,.ct-retry,.ct-retry-icon,.ct-slow,.ct-spark,.ct-stage,.ct-track i.on:after,.ct-word,.rv{animation:none}.ct-lines{transition:none}.ct-stage{color:var(--text)}}.glyph-chip{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border-radius:6px;font-weight:800;font-size:13px;color:#fff;background:var(--g-good);animation:glyph-pop .35s cubic-bezier(.18,1.5,.5,1) both}.glyph-chip.brilliant{background:var(--g-brilliant)}.glyph-chip.great{background:var(--g-great)}.glyph-chip.best{background:var(--g-best)}.glyph-chip.good{background:var(--g-good)}.glyph-chip.miss{background:var(--g-miss)}.glyph-chip.inaccuracy{background:var(--g-inaccuracy);color:#3a2c00}.glyph-chip.mistake{background:var(--g-mistake)}.glyph-chip.blunder{background:var(--g-blunder)}.glyph-chip.forced{background:var(--g-forced)}.glyph-chip.big{animation:glyph-pop-big .5s cubic-bezier(.18,1.6,.4,1) both}.board-wrap{position:relative}.board-overlay{container-type:size;z-index:5}.arrow-overlay,.board-overlay{position:absolute;inset:0;pointer-events:none}.arrow-overlay{width:100%;height:100%;z-index:4;animation:arrow-in .22s ease-out}@keyframes arrow-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.arrow-overlay{animation:none}}.arrow-badges{position:absolute;inset:0;pointer-events:none;container-type:size;z-index:6;animation:arrow-in .22s ease-out}.arrow-badge{position:absolute;transform:translate(-50%,-50%);min-width:4.6cqw;height:4.6cqw;padding:0 .8cqw;box-sizing:border-box;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:2.9cqw;line-height:1;color:#fff;border:.5cqw solid rgba(255,255,255,.95);box-shadow:0 1px 4px rgba(0,0,0,.45)}.arrow-neutral{filter:drop-shadow(0 0 .35px rgba(15,17,21,.85)) drop-shadow(0 .3px .8px rgba(0,0,0,.35))}.arrow-badge.neutral{color:#1f232c}@media (prefers-reduced-motion:reduce){.arrow-badges{animation:none}}.sq-glyph{position:absolute;transform:translate(-50%,-50%) scale(0);width:9cqw;height:9cqw;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:5cqw;color:#fff;background:var(--g-good);border:.6cqw solid rgba(255,255,255,.9);box-shadow:0 2px 6px rgba(0,0,0,.35);animation:sq-pop .7s forwards}.sq-glyph.brilliant{background:var(--g-brilliant)}.sq-glyph.great{background:var(--g-great)}.sq-glyph.best{background:var(--g-best)}.sq-glyph.good{background:var(--g-good)}.sq-glyph.miss{background:var(--g-miss)}.sq-glyph.inaccuracy{background:var(--g-inaccuracy);color:#3a2c00}.sq-glyph.mistake{background:var(--g-mistake)}.sq-glyph.blunder{background:var(--g-blunder)}.sq-glyph.forced{background:var(--g-forced)}.sq-glyph.big{animation:sq-pop .75s forwards,sq-glow 1.6s ease-in-out .7s infinite}@keyframes glyph-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes glyph-pop-big{0%{transform:scale(.3) rotate(-8deg);opacity:0}60%{transform:scale(1.18) rotate(3deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes sq-pop{0%{transform:translate(-50%,-50%) scale(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}40%{transform:translate(-50%,-50%) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}to{transform:translate(calc(-50% + 5.5cqw),calc(-50% - 5.5cqw)) scale(.55)}}@keyframes sq-glow{0%,to{box-shadow:0 2px 6px rgba(0,0,0,.35)}50%{box-shadow:0 0 16px 3px currentColor}}.promo-overlay{position:absolute;inset:0;z-index:8;container-type:size;background:rgba(8,10,15,.45);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:result-fade .14s ease forwards}.promo-piece{position:absolute;width:12.5%;height:12.5%;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;background:#f8fafc;border:.4cqw solid rgba(8,10,15,.25);cursor:pointer;transition:background .12s ease,transform .12s ease}.promo-piece>span{display:block;width:82%;height:82%}.promo-piece:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}.promo-piece:focus-visible,.promo-piece:hover{background:#ffffff;border-color:rgba(8,10,15,.35);box-shadow:0 .6cqw 1.6cqw rgba(8,10,15,.5);transform:scale(1.07);outline:none;z-index:1}.result-overlay{position:absolute;inset:0;z-index:10;container-type:size;justify-content:center;padding:16px;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--tone) 16%,transparent),transparent 62%),rgba(8,10,15,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:result-fade .3s ease both}.result-card,.result-overlay{display:flex;align-items:center}.result-card{position:relative;flex-direction:column;text-align:center;width:min(340px,100%);max-height:100%;padding:clamp(18px,5cqmin,30px) clamp(16px,5cqmin,28px) clamp(16px,4cqmin,24px);border-radius:18px;border:1px solid color-mix(in srgb,var(--tone) 35%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--tone) 12%,transparent),transparent 55%),color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 0 0 1px rgba(255,255,255,.03) inset,0 0 60px -10px color-mix(in srgb,var(--tone) 45%,transparent),0 24px 60px -12px rgba(0,0,0,.75);overflow:hidden;animation:result-pop .45s cubic-bezier(.2,1.2,.4,1) both}.result-card:before{content:"";position:absolute;top:0;left:12%;right:12%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--tone),transparent);box-shadow:0 0 14px var(--tone)}.result-card:after{content:"";position:absolute;inset:-20% auto -20% 0;width:40%;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--tone) 18%,rgba(255,255,255,.08)),transparent);transform:translateX(-120%) skewX(-12deg);pointer-events:none;animation:result-sweep 1.1s cubic-bezier(.4,0,.2,1) .3s forwards}.result-hero{position:relative;flex-direction:column;margin-bottom:clamp(8px,2.5cqmin,14px)}.result-hero,.result-kicker{display:flex;align-items:center}.result-kicker{gap:10px;font-size:11px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--tone);margin-bottom:4px;opacity:0;animation:result-kicker .6s ease .15s forwards}.result-kicker:after,.result-kicker:before{content:"";width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--tone))}.result-kicker:after{transform:scaleX(-1)}.result-centre{position:relative;font-size:clamp(40px,13cqmin,60px);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:#f4f7ff;text-shadow:0 0 8px var(--tone),0 0 26px color-mix(in srgb,var(--tone) 60%,transparent);opacity:0;animation:result-land .6s cubic-bezier(.2,1.5,.4,1) .3s forwards}.result-overlay.loss .result-centre{animation-timing-function:cubic-bezier(.3,1.1,.4,1)}.result-line{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-bottom:clamp(10px,3cqmin,16px);font-size:12.5px;font-weight:600}.result-line span{padding:2px 7px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);opacity:0;animation:result-up .35s ease forwards}.result-line .mine{color:#e8eefc;border-color:color-mix(in srgb,var(--tone) 30%,var(--border))}.result-line .theirs{color:#8c96ab}.result-line .num{padding:2px 0;background:none;border-color:transparent;color:#5d6679;font-weight:500}.result-sparks{position:absolute;left:50%;top:60%;width:0;height:0;pointer-events:none}.result-sparks i{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--celebrate);box-shadow:0 0 10px 2px currentColor;color:var(--celebrate);opacity:0;transform:rotate(var(--a)) translateY(-14px);animation:result-spark 1.2s cubic-bezier(.1,.7,.3,1) var(--delay) forwards}.result-sparks i.hue-1{background:var(--nudge);color:var(--nudge);width:4px;height:4px}.result-sparks i.hue-2{background:var(--accent);color:var(--accent)}.result-detail,.result-newgame,.result-title{opacity:0;animation:result-up .5s ease forwards}.result-title{position:relative;font-size:clamp(22px,6cqmin,32px);font-weight:800;letter-spacing:-.02em;margin-bottom:4px;color:var(--tone);text-shadow:0 0 24px color-mix(in srgb,var(--tone) 45%,transparent);animation-delay:.6s}.result-overlay.draw .result-title{color:var(--text)}.result-detail{color:var(--muted);font-size:14px;line-height:1.45;margin-bottom:clamp(12px,3.5cqmin,20px);animation-delay:.7s}.result-newgame{animation-delay:.8s}.result-continue,.result-newgame{position:relative;width:min(260px,100%)}.result-continue{margin-top:8px;border-color:transparent;background:none;color:var(--muted);font-size:13px;opacity:0;animation:result-up .5s ease forwards;animation-delay:.9s}.result-continue:hover{color:var(--text)}.result-close{position:absolute;top:8px;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;font-size:22px;line-height:1;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);z-index:2}.result-close:hover{color:var(--text);border-color:var(--border);background:var(--panel-2)}@keyframes result-fade{0%{opacity:0}to{opacity:1}}@keyframes result-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes result-sweep{to{transform:translateX(380%) skewX(-12deg)}}@keyframes result-kicker{0%{opacity:0;letter-spacing:.6em}to{opacity:1;letter-spacing:.32em}}@keyframes result-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes result-land{0%{opacity:0;transform:scale(1.8);filter:blur(4px)}to{opacity:1;transform:scale(1)}}@keyframes result-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(-14px)}to{opacity:0;transform:rotate(var(--a)) translateY(calc(-14px - var(--d)))}}@media (prefers-reduced-motion:reduce){.result-card,.result-centre,.result-continue,.result-detail,.result-kicker,.result-line span,.result-newgame,.result-overlay,.result-title{animation:none;opacity:1}.result-card:after,.result-sparks{display:none}}.discuss-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:500;line-height:1;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--muted);transition:background .15s,border-color .15s,color .15s}.discuss-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.discuss-btn:disabled{opacity:.45;cursor:not-allowed}.board-col-wrap{--board-size:min(calc(100vh - var(--chrome)),calc(100vw - 480px),1040px);display:flex;flex-direction:column;gap:14px;flex:0 0 auto;min-width:0;position:relative}.opp-bar{position:absolute;left:calc(100% - var(--board-size));bottom:100%;margin-bottom:8px;width:-moz-fit-content;width:fit-content;max-width:var(--board-size);height:26px;display:flex;align-items:center;gap:8px;padding:0;border:0;border-radius:6px;background:none;font-size:13px;line-height:1;text-align:left;white-space:nowrap;min-width:0}.opp-bar.player-bar{position:static;margin:0;cursor:default}.opp-bar-avatar{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);transition:border-color .15s}.opp-bar-avatar .opp-icon{width:15px;height:15px}.opp-bar:focus-visible .opp-bar-avatar,.opp-bar:not(.player-bar):hover .opp-bar-avatar{border-color:var(--accent)}.opp-bar:focus-visible .opp-icon,.opp-bar:not(.player-bar):hover .opp-icon{color:var(--accent)}.opp-bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.opp-bar-name{font-weight:600}.opp-bar-rating{padding:3px 6px;border-radius:5px;background:var(--panel-2);color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.opp-bar-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.opp-bar-thinking{display:none;gap:3px;padding-right:4px}.opp-bar-thinking i{width:4px;height:4px;border-radius:50%;background:var(--muted)}.opp-bar.thinking .opp-bar-thinking{display:flex}.opp-bar.thinking .opp-bar-thinking i{animation:opp-think 1s ease-in-out infinite}.opp-bar.thinking .opp-bar-thinking i:nth-child(2){animation-delay:.15s}.opp-bar.thinking .opp-bar-thinking i:nth-child(3){animation-delay:.3s}@keyframes opp-think{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.opp-bar.thinking .opp-bar-thinking i{animation:none}}.chat-panel{align-self:flex-end;width:var(--board-size);animation:chat-open .2s ease forwards}@keyframes chat-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.chat-card{display:flex;flex-direction:column;width:100%;max-height:460px;background:var(--panel);border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:14px;box-shadow:0 10px 32px rgba(0,0,0,.4);overflow:hidden}.chat-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.chat-title{flex:1 1;font-weight:600;font-size:15px}.chat-close{border:none;background:transparent;color:var(--muted);padding:4px 8px;font-size:15px}.chat-close:hover{color:var(--text);border-color:transparent}.chat-messages{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:82%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.5}.chat-msg p{margin:0}.chat-msg p+p{margin-top:8px}.chat-msg.coach{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-msg.user{align-self:flex-end;background:var(--accent);color:#0b1020;border-bottom-right-radius:4px}.chat-tool-chip{font-size:12px;color:var(--muted);font-style:italic}.chat-error{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.chat-retry{font:inherit;font-size:13px;padding:5px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}.chat-retry:hover{border-color:var(--accent)}.chat-typing{display:inline-flex;gap:4px;align-items:center}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:chat-bounce 1.2s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.18s}.chat-typing span:nth-child(3){animation-delay:.36s}@keyframes chat-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.chat-input input{flex:1 1;min-width:0;font:inherit;font-size:14px;padding:9px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text)}.chat-input input:focus{outline:none;border-color:var(--accent)}.chat-msg>span>:first-child,.chat-msg>span>p:first-child{margin-top:0}.chat-msg p{margin:0 0 8px}.chat-msg p:last-child{margin-bottom:0}.chat-msg strong{font-weight:650}.chat-msg ol,.chat-msg ul{margin:6px 0;padding-left:18px}.chat-msg li{margin:2px 0}@media (min-width:1400px) and (min-aspect-ratio:8/5),(min-width:1900px){.layout{--evalbar-space:0px;grid-template-columns:330px auto calc(330px + var(--evalbar-space));grid-template-rows:auto 1fr;grid-template-areas:"opening board side" "opening board foot"}.layout:has(.evalbar){--evalbar-space:calc(clamp(22px, 2.2vmin, 30px) + 10px)}.opening-col:empty{display:block}.layout>.sidebar{width:auto}.board-col-wrap{--board-size:min(calc(100vh - var(--chrome)),calc(100vw - 804px - var(--evalbar-space)),1040px)}}@media (min-width:901px) and (max-height:860px){.app{padding-top:14px;--chrome:150px}.site-header{margin-bottom:14px}.site-title{font-size:24px}.site-rule{margin-top:8px}.layout{padding-top:30px}}@media (max-height:500px) and (orientation:landscape),(max-width:900px){.app{width:100%;--gutter:clamp(14px,2.5vw,24px);padding-inline:var(--gutter)}.layout{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2vw,24px);padding-top:0;--evalbar-w:22px;--evalbar-gap:10px;--evalbar-space:0px}.layout:has(.evalbar){--evalbar-space:calc(var(--evalbar-w) + var(--evalbar-gap))}.layout>*{--stack-board:min(calc(100vw - 2 * var(--gutter) - var(--evalbar-space)),max(78svh,300px),720px)}.layout>.board-col-wrap{--board-size:var(--stack-board);width:100%;align-items:center}.board-col{gap:var(--evalbar-gap);justify-content:center}.evalbar{width:var(--evalbar-w)}.board-col .board-wrap{flex:0 1 auto;min-width:0}.chat-panel{align-self:center;width:calc(var(--board-size) + var(--evalbar-space));max-width:100%}.opp-bar{position:static;margin-bottom:-6px;align-self:flex-start;margin-left:calc((100% - var(--board-size) - var(--evalbar-space)) / 2 + var(--evalbar-space))}.board-tools{display:none}.board-foot{align-self:stretch;margin-left:calc((100% - var(--board-size) - var(--evalbar-space)) / 2 + var(--evalbar-space))}.action-row .copy-btn{display:inline-flex}.action-row:not(:has(.takeback-btn)){display:flex}.opening-col:empty{display:none}.layout>.opening-col,.layout>.sidebar-foot{margin-top:calc(14px - clamp(14px, 2vw, 24px))}.layout>.opening-col,.layout>.sidebar,.layout>.sidebar-foot{flex:none;width:calc(var(--stack-board) + var(--evalbar-space));max-width:100%;min-width:0}}@media (max-width:480px){.app{--gutter:8px;padding-top:12px;padding-bottom:32px}.layout{--evalbar-gap:6px}.coach-card{padding:14px}.coach-orb-wrap{--orb-size:104px;margin:6px 0 10px}}