/* Theme tokens power both the interface and its live previews. */
:root, .theme-preview, .theme-swatch {
  color-scheme: dark;
  --font-mono: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", Menlo, monospace;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
  --font: var(--font-mono);
  --font-size: 12.5px;
  --font-small: 11.5px;
  --accent: #35d05a;
  --control-radius: 2px;
  --panel-radius: 2px;
  --control-py: 1px;
  --control-px: 7px;
  --row-py: 1px;
  --cell-gap: 10px;
  --page-pad: 14px;
  --header-pad: 3px;
  --heading-case: none;
  --heading-spacing: 0;
  --table-bg: var(--bg);
  --table-head: var(--bg);
  --canvas: none;
}
.theme-preview, .theme-swatch {
  --bg: #121212; --fg: #b9b9b9; --white: #f2f2f2; --dim: #888;
  --green: #35d05a; --red: #ff4b45; --border: #1c1c1c;
  --control-bg: #101010; --control-active: #1d1d1d; --control-border: #2a2a2a; --row-border: #070707;
}
[data-theme="dexscreener"] {
  --bg: #121314; --fg: #dadcde; --white: #f3f4f5; --dim: #94999f; --dimmer: #777e85;
  --green: #67cd9c; --green-bg: #15231c; --red: #ef8591; --red-bg: #291b1f;
  --yellow: #d6bc83; --magenta: #b4accd; --cyan: #a8bfd2; --blue: #9aafca;
  --accent: #e9e9ed; --border: #292b2e; --surface: #1b1d1f;
  --control-bg: #202224; --control-border: #34373a; --control-hover: #52565c; --control-active: #303337;
  --row-border: #232528; --row-hover: #222528; --table-bg: #17191b; --table-head: #191b1d;
  --footer-bg: #16181a; --alert-bg: #291b1f; --banner-bg: #25221b; --flash-bg: #28342e;
  --overlay: #08090ac7; --shadow: 0 18px 64px #0006;
  --font: var(--font-sans); --font-size: 13px; --font-small: 12px;
  --control-radius: 8px; --panel-radius: 12px; --control-py: 7px; --control-px: 12px;
  --row-py: 11px; --cell-gap: 16px; --page-pad: 24px; --header-pad: 12px;
  --heading-case: none; --heading-spacing: 0;
}
[data-theme="rosa"] {
  --bg: #191c1a; --fg: #d8deda; --white: #f0f3ef; --dim: #a1aaa3; --dimmer: #78847c;
  --green: #80d5a5; --green-bg: #21342a; --red: #f48e94; --red-bg: #3c292d;
  --yellow: #e6c88c; --magenta: #d4acd2; --cyan: #a0d4cb; --blue: #a7bce0;
  --accent: #a0d4cb; --border: #343b36; --surface: #242a26;
  --control-bg: #252c27; --control-border: #424b44; --control-hover: #788a7d; --control-active: #35443c;
  --row-border: #2a312c; --row-hover: #272f29; --table-bg: #1e2420; --table-head: #242b26;
  --footer-bg: #1e2420; --alert-bg: #3c292d; --banner-bg: #383325; --flash-bg: #395447;
  --shadow: 0 16px 48px #080c0990; --font: var(--font-sans); --font-size: 13px; --font-small: 12px;
  --control-radius: 8px; --panel-radius: 12px; --control-py: 5px; --control-px: 10px;
  --row-py: 7px; --cell-gap: 12px; --page-pad: 14px; --header-pad: 10px;
  --heading-case: capitalize; --heading-spacing: .01em;
}
[data-theme="rosa"] {
  --bg: #211c1d; --fg: #e0d8d8; --white: #f8eeee; --dim: #b5a2a5; --dimmer: #967e83;
  --accent: #ff777c; --border: #433537; --surface: #2e2527;
  --control-bg: #302729; --control-border: #554247; --control-hover: #af8c92; --control-active: #503438;
  --row-border: #382b2e; --row-hover: #3a2d30; --table-bg: #271f21; --table-head: #2d2426;
  --footer-bg: #271f21; --flash-bg: #654047;
}
[data-theme="modern"] {
  --bg: #0e111a; --fg: #c9d1e4; --white: #f3f6ff; --dim: #929fb9; --dimmer: #6d7b98;
  --green: #66d9aa; --green-bg: #142c28; --red: #ff8d9a; --red-bg: #33202c;
  --yellow: #edce85; --magenta: #d2a7f5; --cyan: #8ecbfa; --blue: #9aabff;
  --accent: #9aabff; --border: #283047; --surface: #171d2b;
  --control-bg: #1b2233; --control-border: #343e59; --control-hover: #788ab3; --control-active: #2d3656;
  --row-border: #242b3d; --row-hover: #20283a; --table-bg: #141a27; --table-head: #1a2130;
  --footer-bg: #141a27; --alert-bg: #33202c; --banner-bg: #302a1b; --flash-bg: #333f55;
  --shadow: 0 12px 40px #06081080; --font: var(--font-sans); --font-size: 13px; --font-small: 12px;
  --control-radius: 8px; --panel-radius: 12px; --control-py: 5px; --control-px: 10px;
  --row-py: 9px; --cell-gap: 14px; --page-pad: 16px; --header-pad: 10px;
  --heading-case: uppercase; --heading-spacing: .045em;
}
[data-theme="glass"] {
  color-scheme: light;
  --bg: #adc2c9; --fg: #294650; --white: #193842; --dim: #304e58; --dimmer: #304e58;
  --green: #0b4f38; --green-bg: #d2e7dfb8; --red: #822830; --red-bg: #eddaddb8;
  --yellow: #624315; --magenta: #603762; --cyan: #1c4c62; --blue: #2b4868;
  --accent: #356779; --border: #ffffff80; --surface: #d4e2e6;
  --control-bg: #e8f3f554; --control-border: #f5fcffc4; --control-hover: #527886;
  --control-active: #92b1be66; --row-border: #5e82921f; --row-hover: #f5fcff55;
  --table-bg: #e5eff259; --table-head: #f0f7f94d; --footer-bg: #ccdde3;
  --alert-bg: #eddadd; --banner-bg: #e8e1cc; --flash-bg: #f6fbff;
  --overlay: #415e716b; --shadow: 8px 12px 28px #4b718440, inset 1px 1px 0 #ffffffd9, inset -1px -1px 0 #ffffff5c;
  --font: var(--font-sans); --font-size: 13px; --font-small: 12px;
  --control-radius: 18px; --panel-radius: 16px; --control-py: 6px; --control-px: 12px;
  --row-py: 8px; --cell-gap: 14px; --page-pad: 16px; --header-pad: 10px;
  --heading-case: capitalize; --heading-spacing: .015em;
  --canvas: linear-gradient(125deg, #edf5f780, #c6dce330 45%, #7496a52b);
  --glass-face: linear-gradient(155deg, #ffffff8c, #f0f8fb24 45%, #87a7b526);
  --glass-raised: inset 1px 1px 1px #ffffffeb, inset -1px -1px 1px #f4fbff73, 3px 4px 7px #4e738440;
  --glass-pressed: inset 2px 3px 5px #557d8d40, inset -1px -1px 2px #ffffffa6;
}
[data-theme="glass"][data-glass-mode="dark"] {
  color-scheme: dark;
  --bg: #14212b; --fg: #d9e4ec; --white: #f2f7fa; --dim: #c5d6df; --dimmer: #c5d6df;
  --green: #a4edca; --green-bg: #214639a6; --red: #ffc3ca; --red-bg: #512f3aa6;
  --yellow: #ecd099; --magenta: #eacdf2; --cyan: #b2d9e8; --blue: #bfd3f0;
  --accent: #9cc9da; --border: #d3e9f333; --surface: #223641;
  --control-bg: #7395a321; --control-border: #d4eef54a; --control-hover: #b1d5e5;
  --control-active: #06172366; --row-border: #bfddec14; --row-hover: #a6cbd510;
  --table-bg: #33525e36; --table-head: #99c4d410; --footer-bg: #203540;
  --alert-bg: #432a34; --banner-bg: #3b3526; --flash-bg: #496672;
  --overlay: #07101999; --shadow: 8px 12px 28px #02091259, inset 1px 1px 0 #dbf3ff40, inset -1px -1px 0 #bfdce614;
  --canvas: linear-gradient(125deg, #6e94a438, #17344320 45%, #07111b55);
  --glass-face: linear-gradient(155deg, #d8f2ff29, #b6daee08 45%, #02090f29);
  --glass-raised: inset 1px 1px 1px #e3f7ff61, inset -1px -1px 1px #c0e5f21a, 3px 4px 7px #020b1566;
  --glass-pressed: inset 2px 3px 5px #020b1580, inset -1px -1px 2px #c3e4ef29;
}
[data-theme="gmgn"] {
  --bg: #0d0f0e; --fg: #d6d9d7; --white: #f7f8f7; --dim: #919a95; --dimmer: #69746c;
  --green: #38d889; --green-bg: #11291b; --red: #ff6666; --red-bg: #2c1919;
  --yellow: #e7ce70; --magenta: #c89cf2; --cyan: #8ebfe8; --blue: #90afff;
  --accent: #6ee7a0; --border: #292d2a; --surface: #161917;
  --control-bg: #202421; --control-border: #303831; --control-hover: #637767; --control-active: #243c2b;
  --row-border: #1d241e; --row-hover: #1d2820; --table-bg: #111512; --table-head: #111512;
  --footer-bg: #121613; --alert-bg: #2c1919; --banner-bg: #302c17; --flash-bg: #30422b;
  --shadow: 0 12px 36px #0009; --font: Arial, "Segoe UI", sans-serif; --font-size: 13px; --font-small: 12px;
  --control-radius: 4px; --panel-radius: 4px; --control-py: 3px; --control-px: 8px;
  --row-py: 10px; --cell-gap: 12px; --page-pad: 10px; --header-pad: 8px;
}
[data-theme="tokyo"] {
  --bg: #1a1b26; --fg: #b8c3e0; --white: #dce4ff; --dim: #929ec4; --dimmer: #707ea8;
  --green: #9ece6a; --green-bg: #29352b; --red: #f7768e; --red-bg: #3b2536;
  --yellow: #e0af68; --magenta: #bb9af7; --cyan: #7dcfff; --blue: #7aa2f7;
  --accent: #bb9af7; --border: #343953; --surface: #202332;
  --control-bg: #24283b; --control-border: #414867; --control-hover: #8794c7; --control-active: #383558;
  --row-border: #2a2e43; --row-hover: #292e42; --table-bg: #1c1f2c; --table-head: #222638;
  --footer-bg: #161822; --alert-bg: #3b2536; --banner-bg: #373024; --flash-bg: #464167;
  --shadow: 0 12px 36px #0f101980; --control-radius: 4px; --panel-radius: 6px;
  --control-py: 3px; --row-py: 4px; --page-pad: 12px; --header-pad: 6px;
}
[data-theme="catppuccin"] {
  --bg: #1e1e2e; --fg: #cdd6f4; --white: #f0edff; --dim: #a6adc8; --dimmer: #7f849c;
  --green: #a6e3a1; --green-bg: #2b3935; --red: #f38ba8; --red-bg: #402d40;
  --yellow: #f9e2af; --magenta: #f5c2e7; --cyan: #89dceb; --blue: #89b4fa;
  --accent: #cba6f7; --border: #45475a; --surface: #262637;
  --control-bg: #313244; --control-border: #585b70; --control-hover: #a6adc8; --control-active: #48405e;
  --row-border: #343448; --row-hover: #313244; --table-bg: #232334; --table-head: #29293c;
  --footer-bg: #181825; --alert-bg: #402d40; --banner-bg: #393429; --flash-bg: #4b405e;
  --shadow: 0 12px 36px #11111b80; --font: var(--font-sans); --font-size: 13px; --font-small: 12px;
  --control-radius: 12px; --panel-radius: 14px; --control-py: 4px; --control-px: 10px;
  --row-py: 6px; --cell-gap: 12px; --page-pad: 14px; --header-pad: 8px;
}
[data-theme="gruvbox"] {
  --bg: #282828; --fg: #ebdbb2; --white: #fbf1c7; --dim: #bdae93; --dimmer: #928374;
  --green: #b8bb26; --green-bg: #353a26; --red: #fb7b68; --red-bg: #472b26;
  --yellow: #fabd2f; --magenta: #d3869b; --cyan: #8ec07c; --blue: #83a598;
  --accent: #fabd2f; --border: #504945; --surface: #302e2b;
  --control-bg: #3c3836; --control-border: #665c54; --control-hover: #bdae93; --control-active: #504832;
  --row-border: #3c3836; --row-hover: #3c3836; --table-bg: #2b2927; --table-head: #32302c;
  --footer-bg: #242321; --alert-bg: #472b26; --banner-bg: #42391f; --flash-bg: #514826;
  --shadow: 5px 5px 0 #1d2021; --control-radius: 0px; --panel-radius: 0px;
  --control-py: 2px; --row-py: 3px; --page-pad: 10px; --header-pad: 6px;
  --heading-case: uppercase; --heading-spacing: .055em;
}
[data-theme="daylight"] {
  color-scheme: light;
  --bg: #f3f5f9; --fg: #374151; --white: #172337; --dim: #57677f; --dimmer: #748095;
  --green: #187447; --green-bg: #e6f4ec; --red: #c03645; --red-bg: #fcebed;
  --yellow: #8b630d; --magenta: #93509a; --cyan: #21689c; --blue: #3459c7;
  --accent: #3459c7; --border: #d4dce7; --surface: #fff;
  --control-bg: #fff; --control-border: #c3cddb; --control-hover: #6b7e9c; --control-active: #e4eafb;
  --row-border: #e6ebf2; --row-hover: #edf2fb; --table-bg: #fff; --table-head: #edf1f7;
  --footer-bg: #fff; --overlay: #25324c55; --alert-bg: #fcebed; --banner-bg: #fff4d7; --flash-bg: #dbe7fc;
  --shadow: 0 12px 40px #27365426; --font: var(--font-sans); --font-size: 13px; --font-small: 12px;
  --control-radius: 6px; --panel-radius: 10px; --control-py: 5px; --control-px: 10px;
  --row-py: 7px; --cell-gap: 12px; --page-pad: 16px; --header-pad: 10px;
  --heading-case: uppercase; --heading-spacing: .04em;
}

/* The same DOM and data feed serve every theme. Overrides affect presentation only. */
:root[data-font="sans"] { --font: var(--font-sans); }
:root[data-font="mono"] { --font: var(--font-mono); }
:root[data-font="serif"] { --font: var(--font-serif); }
:root[data-density="compact"] { --row-py: 1px; --control-py: 2px; --cell-gap: 8px; --header-pad: 4px; }
:root[data-density="comfortable"] { --row-py: 10px; --control-py: 6px; --cell-gap: 14px; --header-pad: 10px; }
html { min-height: 100%; }
body {
  min-height: 100vh; font-family: var(--font); font-size: var(--font-size);
  padding: var(--page-pad) var(--page-pad) 52px;
  background-image: var(--canvas); background-repeat: no-repeat; background-size: 100% 800px;
  font-variant-numeric: tabular-nums;
}
button, input, select, textarea { border-radius: var(--control-radius); }
button { padding: var(--control-py) var(--control-px); }
input { padding: calc(var(--control-py) + 1px) var(--control-px); }
input::placeholder, textarea::placeholder { color: var(--dim); opacity: 1; }
button:disabled { cursor: default; opacity: .45; }
:is(button, input, select, textarea, a, summary):focus-visible { outline: 2px solid var(--white); outline-offset: 3px; }
button.on { border-color: var(--accent); background: var(--control-active); }
.brand::before { color: var(--accent); }
header .l1 { padding-bottom: var(--header-pad); gap: 6px 8px; }
header .l1 .right { min-width: 0; }
header .stats { padding-block: max(2px, calc(var(--header-pad) / 2)); }
.tapehead { padding-block: var(--header-pad); margin-top: 6px; }
.tablewrap { border-radius: var(--panel-radius); background: var(--table-bg); }
th { background: var(--table-head); text-transform: var(--heading-case); letter-spacing: var(--heading-spacing); }
td, th { padding-block: var(--row-py); padding-right: var(--cell-gap); }
table.cu td { padding-block: max(2px, var(--row-py)); }
td { vertical-align: middle; }
.modal .box, .dd-menu { border-radius: var(--panel-radius); }
.modal .box { max-height: 92dvh; overflow-y: auto; }
footer { z-index: 20; }

/* Panel and typography changes distinguish the UI families beyond their palettes. */
:root:is([data-theme="modern"], [data-theme="glass"], [data-theme="catppuccin"], [data-theme="daylight"]) .brand { font-size: 19px; letter-spacing: -.6px; }
:root:not([data-theme="original"]) .tablewrap { border: 1px solid var(--border); }
:root:not([data-theme="original"]) :is(td, th):first-child { padding-left: var(--cell-gap); }
:root:not([data-theme="original"]) .tapehead { border-top: none; }
:root:not([data-theme="original"]) h2 { font-size: 15px; margin: 18px 0 8px; }
:root[data-theme="gmgn"] .brand { font-size: 18px; letter-spacing: -.5px; }
:root[data-theme="gmgn"] :is(tr.buy, tr.sell) :is(.tok, .who) { color: var(--white); }
:root[data-theme="gmgn"] tr.buy:not(.big) { background: #36d88704; }
:root[data-theme="gmgn"] tr.sell:not(.big) { background: #ff666604; }
:root[data-theme="gmgn"] tbody tr:hover { background: var(--row-hover); }
:root[data-theme="glass"] body > header {
  background: var(--glass-face), var(--table-bg); border: 1px solid var(--border); border-radius: var(--panel-radius);
  padding: 12px 16px; box-shadow: var(--shadow);
}
/* Frosted sheets and molded controls. No filters on the scrolling trade rows. */
:root[data-theme="glass"] body { background-size: 100% 900px; }
:root[data-theme="glass"] header .l1 { border-bottom-color: #60808d30; overflow: visible; }
:root[data-theme="glass"] header .l1 .right { gap: 8px; padding-block: 4px; }
:root[data-theme="glass"] .tapehead { gap: 10px; padding-block: 16px; margin: 0; }
:root[data-theme="glass"] :is(button, input, textarea):not(.theme-dialog *) {
  background-image: var(--glass-face); box-shadow: var(--glass-raised);
}
:root[data-theme="glass"] button:not(.theme-dialog *) { font-weight: 500; }
:root[data-theme="glass"] button:not(.theme-dialog *):hover {
  background-color: #f2fbff85; border-color: #ffffff; color: var(--white);
}
:root[data-theme="glass"] button:not(.theme-dialog *):is(.on, :active) {
  background: var(--control-active); border-color: #effaff9c;
  box-shadow: var(--glass-pressed); color: var(--white);
}
:root[data-theme="glass"] button:not(.theme-dialog *).on { font-weight: 650; text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }
:root[data-theme="glass"] :is(input:not([type="checkbox"]), textarea):not(.theme-dialog *) {
  background: #edf6f963; border-color: #eefaffb3; box-shadow: var(--glass-pressed); caret-color: var(--white);
}
:root[data-theme="glass"] textarea { border-radius: 12px; }
:root[data-theme="glass"] .btns:not(.big) {
  padding: 3px; gap: 2px; border-radius: 24px; background: #82a3b029; box-shadow: var(--glass-pressed);
}
:root[data-theme="glass"] .btns:not(.big) button { border-color: transparent; background: transparent; box-shadow: none; }
:root[data-theme="glass"] .btns:not(.big) button.on {
  border-color: #ffffffb3; background: var(--glass-face), #e9f4f77d; box-shadow: var(--glass-raised);
}
:root[data-theme="glass"] :is(.chev, .modal .close) { background: transparent; border-color: transparent; box-shadow: none; }
:root[data-theme="glass"] .tablewrap { background-image: var(--glass-face); box-shadow: var(--shadow); }
:root[data-theme="glass"] th { font-weight: 600; border-bottom-color: #68899647; }
:root[data-theme="glass"] :is(tr.buy, tr.sell) :is(.tok, .who) { color: var(--white); }
:root[data-theme="glass"] .dot { box-shadow: none; }
:root[data-theme="glass"] .tag.spoof { color: #fff; }
:root[data-theme="glass"] :is(.rstar, .rsch) { color: var(--dim); }
:root[data-theme="glass"] .modal .box, :root[data-theme="glass"] .dd-menu {
  background: var(--glass-face), #d4e2e6ed; border-color: #ffffffb3; box-shadow: var(--shadow);
}
:root[data-theme="glass"] .dd-menu { padding: 8px; }
:root[data-theme="glass"] .dd-menu label { padding: 7px 8px; border-radius: 8px; }
:root[data-theme="glass"] footer { border-top-color: #ffffffb3; box-shadow: inset 0 1px 0 #fff6, 0 -3px 12px #57788926; }
:root[data-theme="glass"] :is(button, input, textarea, a, summary):not(.theme-dialog *):focus-visible { outline-color: #244e60; }
:root[data-theme="glass"] body { scrollbar-color: #607f8b #d1e1e6; }
:root[data-theme="glass"] ::selection { color: #193842; background: #f1fbff; }
@supports (backdrop-filter: blur(8px)) {
  :root[data-theme="glass"] :is(.modal .box, .dd-menu) { backdrop-filter: blur(8px); }
}
:root[data-theme="glass"][data-glass-mode="dark"] button:not(.theme-dialog *):hover { background-color: #afdbef21; border-color: #d4eef57d; }
:root[data-theme="glass"][data-glass-mode="dark"] button:not(.theme-dialog *):is(.on, :active) { background: var(--control-active); border-color: var(--control-border); }
:root[data-theme="glass"][data-glass-mode="dark"] .btns:not(.big) { background: #04121c40; }
:root[data-theme="glass"][data-glass-mode="dark"] .btns:not(.big) button.on { background: var(--glass-face), #66879629; }
:root[data-theme="glass"][data-glass-mode="dark"] :is(input:not([type="checkbox"]), textarea):not(.theme-dialog *) { background: #142732a6; border-color: #b4d1df33; }
:root[data-theme="glass"][data-glass-mode="dark"] :is(header .l1, th) { border-bottom-color: #bfddec26; }
:root[data-theme="glass"][data-glass-mode="dark"] :is(.modal .box, .dd-menu) { background: var(--glass-face), #223641f2; border-color: var(--control-border); }
:root[data-theme="glass"][data-glass-mode="dark"] footer { border-top-color: var(--border); box-shadow: inset 0 1px 0 #dbf3ff1a, 0 -3px 12px #020b1540; }
:root[data-theme="glass"][data-glass-mode="dark"] :is(button, input, textarea, a, summary):not(.theme-dialog *):focus-visible { outline-color: #b8deed; }
:root[data-theme="glass"][data-glass-mode="dark"] body { scrollbar-color: #789aa9 #1d333f; }
:root[data-theme="glass"][data-glass-mode="dark"] ::selection { background: #b8deed; color: #14212b; }
:root[data-theme="rosa"] .brand { font-size: 20px; letter-spacing: -.7px; font-weight: 600; }
:root[data-theme="rosa"] .brand::before { content: ""; display: inline-block; width: 8px; height: 15px; border-radius: 3px; background: var(--accent); transform: skew(-12deg); margin-right: 7px; vertical-align: -1px; }
:root[data-theme="rosa"] .btns:not(.big) { background: var(--control-bg); padding: 2px; border-radius: 10px; }
:root[data-theme="rosa"] .btns:not(.big) button { border-color: transparent; background: transparent; padding-block: 3px; }
:root[data-theme="rosa"] .btns:not(.big) button.on { background: var(--control-active); }
:root[data-theme="rosa"] th { font-size: 11px; font-weight: 500; }
:root[data-theme="rosa"] :is(tr.buy, tr.sell) .tok { color: var(--white); }

/* The terminal layout is defined in terminal.css. */
.theme-trigger { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.theme-symbol { width: 12px; height: 12px; border: 1px solid currentColor; border-radius: 3px; box-shadow: inset 5px 0 0 currentColor; opacity: .85; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
/* The gallery renders only three reusable previews, with native settings alongside. */
.theme-dialog {
  --picker-bg: #202020; --picker-fg: #f1f1f1; --picker-muted: #b1b1b1;
  --picker-line: #ffffff14; --picker-control: #2c2c2c; --picker-active: #383838;
  --picker-focus: #a5c9e8; --picker-button: #ededed; --picker-button-fg: #242424;
  width: min(1120px, calc(100vw - 40px)); max-height: calc(100dvh - 40px);
  margin: auto; padding: 0; border: 0; border-radius: 16px;
  background: var(--picker-bg); color: var(--picker-fg); box-shadow: 0 24px 80px #0005;
  font: 14px/1.5 var(--font-sans); color-scheme: dark; overflow: hidden;
}
.theme-dialog[data-tone="light"] {
  --picker-bg: #fff; --picker-fg: #202020; --picker-muted: #626262;
  --picker-line: #00000012; --picker-control: #f5f5f5; --picker-active: #eaeaea;
  --picker-focus: #32678d; --picker-button: #262626; --picker-button-fg: #fff;
  color-scheme: light;
}
.theme-dialog[open] { display: flex; flex-direction: column; }
.theme-dialog::backdrop { background: #11182780; }
:root:has(.theme-dialog[open]) { overflow: hidden; }
.theme-dialog ::selection { background: var(--picker-focus); color: var(--picker-bg); }
.theme-dialog :is(button, input, select):focus-visible { outline: 2px solid var(--picker-focus); outline-offset: 3px; }
.theme-dialog button { font: inherit; color: var(--picker-fg); border: 0; border-radius: 8px; padding: 8px 12px; background: transparent; min-height: 40px; box-shadow: none; }
.theme-dialog button:hover { background: var(--picker-control); }
.theme-dialog button:active { background: var(--picker-active); }
.theme-dialog button:disabled { opacity: .55; }
.theme-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 28px 16px; flex-shrink: 0; }
.theme-heading-title { display: flex; align-items: center; gap: 12px; min-width: 0; }
:root .theme-dialog h2 { margin: 0; font: 600 20px/1.3 var(--font-sans); letter-spacing: -.02em; color: var(--picker-fg); }
.theme-dialog :is(.theme-close, #themeBack) { display: grid; place-items: center; padding: 0; width: 40px; height: 40px; flex-shrink: 0; color: var(--picker-muted); }
.theme-body { overflow-y: auto; overflow-x: hidden; min-height: 0; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--picker-active) transparent; }
.theme-gallery { min-width: 0; }
.theme-stage { --slide-width: min(76%, 800px); position: relative; height: 480px; overflow: hidden; touch-action: pan-y; user-select: none; cursor: grab; }
.theme-stage:focus-visible { outline: 2px solid var(--picker-focus); outline-offset: -4px; }
.theme-stage.is-dragging { cursor: grabbing; }
.theme-slide { position: absolute; top: 50%; left: 50%; width: var(--slide-width); transition: transform 180ms ease-out; }
.theme-slide-current { z-index: 2; transform: translate(calc(-50% + var(--drag, 0px)), -50%); }
.theme-slide-previous { transform: translate(calc(-150% - 24px + var(--drag, 0px)), -50%) scale(.86); transform-origin: right center; opacity: .7; }
.theme-slide-next { transform: translate(calc(50% + 24px + var(--drag, 0px)), -50%) scale(.86); transform-origin: left center; opacity: .7; }
.theme-stage.is-dragging .theme-slide { transition: none; }
.theme-dialog .theme-neighbor-hit { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: transparent; border-radius: var(--panel-radius); }
.theme-dialog .theme-neighbor-hit:hover { background: transparent; }
.theme-neighbor-name { position: absolute; top: calc(100% + 12px); left: 0; width: 100%; text-align: center; color: var(--picker-muted); font-size: 13px; }
.theme-preview { padding: 20px; border: 1px solid var(--border); border-radius: var(--panel-radius); color: var(--fg); background: var(--canvas), var(--bg); font: 12px/1.5 var(--font); box-shadow: 0 12px 32px #0003; overflow: hidden; }
.preview-page { display: none; }
.preview-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.preview-top b { color: var(--white); font: 600 17px/1.4 var(--font); letter-spacing: -.02em; }
.preview-top > span { color: var(--dim); font: 11px var(--font-sans); }
.preview-toolbar { display: flex; align-items: center; gap: 14px; color: var(--dim); margin: 20px 0 16px; font-size: 11px; }
.preview-active { border: 1px solid var(--accent); border-radius: var(--control-radius); color: var(--white); background: var(--control-active); padding: 4px 8px; }
.preview-period { margin-left: auto; color: var(--white); border: 1px solid var(--control-border); background: var(--control-bg); border-radius: var(--control-radius); padding: 4px 8px; }
.preview-search { margin-left: 8px; padding: 4px 10px; border-radius: var(--control-radius); color: var(--dim); border: 1px solid var(--control-border); background: var(--control-bg); min-width: 0; overflow: hidden; white-space: nowrap; }
.preview-table { border: 1px solid var(--border); border-radius: var(--panel-radius); overflow: hidden; background: var(--table-bg); }
.preview-line { display: grid; grid-template-columns: .55fr 1.2fr .55fr 1fr .7fr .9fr; align-items: center; gap: 10px; padding: var(--row-py) 12px; color: var(--fg); border-bottom: 1px solid var(--row-border); }
.preview-line:last-child { border-bottom: 0; }
.preview-line > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-line > :is(:nth-child(4), :nth-child(5)) { text-align: right; font-variant-numeric: tabular-nums; }
.preview-columns { background: var(--table-head); color: var(--dim); font-size: 10px; padding-block: 8px; text-transform: var(--heading-case); letter-spacing: var(--heading-spacing); }
.preview-token { font-weight: 600; line-height: 1.3; }
.preview-token small { display: block; color: var(--dim); font: 10px/1.2 var(--font-sans); }
.preview-buy-row :is(.preview-token, .preview-side, .preview-usd) { color: var(--green); }
.preview-sell-row :is(.preview-token, .preview-side, .preview-usd) { color: var(--red); }
.preview-time, .preview-trader { color: var(--dim); }
.theme-preview:is([data-theme="glass"], [data-theme="gmgn"], [data-theme="dexscreener"], [data-theme="rosa"]) .preview-token { color: var(--white); }
.theme-preview[data-theme="dexscreener"] .preview-columns { color: var(--dim); font-weight: 500; }
.theme-preview[data-theme="dexscreener"] .preview-line:nth-child(odd):not(.preview-columns) { background: var(--row-hover); }
.theme-preview[data-theme="dexscreener"] .preview-line:not(.preview-columns) .preview-market { color: var(--cyan); }
.theme-preview[data-theme="dexscreener"] .preview-active { color: var(--accent-ink, #fff); }

.theme-preview[data-theme="glass"] { background: var(--glass-face), var(--bg); border-color: var(--control-border); box-shadow: var(--shadow); }
.theme-preview[data-theme="glass"] :is(.preview-active, .preview-period) { background: var(--glass-face), var(--control-bg); border: 1px solid var(--control-border); box-shadow: var(--glass-raised); }
.theme-preview[data-theme="glass"] .preview-search { box-shadow: var(--glass-pressed); }
.theme-preview[data-density="compact"] { --row-py: 1px; }
.theme-preview[data-density="comfortable"] { --row-py: 10px; }
.theme-gallery-caption { text-align: center; padding: 4px 24px 20px; }
.theme-navigation { display: flex; justify-content: center; align-items: center; gap: 16px; margin-bottom: 8px; }
.theme-navigation button { display: grid; place-items: center; width: 40px; border: 1px solid var(--picker-line); }
#themeCounter { min-width: 48px; color: var(--picker-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.theme-name-line { display: flex; align-items: center; justify-content: center; gap: 10px; }
:root .theme-dialog #themeName { margin: 0; color: var(--picker-fg); font: 600 24px/1.3 var(--font-sans); letter-spacing: -.02em; }
#themeCurrentBadge { padding: 2px 7px; border-radius: 5px; background: var(--picker-control); color: var(--picker-muted); font-size: 11px; }
#themeDescription { margin: 6px 0 0; color: var(--picker-muted); font-size: 13px; }
#themeHint { margin: 12px 0 0; color: var(--picker-muted); font-size: 12px; }
#themeHint > span:first-child { padding-inline: 5px; }
.theme-bottom { display: flex; align-items: center; gap: 16px; padding: 20px 28px; flex-shrink: 0; border-top: 1px solid var(--picker-line); }
.theme-actions { margin-left: auto; display: flex; gap: 10px; }
#themeStatus { color: var(--picker-muted); font-size: 12px; max-width: 280px; }
#themeStatus:empty { display: none; }
.theme-dialog #themeCancel { padding-left: 0; color: var(--picker-muted); }
.theme-dialog #themeCustomize { border: 1px solid var(--picker-line); padding-inline: 20px; }
.theme-dialog #themeApply { color: var(--picker-button-fg); background: var(--picker-button); padding-inline: 24px; font-weight: 500; }
.theme-dialog #themeApply:hover { opacity: .85; }
.theme-dialog[data-view="customize"] .theme-gallery-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
.theme-dialog[data-view="customize"] .theme-stage { --slide-width: calc(100% - 40px); height: 480px; cursor: default; }
.theme-dialog[data-view="customize"] :is(.theme-slide-previous, .theme-slide-next) { display: none; }
.theme-dialog[data-view="customize"] :is(.preview-time, .preview-market, .preview-search) { display: none; }
.theme-dialog[data-view="customize"] .preview-line { grid-template-columns: 1.2fr .6fr 1fr .9fr; }
#themeCustomization { border-left: 1px solid var(--picker-line); padding: 0 28px 24px; min-width: 0; }
.theme-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 88px; padding: 18px 0; border-bottom: 1px solid var(--picker-line); }
.theme-row-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.theme-row-title { font-size: 14px; color: var(--picker-fg); }
.theme-row-hint { font-size: 12px; color: var(--picker-muted); line-height: 1.45; }
.theme-mode { display: inline-flex; padding: 3px; border-radius: 10px; background: var(--picker-control); flex-shrink: 0; gap: 3px; }
.theme-mode label { position: relative; cursor: pointer; }
.theme-mode input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; padding: 0; }
.theme-mode label > span { display: flex; align-items: center; gap: 6px; padding: 7px 8px; border-radius: 7px; color: var(--picker-muted); font-size: 13px; }
.theme-mode input:checked + span { color: var(--picker-fg); background: var(--picker-bg); box-shadow: 0 1px 3px #0002; }
.theme-mode input:focus-visible + span { outline: 2px solid var(--picker-focus); outline-offset: 1px; }
.theme-dialog select { width: 132px; flex-shrink: 0; min-height: 40px; font: 13px/1.4 var(--font-sans); color: var(--picker-fg); border: 1px solid transparent; border-radius: 8px; background: var(--picker-control); padding: 8px; cursor: pointer; }
.theme-dialog select:hover { border-color: var(--picker-muted); }
.theme-dialog #themeAccentReset { align-self: flex-start; min-height: 22px; margin-left: -4px; padding: 0 4px; font-size: 12px; color: var(--picker-muted); }
.theme-dialog #themeAccentReset:not(:disabled):hover { text-decoration: underline; text-underline-offset: 3px; background: transparent; color: var(--picker-fg); }
.theme-accent-row { flex-wrap: wrap; gap: 12px; }
.theme-accent-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 1 0 100%; }
.theme-accent-presets { display: flex; gap: 0; }
.theme-dialog .theme-color-choice { display: grid; place-items: center; padding: 0; width: 28px; min-height: 40px; border-radius: 6px; }
.theme-color-choice > span { display: block; width: 18px; height: 18px; border-radius: 50%; background: var(--swatch-color); border: 1px solid #00000018; }
.theme-color-choice[aria-pressed="true"] > span { outline: 2px solid var(--picker-fg); outline-offset: 3px; }
.theme-custom-color { display: flex; align-items: center; gap: 8px; border: 1px solid var(--picker-line); border-radius: 8px; padding: 6px 8px; min-height: 36px; cursor: pointer; background: var(--picker-control); }
#themeAccent { padding: 0; width: 20px; height: 20px; border: 0; border-radius: 4px; background: transparent; cursor: pointer; }
#themeAccent::-webkit-color-swatch-wrapper { padding: 0; }
#themeAccent::-webkit-color-swatch { border: 0; border-radius: 4px; }
#themeAccent::-moz-color-swatch { border: 0; border-radius: 4px; }
#themeHex { font: 11px/1.4 var(--font-mono); color: var(--picker-muted); }
.theme-dialog #themeReset { color: var(--picker-muted); font-size: 12px; padding-inline: 0; margin-top: 16px; }
.theme-dialog #themeReset:hover { background: transparent; color: var(--picker-fg); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 850px) {
  .theme-stage { --slide-width: 80%; height: 480px; }
  .preview-search, .preview-time { display: none; }
  .preview-line { grid-template-columns: 1.2fr .6fr 1fr .8fr .9fr; gap: 8px; padding-inline: 10px; }
  .theme-dialog[data-view="customize"] .theme-gallery-layout { display: block; }
  .theme-dialog[data-view="customize"] .theme-stage { height: 480px; --slide-width: 86%; }
  #themeCustomization { border-left: 0; border-top: 1px solid var(--picker-line); padding-inline: 24px; }
  .theme-dialog[data-view="customize"] .theme-gallery-caption { padding-bottom: 24px; }
  .theme-mode label > span { padding-inline: 12px; }
  .theme-dialog select { width: 160px; }
}
@media (max-width: 600px) {
  .theme-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .theme-heading { padding: 16px 16px 8px; gap: 12px; }
  :root .theme-dialog h2 { font-size: 18px; }
  .theme-heading-title { gap: 8px; }
  .theme-stage { --slide-width: calc(100% - 56px); height: 440px; }
  .theme-slide-previous { transform: translate(calc(-150% - 12px + var(--drag, 0px)), -50%) scale(.86); }
  .theme-slide-next { transform: translate(calc(50% + 12px + var(--drag, 0px)), -50%) scale(.86); }
  .theme-preview { padding: 12px; font-size: 11px; }
  .preview-top b { font-size: 15px; }
  .preview-top > span { font-size: 10px; }
  .preview-toolbar { gap: 10px; margin-block: 16px 12px; font-size: 10px; }
  .preview-period, .preview-active { padding: 3px 5px; }
  .preview-trader, .preview-market { display: none; }
  .preview-line, .theme-dialog[data-view="customize"] .preview-line { grid-template-columns: 1.15fr .6fr 1fr; gap: 6px; padding-inline: 8px; }
  .preview-columns { font-size: 9px; }
  .preview-token small { font-size: 9px; }
  .theme-gallery-caption { padding: 0 20px 20px; }
  .theme-navigation { margin-bottom: 8px; }
  :root .theme-dialog #themeName { font-size: 22px; }
  #themeDescription { font-size: 12px; }
  #themeHint { font-size: 11px; }
  .theme-bottom { padding: 16px; gap: 12px; flex-wrap: wrap; }
  .theme-actions { gap: 8px; }
  .theme-dialog #themeCustomize, .theme-dialog #themeApply { padding-inline: 14px; font-size: 13px; }
  #themeStatus { order: 3; width: 100%; }
  #themeCustomization { padding: 0 20px 16px; }
  .theme-dialog[data-view="customize"] .theme-stage { --slide-width: calc(100% - 40px); height: 440px; }
  .theme-dialog select { width: 132px; }
  .theme-mode svg { display: none; }
  .theme-row { min-height: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-slide { transition: none; }
}
@media (forced-colors: active) {
  .theme-mode input:checked + span, .theme-color-choice[aria-pressed="true"] { outline: 1px solid Highlight; }
}

@media (max-width: 900px) {
  body { font-size: var(--font-small); padding-inline: min(var(--page-pad), 10px); }
  :root { --cell-gap: 8px; }
  header .l1 .theme-trigger { margin-left: auto; }
}

@media (prefers-reduced-motion: reduce) {
  tr.new, .ai.pending { animation: none; }
  .mutew, .hidetok, header .stats .chev { transition: none; }
}
@media (prefers-reduced-transparency: reduce) {
  [data-theme="glass"] { --table-bg: #d4e2e6; --canvas: none; --glass-face: none; --control-bg: #e2edf0; --control-active: #b7ced6; }
  :root[data-theme="glass"] :is(input:not([type="checkbox"]), textarea):not(.theme-dialog *) { background: #e2edf0; }
  :root[data-theme="glass"] :is(.modal .box, .dd-menu) { background: #d4e2e6; backdrop-filter: none; }
  [data-theme="glass"][data-glass-mode="dark"] { --table-bg: #223641; --canvas: none; --glass-face: none; --control-bg: #2a424e; --control-active: #152a35; }
  :root[data-theme="glass"][data-glass-mode="dark"] :is(input:not([type="checkbox"]), textarea):not(.theme-dialog *) { background: #152a35; }
  :root[data-theme="glass"][data-glass-mode="dark"] :is(.modal .box, .dd-menu) { background: #223641; }
}
