/* Loaded last. Values are populated from CONTRACT.theme by theme.mjs; fallbacks
   keep the early-bootstrap frame coherent before the module mounts. */
:root {
  --baton-canvas:#a8efc8; --baton-panel:#e6faed; --baton-border:#72c69a;
  --baton-text:#142b21; --baton-muted:#365f4a; --baton-action:#096438; --baton-danger:#a72847;
  --baton-mode:pump; --baton-radius:7px; --baton-shadow:0 12px 30px rgb(23 37 30 / .10);
  --bg:var(--baton-canvas)!important; --paper:var(--baton-panel)!important; --ink:var(--baton-text)!important;
  --muted:var(--baton-muted)!important; --line:var(--baton-border)!important; --lime:var(--baton-action)!important;
  --green:var(--baton-action)!important; --red:var(--baton-danger)!important;
  --surface-bg:var(--baton-canvas)!important; --surface-panel:var(--baton-panel)!important;
  --surface-border:var(--baton-border)!important; --surface-text:var(--baton-text)!important;
  --surface-muted:var(--baton-muted)!important; --surface-accent:var(--baton-action)!important;
  --surface-danger:var(--baton-danger)!important;
}
:root[data-theme="dark"] {
  --baton-canvas:#15191b; --baton-panel:#1f2624; --baton-border:#3a4941;
  --baton-text:#f2f8f4; --baton-muted:#a7b8ad; --baton-action:#86efac; --baton-danger:#fda4af;
  --bg:var(--baton-canvas)!important; --paper:var(--baton-panel)!important; --ink:var(--baton-text)!important;
  --muted:var(--baton-muted)!important; --line:var(--baton-border)!important; --lime:var(--baton-action)!important;
  --green:var(--baton-action)!important; --red:var(--baton-danger)!important;
  --surface-bg:var(--baton-canvas)!important; --surface-panel:var(--baton-panel)!important;
  --surface-border:var(--baton-border)!important; --surface-text:var(--baton-text)!important;
  --surface-muted:var(--baton-muted)!important; --surface-accent:var(--baton-action)!important;
  --surface-danger:var(--baton-danger)!important;
}
html[data-theme] { background:var(--baton-canvas)!important; color-scheme:light; }
html[data-theme="dark"] { color-scheme:dark; }
html[data-theme] body,
html[data-theme] main,
html[data-theme] .app-shell { background:var(--baton-canvas)!important; color:var(--baton-text)!important; }
html[data-theme] body::before { background:none!important; }
html[data-theme] body, html[data-theme] button, html[data-theme] input, html[data-theme] select, html[data-theme] textarea { font-family:Arial,system-ui,sans-serif; }
html[data-theme] header,
html[data-theme] .nav-wrap,
html[data-theme] footer,
html[data-theme] .market-strip { color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; box-shadow:none!important; }
html[data-theme] .market-strip { color:var(--baton-muted)!important; }
html[data-theme] .brand,
html[data-theme] .nav-wrap .brand,
html[data-theme] .intro h1,
html[data-theme] .section-title h2,
html[data-theme] .section-title h2>span,
html[data-theme] .detail-hero h2,
html[data-theme] .community-intro strong { color:var(--baton-text)!important; }
html[data-theme] .brand-symbol { color:var(--baton-text)!important; background:var(--baton-action)!important; }
html[data-theme] nav button,
html[data-theme] .nav-wrap nav button,
html[data-theme] .section-kicker,
html[data-theme] .nft-market-kicker,
html[data-theme] .launch-kicker,
html[data-theme] .wallet-kicker,
html[data-theme] .community-hub-kicker,
html[data-theme] .community-spotlight-kicker { color:var(--baton-action)!important; }
html[data-theme] a,
html[data-theme] .outline-button,
html[data-theme] .token-panel-tabs button.active,
html[data-theme] .official-community-links a,
html[data-theme] .wallet-link,
html[data-theme] .token-chart-tape-row a { color:var(--baton-action)!important; }
html[data-theme] button,
html[data-theme] .button,
html[data-theme] .outline-button,
html[data-theme] input,
html[data-theme] select,
html[data-theme] textarea { color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; }
html[data-theme] button:hover:not(:disabled),
html[data-theme] button:focus-visible,
html[data-theme] .outline-button:hover,
html[data-theme] .wallet-primary-button:hover,
html[data-theme] .button:hover { color:var(--baton-action)!important; border-color:var(--baton-action)!important; }
html[data-theme] button:focus-visible,
html[data-theme] a:focus-visible,
html[data-theme] input:focus-visible,
html[data-theme] select:focus-visible,
html[data-theme] textarea:focus-visible { outline-color:var(--baton-action)!important; }
html[data-theme] .theme-toggle { min-height:32px; padding:7px 10px; color:var(--baton-text)!important; background:var(--baton-panel)!important; border:1px solid var(--baton-border)!important; border-radius:var(--baton-radius); font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; }
html[data-theme] .theme-toggle[aria-pressed="true"] { color:var(--baton-action)!important; border-color:var(--baton-action)!important; }
html[data-theme] .token-card,
html[data-theme] .community-room-tile,
html[data-theme] .community-spotlight-card,
html[data-theme] .nft-card,
html[data-theme] .launch-card,
html[data-theme] .wallet-asset,
html[data-theme] .wallet-balance-card,
html[data-theme] .wallet-option,
html[data-theme] .quick-trade,
html[data-theme] .stats,
html[data-theme] .card,
html[data-theme] .panel,
html[data-theme] .surface,
html[data-theme] [class*="-card"],
html[data-theme] [class*="-panel"] { color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; box-shadow:none!important; }
html[data-theme] .card-art,
html[data-theme] .community-room-art,
html[data-theme] .community-room-avatar,
html[data-theme] .community-spotlight-art,
html[data-theme] .wallet-asset-art,
html[data-theme] .wallet-asset-icon { background:var(--baton-canvas)!important; border-color:var(--baton-border)!important; color:var(--baton-action)!important; background-image:none!important; }
html[data-theme] .card-art img,
html[data-theme] .community-room-art img,
html[data-theme] .community-spotlight-art img { background:transparent!important; }
html[data-theme] .token-card:hover,
html[data-theme] .community-room-tile:hover,
html[data-theme] .community-spotlight-card:hover,
html[data-theme] .nft-card:hover,
html[data-theme] .launch-card:hover { border-color:var(--baton-action)!important; box-shadow:var(--baton-shadow)!important; }
html[data-theme] .card-price strong,
html[data-theme] .stats strong,
html[data-theme] .wallet-asset-value,
html[data-theme] .nft-price,
html[data-theme] .launch-status,
html[data-theme] .wallet-status { color:var(--baton-text)!important; }
html[data-theme] .card-social,
html[data-theme] .community-tabs,
html[data-theme] .community-room-nav button.active,
html[data-theme] .signin-community,
html[data-theme] .wallet-tabs,
html[data-theme] .wallet-panel-top,
html[data-theme] .wallet-foot,
html[data-theme] .wallet-receive,
html[data-theme] .wallet-form,
html[data-theme] .nft-market-tabs,
html[data-theme] .launch-empty,
html[data-theme] .nft-market-empty,
html[data-theme] .community-empty { background:var(--baton-canvas)!important; border-color:var(--baton-border)!important; color:var(--baton-muted)!important; }
html[data-theme] .community-tabs button.active,
html[data-theme] .wallet-tabs button.active,
html[data-theme] .token-panel-tabs button.active { color:var(--baton-action)!important; background:var(--baton-panel)!important; }
html[data-theme] .community-entry,
html[data-theme] .community-market-row,
html[data-theme] .community-room-entry,
html[data-theme] .community-thread-entry,
html[data-theme] .wallet-activity-row,
html[data-theme] .token-chart-tape-row { border-color:var(--baton-border)!important; }
html[data-theme] .community-entry p,
html[data-theme] .community-room-entry p,
html[data-theme] .community-empty p,
html[data-theme] .community-intro small,
html[data-theme] .community-room-copy small,
html[data-theme] .community-room-meta,
html[data-theme] .wallet-muted,
html[data-theme] .wallet-label,
html[data-theme] .wallet-refresh,
html[data-theme] .nft-market-status,
html[data-theme] .launch-form-error,
html[data-theme] .token-chart-status,
html[data-theme] .token-chart-refresh { color:var(--baton-muted)!important; }
html[data-theme] .up,
html[data-theme] .change-pill.up,
html[data-theme] .trade-label-buy,
html[data-theme] .token-chart-plot .candle-up,
html[data-theme] .token-chart-plot .trade-buy { color:var(--baton-action)!important; fill:var(--baton-action)!important; border-color:var(--baton-action)!important; }
html[data-theme] .down,
html[data-theme] .change-pill.down,
html[data-theme] .trade-label-sell,
html[data-theme] .token-chart-plot .candle-down,
html[data-theme] .token-chart-plot .trade-sell,
html[data-theme] [data-kind="error"],
html[data-theme] .wallet-status[data-kind="error"] { color:var(--baton-danger)!important; fill:var(--baton-danger)!important; border-color:var(--baton-danger)!important; }
html[data-theme] .change-pill.up,
html[data-theme] .change-pill.down { background:color-mix(in srgb,var(--baton-action) 12%,transparent)!important; }
html[data-theme] .change-pill.down { background:color-mix(in srgb,var(--baton-danger) 12%,transparent)!important; }
html[data-theme] dialog,
html[data-theme] [role="dialog"],
html[data-theme] .wallet-drawer,
html[data-theme] .wallet-dialog,
html[data-theme] .nft-dialog,
html[data-theme] .launch-dialog,
html[data-theme] .community-room-dialog { color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; box-shadow:var(--baton-shadow)!important; }
html[data-theme] dialog::backdrop { background:rgb(23 37 30 / .32)!important; backdrop-filter:none!important; }
html[data-theme] .dialog-top,
html[data-theme] .wallet-head,
html[data-theme] .nft-market-head,
html[data-theme] .launch-head,
html[data-theme] .community-room-main-head,
html[data-theme] .wallet-panel-top { border-color:var(--baton-border)!important; }
html[data-theme] .token-chart { --chart-bg:var(--baton-panel); --chart-line:var(--baton-border); --chart-text:var(--baton-text); --chart-muted:var(--baton-muted); --chart-up:var(--baton-action); --chart-down:var(--baton-danger); color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; }
html[data-theme] .token-chart-gridline,
html[data-theme] .token-chart-axis { stroke:var(--baton-border)!important; }
html[data-theme] .wallet-trigger,
html[data-theme] .wallet-primary-button,
html[data-theme] .quick-trade-mode.active,
html[data-theme] .nft-market-tabs button.active,
html[data-theme] .launch-card button.primary { color:var(--baton-action)!important; border-color:var(--baton-action)!important; background:color-mix(in srgb,var(--baton-action) 12%,var(--baton-panel))!important; }
html[data-theme] .wallet-activity-dot,
html[data-theme] .live-dot,
html[data-theme] [data-feed-state="live"] .live-dot { background:var(--baton-action)!important; box-shadow:0 0 0 3px color-mix(in srgb,var(--baton-action) 16%,transparent)!important; }
html[data-theme] .sound-panel,
html[data-theme] .sound-toggle,
html[data-theme] .sound-settings-button,
html[data-theme] .sound-equalizer { color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; }
html[data-theme] .sound-equalizer i,
html[data-theme] .sound-controls[data-active="true"] .sound-equalizer i { background:var(--baton-action)!important; }
html[data-theme] .nft-capability-note,
html[data-theme] .wallet-connect-view,
html[data-theme] .wallet-jupiter,
html[data-theme] .launch-form-error { color:var(--baton-muted)!important; background:var(--baton-canvas)!important; border-color:var(--baton-border)!important; }
html[data-theme] .community-spotlight-status,
html[data-theme] .community-hub-status,
html[data-theme] .nft-market-status,
html[data-theme] .launch-status,
html[data-theme] .wallet-status { color:var(--baton-muted)!important; }

