/* Family Defense Institute · v2 dark theme
   Light is the default (v2.css + page styles, untouched). Dark is a monochrome, Vercel-style black
   layered on top, switched from the menu and remembered per browser (assets/theme.js).
   Selectors are prefixed with html[data-theme] so they outrank the page-level styles. */

html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#000; --sheet:#0A0A0A; --sheet-glow:#161616; --surface:#0A0A0A; --surface-2:#111; --surface-3:#1A1A1A;
  --line:#FFFFFF1A; --line-2:#FFFFFF2E;
  --text:#EDEDED; --text-2:#A1A1A1; --text-3:#8F8F8F;
  --accent:#EDEDED; --accent-bg:#EDEDED; --accent-fg:#000; --accent-soft:#FFFFFF1A;
  --inv-bg:#EDEDED; --inv-text:#000; --inv-hover:#FFFFFF;
  --navy:#0A0A0A; --foot:#000;
  --blue-50:#1A1A1A; --blue-500:#EDEDED; --blue-600:#FFFFFF; --blue-700:#EDEDED; --blue-800:#FFFFFF; --blue-900:#111;
  --bg-2:#FFFFFF1F; --bg-3:#FFFFFF0F; --grey-50:#0A0A0A; --border:#FFFFFF1A;
  --green:#45DE87; --red:#FF6166;
  --float:0 0 0 1px #FFFFFF1A,0 16px 40px 0 #00000080;
}

/* ---------- overrides ---------- */
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .sheet-bg{background:var(--sheet)}
html[data-theme="dark"] .sheet-bg i{background:radial-gradient(40% 40% at 30% 20%,var(--sheet-glow),transparent),radial-gradient(50% 50% at 75% 75%,var(--sheet-glow),transparent),var(--sheet)}
html[data-theme="dark"] .sheet-bg{box-shadow:inset 0 0 0 1px var(--line)}

/* buttons */
html[data-theme="dark"] .pill.black{background:var(--inv-bg);color:var(--inv-text)}
html[data-theme="dark"] .pill.black:hover{background:var(--inv-hover)}
html[data-theme="dark"] .pill.white{background:var(--surface-2);color:var(--text);box-shadow:0 0 0 1px var(--line-2)}
html[data-theme="dark"] .pill.white:hover{background:var(--surface-3)}
html[data-theme="dark"] .pill.navy{background:var(--accent-bg);color:var(--accent-fg)}
html[data-theme="dark"] .pill:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}
html[data-theme="dark"] .skip{background:var(--inv-bg);color:var(--inv-text)}

/* labels, sections, cards */
html[data-theme="dark"] .tag,
html[data-theme="dark"] .wr-featured{background:var(--accent-soft);color:var(--accent)}
html[data-theme="dark"] .sec.navy,
html[data-theme="dark"] .cta-box{background:var(--navy);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme="dark"] .card,
html[data-theme="dark"] .wk-stage,
html[data-theme="dark"] .ar-doc{background:var(--surface);box-shadow:0 0 0 1px var(--line)}
html[data-theme="dark"] .tri > *,
html[data-theme="dark"] .steps li{box-shadow:0 0 0 1px var(--line)}
html[data-theme="dark"] .steps li::before{background:var(--surface-3);color:var(--accent)}
html[data-theme="dark"] .wr-filters button[aria-pressed="true"]{background:var(--inv-bg);color:var(--inv-text)}
html[data-theme="dark"] .ar-doc blockquote mark{background:var(--accent-soft);color:var(--accent)}

/* forms */
html[data-theme="dark"] .form input,
html[data-theme="dark"] .form select,
html[data-theme="dark"] .form textarea{background:var(--surface-2);border-color:var(--line-2);color:var(--text)}
html[data-theme="dark"] .form input::placeholder,
html[data-theme="dark"] .form textarea::placeholder{color:var(--text-3)}
html[data-theme="dark"] .form input:focus,
html[data-theme="dark"] .form select:focus,
html[data-theme="dark"] .form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}

