:root{--bg: #0d0f14;--bg-card: #151822;--bg-card-hover: #1c2030;--bg-input: #0d0f14;--border: #252836;--border-light: #2e3248;--primary: #7c6bff;--primary-dim: rgba(124, 107, 255, .14);--primary-glow: rgba(124, 107, 255, .3);--accent: var(--primary);--accent-dim: var(--primary-dim);--accent-rgb: 124, 107, 255;--green: #22d383;--green-dim: rgba(34, 211, 131, .12);--green-text: #22d383;--red: #ff4f6b;--red-dim: rgba(255, 79, 107, .12);--red-text: #ff4f6b;--yellow: #f5c842;--blue: #3b9eff;--text: #e2e5f2;--text-secondary: #8a8fa8;--text-dim: #4a5070;--header-h: 56px;--sidebar-w: 224px;--radius: 14px;--radius-sm: 8px;--radius-xs: 5px}[data-theme=light]{--bg: #f0f2f8;--bg-card: #ffffff;--bg-card-hover: #f5f7fe;--bg-input: #f0f2f8;--border: #dde1f0;--border-light: #ccd0e8;--text: #1a1d2e;--text-secondary: #555878;--text-dim: #9098b8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:clamp(13px,4.5vw,16px)}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:1.1rem;line-height:1.5;min-height:100%;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit;border:none;background:none}input,select{font-family:inherit;font-size:1.1rem}a{color:inherit}.hidden{display:none!important}.dimmed{opacity:.4;pointer-events:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.header-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;pointer-events:none}.header-progress-bar{height:100%;width:0%;background:var(--primary);transition:width .3s ease;box-shadow:0 0 6px var(--primary-glow)}.header-progress.active .header-progress-bar{transition:width .3s ease}.header-progress.done .header-progress-bar{transition:width .2s ease,opacity .4s ease .3s;opacity:0}.header-brand{display:flex;align-items:center;gap:10px}.header-total{display:flex;align-items:baseline;gap:6px}.header-total-label{font-size:.86rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.4px}.header-total-value{font-size:1.4rem;font-weight:700;letter-spacing:-.5px;color:var(--text)}.header-total-pnl{font-size:.94rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:8px}@media screen and (width > 768px){.header-filter-btn{display:none!important}}.refresh-wrap{display:flex;align-items:center;gap:8px;flex-direction:row-reverse}.sync-age{font-size:.72rem;color:var(--text-dim);white-space:nowrap;line-height:1}.sync-age.syncing{color:var(--primary)}.ws-status{font-size:.68rem;white-space:nowrap;line-height:1;display:flex;align-items:center;gap:4px}.ws-status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.ws-connecting{color:var(--text-dim)}.ws-connecting:before{background:#f59e0b}.ws-live{color:#10b981}.ws-live:before{background:#10b981;animation:ws-pulse 2s infinite}.ws-reconnecting{color:#ef4444}.ws-reconnecting:before{background:#ef4444}@keyframes ws-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (max-width: 480px){.btn-label{display:none}}.btn-ghost{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-xs);color:var(--text-secondary);font-size:1rem;font-weight:500;transition:background .15s,color .15s;border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-card-hover);color:var(--text)}.btn-collapse-top svg{transition:transform .2s}#btn-refresh-all:disabled svg,#btn-refresh-all.refreshing svg{animation:spin .8s linear infinite}#btn-refresh-all.refreshing{opacity:.6;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.btn-ghost.btn-sm{padding:4px 10px;font-size:.94rem}.btn-ghost.btn-full{width:100%;justify-content:center;margin-top:10px}.btn-ghost:disabled{opacity:.5;cursor:default}.btn-icon-only{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);color:var(--text-secondary);transition:background .15s,color .15s}.btn-icon-only:hover{background:var(--bg-card-hover);color:var(--text)}.btn{padding:8px 18px;border-radius:var(--radius-xs);font-size:1.1rem;font-weight:500;transition:all .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#6a58f0}.btn-secondary{background:var(--bg-card-hover);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{color:var(--text)}.app-layout{display:flex;padding-top:var(--header-h);min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;position:fixed;top:var(--header-h);left:0;bottom:0;overflow-y:auto;padding:16px 0;border-right:1px solid var(--border);background:var(--bg-card);transition:transform .25s ease}.sidebar-section{padding:0 14px 8px}.sidebar-title{display:flex;align-items:center;gap:6px;font-size:.86rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:8px;padding:0 2px}.sidebar-divider{height:1px;background:var(--border);margin:8px 14px 16px}.badge{background:var(--primary-dim);color:var(--primary);font-size:.78rem;font-weight:600;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center}.wallet-list{display:flex;flex-direction:column;gap:2px}.wallet-item{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:var(--radius-xs);transition:background .12s;cursor:pointer}.wallet-item:hover{background:var(--bg-card-hover)}.wallet-item input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.wallet-info{flex:1;min-width:0}.wallet-name{font-size:1rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-addr{font-size:.78rem;color:var(--text-dim);font-family:monospace}.wallet-item .btn-remove{opacity:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;color:var(--text-dim);flex-shrink:0;font-size:.94rem;transition:opacity .12s,color .12s}.wallet-item:hover .btn-remove{opacity:1}.wallet-item .btn-remove:hover{color:var(--red)}.wallet-add-entry{font-size:.86rem;color:var(--primary);padding:3px 6px;border-radius:3px;opacity:0;transition:opacity .12s;white-space:nowrap}.wallet-item:hover .wallet-add-entry{opacity:1}.wallet-add-entry:hover{background:var(--primary-dim)}.wallet-sync{font-size:1.1rem;color:var(--text-secondary);padding:2px 5px;border-radius:3px;opacity:0;transition:opacity .12s,color .12s,transform .2s;flex-shrink:0}.wallet-item:hover .wallet-sync{opacity:1}.wallet-sync:hover{color:var(--primary)}.wallet-sync:disabled{opacity:.5!important;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pool-detail{font-size:.86rem;color:var(--text-dim);margin-top:2px}.pool-advice{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:8px;font-size:.82rem;line-height:1.4;margin:6px 0 2px;border:1px solid transparent}.pool-advice-ok{background:#22d38314;border-color:#22d38333;color:#22d383}.pool-advice-warn{background:#ffaa0014;border-color:#fa03;color:#fa0}.pool-advice-neutral{background:#7882b414;border-color:#7882b433;color:var(--text-dim)}[data-theme=light] .pool-advice-ok{color:#0d9458}[data-theme=light] .pool-advice-warn{color:#a06000}.pool-advice-top{display:flex;align-items:flex-start;gap:6px;width:100%}.pool-advice-text{flex:1}.pool-advice-forecast{display:flex;flex-wrap:wrap;gap:5px}.pool-fc-chip{font-size:.75rem;font-weight:600;padding:2px 7px;border-radius:4px;cursor:default;white-space:nowrap}.pool-fc-chip.fc-in{color:var(--green);background:#22d3831a;border:1px solid rgba(34,211,131,.25)}.pool-fc-chip.fc-above{color:#f5a623;background:#f5a6231a;border:1px solid rgba(245,166,35,.25)}.pool-fc-chip.fc-below{color:var(--red);background:#ff4f6b1a;border:1px solid rgba(255,79,107,.25)}.pool-advice-exit{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;padding-top:2px}.pool-fc-exit-time{color:var(--text-dim);white-space:nowrap}.pool-fc-action{font-weight:600;white-space:nowrap}.pool-fc-action.fc-reposition{color:#f5a623}.pool-fc-action.fc-wait{color:var(--text-dim)}.pool-fc-action.fc-in{color:var(--green)}.pool-fc-detail{display:block;width:100%;font-size:.76rem;font-weight:400;color:var(--text-dim);margin-top:1px}.pool-fc-ranges{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px}.pool-fc-range-item{font-size:.78rem;font-weight:700;color:var(--text);white-space:nowrap}.pool-fc-range-item.dimmer{font-weight:500;color:var(--text-dim)}.pool-fc-range-sep{color:var(--text-dim);font-size:.78rem}.fc-consist{font-size:.72rem;font-weight:700;padding:1px 5px;border-radius:3px;vertical-align:middle;letter-spacing:.02em}.fc-consist.high{color:#22d383;background:#22d3831f}.fc-consist.med{color:#f5a623;background:#f5a6231f}.fc-consist.low{color:var(--text-dim);background:var(--bg-card-hover)}.pool-advice-dismiss{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px;color:inherit;opacity:.5;flex-shrink:0}.pool-advice-dismiss:hover{opacity:1}.filter-row{display:flex;align-items:center;gap:8px;padding:5px 4px;border-radius:var(--radius-xs);cursor:pointer;font-size:1rem;color:var(--text-secondary);transition:color .12s}.filter-row:hover{color:var(--text)}.filter-row input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.green{background:var(--green);box-shadow:0 0 6px var(--green)}.status-dot.red{background:var(--red);box-shadow:0 0 6px var(--red)}.proto-pill{font-size:.7rem;font-weight:700;padding:1px 5px;border-radius:3px;letter-spacing:.03em;flex-shrink:0}.proto-pill.purple{background:#7c6bff33;color:var(--primary)}.proto-pill.yellow{background:#f5c84233;color:var(--yellow)}.proto-pill.blue{background:#3b9eff33;color:var(--blue)}.proto-pill.gray{background:var(--bg-card-hover);color:var(--text-secondary)}.main{flex:1;margin-left:var(--sidebar-w);padding:20px;display:flex;flex-direction:column;gap:16px;max-width:100%}.top-section{display:flex;flex-direction:column;gap:16px}.top-section.collapsed>*{display:none!important}.collapse-bar{display:flex;gap:6px;margin-bottom:4px}.btn-collapse-top{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:.94rem;padding:5px 10px;cursor:pointer;justify-content:center;flex:1;transition:color .15s,border-color .15s}.btn-layout-swap{flex:0 0 auto}.btn-collapse-top:hover{color:var(--text);border-color:var(--text-muted)}.stats-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:min(10px,2vw) 18px}.stat-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:6px}.stat-value{font-size:1.6rem;font-weight:700;letter-spacing:-.5px;color:var(--text);margin-bottom:3px}.stat-value.green,.stat-value.positive{color:var(--green-text)}.stat-value.negative{color:var(--red-text)}.stat-sub{font-size:.94rem;color:var(--text-secondary)}.stat-sub.positive{color:var(--green-text)}.stat-sub.negative{color:var(--red-text)}.stat-sub.neutral{color:var(--text-dim)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.account-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.account-strip-main{min-width:0}.account-strip-title{font-size:.86rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:4px}.account-strip-value{font-size:1.25rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-strip-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.account-strip-pill,.toggle-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:#ffffff05;color:var(--text-secondary);font-size:.94rem;font-weight:500}.account-strip-pill.syncing{border-color:#7c6bff59;color:var(--primary)}.toggle-chip input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px}.notice-banner{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid rgba(124,107,255,.35);border-radius:var(--radius);background:linear-gradient(90deg,#7c6bff2e,#7c6bff0d);color:#d8d1ff;font-size:.94rem}.chart-card{padding:0}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0;flex-wrap:wrap;gap:10px}.chart-title-block{display:flex;flex-direction:column;gap:6px}.chart-title-row{display:flex;align-items:center;gap:10px}.chart-indicators{display:flex;gap:5px;flex-wrap:wrap;min-height:18px}.chart-ind-pill{font-size:.86rem;font-weight:600;padding:2px 7px;border-radius:4px;letter-spacing:.02em;cursor:default}.chart-ind-pill.bull{color:var(--green);background:var(--green-dim)}.chart-ind-pill.bull-fade{color:var(--green);background:var(--green-dim);opacity:.55}.chart-ind-pill.bear{color:var(--red);background:var(--red-dim)}.chart-ind-pill.bear-fade{color:var(--red);background:var(--red-dim);opacity:.55}.chart-ind-pill.cross-bull{color:var(--green);background:var(--green-dim);outline:1px solid var(--green)}.chart-ind-pill.cross-bear{color:var(--red);background:var(--red-dim);outline:1px solid var(--red)}.chart-ind-pill.dim{color:var(--text-dim);background:var(--bg-card-2)}.chart-pair{font-size:1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.chart-price{font-size:1.7rem;font-weight:700;letter-spacing:-.5px}.chart-change{font-size:1rem;font-weight:600;padding:2px 7px;border-radius:4px}.chart-change.positive{color:var(--green);background:var(--green-dim)}.chart-change.negative{color:var(--red);background:var(--red-dim)}.chart-ticker-select{background:var(--bg-card-hover);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:3px 6px;font-size:.82rem;font-weight:600;cursor:pointer;outline:none}.chart-ticker-select:focus{border-color:var(--primary)}.chart-gas{font-size:.8rem;color:var(--text-dim);background:var(--bg-card-2);border-radius:4px;padding:2px 6px;white-space:nowrap;margin-left:auto}.chart-gas:empty{display:none}.chart-fr{font-size:.8rem;color:var(--text-dim);background:var(--bg-card-2);border-radius:4px;padding:2px 6px;white-space:nowrap;cursor:default}.chart-fr:empty{display:none}.app-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(12px);background:var(--bg-card);border:1px solid var(--border);color:var(--text);padding:10px 18px;border-radius:8px;font-size:.9rem;z-index:9999;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;white-space:nowrap}.app-toast.app-toast-show{opacity:1;transform:translate(-50%) translateY(0)}.app-toast.app-toast-confirm{pointer-events:auto;display:flex;align-items:center;gap:12px;white-space:normal;max-width:320px;text-align:left}.app-toast-btn{flex-shrink:0;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:.85rem;cursor:pointer}.app-toast-btn:hover{opacity:.85}.chart-controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-wrap:wrap}.toggle-day{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center}.chart-ctrl-label{font-size:10px;opacity:.5;margin-right:4px}.ind-toggles{display:flex;gap:3px}.ind-btn{font-size:.86rem;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;letter-spacing:.03em;transition:color .15s,background .15s}.ind-btn.active{background:var(--accent-dim, rgba(124, 107, 255, .15));color:var(--accent, #7c6bff);border-color:var(--accent, #7c6bff)}.sub-chart{border-top:1px solid var(--border);position:relative}.sub-chart-header{display:flex;align-items:center;gap:10px;padding:5px 20px 4px;min-height:26px}.sub-chart-title{font-size:.86rem;font-weight:600;color:var(--text-secondary);letter-spacing:.04em;white-space:nowrap}.sub-chart-legend{font-size:.86rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-canvas-wrap{width:100%;overflow:hidden}.sub-canvas-wrap canvas{display:block;width:100%}.res-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-right:2px}.res-btn,.ac-res-btn{padding:4px 9px;font-size:.86rem;font-weight:600;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.res-btn:hover,.ac-res-btn:hover{background:var(--bg-card-hover);color:var(--text)}.res-btn.active,.ac-res-btn.active{background:var(--primary-dim);color:var(--primary)}.canvas-wrap{position:relative;padding:0 0 4px}.chart-resize-handle{height:8px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;margin:0 20px 4px;border-radius:4px;transition:background .15s}.chart-resize-handle:after{content:"";display:block;width:36px;height:3px;border-radius:2px;background:var(--border);transition:background .15s}.chart-resize-handle:hover:after,.chart-resize-handle.dragging:after{background:var(--primary)}#eth-chart{display:block;width:100%}.chart-tooltip{position:absolute;background:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;padding:6px 10px;font-size:.94rem;color:var(--text);pointer-events:none;opacity:0;transition:opacity .1s;white-space:nowrap;z-index:10;box-shadow:0 4px 16px #0000004d}.chart-info-bar{padding:5px 16px 4px;font-size:.94rem;color:var(--text);opacity:0;transition:opacity .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:22px}.entries-legend{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px}.legend-item{display:flex;align-items:center;gap:5px;font-size:.86rem;color:var(--text-secondary)}.legend-dot{width:8px;height:8px;border-radius:50%;border:2px solid #fff;flex-shrink:0}.pools-card{padding:0}.market-signals-banner{border-bottom:1px solid var(--border);padding:18px 20px}.market-signals-banner:empty{display:none}.msb-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:600;color:var(--text-secondary);transition:background .15s}.msb-header:hover{background:var(--bg-card-hover)}.msb-count{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;margin-left:6px;vertical-align:middle}.msb-chevron{font-size:.7rem;opacity:.5}.msb-body-wrap{padding:14px 0 10px;display:flex;flex-direction:column;gap:6px}.msb-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid transparent;font-size:.82rem;line-height:1.4}.msb-icon{font-size:1rem;flex-shrink:0;margin-top:1px}.msb-body{flex:1}.msb-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:2px}.msb-title{font-weight:600}.msb-expand-btn{background:none;border:none;cursor:pointer;font-size:.65rem;opacity:.55;padding:0 2px;color:inherit;flex-shrink:0}.msb-expand-btn:hover{opacity:1}.msb-detail{margin-top:6px;font-size:.8rem;opacity:.8;line-height:1.5;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}[data-theme=light] .msb-detail{border-top-color:#00000014}.msb-text{opacity:.85}.msb-buy{background:#22d38314;border-color:#22d38338;color:#22d383}.msb-sell{background:#ff4f6b14;border-color:#ff4f6b38;color:#ff4f6b}.msb-wait{background:#ffaa0014;border-color:#ffaa0038;color:#fa0}.msb-info{background:#648cff14;border-color:#648cff38;color:#7090ff}.msb-neutral{background:#7882b414;border-color:#7882b433;color:var(--text-dim)}[data-theme=light] .msb-buy{color:#0d9458}[data-theme=light] .msb-sell{color:#c23}[data-theme=light] .msb-wait{color:#a06000}[data-theme=light] .msb-info{color:#24c}.pools-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.section-title{font-size:1.17rem;font-weight:600}.section-subtitle{font-size:.94rem;color:var(--text-secondary);margin-top:4px}.pools-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.positions-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.positions-badge{font-size:.86rem;font-weight:700;letter-spacing:.03em;padding:4px 8px;border-radius:999px;text-transform:uppercase}.positions-badge.out{background:var(--red-dim);color:var(--red)}.positions-badge.loan{background:#3b9eff29;color:var(--blue)}.pools-list{display:flex;flex-direction:column}.pool-item{padding:18px 20px;border-bottom:1px solid var(--border);transition:background .12s}.pool-item:last-child{border-bottom:none}.pool-item:hover{background:var(--bg-card-hover)}.pool-main{min-width:0}.pool-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.pool-top-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.pool-top-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.pool-status-pill,.pool-mobile-value{display:none}.pool-expand-btn{display:none;width:26px;height:26px;align-items:center;justify-content:center;border-radius:6px;color:var(--text-dim);border:1px solid var(--border);flex-shrink:0;transition:background .12s,color .12s}.pool-expand-btn:hover{background:var(--bg-card-hover);color:var(--text)}.pool-expand-icon{transition:transform .2s ease}.pool-item.expanded .pool-expand-icon{transform:rotate(180deg)}.pool-collapsible{display:grid;grid-template-columns:auto 1fr;gap:18px;margin-top:10px}.pool-overview{display:flex;flex-direction:column;gap:10px}.pool-fees-row{display:none}.pool-pair{font-size:1.7rem;font-weight:700;letter-spacing:-.03em}.pool-proto-tag{font-size:.86rem;font-weight:700;padding:3px 8px;border-radius:999px;letter-spacing:.03em}.pool-proto-tag.uniswap{background:#ff007a26;color:#ff007a}.pool-proto-tag.pancake{background:#f5c84226;color:var(--yellow)}.pool-proto-tag.curve{background:#3b9eff26;color:var(--blue)}.pool-proto-tag.other{background:var(--bg-card-hover);color:var(--text-secondary)}.pool-grid{display:grid;grid-template-columns:auto 1fr;gap:18px}.pool-badges{display:flex;flex-wrap:wrap;gap:6px}.pool-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;font-size:.86rem;font-weight:600;border:1px solid var(--border);color:var(--text-secondary)}.pool-chip.out{background:var(--red-dim);border-color:#ff4f6b40;color:var(--red)}.pool-chip.in{background:var(--green-dim);border-color:#22d38340;color:var(--green)}.pool-chip.loan{background:#3b9eff26;border-color:#3b9eff40;color:var(--blue)}.pool-chip.network{color:var(--text)}.pool-chip-experiment{background:#a855f726;border-color:#a855f74d;color:#a855f7}.pool-chip-experiment-btn{background:transparent;border:1px solid var(--border, rgba(255, 255, 255, .1));color:var(--text-muted, #888);cursor:pointer;font-size:.75rem;padding:2px 6px;border-radius:4px;opacity:.5;transition:opacity .15s,background .15s}.pool-chip-experiment-btn:hover{opacity:1}.pool-chip-experiment-btn.active{background:#a855f726;border-color:#a855f74d;color:#a855f7;opacity:1}.experiment-stats-block{margin-top:8px;padding:8px 12px;border-radius:6px;background:#a855f712;border:1px solid rgba(168,85,247,.2);font-size:.8rem}.experiment-stats-loading,.experiment-stats-empty{color:var(--text-muted, #888)}.experiment-stats-grid{display:flex;gap:20px;flex-wrap:wrap}.experiment-stat{display:flex;flex-direction:column;gap:2px}.experiment-stat-label{color:var(--text-muted, #888);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.experiment-stat-val{color:#a855f7;font-weight:600}.pool-range-meter{position:relative;width:100%;height:8px;border-radius:999px;background:var(--bg-input);border:1px solid var(--border);overflow:hidden}.pool-range-fill{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#22d3834d,#22d383cc);border-radius:999px}.pool-range-fill.out{background:linear-gradient(90deg,#ff4f6b4d,#ff4f6bcc)}.pool-range-pointer{position:absolute;top:-3px;width:2px;height:12px;background:#fff;box-shadow:0 0 12px #ffffff80}.pool-range{font-size:.94rem;color:var(--text-secondary)}.pool-range span{color:var(--text-dim)}.pool-stats{display:contents}.pool-stats-block{display:flex;flex-direction:column;gap:10px;justify-content:center}.pool-stat{min-width:0}.pool-stat-val{font-size:1.1rem;font-weight:700}.pool-stat-val.green,.pool-stat-val.positive{color:var(--green-text)}.pool-stat-val.negative{color:var(--red-text)}.pool-stat-label{font-size:.86rem;color:var(--text-dim);margin-top:1px}.pool-stat-row{display:flex;gap:18px;flex-wrap:wrap}.pool-stat-mini{display:flex;flex-direction:column;gap:2px}.pool-stat-mini-label{font-size:.78rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px}.pool-stat-mini-val{font-size:1rem;font-weight:700;color:var(--text-primary)}.pool-stat-mini-val.positive{color:var(--green-text)}.pool-stat-mini-val.negative{color:var(--red-text)}.pool-fees-row{display:none;align-items:center;gap:6px;margin-top:8px}.in-range-badge{font-size:.78rem;font-weight:600;padding:1px 6px;border-radius:3px}.in-range-badge.in{background:var(--green-dim);color:var(--green)}.in-range-badge.out{background:var(--red-dim);color:var(--red)}.empty-state{padding:48px 20px;text-align:center;color:var(--text-dim)}.empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4}.empty-title{font-size:1.1rem;font-weight:500;margin-bottom:4px}.empty-sub{font-size:.94rem}.fab-filter{display:none;position:fixed;bottom:20px;left:20px;width:46px;height:46px;border-radius:50%;background:var(--primary);color:#fff;align-items:center;justify-content:center;box-shadow:0 4px 20px var(--primary-glow);z-index:200;transition:transform .15s}.fab-filter:active{transform:scale(.93)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:500;padding:16px}.modal-overlay.open{display:flex}.modal{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px #00000080;animation:modal-in .18s ease}.modal.modal-forecast,.modal--md{max-width:620px}.modal--lg{max-width:900px;max-height:90vh;overflow-y:auto;min-height:400px;display:flex;flex-direction:column}.modal-overlay--high{z-index:700;align-items:flex-start;overflow-y:auto;padding:24px 12px}.ind-btn-forecast{background:#7c6bff1f;color:var(--primary);border-color:#7c6bff4d}.ind-btn-forecast:hover{background:#7c6bff38}.forecast-verdict{display:flex;align-items:baseline;gap:12px;padding:12px 0 16px;border-bottom:1px solid var(--border)}.forecast-conf{font-size:.9rem;font-weight:500}.forecast-modal__strength{color:var(--color-text-muted, #8a8fa8);font-weight:400}.fc-stat-pill{display:flex;flex-direction:column;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 14px;min-width:80px;flex:1}.fc-stat-pill-val{font-size:1.2rem;font-weight:700;letter-spacing:-.03em}.fc-stat-pill-lbl{font-size:.7rem;color:var(--text-dim);text-align:center;margin-top:2px}.fc-history-table td{font-size:.82rem}.forecast-table{width:100%;border-collapse:collapse;font-size:.88rem}.forecast-table th{text-align:left;color:var(--text-dim);font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:6px 0 4px;border-bottom:1px solid var(--border)}.forecast-table td{padding:5px 6px 5px 0;vertical-align:middle}.fc-label{color:var(--text-secondary);white-space:nowrap;min-width:160px}.fc-note{font-size:.82rem;white-space:nowrap}.forecast-bar-wrap{width:80px;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.forecast-bar{height:100%;border-radius:3px;transition:width .3s}.forecast-methodology{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.forecast-method-title{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.forecast-methodology p{font-size:.86rem;color:var(--text-secondary);line-height:1.5}.forecast-method-items{display:flex;flex-direction:column;gap:5px}.fc-method-item{font-size:.83rem;color:var(--text-secondary);line-height:1.45}.fc-method-item b{color:var(--text)}.forecast-disclaimer{font-size:.78rem!important;color:var(--text-dim)!important;font-style:italic}.fc-horizon-row{display:flex;align-items:center;gap:10px;margin:12px 0 8px;flex-wrap:wrap}.fc-horizon-label{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.fc-target-row{display:flex;gap:16px;margin:8px 0 12px;flex-wrap:wrap}.fc-target-item{display:flex;flex-direction:column;gap:2px;flex:1;min-width:120px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.fc-target-label{font-size:.78rem;color:var(--text-secondary)}.fc-target-val{font-size:1.05rem;font-weight:600;color:var(--text)}.fc-mini-chart-wrap{width:100%;margin:8px 0 14px;border-radius:8px;overflow:hidden;background:var(--card-bg);border:1px solid var(--border)}.fc-mini-chart-wrap canvas{display:block;width:100%;height:160px}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.modal-header h3{font-size:1.25rem;font-weight:600}.modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 18px}.form-label{font-size:.94rem;font-weight:500;color:var(--text-secondary);margin-bottom:4px;display:block}.form-hint{color:var(--text-dim);font-weight:400}.form-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);padding:8px 12px;color:var(--text);outline:none;transition:border-color .15s;-webkit-appearance:none}.form-input:focus{border-color:var(--primary)}.form-input::placeholder{color:var(--text-dim)}select.form-input{cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-col{display:flex;flex-direction:column}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}@media (max-width: 900px){.stats-row{grid-template-columns:repeat(3,1fr)}.pool-grid,.pool-collapsible{grid-template-columns:1fr}}@media (max-width: 700px){.app-layout{padding-top:0}.header{top:auto;bottom:0;border-top:1px solid var(--border);border-bottom:none;padding-top:8px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));height:auto;min-height:var(--header-h)}.header-progress{bottom:auto;top:0}.header-filter-btn{display:flex}.fab-filter{display:none!important}.sidebar{transform:translate(-100%);z-index:300;top:0}.sidebar.open{transform:translate(0)}.main{margin-left:0;padding:12px;padding-bottom:calc(var(--header-h) + 12px + env(safe-area-inset-bottom,0px))}.collapse-bar{display:none!important}.stats-row{grid-template-columns:repeat(3,1fr);gap:8px}.stat-value{font-size:calc(1rem + 1vw)}.account-strip{padding:14px;flex-direction:column;align-items:stretch}.account-strip-meta{justify-content:flex-start}.chart-header{padding:12px 14px 10px}.chart-price{font-size:1.4rem}.pool-stat-val{font-size:1rem}.pools-header{padding:12px 14px}.pool-item{padding:14px;gap:12px;grid-template-columns:1fr}.pool-pair{font-size:1.4rem}.pool-grid{grid-template-columns:1fr;gap:14px}.pool-status-pill{display:inline-flex}.pool-mobile-value{display:block;font-size:1.17rem;font-weight:700;color:var(--text)}.pool-mobile-value.positive{color:var(--green)}.pool-mobile-value.negative{color:var(--red)}.pool-fees-row,.pool-expand-btn{display:flex}.pool-collapsible{display:none;margin-top:0}.pool-item.expanded .pool-collapsible{display:flex;flex-direction:column;gap:12px;margin-top:10px}}@media (max-width: 400px){.stats-row{grid-template-columns:1fr 1fr}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:299}.sidebar-overlay.show{display:block}#btn-add-pool{display:none!important}@keyframes val-flash{0%{filter:brightness(1)}18%{filter:brightness(2.4) drop-shadow(0 0 4px currentColor)}to{filter:brightness(1)}}.val-updated{animation:val-flash .75s ease-out forwards}.d-none{display:none!important}.pool-scout-panel{margin:.75rem 0;background:var(--card-bg, #1a1d27);border:1px solid var(--border, #2a2d3a);border-radius:10px;padding:1rem 1.25rem}.pool-scout-pair-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.pool-scout-title{font-size:1rem;font-weight:600;color:var(--text, #e8eaf0);margin:0 0 1rem;letter-spacing:.02em}.pool-scout-pair{margin-bottom:1.5rem}.pool-scout-pair:last-child{margin-bottom:0}.pool-scout-pair-title{font-size:.875rem;font-weight:600;color:var(--text, #e8eaf0);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.pool-scout-chain-badge{font-size:.7rem;font-weight:500;background:var(--badge-bg, #2a2d3a);color:var(--muted, #9095a8);border-radius:4px;padding:1px 6px}.pool-scout-table{width:100%;border-collapse:collapse;font-size:.8rem;color:var(--text, #e8eaf0)}.pool-scout-table th{font-weight:500;color:var(--muted, #9095a8);padding:4px 8px;border-bottom:1px solid var(--border, #2a2d3a);white-space:nowrap}.pool-scout-table th:not(:first-child){text-align:right!important}.pool-scout-table th:first-child{text-align:left}.pool-scout-table td{text-align:right;padding:5px 8px;border-bottom:1px solid var(--border-subtle, #1e2130);white-space:nowrap}.pool-scout-table td:first-child{text-align:left;font-weight:500}.pool-scout-row--current{background:#63b3ed12}.pool-scout-row--current td{color:var(--accent, #63b3ed)}.pool-scout-age--mature{color:#68d391}.pool-scout-age--established{color:#f6e05e}.pool-scout-age--new{color:#fc8181}.pool-scout-status--current{color:var(--accent, #63b3ed);font-weight:600;font-size:.75rem}.pool-scout-status--recommended{color:#f6ad55;font-weight:600;font-size:.75rem}.pool-scout-status--better{color:#68d391;font-size:.75rem}.pool-scout-loading{color:var(--muted, #9095a8);font-size:.85rem;padding:.5rem 0}.range-advisor-meta{color:var(--muted, #9095a8);font-size:.8rem;margin:0 0 .5rem}.range-advisor-controls-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin:0 0 .75rem}.range-horizon-toggle{display:flex;gap:4px}.range-horizon-btn{font-size:.72rem;padding:2px 7px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;opacity:.5;transition:opacity .15s,background .15s}.range-horizon-btn:hover{opacity:.8}.range-horizon-btn.active{background:var(--accent, #3b82f6);border-color:transparent;color:#fff;opacity:1}.range-center-hint{font-size:.72rem;opacity:.6}.range-advisor-amount-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.range-advisor-amount-input{width:100px;padding:.25rem .5rem;background:var(--card-bg, #1a1d27);border:1px solid var(--border, #2a2d3a);border-radius:4px;color:var(--text, #e0e4f0);font-size:.85rem}.range-advisor-amount-hint{color:var(--muted, #9095a8);font-size:.78rem}.lp-range-recommended{background:#f6ad5514;outline:1px solid rgba(246,173,85,.3)}.lp-range-current{background:#7c6bff12;outline:1px solid rgba(124,107,255,.2)}.range-current-fact{font-size:.72rem;color:var(--primary);opacity:.7;font-style:italic}.pool-scout-cell-name{display:flex;flex-direction:column;gap:2px}.pool-scout-fee-link{color:var(--accent, #63b3ed);font-weight:600;text-decoration:none;font-size:.85rem}.pool-scout-fee-link:hover{text-decoration:underline}.pool-scout-addr{font-size:.7rem;color:var(--muted, #9095a8);font-family:monospace;letter-spacing:.02em}.pool-scout-addr:hover{color:var(--text, #e8eaf0)}.urgency-modal-overlay{z-index:600}.urgency-modal-card{max-width:520px}.urgency-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border-light);gap:12px}.urgency-modal-title{font-size:1.05rem;font-weight:700;line-height:1.3}.urgency-modal-close{flex-shrink:0;background:none;border:none;color:var(--text-dim);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 4px;transition:color .15s}.urgency-modal-close:hover{color:var(--text)}.urgency-modal-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}.urgency-current-price{font-size:.9rem;color:var(--text-dim)}.urgency-score-section{display:flex;flex-direction:column;gap:6px}.urgency-score-label{font-size:.85rem;color:var(--text-dim)}.urgency-bar-wrap{height:8px;background:var(--border-light);border-radius:4px;overflow:hidden}.urgency-bar{height:100%;border-radius:4px;transition:width .3s ease}.urgency-signals-section{display:flex;flex-direction:column;gap:6px}.urgency-signals-title{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.urgency-signals-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.urgency-signal-item{font-size:.82rem;font-weight:600;background:#ffffff0d;border:1px solid currentColor;border-radius:4px;padding:2px 8px;opacity:.9}.urgency-advice-block{background:#ffffff08;border:1px solid var(--border-light);border-radius:var(--radius);padding:12px 14px}.urgency-advice-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:6px}.urgency-advice-text{font-size:.88rem;line-height:1.5;color:var(--text);margin:0}.urgency-disclaimer{font-size:.75rem;color:var(--text-dim);text-align:center;margin:0}.lp-scout-tabs{display:flex;gap:4px;padding:12px 20px 0;border-bottom:1px solid var(--border)}.lp-scout-tab{background:none;border:none;padding:8px 14px;font-size:.85rem;font-weight:500;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:4px 4px 0 0;transition:color .15s}.lp-scout-tab:hover{color:var(--text)}.lp-scout-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.lp-scout-content{padding:16px 20px;flex:1;overflow-x:auto}.lp-scout-loading,.lp-scout-empty{color:var(--text-dim);font-size:.88rem;padding:32px 0;text-align:center}.lp-pair-section{margin-bottom:24px}.lp-pair-heading{font-size:.8rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.lp-fee-table{width:100%;border-collapse:collapse;font-size:.82rem}.lp-fee-table th{text-align:left;padding:6px 8px;color:var(--text-dim);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.lp-fee-table td{padding:7px 8px;border-bottom:1px solid var(--border-light);color:var(--text);white-space:nowrap}.lp-fee-table tr:last-child td{border-bottom:none}.lp-fee-table tr.lp-row--recommended td{background:rgba(var(--accent-rgb, 99, 102, 241),.06)}.lp-fee-table tr.lp-row--current td{background:#ffffff08}.lp-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle}.lp-badge--rec{background:#6366f133;color:#818cf8}.lp-badge--cur{background:#ffffff14;color:var(--text-dim)}.btn-add-position{font-size:.75rem;padding:3px 9px;border-radius:4px;border:1px solid var(--accent);background:none;color:var(--accent);cursor:pointer;white-space:nowrap}.btn-add-position:hover{background:#6366f11f}.lp-top-table{width:100%;border-collapse:collapse;font-size:.82rem}.lp-top-table th{text-align:left;padding:6px 8px;color:var(--text-dim);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.lp-top-table td{padding:7px 8px;border-bottom:1px solid var(--border-light);color:var(--text);white-space:nowrap;vertical-align:top}.lp-top-table tr:last-child>td{border-bottom:none}.lp-top-rank{color:var(--text-dim);font-size:.75rem;width:28px}.lp-top-pair{font-weight:600}.lp-top-chain{font-size:.72rem;color:var(--text-dim)}.lp-top-expand-row td{padding:0 8px 8px 28px;background:#ffffff05}.lp-top-detail{flex-wrap:wrap;gap:6px;padding-top:4px}.lp-top-detail-cell{flex-direction:column;min-width:90px;padding:10px;font-size:.78rem}.lp-top-detail-cell span:first-child{color:var(--text-dim);font-size:.7rem}[data-tooltip]{position:relative;cursor:help}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-tooltip, #333);color:var(--text-tooltip, #fff);padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}[data-tooltip]:hover:after,[data-tooltip]:focus:after{opacity:1}.lp-top-row{cursor:pointer}.lp-top-row:hover td{background:#ffffff08}.skeleton{background:linear-gradient(90deg,var(--bg-card, #f3f3f3) 25%,var(--bg-card-hover, #e8e8e8) 50%,var(--bg-card, #f3f3f3) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;color:transparent!important;min-height:1.2em;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.indicator-btn.active{background:var(--accent, #3b82f6);color:#fff;border-color:var(--accent, #3b82f6)}.backend-table{width:100%;border-collapse:collapse;font-size:13px}.backend-table th{text-align:left;padding:6px 8px;color:var(--text-muted, #8a8fa8);font-weight:500;border-bottom:1px solid var(--border, #2a2d3e);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.backend-table td{padding:8px;border-bottom:1px solid var(--border, #1e2030);vertical-align:middle}.backend-table tr:last-child td{border-bottom:none}.btn-small{padding:3px 10px;font-size:11px;border-radius:4px;border:1px solid var(--border, #2a2d3e);background:var(--surface, #1e2030);color:var(--text, #cdd6f4);cursor:pointer;transition:background .15s}.btn-small:hover:not(:disabled){background:var(--surface2, #2a2d3e)}.btn-small:disabled{opacity:.4;cursor:not-allowed}.error-crash-banner{position:fixed;top:0;left:0;right:0;z-index:99999;background:#7f1d1d;color:#fecaca;padding:12px 16px;display:flex;align-items:center;gap:12px;font-size:.85rem;line-height:1.4;box-shadow:0 2px 8px #00000080}.error-crash-banner span{flex:1;word-break:break-word}.error-crash-banner button{flex-shrink:0;background:#ffffff26;color:#fecaca;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:8px 16px;cursor:pointer;font-size:.85rem;white-space:nowrap;min-height:40px}.error-crash-banner button:active{background:#ffffff40}.header-macro-link{text-decoration:none;font-size:.8rem;letter-spacing:.03em}.macro-page{min-height:100vh;padding:0 16px 40px;max-width:1200px;margin:0 auto}.macro-header{display:flex;align-items:center;gap:16px;padding:20px 0 24px;border-bottom:1px solid var(--border);margin-bottom:24px}.macro-back{flex-shrink:0;font-size:.85rem}.macro-title{font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:baseline;gap:10px}.macro-subtitle{font-size:.8rem;font-weight:400;opacity:.5}.macro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.macro-pools-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.macro-pools-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}.macro-pools-title{font-size:1rem;font-weight:600;margin:0}.macro-pools-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.macro-pools-subtitle{font-size:.8rem;opacity:.5}.macro-pools-horizon-toggle{display:flex;gap:4px}.macro-horizon-btn{font-size:.72rem;padding:2px 7px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;opacity:.5;transition:opacity .15s,background .15s}.macro-horizon-btn:hover{opacity:.8}.macro-horizon-btn.active{background:var(--accent, #3b82f6);border-color:transparent;color:#fff;opacity:1}.macro-range-arrow{font-size:.75rem;margin-left:2px}.macro-pools-asset{font-size:.72rem;font-weight:600;opacity:.6;letter-spacing:.03em;white-space:nowrap}.asset-card{display:flex;flex-direction:column;gap:12px;background:var(--card-bg, var(--bg-2));border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s;color:inherit}.asset-card:hover{border-color:var(--accent, #6366f1);box-shadow:0 0 0 1px var(--accent, #6366f1)}.asset-card__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.asset-card__symbol{font-weight:700;font-size:1rem}.asset-card__name{font-size:.8rem;opacity:.5;flex:1}.asset-card__badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:20px}.asset-card__badge--bull{background:#22d38326;color:var(--green-text)}.asset-card__badge--bear{background:#ff4f6b26;color:var(--red-text)}.asset-card__sentiment{font-size:.85rem;margin-left:4px;line-height:1}.asset-card__conf{display:flex;align-items:center;gap:8px}.asset-card__conf-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.asset-card__conf-fill{height:100%;border-radius:2px;transition:width .3s}.asset-card__conf-fill--bull{background:var(--green)}.asset-card__conf-fill--bear{background:var(--red)}.asset-card__conf-label{font-size:.75rem;opacity:.6;flex-shrink:0}.asset-card__strength-label{font-size:.7rem;color:var(--color-text-muted, #8a8fa8);margin-left:6px;flex-shrink:0}.asset-card__mtf{display:flex;align-items:center;gap:8px;font-size:.72rem;margin-top:2px}.asset-card__mtf-label{opacity:.5;font-weight:500;flex-shrink:0}.asset-card__mtf-tf{font-weight:600;flex-shrink:0}.asset-card__prices{display:flex;align-items:center;gap:8px;font-size:.9rem}.asset-card__arrow{opacity:.4}.asset-card__pct{font-size:.8rem;font-weight:600}.asset-card__no-data{font-size:.8rem;opacity:.4;margin:0}.asset-card--skeleton{cursor:default;pointer-events:none;gap:14px}.asset-card__skeleton-line{height:14px;background:var(--border);border-radius:4px;animation:skeleton-pulse 1.4s ease-in-out infinite}.asset-card__skeleton-line--short{width:55%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.asset-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.asset-nav__sep{width:1px;height:16px;background:var(--border);margin:0 4px;flex-shrink:0}.asset-nav__home{font-size:.8rem}.asset-nav__item{font-size:.78rem;padding:4px 10px;border-radius:6px}.asset-nav__item--active{background:var(--accent, #6c63ff);color:#fff;opacity:1}.asset-page__horizons{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.horizon-btn{padding:6px 16px;border-radius:20px;border:1px solid var(--border);background:transparent;color:inherit;cursor:pointer;font-size:.85rem;transition:background .12s,border-color .12s}.horizon-btn:hover{background:var(--bg-2)}.horizon-btn--active{background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff;font-weight:600}.asset-page__loading{text-align:center;padding:48px;opacity:.5}.asset-page__body{display:flex;flex-direction:column;gap:20px}.asset-page__verdict{display:flex;align-items:center;gap:12px}.asset-page__conf{font-size:.85rem;opacity:.6}.asset-page__strength{font-size:.8rem;color:var(--color-text-muted, #8a8fa8)}.asset-page__prices{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.asset-page__price-block{display:flex;flex-direction:column;gap:4px}.asset-page__price-label{font-size:.75rem;opacity:.5;text-transform:uppercase;letter-spacing:.04em}.asset-page__price-value{font-size:1.4rem;font-weight:600}.asset-page__price-arrow{font-size:1.2rem;opacity:.3}.asset-page__range{display:flex;align-items:center;gap:8px;font-size:.9rem}.asset-page__range-label{opacity:.5}.asset-page__range-sep{opacity:.4}.asset-page__summary{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.asset-page__summary-title{font-size:.8rem;opacity:.5;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-weight:500}.asset-page__summary-text{font-size:.85rem;line-height:1.55;margin:0}.intraday-verdict-block{background:var(--c-surface, #1a1a2e);border:1px solid var(--c-accent, #4a9eff);border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.5rem}.intraday-verdict-time{font-size:.78rem;color:var(--c-accent, #4a9eff);margin-left:auto}.verdict-block{background:var(--c-surface, #1a1a2e);border:1px solid var(--c-border, #2d2d4e);border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.verdict-main{display:flex;align-items:center;gap:.75rem}.verdict-emoji{font-size:1.5rem;line-height:1}.verdict-label{font-size:1.25rem;font-weight:700}.verdict-conf{font-size:.85rem;color:var(--c-text-muted)}.verdict-levels{display:flex;gap:1rem;flex-wrap:wrap}.verdict-level{font-size:.9rem;font-weight:600}.verdict-level--stop{color:var(--c-red, #e53e3e)}.verdict-level--target{color:var(--c-green, #38a169)}.verdict-reasons{display:flex;flex-direction:column;gap:.2rem}.verdict-reason{font-size:.85rem;color:var(--c-text-muted)}.asset-page__signals{margin-top:1rem}.asset-page__signals-title{font-size:.9rem;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.signals-table td{font-size:.85rem;padding:.25rem .5rem;vertical-align:top}.signal-row--weak{opacity:.4}.signal-weak-badge{display:inline-block;margin-left:.4em;padding:0 .35em;font-size:.7em;border-radius:3px;background:var(--text-dim, #888);color:var(--bg, #fff);opacity:.7;vertical-align:middle}.asset-page__no-data{padding:32px;text-align:center;opacity:.4}.asset-markets{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.asset-markets__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.asset-markets__title{font-size:.9rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:0}.asset-markets__refresh{font-size:1rem;padding:2px 6px;line-height:1}.asset-markets__loading{font-size:.85rem;color:var(--text-dim);opacity:.6}.asset-markets__table{width:100%;border-collapse:collapse;font-size:.82rem}.asset-markets__table th{text-align:left;color:var(--text-dim);font-weight:500;font-size:.75rem;padding:4px 10px 6px 0;white-space:nowrap;border-bottom:1px solid var(--border)}.asset-markets__table td{padding:6px 10px 6px 0;white-space:nowrap;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);vertical-align:middle}.asset-markets__row--binance td{color:var(--text-dim);opacity:.7}.asset-markets__platform{font-weight:500;opacity:1!important}.asset-markets__dev-badge{display:inline-block;margin-left:5px;font-size:.72rem;color:#f5a623;font-weight:600}.perp-sparkline{display:block}.perp-sparkline--empty{width:60px;height:20px}.asset-page__history{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.asset-page__history-title{font-size:1rem;font-weight:600;margin:0 0 12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.asset-page__history-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.fc-history-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.asset-chart{width:100%;margin-bottom:16px}.asset-chart .canvas-wrap{min-height:200px;position:relative;width:100%}.c-bull{color:var(--green-text)}.c-bear{color:var(--red-text)}.asset-lp-section{margin-top:28px;max-width:760px}.asset-lp-title{font-size:.8rem;opacity:.5;text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-weight:500}.asset-lp-skeleton{padding:20px 0;opacity:.4;font-size:.9rem}.asset-lp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.asset-lp-table{width:100%;border-collapse:collapse;font-size:.82rem}.asset-lp-table th{text-align:left;padding:6px 10px;opacity:.45;font-weight:500;text-transform:uppercase;font-size:.72rem;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap}.asset-lp-table td{padding:8px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);vertical-align:middle;white-space:nowrap}.asset-lp-pair{font-weight:600}.asset-lp-na{opacity:.35}.asset-lp-range{display:inline-flex;align-items:center;gap:4px}.asset-lp-sep{opacity:.35}.asset-lp-pct{opacity:.5;font-size:.75rem;margin-left:4px}.macro-pools-row--mine{background:color-mix(in srgb,var(--accent, #6c8eff) 8%,transparent)}.macro-my-pair-badge{margin-left:4px;font-size:.8rem;vertical-align:middle}.macro-range-in-badge{color:var(--bull, #4caf7d);font-size:.8rem;font-weight:600;margin-left:2px;line-height:1}.asset-lp-add-link{color:var(--accent, #6c8eff);text-decoration:none;font-size:.78rem;white-space:nowrap}.asset-lp-add-link:hover{text-decoration:underline}.asset-card__live{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.asset-card__live-tf{font-size:.7rem;padding:1px 5px;border-radius:3px;font-variant-numeric:tabular-nums}.asset-card__live-tf--bullish{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.asset-card__live-tf--bearish{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.asset-card__accuracy{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.acc-pill{font-size:.7rem;padding:2px 6px;border-radius:10px;background:var(--surface2, rgba(255, 255, 255, .06));color:var(--text-dim);white-space:nowrap}.intraday-section{margin-bottom:24px}.intraday-header{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.intraday-title{font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.intraday-subtitle{font-size:.75rem;color:var(--text-dim)}.intraday-grid{display:flex;flex-direction:column;gap:4px}.primary-signal-banner{background:var(--card-bg, #1a1d2e);border:1px solid var(--border-color, #2a2d3e);border-left:3px solid var(--c-green, #38a169);border-radius:8px;padding:12px 14px;margin-bottom:14px}.primary-signal-banner__header{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.primary-signal-banner__label{font-size:.85rem;font-weight:700;color:var(--text-primary, #e2e8f0)}.primary-signal-banner__accuracy{font-size:.75rem;font-weight:600;color:var(--c-green, #38a169);background:#38a1691f;border-radius:4px;padding:2px 7px}.primary-signal-banner__consensus{font-size:.8rem;font-weight:600;margin-left:auto}.primary-signal-banner__grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.primary-signal-banner__note{font-size:.72rem;color:var(--text-dim);margin:0}.primary-signal-row{display:flex;align-items:center;gap:5px;background:var(--surface-1, #1e2133);border-radius:5px;padding:4px 8px;min-width:110px}.primary-signal-row__symbol{font-size:.75rem;font-weight:600;color:var(--text-secondary);min-width:36px}.primary-signal-row__dir{font-weight:700;font-size:.9rem}.primary-signal-row__bar{flex:1;height:4px;background:var(--border-color, #2a2d3e);border-radius:2px;overflow:hidden;min-width:30px}.primary-signal-row__fill{height:100%;border-radius:2px}.primary-signal-row__fill--bull{background:var(--c-green, #38a169)}.primary-signal-row__fill--bear{background:var(--c-red, #e53e3e)}.primary-signal-row__conf{font-size:.72rem;color:var(--text-dim);min-width:28px;text-align:right}.intraday-card{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xs);min-height:32px}.intraday-card--skeleton{height:32px;opacity:.4;animation:pulse 1.5s ease-in-out infinite}.intraday-card__symbol{font-size:.8rem;font-weight:600;color:var(--text);width:40px;flex-shrink:0}.intraday-card__badge{font-size:.75rem;font-weight:700;width:14px;flex-shrink:0}.intraday-card__badge--bull{color:var(--green)}.intraday-card__badge--bear{color:var(--red)}.intraday-card__conf-bar{width:48px;height:4px;background:var(--border);border-radius:2px;flex-shrink:0;overflow:hidden}.intraday-card__conf-fill{height:100%;border-radius:2px;transition:width .3s ease}.intraday-card__conf-fill--bull{background:var(--green)}.intraday-card__conf-fill--bear{background:var(--red)}.intraday-card__conf-label{font-size:.72rem;color:var(--text-secondary);width:32px;flex-shrink:0}.intraday-card__tfs{display:flex;gap:4px;flex-wrap:wrap;flex:1}.intraday-card__tf{font-size:.68rem;padding:1px 4px;border-radius:3px;background:#ffffff0d;white-space:nowrap}.intraday-card__tf--bull{color:var(--green)}.intraday-card__tf--bear{color:var(--red)}.intraday-card__time{font-size:.68rem;color:var(--text-dim);margin-left:auto;flex-shrink:0}.intraday-empty{font-size:.8rem;color:var(--text-dim);padding:12px 0}.macro-accuracy{background:var(--surface2, rgba(255, 255, 255, .04));border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:20px}.macro-accuracy__title{font-size:.85rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.macro-accuracy__pills{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.macro-accuracy__pill{display:flex;flex-direction:column;align-items:center;gap:2px}.macro-accuracy__val{font-size:1.4rem;font-weight:700;line-height:1}.macro-accuracy__lbl{font-size:.7rem;color:var(--text-dim)}.macro-accuracy__insights{display:flex;flex-direction:column;gap:4px}.macro-accuracy__insight{font-size:.82rem;color:var(--text-muted, var(--text-dim));margin:0;line-height:1.5}.balancer-type-badge{font-size:.75rem;font-weight:600;padding:2px 7px;border-radius:4px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border)}.balancer-type-badge--weighted{background:#7c6bff1f;color:var(--primary);border-color:#7c6bff4d}.balancer-type-badge--stable{background:#22d3831a;color:var(--green-text);border-color:#22d38340}.balancer-type-badge--boosted{background:#ffa9401a;color:#f59e0b;border-color:#ffa94040}.btn-solana{color:#9945ff;font-size:.78rem}.btn-solana:hover{color:#b67aff}.solana-wallet-error{color:var(--red-text)}.signal-weights-section{margin:1.5rem 1rem;padding:1rem;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border, rgba(255, 255, 255, .08))}.signal-weights-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.signal-weights-title{font-size:.95rem;font-weight:600;margin:0;color:var(--text-primary, #e2e8f0)}.signal-weights-updated{font-size:.72rem;color:var(--text-muted, #64748b)}.signal-weights-table{width:100%;border-collapse:collapse;font-size:.8rem}.signal-weights-table th{text-align:left;padding:.2rem .4rem;color:var(--text-muted, #64748b);font-weight:500;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08))}.signal-weights-table td{padding:.25rem .4rem;vertical-align:middle}.signal-weights-key{color:var(--text-primary, #e2e8f0);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-weights-val{color:var(--text-secondary, #94a3b8);text-align:right;padding-right:.75rem;width:3rem}.signal-weights-bar-col{width:100%}.signal-weights-bar-cell{width:100%;padding-right:.5rem}.sw-bar{height:6px;border-radius:3px;min-width:2px;transition:width .3s ease}.sw-bar--high{background:var(--green-text, #22d38a)}.sw-bar--low{background:#f59e0b}.sw-bar--neutral{background:var(--text-muted, #64748b)}.signal-weights-accuracy{white-space:nowrap;font-size:.8rem}.sw-acc--good{color:var(--green-text, #22d38a)}.sw-acc--bad{color:var(--red, #f87171)}.sw-acc--neutral{color:var(--text-muted, #64748b)}.sw-acc--empty{color:var(--text-muted, #64748b);opacity:.5}.sw-acc-count{opacity:.6;font-size:.75rem}.signal-weights-rec{white-space:nowrap;font-size:.8rem}.sw-rec-wrap{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sw-rec--down{color:var(--red, #f87171);font-weight:500}.sw-rec--up{color:var(--green-text, #22d38a);font-weight:500}.sw-rec--applied{color:var(--green-text, #22d38a);font-size:.75rem}.sw-rec--error{color:var(--red, #f87171);font-size:.75rem}.sw-rec-btn{padding:.15rem .5rem;font-size:.75rem;border-radius:4px;border:1px solid var(--border, #334155);background:var(--surface2, #1e293b);color:var(--text, #e2e8f0);cursor:pointer;transition:background .15s}.sw-rec-btn:hover:not(:disabled){background:var(--surface3, #334155)}.sw-rec-btn:disabled{opacity:.5;cursor:not-allowed}.sw-history{margin-top:1.5rem}.sw-history__title{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem}.sw-history__table{width:100%;border-collapse:collapse;font-size:.8rem}.sw-history__table th{text-align:left;padding:.25rem .5rem;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border)}.sw-history__table td{padding:.25rem .5rem;border-bottom:1px solid var(--border-faint, var(--border))}.sw-history__date{color:var(--text-muted);white-space:nowrap}.hlp-vault-section{margin:1.5rem 0;padding:1rem 1.25rem;background:var(--card-bg, rgba(255, 255, 255, .04));border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:8px}.hlp-vault-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.hlp-vault-title{font-size:.9rem;font-weight:600;margin:0}.hlp-vault-badge{font-size:.7rem;padding:2px 7px;border-radius:99px;border:1px solid}.hlp-badge--open{background:#22d3831a;color:var(--green-text, #34d383);border-color:#22d38340}.hlp-badge--closed{background:#ffffff0d;color:var(--muted, #888);border-color:#ffffff1a}.hlp-vault-stats{display:flex;gap:2rem;margin-bottom:.75rem}.hlp-vault-stat{display:flex;flex-direction:column;gap:.15rem}.hlp-vault-stat-label{font-size:.7rem;color:var(--muted, #888);text-transform:uppercase;letter-spacing:.04em}.hlp-vault-stat-value{font-size:1.15rem;font-weight:600}.hlp-vault-chart{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.hlp-vault-chart-label{font-size:.7rem;color:var(--muted, #888);white-space:nowrap}.hlp-sparkline{display:block}.hlp-vault-compare{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted, #888);flex-wrap:wrap}.hlp-vault-compare-label{color:var(--muted, #888)}.hlp-vault-compare-item strong{color:var(--text, #e0e0e0)}.hlp-vault-compare-sep{color:var(--muted, #888)}.spot-signal-section{margin-top:1.5rem}.spot-signal-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.spot-signal-section__title{font-size:1rem;font-weight:600;margin:0}.spot-signal-select{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.8rem;padding:.2rem .5rem;cursor:pointer}.spot-signal-loading,.spot-signal-empty{color:var(--text-muted);font-size:.85rem;padding:.75rem 0}.spot-signal-card{border-radius:8px;border:1px solid var(--border);padding:1rem;margin-bottom:1rem}.spot-signal-card--long{background:#22d38314;border-color:#22d3834d}.spot-signal-card--short{background:#ef444414;border-color:#ef44444d}.spot-signal-card--flat{background:var(--bg-card);border-color:var(--border)}.spot-signal-card__header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.spot-signal-card__dir{font-size:1rem;font-weight:600}.spot-signal-card__conf{font-size:.85rem;color:var(--text-muted)}.spot-signal-card__levels{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:.5rem}.spot-signal-card__level{display:flex;flex-direction:column;gap:.15rem}.spot-signal-card__level-lbl{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.spot-signal-card__level-val{font-size:.9rem;font-weight:500}.spot-signal-card__level-val--sl{color:var(--red)}.spot-signal-card__level-val--tp{color:var(--green)}.spot-signal-card__date{font-size:.75rem;color:var(--text-muted)}.spot-signal-history__title{font-size:.9rem;font-weight:600;margin:0 0 .5rem}.spot-signal-table{width:100%;border-collapse:collapse;font-size:.8rem}.spot-signal-table th,.spot-signal-table td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.spot-signal-table th{color:var(--text-muted);font-weight:500}.asset-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin:1.5rem 0 0}.asset-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:.6rem 1.2rem;margin-bottom:-1px;transition:color .15s,border-color .15s}.asset-tab--active{border-bottom-color:var(--green);color:var(--text);font-weight:600}.morning-brief{background:var(--c-surface, #1a1a2e);border:1px solid var(--c-border, #2a2a3e);border-radius:8px;padding:12px 16px;margin-bottom:16px}.morning-brief--skeleton{min-height:60px}.morning-brief__header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;font-size:.9rem}.morning-brief__date{font-size:.75rem;color:var(--c-text-muted);font-weight:400}.morning-brief__preview{font-size:.85rem;line-height:1.5;white-space:pre-wrap;color:var(--c-text)}.morning-brief__full{font-size:.85rem;line-height:1.5;white-space:pre-wrap;color:var(--c-text);margin-top:8px}.morning-brief__toggle{background:none;border:none;color:var(--c-accent, #6c63ff);cursor:pointer;font-size:.8rem;padding:4px 0;margin-top:4px;display:block}.perps-signal-section{margin-top:1.5rem}.perps-signal-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.perps-signal-section__title{font-size:1rem;font-weight:600;margin:0}.perps-signal-card{border-radius:8px;border:1px solid var(--border);padding:1rem;margin-bottom:1rem}.perps-signal-card--long{background:#22d38314;border-color:#22d3834d}.perps-signal-card--short{background:#ef444414;border-color:#ef44444d}.perps-signal-card--flat{background:var(--bg-card);border-color:var(--border)}.perps-signal-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.perps-signal-card__dir{font-size:1rem;font-weight:600}.perps-signal-card__conf{font-size:.85rem;color:var(--text-muted)}.perps-signal-card__strategy{font-size:.75rem;background:#ffffff12;border-radius:4px;padding:.1rem .4rem;color:var(--text-muted)}.perps-signal-card__funding{display:flex;align-items:center;gap:.4rem;font-size:.82rem;margin-bottom:.75rem;flex-wrap:wrap}.perps-signal-card__funding-lbl{color:var(--text-muted)}.perps-signal-card__funding-val{font-weight:500}.perps-signal-card__funding-sep{color:var(--text-muted)}.perps-signal-history{margin-top:.5rem}.fr-heatmap{margin-top:1rem;padding:.75rem;background:var(--bg-card, #1e1e1e);border:1px solid var(--border);border-radius:6px}.fr-heatmap__title{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.fr-heatmap__row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.fr-heatmap__label{font-size:.72rem;color:var(--text-muted);width:2.5rem;flex-shrink:0}.fr-heatmap__cells{display:flex;gap:2px;flex:1}.fr-heatmap__cell{flex:1;height:16px;border-radius:2px;min-width:4px}.fr-heatmap__legend{display:flex;gap:1rem;margin-top:.4rem}.fr-heatmap__legend-item{font-size:.68rem;color:var(--text-muted)}.fr-heatmap__legend-item--bull{color:#28a745}.fr-heatmap__legend-item--bear{color:#dc3545}.accuracy-heatmap{margin:1.5rem 0;background:var(--c-card);border-radius:12px;padding:1rem 1.25rem}.accuracy-heatmap__title{font-size:.85rem;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.accuracy-heatmap__scroll{overflow-x:auto}.accuracy-heatmap__table{border-collapse:collapse;width:100%;min-width:480px}.accuracy-heatmap__th{padding:.3rem .6rem;font-size:.75rem;color:var(--c-text-muted);text-align:center;border-bottom:1px solid var(--c-border)}.accuracy-heatmap__th--asset{text-align:left;min-width:60px}.accuracy-heatmap__row:hover{background:var(--c-hover, rgba(255, 255, 255, .03))}.accuracy-heatmap__asset{padding:.35rem .6rem;font-size:.78rem;font-weight:600;color:var(--c-text)}.accuracy-heatmap__cell{padding:.3rem .5rem;text-align:center;vertical-align:middle;cursor:default;border-left:1px solid var(--c-border);min-width:70px}.accuracy-heatmap__cell--empty{color:var(--c-text-muted);font-size:.75rem;border-left:1px solid var(--c-border)}.accuracy-heatmap__dir{display:block;font-size:.82rem;font-weight:700;line-height:1.2}.accuracy-heatmap__err{display:block;font-size:.68rem;color:var(--c-text-muted);line-height:1.2}.accuracy-heatmap__legend{margin:.6rem 0 0;font-size:.7rem;color:var(--c-text-muted);line-height:1.4}.mctx-panel{margin:1rem 0 1.5rem;background:var(--c-card);border-radius:12px;padding:1rem 1.25rem}.mctx-panel__title{font-size:.85rem;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.mctx-panel__table{border-collapse:collapse;width:auto;min-width:240px}.mctx-panel__th{padding:.25rem .75rem;font-size:.75rem;color:var(--c-text-muted);text-align:center;border-bottom:1px solid var(--c-border)}.mctx-panel__row:hover{background:var(--c-hover, rgba(255, 255, 255, .03))}.mctx-panel__label{padding:.3rem .75rem .3rem 0;font-size:.78rem;font-weight:600;color:var(--c-text-muted);white-space:nowrap}.mctx-panel__val{padding:.3rem .75rem;font-size:.85rem;font-weight:700;text-align:center}.pair-tabs{display:flex;gap:4px;padding:4px 0 0;margin:0 0 8px;border-bottom:1px solid var(--border);flex-wrap:wrap}.pair-tab{background:none;border:none;padding:8px 14px;font-size:.85rem;font-weight:500;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:4px 4px 0 0;transition:color .15s,border-color .15s;white-space:nowrap}.pair-tab:hover{color:var(--text)}.pair-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.pair-tab-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;margin:16px 0;border:1px dashed var(--border);border-radius:8px;color:var(--text-dim)}.pair-tab-empty.d-none{display:none}.pair-tab-empty-icon{font-size:1.5rem;opacity:.6}.pair-tab-empty-title{font-size:.95rem;color:var(--text)}.pair-tab-empty-link{color:var(--primary);text-decoration:none;font-weight:500;font-size:.9rem}.pair-tab-empty-link:hover{text-decoration:underline}.pair-forecast-banner{display:flex;flex-direction:column;gap:4px;padding:10px 14px;margin:12px 0;border:1px solid var(--border);border-left-width:3px;border-radius:8px;background:var(--surface, rgba(255, 255, 255, .02));font-size:.85rem}.pair-forecast-banner--bull{border-left-color:#16a34a}.pair-forecast-banner--bear{border-left-color:#dc2626}.pair-forecast-banner-line{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--text)}.pair-forecast-banner-arrow{font-size:1rem;line-height:1}.pair-forecast-banner--bull .pair-forecast-banner-arrow{color:#16a34a}.pair-forecast-banner--bear .pair-forecast-banner-arrow{color:#dc2626}.pair-forecast-banner-detail{font-size:.75rem;color:var(--text-dim)}.pool-chip-pair{font-size:.7rem;font-weight:500;letter-spacing:.02em;background:#7c6bff1f;color:var(--primary);border-radius:6px;padding:2px 6px}.version-badge{position:fixed;bottom:8px;right:8px;z-index:9999;padding:3px 8px;font-size:.65rem;border-radius:4px;background:#151822d9;color:#8a8fa8cc;border:1px solid rgba(37,40,54,.8);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:color .2s,background .2s}.version-badge:hover{color:var(--text);background:#151822f2}.version-badge--update{background:#f5c84226;color:var(--yellow);border-color:#f5c84266;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}
