:root{--bg: #0e1117;--panel: #161b22;--panel-2: #1c2230;--border: #2a3140;--text: #d6deeb;--muted: #8b97a7;--green: #2ebd85;--red: #f6465d;--accent: #4c8dff}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}button{cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:6px;padding:8px 14px;font-size:14px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}input,select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font-size:14px}input:focus,select:focus{outline:none;border-color:var(--accent)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:32px;width:340px;display:flex;flex-direction:column;gap:14px}.app{max-width:1200px;margin:0 auto;padding:16px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.querybar{display:flex;flex-direction:column;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.querybar-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.querybar-run{display:flex;align-items:center;gap:10px;margin-left:auto}.querybar-run .primary{padding:8px 22px}.querybar-filters{align-items:center}.querybar-group-label{align-self:center;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-right:4px}.querybar-cmd{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:12px}.querybar-cmd-row{display:flex;gap:8px;align-items:center}.querybar-cmd-row input{flex:1;min-width:280px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}.panel h3{margin:0 0 10px;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.panel-collapse{display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;color:var(--text)}.panel-collapse:hover{border:none}.panel-collapse:hover h3{color:var(--text)}.panel-chevron{color:var(--muted);font-size:12px;width:12px}.explainer{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.explainer>summary{cursor:pointer;padding:10px 12px;font-size:13px;font-weight:600;color:var(--text);-webkit-user-select:none;user-select:none}.explainer[open]>summary{border-bottom:1px solid var(--border)}.explainer-body{padding:4px 16px 8px;font-size:13px;color:var(--muted);line-height:1.5}.explainer-body p{margin:8px 0}.explainer-body ul{margin:6px 0;padding-left:20px}.explainer-body strong{color:var(--text)}.explainer-body code{font-size:12px}.flow-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;font-weight:600;margin-bottom:12px}.flow-header .flow-coin{font-size:16px;letter-spacing:.02em}.flow-header .flow-sep{color:var(--border);font-weight:400}.chart-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;width:640px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.modal-label{width:110px;flex-shrink:0;color:var(--muted)}.modal-value{flex:1;word-break:break-all;display:flex;align-items:center;gap:8px;flex-wrap:wrap}button.mini{padding:2px 8px;font-size:11px}.wallet-pill{font-size:11px;font-weight:600;padding:2px 9px;border-radius:10px;color:#fff;white-space:nowrap}.link-btn{background:none;border:none;padding:0;font-size:12px;color:var(--muted);cursor:pointer}.link-btn:hover{color:var(--accent);text-decoration:underline}.wstats{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px}.wstats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 12px;font-size:13px}.wstats-grid .muted{font-size:11px}.wstats-num{font-weight:600}.volume-cards{display:flex;gap:12px}.volume-card{flex:1;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px}.volume-card .label{font-size:12px;color:var(--muted)}.volume-card .value{font-size:18px;font-weight:600;margin-top:4px}.stat-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:14px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.buy{color:var(--green)}.sell{color:var(--red)}.first-order{border:1px solid var(--border);border-radius:8px;padding:10px;margin-bottom:10px;background:var(--panel-2)}.first-order.twap{border-left:3px solid #ffcc66;background:#ffcc660f}.first-order .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.badge.twap-badge{background:#3a2a00;color:#fc6;border:1px solid #ffcc66;font-weight:600}.badge{font-size:11px;padding:2px 6px;border-radius:4px;background:#3a2a00;color:#fc6}.badge.mm-badge{background:#78869c2e;color:#aeb8c7;border:1px solid rgba(139,151,167,.55);font-weight:600}.badge.trader-badge{background:#4c8dff24;color:#9cc0ff;border:1px solid rgba(76,141,255,.5);font-weight:600}.picker-summary{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:13px;padding:8px 2px 12px;margin-bottom:4px;border-bottom:1px solid var(--border)}.picker-wallet{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.picker-modes{display:flex;gap:6px;margin:8px 0 12px}button.active{border-color:var(--accent);background:#4c8dff26;color:var(--text)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}.error{color:var(--red);font-size:13px}.muted{color:var(--muted)}a{color:var(--accent)}
