:root{--brand:#2b5aed;--brand-deep:#1e43c7;--brand-soft:#eef3ff;--accent:#f59e0b;--accent-soft:#fef3c7;--accent-deep:#b45309;--up:#dc2626;--down:#16a34a;--risk:#dc2626;--risk-soft:#fef2f2;--text-1:#111827;--text-2:#6b7280;--text-3:#9ca3af;--border:#e8ebf0;--hover-row:#f5f8ff;--bg:#ffffff;--bg-soft:#f7f8fb;--ok:#16a34a;--ok-soft:#ecfdf3;--r-card:14px;--r-input:10px;--r-badge:6px;--shadow-card:0 1px 2px rgba(16,30,60,0.05);--shadow-lift:0 8px 24px rgba(16,30,60,0.1);--font-sans:-apple-system,"PingFang SC","Microsoft YaHei","HarmonyOS Sans SC","Noto Sans SC",sans-serif;--brand-blue:var(--brand);--brand-blue-tint:var(--brand-soft);--hero-gradient-from:#f3f6ff;--amber:var(--accent);--rise-red:var(--up);--fall-green:var(--down);--text-primary:var(--text-1);--text-secondary:var(--text-2);--text-tertiary:var(--text-3);--border-subtle:var(--border);--radius-card:var(--r-card);--radius-input:var(--r-input);--radius-badge:var(--r-badge)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--text-1);font-size:15px;line-height:1.7}body{background:var(--bg);-webkit-font-smoothing:antialiased;min-width:1280px}button{cursor:pointer}button,input{font-family:inherit}a{color:var(--brand);text-decoration:none}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skeleton{height:12px;border-radius:4px;background:linear-gradient(90deg,#eef1f5 25%,#f7f9fb 45%,#eef1f5 65%);background-size:200% 100%;animation:skeleton-shimmer 1.2s infinite}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}.stream-caret{display:inline-block;width:7px;height:14px;background:var(--brand);vertical-align:-2px;animation:caret-blink .9s infinite}@keyframes caret-blink{50%{opacity:0}}.agent-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);animation:agent-pulse 1.2s infinite;flex:none}.agent-dot.done{background:var(--ok);animation:none}@keyframes agent-pulse{50%{opacity:.3}}tbody tr{transition:background .12s}tbody tr:hover{background:var(--hover-row)}tbody tr .t-title{cursor:pointer;transition:color .12s}tbody tr:hover .t-title{color:var(--brand)}.brief-row:hover{background:var(--hover-row)}