:root,[data-theme=dark]{--bg: #0f1419;--card: #1a2332;--text: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--green: #3fb950;--red: #f85149;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 12px rgba(0, 0, 0, .25);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .04);--transition: .2s ease;--border: rgba(255, 255, 255, .06);--hover-bg: rgba(255, 255, 255, .03);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .08em}[data-theme=light]{--bg: #f0f2f5;--card: #ffffff;--text: #1f2937;--muted: #6b7280;--accent: #2563eb;--green: #16a34a;--red: #dc2626;--shadow: 0 4px 12px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .06);--border: rgba(0, 0, 0, .08);--hover-bg: rgba(0, 0, 0, .03)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);font-weight:400;line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-wrap{min-height:100vh;position:relative}.bg-video-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.bg-video{width:100%;height:100%;object-fit:cover}.bg-video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;pointer-events:none}.app-content{position:relative;z-index:2;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--card);box-shadow:0 1px #ffffff08}.app-header h1{margin:0;font-size:var(--text-xl);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.app-header h1 .brand{color:var(--muted);font-weight:500;margin-right:.35em;letter-spacing:var(--tracking-wide)}.header-actions{display:flex;align-items:center;gap:8px}.theme-toggle{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:1.125rem;line-height:1;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.theme-toggle:hover{background:var(--hover-bg);border-color:var(--accent);transform:scale(1.05)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.video-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-wide);color:var(--text);cursor:pointer;transition:border-color var(--transition)}.video-select:hover,.video-select:focus{border-color:var(--accent);outline:none}.app-subtitle{padding:10px 20px;margin:0;font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-wide);line-height:var(--leading-snug);color:var(--muted);text-align:center;border-bottom:1px solid var(--border)}.container{max-width:1000px;margin:0 auto;padding:24px}.tab-content--two-cols{display:grid;gap:20px}@media (min-width: 1024px){.tab-content--two-cols{grid-template-columns:1fr 1fr;align-items:stretch}.tab-content--two-cols section{min-height:560px;overflow-y:auto}}.tab-bar{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:14px}.tab-btn{padding:8px 16px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.tab-btn:hover{background:var(--hover-bg);border-color:var(--muted)}.tab-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.tab-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.status-row{display:flex;align-items:center;justify-content:center;gap:16px;min-height:36px;margin-bottom:16px}.loader-wrap{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:var(--text-sm);font-weight:500}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.last-updated{margin:0;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--muted);text-align:center}.metrics-loading .metric .value{opacity:.6}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}.metric{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--border);text-align:center;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);cursor:default}.metric:hover{transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-hover);border-color:var(--muted)}.metric:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.metric .label{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:10px;text-align:center;line-height:var(--leading-tight)}.metric .value{font-size:var(--text-2xl);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);text-align:center;line-height:var(--leading-tight)}.metric .value.positive{color:var(--green)}.metric .value.neutral{color:var(--accent)}.metric .value.negative{color:var(--red)}.metric-hint{font-size:var(--text-xs);font-weight:500;color:var(--muted);margin-top:6px;text-align:center;letter-spacing:var(--tracking-wide)}.metric.metric--small .value{font-size:var(--text-xl)}.metric.metric--small .label{font-size:var(--text-xs)}section{background:var(--card);border-radius:var(--radius);padding:24px;margin-bottom:20px;border:1px solid var(--border);transition:border-color var(--transition),box-shadow var(--transition)}section:hover{border-color:var(--muted)}section h2{font-size:var(--text-lg);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin:0 0 10px;color:var(--text);text-align:center}.section-note{font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-wide);line-height:var(--leading-relaxed);color:var(--muted);margin:0 0 16px;text-align:center}table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}th,td{padding:12px 16px;border-bottom:1px solid var(--border)}th{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--muted);text-align:center}td{text-align:center}td.num,th.num{font-variant-numeric:tabular-nums}tbody tr{transition:background var(--transition)}tbody tr:hover{background:var(--hover-bg)}.profit{color:var(--green)}.negative{color:var(--red)}.trades-table-wrap{max-height:60vh;overflow-y:auto;border-radius:var(--radius-sm)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--accent)}.type-col{width:4rem}.badge{font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);padding:3px 8px;border-radius:4px}.badge-sim{background:#8b949e40;color:var(--muted)}.badge-live{background:#3fb95033;color:var(--green)}.trades-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.trades-summary{font-size:var(--text-sm);font-weight:500;color:var(--muted)}.trades-pagination{display:flex;align-items:center;gap:10px}.trades-page-num{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--muted)}.quant-grid{margin-bottom:0}.equity-table-wrap{border-radius:var(--radius-sm)}.token-curve-details{margin-top:16px}.token-curve-details summary{cursor:pointer;color:var(--accent);font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);text-align:center;padding:8px 0}.token-curve-block{margin-top:16px}.token-curve-block h3{font-size:var(--text-sm);font-weight:600;margin:0 0 8px;color:var(--muted);text-align:center}.chart-wrap{margin-bottom:20px;min-height:280px;border-radius:var(--radius-sm);overflow:hidden}.empty-hint{text-align:center;color:var(--muted);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-relaxed);padding:16px}
