/* Standalone document adapter, pinned to the WI-styled /tools palette/type.
 * Original HTML, calculation scripts, responsive geometry and semantic chart colors stay intact. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
  --paper: #0d1c1b; --paper-2: #152c29; --card: #152c29; --inset: #213b37;
  --line: #82978f; --line-2: #82978f; --ink: #f7faf9; --muted: #c2d2cb; --soft: #c2d2cb;
  --gold: #d8b332; --gold-dim: #d8b332;
  --sans: 'DM Sans', sans-serif; --serif: 'Manrope', sans-serif;
}
/* Free calculator only: hide decorative hairlines without moving box edges.
 * Editable-field underlines, focus rings, chart lines and table rules are not targeted. */
.wrap :is(.defcard, .presets, .card, .callout, .force, .hero, .probar, .situation, .mile, .lock, .proj, .cta, .pill, .chip, .toggle, .checkrow, .btn, .activebanner, .stress),
.optin-panel, .info .bubble, .tip { border-color: transparent !important; }
.sechead { border-bottom-color: transparent; }
:root { --readable-body: 1rem; --readable-support: .875rem; --readable-caption: .75rem; }
.field label, .presets p, .callout b, .situation h3, .situation div, .cta p, .lock { font-size: var(--readable-body); }
.defcard a, .chip, .btn, .toggle button, .checkrow, .callout p, .legend, .chartopts, .disclaimer, .optin-note, .optin-fields label, .force .fv, .mile .md { font-size: var(--readable-support); }
.eyebrow, .stat .sl, .mile .mn, .force .fs, .badge { font-size: var(--readable-caption); }
.secbody > p[style*="font-size"] { font-size: var(--readable-support) !important; }
.sechead h2, .force .fh { font-size: 1.1rem; }
.lock { font-size: 1rem; }
.lock b { color: #ffffff; font-size: 1.1rem; }
.cta .btns .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .8rem 1.25rem; font-size: 1rem; text-align: center; }
h1, h2, h3 { font-family: 'Manrope', sans-serif; }
h1, .hero h2, .stresshead, .cta h2, .optin-panel h2 { font-weight: 700; }
.eyebrow, .btn, .toggle button { font-family: var(--sans); }
.btn.gold { min-height: 48px; padding: .8rem 1.25rem; font-size: 1rem; color: #13211d; }
.chip.on, .toggle button.on, .toast { color: #13211d; }
#sticky { background: #0d1c1bf2; }
.info .bubble, .info .bubble::before, .tip { background: var(--inset); }
.callout, .hero, .optin-panel { border-color: var(--line); background: var(--paper-2); }
.hero .evnum { text-shadow: none; }
.cta { background: var(--paper-2); }
.track { background: var(--inset); }
input[type=range] { background: linear-gradient(to right, var(--gold) 0%, var(--gold) var(--p,50%), var(--inset) var(--p,50%), var(--inset) 100%); }
input[type=range]::-webkit-slider-thumb { border-color: #13211d; }
input[type=range]::-moz-range-thumb { border-color: #13211d; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.wi-utility-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; padding: 18px 28px; background: var(--paper); font-family: var(--sans); }
.wi-utility-nav a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; min-width: 166px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); font-size: 16px; font-weight: 500; text-decoration: none; }
.wi-utility-nav .wi-signup { background: var(--gold); color: #13211d; border-color: var(--gold); font-weight: 700; transition: opacity .16s; }
.wi-utility-nav .wi-signup:hover { opacity: .8; }
.wi-utility-nav .wi-outline:hover { background: var(--inset); }
.wi-utility-nav .wi-return { margin-right: auto; min-width: 0; padding: 0; border: 0; border-radius: 0; justify-content: flex-start; text-decoration: none; }
.wi-utility-nav .wi-return::before { content: "←"; }
.wi-utility-nav .wi-return:hover { text-decoration: none; }
.cta a[href="https://www.chrisdunn.com/blog/financial-escape-velocity"]::after { content: "→"; margin-left: 10px; }
.wi-utility-footer { border-top: 0; padding: 28px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 28px; font: 14px/1.6 var(--sans); color: var(--muted); background: var(--paper); }
.wi-utility-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.wi-utility-footer a, .wi-utility-footer a:hover { color: var(--muted); text-decoration: none; }
@media (max-width: 700px) {
  .wi-utility-nav .wi-return { flex-basis: 100%; }
  .wi-utility-nav { padding: 16px 20px; gap: 10px; }
  .wi-utility-nav .wi-outline { min-width: 0; }
  .wi-utility-nav .wi-signup { min-width: 100px; }
  .wi-utility-footer { padding: 24px 20px; }
}
