:root{--bg:#f8fafc;--card:#fff;--table-head:#f9fafb;--code-bg:#1e293b;--tooltip-bg:#1e293b;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-focus:rgba(37,99,235,.08);--text:#0f172a;--text-2:#374151;--muted:#6b7280;--muted-2:#9ca3af;--subtle:#94a3b8;--border:#e2e8f0;--border-2:#e5e7eb;--border-3:#f1f5f9;--border-4:#f3f4f6;--green-bg:#f0fdf4;--red-bg:#fef2f2;--amber-bg:#fffbeb;--blue-bg:#eff6ff;--purple-bg:#f5f3ff;--gray-bg:#f9fafb;--green:#16a34a;--green-dark:#15803d;--red:#dc2626;--red-dark:#b91c1c;--red-2:#ef4444;--amber:#b45309;--amber-2:#f59e0b;--blue-dark:#1d4ed8;--purple:#7c3aed;--purple-dark:#6d28d9;--chart-purple:#7c3aed;--chart-amber:#f59e0b;--chart-red:#ef4444;--chart-blue:#3b82f6;--chart-gray:#64748b;--chart-green:#10b981;--radius:10px;--radius-sm:6px;--radius-xs:4px;--shadow-card:0 2px 12px rgba(0,0,0,.06);--shadow-tooltip:0 4px 16px rgba(0,0,0,.18)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{font-size:14px}body{font-family:Segoe UI,system-ui,sans-serif;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font-family:inherit}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-xs);font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap}.pill-green{background:var(--green-bg);color:var(--green-dark);border-color:#bbf7d0}.pill-red{background:var(--red-bg);color:var(--red-dark);border-color:#fecaca}.pill-amber{background:var(--amber-bg);color:var(--amber);border-color:#fde68a}.pill-blue{background:var(--blue-bg);color:var(--blue-dark);border-color:#bfdbfe}.pill-purple{background:var(--purple-bg);color:var(--purple-dark);border-color:#ddd6fe}.pill-gray{background:var(--gray-bg);color:var(--muted);border-color:var(--border-2)}.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-xs);font-size:11px;font-weight:600}.badge-green{background:var(--green-bg);color:var(--green-dark)}.badge-red{background:var(--red-bg);color:var(--red-dark)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-blue{background:var(--blue-bg);color:var(--blue-dark)}.badge-purple{background:var(--purple-bg);color:var(--purple-dark)}.badge-gray{background:var(--gray-bg);color:var(--muted)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-green{background:var(--green)}.dot-red{background:var(--red)}.dot-amber{background:var(--amber-2)}.dot-blue{background:var(--primary)}.dot-gray{background:var(--muted-2)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2.4s ease-in-out infinite;flex-shrink:0}.model-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;background:var(--blue-bg);border:1px solid #bfdbfe;border-radius:20px;font-size:12px;font-weight:500;color:var(--blue-dark)}.model-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.code-block{background:var(--code-bg);color:#e2e8f0;border-radius:8px;padding:14px 16px;font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre}.trend-up{color:var(--green)}.trend-dn{color:var(--red)}.tab-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.tab-title{font-size:18px;font-weight:700;color:var(--text)}.tab-subtitle{font-size:13px;color:var(--muted);margin-top:2px}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.tbl-wrap{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:16px}.tbl-wrap table{width:100%;border-collapse:collapse}.tbl-wrap thead th{background:var(--table-head);padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border-2);white-space:nowrap}.tbl-wrap tbody tr{border-bottom:1px solid var(--border-4);transition:background .1s}.tbl-wrap tbody tr:last-child{border-bottom:none}.tbl-wrap tbody tr:hover{background:var(--border-3)}.tbl-wrap tbody td{padding:10px 14px;font-size:13px;color:var(--text-2)}.mono{font-family:Courier New,Courier,monospace;font-size:12px;color:var(--muted)}