/* Legacy surfaces are still mounted by the app before the shared component
   adapters run. Keep their geometry and semantic states on the same palette. */
html[data-theme] .anchor-rail,
html[data-theme] .anchor-rail-inner,
html[data-theme] .community-hub,
html[data-theme] .community-hub-grid,
html[data-theme] .community-shell,
html[data-theme] .community-panel,
html[data-theme] .community-room-layout,
html[data-theme] .community-room-feed,
html[data-theme] .community-room-sidebar,
html[data-theme] .community-room-info,
html[data-theme] .community-room-main,
html[data-theme] .community-thread,
html[data-theme] .mover-board,
html[data-theme] .mover-row,
html[data-theme] .mover-item,
html[data-theme] .detail-stats,
html[data-theme] .detail-grid > div,
html[data-theme] .token-panel,
html[data-theme] .token-table,
html[data-theme] .table-wrap { color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; }
html[data-theme] .anchor-status,
html[data-theme] .anchor-unit,
html[data-theme] .anchor-symbol,
html[data-theme] .community-author,
html[data-theme] .community-room-meta,
html[data-theme] .community-room-copy small,
html[data-theme] .community-room-pulse,
html[data-theme] .community-hub-empty,
html[data-theme] .community-room-empty,
html[data-theme] .community-compose-actions,
html[data-theme] .community-mobile-trade,
html[data-theme] .detail-stats small,
html[data-theme] .detail-stats span,
html[data-theme] .mover-name small,
html[data-theme] .mover-price small,
html[data-theme] .board-foot,
html[data-theme] .token-table small { color:var(--baton-muted)!important; }
html[data-theme] .anchor-price strong,
html[data-theme] .anchor-symbol,
html[data-theme] .mover-name strong,
html[data-theme] .mover-price,
html[data-theme] .detail-stats strong,
html[data-theme] .community-author strong { color:var(--baton-text)!important; }
html[data-theme] .anchor-price[data-anchor="BATON"] .anchor-symbol,
html[data-theme] .anchor-change[data-direction="up"],
html[data-theme] .positive,
html[data-theme] .change-pill.positive,
html[data-theme] .mover-change.positive { color:var(--baton-action)!important; }
html[data-theme] .anchor-change[data-direction="down"],
html[data-theme] .negative,
html[data-theme] .change-pill.negative,
html[data-theme] .mover-change.negative { color:var(--baton-danger)!important; }
html[data-theme] .anchor-price[data-tick="up"],
html[data-theme] .anchor-price[data-tick="down"],
html[data-theme] .mover-row:hover,
html[data-theme] .community-compose-actions,
html[data-theme] .community-mobile-trade { background:color-mix(in srgb,var(--baton-action) 8%,var(--baton-panel))!important; }
html[data-theme] .anchor-price[data-tick="down"],
html[data-theme] .change-pill.negative { background:color-mix(in srgb,var(--baton-danger) 10%,var(--baton-panel))!important; }
html[data-theme] .positive,
html[data-theme] .negative,
html[data-theme] .mover-change { border-color:var(--baton-border)!important; }
html[data-theme] .token-art,
html[data-theme] .card-art,
html[data-theme] .gallery-empty,
html[data-theme] .mover-empty,
html[data-theme] .empty-state,
html[data-theme] .community-empty,
html[data-theme] .launch-empty,
html[data-theme] .nft-market-empty { color:var(--baton-muted)!important; background:var(--baton-canvas)!important; border-color:var(--baton-border)!important; min-height:0!important; max-width:100%!important; }
html[data-theme] .community-author a,
html[data-theme] .community-compose-actions button,
html[data-theme] .community-mobile-trade button,
html[data-theme] .detail-links a,
html[data-theme] .detail-room-button,
html[data-theme] [data-nav="watchlist"] { color:var(--baton-action)!important; border-color:var(--baton-border)!important; }
html[data-theme] .community-room-signin,
html[data-theme] .community-compose,
html[data-theme] .community-form,
html[data-theme] .community-room-form,
html[data-theme] .community-author { color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; }
html[data-theme] .community-compose-actions button:hover,
html[data-theme] .community-mobile-trade button:hover,
html[data-theme] [data-nav="watchlist"].nav-active { border-color:var(--baton-action)!important; color:var(--baton-action)!important; }
html[data-theme] .card-export-button {
  min-width:44px!important; min-height:44px!important; color:var(--baton-action)!important;
  background:var(--baton-panel)!important; border:1px solid var(--baton-border)!important;
}
html[data-theme] .card-export-button:hover,
html[data-theme] .card-export-button:focus-visible { background:color-mix(in srgb,var(--baton-action) 10%,var(--baton-panel))!important; border-color:var(--baton-action)!important; }
html[data-theme] #card-report-dialog,
html[data-theme] #card-report-dialog .report-actions,
html[data-theme] #card-report-dialog .report-preview,
html[data-theme] #card-report-dialog .report-description { color:var(--baton-text)!important; background:var(--baton-panel)!important; border-color:var(--baton-border)!important; }
html[data-theme] #card-report-dialog .report-description,
html[data-theme] #card-report-dialog .report-status,
html[data-theme] #card-report-dialog .report-meta { color:var(--baton-muted)!important; }
html[data-theme] #card-report-dialog .report-actions button { color:var(--baton-action)!important; border-color:var(--baton-border)!important; }

