.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(a,button,input,select,textarea,summary,[role=button],[tabindex]):focus-visible{outline:2px solid var(--green);outline-offset:2px;box-shadow:0 0 0 4px rgba(33,76,60,.18)}:where(.line-row,.student-line-row,.stats-row,.manage-line-main,.move-token):focus-visible{border-radius:8px}:root{--bg:#f3efe4;--surface:#fffdf8;--surface-strong:#ffffff;--ink:#23271f;--muted:#62685e;--line:#ddd6c6;--green:#1f5d45;--green-soft:#e4ede7;--blue:#2a6f8f;--blue-soft:#dcebf1;--gold:#7e5a10;--gold-soft:#f3e6c6;--red:#9f3a2f;--red-soft:#f2dcd6;--shadow:0 10px 30px rgba(60,52,30,0.08);--panel-shadow:0 10px 28px rgba(45,39,27,0.06);--radius:10px;--board-control-offset:39px;--panel:var(--surface);--panel-2:#f7f3ea;--chip:#ece7da;--ink-2:#3f463b;--accent:var(--green);--accent-on:#ffffff;--accent-ink:#1d513d;--accent-soft:var(--green-soft);--accent-line:#cfe0d5;--good:var(--green);--good-soft:var(--green-soft);--info:var(--blue);--info-soft:var(--blue-soft);--info-line:#c4dde7;--warn:var(--gold);--warn-soft:var(--gold-soft);--radius-lg:16px;--radius-sm:6px;--pad-2:10px;--pad-3:18px;--pad-4:20px;--board-dark:#7fa07b;--board-light:#f3e8ca;--board-highlight:#f5c95b;--font-display:var(--font-inter),Inter,ui-sans-serif,system-ui,sans-serif;--font-ui:var(--font-inter),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:var(--font-jetbrains-mono),"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--display-600:700;--display-700:800;--ink-3:#4d5851;--accent-bg:var(--green);--info-bg:#2a6f8f;--danger-bg:#9f3a2f;--well:#ebe7dc;--well-2:#f3eee0;--info-well:#f5f9fb;--good-well:#eef4ee;--warn-well:#fff7e4;--danger-well:#fff8f6;--eval-track:#253027;--eval-fill:#f8f3e7;color-scheme:light;font-family:var(--font-ui)}*{box-sizing:border-box}body{min-width:320px;margin:0;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.eyebrow{margin:0 0 6px;color:var(--blue);font-size:11px;font-weight:600;letter-spacing:0;text-transform:uppercase}.role-shell{display:grid;min-height:100vh;padding:clamp(24px,8vh,72px) 28px 28px;place-items:start center}.role-panel{width:min(920px,100%);padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.brand-row,.section-heading,.topbar,.workspace-header{display:flex;align-items:center;gap:12px}.brand-row h1,.section-heading h2,.topbar h1,.upload-panel h2,.workspace-header h2{margin:0}.brand-mark{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:var(--radius);color:#fff;background:var(--accent-bg);font-size:14px;font-weight:600}.role-panel h1{font-size:clamp(26px,4vw,40px);line-height:1.05}.role-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}.role-choice{display:grid;gap:14px;min-height:160px;padding:22px;border:1px solid rgba(33,76,60,.18);border-radius:var(--radius);background:var(--surface-strong);text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.ghost-action:hover,.line-row:hover,.move-token:hover,.primary-action:hover,.role-choice:hover,.secondary-action:hover,.stats-row:hover{transform:translateY(-1px)}.line-row:hover,.role-choice:hover,.stats-row:hover{border-color:rgba(33,76,60,.36);box-shadow:0 14px 32px rgba(33,76,60,.1)}.role-choice strong{color:var(--green);font-size:28px;font-weight:600}.role-choice span{max-width:360px;color:var(--muted);font-size:16px;line-height:1.45}.auth-panel{width:min(560px,100%)}.auth-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px}.auth-mode-tabs button{min-height:44px;border:1px solid rgba(31,37,31,.12);border-radius:var(--radius);color:var(--muted);background:var(--surface-strong);font-weight:600}.auth-mode-tabs button.active{color:#fff;border-color:var(--green);background:var(--accent-bg)}.auth-form{display:grid;gap:14px;margin-top:18px}.auth-form label{display:grid;gap:8px;color:var(--muted);font-weight:600}.auth-form input{min-height:48px;width:100%;border:1px solid rgba(31,37,31,.14);border-radius:var(--radius);padding:0 14px;color:var(--ink);background:var(--surface-strong);font-weight:600}.auth-submit{min-height:48px}.app-shell{min-height:100vh;padding:24px}.app-shell.single{display:grid;align-content:start;gap:18px;grid-template-rows:auto minmax(0,1fr)}.topbar{justify-content:space-between;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.topbar h1{font-size:clamp(20px,2.2vw,26px);line-height:1.05}.coach-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.coach-tabs a,.coach-tabs button,.ghost-action,.move-token,.primary-action,.secondary-action{min-height:42px;border:1px solid transparent;border-radius:var(--radius);font-weight:600;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.coach-tabs a,.coach-tabs button{display:inline-grid;align-items:center;padding:0 14px;color:var(--ink);border-color:rgba(31,37,31,.1);background:var(--surface);text-decoration:none;transition:transform .16s ease}.coach-tabs a.active,.coach-tabs button.active{color:#fff;border-color:var(--green);background:var(--accent-bg)}.ghost-action,.primary-action,.secondary-action{padding:0 14px}.primary-action{color:#fff;background:var(--accent-bg);box-shadow:0 10px 18px rgba(33,76,60,.16)}.secondary-action{color:var(--green);border-color:rgba(33,76,60,.26);background:var(--surface-strong)}.ghost-action{color:var(--muted);border-color:rgba(31,37,31,.12);background:transparent}.ghost-action.danger{color:var(--red);border-color:rgba(159,58,47,.24)}.coach-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.coach-grid>.workspace-panel{--coach-board-size:clamp(300px,min(42vw,calc(100dvh - 330px)),520px)}.coach-grid>.line-workspace-panel{--coach-board-size:clamp(340px,min(42vw,calc(100dvh - 235px)),600px)}.queue-panel,.stats-table-panel,.upload-panel,.workspace-panel{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--panel-shadow);padding:18px}.queue-panel{display:flex;max-height:calc(100vh - 188px);flex-direction:column;min-height:0}.section-heading{justify-content:space-between;margin-bottom:14px}.section-heading.stacked{display:grid;justify-content:start;gap:4px}.queue-heading{display:grid;grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:.625rem}.queue-heading>div{min-width:0}.manage-panel h2,.section-heading h2,.upload-panel h2,.workspace-header h2{font-size:24px;line-height:1.08}.line-list{position:relative;display:grid;gap:8px}.queue-panel .line-list{min-height:0;overflow-y:auto;padding-right:4px}.grouped-line-list{align-content:start}.line-group{display:grid;gap:6px}.line-group-header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:center;padding:10px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong)}.line-group-header.selectable{grid-template-columns:auto minmax(0,1fr)}.line-group-toggle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;border:0;background:transparent;color:var(--ink);text-align:left}.line-group-toggle span:not([aria-hidden=true]){display:grid;min-width:0;gap:3px}.compact-line-copy small,.compact-line-copy strong,.line-group-toggle small,.line-group-toggle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-line-copy small,.line-group-toggle small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.25}.line-group-toggle em,.priority-pill{display:inline-flex;width:fit-content;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-style:normal;font-weight:600;white-space:nowrap}.line-group-toggle em,.priority-pill.high{color:var(--green);background:var(--green-soft)}.priority-pill.normal{color:var(--blue);background:var(--blue-soft)}.priority-pill.low,.priority-pill.muted{color:var(--muted);background:var(--well)}.line-group-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bulk-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;width:100%}.bulk-toolbar .line-group-actions{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;grid-column:-2/-1;justify-self:end}.bulk-selected-count{display:inline-flex;align-items:center;min-block-size:calc(1lh + 1rem);gap:7px;padding-inline:.75em;border:1px solid rgba(31,37,31,.12);border-radius:var(--radius);background:var(--surface-strong);color:var(--muted);font-size:.75rem;font-weight:600;justify-self:end;white-space:nowrap}.opening-select-all{display:inline-grid;place-items:center;padding:0}.opening-select-all input{flex:0 0 auto;margin:0}.compact-action{min-block-size:calc(1lh + 1rem);padding-inline:.75em;font-size:.75rem;white-space:nowrap}.primary-action.compact-action{box-shadow:0 2px 6px rgba(33,76,60,.14)}.line-select-checkbox{inline-size:1em;block-size:1em;accent-color:var(--green)}.line-group-rows{display:grid;gap:5px}.empty-copy,.error-copy{color:var(--muted);line-height:1.5}.error-copy{color:var(--red);font-weight:600}.line-row{display:grid;gap:7px;width:100%;padding:12px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong);text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.line-row.active{border-color:rgba(33,76,60,.48);background:var(--green-soft);box-shadow:inset 4px 0 0 var(--green)}.line-row.active .compact-line-copy small{color:var(--ink-3)}.line-row.compact{grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;min-height:38px;padding:6px 9px}.line-row.compact.no-select{grid-template-columns:minmax(0,1fr)}.line-row-main,.student-line-row{display:grid;align-items:center;width:100%;min-width:0;border:0;background:transparent;color:inherit;text-align:left}.line-row-main{grid-template-columns:auto minmax(0,1fr) auto;gap:9px}.compact-line-copy{display:grid;min-width:0;gap:3px}.student-line-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:48px;padding:8px 10px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.student-line-row:hover{border-color:rgba(33,76,60,.36);box-shadow:0 14px 32px rgba(33,76,60,.1);transform:translateY(-1px)}.student-line-row.active{border-color:rgba(33,76,60,.48);background:var(--green-soft);box-shadow:inset 4px 0 0 var(--green)}.student-line-row.active .compact-line-copy small{color:var(--ink-3)}.line-row>*{min-width:0}.line-row strong{color:var(--ink);font-size:14px}.line-row small,.line-row>span:not(.status-chip):not(.practice-chip):not(.priority-pill):not(.compact-line-copy){overflow:hidden;color:var(--muted);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.line-row>small{color:var(--green);font-weight:600}.line-row.student{grid-template-columns:auto minmax(0,1fr);align-items:center}.line-row.student small,.line-row.student strong,.line-row.student>span:not(.student-mode-chip){grid-column:1/-1}.status-chip{display:inline-flex;width:fit-content;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600}.status-chip.attention{color:var(--blue);background:var(--blue-soft)}.status-chip.good{color:var(--green);background:var(--green-soft)}.status-chip.warning{color:var(--gold);background:var(--gold-soft)}.status-chip.danger{color:var(--red);background:var(--red-soft)}.status-chip.muted{color:var(--muted);background:var(--well)}.practice-chip{display:inline-flex;width:fit-content;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(31,37,31,.12);border-radius:999px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}.practice-chip.high{color:var(--green);border-color:rgba(33,76,60,.24);background:var(--green-soft)}.practice-chip.normal{color:var(--blue);border-color:rgba(49,93,127,.24);background:var(--blue-soft)}.practice-chip.low,.practice-chip.muted{color:var(--muted);background:var(--well)}.practice-chip.review{color:var(--gold);border-color:rgba(169,118,22,.28);background:var(--gold-soft)}.student-mode-chip{display:inline-flex;width:fit-content;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.2}.student-mode-chip.practice{color:var(--green);background:var(--green-soft)}.student-mode-chip.quiz{color:var(--blue);background:var(--blue-soft)}.student-mode-chip.engine{color:var(--gold);background:var(--gold-soft)}.workspace-header{justify-content:space-between;margin-bottom:16px}.workspace-header>div{min-width:0}.workspace-header small{display:block;overflow:hidden;max-width:68ch;color:var(--muted);font-size:.8rem;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.line-workspace-panel{padding:14px}.empty-workspace{display:grid;align-content:center;gap:14px;min-height:clamp(220px,38vh,320px)}.empty-workspace h2,.empty-workspace p{margin:0}.empty-workspace p{max-width:560px;color:var(--muted);line-height:1.5}.empty-workspace .primary-action{width:fit-content}.inline-loading,.loading-indicator{display:inline-flex;align-items:center;gap:8px}.loading-indicator{width:fit-content;padding:8px 10px;border:1px solid rgba(33,76,60,.16);border-radius:999px;color:var(--green);background:var(--green-soft);font-size:13px;font-weight:600}.status-spinner{width:16px;height:16px;flex:0 0 auto;border:2px solid rgba(33,76,60,.24);border-top:2px solid var(--green);border-radius:999px;animation:status-spin .8s linear infinite}.status-spinner.tiny{width:12px;height:12px;border-width:2px}@keyframes status-spin{to{transform:rotate(1turn)}}.workspace-grid{display:grid;grid-template-columns:minmax(300px,var(--coach-board-size,.92fr)) minmax(360px,1fr);gap:18px;align-items:start}.line-workspace-panel .workspace-grid{gap:14px}.workspace-grid>.board-zone{display:grid;align-content:start;gap:8px;justify-items:center}.workspace-grid>.board-zone>.board-renderer{width:min(100%,var(--coach-board-size,100%))}.workspace-grid>.board-zone>.move-strip-compact{justify-self:center;width:min(100%,var(--coach-board-size,100%))}.board-frame,.board-renderer,.board-zone,.line-editor{min-width:0;max-width:100%}.board-renderer{display:grid;gap:8px;width:100%}.board-renderer.with-eval{display:grid;grid-template-columns:clamp(2.25rem,6%,2.75rem) minmax(0,1fr);gap:8px 8px;align-items:stretch}.board-renderer.solo{display:grid}.board-renderer.focus{width:min(100%,660px,calc(100vh - 210px))}.board-control-bar{min-width:0}.board-renderer.with-eval .board-control-bar{grid-column:2}.board-renderer.with-eval .stockfish-eval-rail{grid-column:1;grid-row:2}.board-renderer.with-eval .board-frame{grid-column:2;grid-row:2}.stockfish-eval-rail{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:4px;min-height:0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);inline-size:100%;min-width:0;text-align:center}.stockfish-eval-rail strong{font-size:10px}.stockfish-eval-rail strong,.stockfish-eval-state{color:var(--muted);font-weight:600;line-height:1.1;white-space:nowrap}.stockfish-eval-state{font-size:9px}.stockfish-eval-footer{display:grid;justify-items:center;gap:1px;min-width:0}.stockfish-eval-track{position:relative;overflow:hidden;width:14px;min-height:100%;border:1px solid rgba(31,37,31,.16);border-radius:999px;background:var(--eval-track)}.stockfish-eval-track span{position:absolute;right:0;bottom:0;left:0;min-height:2px;border-top:1px solid rgba(31,37,31,.16);background:var(--eval-fill);transition:height .16s ease}.stockfish-eval-rail.disabled .stockfish-eval-track span,.stockfish-eval-rail.error .stockfish-eval-track span,.stockfish-eval-rail.loading .stockfish-eval-track span,.stockfish-eval-rail.unavailable .stockfish-eval-track span{background:rgba(255,255,255,.58)}.board-frame{position:relative;aspect-ratio:1;padding:clamp(5px,.75vw,8px);border:1px solid rgba(31,37,31,.16);border-radius:var(--radius);background:var(--well-2);box-shadow:0 10px 28px rgba(31,37,31,.12)}.board-arrow-toggles{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:fit-content;max-width:100%;padding:4px;border:1px solid rgba(31,37,31,.2);border-radius:6px;background:var(--surface-strong);box-shadow:0 6px 14px rgba(31,37,31,.08)}.board-arrow-toggles .arrow-source-toggle{display:flex;gap:5px;align-items:center;min-width:0;padding:4px 6px;border:1px solid rgba(31,37,31,.12);border-radius:4px;color:var(--arrow-source-color,var(--ink));font-size:11px;font-weight:600;line-height:1.1;background:rgba(31,37,31,.025)}.board-arrow-toggles label.disabled{color:rgba(31,37,31,.48)}.board-arrow-toggles .arrow-source-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--arrow-source-color,var(--ink))}.board-arrow-toggles input{width:13px;height:13px;margin:0;accent-color:var(--arrow-source-color,var(--blue))}.chess-board-shell{position:relative;isolation:isolate;width:100%;height:100%;aspect-ratio:1;overflow:hidden;border-radius:6px;background:#f3e8ca;touch-action:none;-webkit-user-select:none;user-select:none}.chess-board-shell [data-piece]{backface-visibility:hidden;transform-origin:center}.chess-board-shell svg{display:block;pointer-events:none}.board-arrow-overlay{position:absolute;inset:0;z-index:24;width:100%;height:100%}.move-strip{display:grid;gap:8px;margin-top:12px;padding:8px;border:1px solid rgba(31,37,31,.12);border-radius:var(--radius);background:rgba(31,37,31,.035)}.move-strip-compact{gap:6px;margin-top:0;padding:6px;background:var(--well-2)}.move-strip-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;min-width:0}.move-strip-scroller{display:flex;gap:4px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px;scroll-snap-type:x proximity;scrollbar-width:none}.move-strip-scroller::-webkit-scrollbar{display:none}.move-strip-toggle{flex:0 0 auto;display:grid;width:30px;min-height:30px;place-items:center;padding:0;border-color:rgba(31,37,31,.14);border-radius:6px;color:var(--green);background:var(--surface-strong)}.move-strip-toggle-icon{width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:translateY(-2px) rotate(45deg)}.move-strip-toggle[aria-expanded=true]{color:#fff;border-color:var(--blue);background:var(--info-bg)}.move-strip-toggle[aria-expanded=true] .move-strip-toggle-icon{transform:translateY(2px) rotate(225deg)}.move-strip-expanded{max-height:min(44vh,19rem);min-height:0;overflow:auto;padding-top:6px;border-top:1px solid rgba(31,37,31,.1);overscroll-behavior:contain;scrollbar-gutter:stable}.move-scoresheet-start{display:grid;max-width:8rem}.move-scoresheet-table{width:100%;border-collapse:collapse;table-layout:fixed}.move-scoresheet-table td,.move-scoresheet-table th{padding:2px 4px}.move-scoresheet-table thead th{color:var(--muted);font-size:10px;font-weight:600;line-height:1.2;text-align:left;text-transform:uppercase}.move-scoresheet-note,.move-scoresheet-number,.move-scoresheet-table thead th:first-child{width:2.4rem;text-align:center}.move-scoresheet-note,.move-scoresheet-table:not(.past-game-scoresheet) thead th:last-child{width:2.8rem}.move-scoresheet-row{min-height:31px;border-radius:6px}.move-scoresheet-row:nth-child(odd){background:rgba(31,37,31,.035)}.move-scoresheet-row.active{background:rgba(49,93,127,.08)}.move-scoresheet-note,.move-scoresheet-number{color:var(--muted);font-size:12px;font-weight:600}.move-scoresheet-cell{min-width:0}.move-scoresheet-cell.empty{opacity:.42}.move-scoresheet-note span{display:inline-flex;align-items:center;min-height:20px;padding:0 5px;border-radius:999px;background:rgba(169,118,22,.14);color:var(--gold);font-size:10px;font-weight:600}.move-scoresheet-note span[aria-hidden=true]{min-height:0;padding:0;background:transparent;color:var(--muted)}.move-token{position:relative;width:100%;min-height:34px;padding:0 8px;color:var(--ink-3);border-color:transparent;border-radius:6px;background:transparent;text-align:left}.move-compact-token{flex:0 0 auto;width:auto;min-height:30px;padding:0 9px;background:var(--surface-strong);color:var(--ink-3);font-size:12px;line-height:1;scroll-snap-align:center;white-space:nowrap}.move-compact-token.active{color:#fff;background:var(--info-bg)}.move-compact-token.annotated{padding-right:18px}.move-compact-token.annotated:after{top:7px;right:7px;width:5px;height:5px}.move-token.annotated{color:var(--green);border-color:transparent;background:rgba(33,84,62,.08)}.move-token.annotated:after{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:999px;background:var(--gold);content:""}.move-scoresheet-ply.annotated:after{display:none}.move-token.active{color:#fff;background:var(--info-bg);box-shadow:0 7px 16px rgba(49,93,127,.16)}.move-token.active.annotated:after{background:var(--warn-well)}.line-editor .move-strip{gap:2px;margin-top:0;padding:8px}.line-editor .move-token{min-height:28px;padding:0 6px;font-size:12px;line-height:1}.line-editor .move-token.annotated{padding-right:15px}.line-editor .move-token.annotated:after{top:6px;right:6px;width:5px;height:5px}.line-editor{display:grid;gap:12px}.line-workspace-panel .line-editor{gap:10px}.student-line-layout>.line-editor,.workspace-grid>.line-editor{margin-top:var(--board-control-offset)}.line-workspace-panel .workspace-grid>.line-editor{margin-top:0}.workspace-grid>.line-editor>.move-explainer-card{max-height:clamp(140px,calc(100vh - 590px),260px);min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.line-workspace-panel .workspace-grid>.line-editor>.move-explainer-card{max-height:clamp(190px,calc(100dvh - 430px),360px)}.workspace-grid>.line-editor>.move-strip{max-height:13.5rem;overflow-y:auto;overscroll-behavior:contain}.workspace-message{width:fit-content;min-height:28px;padding:6px 10px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:12px;font-weight:600}.annotation-block{display:grid;gap:10px;padding:14px;border-left:4px solid var(--gold);background:var(--warn-well)}.annotation-text{margin:0;color:var(--ink);font-size:16px;line-height:1.5;white-space:pre-wrap}.teaching-card-block{display:grid;gap:10px;padding:14px;border:1px solid rgba(31,84,62,.16);border-left:4px solid var(--green);background:var(--good-well)}.teaching-card-block h3,.teaching-card-block p{margin:0}.teaching-card-block h3{color:var(--green);font-size:18px;line-height:1.22}.teaching-card-block p{color:var(--ink);font-size:15px;line-height:1.48}.move-explainer-card{display:grid;gap:14px;padding:16px;border:1px solid rgba(31,84,62,.16);border-left:4px solid var(--green);border-radius:var(--radius);background:var(--good-well)}.move-explainer-header,.move-explainer-source-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.move-explainer-card h3,.move-explainer-card h4,.move-explainer-card p{margin:0}.move-explainer-card h3{color:var(--green);font-size:19px;line-height:1.25}.move-explainer-status{flex:0 0 auto;padding:6px 10px;border-radius:999px;color:var(--gold);background:var(--gold-soft);font-size:12px;font-weight:600;line-height:1.2}.move-explainer-section,.move-explainer-sources{display:grid;gap:8px;padding-top:12px;border-top:1px solid rgba(31,84,62,.14)}.move-explainer-section p:not(.eyebrow),.move-explainer-source-note,.move-explainer-source-row p:not(.eyebrow){color:var(--ink);font-size:15px;line-height:1.48}.coach-note-inline p:not(.eyebrow){white-space:pre-wrap}.move-explainer-source-row .compact-action{color:#fff;border-color:var(--blue);background:var(--info-bg)}.move-explainer-source-panel{display:grid;gap:12px;padding-top:10px;border-top:1px solid rgba(49,93,127,.14)}.source-summary-chips{display:flex;flex-wrap:wrap;gap:8px}.source-summary-chips span{padding:6px 9px;border-radius:999px;color:var(--green);background:rgba(223,236,229,.9);font-size:12px;font-weight:600;line-height:1.2}.source-summary-chips span:nth-child(2){color:var(--blue);background:var(--blue-soft)}.source-list{display:grid;gap:8px}.source-list h4{color:var(--ink);font-size:15px;line-height:1.25}.source-list-item p,.source-list>p{color:var(--muted);font-size:13px;line-height:1.45}.source-list-item{display:grid;gap:4px;padding-top:8px;border-top:1px solid rgba(31,37,31,.1);overflow-wrap:anywhere}.source-list-item strong{color:var(--ink);font-size:13px;line-height:1.35}.source-list-item small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.3}.source-list-item a{width:fit-content;color:var(--blue);font-size:13px;font-weight:600;line-height:1.35}.practice-evidence{display:grid;gap:12px;padding:12px;border:1px solid rgba(49,93,127,.16);border-left:3px solid var(--blue);background:var(--info-well)}.practice-evidence-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.practice-evidence h3,.practice-evidence p{margin:0}.practice-evidence h3{font-size:16px;line-height:1.18}.practice-evidence-strip{display:grid;gap:6px}.practice-evidence-item,.practice-evidence-row,.practice-evidence-strip span{display:grid;grid-template-columns:minmax(7rem,.65fr) minmax(0,1fr);gap:10px;align-items:baseline;min-width:0;padding:0;border:0;background:transparent}.practice-evidence-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.practice-evidence-item small,.practice-evidence-label,.practice-evidence-strip small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.2}.practice-evidence-item strong,.practice-evidence-strip strong,.practice-evidence-value{overflow-wrap:anywhere;color:var(--ink);font-size:13px;font-weight:600;line-height:1.25}.practice-evidence-item em,.practice-evidence-meta,.practice-evidence-strip em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700;line-height:1.2}.practice-evidence-item em{grid-column:2}.annotation-editor-details summary{color:var(--blue);cursor:pointer;font-size:13px;font-weight:600;line-height:1.35}.annotation-editor{display:grid;gap:8px;color:var(--muted);font-size:13px;font-weight:600}.annotation-editor-details{display:grid;gap:10px}.annotation-editor-details[open]{gap:12px}.annotation-editor-details .annotation-editor{margin-top:10px}.annotation-editor textarea,.upload-panel input,.upload-panel select{width:100%;border:1px solid rgba(31,37,31,.16);border-radius:var(--radius);background:var(--surface-strong);color:var(--ink)}.annotation-editor textarea{min-height:140px;padding:12px;line-height:1.5;resize:vertical}.manage-layout{display:grid;gap:18px;align-items:start}.manage-panel{display:grid;gap:16px}.manage-heading{margin-bottom:0}.manage-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.manage-summary .metric-card{min-height:86px;padding:12px;box-shadow:none}.manage-summary .metric-card strong{font-size:28px}.external-game-panel{display:grid;gap:12px;padding:12px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong)}.external-game-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.external-game-heading h3{margin:0;font-size:18px}.external-game-form{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:10px;align-items:center}.external-game-platforms{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgba(33,76,60,.18);border-radius:6px}.external-game-platforms button{min-height:40px;padding:0 12px;border:0;border-right:1px solid rgba(33,76,60,.12);background:var(--surface-strong);color:var(--muted);font-weight:600}.external-game-platforms button:last-child{border-right:0}.external-game-platforms button[aria-pressed=true]{color:var(--green);background:var(--green-soft)}.external-game-form input{width:100%;min-height:40px;padding:0 12px;border:1px solid rgba(33,76,60,.18);border-radius:6px;background:var(--surface-strong);color:var(--ink);font-weight:600}.import-status-banner{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--info-line);border-radius:var(--radius);background:var(--info-well);color:var(--ink);font-size:13px;font-weight:600}.import-status-banner.failed{border-color:rgba(159,58,47,.3);background:var(--red-soft);color:var(--red)}.import-status-spinner{width:14px;height:14px;flex:0 0 auto;border:2px solid rgba(33,76,60,.24);border-top:2px solid var(--green);border-radius:999px;animation:status-spin .8s linear infinite}.import-history{display:grid;gap:8px}.import-history ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.import-history-row{display:grid;grid-template-columns:auto minmax(0,auto) minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);font-size:12px;font-weight:600}.import-status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--muted)}.import-status-dot.queued,.import-status-dot.running{background:var(--gold)}.import-status-dot.succeeded{background:var(--accent-bg)}.import-status-dot.failed{background:var(--danger-bg)}.import-status-dot.empty{background:var(--muted)}.import-history-title{color:var(--ink)}.import-history-status,.import-history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-history-status{color:var(--muted)}.import-history-row time{color:var(--muted);font-weight:700;white-space:nowrap}.import-activity{display:grid;gap:12px;padding:12px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong)}.import-activity .external-game-heading h3{margin:0;font-size:18px}.import-history-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.import-history-type{color:var(--green);font-weight:600}.import-activity-empty{margin:0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}.import-progress-track{grid-column:1/-1;height:5px;overflow:hidden;border-radius:999px;background:var(--well)}.import-progress-track span{display:block;height:100%;min-width:6px;border-radius:inherit;background:var(--green);transition:width .3s ease}.import-progress-track.indeterminate span{width:35%;min-width:0;animation:import-progress-slide 1.1s ease-in-out infinite}@keyframes import-progress-slide{0%{margin-left:-35%}to{margin-left:100%}}.external-account-list{display:flex;flex-wrap:wrap;gap:8px}.external-account-chip{display:inline-grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;max-width:100%;padding:7px 9px;border:1px solid rgba(33,76,60,.14);border-radius:6px;background:var(--surface-strong);font-size:12px;font-weight:600}.external-account-chip small{grid-column:1/-1;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.manage-openings-list{display:grid;gap:10px}.manage-opening{overflow:hidden;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong)}.manage-opening-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:rgba(33,76,60,.05)}.manage-line-main,.manage-opening-toggle{min-width:0;border:0;background:transparent;color:inherit;text-align:left}.manage-opening-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.manage-line-main,.manage-opening-toggle span:not([aria-hidden=true]){display:grid;gap:3px}.manage-line-main strong,.manage-opening-toggle strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.manage-line-main small,.manage-opening-toggle small{overflow:hidden;color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.manage-line-actions,.manage-opening-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.manage-line-table{overflow:hidden}.manage-line-row,.manage-line-table{display:grid;border-top:1px solid rgba(31,37,31,.08)}.manage-line-row{grid-template-columns:minmax(260px,1fr) 118px 150px minmax(190px,auto);gap:10px;align-items:center;min-height:54px;padding:9px 12px}.manage-line-table.hide-status:not(.hide-priority) .manage-line-row{grid-template-columns:minmax(260px,1fr) 150px minmax(190px,auto)}.manage-line-table.hide-priority:not(.hide-status) .manage-line-row{grid-template-columns:minmax(260px,1fr) 118px minmax(190px,auto)}.manage-line-table.hide-status.hide-priority .manage-line-row{grid-template-columns:minmax(260px,1fr) minmax(190px,auto)}.manage-line-row:first-child{border-top:0}.manage-line-row.header{min-height:36px;background:rgba(33,76,60,.08);color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase}.manage-line-row.active{background:var(--green-soft);box-shadow:inset 4px 0 0 var(--green)}.manage-line-row.active .ghost-action.compact-action,.manage-line-row.active .manage-line-main small{color:var(--ink-3)}.manage-line-row>*{min-width:0}.manage-empty{display:grid;gap:12px;padding:18px;border:1px dashed rgba(33,76,60,.24);border-radius:var(--radius);background:var(--surface-strong)}.manage-empty h3,.manage-empty p,.manage-footnote{margin:0}.manage-empty p,.manage-footnote{color:var(--muted);line-height:1.5}.manage-empty .primary-action{width:fit-content}.opening-level-list{gap:0}.opening-manage-workspace{display:grid;gap:14px;grid-template-columns:minmax(280px,350px) minmax(0,1fr)}.opening-detail-panel,.opening-library-panel{min-width:0;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong)}.opening-library-panel{padding:12px}.opening-card-library,.opening-exception-list,.opening-library-list{display:grid;gap:10px}.opening-library-card{display:grid;gap:10px;width:100%;padding:12px;border:1px solid rgba(33,76,60,.14);border-left:5px solid transparent;border-radius:var(--radius);background:var(--surface-strong);color:var(--ink);font:inherit;text-align:left}.opening-library-card.active{border-left-color:var(--green);box-shadow:0 12px 24px rgba(33,76,60,.08)}.opening-library-card{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.opening-library-card:hover{transform:translateY(-1px);border-color:rgba(33,76,60,.3);box-shadow:0 14px 32px rgba(33,76,60,.1)}.opening-card-row,.opening-card-title-row,.opening-cluster-heading,.opening-detail-actions,.opening-detail-header,.opening-exception-actions,.opening-exception-chips,.opening-exception-row,.opening-progress>span,.opening-signal-row{display:flex;align-items:center}.opening-card-row,.opening-card-title-row,.opening-cluster-heading,.opening-progress>span{justify-content:space-between;gap:10px}.opening-card-row small,.opening-cluster-card p,.opening-detail-header p,.opening-exception-main small,.opening-library-card>small{color:var(--muted);font-size:.82rem;font-weight:600;line-height:1.4}.opening-signal-row{flex-wrap:wrap;gap:6px}.opening-signal-chip{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:0 10px;font-size:.75rem;font-weight:600;white-space:nowrap}.opening-signal-chip.green{color:var(--green);background:var(--green-soft)}.opening-signal-chip.blue{color:var(--blue);background:var(--blue-soft)}.opening-signal-chip.gold{color:var(--gold);background:var(--gold-soft)}.opening-signal-chip.red{color:var(--red);background:var(--red-soft)}.opening-progress{display:grid;gap:6px}.opening-progress strong{color:var(--ink)}.opening-progress em{display:block;height:8px;overflow:hidden;border-radius:999px;background:var(--well)}.opening-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent-bg)}.opening-progress i.blue{background:var(--info-bg)}.opening-detail-panel{display:grid;gap:14px;padding:16px;align-content:start}.opening-detail-header{justify-content:space-between;gap:12px}.opening-cluster-card h4,.opening-detail-header h3{margin:0}.opening-detail-header h3{font-size:clamp(22px,3vw,30px);line-height:1.05}.opening-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.opening-health-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.opening-health-card{min-height:102px;padding:12px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong)}.opening-health-card strong{display:block;color:var(--green);font-size:28px;line-height:1}.opening-health-card span{display:block;margin-top:8px;color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.35}.opening-workspace-tabs{display:flex;flex-wrap:wrap;gap:8px}.opening-tab-button{min-height:40px;padding:0 14px;border:1px solid rgba(31,37,31,.14);border-radius:var(--radius);background:var(--surface);color:var(--green);font-weight:600}.opening-tab-button.active{border-color:var(--green);background:var(--accent-bg);color:#fff}.opening-explanation-readout{display:flex;flex-direction:column;gap:10px}.opening-explanation-idea,.opening-explanation-mistake,.opening-explanation-why{margin:0;color:var(--ink);line-height:1.55}.opening-tree-panel{display:grid;gap:12px;padding:14px;border:1px solid rgba(33,76,60,.14);border-radius:var(--radius);background:var(--surface-strong)}.opening-tree-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.opening-tree-header h4{margin:0;font-size:1.15rem;line-height:1.15}.opening-tree-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.opening-tree-path-chip{border-radius:999px;padding:0 12px;color:var(--red);background:var(--red-soft);font-size:.78rem;font-weight:600;white-space:nowrap}.opening-tree-controls,.opening-tree-path-chip{display:inline-flex;min-height:30px;align-items:center}.opening-tree-controls{overflow:hidden;border:1px solid rgba(33,76,60,.16);border-radius:999px;background:var(--surface-strong)}.opening-tree-controls button{display:inline-grid;width:34px;min-height:30px;place-items:center;border:0;border-right:1px solid rgba(33,76,60,.12);color:var(--green);background:transparent;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.opening-tree-controls button:nth-child(2){width:44px}.opening-tree-controls button:disabled{color:rgba(31,37,31,.34);cursor:default}.opening-tree-zoom-label{display:inline-grid;width:46px;min-height:30px;place-items:center;color:var(--muted);font-size:.72rem;font-weight:600}.opening-tree-scroll{height:clamp(380px,56vh,680px);min-height:0;overflow:auto;border:1px solid rgba(31,37,31,.08);border-radius:var(--radius);background:var(--surface)}.opening-tree-svg{display:block;max-width:none}.opening-tree-svg-fit{width:100%;height:100%}.opening-tree-svg-zoomed{width:auto;height:auto}.opening-tree-edge,.opening-tree-edge-highlight{fill:none;stroke-linecap:round;stroke-linejoin:round}.opening-tree-edge{stroke:rgba(49,93,127,.48);stroke-width:3}.opening-tree-edge.active{stroke:var(--green);stroke-width:4}.opening-tree-edge-highlight{stroke:rgba(159,58,47,.28);stroke-width:18}.opening-tree-node circle{fill:#fff;stroke:rgba(49,93,127,.72);stroke-width:3}.opening-tree-node.active circle{fill:#fff7f5;stroke:var(--red);stroke-width:4}.opening-tree-label{fill:var(--ink);font-size:14px;font-weight:600;paint-order:stroke;stroke:#fffdf8;stroke-linejoin:round;stroke-width:4px}.opening-tree-count{fill:var(--muted);font-size:10px;font-weight:600;pointer-events:none}.opening-flow-panel{display:grid;gap:12px;padding:14px;border:1px solid rgba(33,76,60,.14);border-radius:var(--radius);background:var(--surface-strong)}.opening-flow-body{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(220px,280px);min-height:clamp(430px,58vh,720px)}.opening-flow-summary{display:flex;flex-wrap:wrap;gap:6px}.opening-flow-summary span{min-height:26px;padding:5px 9px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:.76rem;font-weight:600;line-height:1.1}.opening-flow-legend{display:flex;flex-wrap:wrap;gap:8px}.opening-flow-legend span{display:inline-flex;min-height:28px;align-items:center;gap:7px;padding:5px 9px;border:1px solid rgba(31,37,31,.1);border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.76rem;font-weight:600}.opening-flow-legend span:before{width:10px;height:10px;border-radius:999px;content:""}.opening-flow-legend span.completed:before{background:var(--accent-bg)}.opening-flow-legend span.external-flag:before{background:var(--danger-bg)}.opening-coverage-map .opening-flow-body{display:block;min-height:clamp(430px,58vh,700px)}.coverage-graph-canvas{min-width:0;height:clamp(430px,58vh,700px);overflow:hidden;border:1px solid rgba(33,76,60,.13);border-radius:var(--radius);background:var(--surface)}.coverage-graph-loading{display:grid;min-height:100%;place-items:center;color:var(--muted);font-size:.86rem;font-weight:600}.coverage-graph-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.coverage-graph-actions>strong{display:inline-flex;min-height:38px;align-items:center;color:var(--muted);font-size:.82rem}.coverage-graph-actions button{display:grid;gap:2px;height:auto;min-height:44px;justify-items:start;padding-block:6px;text-align:left}.coverage-graph-actions button small{color:var(--muted);font-size:.72rem;font-weight:600}.coverage-graph-canvas .react-flow{background:var(--surface)}.coverage-graph-canvas .react-flow__attribution{display:none}.coverage-graph-canvas .react-flow__handle{width:2px;height:2px;opacity:0;pointer-events:none;border:0}.coverage-graph-canvas .react-flow__controls{border:1px solid rgba(31,37,31,.12);border-radius:8px;box-shadow:0 12px 24px rgba(31,37,31,.08)}.coverage-graph-canvas .react-flow__controls-button{border-bottom:1px solid var(--line);color:var(--ink);fill:var(--ink);background:var(--surface-strong)}.opening-coverage-node{display:grid;gap:8px;min-height:110px;padding:10px;border:2px solid rgba(49,93,127,.36);border-radius:10px;background:var(--surface-strong);box-shadow:0 12px 24px rgba(31,37,31,.06)}.opening-coverage-node.completed{border-color:var(--green)}.opening-coverage-node.external-flag{border-color:var(--red);background:var(--danger-well);box-shadow:0 0 0 4px rgba(159,58,47,.1),0 12px 24px rgba(159,58,47,.08)}.coverage-node-title{display:grid;gap:3px;min-width:0}.coverage-node-title strong{color:var(--ink);font-size:.86rem;font-weight:700;line-height:1.15}.coverage-node-title small,.coverage-node-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coverage-node-title small{color:var(--muted);font-size:.7rem;font-weight:600;line-height:1.1}.coverage-node-bar{height:8px;overflow:hidden;border-radius:999px;background:var(--well)}.coverage-node-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent-bg)}.coverage-node-signals{display:flex;flex-wrap:wrap;gap:5px}.coverage-node-signals span{min-height:20px;padding:4px 7px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:.66rem;font-weight:700;line-height:1}.coverage-node-signals span.external{color:var(--red);background:var(--red-soft)}.opening-flow-detail{display:grid;align-content:start;gap:12px;min-width:0;padding:14px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong)}.opening-flow-detail h4,.opening-flow-detail p{margin:0}.opening-flow-detail h4{font-size:1.2rem;line-height:1.15}.opening-flow-detail p{color:var(--muted);font-size:.88rem;font-weight:600;line-height:1.42}.opening-flow-path{overflow-wrap:anywhere}.opening-flow-lines{display:grid;gap:6px;padding-top:10px;border-top:1px solid rgba(31,37,31,.08)}.opening-flow-lines span{overflow:hidden;color:var(--muted);font-size:.82rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.opening-cluster-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.opening-cluster-card{display:grid;width:100%;gap:12px;min-height:220px;padding:14px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong);color:var(--ink);font:inherit;text-align:left}.opening-card-row:not(:disabled):hover,.opening-cluster-card:not(:disabled):hover{border-color:rgba(33,76,60,.34);box-shadow:0 10px 20px rgba(33,76,60,.08);transform:translateY(-1px)}.opening-cluster-card:disabled{cursor:default}.opening-card-action{align-self:end;color:var(--green);font-size:.78rem;font-weight:600}.opening-cluster-card.review{border-color:rgba(169,118,22,.32);background:linear-gradient(180deg,var(--surface) 0,var(--warn-well) 100%)}.opening-cluster-card.risk{border-color:rgba(159,58,47,.28);background:linear-gradient(180deg,var(--surface) 0,var(--danger-well) 100%)}.opening-card-row,.opening-exception-row{width:100%;padding:12px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong);color:var(--ink);text-align:left}.opening-card-row>span,.opening-exception-main{display:grid;gap:4px;min-width:0}.opening-exception-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto}.opening-exception-row.active{background:var(--green-soft);box-shadow:inset 4px 0 0 var(--green)}.opening-exception-main{border:0;background:transparent;color:var(--ink);text-align:left}.opening-card-row strong,.opening-exception-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opening-exception-actions,.opening-exception-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px}.opening-empty-state{display:grid;gap:4px;padding:16px;border:1px dashed rgba(31,37,31,.18);border-radius:var(--radius);background:var(--surface-strong);color:var(--muted);font-weight:600}.opening-empty-state strong{color:var(--ink);font-size:1rem}.modal-backdrop{position:fixed;z-index:40;inset:0;display:grid;align-items:start;justify-items:center;overflow-y:auto;padding:48px 18px;background:rgba(31,37,31,.36)}.upload-dialog{width:min(520px,100%);padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.upload-dialog-heading{margin-bottom:14px}.modal-upload-panel{padding:0;border:0;background:transparent;box-shadow:none}.upload-panel{display:grid;gap:14px}.upload-panel label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:600}.upload-panel .checkbox-option{display:flex;align-items:center;gap:9px;line-height:1.35}.upload-panel .checkbox-option input{width:18px;min-height:18px;flex:0 0 auto;padding:0}.upload-panel input,.upload-panel select{min-height:42px;padding:8px 10px}.upload-progress-card{display:grid;gap:4px;padding:12px;border:1px solid rgba(33,76,60,.16);border-radius:var(--radius);background:var(--green-soft);color:var(--green)}.upload-progress-card strong{font-size:.875rem;line-height:1.35}.upload-progress-card small{color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.4}.pipeline-list{display:grid;gap:.5rem;margin:18px 0;padding:0;list-style:none}.pipeline-step{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.625rem;padding:.625rem .75rem;border:1px solid rgba(31,37,31,.1);background:var(--surface-strong);color:var(--muted);font-size:.8125rem;font-weight:600}.pipeline-marker{display:inline-grid;place-items:center;inline-size:1.75em;block-size:1.75em;border:1px solid rgba(31,37,31,.14);border-radius:999px;color:var(--muted);background:var(--bg)}.pipeline-step.complete{color:var(--green)}.pipeline-step.complete .pipeline-marker{color:#fff;border-color:var(--green);background:var(--accent-bg)}.pipeline-step.current{color:var(--ink);border-color:rgba(33,76,60,.22);background:var(--green-soft)}.pipeline-step.current .pipeline-marker{color:#fff;border-color:var(--green);background:var(--accent-bg)}.pipeline-step.failed{color:var(--red);border-color:rgba(159,58,47,.24)}.pipeline-step.failed .pipeline-marker{color:#fff;border-color:var(--red);background:var(--danger-bg)}.stats-layout{display:grid;gap:14px}.stats-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.metric-card{min-height:74px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:none}.metric-card span{display:block;color:var(--muted);font-size:12px;font-weight:600}.metric-card strong{display:block;margin-top:7px;color:var(--green);font-size:26px;line-height:1}.stats-table{display:grid;gap:6px}.stats-opening-group{display:grid;gap:5px}.stats-opening-summary,.stats-row{display:grid;grid-template-columns:minmax(260px,1fr) 90px 90px minmax(120px,.45fr);gap:10px;align-items:center;min-height:48px;padding:10px 12px;border:1px solid rgba(31,37,31,.1);border-radius:var(--radius);background:var(--surface-strong);color:var(--muted);font-size:13px;font-weight:600;text-align:left}.stats-opening-summary{min-height:58px;border-color:rgba(33,76,60,.2);background:var(--green-soft);color:var(--ink)}.stats-opening-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.stats-row.header{color:var(--ink);background:var(--well);font-size:12px;text-transform:uppercase}.line-history-row.active,.stats-row.active{border-color:rgba(33,76,60,.42);background:var(--info-well);color:var(--ink)}.line-history-panel{display:grid;gap:12px}.line-history-row{grid-template-columns:minmax(240px,1fr) 80px 90px 110px}.metric-card.neutral strong,.stats-opening-summary.no-attempts span:last-child,.stats-row.no-attempts span:last-child{color:var(--muted)}.stats-opening-lines{display:grid;gap:4px;padding-left:12px;border-left:3px solid rgba(33,76,60,.28)}.stats-line-entry{display:grid;gap:5px}.stats-line-name-button{min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}