@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600&family=JetBrains+Mono:ital,wght@0,400;0,500;1,400&display=swap');
/* RGM blueprint overlay — tools + appendix family (.site-header/.primary-nav/.wrap/.hero/.section).
   Loaded after page inline styles. Dark default; [data-theme=light] restores original. */
:root{
  --ink:#FFFFFF; --paper:#0E2A4E; --paper-pure:#0A2243; --line:rgba(157,191,232,.22);
  --rule:rgba(157,191,232,.22); --rule-soft:rgba(157,191,232,.10);
  --blue:#8FC0EC; --blue-soft:#BCD6F4; --mute:rgba(255,255,255,.62); --green:#3FB46B; --gold:#E0A33E;
  --grot:'Archivo','Inter',system-ui,sans-serif; --sans:'Inter',system-ui,sans-serif; --mono:'JetBrains Mono',monospace;
  --gutter:clamp(18px,4vw,56px); --dgm:#FFFFFF; --dgm-soft:#9FC2EC; --dgm-green:#3FB46B; --soft:rgba(143,192,236,.07);
}
:root[data-theme="light"]{
  --ink:#0A0B0D; --paper:#F4F4F1; --paper-pure:#FFFFFF; --line:rgba(10,11,13,.14);
  --rule:rgba(10,11,13,.14); --rule-soft:rgba(10,11,13,.06);
  --blue:#1F4E8C; --blue-soft:#1F4E8C; --mute:rgba(10,11,13,.55); --gold:#C9A961;
  --dgm:#1F4E8C; --dgm-soft:#3E6FB0; --dgm-green:#1F8A4C;
}
html{background:var(--paper) !important}
body{background:
 linear-gradient(to right,var(--rule-soft) 1px,transparent 1px) 0 0/80px 80px,
 linear-gradient(to bottom,var(--rule-soft) 1px,transparent 1px) 0 0/80px 80px,
 radial-gradient(130% 90% at 70% -10%,#15396B 0,#0E2A4E 55%,#0A2243 100%) !important;counter-reset:rgsec}
h1,h2,h3,h4,.calc-title,.hero h1{font-family:var(--grot) !important;font-weight:800 !important;color:var(--ink) !important}
.hero p.lede,.calc-desc{color:var(--ink) !important}
p,li{color:var(--ink)}
a{color:var(--blue)}
.site-header{background:rgba(14,42,78,.74) !important;border-bottom:1px solid var(--rule) !important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.primary-nav a{color:var(--ink) !important}.primary-nav a.active{color:var(--blue) !important}
.primary-nav a.cta-link{background:var(--green) !important;color:#fff !important}
.hero{background:transparent !important;border-bottom:1px solid var(--rule) !important}
/* white cards -> dark drafting cards */
.tool-card,.calc,.calc-verdict,.howto,.entry-card,.training-cta,.section-block,.subcat-card{background:var(--paper-pure) !important;border-color:var(--rule) !important}
.disclaimer{background:rgba(224,163,62,.10) !important;border-color:rgba(224,163,62,.4) !important;color:var(--ink) !important}
.calc-result{background:rgba(143,192,236,.06) !important;border-color:var(--rule) !important}
.calc-result .out-value{color:var(--ink) !important}
/* readable form fields on dark */
.calc-field input,.calc-field select,input,select,textarea{background:#0E2A4E !important;color:#fff !important;border:1px solid var(--rule) !important}
.calc-field label,.calc-field .hint,.calc-result .out-label,.tool-card p,.calc-desc{color:var(--mute) !important}
/* footer (var(--ink) trap) -> stay dark */
.site-footer{background:#081B34 !important;color:rgba(255,255,255,.78) !important}
:root[data-theme="light"] .site-footer{background:#0A0B0D !important}
.site-footer h4,.site-footer .brand,.site-footer a:hover{color:#fff !important}.site-footer a{color:var(--blue-soft) !important}
/* green section numbers */
.section .wrap > h2::before,.wrap > h2::before{counter-increment:rgsec;content:counter(rgsec,decimal-leading-zero);display:block;font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--green);font-weight:500;margin-bottom:10px}
.calc-eyebrow,.tool-card .tag{color:var(--green) !important}
/* backdrop + toggle + reveal */
.bp-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:center}
.bp-bg .sub{width:150%;opacity:.24}.bp-bg .sub svg{display:block;width:100%;height:auto}
:root[data-theme="light"] .bp-bg .sub{opacity:.14}
.bp-bg .dim{position:absolute;inset:0;background:rgba(8,20,40,.40)}
:root[data-theme="light"] .bp-bg .dim{background:rgba(244,244,241,.5)}
body>*:not(.bp-bg):not(.bp-toggle){position:relative;z-index:1}
.bp-toggle{position:fixed;top:16px;right:64px;z-index:60;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--paper-pure);border:1px solid var(--rule);border-radius:2px;padding:7px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.bp-toggle:hover{border-color:var(--blue);color:var(--blue)}.bp-toggle .dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
@media(max-width:680px){.bp-toggle{right:46px;top:12px}}




/* contrast: panels/fields that used var(--soft) or hardcoded light highlights */
.related-tools,.formula,.soft-panel{background:var(--soft) !important;border-color:var(--rule) !important}
.related-tools h2,.related-tools h3{color:#fff !important}
.formula{color:var(--blue-soft) !important}
code,.kw,.keyword,.pill{background:rgba(143,192,236,.12) !important;color:var(--blue-soft) !important}
/* reveal animation — progressive enhancement: visible by default, animates only when JS adds .in */
@keyframes bp-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.bp-reveal.in{animation:bp-in .7s cubic-bezier(.2,.7,.1,1) both}
@media(prefers-reduced-motion:reduce){.bp-reveal.in{animation:none}}
