/* Shared wallet-specific filter presets. */
.saved-filters { padding: 0 0 16px; margin-bottom: 16px; border-bottom: 1px solid var(--sx-border); }
.saved-filters-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; color: var(--sx-text); font-size: 13px; font-weight: 600; }
.saved-filters-title small { color: var(--sx-subtle); font-size: 11px; font-weight: 400; }
.saved-filters-row { display: flex; gap: 8px; margin-top: 8px; }
.saved-filters .saved-filters-row input, .saved-filters .saved-filters-row select { flex: 1; min-width: 0; width: 0; height: 34px; padding: 6px 10px; border: 1px solid var(--sx-border); border-radius: 6px; background: var(--sx-input); color: var(--sx-text); font-size: 12px; }
.saved-filters button { min-height: 34px; padding: 6px 12px; border: 1px solid var(--sx-border); border-radius: 6px; font-size: 12px; }
.saved-filters .saved-filters-save, .saved-filters .saved-filters-connect { background: var(--sx-accent-soft); color: var(--sx-accent); }
.saved-filters .saved-filters-connect { width: 100%; }
.saved-filters p { margin: 8px 0 0; font-size: 11px; color: var(--sx-accent); }
.saved-filters p.is-error { color: var(--sx-negative); }
.saved-filters [hidden] { display: none !important; }
.filter-popup-footer .filter-save-action, .coin-filter-footer .filter-save-action { background: var(--sx-accent-soft); color: var(--sx-accent); border: 1px solid var(--sx-accent); border-radius: var(--sx-radius-sm); padding: 9px 15px; font-weight: 600; }
.filter-popup-footer .filter-save-action { width: 100%; margin-bottom: 8px; }
.filter-save-action:disabled { opacity: .45; cursor: not-allowed; }
/* Volro design system. Edit this file to change every screen and chart.
   Page styles own layout only; theme.js reads these tokens for canvas graphics. */
