:root{--bg: #0f1117;--panel: #171a23;--panel-2: #1e2230;--border: #2a2f3f;--text: #e6e9f0;--muted: #8b93a7;--accent: #4f8cff;--green: #34d399;--red: #f87171;--yellow: #fbbf24;--radius: 14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5}.page{max-width:980px;margin:0 auto;padding:32px 20px 60px}.head{text-align:center;margin-bottom:28px}.head h1{font-size:26px;margin:0 0 8px;letter-spacing:.5px}.sub{color:var(--muted);margin:0;font-size:14px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;margin-bottom:20px}.panel h2{margin:0 0 16px;font-size:16px;font-weight:600}.net-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.net-item{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.net-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-bottom:6px}.net-value{font-size:14px;font-weight:600;word-break:break-all;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cm-badge{background:#4f8cff26;color:var(--accent);border:1px solid rgba(79,140,255,.4);border-radius:6px;padding:1px 8px;font-size:12px;font-weight:600}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none}.dot.ok{background:var(--green);box-shadow:0 0 6px #34d399b3}.dot.fail{background:var(--red);box-shadow:0 0 6px #f87171b3}.dot.untested{background:var(--yellow)}.dot.pending{background:var(--muted);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.banner{text-align:center;padding:26px 22px;background:linear-gradient(135deg,#4f8cff1f,#4f8cff08);border-color:#4f8cff59}.banner-flag{display:inline-block;font-size:13px;letter-spacing:2px;color:var(--accent);border:1px solid rgba(79,140,255,.5);border-radius:999px;padding:2px 14px;margin-bottom:12px}.banner-url{font-size:22px;font-weight:700;color:#fff;word-break:break-all}.banner-reason{color:var(--muted);font-size:13px;margin:10px auto 0;max-width:620px}.cards-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cards-head h2{margin:0}.cards-actions{display:flex;align-items:center;gap:12px}.checked-at{color:var(--muted);font-size:13px}.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer}.btn:disabled{opacity:.55;cursor:default}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}.card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.card.ok{border-color:#34d39973}.card.fail{border-color:#f8717173}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-name{display:flex;align-items:center;gap:8px;font-weight:600}.card-badge{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:1px 8px;white-space:nowrap}.card-url{font-size:15px;font-weight:600;color:#fff;word-break:break-all}.card-status{display:flex;align-items:center;gap:8px}.status-pill{font-size:13px;border-radius:999px;padding:3px 12px;font-weight:600}.status-pill.ok{color:var(--green);background:#34d3991f;border:1px solid rgba(52,211,153,.4)}.status-pill.fail{color:var(--red);background:#f871711f;border:1px solid rgba(248,113,113,.4)}.status-pill.pending{color:var(--muted);background:#8b93a71f;border:1px solid rgba(139,147,167,.4)}.card-detail{list-style:none;margin:0;padding:0;font-size:13px;display:flex;flex-direction:column;gap:6px}.card-detail li{display:flex;justify-content:space-between;gap:10px}.card-detail .k{color:var(--muted);flex:none}.card-detail .v{text-align:right;word-break:break-all}.card-note{margin:0;font-size:12px;color:var(--muted);border-top:1px dashed var(--border);padding-top:8px}.error{color:var(--red);font-size:13px;margin:8px 0 0}.hint{color:var(--muted);font-size:14px}.foot{text-align:center;color:var(--muted);font-size:12px;margin-top:24px}
