/* Ana Radu design system tokens — copied from design/_ds (fonts, colors, typography,
   spacing, elevation, motion, base). Do not invent values here; change them in the design system first. */

/* Fonts are self-hosted: see fonts.css. */

:root{
  --font-display:"Lora",Georgia,"Times New Roman",serif;
  --font-ui:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

  /* colors */
  --paper:#FFFFFF; --mint:#D4EBE1; --green:#4A957A; --apricot:#F3BD76; --ink:#2B2A2B;
  --ink-900:#2B2A2B; --ink-700:#4A4849; --ink-500:#6B696A; --ink-400:#858384; --ink-300:#A2A0A0; --ink-200:#C6C4C4; --ink-100:#E4E3E2;
  --green-900:#1E4A3B; --green-700:#2E6F58; --green-600:#3A8269; --green-500:#4A957A; --green-300:#94C7B2; --green-200:#B8DCCB; --green-100:#D4EBE1; --green-050:#EAF5F0;
  --apricot-700:#9A6424; --apricot-600:#D99A48; --apricot-500:#F3BD76; --apricot-300:#F8D8AE; --apricot-100:#FCEEDB;
  --surface-page:var(--paper); --surface-card:#FFFFFF; --surface-sunken:#F6F6F4; --surface-calm:var(--mint);
  --surface-calm-soft:var(--green-050); --surface-deep:var(--ink-900); --surface-accent-soft:var(--apricot-100);
  --text-heading:var(--ink-900); --text-body:var(--ink-700); --text-muted:var(--ink-500); --text-quiet:var(--ink-400);
  --text-on-deep:var(--paper); --text-on-deep-muted:#B9B7B7; --text-on-green:#FFFFFF; --text-link:var(--green-700); --text-link-hover:var(--ink-900);
  --line-hairline:var(--ink-100); --line-strong:var(--ink-200); --line-on-calm:#BCDCCD; --line-on-deep:#474546; --line-focus:var(--green-700);
  --action-primary:var(--green-600); --action-primary-hover:var(--green-700); --action-primary-press:var(--green-900);
  --action-quiet:transparent; --action-quiet-hover:var(--green-050); --action-accent:var(--apricot-500); --action-accent-hover:var(--apricot-600);
  --action-disabled-bg:var(--ink-100); --action-disabled-text:var(--ink-400);
  --status-ok:#3A8269; --status-ok-soft:var(--green-050); --status-note:#D99A48; --status-note-soft:var(--apricot-100);
  --status-alert:#A0523F; --status-alert-soft:#F5E4DF; --status-info:var(--ink-500); --status-info-soft:var(--surface-sunken);

  /* typography */
  --text-display:44px; --leading-display:1.08; --tracking-display:-0.01em;
  --text-h1:34px; --leading-h1:1.15; --tracking-h1:-0.005em;
  --text-h2:26px; --leading-h2:1.2;
  --text-h3:20px; --leading-h3:1.3;
  --text-lead:19px; --leading-lead:1.55;
  --text-body-size:16px; --leading-body:1.6;
  --text-small:14px; --leading-small:1.5;
  --text-caption:13px; --leading-caption:1.45;
  --text-eyebrow:12px; --leading-eyebrow:1.2; --tracking-eyebrow:0.16em;
  --weight-light:300; --weight-regular:400; --weight-medium:500; --weight-semibold:600;
  --measure-narrow:34ch; --measure-body:62ch; --measure-wide:78ch;

  /* spacing + radii */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
  --container-text:680px; --container-page:1120px;
  --radius-xs:4px; --radius-sm:8px; --radius-md:12px; --radius-lg:20px; --radius-xl:28px; --radius-pill:999px;

  /* elevation */
  --shadow-raised:0 1px 2px rgba(43,42,43,.05), 0 2px 8px rgba(43,42,43,.04);
  --shadow-card:0 1px 2px rgba(43,42,43,.05), 0 10px 28px rgba(43,42,43,.06);
  --shadow-overlay:0 18px 48px rgba(43,42,43,.14);
  --shadow-inset-quiet:inset 0 1px 0 rgba(255,255,255,.6);
  --focus-ring:0 0 0 3px rgba(58,130,105,.32);

  /* motion */
  --ease-calm:cubic-bezier(.32,.72,.32,1); --ease-out:cubic-bezier(.22,.61,.36,1);
  --duration-instant:90ms; --duration-quick:160ms; --duration-calm:260ms; --duration-slow:420ms;
  --lift-hover:-1px; --press-scale:.985;
}

/* base */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:var(--paper)}
body{color:var(--text-body);font-family:var(--font-ui);font-size:var(--text-body-size);line-height:var(--leading-body);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);font-weight:var(--weight-regular);margin:0}
h3{font-family:var(--font-ui);font-weight:var(--weight-semibold)}
p{margin:0}
a{color:var(--text-link);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--green-300);transition:color var(--duration-quick) var(--ease-out),text-decoration-color var(--duration-quick) var(--ease-out)}
a:hover{color:var(--text-link-hover);text-decoration-color:currentColor}
::selection{background:var(--green-100);color:var(--ink-900)}
:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px}
