:root{--bg: #070d1f;--panel: #0e1a36;--panel-2: #14234a;--line: rgba(110, 150, 230, .2);--text: #e8eeff;--muted: #8a9bc2;--blue: #3b82ff;--ok: #2fcf8a;--warn: #f5b93a;--bad: #ff6378;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{padding:7px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:var(--blue)}button:disabled{opacity:.45;cursor:default}button.ok{border-color:transparent;background:var(--ok);color:#04160d;font-weight:700}button.danger{border-color:transparent;background:var(--bad);color:#1c0307;font-weight:700}input,select{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);min-width:0}a{color:#7fb0ff}h2{margin:0 0 14px;font-size:20px}h3{margin:22px 0 10px;font-size:15px}h4{margin:20px 0 8px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.5px}.error{color:var(--bad)}.success{color:var(--ok)}.empty{padding:18px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center}.gate{display:grid;place-content:center;min-height:100vh;padding:24px;text-align:center}.shell{display:grid;grid-template-columns:190px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.top{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--panel)}.nav{display:flex;flex-direction:column;gap:4px;padding:14px 10px;border-right:1px solid var(--line)}.nav button{border:0;background:none;text-align:left;color:var(--muted)}.nav button.active{background:var(--panel-2);color:var(--text);font-weight:600}.main{min-width:0;padding:20px}.menu-btn{display:none}.page-name{display:none;color:var(--muted);font-weight:500}@media(max-width:760px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.top{position:sticky;top:0;z-index:25;justify-content:flex-start;gap:12px;padding:10px 14px}.who{margin-left:auto}.page-name{display:inline}.menu-btn{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:38px;height:34px;padding:0 9px}.menu-btn span{display:block;height:2px;border-radius:2px;background:var(--text)}.nav{position:fixed;top:0;bottom:0;left:0;z-index:30;width:min(260px,80vw);padding:18px 12px;border-right:1px solid var(--line);background:var(--panel);transform:translate(-100%);transition:transform .22s ease}.nav.open{transform:none;box-shadow:8px 0 30px #00000073}.nav button{padding:12px 14px;font-size:15px}.nav-backdrop{position:fixed;inset:0;z-index:28;background:#02050e8c}.main{grid-column:1;padding:14px}.stats-grid{grid-template-columns:repeat(2,1fr)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.stat{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.stat-hint{color:var(--muted);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.toolbar input{flex:1 1 200px}.tabs-inline{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tabs-inline button.active{border-color:var(--blue);background:#3b82ff2e}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse}th,td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:var(--panel);color:var(--muted);font-size:12px;font-weight:600}tbody tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.pos{color:var(--ok)}.neg{color:var(--bad)}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#3b82ff12}.actions-cell{display:flex;gap:6px}.pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;color:var(--muted)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600}.badge-ok{background:#2fcf8a29;color:var(--ok)}.badge-warn{background:#f5b93a29;color:var(--warn)}.badge-bad{background:#ff637829;color:var(--bad)}.badge-info{background:#3b82ff2e;color:#8cb6ff}.badge-muted{background:#8a9bc229;color:var(--muted)}.plain{margin:0;padding:0;list-style:none}.plain li{padding:6px 0;border-bottom:1px solid var(--line)}.ranked{counter-reset:rank}.ranked li:before{counter-increment:rank;content:counter(rank) ".";display:inline-block;width:26px;color:var(--muted)}.drawer-backdrop{position:fixed;inset:0;z-index:20;display:flex;justify-content:flex-end;background:#02050e99}.drawer{position:relative;width:min(520px,100%);height:100%;overflow-y:auto;padding:22px;border-left:1px solid var(--line);background:var(--panel)}.drawer h3{margin-top:0;padding-right:30px}.close{position:absolute;top:14px;right:14px;width:32px;height:32px;padding:0;font-size:20px;line-height:1}.facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0}.stack{display:flex;flex-direction:column;gap:8px}.bars{display:flex;align-items:flex-end;gap:6px;height:180px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.bar-col{display:flex;flex:1;flex-direction:column;align-items:center;gap:4px;height:100%;color:var(--muted);font-size:10.5px}.bar-track{position:relative;flex:1;width:100%}.bar{position:absolute;bottom:0;left:15%;width:70%;border-radius:4px 4px 0 0}.bar-started{background:#3b82ff4d}.bar-confirmed{background:var(--blue)}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.segmented button{border:0;background:none;color:var(--muted)}.segmented button.active{background:var(--panel-2);color:var(--text);font-weight:600}.preview{margin:0;font-variant-numeric:tabular-nums}
