/* Both themes share components and geometry. Only color variables change. */
:root{
 color-scheme:dark;
 --bg:#0C1426;--bg2:#121E36;--panel:#121E36;--panel2:#121E36;
 --txt:#F0F4FC;--text:#F0F4FC;--muted:#B6C2D8;
 --frame:#B8975A;--frame-inner:#8E7544;--divider:#8E7544;--frame-width:1px;--frame-inset:3px;--frame-inset-end:4px;
 --control-radius:6px;--card-border:var(--frame);--card-border-inner:var(--frame-inner);--line:var(--frame);
 --gold:var(--frame);--gold-dk:var(--frame);--gold-lt:var(--txt);--gold-text:var(--txt);
 --blue:#9DC4FF;--blue-lt:#9DC4FF;--green:#88D9A5;--red:#FFA3A3;
 --btn-bg:var(--panel);--btn-txt:var(--txt);--btn-border:var(--frame);--btn-hover-border:#DAC18F;
 --btn-primary-bg:#F6F1E6;--btn-primary-txt:#0F1A33;
 --hdr-bg:#0B1530;--hdr-txt:#F6F1E6;--hdr-brand:var(--hdr-txt);--hdr-border:var(--frame);--hdr-hover:#172844;
 --focus-ring:#9DC4FF;--selection-bg:#29456A;--selection-txt:#F0F4FC;
 --scroll-track:var(--bg);--scroll-thumb:var(--frame-inner);
 --surface-gold:var(--panel);--surface-gold-lt:var(--panel);--surface-gold-dk:var(--panel);
 --surface-blue:var(--panel);--surface-blue-lt:var(--panel);--surface-green:var(--panel);--surface-red:var(--panel);
 --on-bg:var(--txt);--on-bg2:var(--txt);--on-panel:var(--txt);--on-panel2:var(--txt);
}
:root[data-theme="light"]{
 color-scheme:light;
 --bg:#F6F1E6;--bg2:#FFFCF5;--panel:#FFFCF5;--panel2:#FFFCF5;
 --txt:#0F1A33;--text:#0F1A33;--muted:#4A5673;
 --blue:#1F4E9E;--blue-lt:#1F4E9E;--green:#166534;--red:#B42318;
 --btn-hover-border:#755E31;--btn-primary-bg:#0F1A33;--btn-primary-txt:#FFFCF5;
 --focus-ring:#1F4E9E;--selection-bg:#0F1A33;--selection-txt:#FFFCF5;
}
body{background:var(--bg);color:var(--txt)}
:is(h1,h2,h3,h4,h5,h6),:is(h1,h2,h3,h4,h5,h6) :is(span,em,strong),.hm-stat-value,.hm-proof{color:var(--txt)}
a{color:var(--blue-lt)}
/* No font, padding, dimensions, grid or menu structure changes between themes. */
:is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){background:var(--panel);color:var(--txt);border:var(--frame-width) solid var(--frame);border-radius:var(--control-radius)}
:is(button,.btn,.hm-button,.fr-button,[role="button"],input[type="submit"]){background:var(--btn-bg)!important;background-image:none!important;color:var(--btn-txt)!important;border:var(--frame-width) solid var(--btn-border)!important;border-radius:var(--control-radius)}
:is(button,.btn,.hm-button,.fr-button,[role="button"],input[type="submit"]):hover{border-color:var(--btn-hover-border)!important}
:is(.btn.gold,.hm-button-gold,.fr-button.gold,button[type="submit"],input[type="submit"],button.primary,.btn-primary){background:var(--btn-primary-bg)!important;color:var(--btn-primary-txt)!important}
:is(.card,.panel,.modal,.ad-stat,.hm-card,.hm-stat,.tool-list .item,.fr-card,.fr-section,.fr-group,.fr-post,.fr-box,.box,.bookaside,.bookmain,.price-card,.bos-seo-text){background:var(--panel);border:var(--frame-width) solid var(--frame)}
:is(.panel,.modal,.hm-card,.fr-card,.fr-box,.box,.bookaside,.bookmain,.price-card,.hm-hero,.hm-trust,.hm-materials,.hm-forum,.fc-center){box-shadow:inset 0 0 0 var(--frame-inset) var(--panel),inset 0 0 0 var(--frame-inset-end) var(--frame-inner)}
#bosOpenReg{background:var(--btn-primary-bg)!important;color:var(--btn-primary-txt)!important;border:var(--frame-width) solid var(--btn-border)!important;border-radius:var(--control-radius)}
#bosBackLink{background:var(--btn-bg)!important;color:var(--btn-txt)!important;border-color:var(--btn-border)!important;border-radius:var(--control-radius)}
:is(.tab,.tabs button,.badge,.tag,.fr-tag,.fr-tag-chip,.fr-badge,.fr-tab,[role="tab"],.nav-panel){background:var(--panel);color:var(--txt);border:var(--frame-width) solid var(--frame);border-radius:var(--control-radius)}
:is(table,pre,code){color:var(--txt)}
table{border-color:var(--frame)}
th{background:var(--panel2);color:var(--txt)}
:is(td,th,hr){border-color:var(--divider)}
footer.site{background:var(--panel);color:var(--muted);border-top:var(--frame-width) solid var(--frame)}
:is(.err,.error,.fr-error){color:var(--red)}
:is(.ok,.success){color:var(--green)}
::selection{background:var(--selection-bg);color:var(--selection-txt)}
html{scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
:focus-visible{outline-color:var(--focus-ring)!important}
.bos-theme-toggle{padding:4px 7px;font:inherit;cursor:pointer}
/* Calculator headers and the site header retain the same navy palette in both themes. */
header{background:var(--hdr-bg);color:var(--hdr-txt);border-color:var(--hdr-border)}
header.site{background:var(--hdr-bg);color:var(--hdr-txt);border-bottom:var(--frame-width) solid var(--hdr-border)}
.hm-hero h1 span,.hm-hero .hm-label,.hm-icon,.hm-proof{color:var(--txt)}
.hm-hero p,.hm-stat-label,.hm-stats-note{color:var(--muted)}
#forumApp .fc-center h2,#forumApp .fc-status-checking,#forumApp .fc-row-mark,#forumApp .fc-topics .unread .fc-topic-name a{color:var(--gold-text)}
header :is(h1,h2,h3,h4,p,a,.subtitle,.scoreboard-title,.scoreboard-title span),header.site :is(nav a,.nav-grp,.nav-burger,.nav-auth a,.nav-auth span,.bos-preferences){color:var(--hdr-txt)}
header :is(.brand-title,.brand),header.site .brand span{color:var(--hdr-brand)}
header.site :is(.nav-panel,.nav-burger,.btn){background:var(--hdr-bg)}
header.site :is(nav a:hover,nav a.active){background:var(--hdr-hover);border-color:var(--hdr-border)}
header.site :is(button,.btn,.bos-theme-toggle){background:var(--hdr-bg)!important;color:var(--hdr-txt)!important;border-color:var(--hdr-border)!important}
@media(max-width:720px){.bos-theme-toggle{padding:4px}.bos-preferences{gap:6px}header.site .brand{min-width:0}}
/* Text on "gold" surfaces: surfaces are theme panels now, so text follows the theme text colour. */
body .about-chain,body .msg-nav-badge,body .nf .acts a.gold,body .svc-price .row a.svc-demo:hover{color:var(--txt)}
body .about-chain{border:1px solid var(--card-border)}
