:root{color-scheme:dark;--bg: #070b14;--bg-2: #0b1120;--panel: rgba(17, 24, 39, .72);--panel-solid: #111827;--panel-2: rgba(30, 41, 59, .55);--line: rgba(148, 163, 184, .14);--line-2: rgba(148, 163, 184, .26);--text: #f1f5f9;--text-2: #a5b4c8;--text-3: #6b7a90;--brand: #6366f1;--brand-2: #22d3ee;--grad: linear-gradient(135deg, #6366f1 0%, #8b5cf6 45%, #22d3ee 100%);--grad-soft: linear-gradient(135deg, rgba(99,102,241,.18), rgba(34,211,238,.1));--up: #34d399;--up-bg: rgba(52, 211, 153, .12);--down: #fb7185;--down-bg: rgba(251, 113, 133, .12);--warn: #fbbf24;--warn-bg: rgba(251, 191, 36, .12);--info: #60a5fa;--info-bg: rgba(96, 165, 250, .12);--series-1: #818cf8;--series-2: #f59e0b;--grid: rgba(148, 163, 184, .1);--shadow: 0 10px 40px -12px rgba(0, 0, 0, .6);--fam-momentum: #818cf8;--fam-mean_reversion: #22d3ee;--fam-llm_research: #c084fc;--fam-crypto_trend: #f59e0b;--fam-benchmark: #94a3b8;--radius: 16px;--radius-sm: 10px;--ease: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=light]{color-scheme:light;--bg: #f3f5fb;--bg-2: #eaeef7;--panel: rgba(255, 255, 255, .82);--panel-solid: #ffffff;--panel-2: rgba(241, 245, 249, .9);--line: rgba(15, 23, 42, .08);--line-2: rgba(15, 23, 42, .16);--text: #0f172a;--text-2: #475569;--text-3: #64748b;--up: #059669;--up-bg: rgba(5,150,105,.1);--down: #e11d48;--down-bg: rgba(225,29,72,.09);--warn: #b45309;--warn-bg: rgba(245,158,11,.14);--info: #2563eb;--info-bg: rgba(37,99,235,.09);--series-1: #4f46e5;--series-2: #d97706;--grid: rgba(15, 23, 42, .07);--shadow: 0 10px 30px -14px rgba(15, 23, 42, .25);--fam-momentum: #4f46e5;--fam-mean_reversion: #0891b2;--fam-llm_research: #9333ea;--fam-crypto_trend: #d97706;--fam-benchmark: #64748b}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(900px 500px at 10% -10%,rgba(99,102,241,.2),transparent 60%),radial-gradient(700px 400px at 100% 0%,rgba(34,211,238,.12),transparent 60%),radial-gradient(600px 500px at 50% 110%,rgba(139,92,246,.1),transparent 60%)}:root[data-theme=light] body:before{opacity:.55}a{color:var(--brand-2);text-decoration:none}:root[data-theme=light] a{color:var(--brand)}button{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-3)}.up{color:var(--up)}.down{color:var(--down)}.layout{position:relative;z-index:1;display:grid;grid-template-columns:236px 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;padding:22px 14px;border-right:1px solid var(--line);background:linear-gradient(180deg,#0f172a8c,#070b1433);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:6px}:root[data-theme=light] .side{background:#fff9}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.02em;padding:4px 10px 18px}.logo-mark{width:30px;height:30px;border-radius:9px;background:var(--grad);display:grid;place-items:center;box-shadow:0 6px 20px -6px #6366f1cc}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:var(--text-2);font-weight:500;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.nav-item:hover{background:var(--panel-2);color:var(--text);transform:translate(2px)}.nav-item.on{background:var(--grad-soft);color:var(--text);box-shadow:inset 0 0 0 1px #6366f159}.nav-item svg{width:18px;height:18px;flex:none;opacity:.9}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:10px}.main{min-width:0;padding:26px 34px 60px;max-width:1480px;width:100%}.topbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}.topbar h1{margin:0;font-size:26px;letter-spacing:-.025em;font-weight:750}.topbar .spacer{flex:1}.lead{color:var(--text-2);margin:-12px 0 22px;max-width:860px}@media (max-width: 900px){.layout{grid-template-columns:1fr}.side{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;overflow-x:auto;padding:10px 12px;z-index:20;border-right:0;border-bottom:1px solid var(--line);gap:2px}.logo{padding:0 10px 0 0}.logo span{display:none}.nav-item{padding:8px 10px;white-space:nowrap}.nav-item span{display:none}.side-foot{margin:0 0 0 auto;flex-direction:row;padding:0}.main{padding:18px 16px 48px}.topbar h1{font-size:21px}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.panel h2{margin:0 0 14px;font-size:15px;font-weight:650;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.section-title{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:26px 0 10px}.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.two{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;inset:auto -40% -60% auto;width:180px;height:180px;border-radius:50%;background:var(--accent-glow, rgba(99,102,241,.18));filter:blur(30px);pointer-events:none}.kpi .k-label{color:var(--text-2);font-size:12.5px;font-weight:500;display:flex;align-items:center;gap:8px}.kpi .k-value{font-size:28px;font-weight:750;letter-spacing:-.03em;margin-top:6px}.kpi .k-foot{color:var(--text-3);font-size:12px;margin-top:4px}.kpi-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--grad-soft)}.kpi-icon svg{width:16px;height:16px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--panel-2);color:var(--text-2);border:1px solid var(--line);white-space:nowrap}.chip.up{background:var(--up-bg);color:var(--up);border-color:transparent}.chip.down{background:var(--down-bg);color:var(--down);border-color:transparent}.chip.warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}.chip.info{background:var(--info-bg);color:var(--info);border-color:transparent}.chip.brand{background:var(--grad);color:#fff;border:0}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.dot.live{animation:pulse 1.8s var(--ease) infinite;box-shadow:0 0 0 0 currentColor}.fam{display:inline-flex;align-items:center;gap:7px;font-weight:600}.fam i{width:9px;height:9px;border-radius:3px;background:var(--fam);box-shadow:0 0 12px var(--fam)}.rank{width:26px;height:26px;border-radius:8px;display:inline-grid;place-items:center;font-size:12px;font-weight:800;background:var(--panel-2);color:var(--text-2)}.rank.r1{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1c1203;box-shadow:0 4px 14px -4px #f59e0bcc}.rank.r2{background:linear-gradient(135deg,#e2e8f0,#94a3b8);color:#0f172a}.rank.r3{background:linear-gradient(135deg,#fdba74,#c2410c);color:#1c0a03}.btn{border:1px solid var(--line-2);background:var(--panel-2);padding:8px 14px;border-radius:10px;cursor:pointer;font-weight:600;transition:transform .15s var(--ease),background .2s,border-color .2s,box-shadow .2s}.btn:hover{transform:translateY(-1px);border-color:#6366f18c}.btn:active{transform:translateY(0)}.btn.primary{background:var(--grad);border:0;color:#fff;box-shadow:0 8px 24px -10px #6366f1e6}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:default;transform:none}.icon-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line-2);background:var(--panel-2);cursor:pointer;transition:transform .2s var(--ease)}.icon-btn:hover{transform:rotate(-12deg)}.seg{display:inline-flex;padding:4px;gap:2px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.seg button{border:0;background:none;padding:6px 12px;border-radius:9px;cursor:pointer;color:var(--text-2);font-weight:600;transition:background .25s var(--ease),color .25s}.seg button.on{background:var(--panel-solid);color:var(--text);box-shadow:0 2px 10px -4px #00000080}.tabs{position:relative;display:flex;gap:4px;border-bottom:1px solid var(--line);margin:22px 0 18px;overflow-x:auto}.tabs button{position:relative;border:0;background:none;padding:10px 14px;cursor:pointer;color:var(--text-2);font-weight:600;white-space:nowrap}.tabs button.on{color:var(--text)}.tabs button.on:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--grad);animation:grow .3s var(--ease)}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}table{width:100%;border-collapse:collapse}th,td{padding:11px 14px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}th{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);font-weight:650;background:#0f172a59}:root[data-theme=light] th{background:#f1f5f9cc}td.r,th.r{text-align:right}tbody tr{transition:background .2s}tbody tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click:hover td{background:#6366f112}.wrap{white-space:normal;min-width:260px}.bar{position:relative;width:90px;height:6px;border-radius:4px;background:var(--panel-2);overflow:hidden;display:inline-block;vertical-align:middle}.bar i{position:absolute;top:0;bottom:0;border-radius:4px;transform-origin:left;animation:barin .9s var(--ease) both}.board-head{display:flex;align-items:center;gap:10px;margin:26px 0 12px;flex-wrap:wrap}.board-head h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.params{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.param{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s}.param:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow)}.param.changed{border-color:#6366f199;box-shadow:0 0 0 1px #6366f159,var(--shadow)}.param.changed:before{content:"edited";position:absolute;top:12px;right:12px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--grad);padding:2px 7px;border-radius:999px}.param label{font-weight:650;padding-right:60px}.param .help{color:var(--text-2);font-size:12.5px}.param .meta{color:var(--text-3);font-size:11.5px;display:flex;gap:10px;flex-wrap:wrap}.param .err{color:var(--down);font-size:12.5px;animation:shake .4s}.saved{color:var(--up);font-size:12px;font-weight:600;animation:fadein .3s}.input{display:flex;align-items:center;gap:8px}.input input,.input select,.field{width:170px;padding:9px 11px;border-radius:10px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--text);font:inherit;transition:border-color .2s,box-shadow .2s}.input input:focus,.input select:focus,.field:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #6366f140}.unit{color:var(--text-3);font-weight:600}.switch{position:relative;width:46px;height:26px;border-radius:999px;border:0;background:var(--line-2);cursor:pointer;flex:none;transition:background .25s var(--ease)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000059;transition:transform .3s var(--ease)}.switch.on{background:var(--grad)}.switch.on:after{transform:translate(20px)}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:12px;margin:0 0 16px;border:1px solid transparent;animation:fadein .4s}.banner.info{background:var(--info-bg);color:var(--text);border-color:#60a5fa40}.banner.warn{background:var(--warn-bg);color:var(--text);border-color:#fbbf244d}.banner.bad{background:var(--down-bg);color:var(--text);border-color:#fb71854d}.chart{position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .line{stroke-dasharray:3000;stroke-dashoffset:3000;animation:draw 1.4s var(--ease) forwards}.chart .area{opacity:0;animation:fadein 1s .4s forwards}.tip{position:absolute;pointer-events:none;background:var(--panel-solid);border:1px solid var(--line-2);border-radius:10px;padding:8px 11px;font-size:12px;box-shadow:var(--shadow);white-space:nowrap;z-index:5}.legend{display:flex;gap:16px;font-size:12px;color:var(--text-2);margin-bottom:8px;flex-wrap:wrap}.legend i{display:inline-block;width:16px;height:3px;border-radius:2px;vertical-align:middle;margin-right:7px}.spark path.l{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.1s var(--ease) forwards}.feed{list-style:none;margin:0;padding:0}.feed li{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.feed li:last-child{border-bottom:0}.feed .t{color:var(--text-3);font-size:12px}.skel{border-radius:12px;background:linear-gradient(90deg,var(--panel-2) 0%,rgba(148,163,184,.14) 50%,var(--panel-2) 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.login-wrap{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:16px}.login{width:100%;max-width:380px;animation:rise .6s var(--ease)}.login h1{font-size:24px;margin:14px 0 4px;letter-spacing:-.02em}.login .field{width:100%;padding:12px 14px}.page{animation:rise .45s var(--ease)}.stagger>*{animation:rise .5s var(--ease) both}.stagger>*:nth-child(2){animation-delay:.04s}.stagger>*:nth-child(3){animation-delay:.08s}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(n+7){animation-delay:.24s}tbody.stagger>tr{animation:fadein .45s var(--ease) both}.lift{transition:transform .25s var(--ease),box-shadow .25s}.lift:hover{transform:translateY(-3px)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes barin{0%{transform:scaleX(0)}}@keyframes shake{0%,to{transform:none}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;transition:none!important}.chart .line,.spark path.l{stroke-dashoffset:0}}details summary{cursor:pointer;color:var(--text-2);font-weight:600;margin:18px 0 12px}
