:root{
  --bg:#0d1117;--panel:#151b23;--card:#1b2230;--line:#2a3342;--text:#e6edf3;--muted:#8b97a7;
  --accent:#7c8cff;--q:#8b97a7;--ip:#f0b429;--rv:#58a6ff;--dn:#3fb950;--bad:#f85149;
  --radius:14px;
}
@media (prefers-color-scheme: light){
  :root{--bg:#f5f7fb;--panel:#ffffff;--card:#ffffff;--line:#e2e7ef;--text:#1f2633;--muted:#667085;}
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;padding:0 max(16px,env(safe-area-inset-left)) 24px}
a{color:var(--rv);text-decoration:none}a:hover{text-decoration:underline}
.top{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:18px 0 10px;position:sticky;top:0;background:linear-gradient(var(--bg) 85%,transparent);z-index:5}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,#7c8cff33,#3fb95033);border:1px solid var(--line)}
h1{font-size:20px;margin:0}h2{font-size:15px;margin:0 0 10px;color:var(--muted);font-weight:600}
.sub{color:var(--muted);font-size:12px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.filters label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px}
select,.btn{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;min-width:120px}
.btn{cursor:pointer;min-width:auto}.btn:hover{border-color:var(--accent)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 18px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;position:relative;overflow:hidden}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c)}
.stat .n{font-size:26px;font-weight:700}.stat .l{color:var(--muted);font-size:12px}
.overview{margin-bottom:18px}
.bots{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.bot{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
.bot .name{font-weight:600;margin-bottom:6px}
.bot .nums{display:flex;gap:12px;font-size:12px;color:var(--muted)}
.bot .nums b{color:var(--text);font-size:16px;margin-right:2px}
.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:120px}
.col h3{display:flex;justify-content:space-between;align-items:center;margin:2px 4px 10px;font-size:14px}
.col h3 .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:7px}
.col h3 .count,.count{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 9px;font-size:12px;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin-bottom:9px;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--accent);transform:translateY(-1px)}
.card .title{font-weight:600;margin-bottom:7px;word-break:break-word}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.tag{font-size:11px;border-radius:999px;padding:1px 8px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.tag.bot{color:var(--accent);border-color:#7c8cff55}
.ci{font-size:11px;border-radius:999px;padding:1px 8px;font-weight:600}
.ci.success{background:#3fb95022;color:var(--dn)}.ci.failure{background:#f8514922;color:var(--bad)}
.ci.pending{background:#f0b42922;color:var(--ip)}.ci.none{background:#8b97a71a;color:var(--muted)}
.notes{color:var(--muted);font-size:12px;margin:4px 0}
.times{color:var(--muted);font-size:11px;display:flex;gap:10px;flex-wrap:wrap}
.empty{color:var(--muted);text-align:center;padding:22px 0;font-size:12px}
.external{margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}
.external summary{cursor:pointer;display:flex;gap:10px;align-items:center;font-weight:600;list-style:none}
.external summary::-webkit-details-marker{display:none}
.external summary::before{content:"▸";color:var(--muted);transition:transform .15s}
.external[open] summary::before{transform:rotate(90deg)}
.ext-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px;margin-top:10px}
.ext-list .card{margin:0}
.notice{color:var(--muted);font-size:12px;padding:8px 0}
.foot{color:var(--muted);font-size:11px;text-align:center;margin-top:22px}
@media (max-width:900px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.board{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}select{min-width:0;width:100%}.filters{width:100%}.filters label{flex:1}}
