:root{--bg-primary: #0f172a;--bg-card: rgba(30, 41, 59, .7);--border-card: rgba(255, 255, 255, .1);--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-blue: #38bdf8;--accent-purple: #c084fc;--accent-green: #4ade80;--accent-amber: #fbbf24;--accent-rose: #fb7185}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at 50% 0%,#1e293b,#0f172a);color:var(--text-primary);min-height:100vh;padding:1.5rem;line-height:1.6}.container{max-width:1000px;margin:0 auto}header{margin-bottom:2rem;text-align:center}header h1{font-size:2.2rem;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}header p{color:var(--text-secondary);font-size:1rem}.nav-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem;padding:.5rem;background:#0f172a99;border:1px solid var(--border-card);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.6rem 1.1rem;border-radius:8px;font-size:.92rem;font-weight:500;transition:all .2s ease}.nav-link:hover{color:var(--text-primary);background:#ffffff0d}.nav-link.active{color:#0f172a;background:var(--accent-blue);font-weight:600;box-shadow:0 0 15px #38bdf866}.card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px #0003}.card h2{font-size:1.25rem;margin-bottom:1rem;color:var(--accent-blue);display:flex;align-items:center;gap:.5rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.metric-box{background:#0f172acc;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1rem;text-align:center}.metric-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.metric-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-green)}.badge-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.badge{padding:.4rem .85rem;border-radius:9999px;font-size:.85rem;font-weight:600;background:#ffffff14;color:var(--text-secondary);border:1px solid transparent;transition:all .2s ease}.badge.active{background:#4ade8033;color:var(--accent-green);border-color:#4ade8080;box-shadow:0 0 10px #4ade8033}.badge.inactive{opacity:.5}pre{background:#020617;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;color:#e2e8f0}.resizable-box{resize:both;overflow:auto;min-width:250px;min-height:150px;width:480px;height:200px;background:#0f172ae6;border:2px dashed var(--accent-blue);border-radius:12px;padding:1.5rem;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:border-color .2s;margin:1rem auto}.resizable-box:after{content:"↘ 拖拽右下角调整大小";position:absolute;bottom:6px;right:8px;font-size:.75rem;color:var(--text-secondary);pointer-events:none}button{background:linear-gradient(135deg,var(--accent-blue),#0284c7);color:#0f172a;border:none;font-weight:600;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;transition:opacity .2s}button:hover{opacity:.9}button.secondary{background:#ffffff1a;color:var(--text-primary)}.log-stream{max-height:200px;overflow-y:auto;background:#020617;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.8rem;font-family:monospace;font-size:.85rem;display:flex;flex-direction:column-reverse;gap:.4rem}.log-item{color:var(--accent-purple)}.log-item .time{color:var(--text-secondary);margin-right:.5rem}
