/* ============================================================
   Prax — shared design tokens
   The ONLY thing shared across every page. Deliberately narrow.

   Resets and layout are NOT here. The landing pages and the
   exercises use different resets (the exercises zero all margins,
   the landing pages do not) and merging them would silently move
   the marketing layout. Tokens are byte-identical across all six
   pages, so they are safe to hoist; everything else stays local
   until there is time to reconcile it properly.

   Page-specific overrides go in each page's own <style>, which is
   loaded after this file and therefore wins.
   ============================================================ */

:root{
  /* paper / ink */
  --paper:#F5F0E6; --paper-soft:#EFE9DC; --paper-deep:#E5DDD0;
  --ink:#1A1814; --ink-soft:#2C2822; --ink-mute:#8B7E6C; --ink-ghost:#B8AE9D;

  /* accent + status */
  --accent:#B85C38; --accent-soft:#D78060; --accent-deep:#8F4527;
  --good:#6B8E5A; --warn:#C08A2E;

  /* rules */
  --line:rgba(26,24,20,.12); --line-strong:rgba(26,24,20,.22);

  /* type */
  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-body:"Instrument Sans","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  /* spacing scale — used by the landing pages, harmless elsewhere */
  --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:48px; --s-8:64px; --s-9:96px;

  /* measure — pages override: 1200 marketing, 1180 exercises */
  --max:1200px; --gut:clamp(20px,4vw,64px);
}

/* Cross-page chrome: the strip that returns you to the site from an
   exercise. Kept here because it is the one component every page
   shares and it must not drift. */
.praxBar{background:var(--ink);color:var(--paper-deep);font-family:var(--f-mono);font-size:11px;
  letter-spacing:.06em;}
.praxBar__in{max-width:var(--max);margin:0 auto;padding:7px 24px;display:flex;
  justify-content:space-between;align-items:center;gap:16px;}
.praxBar a{color:var(--paper-deep);text-decoration:none;border-bottom:1px solid rgba(245,240,230,.3);}
.praxBar a:hover{color:#fff;border-bottom-color:#fff;}
.praxBar__tag{color:var(--accent-soft);}

.praxLang{display:inline-flex;gap:2px;border:1px solid rgba(245,240,230,.28);border-radius:5px;overflow:hidden;}
.praxLang button{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;background:none;border:none;color:var(--paper-deep);padding:4px 9px;cursor:pointer;}
.praxLang button[aria-pressed="true"]{background:var(--paper-deep);color:var(--ink);}