@media (max-width:650px) {
  html[data-theme] .nav-wrap { background:var(--baton-panel)!important; border-color:var(--baton-border)!important; }
  html[data-theme] .nav-wrap nav { width:100%; min-width:0; gap:0; justify-content:space-between; }
  html[data-theme] .nav-wrap nav button { min-height:44px; min-width:0; padding-inline:8px; color:var(--baton-muted)!important; }
  html[data-theme] .nav-wrap nav button.nav-active,
  html[data-theme] .nav-wrap nav button[aria-current="page"] { color:var(--baton-action)!important; }
  html[data-theme] .anchor-rail-inner { padding-inline:16px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-theme] *, html[data-theme] *::before, html[data-theme] *::after { animation-duration:0.001ms!important; animation-iteration-count:1!important; transition-duration:0.001ms!important; scroll-behavior:auto!important; }
}

/* The base skin styles a number of children with literal RANGE colors. This
   final semantic layer keeps those children legible in Pump light mode while
   preserving image pixels and the transparent card hit target. */
html[data-theme] {
  --range-cyan:var(--baton-action)!important;
  --range-lavender:var(--baton-action)!important;
  --range-panel:var(--baton-panel)!important;
  --surface-action:var(--baton-action)!important;
  --surface-focus:var(--baton-action)!important;
  --surface-panel-soft:color-mix(in srgb,var(--baton-action) 5%,var(--baton-canvas))!important;
}
html[data-theme] .card-open,
html[data-theme] .card-open:hover,
html[data-theme] .card-open:focus,
html[data-theme] .card-open:active {
  appearance:none!important; background:transparent!important; border:0!important;
  box-shadow:none!important; color:transparent!important; opacity:1!important;
}
html[data-theme] .card-info,
html[data-theme] .card-title,
html[data-theme] .card-price,
html[data-theme] .card-stats,
html[data-theme] .card-bottom { color:var(--baton-text)!important; }
html[data-theme] .card-title h3,
html[data-theme] .card-price strong,
html[data-theme] .card-stats strong,
html[data-theme] .card-symbol { color:var(--baton-text)!important; }
html[data-theme] .card-stats,
html[data-theme] .card-bottom,
html[data-theme] .card-info small,
html[data-theme] .card-meta { color:var(--baton-muted)!important; border-color:var(--baton-border)!important; }
html[data-theme] .card-social button,
html[data-theme] .pump-callout-link,
html[data-theme] .detail-room-button,
html[data-theme] .stage-tag,
html[data-theme] .stage-tag.graduated,
html[data-theme] .stage-tag.bonding { color:var(--baton-action)!important; border-color:var(--baton-border)!important; background:transparent!important; }
html[data-theme] .art-word,
html[data-theme] .art-letter,
html[data-theme] .card-art .rank-label,
html[data-theme] .card-art .card-star,
html[data-theme] .card-star.saved { color:var(--baton-action)!important; }
html[data-theme] .card-art .rank-label,
html[data-theme] .card-art .card-star { background:color-mix(in srgb,var(--baton-panel) 88%,transparent)!important; }
html[data-theme] .intro h1 em,
html[data-theme] .section-title h2 .section-icon,
html[data-theme] .hero h2 > span,
html[data-theme] .brand > span:last-of-type,
html[data-theme] .brand-separator,
html[data-theme] .title-dot,
html[data-theme] .eyebrow,
html[data-theme] .hero-label,
html[data-theme] .breadth-bar i,
html[data-theme] nav button.nav-active:after { color:var(--baton-action)!important; background-color:var(--baton-action)!important; }
html[data-theme] .mint-field > span,
html[data-theme] .mint-field button,
html[data-theme] .mint-field input,
html[data-theme] .source-button,
html[data-theme] .more-button,
html[data-theme] .view-toggle button { color:var(--baton-action)!important; }
html[data-theme] .sound-toggle::before,
html[data-theme] .sound-equalizer i,
html[data-theme] .sound-controls[data-active="true"] .sound-equalizer i { color:var(--baton-action)!important; background:var(--baton-action)!important; }
html[data-theme] .sound-panel input[type="range"],
html[data-theme] .sound-panel .sound-ambience input { accent-color:var(--baton-action)!important; }
html[data-theme] .community-hub p,
html[data-theme] .community-spotlight-status,
html[data-theme] .community-spotlight-volume,
html[data-theme] .community-spotlight-copy small,
html[data-theme] .community-room-copy small { color:var(--baton-muted)!important; }
html[data-theme] .community-hub h2,
html[data-theme] .community-spotlight h2,
html[data-theme] .community-spotlight-copy strong,
html[data-theme] .community-room-copy strong,
html[data-theme] .community-room-market-row strong,
html[data-theme] .community-market-row strong,
html[data-theme] .community-room-welcome h3 { color:var(--baton-text)!important; }
html[data-theme] .community-spotlight-counts,
html[data-theme] .community-spotlight-open,
html[data-theme] .community-spotlight-controls button,
html[data-theme] .community-room-link,
html[data-theme] .community-room-form button { color:var(--baton-action)!important; border-color:var(--baton-border)!important; }
html[data-theme] .community-spotlight-card-violet .community-spotlight-art { color:var(--baton-action)!important; background:var(--baton-canvas)!important; border-color:var(--baton-border)!important; }
html[data-theme] .nft-market-head h2,
html[data-theme] .nft-market-head p,
html[data-theme] .nft-card h3,
html[data-theme] .nft-card p,
html[data-theme] .nft-card code,
html[data-theme] .nft-collection,
html[data-theme] .nft-collection small,
html[data-theme] .launch-head h2,
html[data-theme] .launch-head p,
html[data-theme] .launch-card h3,
html[data-theme] .launch-card small,
html[data-theme] .launch-card code { color:var(--baton-text)!important; }
html[data-theme] .nft-card p,
html[data-theme] .nft-card code,
html[data-theme] .nft-collection small,
html[data-theme] .launch-head p,
html[data-theme] .launch-card small { color:var(--baton-muted)!important; }
html[data-theme] .nft-card > button,
html[data-theme] .launch-head button,
html[data-theme] .launch-dialog form > button { color:var(--baton-action)!important; background:var(--baton-panel)!important; border-color:var(--baton-action)!important; }
html[data-theme] .detail-grid strong,
html[data-theme] .method-card h3,
html[data-theme] .community-entry strong,
html[data-theme] .entry-byline strong,
html[data-theme] .report-actions,
html[data-theme] .report-actions h3,
html[data-theme] .wallet-asset-name,
html[data-theme] .wallet-asset-value { color:var(--baton-text)!important; }
html[data-theme] .detail-grid small,
html[data-theme] .method-card p,
html[data-theme] .report-description,
html[data-theme] .report-status,
html[data-theme] .wallet-asset-symbol,
html[data-theme] .wallet-label,
html[data-theme] .wallet-muted { color:var(--baton-muted)!important; }
html[data-theme] .nft-card-media,
html[data-theme] .nft-market-status,
html[data-theme] .launch-status { color:var(--baton-muted)!important; background:var(--baton-canvas)!important; }
html[data-theme] #learn-surface h2,
html[data-theme] #learn-surface h3,
html[data-theme] #learn-surface .learn-body,
html[data-theme] #learn-surface .learn-card { color:var(--baton-text)!important; }
html[data-theme] #learn-surface .learn-summary,
html[data-theme] #learn-surface .learn-source-note,
html[data-theme] #learn-surface .learn-source-topics,
html[data-theme] #learn-surface .learn-kicker,
html[data-theme] #learn-surface .learn-version { color:var(--baton-muted)!important; }

