/* Shared palette and typography. Fonts are served by Station, including Cyrillic. */
@font-face{font-family:Inter;src:url('/fonts/inter-variable.woff') format('woff');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-variable.woff') format('woff');font-style:normal;font-weight:200 800;font-display:swap}
:root{
  color-scheme:dark;
  --font-body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-heading:Manrope,Inter,sans-serif;
  --bg:#292329;--panel:#393237;--surface:#40383e;--field:#2b252c;
  --shell:linear-gradient(135deg,#393137f5,#29252bf5);--floating:#302a30;
  --line:#ffffff1c;--line-strong:#ffffff35;--hover:#ffffff0c;--subtle:#ffffff06;
  --text:#f7f1ed;--muted:#c4b8b3;--accent:#ff7f3b;--accent-light:#ffb58c;
  --accent-soft:#ff7f3b16;--accent-border:#ff9b625c;--on-accent:#301a0e;
  --green:#93dcb2;--red:#f29baa;--amber:#eccb92;--purple:#c6b3f5;
  --shadow:0 18px 60px #19101430;--grid:#ffffff18;
}
:root[data-theme=dark]{
  --bg:#111318;--panel:#1d2028;--surface:#252933;--field:#151820;
  --shell:linear-gradient(135deg,#1c1f26fa,#161920fa);--floating:#1d2028;
  --text:#f2f3f6;--muted:#b8becb;--line:#ffffff18;--line-strong:#ffffff30;
  --shadow:0 18px 60px #0005;
}
:root[data-theme=light]{
  color-scheme:light;
  --bg:#f6f5f3;--panel:#ffffff;--surface:#f5f3f0;--field:#ffffff;
  --shell:linear-gradient(135deg,#fffffff9,#faf9f7f9);--floating:#ffffff;
  --text:#28252b;--muted:#645e67;--line:#302a301c;--line-strong:#302a303d;
  --hover:#302a300a;--subtle:#302a3005;--accent-light:#a54815;
  --accent-soft:#ff7f3b12;--accent-border:#c65d2866;
  --green:#216e49;--red:#b1334d;--amber:#855700;--purple:#7450ae;
  --shadow:0 18px 55px #29202a19;--grid:#302a301c;
}
body{font-family:var(--font-body);font-size:15px;line-height:1.6;background:var(--bg);color:var(--text);font-optical-sizing:auto}
h1,h2,h3,h4,.coin-head b,.pump-signal-heading h3{font-family:var(--font-heading)}
button,input,select,textarea{font-family:var(--font-body)}
h1,.workspace-header h1{font-size:30px;line-height:1.3;letter-spacing:-.7px}
h2,.panel-head h2,.section-heading h2{font-size:17px}
h3{font-size:15px}
button{background:var(--subtle);border-color:var(--line);color:var(--text)}
button:hover{background:var(--hover);border-color:var(--line-strong)}
input,textarea,select,select option,select optgroup,.filters input,.filters select,.chart-controls input,
.chart-controls select option{color-scheme:inherit;background:var(--field);color:var(--text);border-color:var(--line-strong)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-light)}
.workspace-main,.event-rail{background:var(--shell);border-color:var(--line-strong);box-shadow:var(--shadow)}
.nav-rail,.workspace-dock{background:var(--floating);border-color:var(--line-strong);box-shadow:var(--shadow)}
.rail-navigation .rail-button,.rail-tools .rail-button,.workspace-dock .dock-button{color:var(--muted)}
.rail-navigation .rail-button:hover,.rail-tools .rail-button:hover,.workspace-dock .dock-button:hover{background:var(--hover);color:var(--text)}
.rail-navigation .rail-button.active,.workspace-dock .dock-button.active{background:linear-gradient(135deg,#ff9957,#ff7435);color:var(--on-accent)}
.rail-tooltip,.skip-link{background:var(--floating);color:var(--text);border-color:var(--line-strong)}
.workspace-dock .dock-button{font-size:12px;min-height:42px}
.workspace-header .eyebrow{font-size:11px;letter-spacing:1px}
.topstate .badge{font-size:11px}.topstate #clock{font-size:13px}
.event-jump,.header-appearance{font-size:13px;min-height:36px}
.engine-top b{font-size:14px}.engine-top small,.engine-meta{font-size:12px}
.engine-meta{white-space:normal;line-height:1.5}.engine-top{gap:8px}
.engine-card,.notice,.settings-preview{background:var(--subtle);border-color:var(--line)}
.notice,.workspace-head p,#selection-status{font-size:13px}
.panel{background:var(--subtle);border-color:var(--line)}
.panel-head,.workspace-main .panel-head,.chart-legend,.data-quality,.blocked-observations,.board-diagnostics{border-color:var(--line)}
.brief-card{background:var(--accent-soft)}
#agent-preview{font-size:15px;line-height:1.8;color:var(--text)}
.market-cards .market-card{background:var(--subtle);border-color:var(--line);padding:18px}
.market-cards .market-card:hover{background:var(--hover);border-color:var(--accent-border)}
.market-cards .market-card.selected{background:var(--accent-soft);border-color:var(--accent-border)}
.market-cards .market-card,.market-cards .coin-price,.market-cards .coin-head b,.market-cards .metric strong{color:var(--text)}
.market-cards .market-card .positive{color:var(--green)}.market-cards .market-card .negative{color:var(--red)}
.coin-avatar{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-light)}
.coin-head b{font-size:14px}.coin-head small{font-size:11px;letter-spacing:.2px}
.coin-head{flex-wrap:wrap}.coin-head .coin-rank{font-size:12px}
.coin-price,.market-cards .coin-price{font-size:30px;letter-spacing:-.8px}
.coin-market-change{font-size:14px;flex-wrap:wrap}
.coin-market-change>span:last-child,.coin-card-action,.market-cards .metric,.market-cards .metric strong{font-size:12px}
.market-cards .metric{border-color:var(--line);flex-wrap:wrap}
.market-list-label,.section-heading .market-list-label{font-size:11px;letter-spacing:.5px}
.section-heading .muted{font-size:12px;overflow-wrap:anywhere}
.chart-panel{background:var(--subtle)}.overview-chart-ticker>strong{font-size:32px}
.overview-chart-ticker>span,.overview-chart-ticker .chart-data-note{font-size:12px}
.overview-chart-heading h2{font-size:20px}.overview-chart-heading .eyebrow,.overview-chart-heading #chart-source{font-size:12px}
.chart-controls input,.chart-controls select,.chart-controls button,.overview-chart-actions button,.overview-chart-actions a{font-size:13px}
#chart svg text{font-family:var(--font-body);font-size:12px}
.chart-legend,.chart-status,.chart-navigation-hint,.overview-chart-actions span,#bybit-catalog-note{font-size:12px}
.metric strong,td,output,.coin-price,.overview-chart-ticker>strong,.pump-signal-levels strong{font-variant-numeric:tabular-nums}
th{background:var(--surface);color:var(--muted);font-size:12px;letter-spacing:0}
td{font-size:14px;border-color:var(--line)}
tr[data-signal]:hover,tr[data-pump-id]:hover,tr[data-pump-chart]:hover,.asset-table tr:hover{background:var(--hover)}
.table-scroll,.event-feed,#event-agenda{scrollbar-color:var(--line-strong) transparent}
.badge{font-size:12px;white-space:normal}.badge.neutral{color:var(--purple)}
.badge.fall{color:var(--red)}
.empty,.empty p{font-size:14px}
.calendar-heading h3{font-size:16px}.calendar-heading button{width:36px;height:36px;min-height:0;background:var(--subtle);color:var(--text)}
.event-rail .calendar-panel{padding:18px 14px 16px;background:var(--subtle);border-color:var(--line)}
.calendar-weekdays{font-size:13px;color:var(--muted)}
.calendar-day{font-size:15px;height:43px;color:var(--muted)}
.calendar-day>span:first-child{width:35px;height:35px}
.calendar-day:hover>span:first-child{background:var(--hover);color:var(--text)}
.calendar-day.today>span:first-child{border-color:var(--accent-border);color:var(--accent-light)}
.calendar-day.selected>span:first-child{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.calendar-legend{font-size:12px;gap:8px 12px}
.calendar-tools button,.calendar-tools select{font-size:13px;min-height:36px}
.market-pulse h2{font-size:16px}.market-pulse p{font-size:12px}
.event-heading h2,.event-subheading h3{font-size:16px}
.event-card{background:var(--subtle);border-color:var(--line);padding:15px}
.event-card:hover{background:var(--hover);border-color:var(--accent-border)}
.event-card h3{font-size:16px;line-height:1.6;color:var(--text)}
.event-card p,.news-reading-text{font-size:15px;line-height:1.8;color:var(--text)}
.event-card-meta,.event-card-foot,.news-preview-foot,.news-reading-label,.news-original,.news-detail-body .news-context,
.event-card .news-status,.event-card .news-original p{font-size:12px;color:var(--muted)}
.event-empty,.event-small,.event-health{font-size:13px;line-height:1.75}
.event-chip{font-size:11px}.event-upcoming-button{font-size:14px}.event-upcoming-date{font-size:12px}
.event-upcoming-details>summary,.event-source-panel summary,.event-schedule>details:not(.event-upcoming-details)>summary{font-size:13px}
.event-switch{background:var(--subtle)}.event-switch button{font-size:13px}
.event-filter-button,.event-filter-list,.event-filter-list>button{background:var(--floating);color:var(--text);border-color:var(--line-strong);font-size:13px}
.event-filter-list>button:hover,.event-filter-list>button:focus-visible{background:var(--hover);color:var(--text)}
.event-filter-list>button[aria-selected=true],.event-switch button.active{background:var(--accent-soft);color:var(--accent-light)}
#event-sources b{font-size:13px}#event-sources span,#event-sources p{font-size:12px}
.event-source-panel{border-top-color:var(--line)!important}
.fund-quantity{font-size:27px}.fund-quantity small{font-size:13px}
.news-original>summary,.news-open-hint{color:var(--accent-light)}
.settings-grid{gap:22px}.setting label{font-size:14px;line-height:1.6}
.setting-value input[type=number]{font-family:var(--font-body);font-size:16px;color:var(--text)}
.settings-group{border-color:var(--line)}.settings-group legend{font-size:16px}
.advanced-settings>summary,.settings>summary,.pump-settings-tutorial>summary{font-size:15px}
.settings-help,.settings-note,.settings-preview,.pump-settings-tutorial ol,.pump-settings-tutorial p{font-size:14px;line-height:1.8}
.pump-settings-tutorial{background:var(--accent-soft);border-color:var(--accent-border)}
.setting-help{margin:8px 0 12px}
.setting-help>summary,.setting.bool .setting-help>summary{display:inline-flex;align-items:center;gap:8px;width:auto;height:auto;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:var(--subtle);color:var(--accent-light);font-size:12px;font-weight:500;list-style:none}
.setting-help>summary:hover{background:var(--accent-soft);border-color:var(--accent-border)}
.setting-help>summary svg{width:16px;height:16px;flex:none}
.help-chevron{display:block;margin-left:4px;transition:transform .18s;font-size:17px;line-height:1}
.setting-help[open] .help-chevron{transform:rotate(180deg)}
.setting-help[open]>summary{border-color:var(--accent-border);background:var(--accent-soft)}
.setting-help-body{margin-top:8px;border-left:2px solid var(--accent);border-radius:0 10px 10px 0;background:var(--subtle);animation:help-reveal .18s ease-out}
.setting-help .setting-help-body p{margin:0;padding:12px 14px;font-size:14px;line-height:1.8;background:none;color:var(--text)}
@keyframes help-reveal{from{opacity:.35;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.profile-tools label,.profile-tools button,.cost-policy label,.risk-presets button,.simple-horizons label,.settings-actions button{font-size:13px}
.pump-settings-tutorial>summary{color:var(--accent-light)}
.engine-detail p,.pump-overview-grid .engine-detail>p{font-size:14px}
.engine-detail .muted,.engine-detail small,.pump-scan-metrics small,.pump-risk small,.pump-risk-levels,.pump-signal-levels small{font-size:12px}
.pump-scan-metrics b{font-size:29px}.pump-signal-levels strong{font-size:18px}
.pump-signal-scenario{font-size:14px}.pump-signal-scenario>span,.pump-signal-foot>small,.pump-signal-foot button{font-size:12px}
.pump-signal-card{background:var(--accent-soft);border-color:var(--accent-border)}
.pump-work-empty{background:var(--subtle)}.pump-work-empty strong{font-size:16px}.pump-work-empty p{font-size:14px}
.stat-tile strong{font-size:30px}.stat-tile>span,.stat-tile small{font-size:12px}
.pump-signal-foot,.pump-history .table-scroll{border-color:var(--line)}
.pump-fold-body>p,.pump-quality,.stats-explainer{font-size:13px}
.pump-history>summary small,.pump-results>summary small,.pump-diagnostics-panel>summary small{font-size:12px}
.settings-preview,.search-plan,.long-search-summary{background:var(--accent-soft);border-color:var(--accent-border)}
.screen-presets button,.actions button,.compact-actions button,.screen-chart-actions button,.screen-symbol-form button{font-size:13px}
.screen-presets button.active,.asset-tabs button[aria-pressed=true],#screen-results tr.selected{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-light)}
.screen-measurements,#screen-measurements>div{background:var(--subtle);border-color:var(--line)}
.screener-chart.expanded{background:var(--floating)}
#screen-measurements small{font-size:12px}#screen-measurements strong{font-size:18px}
#screen-results td{font-size:13px}#screen-results th{font-size:12px}
.bybit-options{background:var(--floating);border-color:var(--line-strong)}
.bybit-options span,.bybit-options p,.asset-table td:first-child small,.asset-table td:last-child{font-size:12px}
.chain-card .metric{font-size:14px}.chain-card .stamp,.chain-stables,.chain-coins{font-size:12px}
.asset-values div,.detail-grid>div,pre{background:var(--subtle)}
.asset-values small,.dex-pool span,.dex-pool small,#asset-status,.asset-coverage{font-size:12px}
.dex-pool{background:var(--subtle);color:var(--text);border-color:var(--line)}
.dex-pool:hover{background:var(--hover)}
dialog,#pump-chart-dialog[open],#pump-chart-dialog .pump-chart-heading{background:var(--floating);border-color:var(--line-strong);color:var(--text)}
dialog::backdrop{background:#15101799}
.appearance-dialog{width:min(580px,calc(100vw - 28px))}
.appearance-dialog>p{font-size:14px}.appearance-dialog .theme-note{font-size:12px;line-height:1.7;margin:0 0 20px}
.appearance-section-title{font-size:15px;margin-top:20px}
.theme-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 12px}
.theme-presets>button{display:flex;flex-direction:column;gap:7px;padding:10px;border-radius:13px;text-align:left;font-size:14px;min-width:0}
.theme-presets>button>span:not(.theme-swatch){font-weight:600}
.theme-presets small{font-size:11px;line-height:1.4}
.theme-presets>button[aria-pressed=true],.background-presets>button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.theme-swatch{display:flex;width:100%;height:48px;gap:5px;border:1px solid #8883;border-radius:7px;padding:7px}
.theme-swatch::before{content:"";width:8px;border-radius:3px;background:#ff7f3b}
.theme-swatch i{display:block;flex:1;border-radius:3px;background:#ffffff14;border:1px solid #8882}
.theme-warm{background:#302a30}.theme-dark{background:#17191f}.theme-light{background:#f6f5f3}.theme-light i{background:#fff}
.background-presets>button{background:var(--subtle);border-color:var(--line);color:var(--text);font-size:13px}
.background-presets{margin-top:12px}
.background-upload,.appearance-footer{border-color:var(--line)}
.upload-background,.appearance-motion,.appearance-range,.appearance-footer button,.background-upload button{font-size:13px;color:var(--text)}
.appearance-status{color:var(--muted)!important;font-size:12px!important}
.appearance-footer #appearance-done,.settings-actions button[type=submit],.plan-actions button:first-child:not(:disabled),.overview-chart-actions .primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.appearance-footer #appearance-done:hover,.settings-actions button[type=submit]:hover{background:#ff985f}
.actions button[data-command=scan],#analyze{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-light)}
#toast{background:var(--floating);color:var(--text);border-color:var(--accent-border);font-size:14px}
footer{background:var(--shell);padding:12px 16px;border:1px solid var(--line);border-radius:14px}
footer,footer b{font-size:12px;color:var(--muted)}
@media(max-width:1500px) and (min-width:1191px){.market-cards,.workspace-main .market-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  body{font-size:15px}.workspace-header h1{font-size:26px}.workspace-header .eyebrow{font-size:10px}
  .workspace-main{padding:18px 13px}.topstate .badge{font-size:11px}
  .market-cards .market-card{padding:14px 11px}.market-cards .coin-price{font-size:25px}
  .market-cards .coin-head b{font-size:13px}.market-cards .coin-head small{font-size:10px}
  .market-cards .metric,.market-cards .metric strong,.coin-card-action{font-size:12px}
  .market-cards .coin-market-change{font-size:13px}.coin-market-change>span:last-child{font-size:11px}
  .workspace-dock .dock-button{font-size:11px;padding:7px 10px}
  .calendar-day{height:44px;font-size:15px}.calendar-weekdays,.calendar-legend{font-size:12px}
  .calendar-heading h3{font-size:16px}.calendar-heading button{width:44px;height:44px}
  .calendar-day>span:first-child{width:32px;height:32px}
  .event-card h3{font-size:16px}.event-card p,.news-reading-text{font-size:15px}
  .setting label{font-size:14px}.setting-help>summary,.setting.bool .setting-help>summary{min-height:44px}
  .settings-grid{gap:20px}.pump-signal-levels strong{font-size:16px}
  .appearance-dialog{padding:20px 16px}.theme-presets{gap:7px}.theme-presets>button{padding:8px;font-size:13px}
  .theme-presets small{font-size:11px}.appearance-footer{flex-wrap:wrap}
  .overview-chart-ticker>strong{font-size:28px}.overview-chart-heading h2{font-size:19px}
  .overview-chart-ticker .chart-data-note{font-size:12px}.chart-controls button{font-size:13px}
  .workspace-main .panel-head h2{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.setting-help-body{animation:none}.help-chevron{transition:none}}