@font-face {
  font-family: 'Inter';
  src: url('/assets/inter-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --sx-bg: #0d0c18;
  --sx-surface: #141423;
  --sx-surface-raised: #1d1c30;
  --sx-surface-hover: #28263b;
  --sx-row-dark: var(--sx-surface);
  --sx-row-light: color-mix(in srgb, var(--sx-surface-raised) 45%, var(--sx-surface));
  --sx-input: #11101e;
  --sx-border: #302e44;
  --sx-border-strong: #41465f;
  --sx-text: #e7e9f2;
  --sx-muted: #a9afc6;
  --sx-subtle: #8992ad;
  --sx-accent: #54d6ad;
  --sx-accent-hover: #7be4c3;
  --sx-accent-soft: #193830;
  --sx-on-accent: #081b17;
  --sx-positive: #70d6b2;
  --sx-negative: #ff737d;
  --sx-negative-soft: #382126;
  --sx-warning: #edc383;
  --sx-warning-soft: #332a27;
  --sx-violet: #bba8ef;
  --sx-violet-soft: #24203e;
  --sx-position-bg: var(--sx-violet-soft);
  --sx-position-hover: color-mix(in srgb, var(--sx-violet) 10%, var(--sx-position-bg));
  --sx-position-selected: color-mix(in srgb, var(--sx-accent) 13%, var(--sx-position-bg));
  --sx-position-border: color-mix(in srgb, var(--sx-violet) 45%, var(--sx-border));
  --sx-blue: #88cfe1;
  --sx-blue-soft: #1c2d42;
  /* Data colors tuned for purple surfaces; shared by all list metrics. */
  --sx-volume-low: var(--sx-muted);
  --sx-volume-medium: #83baff;
  --sx-volume-high: #55dfae;
  --sx-volume-major: #f5ce70;
  --sx-volume-peak: #ed9bec;
  --sx-overlay: #050611;
  --sx-chart-bg: var(--sx-surface);
  --sx-chart-grid: #1d1c2c;
  --sx-chart-range: #8864eb;
  --sx-font: 'Inter', 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --sx-font-mono: ui-monospace, 'Cascadia Code', Consolas, monospace;
  --sx-text-xs: 11px;
  --sx-text-sm: 12px;
  --sx-text-base: 14px;
  --sx-text-md: 15px;
  --sx-text-lg: 17px;
  --sx-text-xl: 20px;
  --sx-icon-md: 18px;
  --sx-text-2xl: 24px;
  --sx-text-3xl: 28px;
  --sx-text-4xl: 32px;
  --sx-text-hero: 44px;
  --sx-weight-normal: 400;
  --sx-weight-medium: 500;
  --sx-weight-semibold: 600;
  --sx-weight-bold: 700;
  --sx-radius-xs: 4px;
  --sx-radius-sm: 6px;
  --sx-radius-md: 9px;
  --sx-radius-lg: 13px;
  --sx-radius-pill: 999px;
  --sx-space-1: 4px;
  --sx-space-2: 8px;
  --sx-space-3: 12px;
  --sx-space-4: 16px;
  --sx-space-5: 24px;
  --sx-space-6: 32px;
  --sx-backdrop-filter: none;
  --sx-control-height: 36px;
  --sx-row-height: 80px;
  --sx-list-name-size: 14px;
  --sx-list-value-size: 14px;
  --sx-list-detail-size: 12px;
  --sx-shadow: 0 18px 48px #05061180;
  --sx-shadow-popover: 0 8px 24px #0004;
  --sx-hero: radial-gradient(ellipse at 75% 0%, color-mix(in srgb,var(--sx-violet) 18%,transparent), transparent 65%), radial-gradient(ellipse at 100% 100%, color-mix(in srgb,var(--sx-accent) 10%,transparent), transparent 65%);
  --sx-page-glow: radial-gradient(ellipse 900px 360px at 75% 0%,color-mix(in srgb,var(--sx-violet) 12%,transparent),transparent 70%);
  --sx-focus: 0 0 0 3px color-mix(in srgb,var(--sx-accent) 15%,transparent);
  /* Compatibility aliases for existing layout rules. */
  --bg: var(--sx-bg); --panel: var(--sx-surface); --panel2: var(--sx-surface-raised);
  --line: var(--sx-border); --muted: var(--sx-muted); --text: var(--sx-text);
  --mint: var(--sx-accent); --purple: var(--sx-violet); --blue: var(--sx-blue); --orange: var(--sx-warning);
}

/* Alternate list rows without overriding the existing pointer hover feedback. */
:is(#coin-rows,#pool-rows)>tr:nth-child(odd):not(:hover):not(.skeleton-row):not(.coin-skeleton)>td {
  background-color: var(--sx-row-dark);
}
:is(#coin-rows,#pool-rows)>tr:nth-child(even):not(:hover):not(.skeleton-row):not(.coin-skeleton)>td {
  background-color: var(--sx-row-light);
}

html { background: var(--sx-bg); }
html:root body[class] { background: var(--sx-page-glow) var(--sx-bg); color: var(--sx-text); font-family: var(--sx-font); font-size: var(--sx-text-base); line-height: 1.5; }
button,input,select,textarea { font-family: var(--sx-font); }
::selection { background: var(--sx-violet-soft); color: var(--sx-text); }
body :is(h1,h2,h3) { color: var(--sx-text); font-weight: var(--sx-weight-semibold); }
body h1 { letter-spacing: -.025em; }
body :is(button,a,input,select,textarea):focus-visible { outline: 2px solid var(--sx-accent); outline-offset: 3px; }
body :is(input,select,textarea) { accent-color: var(--sx-accent); }
body input::placeholder,body textarea::placeholder { color: var(--sx-subtle); opacity: 1; }

body .topbar { min-height: 58px; height: auto; padding: 0 var(--sx-space-5); background: var(--sx-bg); border-color: var(--sx-border); gap: var(--sx-space-6); }
body .topbar .site-nav { gap: var(--sx-space-5); }
body .topbar .site-nav a { min-height: 56px; font-size: var(--sx-text-base); line-height:18px; font-weight:500; letter-spacing:-.2px; color: var(--sx-muted); }
body .topbar .site-nav a:hover { color: var(--sx-text); }
body .topbar .site-nav a[aria-current=page] { color: var(--sx-accent); border-bottom-color: var(--sx-accent); }
body .brand-icon { background: var(--sx-accent); color: var(--sx-on-accent); box-shadow: none; }
body :is(.wallet-primary,.trade-submit,.referral-primary,#filter-apply) { min-height: var(--sx-control-height); border-radius: var(--sx-radius-sm); background: var(--sx-accent); color: var(--sx-on-accent); border: 1px solid transparent; font-weight: var(--sx-weight-semibold); box-shadow: none; }
body :is(.wallet-primary,.trade-submit,.referral-primary,#filter-apply):hover:not(:disabled) { background: var(--sx-accent-hover); }
body .trade-submit.sell { background: var(--sx-negative); color: var(--sx-bg); }
body .trade-submit.sell:hover:not(:disabled) { background: color-mix(in srgb, var(--sx-negative) 85%, var(--sx-text)); }
body :is(.control-button,.icon-action,.quick-buy-button,.share-result-button) { border-radius: var(--sx-radius-sm); background: var(--sx-surface-raised); border-color: var(--sx-border); color: var(--sx-muted); box-shadow: none; }
body :is(.control-button,.icon-action,.quick-buy-button,.share-result-button):hover:not(:disabled) { color: var(--sx-accent); background: var(--sx-accent-soft); border-color: var(--sx-border-strong); }
body :is(.periods,.market-periods,.detail-periods,.pnl-periods) { background: var(--sx-input); border-color: var(--sx-border); border-radius: var(--sx-radius-sm); }
body :is(.periods,.market-periods,.detail-periods,.pnl-periods) button { color: var(--sx-muted); }
body :is(.periods,.market-periods,.detail-periods,.pnl-periods) :is(.selected,.active,[aria-pressed=true]) { background: var(--sx-accent-soft); color: var(--sx-accent); }
body :is(.candle-periods,.strategy-tabs,.activity-periods) :is(.selected,.active,[aria-pressed=true]),body [data-strategy].active { background: var(--sx-accent-soft); color: var(--sx-accent); border-color: var(--sx-border-strong); }
body .portfolio-tabs button.active,body .market-tabs button[aria-pressed=true] { color: var(--sx-accent); border-bottom-color: var(--sx-accent); }
body :is(.search-box,.coin-search,.swap-card,.amount-card) { border-color: var(--sx-border); box-shadow: none; }
body :is(.search-box,.coin-search,.amount-card):focus-within { border-color: var(--sx-violet); box-shadow: none; }
/* Text fields use one border for focus. Composite cards own that border,
   so their inner editor must not draw a second rectangle or glow. */
body input:not([type=checkbox]):not([type=radio]):not([type=range]):focus-visible,
body textarea:focus-visible { outline: none; box-shadow: none; border-color: var(--sx-violet); }
body :is(.amount-card,.swap-card,.search-box,.coin-search) input:focus-visible { outline: none; box-shadow: none; }
body .amount-card { background: var(--sx-input); border-radius: var(--sx-radius-md); transition: none; }
body .amount-card:focus-within { background: var(--sx-surface); }
body .amount-card input { caret-color: var(--sx-accent); font-variant-numeric: tabular-nums; }
body .amount-card .lp-balance { border-top-color: var(--sx-surface-raised); }
/* Highlight the editable Pay card; keep the calculated Buy card quiet. */
body .swap-card { transition: none; animation: none; }
body .swap-pay { background: color-mix(in srgb, var(--sx-accent) 7%, var(--sx-surface)); border-color: color-mix(in srgb, var(--sx-accent) 25%, var(--sx-border)); }
@media (hover: hover) {
  body .swap-pay:hover { background: color-mix(in srgb, var(--sx-accent) 10%, var(--sx-surface)); border-color: color-mix(in srgb, var(--sx-accent) 45%, var(--sx-border)); }
}
body .swap-pay:is(:active,:focus-within) { background: color-mix(in srgb, var(--sx-accent) 13%, var(--sx-surface)); border-color: var(--sx-accent); box-shadow: none; }
body .swap-receive,body .swap-receive:is(:hover,:active,:focus-within) { background: var(--sx-bg); border-color: var(--sx-border); box-shadow: none; }
/* Match each statistic to the center of the interval directly above it. */
body .token-activity :is(.activity-periods,.activity-metrics) { grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--sx-space-1); }
body .activity-metrics>div { align-items: center; text-align: center; }
body .activity-metrics>div>span { white-space: nowrap; }
.holder-change-panel { border-top: 1px solid var(--sx-border); padding: 14px 12px; }
.holder-change-panel h2 { margin: 0 0 12px; font-size: var(--sx-text-sm); font-weight: var(--sx-weight-semibold); }
.holder-period-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--sx-space-1); text-align: center; }
.holder-period-grid>div>span { display: block; color: var(--sx-muted); font-size: var(--sx-text-xs); margin-bottom: 6px; }
.holder-period-grid .holder-change { margin: 0; align-items: center; font-variant-numeric: tabular-nums; }
.holder-period-grid .holder-change>span:first-child { font-size: var(--sx-text-base); font-weight: var(--sx-weight-semibold); }
body .token-metrics-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--sx-space-4) var(--sx-space-2); padding: var(--sx-space-4) var(--sx-space-3); border-top: 1px solid var(--sx-border); }
body .token-metrics-grid>div { min-width: 0; display: flex; flex-direction: column; gap: var(--sx-space-1); }
body .token-metrics-grid span { color: var(--sx-muted); font-size: var(--sx-text-xs); }
body .token-metrics-grid strong { font-size: var(--sx-text-sm); font-weight: var(--sx-weight-medium); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
body .token-metrics-grid .green { color: var(--sx-positive); }
body .token-metrics-grid .red { color: var(--sx-negative); }
body .token-metrics-grid :is(.unknown,.neutral) { color: var(--sx-muted); }
body .token-metrics-grid .blue { color: var(--sx-accent); }
body .token-metrics-grid .amber,body .coin-info-badge.amber { color: var(--sx-muted); }

body :is(.pool-panel,.portfolio-overview,.portfolio-panel,.referral-card,.referral-metrics,.chart-panel,.position-panel,.coin-summary,.coin-trading,.coin-column) { border-color: var(--sx-border); }
body :is(.portfolio-overview,.referral-hero,.referral-rate) { background-color: var(--sx-surface); background-image: var(--sx-hero); }
body .portfolio-totals { background-image: var(--sx-hero); }
body .portfolio-totals>div { background-color: transparent; }
body :is(.filters,dialog,.wallet-dialog,.result-share-dialog) { background: var(--sx-surface-raised); border-color: var(--sx-border-strong); color: var(--sx-text); border-radius: var(--sx-radius-lg); box-shadow: var(--sx-shadow); }
body dialog::backdrop { background: color-mix(in srgb,var(--sx-overlay) 78%,transparent); backdrop-filter: none; }
body :is(.filters,dialog) :is(input:not([type=checkbox]):not([type=range]),select,textarea) { background: var(--sx-input); border-color: var(--sx-border); color: var(--sx-text); border-radius: var(--sx-radius-sm); }
body :is(.filters,dialog) :is(input,select,textarea):focus { border-color: var(--sx-accent); }

body :is(table,.pool-group,.position-row) { font-variant-numeric: tabular-nums; }
body.discovery-page .table-scroll :is(th,td) { text-align:left; }
body.discovery-page .table-scroll th button { justify-content:flex-start; padding-left:0; }
body :is(thead,.pool-group-head,.portfolio-table-head) { background: var(--sx-surface-raised); color: var(--sx-muted); }
body :is(th,td,.pool-group,.position-row) { border-color: var(--sx-border); }
body th { font-size: var(--sx-text-sm); font-weight: var(--sx-weight-medium); }
body :is(#pool-rows,#coin-rows)>tr>td { height: var(--sx-row-height); font-size: var(--sx-text-base); background: var(--sx-surface); transition: none; }
body :is(#pool-rows,#coin-rows)>tr:hover>td { background: var(--sx-surface-hover); }
body :is(#pool-rows,#coin-rows) strong { font-weight: var(--sx-weight-medium); }
/* Discovery list hierarchy: magnitude bands and separate directional colors. */
body.coins-page .coin-name-link { font-size: var(--sx-list-name-size); }
body.coins-page #coin-rows td strong { font-size: var(--sx-list-value-size); }
body.coins-page #coin-rows td strong:not(.volume-value):not(.metric-value) { color: var(--sx-text); }
body.coins-page :is(.coin-subline,.coin-subline button,.coin-platform-line,.coin-table td small,.token-info-chip) { font-size: var(--sx-list-detail-size); }
body.coins-page .token-info-chip b { font-size: var(--sx-list-value-size); color: var(--sx-text); font-weight: var(--sx-weight-medium); }
body.coins-page .quick-buy-button { font-size: var(--sx-text-base); color: var(--sx-accent); background: var(--sx-accent-soft); border-color: transparent; }
body.coins-page .quick-buy-button:hover:not(:disabled) { background: var(--sx-accent); color: var(--sx-on-accent); border-color: transparent; }
/* USD volume thresholds follow the selected period, with no animation. */
body :is(#coin-rows,#pool-rows) .volume-value { color: var(--volume-color,var(--sx-muted)); }
.volume-value[data-volume-tier="low"] { --volume-color:var(--sx-volume-low); }
.volume-value[data-volume-tier="medium"] { --volume-color:var(--sx-volume-medium); }
.volume-value[data-volume-tier="high"] { --volume-color:var(--sx-volume-high); }
.volume-value[data-volume-tier="major"] { --volume-color:var(--sx-volume-major); }
.volume-value[data-volume-tier="peak"] { --volume-color:var(--sx-volume-peak); }
body :is(#coin-rows,#pool-rows) .metric-value { color:var(--metric-color,var(--sx-muted)); }
.metric-value[data-metric-tier="low"] { --metric-color:var(--sx-volume-low); }
.metric-value[data-metric-tier="medium"] { --metric-color:var(--sx-volume-medium); }
.metric-value[data-metric-tier="high"] { --metric-color:var(--sx-volume-high); }
.metric-value[data-metric-tier="major"] { --metric-color:var(--sx-volume-major); }
.metric-value[data-metric-tier="peak"] { --metric-color:var(--sx-volume-peak); }
.holders-value .metric-value[data-metric-tier="major"] { --metric-color:var(--sx-text); }
.holder-change { display:flex;flex-direction:column;gap:1px;margin-top:3px;font-size:var(--sx-text-sm);line-height:16px;font-weight:var(--sx-weight-normal);font-variant-numeric:tabular-nums; }
.holder-change.unknown { color:var(--sx-muted); }
body.coins-page .token-info-chip b[data-concentration="low"] { color:var(--sx-positive); }
body.coins-page .token-info-chip b[data-concentration="medium"] { color:var(--sx-muted); }
body.coins-page .token-info-chip b[data-concentration="high"] { color:var(--sx-negative); }
body.coins-page .token-info-chip b[data-concentration="unknown"] { color:var(--sx-muted); }
body :is(.portfolio-positive,.change-up,.positive,.up) { color: var(--sx-positive); }
body :is(.portfolio-negative,.change-down,.negative,.down) { color: var(--sx-negative); }
body :is(.skeleton-bar,.coin-placeholder,.portfolio-placeholder span) { background: var(--sx-surface-raised); }
@media(max-width:650px) { body .topbar { padding: 0 var(--sx-space-3); gap: var(--sx-space-3); } body .topbar .site-nav { gap: var(--sx-space-4); } body .topbar .site-nav a { min-height: 40px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation: none!important; transition: none!important; scroll-behavior: auto!important; } }

/* Live values update silently across all pages, including retained markup. */
body :is(.value-changed,.value-updated,.detail-live-change,.portfolio-value-change,.price-rise,.price-fall) { animation:none!important; transition:none!important; }

/* Measured desktop list typography; shared across Coins and Pools. */
body:is(.coins-page,.discovery-page) { letter-spacing:-.2px; }
body:is(.coins-page,.discovery-page) :is(th,td) { font-weight:500; letter-spacing:-.2px; }
body.coins-page .coin-table th,body.discovery-page .table-scroll th {
  height:34.5px; padding:8px; font-size:12px; font-weight:400; line-height:18px;
}
body.coins-page .coin-table th button[data-sort],body.discovery-page .table-scroll th button {
  min-height:0; padding:0; font-size:12px; font-weight:400; line-height:18px; letter-spacing:-.2px;
}
body.coins-page .coin-table th button[aria-pressed="true"],body.discovery-page .table-scroll th button.sort-active { font-weight:500; }
body :is(#coin-rows,#pool-rows)>tr>td { padding:2px 8px; line-height:21px; }
body :is(#coin-rows,#pool-rows) :is(.metric-value,.volume-value) { font-size:14px; line-height:16px; font-weight:500; }
body.coins-page .coin-name-link,body.coins-page .coin-name-link span,body.discovery-page .pair-name { font-size:14px; font-weight:500; line-height:21px; letter-spacing:-.2px; }
body.coins-page :is(.coin-subline,.coin-subline button,.coin-platform-line),body.discovery-page :is(.pair-meta,.subvalue) { font-size:12px; font-weight:400; line-height:18px; letter-spacing:-.2px; }
body.coins-page .token-age { font-weight:600; }
body.coins-page .coin-table td small { font-size:12px; font-weight:500; line-height:16px; margin-top:2px; }
body.coins-page #coin-rows td:nth-child(4) strong { line-height:21px; }
body.coins-page #coin-rows td:nth-child(6) :is(strong,small) { line-height:18px; }
body.coins-page .token-info-chip,body.coins-page .token-info-chip>span { font-size:11px; font-weight:400; line-height:14px; }
body.coins-page .token-info-chip b { font-size:11px; font-weight:500; line-height:14px; }
body.coins-page .quick-buy-button { height:28.5px; width:auto; min-width:66px; padding:5.25px 10.5px; gap:3.5px; font-weight:600; line-height:18px; letter-spacing:-.2px; }
body.coins-page .market-tabs button,body.discovery-page .pool-categories button { font-size:18px; font-weight:600; line-height:22px; letter-spacing:-.2px; }
body.coins-page .market-periods button,body.discovery-page .periods button { height:28px; padding:0 10px; font-size:12px; font-weight:400; line-height:16px; letter-spacing:-.2px; }
body.coins-page .market-periods button[aria-pressed="true"] { font-weight:500; }
body.coins-page .coin-cell>.token-art { width:48px; height:48px; flex-basis:48px; }

/* Keep background refresh status out of the page header/list toolbar. */
body :is(#loading-status, #market-notice, #detail-status, #last-update) { display:none; }
body.coins-page .coin-list-caption:has(#coin-sort-status[hidden]) { display:none; }

/* VOLRO BRAND START */
/* Generated by build_brand.py from brand.json. Shared by headers, favicon and PNG exports. */
:root {
  --sx-brand-name: Volro;
  --sx-brand-height: 30px;
  --sx-brand-ratio: 3.898026;
  --sx-brand-lockup: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221185%22%20height%3D%22304%22%20viewBox%3D%220%200%201185%20304%22%3E%3Cpath%20fill%3D%22%2350D5B1%22%20fill-rule%3D%22evenodd%22%20d%3D%22M247%2C19%20L231%2C7%20L212%2C1%20L204%2C0%20L201%2C1%20L191%2C0%20L152%2C1%20L129%2C5%20L103%2C14%20L87%2C22%20L66%2C36%20L40%2C61%20L33%2C70%20L17%2C96%20L6%2C123%20L1%2C143%20L0%2C167%20L3%2C183%20L14%2C204%20L24%2C214%20L35%2C221%20L47%2C225%20L64%2C226%20L65%2C201%20L72%2C178%20L83%2C161%20L93%2C151%20L103%2C144%20L122%2C136%20L138%2C133%20L161%2C133%20L162%2C134%20L205%2C133%20L219%2C129%20L233%2C121%20L245%2C110%20L252%2C100%20L258%2C88%20L262%2C75%20L263%2C55%20L261%2C44%20L254%2C28%20Z%22%2F%3E%3Cpath%20fill%3D%22%239A7BFA%22%20fill-rule%3D%22evenodd%22%20d%3D%22M342%2C99%20L330%2C88%20L319%2C82%20L305%2C78%20L291%2C78%20L290%2C101%20L285%2C119%20L279%2C131%20L273%2C139%20L264%2C148%20L253%2C156%20L237%2C163%20L221%2C166%20L200%2C166%20L199%2C165%20L151%2C162%20L133%2C166%20L119%2C173%20L106%2C185%20L99%2C195%20L92%2C210%20L88%2C227%20L89%2C254%20L92%2C264%20L99%2C277%20L110%2C289%20L119%2C295%20L137%2C302%20L142%2C303%20L204%2C303%20L221%2C300%20L242%2C294%20L266%2C283%20L285%2C271%20L299%2C260%20L315%2C244%20L327%2C229%20L343%2C202%20L353%2C175%20L357%2C154%20L357%2C134%20L353%2C118%20L350%2C111%20Z%22%2F%3E%3Cpath%20fill%3D%22%23F2F1F8%22%20fill-rule%3D%22evenodd%22%20d%3D%22M996%2C94%20L974%2C93%20L960%2C97%20L947%2C105%20L938%2C116%20L936%2C115%20L936%2C97%20L887%2C97%20L887%2C262%20L937%2C262%20L937%2C172%20L939%2C166%20L947%2C155%20L959%2C148%20L972%2C145%20L997%2C146%20L997%2C95%20Z%20M1083%2C92%20L1066%2C96%20L1049%2C104%20L1032%2C117%20L1018%2C135%20L1009%2C155%20L1006%2C170%20L1006%2C191%20L1010%2C208%20L1018%2C225%20L1026%2C236%20L1042%2C251%20L1060%2C261%20L1076%2C266%20L1108%2C267%20L1122%2C264%20L1139%2C257%20L1158%2C243%20L1167%2C233%20L1173%2C224%20L1181%2C205%20L1184%2C191%20L1184%2C168%20L1178%2C146%20L1173%2C136%20L1164%2C123%20L1153%2C112%20L1140%2C103%20L1121%2C95%20L1108%2C92%20Z%20M1088%2C139%20L1102%2C139%20L1117%2C145%20L1129%2C157%20L1135%2C172%20L1135%2C187%20L1130%2C200%20L1119%2C212%20L1104%2C219%20L1097%2C220%20L1086%2C219%20L1074%2C214%20L1063%2C204%20L1057%2C193%20L1055%2C186%20L1056%2C169%20L1063%2C155%20L1072%2C146%20L1081%2C141%20Z%20M691%2C92%20L669%2C98%20L657%2C104%20L647%2C111%20L633%2C125%20L621%2C146%20L617%2C158%20L615%2C169%20L615%2C190%20L618%2C204%20L625%2C220%20L633%2C232%20L647%2C246%20L657%2C253%20L678%2C262%20L693%2C265%20L712%2C265%20L727%2C262%20L745%2C255%20L761%2C244%20L773%2C231%20L778%2C224%20L787%2C205%20L791%2C184%20L790%2C166%20L787%2C152%20L780%2C136%20L771%2C123%20L755%2C108%20L729%2C95%20L715%2C92%20Z%20M695%2C139%20L711%2C139%20L726%2C146%20L735%2C155%20L739%2C161%20L743%2C175%20L742%2C189%20L734%2C204%20L724%2C213%20L715%2C217%20L705%2C219%20L694%2C218%20L679%2C211%20L669%2C200%20L665%2C192%20L663%2C184%20L664%2C169%20L670%2C156%20L681%2C145%20Z%20M404%2C46%20L449%2C154%20L492%2C262%20L548%2C262%20L601%2C140%20L640%2C46%20L583%2C46%20L525%2C190%20L521%2C196%20L462%2C46%20Z%20M811%2C33%20L810%2C34%20L811%2C35%20L811%2C253%20L810%2C254%20L811%2C262%20L859%2C262%20L859%2C33%20Z%22%2F%3E%3C%2Fsvg%3E");
  --sx-brand-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22358%22%20height%3D%22304%22%20viewBox%3D%220%200%20358%20304%22%3E%3Cpath%20fill%3D%22%2350D5B1%22%20fill-rule%3D%22evenodd%22%20d%3D%22M247%2C19%20L231%2C7%20L212%2C1%20L204%2C0%20L201%2C1%20L191%2C0%20L152%2C1%20L129%2C5%20L103%2C14%20L87%2C22%20L66%2C36%20L40%2C61%20L33%2C70%20L17%2C96%20L6%2C123%20L1%2C143%20L0%2C167%20L3%2C183%20L14%2C204%20L24%2C214%20L35%2C221%20L47%2C225%20L64%2C226%20L65%2C201%20L72%2C178%20L83%2C161%20L93%2C151%20L103%2C144%20L122%2C136%20L138%2C133%20L161%2C133%20L162%2C134%20L205%2C133%20L219%2C129%20L233%2C121%20L245%2C110%20L252%2C100%20L258%2C88%20L262%2C75%20L263%2C55%20L261%2C44%20L254%2C28%20Z%22%2F%3E%3Cpath%20fill%3D%22%239A7BFA%22%20fill-rule%3D%22evenodd%22%20d%3D%22M342%2C99%20L330%2C88%20L319%2C82%20L305%2C78%20L291%2C78%20L290%2C101%20L285%2C119%20L279%2C131%20L273%2C139%20L264%2C148%20L253%2C156%20L237%2C163%20L221%2C166%20L200%2C166%20L199%2C165%20L151%2C162%20L133%2C166%20L119%2C173%20L106%2C185%20L99%2C195%20L92%2C210%20L88%2C227%20L89%2C254%20L92%2C264%20L99%2C277%20L110%2C289%20L119%2C295%20L137%2C302%20L142%2C303%20L204%2C303%20L221%2C300%20L242%2C294%20L266%2C283%20L285%2C271%20L299%2C260%20L315%2C244%20L327%2C229%20L343%2C202%20L353%2C175%20L357%2C154%20L357%2C134%20L353%2C118%20L350%2C111%20Z%22%2F%3E%3C%2Fsvg%3E");
}
body .topbar a.brand {
  display:block; flex:0 0 auto; position:relative;
  height:var(--sx-brand-height); width:calc(var(--sx-brand-height) * var(--sx-brand-ratio));
  padding:0; margin:0; gap:0; background:var(--sx-brand-lockup) center / contain no-repeat;
  text-decoration:none;
}
body .topbar .brand .brand-icon { display:none; }
body .topbar .brand .brand-name {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; background:none; border:0;
}
body :is(.empty-symbol,.market-empty-icon) {
  display:inline-block; width:36px; height:32px; font-size:0;
  background:var(--sx-brand-symbol) center / contain no-repeat;
}
/* VOLRO BRAND END */

/* Personal liquidity is visually distinct from market / pool data. */
body.detail-page .pool-positions { border-color:var(--sx-position-border); }
body.detail-page .pool-positions>.panel-title { background:var(--sx-position-bg); border-bottom-color:var(--sx-position-border); }
body.detail-page .pool-positions>.panel-title h2 { color:var(--sx-violet); }
.pool-positions .pool-positions-scroll .compact-position,
.pool-positions .period-table tbody tr { background:var(--sx-position-bg); }
.pool-positions .pool-position-row,
.pool-positions .period-table tbody tr { box-shadow:inset 3px 0 var(--sx-violet); }
.pool-positions .compact-position.selected-position { border-left:0; }
.pool-positions .pool-position-row:hover,
.pool-positions .period-table tbody tr:hover { background:var(--sx-position-hover); }
.pool-positions .compact-position.selected-position .pool-position-row,
.pool-positions .compact-position.selected-position .pool-position-row:hover {
  background:var(--sx-position-selected);
  box-shadow:inset 4px 0 var(--sx-accent),inset 0 1px var(--sx-position-border),inset 0 -1px var(--sx-position-border);
}
.position-selection-badge { display:none; }
.selected-position .position-selection-badge {
  display:inline-block; margin-left:8px; padding:2px 6px; border-radius:3px;
  background:var(--sx-accent-soft); color:var(--sx-accent); font-size:var(--sx-text-xs); font-weight:600;
}
.pool-positions .selected-position [data-show-range] { color:var(--sx-accent); border-color:var(--sx-accent); }
.pool-positions .period-table tbody td { background:transparent; }

/* Detail workspaces form one continuous surface, separated by single rules. */
body.detail-page .split-workspace,
body.detail-page .lp-workbench,
body.detail-page .lp-workbench>.center-column { gap:0; }
body.detail-page .split-workspace>.coin-column {
  padding:0; align-self:stretch; background:var(--sx-surface);
}
body.detail-page .split-workspace .workspace-heading {
  margin:0; padding:10px 14px; border-bottom:1px solid var(--sx-border);
}
body.detail-page .split-workspace :is(.pool-column>.identity,.coin-column>.coin-heading),
body.detail-page .split-workspace :is(.chart-panel,.pool-sidebar,.bottom-panel,.position-panel,.trade-panel) {
  margin:0; border:0; border-bottom:1px solid var(--sx-border); border-radius:0; box-shadow:none;
}
body.detail-page .split-workspace .lp-workbench {
  background:var(--sx-surface);
}
body.detail-page .split-workspace .lp-workbench>.position-panel {
  border-left:1px solid var(--sx-border); align-self:stretch;
}
body.detail-page .split-workspace .pool-positions {
  border-bottom-color:var(--sx-position-border);
}
@media(max-width:1399px) {
  body.detail-page .split-workspace .lp-workbench>.position-panel { border-left:0; }
}

/* Pool identity and live metrics share the compact coin-header layout. */
body.detail-page .split-workspace .pool-column>.pool-summary { display:block; padding:0; }
.pool-summary-main { display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; padding:14px 16px; }
.pool-summary-name { flex:1 1 190px; min-width:0; }
.pool-summary-name .provider-line { display:flex; align-items:center; gap:6px; margin-top:4px; }
body.detail-page .pool-summary-name .address-link { display:block; margin-top:5px; }
.pool-header-stats { display:flex; flex-wrap:wrap; gap:12px 24px; margin:0; align-items:start; }
.pool-summary :is(.pool-header-stats,.pool-header-fees) dt { color:var(--sx-muted); font-size:var(--sx-text-xs); }
.pool-summary :is(.pool-header-stats,.pool-header-fees) dd { margin:4px 0 0; color:var(--sx-text); font-variant-numeric:tabular-nums; font-weight:var(--sx-weight-semibold); }
.pool-header-stats dd { font-size:var(--sx-text-base); }
.pool-header-price { max-width:240px; }
.pool-header-price dd { overflow-wrap:anywhere; }
.pool-header-fees { display:grid; grid-template-columns:repeat(auto-fit,minmax(115px,1fr)); gap:12px 18px; margin:0; padding:12px 16px; border-top:1px solid var(--sx-border); }
.pool-header-fees dd { font-size:var(--sx-text-sm); overflow-wrap:anywhere; }
.pool-summary #insight-fee-status { margin:0; padding:0 16px 8px; }
.pool-summary #insight-fee-status:empty { display:none; }
@media(max-width:650px) {
  .pool-header-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:12px 16px; }
  .pool-header-fees { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Compact funding controls share the site's existing tokens; no animated glow. */
.lp-funding{padding:10px 0;border-bottom:1px solid var(--sx-border);margin-bottom:10px}
.lp-funding-heading,.lp-auto-label{display:flex;align-items:center;gap:8px}
.lp-funding-heading{justify-content:space-between;margin-bottom:10px}
.lp-funding select{max-width:160px;padding:6px 8px;font-size:var(--sx-text-sm);background:var(--sx-surface-raised);color:var(--sx-text);border:1px solid var(--sx-border);border-radius:var(--sx-radius-sm)}
#lp-direct-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lp-auto-label{font-size:12px;white-space:nowrap;color:var(--sx-text)}
.lp-auto-label input{accent-color:var(--sx-accent);width:14px;height:14px;margin:0}
.lp-funding small,.lp-funding p{color:var(--sx-muted);font-size:11px;line-height:1.5}
.lp-funding p:empty{display:none}
.zap-input{display:flex;align-items:center;gap:8px;background:var(--sx-surface);border:1px solid var(--sx-border);padding:8px;border-radius:6px;margin-top:6px}
.zap-input input{width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font-size:20px;color:var(--sx-text)}
.zap-input:focus-within{border-color:var(--sx-accent)}
#zap-summary{border-top:1px solid var(--sx-border);padding-top:10px;font-size:12px}
#zap-summary ol{padding-left:18px;line-height:1.8}
#zap-summary li span{float:right;color:var(--sx-muted)}
#zap-summary dl>div{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
#zap-summary dt{color:var(--sx-muted)}
#zap-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}
.zap-quote{border-top:1px solid var(--sx-border);padding-top:6px}
#zap-action{width:100%;margin-top:10px;padding:9px;background:var(--sx-accent);color:var(--sx-on-accent);font-weight:var(--sx-weight-semibold);border:1px solid transparent;border-radius:var(--sx-radius-sm);cursor:pointer}
#zap-action:disabled{opacity:.55;cursor:default}
#zap-reset{width:100%;margin-top:6px;padding:6px;font-size:var(--sx-text-xs);background:transparent;color:var(--sx-muted);border:1px solid var(--sx-border);border-radius:var(--sx-radius-sm);cursor:pointer}
#lp-funding [hidden],.position-panel .amount-card[hidden]{display:none!important}

/* Shared compact LP entry guidance. No animated surfaces. */
.lp-entry-guide{border-block:1px solid var(--sx-border);padding:9px 0;margin:8px 0 12px;font-size:12px}
.lp-entry-guide summary{cursor:pointer;color:var(--sx-accent)}
.lp-entry-guide dl{display:grid;gap:10px;margin:12px 0 4px}
.lp-entry-guide dt{font-weight:600;color:var(--sx-text)}
.lp-entry-guide dd{margin:3px 0 0;line-height:1.5;color:var(--sx-muted)}
.lp-single-side{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0;font-size:11px}
.lp-single-side span{color:var(--sx-muted);width:100%}
.lp-single-side button{flex:1;padding:6px;background:var(--sx-surface-raised);color:var(--sx-accent);border:1px solid var(--sx-border);border-radius:var(--sx-radius-sm);font-size:var(--sx-text-xs);cursor:pointer}
.lp-single-side button:hover{border-color:var(--sx-accent);background:var(--sx-accent-soft)}
.lp-single-side button:disabled{opacity:.5;cursor:default}
.position-panel [hidden]{display:none!important}

/* Position actions stay separate, even in narrow pool layouts. */
.pool-position-columns,.pool-position-row{grid-template-columns:minmax(175px,1.5fr) minmax(115px,1fr) minmax(105px,.9fr) minmax(105px,.9fr) 170px;min-width:800px}
.pool-row-actions{gap:8px;align-items:center;justify-content:flex-end}
.pool-row-actions :is(button,a){flex:0 0 34px;width:34px;min-width:34px;height:34px;box-sizing:border-box;padding:0;background:var(--sx-surface-raised);border:1px solid var(--sx-border);color:var(--sx-muted)}
.pool-row-actions :is(button,a):hover{color:var(--sx-accent);border-color:var(--sx-accent)}
.pool-row-actions .position-exit-button{color:var(--sx-accent);order:2}
.pool-row-actions .share-result-button{order:3}
.pool-row-actions .pool-row-more{order:4}
:is(.pool-row-actions,.position-actions) svg{width:17px;height:17px;display:block;pointer-events:none}
.exit-rule-launch{display:flex;justify-content:space-between;gap:8px;width:100%;padding:10px 0;background:transparent;color:var(--sx-text);border:0;border-block:1px solid var(--sx-border);text-align:left;cursor:pointer}
.exit-rule-launch span{font-size:var(--sx-text-xs);color:var(--sx-muted)}
.exit-dialog{width:min(500px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--sx-border-strong);border-radius:var(--sx-radius-lg);background:var(--sx-surface);color:var(--sx-text);box-shadow:var(--sx-shadow)}
.exit-dialog::backdrop{background:color-mix(in srgb,var(--sx-bg) 65%,transparent);backdrop-filter:none}
.exit-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--sx-border)}
.exit-dialog-header h2{font-size:var(--sx-text-xl);margin:0}
.exit-dialog-header p{font-size:var(--sx-text-sm);color:var(--sx-muted);margin:5px 0 0}
#exit-dialog-close{width:32px;height:32px;flex:none;background:var(--sx-surface-raised);color:var(--sx-muted);border:1px solid var(--sx-border);border-radius:var(--sx-radius-sm);font-size:var(--sx-text-xl);cursor:pointer}
.exit-dialog .exit-rule-editor{margin:0;border:0;background:transparent}
.exit-dialog .exit-rule-editor>summary{pointer-events:none;list-style:none;padding:12px 20px 0}
.exit-dialog .exit-rule-editor>summary>span{display:none}
.exit-dialog .exit-rule-content{padding:14px 20px;gap:7px}
.exit-dialog .exit-rule-scope{font-size:var(--sx-text-sm);margin-bottom:2px}
.exit-dialog .auto-exit-controls{border-top:1px solid var(--sx-border)}
.exit-dialog .auto-exit-controls h3{font-size:var(--sx-text-base);margin:0}
.exit-dialog p{margin:4px 0;font-size:var(--sx-text-sm);line-height:1.5}
.exit-dialog .exit-rule-buttons{justify-content:flex-start;flex-wrap:wrap}
.exit-dialog [data-arm]{background:var(--sx-accent);color:var(--sx-on-accent);font-weight:var(--sx-weight-semibold);padding:12px;border-color:transparent;margin-top:6px}
.exit-dialog button:disabled{opacity:.5;cursor:default}
.exit-dialog [hidden]{display:none!important}
.exit-dialog [data-result]:empty,.exit-dialog #exit-save-status:empty{display:none}
.exit-dialog .has-position>summary{display:none}
.exit-dialog #exit-mode-help:empty,.exit-dialog #exit-range-help:empty{display:none}
.exit-dialog .saved-exit-summary{padding:8px 10px;margin:0 0 4px;line-height:1.5}
.exit-dialog .exit-more{border:0;margin:2px 0;color:var(--sx-muted);font-size:var(--sx-text-sm)}
.exit-dialog .exit-more>summary{cursor:pointer;padding:5px 0;color:var(--sx-muted)}
.exit-dialog .exit-more p{padding:3px 0}
.exit-dialog [data-budget],.exit-dialog [data-rule-details]{white-space:pre-line}
.exit-dialog .exit-funding{color:var(--sx-text);font-weight:var(--sx-weight-semibold)}
.exit-dialog .exit-authority-note{font-size:var(--sx-text-xs);color:var(--sx-muted)}
.exit-dialog .exit-rule-content{gap:5px;padding-top:10px;padding-bottom:10px}

/* Pool visual language: mint = base reserve, violet = quote reserve/range. */
.detail-page .chart-range-context{padding:6px 12px;border-bottom:1px solid var(--sx-border);color:var(--sx-violet);font-size:var(--sx-text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detail-page .chart-range-context:before{content:'';display:inline-block;width:8px;height:8px;border:1px solid var(--sx-violet);background:var(--sx-violet-soft);margin-right:7px}
.detail-page .pool-header-stats>div{padding-left:14px;border-left:1px solid var(--sx-border)}
.detail-page .pool-header-stats dd{font-size:var(--sx-text-md)}
.detail-page #side-fees{color:var(--sx-accent)}
.detail-page #side-ratio{color:var(--sx-violet)}
.detail-page #insight-bin-chart{min-height:0}
.detail-page #insight-bin-chart>svg{width:100%;height:auto;max-height:none;aspect-ratio:640/220;overflow:visible;outline-offset:3px}
.detail-page #insight-bin-chart svg text{font-size:12px;font-family:var(--sx-font);font-variant-numeric:tabular-nums}
.detail-page #insight-bin-chart .bin-grid{stroke:var(--sx-border);stroke-dasharray:3 5;stroke-width:1}
.detail-page #insight-bin-chart .bin-selected-range{fill:var(--sx-violet-soft);stroke:none}
.detail-page #insight-bin-chart .bin-range-edge{stroke:var(--sx-violet);stroke-width:1.5}
.detail-page #insight-bin-chart .bin-active-line{stroke:var(--sx-text);stroke-dasharray:4 4;stroke-width:1.5;pointer-events:none}
.detail-page #insight-bin-chart .bin-active-label{fill:var(--sx-text)}
.detail-page #insight-bin-chart .bin-hit{fill:transparent;cursor:crosshair;pointer-events:all}
.detail-page #insight-bin-chart .bin-hit:hover{fill:var(--sx-violet-soft)}
.detail-page #insight-bin-chart .bin-hover-line{stroke:var(--sx-muted);stroke-width:1;opacity:.6;pointer-events:none}
.bin-chart-key,.bin-chart-axis{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:var(--sx-text-xs);color:var(--sx-muted)}
.bin-chart-key{margin-bottom:8px}.bin-range-key{color:var(--sx-violet)}
.bin-chart-key .insight-legend span+span:before{background:var(--sx-violet)}
.bin-readout{font-size:var(--sx-text-xs);font-variant-numeric:tabular-nums;color:var(--sx-text);line-height:1.6;min-height:38px;border-top:1px solid var(--sx-border);padding-top:9px;margin:10px 0 0}
#insight-depth-load{margin-left:auto;padding:5px 10px;font:inherit;font-size:var(--sx-text-xs);color:var(--sx-accent);background:var(--sx-accent-soft);border:1px solid var(--sx-border);border-radius:5px;cursor:pointer}
#insight-depth-load:disabled{opacity:.5;cursor:wait}
#insight-depth-load[hidden]{display:none}
.lp-owned-positions .range-state{display:inline-block;margin-top:4px;padding:2px 5px;border-radius:4px;font-size:11px}
.lp-owned-positions .in-range{color:var(--sx-accent);background:var(--sx-accent-soft)}
.lp-owned-positions .out-range{color:var(--sx-negative);background:var(--sx-violet-soft)}
.lp-owned-positions .position-range-price{margin-top:4px;font-variant-numeric:tabular-nums}
.detail-page .position-panel #distribution-svg{height:104px;margin:6px 0;overflow:visible;fill:none;stroke:none}
.detail-page #range-state{padding:3px 6px;border-radius:4px;background:var(--sx-accent-soft);color:var(--sx-accent)}
.detail-page #range-state[data-state=out]{background:var(--sx-violet-soft);color:var(--sx-violet)}
.detail-page .pool-sidebar .reserve-bar,.detail-page .pool-sidebar .reserve-bar svg{height:10px}
.detail-page .insight-split strong{font-size:var(--sx-text-md)}
/* Existing-position selection is instant and keyboard accessible. */
.pool-position-row[tabindex="0"] { cursor: pointer; }
.pool-position-row[tabindex="0"]:focus-visible { outline: 1px solid var(--sx-accent); outline-offset: -2px; }
/* Pool chart and open positions share the first desktop viewport. */
@media(min-width:801px) {
  body.detail-page .split-workspace .workspace-heading { padding:6px 14px; min-height:30px; }
  body.detail-page .pool-summary-main { padding:9px 14px; gap:8px 20px; }
  body.detail-page .pool-header-stats { gap:6px 18px; }
  body.detail-page .pool-header-fees { padding:7px 14px; gap:6px 16px; }
  body.detail-page .pool-summary :is(.pool-header-stats,.pool-header-fees) dd { margin-top:2px; }
  body.detail-page .lp-workbench .chart-panel:not(.chart-focused) .candle-chart {
    height:var(--pool-chart-height,clamp(180px,calc(100dvh - 560px),540px)); min-height:180px; max-height:none;
  }
  body.detail-page .lp-workbench .chart-panel>.panel-title { padding:7px 12px; }
  body.detail-page .lp-workbench .chart-stats { padding:7px 12px; }
  body.detail-page .lp-workbench .chart-toolbar { padding:5px 12px; }
  body.detail-page .pool-positions>.panel-title { padding:8px 14px; }
  body.detail-page .pool-positions #bottom-content { max-height:clamp(166px,25dvh,260px); overflow:auto; overscroll-behavior:contain; }
  body.detail-page .pool-positions .pool-position-totals { padding:7px 14px; gap:8px 18px; }
  body.detail-page .pool-positions .pool-position-columns { padding:7px 14px; }
  body.detail-page .pool-positions .pool-position-row { padding:9px 14px; min-height:78px; }
}

.pool-fee-details>summary { padding:5px 14px; cursor:pointer; color:var(--sx-muted); font-size:var(--sx-text-xs); border-top:1px solid var(--sx-border); }
.pool-fee-details>summary:hover { color:var(--sx-accent); }

body .token-metrics-grid[hidden] { display:none; }
/* Pool chart display control; no animation or data requests on toggle. */
body #chart-active-candles{font-size:var(--sx-text-xs);white-space:nowrap;line-height:1.3}
body #chart-active-candles[aria-pressed="true"]{color:var(--sx-accent)}
/* Pool workspace: local period selection and lightweight analytics views. */
.pool-summary-controls,.pool-insight-nav{display:flex;align-items:center;gap:16px;padding:8px 14px;border-top:1px solid var(--sx-border);background:var(--sx-surface)}
.pool-summary-controls>span{font-size:12px;color:var(--sx-muted)}
.pool-summary-controls>div{display:flex;gap:4px}
.pool-summary-controls button,.pool-insight-nav button{border:0;background:transparent;color:var(--sx-muted);padding:6px 10px;font:inherit;font-size:12px;cursor:pointer}
.pool-summary-controls button[aria-pressed=true],.pool-insight-nav button[aria-pressed=true]{color:var(--sx-accent);box-shadow:inset 0 -2px var(--sx-accent)}
.pool-summary-controls button:disabled{opacity:.35;cursor:default}
.pool-insight-nav{gap:12px}
body.detail-page .pool-sidebar>[hidden],.pool-range-map[hidden]{display:none!important}
body.detail-page .pool-sidebar>.pool-token-info{grid-column:1/-1}
body.detail-page #chart-range-context{display:none}
.pool-range-map{padding:8px 14px 12px;border-bottom:1px solid var(--sx-border);background:color-mix(in srgb,var(--sx-violet) 6%,transparent)}
.range-map-title{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--sx-muted)}
.range-map-title strong{color:var(--sx-text);font-size:12px}.range-map-title small{margin-left:auto}
#pool-range-status{color:var(--sx-accent)}
.pool-range-map[data-state=below] #pool-range-status,.pool-range-map[data-state=above] #pool-range-status{color:var(--sx-warning,#f2b86e)}
.range-map-boundaries{display:flex;justify-content:space-between;margin:6px 0;font-size:11px;font-variant-numeric:tabular-nums}
.range-map-boundaries>span{display:flex;align-items:center;gap:8px}.range-map-boundaries small{color:var(--sx-muted)}
.range-map-track{height:4px;position:relative;background:color-mix(in srgb,var(--sx-violet) 45%,transparent);border-left:2px solid var(--sx-violet);border-right:2px solid var(--sx-violet)}
.range-map-track i{position:absolute;top:-3px;width:10px;height:10px;background:var(--sx-accent);border:2px solid var(--sx-surface);border-radius:50%;transform:translateX(-50%)}
@media(max-width:600px){.pool-summary-controls{gap:8px}.pool-summary-controls button{padding:6px 8px}.range-map-boundaries>span{flex-direction:column;align-items:start;gap:2px}.range-map-boundaries>span:last-child{align-items:end}}
