:root{color-scheme:light;--surface-0: #f4f4f2;--surface-1: #fcfcfb;--surface-2: #f0efec;--grid: #e4e3df;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #7a7973;--series-1: #2a78d6;--series-1-wash: rgba(42, 120, 214, .1);--good: #008300;--critical: #e34948;--accent: #eda100;--radius: 12px}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--surface-0: #111110;--surface-1: #1a1a19;--surface-2: #232321;--grid: #383835;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #8f8e86;--series-1: #3987e5;--series-1-wash: rgba(57, 135, 229, .12);--good: #3fb950;--critical: #e66767;--accent: #c98500}}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);color:var(--text-primary);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--series-1)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--surface-1);border-right:1px solid var(--grid);padding:20px 12px;display:flex;flex-direction:column;gap:4px}.brand{font-weight:700;padding:4px 12px 16px}.nav-link{display:block;padding:8px 12px;border-radius:8px;color:var(--text-secondary);text-decoration:none}.nav-link.active,.nav-link:hover{background:var(--surface-2);color:var(--text-primary)}.sidebar .spacer{flex:1}.sidebar .who{color:var(--text-muted);font-size:13px;padding:8px 12px;word-break:break-all}main{padding:24px;max-width:1200px;width:100%}h1{font-size:22px;margin:0 0 16px}h2{font-size:16px;margin:0 0 12px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}.toolbar select,.toolbar input{background:var(--surface-1);border:1px solid var(--grid);border-radius:8px;padding:6px 10px}.toolbar .hint{color:var(--text-muted);font-size:13px}.button{background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;padding:6px 12px}.button.primary{background:var(--series-1);border-color:var(--series-1);color:#fff}.button:disabled{opacity:.5;cursor:default}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:20px}.tile{background:var(--surface-1);border:1px solid var(--grid);border-radius:var(--radius);padding:14px 16px}.tile .label{color:var(--text-secondary);font-size:13px}.tile .value{font-size:28px;font-weight:600;font-variant-numeric:normal}.tile .detail{color:var(--text-muted);font-size:12px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.card{background:var(--surface-1);border:1px solid var(--grid);border-radius:var(--radius);padding:16px;margin-bottom:16px;min-width:0}.card .subtitle{color:var(--text-muted);font-size:13px;margin:-8px 0 12px}.chart{position:relative}.chart svg{display:block;width:100%;height:auto}.chart .axis{fill:var(--text-muted);font-size:11px}.chart .gridline{stroke:var(--grid);stroke-width:1}.chart .bar{fill:var(--series-1)}.chart .bar:hover,.chart .bar.hover{fill:var(--text-primary)}.chart .hit{fill:transparent}.tooltip{position:absolute;pointer-events:none;background:var(--surface-2);border:1px solid var(--grid);border-radius:8px;padding:6px 10px;font-size:13px;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px))}.tooltip strong{display:block}.bar-list{display:grid;gap:6px}.bar-row{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;align-items:center;gap:10px;font-size:13px}.bar-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.bar-row .track{height:14px}.bar-row .fill{height:14px;background:var(--series-1);border-radius:0 4px 4px 0;min-width:2px}.bar-row .count{font-variant-numeric:tabular-nums;color:var(--text-primary)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--grid);vertical-align:top}th{color:var(--text-secondary);font-weight:600}td.number,th.number{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}details summary{cursor:pointer;color:var(--text-muted);font-size:13px;margin-top:8px}.pill{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--surface-2);font-size:12px;color:var(--text-secondary)}.status-good:before,.status-critical:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.status-good:before{background:var(--good)}.status-critical:before{background:var(--critical)}.pager{display:flex;gap:8px;align-items:center;margin-top:12px;color:var(--text-muted);font-size:13px}.empty{color:var(--text-muted);padding:12px 0}.error{color:var(--critical)}.login{max-width:380px;margin:12vh auto;background:var(--surface-1);border:1px solid var(--grid);border-radius:var(--radius);padding:24px;display:grid;gap:12px}.login input{background:var(--surface-0);border:1px solid var(--grid);border-radius:8px;padding:10px 12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.form-grid label{display:grid;gap:4px;font-size:13px;color:var(--text-secondary)}.form-grid input,.note-input{background:var(--surface-0);border:1px solid var(--grid);border-radius:8px;padding:6px 10px}.form-grid .range{color:var(--text-muted);font-size:12px}.note-input{width:100%;margin-bottom:12px}.hint{color:var(--text-muted);font-size:13px}.replay-field{width:100%;height:auto;display:block;border-radius:8px;background:#2f7d32}.replay-field .line{fill:none;stroke:#fffc;stroke-width:4}.replay-field .home{fill:var(--series-1);stroke:#fff;stroke-width:3}.replay-field .away{fill:var(--accent);stroke:#fff;stroke-width:3}.replay-field .ball{fill:#fff;stroke:#111;stroke-width:3}.replay-field .shooter{stroke:#111;stroke-width:6}.replay-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.replay-status{font-weight:600;min-height:1.5em}.legend{display:flex;gap:16px;font-size:13px;color:var(--text-secondary);margin-top:8px}.legend .swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--grid)}.sidebar .spacer,.sidebar .who{display:none}main{padding:16px}}
