@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,800&family=JetBrains+Mono:wght@400;700&display=swap";:root,[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink-0:#0d1114;--ink-1:#141a1e;--ink-2:#232c32;--ink-3:#3a444b;--text:#e6ecef;--text-dim:#8a979f;--good:#2dd4bf;--warn:#f5a524;--bad:#ef5350;--mistake:#ff8a3d;--excellent:#7be0a4;--bg:var(--ink-0);--ink:var(--text);--muted:var(--text-dim);--panel:var(--ink-1);--line:var(--ink-2);--brand:var(--good);--brand-soft:var(--excellent);--accent:var(--warn);--danger:var(--bad);--shadow:none;--radius:12px;--sq-light:#3a444b;--sq-dark:#232c32;--bar-track:#1d252a;--hover:#1c252a;--selected:#1f4a47;--eval-track:#10161a;--graph-zero:#2a343a;--coach-face-bg:#1d2b33;--tag-bad-bg:#4a1f1f;--tag-bad-fg:#ff8a80;--tag-bad-border:#7a2c2c;--tag-good-bg:#12332d;--tag-good-border:#1d5a50;--tag-warn-bg:#3d2f10;--tag-warn-border:#6b4f12;--eval-label-bg:#0d1114eb;--eval-label-fg:#e6ecef;--eval-label-border:transparent;--eval-label-shadow:none;--font-display:"Bricolage Grotesque", sans-serif;--font-mono:"JetBrains Mono", monospace;--spring-ui:.18s;--spring-piece:.32s;--freeze:90ms;--ui-scale:1.2;--vh:calc(100dvh / var(--ui-scale));--vw:calc(100vw / var(--ui-scale));font-family:var(--font-display);color:var(--text);background:var(--ink-0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:500;line-height:1.45}[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink-0:#f3f5f7;--ink-1:#fff;--ink-2:#d7dee3;--ink-3:#e8eef2;--text:#1a2228;--text-dim:#66757f;--good:#0f9f8a;--warn:#c47d0e;--bad:#d64545;--mistake:#d97706;--excellent:#2f9e6a;--sq-light:#e8eef2;--sq-dark:#b7c4cc;--bar-track:#e4eaee;--hover:#eef3f6;--selected:#d5f3ee;--eval-track:#cfd8de;--graph-zero:#c9d3d9;--coach-face-bg:#d9e6ec;--tag-bad-bg:#fde8e6;--tag-bad-fg:#c62828;--tag-bad-border:#f0b4b0;--tag-good-bg:#e4f6f2;--tag-good-border:#9ed9ce;--tag-warn-bg:#fff3de;--tag-warn-border:#efd0a0;--eval-label-bg:#fffffff5;--eval-label-fg:#1a2228;--eval-label-border:#d7dee3;--eval-label-shadow:0 1px 4px #1a22282e}*{box-sizing:border-box}html{zoom:var(--ui-scale)}html,body,#root{background:var(--ink-0);height:100%;min-height:100%;color:var(--text);margin:0}body{min-height:var(--vh);overflow:hidden}:is(body:has(.page.home),body:has(.page.sandbox)){overflow:auto}a{color:var(--good);text-decoration:none}a:hover{text-decoration:underline}h1,h2,.brand{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800}.mono,.move-san,.move-num,.move-delta,.fighter-accuracy,.loading-counter,.chapter-meta,.chip.mono{font-family:var(--font-mono)}.app-shell{min-height:var(--vh);max-width:none;margin:0;padding:0}:is(.app-shell:has(.page.home),.app-shell:has(.page.sandbox)){max-width:960px;margin:0 auto;padding:1.25rem 1rem 3rem}.page{gap:1.25rem;display:grid}.hero{padding:.5rem 0 .25rem}.brand{color:var(--good);text-transform:lowercase;margin:0;font-size:1.05rem}.hero h1,.review-title,.loading-title{margin:.2rem 0 .4rem;font-size:clamp(1.8rem,4vw,2.6rem)}.lede{max-width:38rem;color:var(--text-dim);margin:0;font-size:1.05rem}.panel{background:var(--ink-1);border:1px solid var(--ink-2);border-radius:var(--radius);padding:1rem 1.1rem 1.2rem}.panel h2{margin:0 0 .75rem;font-size:1.2rem}.pgn-import{gap:.65rem;display:grid}.pgn-import label{font-weight:600}.pgn-import textarea{resize:vertical;border:1px solid var(--ink-2);width:100%;font:inherit;font-family:var(--font-mono);background:var(--ink-0);color:var(--text);border-radius:10px;padding:.85rem .95rem}.pgn-import textarea:focus{outline:2px solid color-mix(in srgb, var(--good) 45%, transparent);border-color:var(--good)}.pgn-actions{flex-wrap:wrap;gap:.6rem;display:flex}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.55rem 1rem;font-weight:600;transition:transform .16s ease-out}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--good);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.05)}.btn.ghost{border-color:var(--ink-2);color:var(--text);background:0 0}.btn.ghost:hover:not(:disabled){border-color:var(--text-dim)}.btn.ghost.active{background:var(--ink-2);border-color:var(--good);color:var(--good)}.form-error{color:var(--bad);margin:0;font-weight:600}.muted,.hint{color:var(--text-dim)}.game-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.game-card,.game-list a{background:var(--ink-0);color:inherit;border:1px solid var(--ink-2);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .8rem;text-decoration:none;display:flex}.game-card:hover,.game-list a:hover{border-color:var(--text-dim)}.game-card-main{gap:.15rem;display:grid}.game-title{font-weight:600}.game-meta{color:var(--text-dim);font-size:.92rem}.accuracy-rings{gap:.4rem;display:flex}.ring{width:2.4rem;height:2.4rem;font-family:var(--font-mono);border:2px solid;border-radius:999px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.ring.good{color:var(--good)}.ring.warn{color:var(--warn)}.review-hud{height:var(--vh);background:var(--ink-0);flex-direction:column;gap:14px;padding:16px 20px;display:flex;overflow:hidden}.review-topbar{align-items:baseline;gap:12px;min-width:0;display:flex}.review-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:800;overflow:hidden}.back{width:fit-content;color:var(--text-dim);font-weight:600}.back:hover{color:var(--text);text-decoration:none}.theme-toggle{background:var(--ink-1);border:1px solid var(--ink-2);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin-left:auto;padding:3px;display:inline-grid}.theme-toggle button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.theme-toggle button.active{background:var(--ink-0);color:var(--text);box-shadow:inset 0 0 0 1px var(--ink-2)}[data-theme=day] .theme-toggle button.active{background:var(--ink-3)}.card{background:var(--ink-1);border:1px solid var(--ink-2);border-radius:10px;min-height:0;padding:14px 16px}.fighters{flex:none;grid-template-columns:1fr 1fr;gap:14px;display:grid}.fighter{background:var(--ink-1);border:1px solid var(--ink-2);border-radius:10px;padding:10px 14px}.fighter.winner{border-color:var(--good)}.fighter-black.winner{border-color:var(--warn)}.fighter-meta{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.fighter-name{font-size:.95rem}.fighter-rating,.fighter-side{color:var(--text-dim);margin-left:6px;font-size:.8rem;font-weight:500}.fighter-accuracy{color:var(--text);font-size:26px;font-weight:700;line-height:1}.fighter-white .fighter-accuracy{color:var(--good)}.fighter-black .fighter-accuracy{color:var(--warn)}.fighter-pct{color:var(--text-dim);margin-left:.1rem;font-size:.9rem}.fighter-hp{background:var(--bar-track);border-radius:6px;height:10px;margin-top:6px;position:relative;overflow:hidden}.fighter-hp-ghost,.fighter-hp-fill{border-radius:6px;height:100%;position:absolute;inset:0 auto 0 0}.fighter-hp-ghost.good{background:color-mix(in srgb, var(--good) 35%, transparent)}.fighter-hp-ghost.warn{background:color-mix(in srgb, var(--warn) 35%, transparent)}.fighter-hp-fill.good{background:var(--good)}.fighter-hp-fill.warn{background:var(--warn)}.review-main{flex:1;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:18px;min-height:0;display:grid}.board-column{--b:min(620px, calc(var(--vh) - 290px));flex-direction:column;gap:12px;min-height:0;display:flex}.board-with-eval{width:calc(var(--b) + 22px);align-items:stretch;gap:8px;display:flex}.board-stage{width:var(--b);height:var(--b);flex:none;position:relative}.board-wrap{aspect-ratio:1;border-radius:6px;width:100%;height:100%;position:relative;overflow:hidden}.board-badge{pointer-events:none;width:12.5%;height:12.5%;color:var(--text);place-items:end;padding:2px;display:grid;position:absolute}.board-flash{pointer-events:none;opacity:0;width:12.5%;height:12.5%;position:absolute}.board-flash.blunder{background:color-mix(in srgb, var(--bad) 85%, transparent)}.board-flash.brilliant{background:color-mix(in srgb, var(--good) 70%, transparent)}.flash-hit-target,.blunder-float{pointer-events:none;opacity:0;position:absolute;top:40%;left:50%}.blunder-float{color:var(--bad);font-size:1.1rem;font-weight:800;transform:translate(-50%)}.nav-controls{width:var(--b);grid-template-columns:repeat(5,1fr);gap:8px;margin-left:22px;display:grid}.nav-controls .btn{background:var(--ink-1);border-color:var(--ink-2);border-radius:8px;padding:9px 0;font-size:.85rem}.nav-controls .btn:hover:not(:disabled){border-color:var(--good)}.nav-controls .btn.active{color:var(--good);border-color:var(--good);background:0 0}.side-column{grid-template-rows:auto minmax(0,1fr) 110px;gap:14px;min-width:0;min-height:0;display:grid}.coach{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 16px;display:grid}.coach-face{background:var(--coach-face-bg);border:1px solid var(--ink-2);transform-origin:bottom;border-radius:14px;flex:none;width:84px;height:84px;position:relative;overflow:hidden}.coach-portrait{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.coach-lid{opacity:0;transform-origin:top;z-index:2;background:#f5f5f5;border-radius:2px;width:14%;height:10%;position:absolute;top:34%}.coach-lid.left{left:32%}.coach-lid.right{right:32%}.coach-face.mood-idle .coach-lid,.coach-face.mood-think .coach-lid{animation:4.2s ease-in-out infinite coach-blink}.coach-lid.right{animation-delay:40ms}@keyframes coach-blink{0%,92%,to{opacity:0;transform:scaleY(.15)}94%,96%{opacity:1;transform:scaleY(1)}}.coach-mouth{z-index:3;height:22%;position:absolute;bottom:14%;left:28%;right:28%;overflow:visible}.coach-face.talking .coach-mouth-open{animation:.22s ease-in-out infinite alternate coach-talk}@keyframes coach-talk{0%{transform:scaleY(.55)}to{transform:scaleY(1.15)}}.coach-face.mood-idle{animation:3.6s ease-in-out infinite coach-idle-float}@keyframes coach-idle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.coach-face.mood-cheer{animation:.55s ease-out coach-cheer}@keyframes coach-cheer{0%{transform:scale(1)}40%{transform:scale(1.08)translateY(-2px)}to{transform:scale(1)}}.coach-face.mood-wince{animation:.45s ease-in-out coach-wince}@keyframes coach-wince{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-3px)rotate(-4deg)}40%{transform:translate(3px)rotate(3deg)}60%{transform:translate(-2px)rotate(-2deg)}}.coach-face.mood-think{animation:2.4s ease-in-out infinite coach-think}@keyframes coach-think{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)translate(1px)}}.coach-think-dot{background:var(--warn);width:7px;height:7px;box-shadow:5px -4px 0 -1px var(--warn), 9px -8px 0 -2px var(--warn);z-index:4;border-radius:50%;position:absolute;top:4px;right:4px}.coach-sweat{z-index:4;background:#7ec8e3;border-radius:50% 50% 50% 0;width:5px;height:9px;animation:.7s ease-in infinite coach-sweat-drop;position:absolute;top:18%;left:6px;transform:rotate(-35deg)}@keyframes coach-sweat-drop{0%{opacity:0;transform:rotate(-35deg)translateY(-4px)}to{opacity:1;transform:rotate(-35deg)translateY(6px)}}@media (prefers-reduced-motion:reduce){.coach-face,.coach-face.mood-idle .coach-lid,.coach-face.talking .coach-mouth-open,.coach-sweat{animation:none!important}}.coach-main{min-width:0}.coach-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.coach-move{color:var(--text-dim);font-size:.9rem}.coach-say{margin:0;font-size:19px;font-weight:600;line-height:1.35}.coach-say.muted{color:var(--text-dim);font-size:.95rem;font-weight:500}.tag{background:var(--tag-bad-bg);color:var(--tag-bad-fg);border:1px solid var(--tag-bad-border);border-radius:6px;padding:2px 10px;font-size:12px;font-weight:700}.tag.good{background:var(--tag-good-bg);color:var(--good);border-color:var(--tag-good-border)}.tag.warn{background:var(--tag-warn-bg);color:var(--warn);border-color:var(--tag-warn-border)}.coach-ctrl{flex-direction:column;gap:8px;min-width:170px;display:flex}.coach-ctrl-row{gap:8px;display:flex}.coach-ctrl-row .btn{background:var(--ink-0);border-color:var(--ink-2);flex:1;padding:7px 0;font-size:.8rem}.coach-ctrl-row .btn.active{color:var(--good);border-color:var(--good);background:0 0}.coach-volume-label{color:var(--text-dim);align-items:center;gap:8px;font-size:12px;display:flex}.coach-volume{accent-color:var(--good);flex:1}.coach-audio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.side-lists{grid-template-columns:3fr 2fr;gap:14px;min-height:0;display:grid}.side-card{flex-direction:column;min-height:0;padding:12px 14px;display:flex}.side-card-scroll{flex:1;min-height:0;overflow:auto}.side-section-label{color:var(--text-dim);letter-spacing:0;margin:0 0 8px;font-size:13px;font-weight:600}.chapters{gap:0;display:grid}.chapter-card{text-align:left;border:0;border-bottom:1px solid var(--ink-2);width:100%;color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:0;padding:9px 4px;font-weight:600;display:block}.chapter-card:hover,.chapter-card.active{color:var(--good)}.chapter-title{font-size:.88rem;font-weight:600;display:block}.chapter-meta{color:var(--text-dim);margin-top:2px;font-size:.75rem;font-weight:400;display:block}.chapter-swing.hot{color:var(--bad);font-weight:600}.move-list{background:0 0;border:0;border-radius:0;gap:2px;min-height:0;padding:0;display:grid}.move-row{grid-template-columns:38px 1fr 1fr;align-items:center;gap:2px;display:grid}.move-num{color:var(--text-dim);text-align:left;padding:6px 8px;font-size:13px}.move-item{text-align:left;font:inherit;cursor:pointer;color:inherit;min-height:0;font-family:var(--font-mono);background:0 0;border:none;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.25rem .35rem;padding:6px 8px;font-size:13px;display:flex}.move-icon-wrap{flex:none;place-items:center;width:16px;height:16px;display:grid}.move-san{font-weight:600}.move-delta{color:var(--bad);margin-left:2px;font-size:11px}.move-item:hover{background:var(--hover)}.move-item.active{background:var(--selected);font-weight:700}.move-item.start,.move-item.book-collapse{grid-column:1/-1;width:100%}.class-icon-brilliant,.class-icon-best,.label-best,.label-brilliant{color:var(--good)}.class-icon-excellent,.label-excellent{color:var(--excellent)}.class-icon-good,.label-good,.class-icon-book,.label-book{color:var(--text-dim)}.class-icon-inaccuracy,.label-inaccuracy{color:var(--warn)}.class-icon-mistake,.label-mistake{color:var(--mistake)}.class-icon-blunder,.label-blunder{color:var(--bad)}.badge.label-book{background:var(--ink-2);color:var(--text-dim)}.badge.label-best,.badge.label-excellent,.badge.label-good,.badge.label-brilliant{background:color-mix(in srgb, var(--good) 20%, var(--ink-2));color:var(--good)}.badge.label-inaccuracy{background:color-mix(in srgb, var(--warn) 20%, var(--ink-2));color:var(--warn)}.badge.label-mistake{background:color-mix(in srgb, var(--mistake) 20%, var(--ink-2));color:var(--mistake)}.badge.label-blunder{background:color-mix(in srgb, var(--bad) 20%, var(--ink-2));color:var(--bad)}.graph-card{align-items:stretch;padding:8px 14px;display:grid}.eval-timeline{height:100%;min-height:0}.eval-timeline-svg{cursor:pointer;width:100%;height:100%;min-height:84px;display:block}.timeline-zero{stroke:var(--graph-zero);stroke-dasharray:4 6}.timeline-path{stroke:var(--good);stroke-width:2.5px}.timeline-chapter{stroke:var(--warn);stroke-width:1px;opacity:.55}.timeline-cursor{stroke:var(--text);stroke-width:1.5px}.timeline-dot{fill:var(--warn)}.chip,.badge{background:var(--ink-2);color:var(--text);border-radius:8px;align-items:center;padding:.15rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.loading-ceremony{min-height:var(--vh);background:var(--ink-0);place-items:center;padding:2rem;display:grid}.loading-inner{justify-items:start;gap:.85rem;width:min(520px,100%);display:grid}.loading-line{color:var(--text-dim);margin:0}.loading-ticks{flex-wrap:wrap;gap:4px;width:100%;display:flex}.loading-tick{background:var(--ink-2);border-radius:2px;width:8px;height:16px}.loading-tick.lit{background:var(--good)}.loading-tick.bad{background:var(--bad)}.loading-spark{width:100%;height:48px}.loading-cancel{margin-top:.5rem}.loading-coach .coach-face{width:56px;height:56px}.sheet-overlay{z-index:40;background:#00000080;position:fixed;inset:0}.sheet-content{z-index:50;background:var(--ink-1);border-radius:16px 16px 0 0;outline:none;flex-direction:column;max-height:70dvh;padding:.5rem .85rem 1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-handle{background:var(--ink-3);border-radius:999px;width:42px;height:4px;margin:.35rem auto .6rem}.sheet-title{margin:0 0 .5rem;font-size:1rem}.sheet-tabs{gap:.35rem;margin-bottom:.65rem;display:flex}.sheet-tab{border:1px solid var(--ink-2);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:.45rem}.sheet-tab.active{border-color:var(--good);color:var(--good)}.sheet-body{min-height:0;overflow:auto}.sandbox-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sandbox-stage{background:var(--ink-1);border:1px solid var(--ink-2);border-radius:12px;height:180px;position:relative}.sandbox-square{background:var(--bad);opacity:0;width:48px;height:48px;position:absolute;top:30%;left:40%}:focus-visible{outline:2px solid var(--good);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1000px){body{overflow:auto}.review-hud{height:auto;min-height:var(--vh);padding:12px;overflow:visible}.review-main{grid-template-columns:1fr}.board-column{--b:min(calc(var(--vw) * .92), 560px)}.board-with-eval{width:calc(var(--b) + 22px);max-width:100%}.nav-controls{width:var(--b);grid-template-columns:repeat(3,1fr);max-width:calc(100% - 22px);margin-left:22px}.side-column{grid-template-rows:auto}.side-lists{display:none}.coach{grid-template-columns:auto 1fr}.coach-ctrl{grid-column:1/-1}.fighters{grid-template-columns:1fr}.fighter-accuracy{font-size:26px}.mobile-graph{min-height:110px}.game-card{flex-direction:column;align-items:flex-start}}@media (width<=700px){:root,html{--ui-scale:1}body{overflow:auto}.review-hud{gap:10px;height:auto;min-height:100dvh;padding:8px 10px 12px;overflow:hidden visible}.review-topbar{align-items:center;gap:8px}.review-title{flex:1;min-width:0;font-size:13px}.theme-toggle{flex:none;gap:2px;padding:2px}.theme-toggle button{padding:4px 8px;font-size:11px}.fighters{grid-template-columns:1fr 1fr;gap:6px}.fighter{border-radius:8px;padding:6px 8px}.fighter-name{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:6.5rem;font-size:.75rem;display:inline-block;overflow:hidden}.fighter-rating,.fighter-side{margin-left:4px;font-size:.65rem}.fighter-accuracy{font-size:14px;font-weight:700}.fighter-pct{font-size:.65rem}.fighter-hp{height:4px;margin-top:3px;overflow:hidden}.fighter-hp-ghost{display:none}.review-main{grid-template-columns:1fr;gap:10px;min-width:0;overflow:hidden}.board-column{--b:calc(100vw - 32px);align-items:stretch;gap:8px;width:100%;min-width:0;max-width:100%;overflow:hidden}.board-with-eval{grid-template-columns:10px minmax(0,1fr);align-items:stretch;gap:6px;width:100%;max-width:100%;margin:0 auto;padding-top:0;display:grid;overflow:visible}.board-stage{aspect-ratio:1;flex:none;width:100%;min-width:0;max-width:none;height:auto;overflow:hidden}.board-wrap{aspect-ratio:1;width:100%;max-width:none;height:auto;max-height:none}.eval-bar{border-radius:4px;flex:none;align-self:stretch;width:10px;max-width:10px}.eval-bar-ghost{display:none!important}.eval-bar-fill.white,.eval-bar-track{clip-path:inset(0 round 4px);border-radius:4px}.eval-bar-label{z-index:6;max-width:4.5rem;padding:.1rem .28rem;font-size:.62rem;inset:auto auto 6px calc(100% + 6px);translate:0}.eval-bar.flipped .eval-bar-label{top:6px;bottom:auto}.nav-controls{grid-template-columns:repeat(5,1fr);gap:6px;width:calc(100% - 16px);max-width:none;margin-left:16px}.nav-controls .btn{padding:8px 0;font-size:.72rem}.nav-controls .nav-panel-btn{color:var(--good);border-color:var(--good);grid-column:1/-1;padding:10px 0;font-size:.85rem}.mobile-graph{min-height:80px;padding:6px 10px}.mobile-graph .eval-timeline-svg{min-height:72px}.mobile-coach .coach{grid-template-columns:auto 1fr;gap:10px;padding:10px 12px}.mobile-coach .coach-ctrl{grid-column:1/-1;min-width:0}.mobile-coach .coach-face{width:56px;height:56px}.mobile-coach .coach-say{font-size:14px;line-height:1.3}.mobile-coach .coach-ctrl-row .btn{padding:6px 0;font-size:.75rem}.sheet-content{max-height:78dvh}}.eval-bar{border:1px solid var(--ink-2);background:0 0;border-radius:6px;flex:0 0 14px;align-self:stretch;width:14px;height:auto;min-height:0;position:relative;overflow:visible}.eval-bar-track{background:var(--eval-track);z-index:0;border-radius:5px;position:absolute;inset:0;overflow:hidden}.eval-bar-ghost,.eval-bar-fill.white{will-change:transform;z-index:1;border-radius:8px;position:absolute;inset:0;transform:scaleY(.5)}.eval-bar-ghost{opacity:0;z-index:1;pointer-events:none;background:#ffb020}.eval-bar-ghost.show{opacity:.85}.eval-bar-fill.white{z-index:2;background:#f2f0ea}.eval-bar-label{z-index:5;text-align:left;min-width:0;font-family:var(--font-mono);background:var(--eval-label-bg);color:var(--eval-label-fg);border:1px solid var(--eval-label-border);box-shadow:var(--eval-label-shadow);pointer-events:none;white-space:nowrap;border-radius:4px;padding:.15rem .28rem;font-size:.68rem;font-weight:700;line-height:1.1;position:absolute;bottom:8px;left:calc(100% + 6px)}.eval-bar.flipped .eval-bar-label{top:10px;bottom:auto}.eval-bar-label.punch{color:#fff;background:color-mix(in srgb, var(--warn) 82%, #0e0f12);border-color:#0000;box-shadow:0 2px 8px #00000040}.eval-bar.hit-blunder .eval-bar-label.punch{background:color-mix(in srgb, var(--bad) 85%, #0e0f12)}.eval-bar.hit-brilliant .eval-bar-label.punch{background:color-mix(in srgb, var(--good) 85%, #0e0f12)}[data-theme=day] .eval-bar-label.punch{background:color-mix(in srgb, var(--warn) 78%, #fff);color:#1a2228}[data-theme=day] .eval-bar.hit-blunder .eval-bar-label.punch{background:color-mix(in srgb, var(--bad) 72%, #fff);color:#1a2228}[data-theme=day] .eval-bar.hit-brilliant .eval-bar-label.punch{background:color-mix(in srgb, var(--good) 70%, #fff);color:#1a2228}.eval-bar.punching .eval-bar-track{outline:2px solid color-mix(in srgb, var(--warn) 55%, transparent);outline-offset:1px}.eval-bar.hit-blunder.punching .eval-bar-track{outline-color:color-mix(in srgb, var(--bad) 70%, transparent)}@media (prefers-reduced-motion:reduce){.eval-bar-ghost{display:none!important}}
