:root{--bg: #f5f6fa;--panel: #fff;--text: #1d2433;--muted: #667085;--border: #e4e7ec;--accent: #3b5bdb;--good: #2b8a3e;--warn: #e67700;--bad: #c92a2a;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12.5px}code{background:#eef0f4;padding:1px 4px;border-radius:4px;word-break:break-all}button{font:inherit;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer}button:hover:not(:disabled){border-color:#c5cad3}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.link{border:none;background:none;color:var(--accent);padding:0}input,select,textarea{font:inherit;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:#fff}textarea{width:100%;resize:vertical}header{display:flex;align-items:center;gap:14px;padding:10px 20px;background:#1d2433;color:#fff;position:sticky;top:0;z-index:2}header a{color:#c8d1ff}header .brand{font-weight:700;color:#fff;font-size:16px}header .comp{font-weight:600}header nav{display:flex;gap:14px;margin-left:12px}header .me{margin-left:auto;opacity:.8}main{padding:16px 20px 40px}.toolbar{display:flex;gap:16px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.toolbar input[type=text],.toolbar input:not([type]){width:260px}.stats{color:var(--muted);margin-left:auto}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}.column{min-width:260px;max-width:300px;flex:1 0 260px}.column h3{text-transform:uppercase;font-size:12px;letter-spacing:.05em;margin:4px 2px 8px}.chal{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.chal.solved{opacity:.72;background:#f3faf4}.chal.active{border-color:var(--accent);box-shadow:0 0 0 2px #3b5bdb26}.chal .name{font-weight:600;color:var(--text)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:space-between}.row.small{justify-content:flex-start}.small{font-size:12.5px}.muted{color:var(--muted)}.pts{font-weight:700;color:var(--accent)}.people{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:4px 0 10px}.chip{background:#e7ecff;color:#2f44a8;border-radius:999px;padding:1px 9px;font-size:12.5px}.links{display:inline-flex;gap:8px;font-size:12.5px}.badge{border-radius:4px;padding:1px 6px;font-size:11.5px;font-weight:600}.state-open{background:#eef0f4;color:#475467}.state-in_progress{background:#fff3db;color:#9c4f00}.state-solved{background:#e3f6e7;color:var(--good)}.state-writeup_done{background:#d3f9d8;color:#1b5e20}.state-removed{background:#ffe3e3;color:var(--bad)}.health-online{background:#e3f6e7;color:var(--good)}.health-degraded{background:#fff3db;color:var(--warn)}.health-offline{background:#ffe3e3;color:var(--bad)}.health-paused{background:#eef0f4;color:#475467}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:14px}.panel h3{margin:4px 0 10px;font-size:14px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}@media(max-width:900px){.grid2{grid-template-columns:1fr}}.detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:8px}.detail-head h2{margin:2px 0 6px}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}pre.desc{white-space:pre-wrap;background:#f8f9fb;padding:10px;border-radius:6px;margin:0 0 8px}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:4px 0;border-bottom:1px dashed var(--border)}.timeline .when{color:var(--muted);font-size:12px;margin-right:4px}.error{background:#ffe3e3;color:var(--bad);padding:8px 12px;border-radius:6px;margin-bottom:10px}.notice{background:#e7ecff;padding:8px 12px;border-radius:6px;margin-bottom:10px}.loading,.empty{color:var(--muted);padding:40px;text-align:center}.signin{max-width:520px;margin:80px auto;background:#fff;padding:24px 28px;border-radius:12px}table{border-collapse:collapse;width:100%;margin-top:8px}td{padding:5px 8px;border-bottom:1px solid var(--border)}
