:root{--bg:#f7f7f5;--fg:#1d1d1f;--muted:#6b6b70;--line:#e2e2df;--card:#fff;--accent:#1f5fbf;--warn:#8a5a00;--warn-bg:#fff6e0;--bad:#a1281e;--bad-bg:#fdecea;--ok:#1e6b34;--ok-bg:#e8f5ec}@media (prefers-color-scheme:dark){:root{--bg:#121214;--fg:#ececec;--muted:#a0a0a6;--line:#2a2a2e;--card:#1b1b1e;--accent:#6ea2ff;--warn:#ffcf66;--warn-bg:#2c2412;--bad:#ff8a80;--bad-bg:#2c1513;--ok:#7fd69b;--ok-bg:#12261a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:15px/1.5 system-ui,sans-serif}header{border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:16px;padding:10px 20px;display:flex}header a{color:inherit;text-decoration:none}header .grow{flex:1}main{max-width:1080px;margin:0 auto;padding:20px 16px}a{color:var(--accent)}h1{margin:0 0 12px;font-size:22px}h2{margin:24px 0 8px;font-size:17px}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:14px 16px}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.kpi .v{font-size:24px;font-weight:600}.kpi .l{color:var(--muted);font-size:13px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}th{color:var(--muted);font-size:13px;font-weight:500}.pill{border:1px solid var(--line);border-radius:99px;padding:1px 8px;font-size:12px;display:inline-block}.err{background:var(--bad-bg);color:var(--bad);border-radius:6px;margin:10px 0;padding:8px 12px}.note{color:var(--muted);font-size:13px}.judge-ran_agreed{background:var(--ok-bg);color:var(--ok)}.judge-ran_with_remarks{background:var(--warn-bg);color:var(--warn)}.judge-not_run{background:var(--bad-bg);color:var(--bad);font-weight:600}.remark{border-left:3px solid var(--warn);background:var(--warn-bg);color:var(--warn);margin-top:4px;padding:4px 8px;font-size:13px}form.inline{display:inline}input,textarea,select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:6px;width:100%;padding:6px 8px}textarea{min-height:90px}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;border-radius:6px;padding:6px 12px}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}label{color:var(--muted);margin:8px 0 4px;font-size:13px;display:block}.row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.row>*{flex:1}blockquote{border-left:3px solid var(--line);color:var(--muted);margin:4px 0;padding:4px 10px;font-size:13px}