:root{--surface-action:var(--baton-action);--surface-focus:var(--baton-action);--surface-panel-soft:var(--baton-canvas)}
html[data-theme] .community-room-layout{min-height:min(560px,calc(100svh - 80px))}html[data-theme] .community-room-feed{min-height:160px}html[data-theme] button:focus-visible,html[data-theme] a:focus-visible{outline:2px solid var(--baton-action)!important;outline-offset:3px}html[data-theme] .theme-toggle{min-height:44px!important;min-width:44px!important}html[data-theme] .ticker-duplicate,html[data-theme] .pump-callout-card{background:var(--baton-panel)!important;color:var(--baton-text)!important;border-color:var(--baton-border)!important}

:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px}
html[data-theme] #communities,html[data-theme] #nft-market,html[data-theme] #launch-surface,html[data-theme] #learn-surface{margin:32px 0 24px!important;padding:24px 0 0!important;border-top:1px solid var(--baton-border)}
html[data-theme] .gallery-empty,html[data-theme] .mover-empty,html[data-theme] .empty-state,html[data-theme] .nft-market-empty,html[data-theme] .launch-empty,html[data-theme] .community-hub-empty{padding:24px!important;min-height:0!important;border-radius:7px!important;line-height:1.5}
html[data-theme] .learn-card,html[data-theme] .nft-card,html[data-theme] .launch-card,html[data-theme] .token-card,html[data-theme] .mover-board,html[data-theme] .community-room-card{border-radius:7px!important}

