@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--wuji-primary: #6366f1;--wuji-primary-light: #818cf8;--wuji-primary-dark: #4f46e5;--wuji-accent: #06b6d4;--wuji-accent-light: #22d3ee;--wuji-gold: #f59e0b;--wuji-gold-light: #fbbf24;--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .12);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .12);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .12);--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .12);--color-hold: #8b5cf6;--color-hold-bg: rgba(139, 92, 246, .12);--bg-base: #0f111a;--bg-surface: #1a1d2d;--bg-elevated: #23273b;--bg-hover: #2d334a;--bg-card: #1a1d2d;--bg-glass: rgba(26, 29, 45, .6);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--border-color: rgba(148, 163, 184, .1);--border-hover: rgba(148, 163, 184, .25);--border-active: var(--wuji-primary);--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .2);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .4);--shadow-glow: 0 4px 24px rgba(99, 102, 241, .3);--sidebar-width: 260px;--topbar-height: 56px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--btn-text-primary: #ffffff;--sidebar-solid-bg: #1a1a2e}[data-theme=light]{--wuji-primary: #3b82f6;--wuji-primary-light: #60a5fa;--wuji-primary-dark: #2563eb;--wuji-accent: #0284c7;--wuji-accent-light: #38bdf8;--bg-base: radial-gradient(at 0% 0%, rgba(224, 242, 254, .85) 0, transparent 40%), radial-gradient(at 100% 100%, rgba(233, 213, 255, .4) 0, transparent 50%), #f8fafc;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--bg-hover: rgba(241, 245, 249, .9);--bg-card: #ffffff;--bg-glass: rgba(255, 255, 255, .8);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-hover: #cbd5e1;--border-active: var(--wuji-primary);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 8px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-glow: 0 4px 20px rgba(59, 130, 246, .2);--btn-text-primary: #ffffff;--sidebar-solid-bg: #ffffff}[data-theme=soft]{--wuji-primary: #22d3ee;--wuji-primary-light: #67e8f9;--wuji-primary-dark: #06b6d4;--wuji-accent: #818cf8;--wuji-accent-light: #a5b4fc;--wuji-gold: #fbbf24;--bg-base: #1e2535;--bg-surface: #253344;--bg-elevated: #2d3d50;--bg-hover: #354758;--bg-card: #2a3a4e;--bg-glass: rgba(255, 255, 255, .06);--text-primary: #f0f4ff;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #1e2535;--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(34, 211, 238, .3);--border-active: var(--wuji-primary);--shadow-sm: 0 4px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 28px rgba(34, 211, 238, .25);--btn-text-primary: #0f172a;--sidebar-solid-bg: #1e293b}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-base);color:var(--text-primary);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:9}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;z-index:10}.sidebar-logo{padding:20px 20px 12px;display:flex;align-items:center;gap:10px}.sidebar-logo .logo-icon{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--wuji-primary),var(--wuji-accent));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff}.sidebar-logo h1{font-size:18px;font-weight:700;background:linear-gradient(135deg,var(--wuji-primary-light),var(--wuji-accent-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-logo span{font-size:10px;color:var(--text-muted);display:block;margin-top:-2px}.sidebar-section{padding:8px 12px}.sidebar-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);padding:12px 8px 6px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:450;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);cursor:pointer;position:relative}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item:active{transform:scale(.98)}.sidebar-item.active{background:#6366f11f;color:var(--wuji-primary-light);font-weight:500}.sidebar-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--wuji-primary);border-radius:0 3px 3px 0}.sidebar-item .item-badge{margin-left:auto;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600}.sidebar-item svg{width:16px;height:16px;flex-shrink:0}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:var(--topbar-height);background:var(--bg-surface);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-breadcrumb{font-size:13px;color:var(--text-secondary)}.topbar-breadcrumb span{color:var(--text-primary);font-weight:500}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-btn{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.topbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--wuji-primary),var(--wuji-accent));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff}.content-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;min-width:0}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:15px;font-weight:600;color:var(--text-primary)}.card-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;right:0;width:60px;height:60px;border-radius:0 0 0 60px;opacity:.08}.stat-card.primary:after{background:var(--wuji-primary)}.stat-card.success:after{background:var(--color-success)}.stat-card.warning:after{background:var(--color-warning)}.stat-card.danger:after{background:var(--color-danger)}.stat-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.stat-icon.primary{background:#6366f126;color:var(--wuji-primary-light)}.stat-icon.success{background:var(--color-success-bg);color:var(--color-success)}.stat-icon.warning{background:var(--color-warning-bg);color:var(--color-warning)}.stat-icon.danger{background:var(--color-danger-bg);color:var(--color-danger)}.stat-icon.info{background:var(--color-info-bg);color:var(--color-info)}.stat-value{font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.stat-label{font-size:12px;color:var(--text-muted);font-weight:500}.stat-change{font-size:11px;font-weight:500;margin-top:6px;display:flex;align-items:center;gap:4px}.stat-change.up{color:var(--color-success)}.stat-change.down{color:var(--color-danger)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.badge.success{background:var(--color-success-bg);color:var(--color-success)}.badge.warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge.danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge.info{background:var(--color-info-bg);color:var(--color-info)}.badge.hold{background:var(--color-hold-bg);color:var(--color-hold)}.badge.neutral{background:#94a3b81f;color:var(--text-secondary)}.badge.primary{background:#6366f126;color:var(--wuji-primary-light)}.table-container{overflow-x:auto;border-radius:var(--radius-md)}table{width:100%;border-collapse:separate;border-spacing:0}table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);padding:10px 14px;border-bottom:1px solid var(--border-color);white-space:nowrap}table td{padding:12px 14px;font-size:13px;border-bottom:1px solid var(--border-color);vertical-align:middle}table tr:last-child td{border-bottom:none}table tr:hover td{background:#6366f10a}.table-id{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;color:var(--wuji-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;position:relative;overflow:hidden}.btn:active{transform:translateY(1px) scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--wuji-primary),var(--wuji-primary-dark));color:var(--btn-text-primary);box-shadow:0 2px 8px rgba(var(--wuji-primary),.3);border-color:transparent}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow);filter:brightness(1.05)}.btn-success{background:var(--color-success);color:#fff;box-shadow:0 2px 8px #10b9814d}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166;filter:brightness(1.05)}.btn-danger{background:var(--color-danger);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444466;filter:brightness(1.05)}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.btn-outline:hover{border-color:var(--wuji-primary);background:var(--bg-hover);color:var(--wuji-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{padding:4px 8px;font-size:11px}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:var(--border-color)}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-23px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-surface)}.timeline-dot.success{background:var(--color-success);box-shadow:0 0 8px #10b98166}.timeline-dot.warning{background:var(--color-warning);box-shadow:0 0 8px #f59e0b66}.timeline-dot.danger{background:var(--color-danger);box-shadow:0 0 8px #ef444466}.timeline-dot.info{background:var(--color-info);box-shadow:0 0 8px #3b82f666}.timeline-dot.primary{background:var(--wuji-primary);box-shadow:0 0 8px #6366f166}.timeline-dot.neutral{background:var(--text-muted)}.timeline-content h4{font-size:13px;font-weight:600;margin-bottom:2px}.timeline-content p{font-size:12px;color:var(--text-muted)}.timeline-content .timeline-time{font-size:11px;color:var(--text-muted);margin-top:4px}.pipeline{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:16px 0}.pipeline-step{display:flex;align-items:center;gap:4px}.pipeline-node{padding:8px 16px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-secondary);transition:all var(--transition-base)}.pipeline-node.active{background:#6366f126;border-color:var(--wuji-primary);color:var(--wuji-primary-light);box-shadow:0 0 12px #6366f133}.pipeline-node.done{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.pipeline-node.error{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.pipeline-arrow{color:var(--text-muted);font-size:12px}.json-viewer{background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.7;overflow-x:auto;max-height:400px;overflow-y:auto}.json-key{color:var(--wuji-accent)}.json-string{color:var(--color-success)}.json-number{color:var(--wuji-gold)}.json-boolean{color:var(--wuji-primary-light)}.hash-value{font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;color:var(--text-muted);background:#0003;padding:2px 6px;border-radius:4px;word-break:break-all}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.page-header{margin-bottom:24px}.page-header h2{font-size:22px;font-weight:700;margin-bottom:4px}.page-header p{font-size:13px;color:var(--text-muted)}.page-header-actions{display:flex;gap:8px;margin-top:12px}.signal-meter{display:flex;align-items:center;gap:12px}.signal-bar{flex:1;height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden}.signal-bar-fill{height:100%;border-radius:3px;transition:width var(--transition-slow)}.signal-bar-fill.low{background:var(--color-success)}.signal-bar-fill.medium{background:var(--color-warning)}.signal-bar-fill.high{background:var(--color-danger)}.input-group{margin-bottom:16px}.input-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.input,textarea{width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-primary);font-size:13px;font-family:inherit;transition:all var(--transition-fast);outline:none}.input:focus,textarea:focus{border-color:var(--wuji-primary);box-shadow:0 0 0 3px #6366f126}textarea{resize:vertical;min-height:80px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-in{animation:fadeInUp .4s ease both}.animate-in:nth-child(1){animation-delay:0ms}.animate-in:nth-child(2){animation-delay:60ms}.animate-in:nth-child(3){animation-delay:.12s}.animate-in:nth-child(4){animation-delay:.18s}.pulse{animation:pulse 2s ease-in-out infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.recharts-cartesian-axis-tick-value{fill:var(--text-muted)!important;font-size:11px!important}.recharts-legend-item-text{color:var(--text-secondary)!important;font-size:12px!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hamburger-btn{display:none;width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);align-items:center;justify-content:center;cursor:pointer}.sidebar-overlay{display:none;position:fixed;inset:0;background:#000000d9;z-index:99}.sidebar-close-btn{display:none;position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:transparent;color:var(--text-muted);align-items:center;justify-content:center;cursor:pointer;font-size:18px}@media(max-width:1024px){:root{--sidebar-width: 280px}.hamburger-btn{display:flex}.sidebar{position:fixed;left:-300px;top:0;bottom:0;width:var(--sidebar-width);z-index:100;transition:left .3s ease;box-shadow:none;background:var(--sidebar-solid-bg, #ffffff)!important;background-color:var(--sidebar-solid-bg, #ffffff)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important}.sidebar.open{left:0;box-shadow:4px 0 24px #00000080}.sidebar-overlay.open{display:block}.sidebar-close-btn{display:flex}.main-area{width:100%}.topbar{padding:0 12px;gap:8px}.topbar-right{gap:6px}.topbar-breadcrumb{font-size:12px}.content-area{padding:12px}.page-header h2{font-size:18px}.page-header p{font-size:12px}.stats-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.stat-value{font-size:22px}.stat-card{padding:14px}.grid-2,.grid-3{grid-template-columns:1fr;gap:12px}.card{padding:14px;border-radius:var(--radius-md)}.card-header{flex-direction:column;align-items:flex-start;gap:8px}.table-container{margin:0 -14px;border-radius:0}table th,table td{padding:8px 10px;font-size:12px}.pipeline{gap:2px}.pipeline-node{padding:5px 8px;font-size:10px}.btn{padding:6px 12px;font-size:12px}.btn-sm{padding:4px 8px;font-size:11px}.wallet-connect-mobile{padding:4px 8px!important;font-size:11px!important}.json-viewer{font-size:10px;padding:10px}.page-header-actions{flex-wrap:wrap}}@media(max-width:480px){.stats-row{grid-template-columns:1fr}.stat-card{padding:12px}.stat-value{font-size:20px}.topbar-avatar{display:none}}@keyframes assistantPulse{0%,to{box-shadow:0 6px 28px #6366f180,0 0 #6366f14d}50%{box-shadow:0 6px 28px #6366f180,0 0 0 10px #6366f100}}@keyframes dotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}@keyframes labelSlide{0%,to{opacity:.85;transform:translate(0)}50%{opacity:1;transform:translate(-4px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
