*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f5f7;--surface:#fff;--surface-2:#fbfbfd;--border:#e3e3e8;--hairline:#ededf0;--accent:#0071e3;--green:#248a3d;--green-bg:#e7f7ec;--red:#d70015;--text:#1d1d1f;--text-2:#6e6e73;--text-3:#8e8e93;--radius:18px;--radius-m:14px;--shadow-sm:0 1px 2px #0000000d;--font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, sans-serif}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.ic{flex-shrink:0;width:18px;height:18px}.wrap{max-width:960px;margin:0 auto;padding:32px 20px 64px}.head{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.brand{letter-spacing:-.3px;color:var(--text-2);font-size:15px;font-weight:600}.brand span{color:var(--accent)}.title{letter-spacing:-.6px;margin-top:4px;font-size:32px;font-weight:600}.subtitle{color:var(--text-2);margin-top:2px;font-size:15px}.head-right{flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto;display:flex}.badge-pct{background:var(--green-bg);color:var(--green);border-radius:980px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-block}.live{color:var(--text-3);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.dot{background:var(--green);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse;box-shadow:0 0 #34c75980}@keyframes pulse{0%{box-shadow:0 0 #34c75973}70%{box-shadow:0 0 0 7px #34c75900}to{box-shadow:0 0 #34c75900}}.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:22px;display:grid}.metric{background:var(--surface);border-radius:var(--radius-m);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:20px;display:flex}.metric.accent{background:linear-gradient(135deg,#0071e3,#0a84ff)}.metric.accent .m-label,.metric.accent .m-value,.metric.accent .m-sub{color:#fff}.metric.accent .m-sub{opacity:.82}.m-label{color:var(--text-2);font-size:13px;font-weight:500}.m-value{letter-spacing:-1px;font-size:29px;font-weight:600;line-height:1.05}.m-value.green{color:var(--green)}.m-sub{color:var(--text-3);font-size:13px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.card-head{border-bottom:1px solid var(--hairline);padding:18px 22px;font-size:17px;font-weight:600}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px}th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--hairline);white-space:nowrap;padding:13px 18px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--hairline);white-space:nowrap;padding:13px 18px;font-size:14px}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}td code{color:var(--text-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.muted{color:var(--text-3)}.green{color:var(--green)}.center{justify-content:center;align-items:center;min-height:70vh;padding:24px;display:flex}.state{background:var(--surface);box-shadow:var(--shadow-sm);text-align:center;border-radius:22px;flex-direction:column;gap:12px;max-width:420px;padding:40px 36px;display:flex}.state h1{letter-spacing:-.3px;font-size:22px;font-weight:600}.state p{color:var(--text-2);font-size:15px;line-height:1.5}.spinner{border:3px solid var(--hairline);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:0 auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;border-radius:980px;align-self:center;align-items:center;gap:7px;padding:9px 18px;display:inline-flex}.btn:hover{background:var(--surface-2)}.footnote{color:var(--text-3);text-align:center;margin-top:18px;font-size:12.5px}@media (width<=640px){.wrap{padding:20px 14px 48px}.title{font-size:26px}.head-right{flex-direction:row;align-items:flex-start;margin-left:0}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}}