html[data-theme] .intro h1 em,html[data-theme] .brand>span:last-of-type,html[data-theme] .brand-separator,html[data-theme] .title-dot,html[data-theme] .eyebrow,html[data-theme] .hero-label{background:transparent!important;color:var(--baton-action)!important}html[data-theme] .mint-field{background:var(--baton-panel)!important;border-color:var(--baton-border)!important}html[data-theme] .mint-field input{background:transparent!important;color:var(--baton-text)!important}html[data-theme] .stats article>span,html[data-theme] .stats small{color:var(--baton-muted)!important}

html[data-theme] #lore-surface{margin:32px 0 24px!important;padding:24px 0 0!important;border-top:1px solid var(--baton-border)}html[data-theme] .lore-card{background:var(--baton-panel)!important;color:var(--baton-text)!important;border-color:var(--baton-border)!important;border-radius:7px!important}html[data-theme] .lore-empty{padding:24px!important;min-height:0!important;color:var(--baton-muted)!important;background:var(--baton-canvas)!important;border-color:var(--baton-border)!important}

html[data-theme] .sound-toggle::before{background:transparent!important}html[data-theme] .section-title h2>span{color:var(--baton-action)!important;background:color-mix(in srgb,var(--baton-action) 10%,var(--baton-panel))!important}html[data-theme] .stats::before{background:var(--baton-action)!important}

@media(max-width:650px){html[data-theme] button:not(.card-open){min-height:44px!important}html[data-theme] .card-star{min-width:44px!important}html[data-theme] .learn-check,html[data-theme] .learn-complete{min-height:44px;align-items:center}}

html[data-theme] .wallet-trigger-mark{color:var(--baton-action)!important}

