*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-card: rgba(255, 255, 255, .04);--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--accent: #7B61FF;--accent-secondary: #00D1FF;--accent-gradient: linear-gradient(135deg, #7B61FF, #00D1FF);--green: #3fb950;--red: #f85149;--yellow: #d29922;--radius: 16px;--radius-sm: 8px}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}.app{max-width:1200px;margin:0 auto;padding:0 20px 40px}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:24px}.logo{font-size:20px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.network-badge{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:4px 12px}.network-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}.main-grid{display:flex;flex-direction:column;gap:20px}.top-row{display:grid;grid-template-columns:380px 1fr;gap:20px}@media(max-width:768px){.top-row{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-title{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.swap-panel{display:flex;flex-direction:column;gap:12px}.swap-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.swap-input-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.swap-input-row{display:flex;align-items:center;gap:8px}.swap-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:24px;font-weight:500;outline:none;min-width:0}.swap-input::placeholder{color:var(--text-muted)}.swap-output{flex:1;font-size:24px;font-weight:500;color:var(--text-muted)}.token-badge{font-size:14px;font-weight:600;background:#7b61ff26;color:var(--accent);padding:4px 10px;border-radius:20px;white-space:nowrap}.preset-buttons{display:flex;gap:6px;margin-top:8px}.preset-btn{font-size:12px;padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.preset-btn:hover,.preset-btn.active{border-color:var(--accent);color:var(--accent)}.swap-direction-btn{align-self:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.swap-direction-btn:hover{border-color:var(--accent);color:var(--accent)}.swap-info{font-size:13px;color:var(--text-secondary)}.info-row{display:flex;justify-content:space-between;padding:4px 0}.swap-btn{width:100%;padding:14px;border:none;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px}.swap-btn:hover:not(:disabled){opacity:.9}.swap-btn:active:not(:disabled){transform:scale(.98)}.swap-btn:disabled{opacity:.5;cursor:not-allowed}.swap-btn.success{background:var(--green)}.swap-btn.error{background:var(--red);font-size:13px}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.vault-dashboard{display:flex;flex-direction:column;gap:14px}.vault-header{display:flex;align-items:center;justify-content:space-between}.vault-header .card-title{margin-bottom:0}.status-badge{font-size:12px;padding:2px 8px;border-radius:12px;font-weight:500}.status-badge.active{background:#3fb95026;color:var(--green)}.status-badge.inactive{background:#f8514926;color:var(--red)}.vault-pair{display:flex;align-items:center;gap:10px}.pair-tokens{font-size:18px;font-weight:600}.pair-fee{font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 6px;border-radius:4px}.vault-section{display:flex;flex-direction:column;gap:6px}.section-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.price-display{font-size:14px;color:var(--text-primary);font-weight:500}.tick-range-bar{position:relative;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:visible}.tick-range-fill{height:100%;border-radius:4px}.tick-range-fill.in-range{background:linear-gradient(90deg,#3fb9504d,#3fb95080)}.tick-range-fill.out-range{background:linear-gradient(90deg,#f851494d,#f8514980)}.tick-marker{position:absolute;top:-3px;width:4px;height:14px;border-radius:2px;transform:translate(-50%)}.tick-marker.in-range{background:var(--green);box-shadow:0 0 8px var(--green)}.tick-marker.out-range{background:var(--red);box-shadow:0 0 8px var(--red)}.tick-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);font-family:SF Mono,Fira Code,monospace}.tick-current{color:var(--text-secondary)}.vault-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vault-stat{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.stat-label{font-size:13px;color:var(--text-secondary)}.stat-value{font-size:13px;font-weight:500}.stat-value.mono{font-family:SF Mono,Fira Code,monospace;font-size:12px}.text-green{color:var(--green)}.text-red{color:var(--red)}.strategy-grid{display:flex;flex-direction:column;gap:4px}.strategy-item{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary);padding:3px 0}.strategy-item span:last-child{color:var(--text-primary);font-family:SF Mono,Fira Code,monospace}.skeleton-block{height:20px;background:linear-gradient(90deg,var(--bg-secondary) 25%,rgba(255,255,255,.05) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:12px}.skeleton-block.short{width:60%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.error-text{color:var(--red);font-size:14px;margin-bottom:8px}.retry-btn{font-size:13px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.retry-btn:hover{border-color:var(--accent);color:var(--accent)}.agent-log{display:flex;flex-direction:column;min-height:300px;max-height:500px}.agent-log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.agent-log-header .card-title{margin-bottom:0}.connection-status{font-size:12px;display:flex;align-items:center;gap:4px}.connection-status:before{content:"";width:6px;height:6px;border-radius:50%}.connection-status.connected:before{background:var(--green)}.connection-status.disconnected:before{background:var(--red);animation:blink 1s infinite}@keyframes blink{50%{opacity:.3}}.agent-log-content{flex:1;overflow-y:auto;padding-right:8px;font-size:14px;line-height:1.6}.agent-log-content::-webkit-scrollbar{width:4px}.agent-log-content::-webkit-scrollbar-track{background:transparent}.agent-log-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.log-entry{margin-bottom:4px}.log-entry p{margin-bottom:8px}.log-entry code{background:var(--bg-secondary);padding:1px 4px;border-radius:3px;font-size:13px;font-family:SF Mono,Fira Code,monospace}.log-entry pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;overflow-x:auto;margin:8px 0}.log-entry pre code{background:transparent;padding:0}.log-entry strong{color:var(--accent-secondary)}.log-entry.error{color:var(--red)}.log-entry.system{color:var(--text-secondary);font-style:italic}.agent-waiting{color:var(--text-muted);font-style:italic;border-top:1px solid var(--border);padding-top:8px;margin-top:8px}.agent-error{color:var(--red);background:#f851491a;padding:8px 12px;border-radius:var(--radius-sm);border-left:3px solid var(--red)}@media(max-width:768px){.app{padding:0 12px 20px}.header{padding:12px 0;margin-bottom:16px}.swap-input,.swap-output{font-size:20px}}
