/* component-colors.css — color declarations extracted from components.css.
   Loads AFTER components.css, BEFORE dark-colors.css (preserves cascade). */

a { color: var(--text); }
code { color: var(--text-secondary); }
@media (max-width: 768px){
}
header h1 { color: var(--text); }
@media (max-width: 768px){
}
.card:hover, .stat-card:hover, .eco-card:hover, .g-card:hover { border-color: rgba(255,180,0,0.28); }
.section h2, h2 { color: var(--text); }
th { color: var(--text-muted); }
td { color: var(--text-secondary); }
.positive { color: var(--green) !important; }
.negative { color: var(--red) !important; }
.symbol { color: var(--text-muted); }
.rank { color: var(--text-muted); }
@media (max-width: 768px){
}
.chain-primary { color: var(--text-muted); }
.chain-more { color: var(--text-secondary); }
.chain-dropdown-item { color: var(--text-secondary); }
.chain-dropdown-item:first-child { color: var(--text); }
.social-icon { color: var(--text-muted); }
.social-icon:hover { color: var(--text); }
.social-icon svg { fill: currentColor; }
.exchange-primary { color: var(--text-secondary); }
.exchange-more { color: var(--text-secondary); }
.exchange-dropdown-item { color: var(--text-secondary); }
.exchange-dropdown-item:first-child { color: var(--text); }
.tag { color: var(--text-secondary); }
.narrative-dropdown-item { color: var(--text-secondary); }
.link-item { color: var(--text-secondary); }
.link-item:hover { border-color: rgba(255,180,0,0.28); }
.token-header .symbol-badge { color: var(--text-secondary); }
@media (max-width: 768px){
}
.back-link:hover { color: var(--text); }
.btn-primary, button[type="submit"] { color: var(--text-on-brand); }
.rf-btn-tiny-solid { color: var(--text-on-brand); border-color: transparent; }
.rf-btn-tiny-solid:hover { border-color: transparent; }
.rf-btn-tiny-ghost { color: var(--text); }
.rf-btn-tiny-ghost:hover { border-color: var(--gray-300); }
.rf-dd-trigger:hover { border-color: rgba(255,180,0,0.5); }
.rf-dd.is-open .rf-dd-trigger { border-color: rgba(255,180,0,0.5); color: var(--brand-amber-strong); }
.rf-dd-caret { color: var(--brand-amber); }
.rf-dd-panel, .rf-dd-items { scrollbar-color: var(--hover-strong) transparent; }
.rf-dd-panel:hover, .rf-dd-items:hover { scrollbar-color: rgba(0,0,0,0.16) transparent; }
.rf-dd-section { color: var(--text-muted); }
.rf-dd-item.is-selected .rf-dd-name { color: var(--brand-amber-strong); }
.rf-dd-name { color: var(--text); }
.rf-dd-meta { color: var(--text-muted); }
.rf-dd-item-side { color: var(--text); }
input[type="number"], input[type="text"], input[type="date"],
input[type="datetime-local"], select, textarea { color: var(--text); }
input:focus, select:focus, textarea:focus { border-color: var(--border-focus); }
input:hover, select:hover, textarea:hover { border-color: var(--gray-300); }
input[type="checkbox"] { accent-color: var(--brand-amber); }
input[type="checkbox"]:checked { border-color: var(--brand-amber); }
.info-box { color: var(--text-muted); }
.text-muted { color: var(--text-muted); }
.text-accent { color: var(--accent); }
.text-green { color: var(--green); }
.text-red { color: var(--red); }
.filter-bar label { color: var(--text-muted); }
.filter-count { color: var(--text-muted); }
@media (max-width: 768px){
}
@media (max-width: 768px){
}
.pipeline-card .pipe-desc { color: var(--text-muted); }
.pipeline-card .pipe-status { color: var(--text-muted); }
.pipeline-card .pipe-status.running { color: var(--amber); }
.pipeline-card .pipe-status.done { color: var(--green); }
.pipeline-card .pipe-status.error { color: var(--red); }
.pipe-btn { color: var(--text-secondary); }
.pipe-btn:hover { border-color: var(--gray-300); }
.pipe-btn.running { color: var(--amber); border-color: rgba(217, 119, 6, 0.2); }
.pr-status { color:var(--text-muted); }
.pr-stat-label { color:var(--text-muted); }
@media (max-width:600px){
}
.evt-guide-chip { color: var(--brand-amber-strong); }
.evt-phase-chip { color: var(--brand-amber-strong); }
.evt-num-mark { color: var(--text-on-brand); }
.evt-legend { color: var(--text-secondary); }
.evt-legend-n { color: var(--text-on-brand); }
.evt-band-tag { color: var(--brand-amber-strong); }
.date-pick-input { color:var(--text); }
.date-pick-input:focus { border-color:var(--brand-amber); }
.date-pick-input::-webkit-datetime-edit-day-field:focus,
.date-pick-input::-webkit-datetime-edit-month-field:focus,
.date-pick-input::-webkit-datetime-edit-year-field:focus,
.date-pick-input::-webkit-datetime-edit-hour-field:focus,
.date-pick-input::-webkit-datetime-edit-minute-field:focus,
.date-pick-input::-webkit-datetime-edit-ampm-field:focus { color:var(--text); }
.evt-hot-pop-title { color: var(--text); }
.evt-hot-pop-meta { color: var(--text-muted); }
@media (max-width: 768px){
}
@media (max-width: 640px){
}
@media (max-width: 480px){
}
.chart-ctrl-btn { color:var(--text-muted); }
.chart-ctrl-btn:hover { color:var(--text); border-color:rgba(14,14,14,0.08); }
.chart-ctrl-btn.active { color:var(--text); border-color:rgba(14,14,14,0.08); }
.chart-ctrl-btn[disabled]:hover { color:var(--text-muted); border-color:transparent; }
.chart-ctrl-label { color:var(--text-muted); }
.pill-neutral { color: var(--text-muted); }
.pill-up { color: var(--green-hover); }
.pill-down { color: var(--red-hover); }
.pill-pin { color: var(--pill-fg); }
.chart-pill-tooltip { color: var(--text-secondary); }
.chart-pill-tooltip .tt-title { color: var(--text); }
.chart-pill-tooltip .tt-desc { color: var(--text-muted); }
.chart-pill-tooltip .tt-meta { color: var(--text-muted); }
.section h2 { color: var(--text-muted); }
.section h2 .sec-num { color: var(--text-muted); }
.stat-card:hover { border-color: rgba(255,180,0,0.2); }
.stat-card .label { color: var(--text-muted); }
.stat-card .value { color: var(--text); }
.empty-state { color: var(--text-muted); }
.empty-state h3 { color: var(--text); color: var(--text-secondary); }
.np-head .h { color: var(--text-muted); }
.np-name { color: var(--text); }
.np-phase.rot { color: #475569; }
.np-bar { color: #ffffff; }
.np-bar:hover::after { color: var(--text-muted); }
.np-tokens { color: var(--text-muted); }
.np-dates span { color: var(--text-muted); }
.np-assess-btn { color: var(--brand-amber, var(--brand-amber)); }
.np-assess-btn:hover { border-color: rgba(255,180,0,0.45); }
@media (max-width: 900px){
}
@media (max-width: 900px){
}
.cs-cat-badge.cat-partnership { color:var(--blue); }
.cs-cat-badge.cat-exchange { color:var(--green); }
.cs-cat-badge.cat-upgrade { color:var(--cat-purple); }
.cs-cat-badge.cat-onchain { color:var(--cat-emerald); }
.cs-cat-badge.cat-security { color:#ef4444; }
.cs-cat-badge.cat-unlock { color:var(--amber); }
.cs-cat-badge.cat-governance { color:var(--cat-indigo); }
.cs-cat-badge.cat-social { color:var(--cat-pink); }
.cs-cat-badge.cat-launch { color:var(--brand-amber); }
.cs-cat-badge.cat-integration { color:#0891b2; }
.cs-cat-badge.cat-default { color:var(--text-muted); }
.cs-title { color:var(--text); }
.cs-meta { color:var(--text-muted); }
.cs-stat-val { color:var(--text); }
.cs-stat-val.green { color:var(--green); }
.cs-stat-val.red { color:var(--red); }
.cs-stat-val.amber { color:var(--brand-amber); }
.cs-stat-label { color:var(--text-muted); }
.cs-assess-btn { color:var(--text-secondary); }
@media (max-width:720px){
}
.rf-btn-tiny-solid { color: var(--text-on-brand); }
.rf-btn-tiny-ghost { color: var(--text); }
.rf-btn-tiny-ghost:hover { border-color: var(--gray-300); }
.rf-btn-tiny-neutral { color: var(--text); }
.rf-btn-tiny-quiet { color: var(--text-secondary); }
.rf-btn-tiny-quiet:hover { color: var(--text); }
.rfpp-close { color: var(--text-muted); }
.rfpp-close:hover { color: var(--text); border-color: var(--text); }
.rfpp-eyebrow { color: var(--rfpp-accent, var(--brand-amber)); }
.rfpp-title { color: var(--text); }
.rfpp-sub { color: var(--text-muted); }
.rfpp-section-label { color: var(--text-muted); }
.rfpp-row .m-name { color: var(--text); }
.rfpp-row .m-raw { color: var(--rfpp-accent, var(--brand-amber)); }
.rfpp-row .m-ctx { color: var(--text-muted); }
.rfpp-row .m-score { color: var(--rfpp-accent, var(--brand-amber)); }
.rfpp-row-utility .u-name { color: var(--text); }
.rfpp-row-utility .u-cons { color: var(--rfpp-accent, var(--brand-amber)); }
.rfpp-row-utility .u-ass { color: var(--text-muted); }
.rfpp-row-utility .u-ctx { color: var(--text-muted); }
.rfpp-row-comm:hover { border-color: var(--gray-100); }
.rfpp-row-comm .c-name { color: var(--text); }
.c-tip { color: var(--text-muted); }
.c-tip:hover { color: var(--text); }
.rfpp-row-comm .c-meta { color: var(--text-muted); }
.rfpp-row-comm .c-methodology { color: var(--text-muted); }
.rfpp-row-comm .c-method-label { color: var(--text-muted); }
.rfpp-row-comm .c-validity-row { color: var(--text-muted); }
.rfpp-row-comm .c-ctx { color: var(--text-secondary); }
.rfpp-row-comm .c-assess { color: var(--text-muted); }
.rfpp-row-comm .c-assess:hover { color: var(--text-on-brand); border-color: var(--brand-amber); }
.rfpp-section-redirect:hover { border-color:rgba(255,180,0,0.2); }
.rfpp-section-redirect span:first-child { color:var(--text-muted); }
.rfpp-section-redirect-btn { color:var(--brand-amber); }
.rfpp-row-comm .c-score-badge { color: var(--rfpp-accent, var(--brand-amber)); }
.rfpp-footer .help { color: var(--text-muted); }
.rfpp .rfpp-eyebrow { color: var(--rfpp-accent); }
@media (max-width:768px){
}
@media (max-width:640px){
}
@media (max-width:480px){
}
.topbar .crumbs { color: var(--text-muted); }
.topbar .crumbs a:hover { color: var(--ink); }
.topbar .crumbs .sep { color: var(--text-muted); }
.topbar .crumbs .now { color: var(--ink); }
.tb-search:focus-within { border-color: var(--brand-amber); }
.tb-search svg { color: var(--text-muted); }
.tb-search input { color: var(--ink); }
.tb-search input::placeholder { color: var(--text-muted); }
.tb-search kbd { color: var(--text-muted); }
.tb-bal-amt { color: var(--text); }
.tb-bal-label { color: var(--text-muted); }
.tb-bal-info { color: var(--text-muted); }
.tb-icon { color: var(--text-secondary); }
.tb-icon:hover { color: var(--text); border-color: rgba(14,14,14,0.15); }
.tb-wallet-connect { color: var(--text-on-brand); }
.tb-wallet-pill:hover { border-color: rgba(14,14,14,0.15); }
.tb-wallet-av { color: white; }
.tb-wallet-addr { color: var(--text); }
.tb-wallet-pill svg { color: var(--text-muted); }
.toast { color:var(--text); }
.toast-icon.success { color:var(--green); }
.toast-icon.error { color:#ef4444; }
.toast-icon.warn { color:var(--brand-strong); }
.toast-icon.info { color:var(--blue); }
.mobile-toggle { color: var(--paper); }
@media (max-width: 900px){
}
@media (max-width: 640px){
}
.sb-promote:hover { border-color:rgba(255,180,0,0.4); }
.sb-promote-icon { color:var(--text-on-brand); }
.sb-promote-eyebrow { color:var(--brand-strong); }
.sb-promote-title { color:var(--text); }
.sb-promote-sub { color:var(--text-muted); }
.ask-fab-btn { color: var(--text-on-brand); }
.ask-popup-head .status { color: var(--brand-amber); }
.ask-popup-msg { color: var(--text-secondary); }
.ask-popup-msg .role { color: var(--text-muted); }
.ask-popup-msg.you { color: var(--text); }
.ask-popup-msg .hl { color: var(--brand-strong); }
.ask-popup-cite { color: var(--text-muted); }
.ask-popup-input span { color: var(--brand-amber); }
.ask-popup-input input { color: var(--text); }
.ask-popup-input input::placeholder { color: var(--text-muted); }
.ask-popup-input .send { color: white; }
.ask-popup-foot { color: var(--text-muted); }
.ask-popup-foot a { color: var(--brand-amber); }
@media (min-width: 901px){
}
.td-mcap-right > div strong { color: var(--brand-amber, var(--brand-amber)) !important; }
.mcap-warn-tip { color: var(--amber); }
.sig-marker.active { border-color: var(--brand-amber); }
.sig-marker.is-pinned { border-color: var(--brand-amber); }
.sig-marker.type-volume { color: var(--blue); border-color: rgba(59,130,246,0.25); }
.sig-marker.type-social { color: var(--cat-purple); border-color: rgba(139,92,246,0.25); }
.sig-marker.type-onchain { color: var(--cat-emerald); border-color: rgba(16,185,129,0.25); }
.sig-marker.type-news { color: #f59e0b; border-color: rgba(245,158,11,0.25); }
.sig-marker.type-dev { color: #374151; border-color: rgba(55,65,81,0.2); }
.sig-marker.type-macro { color: var(--cat-indigo); border-color: rgba(99,102,241,0.25); }
.sig-marker.type-exchange { color: #0891b2; border-color: rgba(8,145,178,0.25); }
.sig-marker.type-security { color: var(--red); border-color: rgba(220,38,38,0.25); }
.sig-cluster:hover .sig-cluster-badge { border-color: var(--brand-amber); color: var(--text); }
.sig-cluster.is-open .sig-cluster-badge { border-color: var(--brand-amber); color: var(--text); }
.sig-cluster-items .sig-marker.active { border-color: var(--brand-amber); }
.sig-cluster-items .sig-marker.is-pinned { border-color: var(--brand-amber); }
.sig-strip-brand-text { color: var(--text); }
.sig-strip-brand-sub { color: var(--text-muted); }
.sig-strip-count { color: var(--text-muted); }
.sig-strip-count .sig-ct { color: var(--text); }
.sig-d-type { color: var(--text-muted); }
.sig-d-source.community { color: var(--purple); }
.sig-d-source.auto { color: var(--green); }
.sig-d-title { color: var(--text); }
.sig-d-date { color: var(--text-muted); }
.sig-meter-label { color: var(--text-muted); }
.sig-meter-votes { color: var(--text-muted); }
.sig-d-back { color: var(--text-muted); }
.sig-d-back:hover { color: var(--text); }
.sig-d-pin { color: var(--brand-amber-strong); }
.sig-d-pin.is-pinned { color: var(--text-muted); }
.sig-pin-x { color: var(--text-muted); }
.sig-pin-x:hover { color: var(--red); }
#moves-table tbody { scrollbar-color:var(--hover-strong) transparent; }
@media (max-width:768px){
}
.seg-tip { color:var(--text-muted); }
.scroll-fade { scrollbar-color: transparent transparent; }
.scroll-fade:hover { scrollbar-color: rgba(0,0,0,0.16) transparent; }
.metric-section-link { color:var(--text-muted); }
.metric-section-link:hover { color:var(--brand-amber); }
.pillar-info-btn { color: var(--text-muted); }
.pillar-info-btn:hover { color: var(--brand-amber-strong); }
.pk-thead { color: var(--text-muted); }
.pk-rank { color: var(--text-muted); }
.pk-rank.t1 { color: var(--brand-amber); }
.pk-rank.t2 { color: #71717a; }
.pk-rank.t3 { color: #64748b; }
.pk-name { color: var(--text); }
.pk-score { color: var(--text); }
.pk-sim { color: var(--text-muted); }
.pk-go { color: var(--text-muted); }
.pk-go:hover { color: var(--text); }
@media (max-width: 900px){
}
.score-ring .ring-track { fill:none; stroke:#ebebeb; }
.score-ring .ring-fill { fill:none; }
.score-ring .ring-score { color:var(--text); }
.score-ring .ring-denom { color:var(--brand-amber); }
@media (max-width:640px){
}
.pr-status { color: var(--text-muted); }
.pr-title { color:var(--text); color: var(--text); }
.pr-sub { color:var(--text-muted); color: var(--text-muted); }
.pr-stat-num { color:var(--text); color: var(--text); }
.pr-stat-label { color: var(--text-muted); }
@media (max-width: 640px){
}
.ph-toggle:hover { color: var(--brand-amber); border-color: var(--brand-amber); }
.ph-toggle.active { color: var(--text-on-brand); border-color: var(--brand-amber); }
body.ph-blur [data-ph]::after { color: var(--text); }
.wt-tpl-input { color:var(--text); }
.wt-tpl-input:focus { border-color:var(--brand-amber); }
.wt-tpl-name { color:var(--text); }
.wt-btn-secondary { border-color:var(--gray-200); color:var(--text); }
.wt-btn-secondary:hover { border-color:var(--gray-300); }
.topbar .crumbs { color: var(--ink-3) !important; }
.topbar .crumbs a { color: var(--ink-3) !important; }
.topbar .crumbs a:hover { color: var(--ink) !important; }
.topbar .crumbs .sep { color: var(--ink-4) !important; }
.topbar .crumbs .now { color: var(--ink) !important; }
.tb-search:focus-within { border-color: var(--brand); }
.tb-search svg { color: var(--ink-3) !important; }
.tb-search input { color: var(--ink) !important; }
.tb-search input::placeholder { color: var(--ink-3) !important; }
.tb-search kbd { color: var(--ink-3) !important; }
.tb-bal-amt { color: var(--ink) !important; }
.tb-bal-label { color: var(--brand-strong) !important; }
.tb-bal-info { color: var(--ink-3) !important; }
.tb-icon { color: var(--ink-2) !important; }
.tb-icon:hover { color: var(--ink) !important; }
.topbar .tb-wallet-connect,
button.tb-wallet-connect { color: var(--text-on-brand) !important; text-shadow: none; }
.tb-wallet-addr { color: var(--ink) !important; }
.tb-wallet-pill svg { color: var(--ink-3) !important; }
@media (max-width: 768px){
}
.section > h2,

.section h2 > span:first-child { color: var(--ink-2) !important; }
.sec-right { color: var(--ink-3); }
h2#valuation-section { color: var(--ink-2) !important; }
@media (max-width: 768px){
}
.td-row1 h1 { color: var(--ink) !important; }
.td-row1 > span:nth-of-type(1) { color: var(--ink-3) !important; }
.td-row1 > .tag:first-of-type { color: #fff !important; }
#header-price { color: var(--ink) !important; }
@media (max-width: 1100px){
}
@media (max-width: 768px){
}
.td-price-left > div:nth-child(2) > div > *:first-child { color: var(--ink-3) !important; }
.td-price-left > div:nth-child(2) > div > *:nth-child(2),
.td-price-left > div:nth-child(2) > div > *:last-child { color: var(--ink); }
.td-mcap-right { color: var(--ink-3) !important; }
.td-mcap-right strong { color: var(--ink) !important; }
.td-social .social-icon { color: var(--ink-3) !important; }
.td-social .social-icon:hover { color: var(--ink) !important; }
.tag { color: var(--ink-2) !important; }
.tag:hover { color: var(--ink) !important; }
.td-row1 .tag:nth-of-type(3) { color: var(--c-violet) !important; }
.td-row1 .tag:nth-of-type(4) { color: var(--c-indigo) !important; }
.td-row1 .tag:nth-of-type(5) { color: var(--c-teal) !important; }
.td-row1 .tag:nth-of-type(6) { color: var(--c-pink) !important; }
.td-row1 .tag:nth-of-type(7) { color: var(--c-sky) !important; }
.chain-more, .tag-more, .exchange-more { color: var(--ink-2) !important; }
.chain-dropdown-item, .narrative-dropdown-item, .exchange-dropdown-item { color: var(--ink-2) !important; }
.btn-primary, button[type="submit"],
.rf-btn-tiny.rf-btn-tiny-solid,
button.rf-btn-tiny-solid { color: var(--text-on-brand) !important; text-shadow: none; }
body.btn-soft .tag { color: var(--brand-strong) !important; }
body.btn-glass .btn-primary:hover,
body.btn-glass button[type="submit"]:hover,
body.btn-glass .rf-btn-tiny.rf-btn-tiny-solid:hover,
body.btn-glass .tb-wallet-connect:hover { border-color: rgba(234,88,12,0.6); }
body.btn-outline .btn-primary,
body.btn-outline button[type="submit"],
body.btn-outline .rf-btn-tiny.rf-btn-tiny-solid,
body.btn-outline .tb-wallet-connect { color: var(--brand-strong) !important; text-shadow: none !important; }
body.btn-outline .btn-primary:hover,
body.btn-outline button[type="submit"]:hover,
body.btn-outline .rf-btn-tiny.rf-btn-tiny-solid:hover,
body.btn-outline .tb-wallet-connect:hover { color: #fff !important; }
body.btn-outline .tag { color: var(--ink-2) !important; }
body.btn-mono .btn-primary,
body.btn-mono button[type="submit"],
body.btn-mono .rf-btn-tiny.rf-btn-tiny-solid,
body.btn-mono .tb-wallet-connect { color: #fff !important; text-shadow: none !important; }
body.btn-mono .tag { color: #fff !important; }
body.hov-shift .rf-btn-tiny.rf-btn-tiny-ghost:hover { border-color: var(--brand); color: var(--brand-strong) !important; }
body.lbl-outline .tag { color: var(--ink-2) !important; }
body.lbl-outline .tag:hover { border-color: var(--ink-3); }
body.lbl-solid .tag { color: #fff !important; }
body.nav-amber .sidebar a.sb-item.active,
body.nav-amber .sb-item.active { color: #fff !important; }
body.nav-amber .sidebar a.sb-item.active .ic,
body.nav-amber .sb-item.active .ic { color: #fff !important; }
body.nav-soft .sidebar a.sb-item.active,
body.nav-soft .sb-item.active { color: var(--ink) !important; }
body.nav-soft .sidebar a.sb-item.active .ic,
body.nav-soft .sb-item.active .ic { color: var(--ink) !important; }
body.nav-rail .sidebar a.sb-item.active,
body.nav-rail .sb-item.active { color: var(--ink) !important; }
body.nav-rail .sidebar a.sb-item.active .ic,
body.nav-rail .sb-item.active .ic { color: var(--brand) !important; }
body.nav-glass .sidebar a.sb-item.active .ic,
body.nav-glass .sb-item.active .ic { color: var(--brand) !important; }
body.nav-violet .sidebar a.sb-item.active,
body.nav-violet .sb-item.active { color: #fff !important; }
body.nav-violet .sidebar a.sb-item.active .ic,
body.nav-violet .sb-item.active .ic { color: #fff !important; }
.rf-btn-tiny.rf-btn-tiny-ghost { color: var(--ink) !important; }
.rf-btn-tiny.rf-btn-tiny-ghost:hover { border-color: var(--line-3); }
.chart-controls .chart-ctrl-label { color: var(--ink-3) !important; }
.chart-ctrl-btn { color: var(--ink-2) !important; }
.chart-ctrl-btn:hover:not([disabled]):not(.active) { color: var(--ink) !important; }
.chart-ctrl-btn.active,
.chart-controls .chart-ctrl-btn.active,
.td-chart-header .chart-controls .chart-ctrl-btn.active { color: var(--ink) !important; }
#val-tab-group .chart-ctrl-btn.active { color: var(--ink) !important; }
.positive { color: var(--green) !important; }
.negative { color: var(--red) !important; }
.score-ring .ring-track { stroke: var(--hover-medium) !important; }
.score-ring .ring-score { color: var(--text) !important; }
/* Custom / comparison ring (2nd column of a .val-row-1) stays amber; the 1st
   column (Baseline / your score) uses neutral text — mirrors dark (dark-colors
   :503 default + :1557 child-2 amber). */
.val-row-1 > div:nth-child(2) .score-ring .ring-score { color: var(--brand-amber) !important; }
.score-ring .ring-denom { color: var(--ink-3) !important; }
.pillar-info-btn { color: var(--ink-2) !important; }
.pillar-info-btn:hover { color: var(--brand-strong) !important; }
.rfpp-close { color: var(--ink-2) !important; }
.rfpp-close:hover { color: #fff !important; }
.rfpp-title { color: var(--ink) !important; }
.rfpp-sub { color: var(--ink-2) !important; }
.wt-btn-secondary { color: var(--ink) !important; }
.wt-btn-secondary:hover { border-color: var(--line-3); }
.td-mcap-right > div > *:first-child { color: var(--ink-3); }
body.stats-cards .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-cards .td-mcap-right > div > strong { color: var(--ink) !important; }
.td-mcap-right > div > *:first-child { color: var(--ink-3); }
body.stats-grid .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-grid .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-cards .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-cards .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-inline .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-inline .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-chips .td-mcap-right > div > *:first-child { color: var(--brand-strong) !important; }
body.stats-chips .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-compact .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-compact .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-monoblock .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-monoblock .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-inline .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-inline .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-chips .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-monoblock .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-monoblock .td-mcap-right > div > strong { color: var(--ink) !important; }
.rf-btn-tiny.rf-btn-tiny-ghost:hover { border-color: var(--line-3); }
.btn-primary, .btn-primary:hover, .btn-primary:active,
button[type="submit"], button[type="submit"]:hover, button[type="submit"]:active,
.rf-btn-tiny.rf-btn-tiny-solid, .rf-btn-tiny.rf-btn-tiny-solid:hover, .rf-btn-tiny.rf-btn-tiny-solid:active,
.tb-wallet-connect, .tb-wallet-connect:hover, .tb-wallet-connect:active { color: #fff !important; }
.rf-btn-tiny.rf-btn-tiny-ghost:hover { border-color: var(--line-3); }
.card:hover, .stat-card:hover, .eco-card:hover, .g-card:hover,
.pr-card-wrap:hover, .td-pillars > div:hover { border-color: var(--line-2); }
.section > h2, .section h2:not(#valuation-section),
h2#valuation-section { color: var(--ink-3) !important; }
@media (max-width: 1024px){
}
@media (max-width: 768px){
}
@media (max-width: 480px){
}
@media (max-width: 768px){
.mobile-toggle { color: var(--ink); }
}
@media (max-width: 1024px){
}
@media (max-width: 768px){
}
@media (min-width: 641px) and (max-width: 1024px){
}
.td-row1 .tag.tag-more,
.td-price-left .tag.tag-more { color: var(--ink-2) !important; }
#watchlist-btn:hover { border-color: var(--brand); color: var(--brand-strong) !important; }
#wl-icon { color: var(--brand); }
.pt-bg-opt.active { border-color: var(--brand); }
.pt-bg-opt.active .pt-bg-label { color: var(--ink); }
.pt-btn-opt.active { border-color: var(--brand); }
html body .tb-search:focus-within { border-color: var(--brand-amber); }
.rf-btn-tiny.rf-btn-tiny-solid,
a.rf-btn-tiny.rf-btn-tiny-solid,
span.rf-btn-tiny.rf-btn-tiny-solid,
button.rf-btn-tiny-solid,
.tb-wallet-connect,
button.tb-wallet-connect,
.rf-btn-tiny.rf-btn-tiny-solid:hover,
a.rf-btn-tiny.rf-btn-tiny-solid:hover,
.tb-wallet-connect:hover,
button.tb-wallet-connect:hover,
.btn-primary:hover,
button[type="submit"]:hover { color: var(--text-on-brand) !important; }
.rf-btn-tiny.rf-btn-tiny-solid::after,
a.rf-btn-tiny.rf-btn-tiny-solid::after,
span.rf-btn-tiny.rf-btn-tiny-solid::after,
button.rf-btn-tiny-solid::after { color: var(--text-on-brand) !important; }

/* ── Canonical DISABLED / INACTIVE button — neutral grey, legible muted text ──
   Every button variant (solid gold, ghost, neutral) collapses to the same greyed-
   out treatment when disabled: a light-grey surface with a muted-but-readable
   label — NEVER a washed-out gold. The [disabled] selectors carry !important to
   beat the solid button's gold `!important` background/color. Dark-mode twin lives
   in dark-colors.css. Design rule: design/README.md § Buttons → Disabled/inactive. */
.rf-btn-tiny[disabled], .rf-btn-tiny.disabled, .rf-btn-tiny.is-disabled,
button.rf-btn-tiny[disabled],
.rf-btn-tiny.rf-btn-tiny-solid[disabled], button.rf-btn-tiny-solid[disabled],
.rf-btn-tiny.rf-btn-tiny-solid.disabled,
.rf-btn-tiny.rf-btn-tiny-solid[disabled]:hover, button.rf-btn-tiny-solid[disabled]:hover,
.btn-primary[disabled], button[type="submit"][disabled],
.btn-primary[disabled]:hover, button[type="submit"][disabled]:hover {
  background: var(--gray-100) !important;
  color: var(--text-muted) !important;
  border-color: var(--gray-200) !important;
  box-shadow: none !important;
}
.rf-btn-tiny[disabled]::after, .rf-btn-tiny.disabled::after,
.rf-btn-tiny.rf-btn-tiny-solid[disabled]::after,
button.rf-btn-tiny-solid[disabled]::after { color: var(--text-muted) !important; }

html body .wt-tpl-input { color: var(--text-light) !important; }
html body .wt-tpl-input::placeholder { color: var(--ink-3) !important; }
html body .wt-tpl-input:focus { border-color: var(--brand-amber); }
html body .tb-wallet-connect:hover { color: var(--text-on-brand) !important; }
html body #moves-table thead th { color: var(--text-muted) !important; }
.nav-collapse-btn { color: var(--text-muted); }
.nav-collapse-btn:hover { color: var(--text); border-color: rgba(255,255,255,0.18); }
html body .app-shell.nav-collapsed .sb-item::after { color: var(--text); }
@media (min-width: 769px){
}
@media (max-width: 768px){
}
html body .chart-ctrl-btn { color: var(--ink-3) !important; }
html body .chart-ctrl-btn:hover:not(.active):not([disabled]) { color: var(--text) !important; }
#tweaks-panel .tw-mode.active { border-color:currentColor; }
#tweaks-panel .tw-acc.active { border-color:var(--text-light); }
#tweaks-panel .tw-acc.auto.active { color:var(--text-light); }
@media (max-width: 768px){
}
html body .td-mcap-right > div strong { color: var(--brand-amber, var(--brand-amber)) !important; }
@media (min-width: 901px){
}
.wt-alloc-label { color:var(--text-muted); }
.wt-alloc-num.is-ok { color:var(--green); }
.wt-alloc-num.is-bad { color:var(--red); }
.wt-pillar-reset:hover { color:var(--red) !important; }
.wt-section-name { color:var(--text); }
.wt-section-badge { color:var(--text-muted); }
.wt-section-val { color:var(--text); }
.wt-section-chevron { color:var(--text-muted); }
.wt-section-name:hover, .wt-section-head:hover .wt-section-chevron { color: var(--text); }
.wt-metric-label { color:var(--text-muted); }
.wt-metric-tip { color:var(--text-muted); }
.wt-metric-tip:hover::after { color:#fff; }
.wt-metric-val { color:var(--text); }
.wt-templates-label { color:var(--text-muted); }
.wt-tpl-input { color:var(--text); }
.wt-tpl-input:focus { border-color:var(--brand-amber); }
.wt-tpl-save-btn { color:var(--text); }
.wt-tpl-name { color:var(--text); }
.wt-tpl-scope { color:var(--text-muted); }
.wt-tpl-scope.is-global { color:var(--brand-amber); }
.wt-tpl-btn { color:var(--text); }
.wt-tpl-del { color:var(--text-muted); }
.wt-tpl-del:hover { color:var(--red); }
.wt-footer-note { color:var(--text-muted); }
.wt-btn-secondary { border-color:var(--gray-200); color:var(--text); }
.wt-btn-secondary:hover { border-color:var(--gray-300); }
.topbar .crumbs { color: var(--ink-3) !important; }
.topbar .crumbs a { color: var(--ink-3) !important; }
.topbar .crumbs a:hover { color: var(--ink) !important; }
.topbar .crumbs .sep { color: var(--ink-4) !important; }
.topbar .crumbs .now { color: var(--ink) !important; }
.tb-search:focus-within { border-color: var(--brand); }
.tb-search svg { color: var(--ink-3) !important; }
.tb-search input { color: var(--ink) !important; }
.tb-search input::placeholder { color: var(--ink-3) !important; }
.tb-search kbd { color: var(--ink-3) !important; }
.tb-bal-amt { color: var(--ink) !important; }
.tb-bal-label { color: var(--brand-strong) !important; }
.tb-bal-info { color: var(--ink-3) !important; }
.tb-icon { color: var(--ink-2) !important; }
.tb-icon:hover { color: var(--ink) !important; }
.topbar .tb-wallet-connect,
button.tb-wallet-connect { color: var(--text-on-brand) !important; text-shadow: none; }
.tb-wallet-addr { color: var(--ink) !important; }
.tb-wallet-pill svg { color: var(--ink-3) !important; }
@media (max-width: 768px){
}
.section > h2,

.section h2 > span:first-child { color: var(--ink-2) !important; }
.sec-right { color: var(--ink-3); }
h2#valuation-section { color: var(--ink-2) !important; }
.card:hover, .stat-card:hover, .eco-card:hover, .g-card:hover,
.pr-card-wrap:hover { border-color: var(--line-2); }
@media (max-width: 768px){
}
.td-row1 h1 { color: var(--ink) !important; }
.td-row1 > span:nth-of-type(1) { color: var(--ink-3) !important; }
.td-row1 > .tag:first-of-type { color: #fff !important; }
#header-price { color: var(--ink) !important; }
@media (max-width: 1100px){
}
@media (max-width: 768px){
}
.td-price-left > div:nth-child(2) > div > *:first-child { color: var(--ink-3) !important; }
.td-price-left > div:nth-child(2) > div > *:nth-child(2),
.td-price-left > div:nth-child(2) > div > *:last-child { color: var(--ink); }
.td-mcap-right { color: var(--ink-3) !important; }
.td-mcap-right strong { color: var(--ink) !important; }
.td-social .social-icon { color: var(--ink-3) !important; }
.td-social .social-icon:hover { color: var(--ink) !important; }
.tag { color: var(--ink-2) !important; }
.tag:hover { color: var(--ink) !important; }
.td-row1 .tag:nth-of-type(3) { color: var(--c-violet) !important; }
.td-row1 .tag:nth-of-type(4) { color: var(--c-indigo) !important; }
.td-row1 .tag:nth-of-type(5) { color: var(--c-teal) !important; }
.td-row1 .tag:nth-of-type(6) { color: var(--c-pink) !important; }
.td-row1 .tag:nth-of-type(7) { color: var(--c-sky) !important; }
.chain-more, .tag-more, .exchange-more { color: var(--ink-2) !important; }
.chain-dropdown-item, .narrative-dropdown-item, .exchange-dropdown-item { color: var(--ink-2) !important; }
.btn-primary, button[type="submit"],
.rf-btn-tiny.rf-btn-tiny-solid,
button.rf-btn-tiny-solid { color: var(--text-on-brand) !important; text-shadow: none; }
body.btn-soft .tag { color: var(--brand-strong) !important; }
body.btn-glass .btn-primary:hover,
body.btn-glass button[type="submit"]:hover,
body.btn-glass .rf-btn-tiny.rf-btn-tiny-solid:hover,
body.btn-glass .tb-wallet-connect:hover { border-color: rgba(234,88,12,0.6); }
body.btn-outline .btn-primary,
body.btn-outline button[type="submit"],
body.btn-outline .rf-btn-tiny.rf-btn-tiny-solid,
body.btn-outline .tb-wallet-connect { color: var(--brand-strong) !important; text-shadow: none !important; }
body.btn-outline .btn-primary:hover,
body.btn-outline button[type="submit"]:hover,
body.btn-outline .rf-btn-tiny.rf-btn-tiny-solid:hover,
body.btn-outline .tb-wallet-connect:hover { color: #fff !important; }
body.btn-outline .tag { color: var(--ink-2) !important; }
body.btn-mono .btn-primary,
body.btn-mono button[type="submit"],
body.btn-mono .rf-btn-tiny.rf-btn-tiny-solid,
body.btn-mono .tb-wallet-connect { color: #fff !important; text-shadow: none !important; }
body.btn-mono .tag { color: #fff !important; }
body.hov-shift .rf-btn-tiny.rf-btn-tiny-ghost:hover { border-color: var(--brand); color: var(--brand-strong) !important; }
body.lbl-outline .tag { color: var(--ink-2) !important; }
body.lbl-outline .tag:hover { border-color: var(--ink-3); }
body.lbl-solid .tag { color: #fff !important; }
body.nav-amber .sidebar a.sb-item.active,
body.nav-amber .sb-item.active { color: #fff !important; }
body.nav-amber .sidebar a.sb-item.active .ic,
body.nav-amber .sb-item.active .ic { color: #fff !important; }
body.nav-soft .sidebar a.sb-item.active,
body.nav-soft .sb-item.active { color: var(--ink) !important; }
body.nav-soft .sidebar a.sb-item.active .ic,
body.nav-soft .sb-item.active .ic { color: var(--ink) !important; }
body.nav-rail .sidebar a.sb-item.active,
body.nav-rail .sb-item.active { color: var(--ink) !important; }
body.nav-rail .sidebar a.sb-item.active .ic,
body.nav-rail .sb-item.active .ic { color: var(--brand) !important; }
body.nav-glass .sidebar a.sb-item.active .ic,
body.nav-glass .sb-item.active .ic { color: var(--brand) !important; }
body.nav-violet .sidebar a.sb-item.active,
body.nav-violet .sb-item.active { color: #fff !important; }
body.nav-violet .sidebar a.sb-item.active .ic,
body.nav-violet .sb-item.active .ic { color: #fff !important; }
.rf-btn-tiny.rf-btn-tiny-ghost { color: var(--ink) !important; }
.rf-btn-tiny.rf-btn-tiny-ghost:hover { border-color: var(--line-3); }
.chart-controls .chart-ctrl-label { color: var(--ink-3) !important; }
.chart-ctrl-btn { color: var(--ink-2) !important; }
.chart-ctrl-btn:hover:not([disabled]):not(.active) { color: var(--ink) !important; }
.chart-ctrl-btn.active,
.chart-controls .chart-ctrl-btn.active,
.td-chart-header .chart-controls .chart-ctrl-btn.active { color: var(--ink) !important; }
#val-tab-group .chart-ctrl-btn.active { color: var(--ink) !important; }
.sig-marker.type-catalyst { color: var(--green); border-color: rgba(22,163,74,0.25); color: transparent !important; }
.sig-cluster-badge { color: var(--text-muted); color: transparent !important; }
.positive { color: var(--green) !important; }
.negative { color: var(--red) !important; }
#moves-table:hover { border-color:rgba(255,180,0,0.28); }
.score-ring .ring-track { stroke: var(--hover-medium) !important; }
.score-ring .ring-score { color: var(--text) !important; }
/* Custom / comparison ring (2nd column of a .val-row-1) stays amber; the 1st
   column (Baseline / your score) uses neutral text — mirrors dark (dark-colors
   :503 default + :1557 child-2 amber). */
.val-row-1 > div:nth-child(2) .score-ring .ring-score { color: var(--brand-amber) !important; }
.score-ring .ring-denom { color: var(--ink-3) !important; }
.pillar-info-btn { color: var(--ink-2) !important; }
.pillar-info-btn:hover { color: var(--brand-strong) !important; }
.rfpp-close { color: var(--ink-2) !important; }
.rfpp-close:hover { color: #fff !important; }
.rfpp-title { color: var(--ink) !important; }
.rfpp-sub { color: var(--ink-2) !important; }
.rfpp-method-label { color: var(--text-muted); color: var(--ink-3) !important; }
.rfpp-method-body { color: var(--text-secondary); color: var(--ink-2) !important; }
.rfpp-body { scrollbar-color: var(--hover-strong) transparent; }
.wt-slider { accent-color: var(--brand); }
.wt-btn-primary { color:var(--text-on-brand); color: var(--text-on-brand) !important; }
.wt-btn-secondary { color: var(--ink) !important; }
.wt-btn-secondary:hover { border-color: var(--line-3); }
.back-link { color: var(--text-muted); color: var(--ink-2) !important; }
.td-mcap-right > div > *:first-child { color: var(--ink-3); }
body.stats-cards .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-cards .td-mcap-right > div > strong { color: var(--ink) !important; }
.td-mcap-right > div > *:first-child { color: var(--ink-3); }
body.stats-grid .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-grid .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-cards .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-cards .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-inline .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-inline .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-chips .td-mcap-right > div > *:first-child { color: var(--brand-strong) !important; }
body.stats-chips .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-compact .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-compact .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-monoblock .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-monoblock .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-inline .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-inline .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-chips .td-mcap-right > div > strong { color: var(--ink) !important; }
body.stats-monoblock .td-mcap-right > div > *:first-child { color: var(--ink-3) !important; }
body.stats-monoblock .td-mcap-right > div > strong { color: var(--ink) !important; }
#custom-score-info { color: var(--ink-3) !important; }
.np-phase.emer { color: var(--green); color: #047857 !important; }
.np-phase.heat { color: var(--brand-amber); color: #BE123C !important; }
.np-phase.peak { color: #6d28d9; color: var(--brand-strong) !important; }
.np-phase.cool { color: #1d4ed8; color: #4338CA !important; }
.np-conf { color: var(--ink-2) !important; }
.np-conf.high { color: #047857 !important; }
.np-conf.med { color: #B45309 !important; background: rgba(255,180,0,0.10) !important; }
.np-conf.low { color: var(--ink-3) !important; }
.rf-btn-tiny.rf-btn-tiny-ghost:hover { border-color: var(--line-3); }
.rfpp-body > div:hover { border-color: var(--line-2); }
.btn-primary, .btn-primary:hover, .btn-primary:active,
button[type="submit"], button[type="submit"]:hover, button[type="submit"]:active,
.rf-btn-tiny.rf-btn-tiny-solid, .rf-btn-tiny.rf-btn-tiny-solid:hover, .rf-btn-tiny.rf-btn-tiny-solid:active,
.tb-wallet-connect, .tb-wallet-connect:hover, .tb-wallet-connect:active { color: #fff !important; }
.rf-btn-tiny.rf-btn-tiny-ghost:hover { border-color: var(--line-3); }
.card:hover, .stat-card:hover, .eco-card:hover, .g-card:hover,
.pr-card-wrap:hover, .td-pillars > div:hover { border-color: var(--line-2); }
.section > h2, .section h2:not(#valuation-section),
h2#valuation-section { color: var(--ink-3) !important; }
@media (max-width: 1024px){
}
@media (max-width: 768px){
}
@media (max-width: 480px){
}
@media (max-width: 768px){
.mobile-toggle { color: var(--ink); }
}
@media (max-width: 1024px){
}
@media (max-width: 768px){
}
@media (min-width: 641px) and (max-width: 1024px){
}
.td-row1 .tag.tag-more,
.td-price-left .tag.tag-more { color: var(--ink-2) !important; }
#watchlist-btn:hover { border-color: var(--brand); color: var(--brand-strong) !important; }
#wl-icon { color: var(--brand); }
.pt-title { color: var(--ink); }
.pt-close { color: var(--ink-2); }
.pt-close:hover { color: #fff; }
.pt-section { color: var(--ink-3); }
.pt-bg-opt.active { border-color: var(--brand); }
.pt-bg-label { color: var(--ink-2); }
.pt-bg-opt.active .pt-bg-label { color: var(--ink); }
.pt-btn-opt.active { border-color: var(--brand); }
html body .tb-search:focus-within { border-color: var(--brand-amber); }
.rf-btn-tiny.rf-btn-tiny-solid,
a.rf-btn-tiny.rf-btn-tiny-solid,
span.rf-btn-tiny.rf-btn-tiny-solid,
button.rf-btn-tiny-solid,
.tb-wallet-connect,
button.tb-wallet-connect,
.rf-btn-tiny.rf-btn-tiny-solid:hover,
a.rf-btn-tiny.rf-btn-tiny-solid:hover,
.tb-wallet-connect:hover,
button.tb-wallet-connect:hover,
.btn-primary:hover,
button[type="submit"]:hover { color: var(--text-on-brand) !important; }
.rf-btn-tiny.rf-btn-tiny-solid::after,
a.rf-btn-tiny.rf-btn-tiny-solid::after,
span.rf-btn-tiny.rf-btn-tiny-solid::after,
button.rf-btn-tiny-solid::after { color: var(--text-on-brand) !important; }
.wt-alloc-warning { color: #F87171; }
html body .wt-tpl-input { color: var(--text-light) !important; }
html body .wt-tpl-input::placeholder { color: var(--ink-3) !important; }
html body .wt-tpl-input:focus { border-color: var(--brand-amber); }
html body .tb-wallet-connect:hover { color: var(--text-on-brand) !important; }
html body #moves-table thead th { color: var(--text-muted) !important; }
.nav-collapse-btn { color: var(--text-muted); }
.nav-collapse-btn:hover { color: var(--text); border-color: rgba(255,255,255,0.18); }
html body .app-shell.nav-collapsed .sb-item::after { color: var(--text); }
@media (min-width: 769px){
}
@media (max-width: 768px){
}
.rfpp-score-base { color: var(--text-light); }
.rfpp-score-sep { color: var(--brand-amber); }
.rfpp-score-custom { color: var(--brand-amber); }
.rfpp-score-custom.has-custom { color: var(--brand); }
.rfpp-score-label { color: var(--ink-3); }
html body .chart-ctrl-btn { color: var(--ink-3) !important; }
html body .chart-ctrl-btn:hover:not(.active):not([disabled]) { color: var(--text) !important; }
#tweaks-panel .tw-title { color:var(--text-light); }
#tweaks-panel .tw-close { color:var(--ink-3); }
#tweaks-panel .tw-close:hover { color:var(--text-light); }
#tweaks-panel .tw-label { color:var(--ink-3); }
#tweaks-panel .tw-group { color:#6E6E78; }
#tweaks-panel .tw-mode.active { border-color:currentColor; }
#tweaks-panel .tw-name { color:#E5E5EA; }
#tweaks-panel .tw-acc.active { border-color:var(--text-light); }
#tweaks-panel .tw-acc.auto { color:#9A9AA2; }
#tweaks-panel .tw-acc.auto.active { color:var(--text-light); }

/* No drop shadow on the sidebar/topbar external edges (both themes).
   They keep glass bg + border; only the outer box-shadow is removed.
   Overrides components.css .topbar/.sidebar { box-shadow: var(--glass-shadow) }. */
.topbar, .sidebar { box-shadow: none; }

/* token_detail accent feature badges (Pattern Recognition / Strategy Backtesting):
   icon stays white on the colored badge — overrides the gold-badge dark-icon default. */
.pr-ai-badge--on-color svg { stroke: #fff; }

/* Similar Projects card hover — unified --hover-bg overlay (tiny amber in light), composited
   over the card surface. Matches the .section a[style*=background]:hover landmine specificity so
   it wins by source order: keep the border, drop the lift shadow. Dark variant in dark-colors.css. */
html body .section a.sim-token-card:hover { background-image: linear-gradient(var(--hover-bg), var(--hover-bg)) !important; border-color: var(--border-card) !important; box-shadow: none !important; }

/* Unify card-family hover with the rest of the platform: --hover-bg lift (composited over
   the card surface), no amber border / lift shadow / transform. Light variant. */
.card:hover, .stat-card:hover, .eco-card:hover, .g-card:hover, .eco-coin:hover, .eco-ring-card:hover {
  background-image: linear-gradient(var(--hover-bg), var(--hover-bg));
  border-color: var(--border-card);
  box-shadow: none;
  transform: none;
}

/* ── Keyboard focus ring (accessibility) ──────────────────────────────────────
   Lives here, NOT in components.css, deliberately: the global :focus-visible rules
   in components.css are silently dropped by a parser desync in that file (they
   never reach the CSSOM), so a ring written there never applies. This file loads
   after components.css + the component files and parses cleanly, so an !important
   ring here reliably beats the scattered `outline:none` focus rules. Gold ring,
   #FFB400 literal (identical in both themes). :focus-visible only fires on
   keyboard/AT focus — never on mouse click — so there are no rings on tap. */
/* NOTE: form fields (input/select/textarea) are deliberately EXCLUDED here. Text inputs
   match :focus-visible even on mouse click, so a global outline stacked a second ring on
   top of the focus styling every field already has — the generic
   `input:focus { border-color: var(--border-focus) }` above plus, on search-style fields,
   a `:focus-within` ring on their container. That produced the double highlight (a rounded
   pill + an inner rectangle). Links/buttons/summary/role/tabindex DO get the outline, since
   they often have no other focus indicator and keyboard a11y needs one. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #FFB400 !important;
  outline-offset: 2px !important;
}
