:root{--bg:#0a1628;--fg:#f1f5f9;--muted:#94a3b8;--tertiary:#64748b;--rule:rgba(51,65,85,0.6);--accent:#00d4aa;--accent-hover:#00b894;--accent-soft:rgba(0,212,170,0.12);--surface:#111d35;--surface-overlay:#162038;--danger:#ef4444;--success:#28c464;--warning:#eab308}*{margin:0;padding:0;box-sizing:border-box}body,html{background:var(--bg);color:var(--fg);font-family:var(--font-geist-sans),-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}.aurora{position:fixed;inset:-20%;pointer-events:none;z-index:0;overflow:clip;background:radial-gradient(circle 34% at 26% 20%,rgba(0,212,170,.1),transparent 62%),radial-gradient(circle 28% at 76% 34%,rgba(43,108,230,.1),transparent 62%),radial-gradient(circle 22% at 60% 84%,rgba(0,212,170,.07),transparent 58%);filter:blur(46px);animation:drift 28s ease-in-out infinite alternate}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,-1.5%,0) scale(1.05)}to{transform:translate3d(-1.5%,2%,0) scale(1.03)}}.grid-bg{background-image:linear-gradient(rgba(0,212,170,.05) 1px,transparent 0),linear-gradient(90deg,rgba(0,212,170,.05) 1px,transparent 0);mask-image:radial-gradient(ellipse 85% 72% at 50% 16%,black 22%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 85% 72% at 50% 16%,black 22%,transparent 80%)}.bg-dots,.grid-bg{position:fixed;inset:0;pointer-events:none;z-index:0;background-size:52px 52px}.bg-dots{background-image:radial-gradient(rgba(0,212,170,.45) 1px,transparent 1.6px);background-position:26px 26px;mask-image:radial-gradient(ellipse 70% 55% at 50% 18%,black 8%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 18%,black 8%,transparent 74%);animation:dotsBreathe 5.5s ease-in-out infinite}@keyframes dotsBreathe{0%,to{opacity:.15}50%{opacity:.5}}.bg-sweep{position:fixed;left:0;right:0;top:0;height:180px;pointer-events:none;z-index:0;background:linear-gradient(180deg,transparent,rgba(0,212,170,.035) 45%,rgba(0,212,170,.07) 50%,rgba(0,212,170,.035) 55%,transparent);animation:sweepDown 12s linear infinite}@keyframes sweepDown{0%{transform:translateY(-180px)}to{transform:translateY(112vh)}}.bg-noise{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E")}.bg-noise,.bg-particles{position:fixed;inset:0;pointer-events:none;z-index:0}.bg-particles{overflow:hidden}.bg-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(0,212,170,.7);box-shadow:0 0 8px rgba(0,212,170,.5);opacity:0;animation:floatUp var(--dur,16s) linear var(--delay,0s) infinite}@keyframes floatUp{0%{transform:translateY(105vh) translateX(0);opacity:0}8%{opacity:.6}82%{opacity:.3}to{transform:translateY(-4vh) translateX(var(--drift,14px));opacity:0}}.page-wrap{max-width:1240px;margin:0 auto;padding:40px 24px 64px;position:relative;z-index:1}.page-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-eyebrow{font-size:11px;font-family:var(--font-geist-mono),monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.page-title{font-size:28px;font-weight:700;letter-spacing:-.02em}.page-title small{font-size:12px;color:var(--muted);font-weight:400;margin-left:12px;font-family:var(--font-geist-mono),monospace}.page-actions{display:flex;gap:12px;align-items:center}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:24px}.panel-hdr{justify-content:space-between;margin-bottom:16px}.panel-hdr,.panel-title{display:flex;align-items:center}.panel-title{font-size:16px;font-weight:600;gap:8px}.panel-title .sec-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.panel-sub{font-size:10px;color:var(--tertiary);font-family:var(--font-geist-mono),monospace}.ftx-table{width:100%;border-collapse:collapse;font-size:12.5px}.ftx-table thead th{height:36px;padding:0 12px;text-align:left;font-weight:600;font-size:12px;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--rule);white-space:nowrap}.ftx-table thead th.num{text-align:right}.ftx-table tbody td{height:42px;padding:0 12px;border-bottom:1px solid rgba(51,65,85,.4);white-space:nowrap}.ftx-table tbody td.num{text-align:right;font-family:var(--font-geist-mono),monospace;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ftx-table tbody tr{transition:background .12s}.ftx-table tbody tr:hover{background:rgba(30,41,59,.5)}.sub-ref{font-size:10px;color:var(--tertiary)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge-ok{background:rgba(40,196,100,.15);color:var(--success)}.badge-warn{background:rgba(234,179,8,.15);color:var(--warning)}.badge-err{background:rgba(239,68,68,.15);color:var(--danger)}.badge-info{background:rgba(59,130,246,.15);color:#60a5fa}.badge-muted{background:rgba(100,116,139,.15);color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.kpi-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:18px;position:relative;overflow:hidden;transition:all .2s}.kpi-card:hover{border-color:rgba(0,212,170,.4);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.35)}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%)}.kpi-l{font-size:10px;color:var(--tertiary);text-transform:uppercase;letter-spacing:.06em}.kpi-v{font-family:var(--font-geist-mono),monospace;font-size:26px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-s,.kpi-v{margin-top:2px}.kpi-s{font-size:10px;color:var(--muted)}.kpi-s .u{color:var(--success)}.kpi-s .d{color:var(--danger)}.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:var(--surface);border:1px solid var(--rule);border-radius:10px;margin-bottom:16px}.filter-bar .fb-label{font-size:11px;color:var(--tertiary);margin-right:4px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid var(--rule);background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.chip:hover{color:var(--fg);border-color:var(--tertiary)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.filter-sep{width:1px;height:22px;background:var(--rule);margin:0 8px}.pagination{display:flex;gap:6px;margin-top:16px;align-items:center;justify-content:flex-end}.page-btn{min-width:32px;height:32px;padding:0 8px;border-radius:6px;border:1px solid var(--rule);background:transparent;color:var(--muted);font-size:12px;font-family:var(--font-geist-mono),monospace;cursor:pointer;transition:all .15s}.page-btn:hover{color:var(--fg);border-color:var(--tertiary)}.page-btn.active{background:var(--accent);color:#06281f;border-color:var(--accent);font-weight:600}.page-btn:disabled{opacity:.4;cursor:not-allowed}.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-family:var(--font-geist-mono),monospace;border:1px solid var(--rule);color:var(--muted)}.tag-trend{border-color:rgba(0,212,170,.4);color:var(--accent);background:rgba(0,212,170,.06)}.tag-range{border-color:rgba(59,130,246,.4);color:#60a5fa;background:rgba(59,130,246,.06)}.tag-momentum{border-color:rgba(234,179,8,.4);color:var(--warning);background:rgba(234,179,8,.06)}.action-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-family:var(--font-geist-mono),monospace;font-weight:600}.action-tag.act-open{color:var(--success);background:rgba(40,196,100,.12)}.action-tag.act-add{color:var(--accent);background:rgba(0,212,170,.12)}.action-tag.act-reduce{color:var(--warning);background:rgba(234,179,8,.12)}.action-tag.act-close{color:var(--danger);background:rgba(239,68,68,.12)}.empty-state{border:1px dashed var(--rule);border-radius:12px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.empty-state .es-ic{width:52px;height:52px;border-radius:50%;border:1px dashed var(--tertiary);display:grid;place-items:center;font-size:22px}.toast-stack{position:fixed;top:72px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:8px}.toast{min-width:280px;max-width:360px;padding:12px 16px;border-radius:8px;background:var(--surface-overlay);border:1px solid var(--rule);box-shadow:0 8px 24px rgba(0,0,0,.35);display:flex;align-items:center;gap:10px;animation:toastIn .25s ease;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:12px}@keyframes toastIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.toast.success{border-color:rgba(40,196,100,.4)}.toast.success .t-ic{color:var(--success)}.toast.warn{border-color:rgba(234,179,8,.4)}.toast.warn .t-ic{color:var(--warning)}.toast.error{border-color:rgba(239,68,68,.4)}.toast.error .t-ic{color:var(--danger)}.toast.info{border-color:rgba(59,130,246,.4)}.toast.info .t-ic{color:#60a5fa}.t-ic{font-size:14px;flex-shrink:0}.t-close{margin-left:auto;background:none;border:none;color:var(--tertiary);cursor:pointer;font-size:12px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-weight:600;border-radius:6px;padding:10px 24px;font-size:14px;transition:all .18s;text-decoration:none}.btn-primary{background:var(--accent);color:#06281f}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:transparent;border:1px solid var(--rule);color:var(--fg)}.btn-secondary:hover{background:rgba(30,41,59,.5)}.input{width:100%;height:40px;background:#070e1a;border:1px solid var(--rule);border-radius:6px;padding:0 14px;color:var(--fg);font-size:14px;font-family:inherit}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,212,170,.15)}.label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.error-box{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:6px;padding:10px 14px;font-size:13px;margin-bottom:16px}.signal-wave{position:absolute;bottom:0;left:0;right:0;height:60px;opacity:.5;background:linear-gradient(180deg,transparent,rgba(0,212,170,.25))}.pg-body p{margin:0 0 8px;color:var(--muted)}.pg-body p:last-child{margin-bottom:0}.pg-body b{color:var(--fg);font-weight:600}.pg-warn{border-radius:6px;border:1px solid rgba(234,179,8,.3);background:rgba(234,179,8,.06);color:var(--warning)}.pg-ok,.pg-warn{padding:8px 12px}.pg-ok{border-radius:6px;border:1px solid rgba(40,196,100,.35);background:rgba(40,196,100,.06);color:var(--success)}@media (max-width:768px){.page-wrap{padding:20px 14px 48px}.page-hdr{flex-direction:column;align-items:flex-start;gap:10px}.page-title{font-size:20px}.panel{padding:14px;border-radius:8px}.panel-hdr{flex-wrap:wrap;gap:6px}.filter-bar{padding:10px}.ftx-table{font-size:11px}.ftx-table tbody td,.ftx-table thead th{padding:0 8px}.toast-stack{top:auto;bottom:16px;left:14px;right:14px;align-items:stretch}.toast{min-width:0;max-width:none}.topnav>div{padding:0 14px}.bg-dots,.bg-particles,.bg-sweep,.grid-bg{display:none}}@font-face{font-family:geistSans;src:url(/_next/static/media/4473ecc91f70f139-s.p.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:geistSans Fallback;src:local("Arial");ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.__className_1e4310{font-family:geistSans,geistSans Fallback}.__variable_1e4310{--font-geist-sans:"geistSans","geistSans Fallback"}@font-face{font-family:geistMono;src:url(/_next/static/media/463dafcda517f24f-s.p.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:geistMono Fallback;src:local("Arial");ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.__className_c3aa02{font-family:geistMono,geistMono Fallback}.__variable_c3aa02{--font-geist-mono:"geistMono","geistMono Fallback"}