@import url("https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&family=JetBrains+Mono:wght@400;500;600&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f4f4f5;--bg-card:#fff;--bg-input:#fff;--bg-raised:#f8f8f8;--bg-muted:#efefef;--border:#e4e4e7;--border-strong:#a1a1aa;--border-focus:#18181b;--text-primary:#09090b;--text-secondary:#52525b;--text-tertiary:#a1a1aa;--text-disabled:#d4d4d8;--blue:#2563eb;--blue-light:#3b82f6;--blue-dim:rgba(37,99,235,.07);--blue-border:rgba(37,99,235,.18);--green:#059669;--green-light:#10b981;--green-dim:rgba(5,150,105,.07);--green-border:rgba(5,150,105,.18);--purple:#7c3aed;--purple-light:#8b5cf6;--purple-dim:rgba(124,58,237,.07);--purple-border:rgba(124,58,237,.18);--red:#dc2626;--orange:#ea580c;--cyan:#0891b2;--r-xs:3px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 8px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 8px 24px rgba(0,0,0,.08)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;font-size:13.5px;line-height:1.5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes slide-in{0%{opacity:0;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}@keyframes panel-flash{0%{box-shadow:0 0 0 0 rgba(37,99,235,0);border-color:var(--border)}25%{box-shadow:0 0 0 4px rgba(37,99,235,.15);border-color:var(--blue-light)}to{box-shadow:0 0 0 0 rgba(37,99,235,0);border-color:var(--border)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1}to{opacity:0;transform:translateY(-4px)}}.anim-fade-up{animation:fadeUp .22s cubic-bezier(.16,1,.3,1) both}.anim-fade-in{animation:fadeIn .18s ease both}.anim-spin{animation:spin .75s linear infinite;display:inline-block}.anim-pulse{animation:pulse 2s ease-in-out infinite}.anim-slide-in{animation:slide-in .2s ease both}.anim-flash{animation:panel-flash .7s ease forwards}.data-table tr.row-selected td{background:var(--blue-dim)}.data-table tr.row-selected td:first-child{border-left:2.5px solid var(--blue)}.panel-highlighted{border-color:var(--blue-light)!important;box-shadow:0 0 0 3px rgba(37,99,235,.1);transition:border-color .3s,box-shadow .3s}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--text-primary);color:#fff;border-radius:var(--r-md);font-size:12.5px;font-weight:500;box-shadow:0 4px 16px rgba(0,0,0,.18);animation:toast-in .2s ease both;max-width:320px}.toast.toast-success{background:var(--green)}.toast.toast-error{background:var(--red)}.toast.toast-info{background:var(--blue)}.toast-icon{font-size:14px;flex-shrink:0}@keyframes badge-pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.updated-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;background:var(--blue);color:#fff;border-radius:100px;font-size:10px;font-weight:700;animation:badge-pop .25s ease both;letter-spacing:.03em}.mono{font-family:JetBrains Mono,monospace}.text-xs{font-size:11px}.text-sm{font-size:12px}.text-md{font-size:13.5px}.text-lg{font-size:16px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.tracking-wide{letter-spacing:.04em}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-inset{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-md)}.divider{height:1px}.divider,.divider-v{background:var(--border)}.divider-v{width:1px;align-self:stretch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:var(--r-sm);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;outline:none;transition:all .12s ease;white-space:nowrap;font-family:inherit;letter-spacing:-.01em;line-height:1;position:relative}.btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.btn-primary:hover:not(:disabled){background:#27272a;border-color:#27272a}.btn-ghost{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-strong)}.btn-ghost:hover:not(:disabled){background:var(--bg-muted);border-color:var(--text-primary)}.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-blue:hover:not(:disabled){background:var(--blue-light)}.btn-success{background:var(--green);color:#fff;border-color:var(--green)}.btn-success:hover:not(:disabled){background:var(--green-light)}.btn-accent{background:var(--purple);color:#fff;border-color:var(--purple)}.btn-accent:hover:not(:disabled){background:var(--purple-light)}.btn-danger{background:transparent;color:var(--red);border-color:rgba(220,38,38,.25)}.btn-danger:hover:not(:disabled){background:rgba(220,38,38,.05);border-color:var(--red)}.btn-muted{background:var(--bg-muted);color:var(--text-secondary);border-color:var(--border)}.btn-muted:hover:not(:disabled){background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-strong)}.btn-sm{padding:5px 10px;font-size:12px}.btn-sm,.btn-xs{border-radius:var(--r-xs)}.btn-xs{padding:3px 7px;font-size:11px}.btn-lg{padding:9px 18px;font-size:13.5px;font-weight:600}.btn-full{width:100%}.btn-full,.btn-icon{border-radius:var(--r-sm)}.btn-icon{padding:6px;width:28px;height:28px;background:transparent;color:var(--text-tertiary);border-color:var(--border)}.btn-icon:hover:not(:disabled){background:var(--bg-muted);color:var(--text-primary);border-color:var(--border-strong)}.field{display:flex;flex-direction:column;gap:4px}.label{font-size:11px;font-weight:600;color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase}.input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 11px;color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;box-shadow:var(--shadow-xs)}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(0,0,0,.07)}.input::-moz-placeholder{color:var(--text-disabled)}.input::placeholder{color:var(--text-disabled)}.input-mono{font-family:JetBrains Mono,monospace;font-size:11.5px}.input-sm{padding:6px 9px;font-size:12px}select.input{cursor:pointer}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:500;border:1px solid transparent;line-height:1.5}.badge-blue{background:var(--blue-dim);color:var(--blue);border-color:var(--blue-border)}.badge-green{background:var(--green-dim);color:var(--green);border-color:var(--green-border)}.badge-purple{background:var(--purple-dim);color:var(--purple);border-color:var(--purple-border)}.badge-orange{background:rgba(234,88,12,.07);color:var(--orange);border-color:rgba(234,88,12,.18)}.badge-red{background:rgba(220,38,38,.07);color:var(--red);border-color:rgba(220,38,38,.18)}.badge-cyan{background:rgba(8,145,178,.07);color:var(--cyan);border-color:rgba(8,145,178,.18)}.badge-gray{background:var(--bg-muted);color:var(--text-secondary);border-color:var(--border)}.badge-gold{background:rgba(202,138,4,.07);color:#92400e;border-color:rgba(202,138,4,.18)}.badge-black{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:11.5px;font-weight:500;border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-secondary)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-blue{background:var(--blue);box-shadow:0 0 0 2px rgba(37,99,235,.18)}.dot-green{background:var(--green);box-shadow:0 0 0 2px rgba(5,150,105,.18)}.dot-orange{background:var(--orange);box-shadow:0 0 0 2px rgba(234,88,12,.18)}.dot-red{background:var(--red);box-shadow:0 0 0 2px rgba(220,38,38,.18)}.dot-gray{background:var(--text-tertiary)}.tabs{border-bottom:1px solid var(--border);gap:0}.tab,.tabs{display:flex;align-items:center}.tab{gap:7px;padding:9px 18px;font-size:12px;font-weight:600;color:var(--text-tertiary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .12s;white-space:nowrap;font-family:inherit;letter-spacing:.02em;text-transform:uppercase}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary);font-weight:700}.tab-num{font-size:9.5px;font-weight:400;color:var(--text-disabled);font-variant-numeric:tabular-nums}.tab.active .tab-num{color:var(--text-tertiary)}.data-table{width:100%;border-collapse:collapse}.data-table th{font-size:10.5px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;text-align:left;padding:8px 12px;background:var(--bg-raised);border-bottom:1px solid var(--border)}.data-table th:first-child{border-radius:var(--r-md) 0 0 0}.data-table th:last-child{border-radius:0 var(--r-md) 0 0;text-align:right}.data-table td{font-size:12.5px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.data-table td:last-child{text-align:right}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-raised)}.data-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);gap:16px}.data-row:last-child{border-bottom:none}.data-label{font-size:12px;color:var(--text-secondary);flex-shrink:0}.data-value{font-size:12.5px;font-weight:500;text-align:right}.stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-xs)}.stat-cell{background:var(--bg-card);padding:14px 18px;border-right:1px solid var(--border)}.stat-cell:last-child{border-right:none}.stat-value{font-size:20px;font-weight:700;letter-spacing:-.04em;line-height:1}.stat-label{color:var(--text-tertiary);margin-top:3px;text-transform:uppercase;letter-spacing:.06em}.stat-delta,.stat-label{font-size:10.5px;font-weight:600}.stat-delta{margin-top:2px}.stat-delta.up{color:var(--green)}.stat-delta.down{color:var(--red)}.pipe-node,.pipeline{display:flex;align-items:center}.pipe-node{flex-direction:column;gap:6px;flex-shrink:0}.pipe-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border-strong);background:var(--bg-card);font-size:10px;font-weight:700;color:var(--text-tertiary);transition:all .2s;font-family:JetBrains Mono,monospace;box-shadow:var(--shadow-xs)}.pipe-circle.done{border-color:var(--green);background:var(--green-dim);color:var(--green)}.pipe-circle.active{border-color:var(--text-primary);background:var(--text-primary);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2)}.pipe-circle.pending{opacity:.35}.pipe-connector{flex:1;height:1px;background:var(--border);margin:0 4px 16px;position:relative;overflow:hidden}.pipe-connector.done{background:var(--green)}.pipe-connector.active:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--text-primary),transparent);background-size:200% 100%;animation:shimmer 1.8s linear infinite}.pipe-label{font-size:9px;color:var(--text-tertiary);font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.04em}.pipe-label.active{color:var(--text-primary);font-weight:700}.pipe-label.done{color:var(--green)}.terminal{background:#0f0f0f;border-radius:var(--r-md);padding:0;font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:1.75;overflow:hidden;box-shadow:var(--shadow-md)}.terminal-header{display:flex;align-items:center;gap:5px;padding:9px 14px;border-bottom:1px solid hsla(0,0%,100%,.07);background:#1a1a1a}.terminal-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.terminal-title{font-size:10.5px;color:#555;margin-left:6px;letter-spacing:.04em}.terminal-body{padding:12px 14px;max-height:180px;overflow-y:auto;color:#d4d4d4}.terminal-body::-webkit-scrollbar-thumb{background:#333}.log-line{display:flex;gap:10px;align-items:flex-start;margin-bottom:1px}.log-ts{color:#404040;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:60px}.log-ok{color:#4ade80}.log-err{color:#f87171}.log-warn{color:#fb923c}.log-info{color:#a3a3a3}.log-tx{color:#60a5fa}.log-event{color:#c084fc}.alert{border-radius:var(--r-md);padding:10px 13px;font-size:12px;line-height:1.6;border:1px solid transparent}.alert-info{background:var(--blue-dim);border-color:var(--blue-border);color:var(--blue)}.alert-success{background:var(--green-dim);border-color:var(--green-border);color:var(--green)}.alert-purple{background:var(--purple-dim);border-color:var(--purple-border);color:var(--purple)}.alert-warn{background:rgba(234,88,12,.06);border-color:rgba(234,88,12,.18);color:var(--orange)}.alert-muted{background:var(--bg-raised);border-color:var(--border)}.alert-muted,.hash-pill{color:var(--text-secondary)}.hash-pill{font-family:JetBrains Mono,monospace;font-size:10.5px;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--r-xs);padding:2px 6px;cursor:pointer;transition:all .1s;display:inline-flex;align-items:center;gap:4px}.hash-pill:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-raised)}.section-eyebrow{font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}.section-title{font-size:14.5px;font-weight:700;letter-spacing:-.02em}.section-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.fee-bar{height:4px;border-radius:2px;background:var(--bg-muted);display:flex;overflow:hidden}.fee-bar-seg{height:100%;transition:width .3s ease}.signal-box{border-radius:var(--r-md);padding:12px 16px;display:flex;align-items:center;gap:14px;border:1px solid transparent}.signal-buy{background:var(--green-dim);border-color:var(--green-border)}.signal-sell{background:rgba(234,88,12,.06);border-color:rgba(234,88,12,.18)}.progress-bar{height:4px;background:var(--bg-muted);border-radius:2px;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:2px;background:var(--green);transition:width .3s ease}.progress-fill.blue{background:var(--blue)}.progress-fill.purple{background:var(--purple)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;color:var(--text-disabled);text-align:center}.empty-icon{font-size:28px;margin-bottom:8px;line-height:1}.empty-text{font-size:12.5px;color:var(--text-tertiary)}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--text-primary);color:#fff;font-size:11px;padding:4px 8px;border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;z-index:50}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-center{display:flex;align-items:center;justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.w-full{width:100%}.code{font-family:JetBrains Mono,monospace;font-size:11px;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--r-xs);padding:1px 5px}