html[data-theme] .section-title h2 .section-icon{color:var(--baton-action)!important;background:color-mix(in srgb,var(--baton-action) 10%,var(--baton-panel))!important}
/* BATON Markets identity: artwork stays unchanged in either theme. */
html[data-theme] .nav-wrap .brand{gap:10px;letter-spacing:0;flex-shrink:0;min-width:150px}
html[data-theme] .brand .brand-icon{width:36px;height:36px;object-fit:contain;flex:none;border-radius:7px;background:#f4f8f5;padding:2px}
html[data-theme] .nav-wrap .brand .brand-wordmark{display:flex;flex-direction:column;gap:3px;font:800 18px/1 Arial,sans-serif;letter-spacing:.07em;color:var(--baton-text)!important}
html[data-theme] .brand-wordmark>span{font:600 9px/1 Arial,sans-serif;letter-spacing:.31em;color:var(--baton-action)}
html[data-theme] .footer-brand{display:flex;align-items:center;gap:8px}
html[data-theme] .footer-brand img{object-fit:contain;background:#f4f8f5;border-radius:4px;padding:1px}
@media(max-width:650px){html[data-theme] .nav-wrap .brand{min-width:124px;gap:7px}html[data-theme] .nav-wrap .brand .brand-wordmark{font-size:16px}html[data-theme] .brand-wordmark>span{font-size:8px}html[data-theme] .brand .brand-icon{width:32px;height:32px}}
/* Mint playground: quiet motion and mascot details live around the data. */
body{-webkit-user-select:none;user-select:none}
input,textarea,[contenteditable],pre,code,.detail-address,.detail-description,.community-entry,.community-room-feed,.learn-card,.learn-source-card,.lore-card,#ticker-matches,.card-name{ -webkit-user-select:text;user-select:text }
html[data-theme="pump"] body{background:radial-gradient(ellipse at 8% 0%,#65e7a2 0%,transparent 46%),linear-gradient(150deg,#a8efc8,#bcf5da 65%,#8ee9be)!important}
html[data-theme="pump"] header{background:linear-gradient(110deg,#81e8ae,#b9f5d3)!important}
html[data-theme="pump"] .market-strip,html[data-theme="pump"] .anchor-price-rail{background:#8be8b2!important}
html[data-theme] .market-strip strong{color:var(--baton-text)!important}
html[data-theme="pump"] .community-spotlight{padding:20px;border:1px solid #69bd90;border-radius:16px;background:linear-gradient(115deg,#79e7a9,#c2f8dc)!important;box-shadow:0 6px 0 #23965d12}
html[data-theme="dark"] .community-spotlight{padding:20px;border:1px solid var(--baton-border);border-radius:16px;background:linear-gradient(120deg,#163b2a,#1f2624)!important}
html[data-theme] #community-spotlight-title{display:flex;align-items:center;gap:8px}
html[data-theme] .baton-sticker{width:32px;height:32px;object-fit:contain;transform:rotate(-18deg);filter:drop-shadow(2px 3px 0 #147d4822)}
html[data-theme] .brand-icon{transition:transform 180ms cubic-bezier(.2,.8,.2,1)}
html[data-theme] body,html[data-theme] header,html[data-theme] .token-card,html[data-theme] .learn-card,html[data-theme] .lore-card{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
html[data-theme="pump"] .card-art{background:linear-gradient(145deg,#d6f8e4,#9be9bd)!important}
html[data-theme] nav button.nav-active:after{border-radius:4px;background:linear-gradient(90deg,var(--baton-action),#27e9a0)!important}
@media(hover:hover) and (pointer:fine){html[data-theme] .brand:hover .brand-icon{transform:rotate(-7deg) scale(1.08)}html[data-theme] .community-spotlight:hover .baton-sticker{transform:rotate(8deg)}html[data-theme] .baton-sticker{transition:transform 220ms cubic-bezier(.2,.8,.2,1)}}
@media(max-width:650px){html[data-theme] .community-spotlight{padding:14px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){html[data-theme] .brand:hover .brand-icon,html[data-theme] .community-spotlight:hover .baton-sticker{transform:none!important}}
/* Designed brand plates: exact baton geometry, static and behind content. */
body{--brand-art:url('/art/market-mint-v1.svg?v=b03c8970286d')}
body:is([data-primary-view="rooms"],[data-primary-view="learn"],[data-primary-view="lore"]){--brand-art:url('/art/community-mint-v1.svg?v=b03c8970286d')}
html[data-theme="dark"] body{--brand-art:url('/art/market-dark-v1.svg?v=b03c8970286d')}
html[data-theme="dark"] body:is([data-primary-view="rooms"],[data-primary-view="learn"],[data-primary-view="lore"]){--brand-art:url('/art/community-dark-v1.svg?v=b03c8970286d')}
html[data-theme] body::before{background-image:var(--brand-art)!important;background-size:1600px 600px!important;background-position:right bottom!important;background-repeat:no-repeat!important;opacity:.09;pointer-events:none}
html[data-theme] .community-spotlight-head{min-height:132px;padding:18px 16px;margin:-4px -4px 16px;border-radius:10px;background-color:var(--baton-canvas)!important;background-image:var(--brand-art)!important;background-size:auto 100%!important;background-position:right center!important;background-repeat:no-repeat!important;align-items:flex-start}
html[data-theme] :is(.community-hub-head,.nft-market-head,.launch-head,.learn-head,.lore-head){padding:20px;border:1px solid var(--baton-border);border-radius:10px;min-height:110px;background-color:var(--baton-panel)!important;background-image:linear-gradient(90deg,var(--baton-panel) 38%,transparent),var(--brand-art)!important;background-size:100% 100%,auto 100%!important;background-position:right center!important;background-repeat:no-repeat!important}
html[data-theme] :is(.learn-progress,.lore-version,.nft-market-actions,.community-hub-tools){position:relative;background:var(--baton-panel);border-radius:6px}
@media(max-width:650px){html[data-theme] .community-spotlight-head{min-height:112px;padding:14px 12px;background-size:auto 112px!important}html[data-theme] :is(.community-hub-head,.nft-market-head,.launch-head,.learn-head,.lore-head){padding:16px;min-height:110px;background-size:100% 100%,auto 110px!important}html[data-theme] body::before{background-size:800px 300px!important;opacity:.055}}
/* Shared presentation chassis: cards own their actions, toolbar owns its layer. */
html[data-theme] body>header{z-index:var(--surface-header-layer,20)!important}
html[data-theme] [data-surface-card="true"]{position:relative;isolation:isolate;z-index:0;min-width:0}
html[data-theme] [data-surface-card="true"] .card-export-button{z-index:3!important}
html[data-theme] #theme-control{display:flex;align-items:center}
html[data-theme] .nav-wrap :is(.theme-toggle,.report-open,.sound-toggle,.sound-settings-button,.wallet-trigger){height:var(--surface-control-height,36px)!important;min-height:var(--surface-control-height,36px)!important;border-radius:7px!important;border:1px solid var(--baton-border)!important;padding:0 12px!important;font:500 11px/1 Arial,system-ui,sans-serif!important;letter-spacing:0!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
html[data-theme] .nav-wrap .sound-settings-button{width:36px;padding:0!important}
html[data-theme] :is(.momentum-strip,.detail-address,.quick-trade,.quick-trade-modes,.detail-coverage,.token-panel-tabs,.token-chart-tape){background:var(--baton-canvas)!important;color:var(--baton-text)!important;border-color:var(--baton-border)!important}
html[data-theme] :is(.quick-trade-segment,.time-toggle,.board-foot,.view-toggle,.category-tabs,.search-field){background:var(--baton-canvas)!important;color:var(--baton-text)!important;border-color:var(--baton-border)!important}
html[data-theme] .report-actions{background:var(--baton-canvas)!important;border-color:var(--baton-border)!important}
html[data-theme] :is(.community-room-welcome,[data-room-compose]){background:var(--baton-canvas)!important;color:var(--baton-text)!important;border-color:var(--baton-border)!important}
html[data-theme] .community-room-welcome h3{color:var(--baton-text)!important}
html[data-theme] :is(.community-room-empty,.community-room-signin){color:var(--baton-muted)!important}
html[data-theme] .pump-callout-card h3{color:var(--baton-text)!important}
html[data-theme] .mover-item .quick-trade>.card-export-button{margin:0 0 0 auto!important;min-height:28px!important;font-size:9px;padding:4px 6px;border:0!important;max-width:none}
html[data-theme] .mover-item>.ticker-duplicate{min-height:24px;font-size:9px;margin-block:2px}
html[data-theme] .mover-item>.quick-trade{min-height:38px;padding:5px 10px!important}
html[data-theme] :is(.card-price small,.card-change,.card-meta,.card-stats,.board-foot,.detail-description,.detail-coverage){color:var(--baton-muted)!important}
html[data-theme] :is(.momentum-strip,.detail-address,.detail-description,.detail-coverage) :is(small,span,code,p){color:var(--baton-muted)!important}
html[data-theme] .detail-address code{color:var(--baton-text)!important;font-size:11px!important}
html[data-theme] .momentum-strip{flex-wrap:wrap;gap:0;padding:12px!important;align-items:center}
html[data-theme] .momentum-strip>div{min-width:70px}
html[data-theme] .momentum-strip>.card-export-button{flex:0 0 auto;margin:8px 0 0 auto!important}
html[data-theme] .token-card .card-art{height:132px!important}
html[data-theme] .token-card .card-art>img{width:96px!important;height:96px!important;border-radius:12px!important}
html[data-theme] .token-card .card-info{padding:12px!important}
html[data-theme] .token-card .card-title{margin-bottom:6px!important}
html[data-theme] .token-card .card-price{margin:10px 0!important}
html[data-theme] .token-card .ticker-duplicate{min-height:24px;padding:4px 6px;margin:2px 0;font-size:9px}
html[data-theme] .token-card>.card-social{min-height:36px;padding:0 10px!important;gap:4px;flex-wrap:nowrap}
html[data-theme] .token-card>.card-social :is(button,a){min-height:32px!important;padding:4px 5px!important;font-size:9px!important;white-space:nowrap}
html[data-theme] .token-card>.card-social>.card-export-button{margin:0 0 0 auto!important;max-width:none;border:0!important;border-radius:4px!important}
html[data-theme] .token-card>.quick-trade{min-height:38px;padding:5px 10px!important;margin:0!important}
html[data-theme] .token-card>.quick-trade button{min-height:28px!important}
html[data-theme] .community-spotlight-card{padding-bottom:46px!important}
html[data-theme] .token-chart-tape{max-height:230px;overflow:auto;overscroll-behavior:contain}
html[data-theme] .dialog-top{position:sticky;top:-1px;background:var(--baton-panel)!important;z-index:10;padding-block:10px;min-height:44px}
@media(max-width:650px){html[data-theme] .nav-wrap :is(.theme-toggle,.report-open,.sound-toggle,.sound-settings-button,.wallet-trigger){min-height:44px!important;height:44px!important}html[data-theme] .token-card .card-art{height:116px!important}html[data-theme] .token-card .card-art>img{width:88px!important;height:88px!important}html[data-theme] .token-card :is(.ticker-duplicate,.card-social button,.card-social a,.quick-trade button){min-height:44px!important}html[data-theme] .token-card>.quick-trade{padding:4px 8px!important}}
html[data-theme] .learn-progress{padding:10px 12px;display:grid;gap:8px;min-width:160px;border:1px solid var(--baton-border)}
html[data-theme] .learn-progress progress{width:100%;height:6px;accent-color:var(--baton-action);border:0;border-radius:6px;overflow:hidden}
html[data-theme] .learn-progress progress::-webkit-progress-bar{background:var(--baton-border)}
html[data-theme] .learn-progress progress::-webkit-progress-value{background:var(--baton-action)}
html[data-theme] .learn-card[data-completed="true"]{border-color:var(--baton-action)!important}
html[data-theme] .learn-card[data-completed="true"] .learn-category::before{content:'✓ ';color:var(--baton-action)}

/* Information links remain compact in every primary view. */
footer .legal-links{display:flex;flex-wrap:wrap;gap:16px;margin:0;font-size:12px}footer .legal-links a{color:var(--baton-muted)!important;text-decoration:none}footer .legal-links a:hover{text-decoration:underline}@media(max-width:600px){footer .legal-links{gap:12px}}
/* World reference: quiet canvas, soft containment, content-led hierarchy.
   Original BATON palette and layouts; no copied artwork or target code. */
html[data-theme] body,html[data-theme] main,html[data-theme] .app-shell{background:var(--baton-canvas)!important}
html[data-theme] body::before{content:none!important;background:none!important}
html[data-theme] body>header{background:color-mix(in srgb,var(--baton-panel) 75%,var(--baton-canvas))!important;box-shadow:none!important}
html[data-theme] .community-spotlight{background:color-mix(in srgb,var(--baton-panel) 54%,var(--baton-canvas))!important;border:1px solid color-mix(in srgb,var(--baton-border) 38%,transparent)!important;border-radius:22px;box-shadow:none!important;padding:16px}
html[data-theme] .community-spotlight-head{background:none!important;border:0!important;min-height:0!important;padding:0!important;margin:0 0 12px!important;align-items:center}
html[data-theme] :is(.community-hub-head,.nft-market-head,.launch-head,.learn-head,.lore-head){background:none!important;border:0!important;border-radius:0!important;padding:0 0 16px!important;min-height:0!important;box-shadow:none!important}
html[data-theme] :is(.token-card,.nft-card,.community-room-card,.learn-card,.learn-source-card,.lore-card,.mover-board){border-color:color-mix(in srgb,var(--baton-border) 55%,transparent)!important;border-radius:16px!important;box-shadow:none!important}
html[data-theme] .card-art{background-image:none!important;background-color:color-mix(in srgb,var(--baton-panel) 65%,var(--baton-canvas))!important}
html[data-theme] .stats{border-color:color-mix(in srgb,var(--baton-border) 48%,transparent)!important;border-radius:16px!important;box-shadow:none!important}
html[data-theme] .stats::before{display:none}
html[data-theme] .community-spotlight-card{border-radius:14px!important;box-shadow:none!important}
html[data-theme] .community-spotlight-arrows button{border-radius:50%!important}
@media(hover:hover) and (pointer:fine){html[data-theme] :is(.token-card,.nft-card,.community-room-card):hover{box-shadow:none!important;border-color:color-mix(in srgb,var(--baton-action) 65%,transparent)!important}}
@media(max-width:700px){html[data-theme] body.mobile-app .community-spotlight{padding:12px!important}html[data-theme] body.mobile-app .community-spotlight-head{min-height:0!important;margin-bottom:8px!important}html[data-theme] body.mobile-app :is(.community-hub-head,.nft-market-head,.launch-head,.learn-head,.lore-head){padding:0 0 12px!important;min-height:0!important}}

/* One surface material across all apps: soft edge, same canvas family. */
html[data-theme] :is(.token-card,.mover-board,.community-spotlight-card,.community-room-card,.community-room-tile,.nft-card,.launch-card,.learn-card,.learn-source-card,.learn-educator,.lore-card,.game-card,.pet-card,.holder-card,.detail-grid>div){
 background:linear-gradient(145deg,color-mix(in srgb,var(--baton-panel) 68%,var(--baton-canvas)),color-mix(in srgb,var(--baton-panel) 30%,var(--baton-canvas)))!important;
 border-color:color-mix(in srgb,var(--baton-border) 48%,transparent)!important;
 box-shadow:inset 0 1px 0 color-mix(in srgb,var(--baton-panel) 50%,transparent)!important;
 transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease;
}
html[data-theme] :is(.mover-row,.mover-item,.card-social,.quick-trade,.community-hub,.community-room-layout,.community-room-feed,.community-room-sidebar,.community-room-main,.community-thread){background:transparent!important}
html[data-theme] :is(.token-card,.community-room-tile,.community-spotlight-card,.nft-card,.launch-card):hover{border-color:color-mix(in srgb,var(--baton-action) 50%,transparent)!important;box-shadow:0 6px 18px color-mix(in srgb,var(--baton-text) 6%,transparent)!important}
html[data-theme] .mover-row>.avatar{width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:grid;overflow:hidden}
html[data-theme] .mover-row>.avatar>img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){html[data-theme] .mover-row{gap:8px}.mover-row .mover-name{min-width:0;flex:1}.mover-row .mover-price{display:none!important}}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(.token-card,.mover-board,.community-spotlight-card,.community-room-card,.community-room-tile,.nft-card,.launch-card,.learn-card,.learn-source-card,.learn-educator,.lore-card,.game-card,.pet-card,.holder-card,.detail-grid>div){transition:none}}

/* Information density with comfort. Direct app routes, content first. */
html[data-theme] :is(.console-app,.community-hub,.nft-market,.launch-surface,.learn-surface,.lore-surface,.game-surface){gap:16px}
html[data-theme] :is(.board-heading,.card-info,.learn-card,.learn-source-card,.lore-card,.nft-card-body,.community-room-card){padding:12px!important}
html[data-theme] .movers-grid{gap:16px}
html[data-theme] .mover-item{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:start}
html[data-theme] .mover-row{min-height:56px;padding:8px 12px!important;min-width:0;gap:8px}
html[data-theme] .mover-name{min-width:0;flex:1}.mover-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mover-magnitude{display:block;width:100%;height:3px;border-radius:2px;background:color-mix(in srgb,currentColor 12%,transparent);margin-top:4px;overflow:hidden}
.mover-magnitude:after{content:"";display:block;width:var(--mover-fill);height:100%;background:currentColor;transition:width 240ms ease-out}
.mover-actions{min-width:0;padding-top:6px}.mover-actions>summary{display:grid;place-items:center;width:44px;min-height:44px;list-style:none;font-size:10px;cursor:pointer;border-radius:10px;color:var(--baton-action)}
.mover-actions>summary::-webkit-details-marker{display:none}.mover-actions>summary:focus-visible{outline:2px solid var(--baton-action);outline-offset:2px}
.mover-actions[open]{grid-column:1/-1;grid-row:2;padding:0 8px 8px}.mover-actions[open]>summary{margin-left:auto}.mover-actions .quick-trade{margin:0!important;padding:8px!important;flex-wrap:wrap}
.mover-item>.ticker-match-label,.mover-item>.ticker-duplicate-badge{grid-column:1/-1;margin:0 12px 4px}
html[data-theme] .stats{padding:8px 0!important}.stats article{padding:8px 12px!important}.stats strong{margin:4px 0!important}
html[data-theme] :is(.nft-market-empty,.launch-empty,.community-empty,.mover-empty,.learn-empty,.lore-empty){min-height:0!important;padding:12px!important;margin:8px 0!important}
html[data-theme] :is(.section-title,.community-hub-head,.nft-market-head,.launch-head,.learn-head,.lore-head,.game-head){margin-bottom:16px!important}
html[data-theme] .console-preview{min-height:180px;padding:12px;margin-bottom:16px;gap:16px}.console-preview-art{height:180px;min-height:0}.console-preview [data-console-preview-description]{margin-bottom:12px}
@media(max-width:700px){html[data-theme] body.mobile-app .stats{padding:0!important}.mover-row .mover-change{font-size:12px}.mover-row>.avatar{width:36px!important;height:36px!important;flex-basis:36px!important}}
@media(prefers-reduced-motion:reduce){.mover-magnitude:after{transition:none}}

/* Ranked panels size to their own contents, never their neighbor. */
html[data-theme] .movers-grid{align-items:start}
html[data-theme] .mover-item>.ticker-duplicate{grid-column:1/-1;justify-self:start;max-width:calc(100% - 24px);margin:0 12px 4px}