/* menu */
html[data-theme="dark"] .scrim{background:#0008}
html[data-theme="dark"] .menu{background:var(--surface);box-shadow:0 30px 80px #0009,0 0 0 1px var(--line-2)}
html[data-theme="dark"] .menu .x{background:var(--bg-3)}
html[data-theme="dark"] .menu .x:hover{background:var(--bg-2)}
html[data-theme="dark"] .menu .x svg{stroke:var(--text)}

/* footer */
html[data-theme="dark"] footer.site{background:var(--foot);border-top:1px solid var(--line)}
html[data-theme="dark"] .bignav a{color:var(--text)}
html[data-theme="dark"] .bignav a:hover{color:var(--accent)}

/* ---------- home page pieces ---------- */
html[data-theme="dark"] .acc-p{box-shadow:0 0 0 1px var(--line)}
html[data-theme="dark"] .acc-p.on{box-shadow:var(--float)}
html[data-theme="dark"] .acc-p.p1{background:linear-gradient(170deg,var(--surface-3),var(--surface))}
html[data-theme="dark"] .acc-p.p2{background:radial-gradient(120% 90% at 50% 120%,#1F1F1F,#000 70%);box-shadow:0 0 0 1px var(--line)}
html[data-theme="dark"] .acc-p.p3{background:linear-gradient(160deg,var(--surface-2),var(--surface))}
html[data-theme="dark"] .acc-p .go:hover{color:var(--accent)}
html[data-theme="dark"] .bub-q{background:var(--accent-bg);color:var(--accent-fg)}
html[data-theme="dark"] .bub-a,
html[data-theme="dark"] .excerpt,
html[data-theme="dark"] .chatbox{background:var(--surface-2);box-shadow:0 0 0 1px var(--line);border-color:var(--line-2)}
html[data-theme="dark"] .excerpt.alt{background:var(--surface-3)}
html[data-theme="dark"] .bub-a mark{color:var(--accent)}
html[data-theme="dark"] .excerpt mark{background:var(--accent-soft);color:var(--accent)}
html[data-theme="dark"] .cite{background:var(--accent-soft)}
html[data-theme="dark"] .cite b{background:var(--surface-3);color:var(--accent)}
html[data-theme="dark"] .chatbox i{background:var(--accent-bg)}
html[data-theme="dark"] .chatbox i svg,
html[data-theme="dark"] .check svg{stroke:var(--accent-fg)}
html[data-theme="dark"] .take{color:var(--accent)}

/* feature tiles */
html[data-theme="dark"] .tile{box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme="dark"] .t-pages{background:var(--surface)}
html[data-theme="dark"] .t-pages .pg{background:var(--surface-3);box-shadow:0 0 0 1px var(--line-2),0 10px 30px #0008}
html[data-theme="dark"] .t-pages .pg i{background:#FFFFFF1f}
html[data-theme="dark"] .t-pages .pg i.h{background:var(--accent)}
html[data-theme="dark"] .t-pages .pg i.m{background:var(--accent-soft)}
html[data-theme="dark"] .seal{background:var(--surface-2);box-shadow:0 0 0 1px var(--line-2)}
html[data-theme="dark"] .t-clock{background:linear-gradient(180deg,var(--surface-2),var(--surface))}
html[data-theme="dark"] .ring{background:conic-gradient(var(--accent) 0 var(--p,0%),#FFFFFF14 var(--p,0%) 100%);box-shadow:0 20px 50px #0006}
html[data-theme="dark"] .ring div{background:var(--surface)}

/* floating cards */
html[data-theme="dark"] .fcard,
html[data-theme="dark"] .login{background:var(--surface-2)}
html[data-theme="dark"] .fcard .btnsm{background:var(--accent-bg);color:var(--accent-fg)}
html[data-theme="dark"] .row-item{border-top-color:var(--line)}
html[data-theme="dark"] .dot,
html[data-theme="dark"] .login b{background:var(--accent-soft);color:var(--accent)}
html[data-theme="dark"] .check,
html[data-theme="dark"] .track .n,
html[data-theme="dark"] .track .ln{background:var(--accent-bg)}
html[data-theme="dark"] .track .n.cur{background:var(--surface-2);border-color:var(--accent-bg);box-shadow:0 0 0 5px var(--accent-soft)}
html[data-theme="dark"] .track .n.off,
html[data-theme="dark"] .track .ln.off{background:#FFFFFF1f}
html[data-theme="dark"] .drop{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}

/* dark is monochrome: neutral greys where the other themes use blue */
html[data-theme="dark"] .mk b:nth-child(1){background:#EDEDED}
html[data-theme="dark"] .mk b:nth-child(2){background:#8F8F8F}
html[data-theme="dark"] .mk b:nth-child(3){background:#4D4D4D}
html[data-theme="dark"] .hero-h span,
html[data-theme="dark"] .page-head h1 span{color:#8F8F8F}
html[data-theme="dark"] .t-data{background:radial-gradient(120% 80% at 50% 110%,#262626,#000 70%)}
html[data-theme="dark"] .t-pages .pg i.h{background:#EDEDED}
html[data-theme="dark"] .acc-p.p2 .go:hover{color:var(--text-2)}

/* ---------- dark mode switch (in the menu) ---------- */
.menu .theme-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:18px 8px 0;border-top:1px solid var(--border);font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--text)}
.switch-btn{position:relative;width:52px;height:30px;flex:none;border:0;border-radius:40px;background:#000C1F26;cursor:pointer;transition:background .25s var(--ease)}
.switch-btn::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .35s var(--ease)}
.switch-btn[aria-checked="true"]{background:var(--blue-900)}
.switch-btn[aria-checked="true"]::after{transform:translateX(22px)}
.switch-btn:focus-visible{outline:2px solid var(--blue-600);outline-offset:3px}
html[data-theme="dark"] .switch-btn[aria-checked="true"]{background:var(--inv-bg)}
html[data-theme="dark"] .switch-btn[aria-checked="true"]::after{background:#000}
