@font-face{font-family:"IBM Plex Sans";src:url("/assets/fonts/ibm-plex-sans-latin-var.woff2") format("woff2");font-style:normal;font-weight:100 700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/ibm-plex-mono-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/ibm-plex-mono-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Literata";src:url("/assets/fonts/literata-latin-var.woff2") format("woff2");font-style:normal;font-weight:300 600;font-display:swap}
@font-face{font-family:"Literata";src:url("/assets/fonts/literata-italic-latin-var.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Public Sans";src:url("/assets/fonts/public-sans-latin-var.woff2") format("woff2");font-style:normal;font-weight:300 600;font-display:swap}

:root{
  /* palette carried verbatim from attorney-page/index.html, the source of truth */
  --ink:#14162E; --ink-2:#2C2F4A;
  --paper:#FBFAF7; --paper-2:#F1EFE9;
  --rule:#D9D5CB; --rule-2:#E7E4DC;
  --brand:#14543C;
  --muted:#5C5A54; --muted-2:#6E6C66;
  --invert-bg:#14162E; --invert-bg-2:#1B1E38;
  --invert-fg:#E8E7F2; --invert-fg-2:#A9ADD4;
  --invert-rule:#2F3358;
  --on-brand:#FBFAF7;

  /* every Wrenfield name kept, now an alias, so no selector in wrenfield.css changes */
  --bg:var(--paper); --raised:var(--paper-2); --text:var(--ink);
  --accent:var(--brand); --accent-text:var(--brand); --focus:var(--brand); --spark:var(--brand);
  --field:var(--rule); --sunken:var(--paper-2); --error:var(--brand);
  --on-accent:var(--on-brand);
  --hero-btn-bg:var(--brand); --hero-btn-fg:var(--on-brand);
  --panel:var(--invert-bg); --panel-text:var(--invert-fg);
  --panel-muted:var(--invert-fg-2); --panel-rule:var(--invert-rule);
  /* literal in both appearances: the panel is dark either way and the light brand is unreadable on it */
  --panel-accent:#86C9AC;
  --accent-soft:rgba(20,84,60,.10);
  --glass:rgba(241,239,233,.72);

  --radius-xs:7px; --radius-sm:10px; --radius-md:14px; --radius-lg:18px; --radius-pill:999px;
  --shadow-brand:0 12px 28px -10px rgba(20,84,60,.35);
  --dur-fast:140ms; --dur-base:220ms; --ease:cubic-bezier(.2,.8,.2,1);
  --shadow-card:0 1px 2px rgba(20,24,33,.05),0 2px 6px rgba(20,24,33,.04);
  --shadow-card-hover:0 6px 18px -6px rgba(20,24,33,.12),0 2px 6px rgba(20,24,33,.05);
  --serif:'Literata',Georgia,serif;
  --sans:'Public Sans',system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --measure:46rem; --wide:70rem; --bar:5rem;
}
[data-theme="dark"]{
  /* dark values carried verbatim from the same source */
  --ink:#F0EFED; --ink-2:#C9C7C3;
  --paper:#0B0B0B; --paper-2:#141414;
  --rule:#333333; --rule-2:#262626;
  --brand:#86C9AC;
  --muted:#A29F9A; --muted-2:#918E89;
  --invert-bg:#1A1A1A; --invert-bg-2:#242424;
  --invert-fg:#F0EFED; --invert-fg-2:#B8B5B0;
  --invert-rule:#3A3A3A;
  --on-brand:#0B0B0B;

  /* the same alias map, written again so every token is defined in both by construction */
  --bg:var(--paper); --raised:var(--paper-2); --text:var(--ink);
  --accent:var(--brand); --accent-text:var(--brand); --focus:var(--brand); --spark:var(--brand);
  --field:var(--rule); --sunken:var(--paper-2); --error:var(--brand);
  --on-accent:var(--on-brand);
  --hero-btn-bg:var(--brand); --hero-btn-fg:var(--on-brand);
  --panel:var(--invert-bg); --panel-text:var(--invert-fg);
  --panel-muted:var(--invert-fg-2); --panel-rule:var(--invert-rule);
  --panel-accent:#86C9AC;
  --accent-soft:rgba(134,201,172,.16);
  --glass:rgba(20,20,20,.92);

  --shadow-brand:0 12px 28px -10px rgba(134,201,172,.40);
  --shadow-card:0 1px 2px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.3);
  --shadow-card-hover:0 6px 18px -6px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4);
}
*,*::before,*::after{box-sizing:border-box}
