:root{--bg: #fafafa;--surface: #fff;--border: #e4e4e7;--text: #09090b;--muted: #52525b;--accent: #e84142;--accent2: #ff6b35;--green: #22c55e;--warn: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Pretendard,-apple-system,sans-serif;padding:16px 12px 60px;line-height:1.65;font-size:15px}@media(min-width:640px){body{padding:20px 16px 80px}}.wrap{max-width:1200px;margin:0 auto}.head-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:6px}h1{font-size:clamp(20px,5.5vw,26px);font-weight:700;letter-spacing:-.5px}.sub{color:var(--muted);font-size:13px;margin-bottom:18px}.auto-refresh{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.auto-refresh .dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-bottom:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;min-width:0}.card h3{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.num{font-size:clamp(26px,7vw,30px);font-weight:700;letter-spacing:-1px;line-height:1.1}.num.accent{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.row:last-child{border:0}.row .name{font-weight:500;flex:0 1 auto;min-width:0;word-break:keep-all}.row .val{color:var(--muted);font-weight:600;flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}.bar{height:10px;background:#eeeef0;border-radius:999px;overflow:hidden;flex:1 1 40px;max-width:180px}.bar-fill{display:block;height:100%;min-width:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2))}.alert{background:#f59e0b1a;border:1px solid var(--warn);color:#92400e;border-radius:10px;padding:11px 13px;font-size:13px;margin-bottom:8px}.ok{background:#22c55e1a;border:1px solid var(--green);color:#166534;border-radius:10px;padding:11px 13px;font-size:13px}.warn-box{background:#e8414214;border:1px solid var(--accent);color:#991b1b;border-radius:10px;padding:12px 14px;font-size:13px;margin-bottom:16px}.warn-box code{background:#0000000d;padding:1px 6px;border-radius:4px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:14px;min-width:420px}th,td{padding:8px 9px;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:700;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}td.num-col,th.num-col{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.auth-fail{padding:40px 20px;text-align:center;color:var(--muted)}.meta{font-size:11px;color:var(--muted);margin-top:4px}.section{margin-bottom:26px}.section h2{font-size:15px;font-weight:700;margin-bottom:10px}.pill{display:inline-block;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600}.pill.v1{background:#f4f4f5;color:var(--muted)}.pill.v2{background:#e841421f;color:var(--accent)}.chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.chart-scroll::-webkit-scrollbar{height:6px}.chart-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.chart-scroll::-webkit-scrollbar-track{background:transparent}.chart{display:block}.chart .axis{stroke:var(--border);stroke-width:1}.chart .cbar{fill:url(#grad)}.chart .label{font-size:10px;fill:var(--muted)}.chart .num-label{font-size:11px;fill:var(--text);font-weight:700}.ctr-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.ctr-row .nm{flex:1 1 auto;min-width:0;word-break:keep-all}.ctr-row .stats{flex:0 0 auto;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.ctr-row .ctr-pct{font-weight:700;color:var(--accent);margin-left:4px;min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.ctr-row.rest{color:var(--muted);font-size:13px;border-bottom:0}
