:root{color-scheme:dark;--page: #0b1120;--surface: #111a2e;--surface-2: #182340;--surface-3: #1f2c4d;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #e6edf7;--text-2: #9aa8bf;--muted: #6b7890;--accent: #14b8a6;--accent-ink: #052e2b;--accent-hover: #2dd4bf;--series-1: #14b8a6;--series-2: #d97706;--grid: #1c2742;--axis: #2b3858;--good: #22c55e;--warn: #fab219;--bad: #ef5350;--radius: 14px;--radius-sm: 8px;--shadow: 0 10px 40px rgba(0, 0, 0, .35);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}@media(prefers-color-scheme:light){:root:where(:not([data-theme=dark])){color-scheme:light;--page: #f4f6fa;--surface: #ffffff;--surface-2: #f1f4f9;--surface-3: #e6ebf3;--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .18);--text: #0f172a;--text-2: #475569;--muted: #7a8699;--accent: #0d9488;--accent-ink: #ffffff;--accent-hover: #0f766e;--series-1: #0d9488;--series-2: #d97706;--grid: #e7ebf2;--axis: #cbd3e0;--good: #15803d;--bad: #dc2626;--shadow: 0 10px 30px rgba(15, 23, 42, .1)}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--page);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.small{font-size:.85rem}.good{color:var(--good)}.bad{color:var(--bad)}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;gap:8px;padding:16px;color:var(--text-2)}.boot.error h1{color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--page) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem}.nav{display:flex;gap:4px;margin-left:8px}.nav a{padding:6px 12px;border-radius:999px;color:var(--text-2);font-weight:500}.nav a:hover{color:var(--text);background:var(--surface-2)}.nav a.active{color:var(--text);background:var(--surface-3)}.header .spacer{flex:1}.main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 64px}.footer{padding:16px;border-top:1px solid var(--border);color:var(--text-2);font-size:12px;text-align:center}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.narrow{max-width:480px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card+.card{margin-top:16px}.grid-2>.card+.card{margin-top:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:800px){.grid-2{grid-template-columns:1fr}}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.tile .label{color:var(--text-2);font-size:.85rem}.tile .value{font-size:1.35rem;font-weight:600;margin-top:2px}.row{display:flex;align-items:center;gap:8px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}.kv{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.kv span:first-child{color:var(--text-2)}.divider{height:1px;background:var(--border);margin:4px 0}.empty{padding:32px 16px;text-align:center;color:var(--text-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface-2);font-weight:500;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-3)}.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.big{width:100%;padding:14px;font-size:1.05rem;border-radius:12px}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.btn.sm{padding:4px 10px;font-size:.85rem;border-radius:8px}.btn.danger{color:var(--bad)}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:2px;gap:2px}.segmented button{border:0;background:transparent;padding:5px 10px;border-radius:8px;color:var(--text-2);font-size:.9rem}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0003}.field{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px}.field:focus-within{border-color:var(--border-strong)}.field .label{font-size:.85rem;color:var(--text-2);margin-bottom:6px;display:flex;justify-content:space-between}.amount-row{display:flex;align-items:center;gap:10px}.amount-input{flex:1;min-width:0;border:0;background:transparent;font-size:1.7rem;font-weight:500;outline:none;padding:0}.amount-input::placeholder{color:var(--muted)}.amount-foot{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-2);margin-top:6px;min-height:1.2em}.amount-foot button{border:0;background:transparent;color:var(--accent);font-weight:600;padding:0}.text-input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:9px 12px;outline:none}.text-input:focus{border-color:var(--border-strong)}.text-input.invalid{border-color:var(--bad)}.flip{display:flex;justify-content:center;margin:-8px 0;position:relative;z-index:1}.flip button{width:36px;height:36px;border-radius:10px;border:4px solid var(--surface);background:var(--surface-3);display:grid;place-items:center}.token-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-3);font-weight:600}.token-btn.placeholder{background:var(--accent);color:var(--accent-ink);border-color:transparent}.token-icon{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font-size:.65rem;font-weight:700;color:var(--accent-ink);background:var(--accent);flex:none}.token-icon.sm{width:20px;height:20px;font-size:.55rem}.pair-icons{display:inline-flex}.pair-icons .token-icon+.token-icon{margin-left:-8px;outline:2px solid var(--surface)}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:50;padding:16px}.modal{width:100%;max-width:420px;max-height:80vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.modal header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal .modal-body{padding:12px 16px 16px;overflow:auto}.token-list{list-style:none;margin:8px 0 0;padding:0}.token-list button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 8px;border:0;background:transparent;border-radius:10px;text-align:left}.token-list button:hover,.token-list button:focus-visible{background:var(--surface-2)}.token-list .sym{font-weight:600}.token-list .name{font-size:.85rem;color:var(--text-2)}.token-list .bal{margin-left:auto;color:var(--text-2)}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th{text-align:left;font-weight:500;color:var(--text-2);padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:10px;border-bottom:1px solid var(--border);white-space:nowrap}.table tr:last-child td{border-bottom:0}.table .r{text-align:right}.table tbody tr.link:hover{background:var(--surface-2);cursor:pointer}.table-wrap{overflow-x:auto}.pill{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--surface-3);font-size:.8rem;font-weight:500}.pill.good{background:color-mix(in srgb,var(--good) 18%,transparent)}.pill.warn{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--text)}.notice{padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);font-size:.9rem}.notice.error{border-color:color-mix(in srgb,var(--bad) 50%,transparent);color:var(--bad)}.notice.success{border-color:color-mix(in srgb,var(--good) 50%,transparent)}.notice.warn{border-color:color-mix(in srgb,var(--warn) 60%,transparent)}.spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.refetching{opacity:.6;transition:opacity .2s}.chart{position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .bar{fill:var(--series-1);transition:opacity .1s}.chart .bar.dim{opacity:.45}.chart .bar.hot{opacity:1;filter:brightness(1.15)}.chart .hit{fill:transparent;outline:none}.chart .hit:focus-visible+.bar{filter:brightness(1.15)}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .axis{stroke:var(--axis);stroke-width:1}.chart .tick-label{fill:var(--muted);font-size:11px}.chart .price-line{stroke:var(--text);stroke-width:1.5}.chart .price-label{fill:var(--text);font-size:11px;font-weight:600}.chart .range-fill{fill:var(--series-2);opacity:.12}.chart .range-edge{stroke:var(--series-2);stroke-width:2}.chart-tooltip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;box-shadow:var(--shadow);font-size:.85rem;min-width:150px;z-index:5}.chart-tooltip .v{font-weight:600;font-size:1rem}.chart-tooltip .k{color:var(--text-2)}.chart-legend{display:flex;gap:16px;font-size:.8rem;color:var(--text-2);margin-top:6px}.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.range-box{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;text-align:center}.range-box .label{font-size:.8rem;color:var(--text-2)}.range-box .controls{display:flex;align-items:center;gap:6px;margin:6px 0}.range-box .controls input{flex:1;min-width:0;text-align:center;background:transparent;border:0;font-size:1.1rem;font-weight:600;outline:none}.range-box .controls button{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface-3)}.slider{width:100%;accent-color:var(--accent)}.pct-buttons{display:flex;gap:6px}.position-card .range{font-size:.9rem;color:var(--text-2)}.position-card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.explorer-link{color:var(--accent);font-weight:500}@media(max-width:640px){.header{flex-wrap:wrap}.nav{order:3;width:100%;margin-left:0}.nav a{flex:1;text-align:center}.tiles{grid-template-columns:1fr 1fr}}.chain-switcher{position:relative}.chain-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);font-weight:500;white-space:nowrap}button.chain-pill:hover{background:var(--surface-3)}.chain-dot{width:10px;height:10px;border-radius:50%;flex:none}.chain-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow);z-index:30}.chain-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left}.chain-menu button:hover,.chain-menu button:focus-visible{background:var(--surface-2)}.chain-menu .grow{flex:1}.sources{border:1px solid var(--border);border-radius:12px;padding:6px}.source{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left}.source:hover{background:var(--surface-2)}.source.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.source .name{flex:1;font-weight:500}.source .out{font-variant-numeric:tabular-nums}.sources .unavailable{padding:6px 10px 2px}
