:root{--page:#f5f5f4;--surface:#fff;--surface-muted:#fafaf9;--border:#e7e5e4;--border-strong:#d6d3d1;--divider:#f5f5f4;--text:#1c1917;--heading:#292524;--text-soft:#44403c;--muted:#57534e;--bar:#1c1917;--bar-hover:#44403c;--bar-link:#d6d3d1;--wordmark:#34d399;--wordmark-hover:#6ee7b7;--accent:#047857;--accent-hover:#065f46;--accent-strong:#047857;--accent-soft:#ecfdf5;--accent-border:#a7f3d0;--accent-bar:#10b981;--info-bar:#38bdf8;--warn:#b45309;--warn-soft:#fffbeb;--warn-border:#fde68a;--danger:#b91c1c;--left:#dc2626;--right:#0369a1;--good:var(--accent-strong);--bad:var(--warn);--series-1:#2a78d6;--series-2:#eb6834;--radius-card:.75rem;--radius-control:.375rem;--shadow-card:0 1px 2px 0 #0000000d;--shadow-bar:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;background:var(--page);color:var(--text);font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;line-height:1.5}body{background:var(--page);min-height:100vh;margin:0}.site-header{background:var(--bar);color:#fff;box-shadow:var(--shadow-bar)}.site-header-inner{align-items:center;gap:2rem;max-width:80rem;margin:0 auto;padding:1rem 1.5rem;display:flex}.wordmark{letter-spacing:-.025em;color:var(--wordmark);font-size:1.25rem;font-weight:700;text-decoration:none;transition:color .15s}.wordmark:hover{color:var(--wordmark-hover)}.site-links{gap:2rem;display:flex}.site-links a{color:var(--bar-link);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s}.site-links a:hover,.site-links a.current{color:#fff}.site-account{align-items:center;gap:1.25rem;margin-left:auto}.site-header button.site-logout{color:var(--bar-link);background:0 0;border:0;padding:0;transition:color .15s}.site-header button.site-logout:hover:not(:disabled){color:#fff;background:0 0}.app{box-sizing:border-box;max-width:80rem;margin:0 auto;padding:2rem 1.5rem}h1{color:var(--heading);margin:0 0 1.5rem;font-size:1.875rem;font-weight:700;line-height:2.25rem}h2{color:var(--heading);border-bottom:1px solid var(--border);margin:2rem 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:600}h3{color:var(--heading);font-size:1rem;font-weight:600}a{color:var(--accent-strong);transition:color .15s}a:hover{color:var(--accent-bar)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em}.muted{color:var(--muted)}.note{color:var(--muted);font-size:.875rem;font-style:italic}.good{color:var(--good)}.bad{color:var(--bad)}.error{color:var(--danger)}.notice{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn);border-radius:var(--radius-control);padding:.5rem .75rem;font-size:.875rem}button{font:inherit;color:var(--text-soft);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-control);cursor:pointer;padding:.5rem .875rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}button:hover:not(:disabled){background:var(--surface-muted)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}button.danger{color:var(--danger);border-color:#fca5a5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-bar);outline-offset:1px}input,textarea,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-control);padding:.4rem .6rem;font-size:.875rem}.card,.clip-editor,.clip-list{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.table-card{overflow:hidden}.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:24rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:center;color:var(--muted);border-top:4px solid var(--border);gap:.25rem;padding:1.25rem;font-size:.875rem;font-weight:500;display:grid}.stat-card.accent-emerald{border-top-color:var(--accent-bar)}.stat-card.accent-sky{border-top-color:var(--info-bar)}.figure{color:var(--heading);font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:700;line-height:2.5rem}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{background:var(--surface-muted);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:.75rem 1.25rem;font-size:.75rem;font-weight:600}.data-table td{border-top:1px solid var(--divider);padding:.75rem 1.25rem}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:hover{background:var(--accent-soft)}.data-table .align-right{text-align:right}.data-table .numeric{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.badge{border-radius:var(--radius-control);white-space:nowrap;color:var(--accent-strong);background:var(--accent-soft);border:1px solid var(--accent-border);align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge.badge-warn{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-border)}.home .note{max-width:40rem}.round,.summary{max-width:60rem}.round-header{color:var(--muted);align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.875rem;font-weight:500;display:flex}.stage{aspect-ratio:16/9;border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#000;position:relative;overflow:hidden}.stage-video{pointer-events:none;position:absolute;inset:-60px 0}.stage-video iframe{border:0;width:100%;height:100%}.stage-cover{color:#a8a29e;letter-spacing:.1em;text-transform:uppercase;background:#000;place-items:center;font-size:1.4em;display:grid;position:absolute;inset:0}.stage-cover .stage-play{letter-spacing:.05em;text-transform:uppercase;padding:.75rem 1.75rem;font-size:1.125rem}.stage-ready{justify-items:center;gap:1.25rem;max-width:40rem;padding:1rem 1.5rem;display:grid}.stage-requirements{text-align:center;text-transform:none;letter-spacing:normal;max-height:10rem;overflow-y:auto}.stage-requirements h3{letter-spacing:.1em;text-transform:uppercase;color:#a8a29e;margin:0 0 .375rem;font-size:.75rem}.stage-requirements p{color:#e7e5e4;white-space:pre-line;margin:0;font-size:1rem;line-height:1.5}.stage-countdown{color:#fff;font-variant-numeric:tabular-nums;font-size:4rem;font-weight:700}.stage-rate{color:#fff;background:#0009;border-radius:4px;padding:2px 8px;font-size:.875rem;position:absolute;bottom:12px;right:12px}.replay-controls{gap:.5rem;margin-top:.75rem;display:flex}.call-builder{gap:1rem;margin-top:1rem;display:grid}.action-pad{grid-template-columns:1fr auto 1fr;gap:1rem;display:grid}.fencer-column{align-content:start;gap:.375rem;display:grid}.fencer-column h3{text-align:center;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem;font-size:.75rem}.fencer-column.left h3{color:var(--left)}.fencer-column.right h3{color:var(--right)}.fencer-column.left button{border-left:4px solid var(--left)}.fencer-column.right button{border-right:4px solid var(--right)}.double-button{margin-top:1.6rem}.call-empty{color:var(--muted);margin:0;font-size:.875rem;font-style:italic}.call-sequence{counter-reset:step;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-card);counter-increment:step;align-items:center;font-size:.875rem;display:flex}.step:before{content:counter(step);color:var(--muted);font-variant-numeric:tabular-nums;padding:0 .375rem 0 .625rem;font-size:.75rem}.step.left{border-left:4px solid var(--left)}.step.right{border-left:4px solid var(--right)}.step.double{border-left:4px solid var(--muted)}.step button{box-shadow:none;background:0 0;border:0;padding:.375rem .5rem}.step-text{padding:.375rem .5rem}.step .step-success{border:1px solid var(--border-strong);white-space:nowrap;border-radius:999px;margin-left:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.step .step-success.hit{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.step .step-success.hit:hover:not(:disabled){background:var(--accent-border)}.step .step-success.no-hit{background:var(--surface-muted);color:var(--muted);border-style:dashed}.step .step-success.no-hit:hover:not(:disabled){background:var(--divider);border-style:solid}.step-remove{color:var(--muted)}.call-controls{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.review{gap:1rem;margin-top:1rem;display:grid}.review-headline{align-items:baseline;gap:1rem;margin:0;font-size:1.25rem;font-weight:700;display:flex}.review-score{color:var(--muted);font-size:.875rem;font-weight:500}.review-table tr.mismatch td:last-child{color:var(--bad)}.review-table tr.match td:last-child{color:var(--good)}.review-table td:first-child{color:var(--muted);font-variant-numeric:tabular-nums;width:2rem}.step-cell{border-left:3px solid var(--muted);padding-left:.5rem}.step-cell.left{border-left-color:var(--left)}.step-cell.right{border-left-color:var(--right)}.step-none{color:var(--muted)}.review-requirements{border:1px solid var(--border);border-left:4px solid var(--info-bar);border-radius:var(--radius-control);background:var(--surface);color:var(--text-soft);white-space:pre-line;margin:0;padding:.75rem 1rem;font-size:.875rem}.review-explanation{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text-soft);margin:0;padding:.75rem 1rem;font-size:.875rem;font-style:italic}.summary-tally{margin:0;padding:.25rem 0;list-style:none}.summary-tally li{padding:.625rem 1.25rem;font-size:.875rem}.summary-tally li+li{border-top:1px solid var(--divider)}.tally-count{min-width:2.5rem;color:var(--bad);font-variant-numeric:tabular-nums;font-weight:700;display:inline-block}.summary .call-controls{margin-top:1.5rem}.video-form{gap:.5rem;margin-bottom:.5rem;display:flex}.video-form input{flex:1}.account-form{gap:.75rem;max-width:24rem;margin-bottom:1.25rem;display:grid}.account-form label{color:var(--text-soft);gap:.25rem;font-size:.875rem;font-weight:500;display:grid}.account-form button{justify-self:start}.account-form .error{margin:0}.account .notice{max-width:40rem}.author-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1.5rem;margin-top:1rem;display:grid}@media (width<=900px){.author-layout{grid-template-columns:1fr}}.scrubber{aspect-ratio:16/9;border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#000;position:relative;overflow:hidden}.scrubber-video{position:absolute;inset:0}.scrubber-video iframe{border:0;width:100%;height:100%}.transport{flex-wrap:wrap;align-items:center;gap:.375rem;margin:.75rem 0 1.25rem;display:flex}.timecode{font-variant-numeric:tabular-nums;color:var(--heading);text-align:center;min-width:90px;font-size:1.125rem;font-weight:600}.rates{gap:.25rem;margin-left:auto;display:flex}.clip-editor{gap:.875rem;padding:1.25rem;display:grid}.clip-editor h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.25rem 0 0;font-size:.75rem}.clip-editor label{color:var(--muted);gap:.25rem;font-size:.875rem;font-weight:500;display:grid}.clip-editor label.inline{color:var(--text-soft);align-items:center;gap:.375rem;display:flex}.clip-editor label.block textarea{box-sizing:border-box;width:100%}.field-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.5rem;display:flex}.field-row label{flex:1}.button-row{flex-wrap:wrap;gap:.5rem;display:flex}.window-fields{gap:.5rem;display:grid}.window-edge{flex-wrap:wrap;align-items:end;gap:.375rem;display:flex}.window-edge input{width:110px}.warnings{color:var(--warn);background:var(--warn-soft);border:1px solid var(--warn-border);border-radius:var(--radius-control);margin:0;padding:.5rem .75rem;font-size:.875rem;list-style:none}.clip-list{gap:.5rem;padding:1rem;display:grid}.clip-list h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.5rem 0 0;font-size:.75rem}.clip-list ul{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.clip-list li button{text-align:left;gap:.125rem;width:100%;font-weight:500;display:grid}.clip-list li button .muted{font-size:.75rem;font-weight:400}.save-bar{border-top:1px solid var(--border);align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.75rem;font-size:.875rem;display:flex}.save-error{white-space:pre-wrap;color:var(--danger);margin:0;font-size:.8rem}.preview-backdrop{z-index:10;background:#1c1917cc;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.preview{background:var(--surface);border-radius:var(--radius-card);width:min(960px,100%);box-shadow:var(--shadow-bar);gap:.75rem;padding:1.25rem;display:grid}.table-card.table-scroll{overflow-x:auto}.account-actions{white-space:nowrap;justify-content:flex-end;gap:.5rem;display:flex}.account-actions button{padding:.25rem .625rem;font-size:.8125rem}.accounts .notice code{-webkit-user-select:all;user-select:all;font-size:1rem}.save-status{font-size:.875rem}.round-header .save-status{margin-left:auto}p.save-status{margin:0 0 1rem}button.link-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}button.link-button:hover:not(:disabled){background:0 0}.progress-stats{grid-template-columns:repeat(3,minmax(0,1fr));max-width:40rem}.progress-section{margin-bottom:1.5rem;padding:1.25rem 1.5rem}.progress-section h2,.progress-section-plain h2{margin:0 0 .75rem;font-size:1.125rem}.chart-note{max-width:48rem;margin:-.25rem 0 1rem;font-size:.875rem}.small-multiples{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem 1.5rem;display:grid}.small-multiple h3{color:var(--text-soft);margin:0 0 .25rem;font-size:.875rem;font-weight:600}.line-chart{margin:0}.chart-plot{position:relative}.chart-plot svg{touch-action:pan-y;max-width:100%;display:block;overflow:visible}.chart-plot svg:focus-visible{outline:2px solid var(--accent-bar);outline-offset:4px;border-radius:var(--radius-control)}.chart-grid{stroke:var(--border);stroke-width:1px;shape-rendering:crispedges}.chart-tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-dot{stroke:var(--surface);stroke-width:2px}.chart-crosshair{stroke:var(--border-strong);stroke-width:1px;shape-rendering:crispedges}.chart-end-label{fill:var(--text-soft);font-size:13px}.chart-end-value{fill:var(--text);font-weight:600}.chart-legend{color:var(--text-soft);flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 .5rem;padding:0;font-size:.875rem;list-style:none;display:flex}.chart-legend li,.chart-tooltip-row{align-items:center;gap:.5rem;display:flex}.line-key{border-radius:1px;width:1rem;height:2px;display:inline-block}.chart-tooltip{pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-bar);white-space:nowrap;z-index:1;padding:.5rem .75rem;font-size:.8125rem;position:absolute;top:0;transform:translate(12px)}.chart-tooltip.left{transform:translate(calc(-100% - 12px))}.chart-tooltip-title{color:var(--muted);margin-bottom:.25rem}.chart-tooltip-row strong{color:var(--text);font-variant-numeric:tabular-nums}.chart-tooltip-row span:last-child{color:var(--muted)}.chart-table{margin-top:.5rem;font-size:.8125rem}.chart-table summary{cursor:pointer;color:var(--muted)}.chart-table table{margin-top:.5rem}@media (width<=640px){.progress-stats{grid-template-columns:1fr}}.clip-history{margin:-.25rem 0 .75rem;font-size:.8125rem}
