/* SMV Labs design system: tokens. Locked direction: round-1 "B · Dark" (Danny, 2026-10-27).
   Single source for colour, type, space, radius and motion. Every sheet and component uses ONLY these variables. */
@font-face{font-family:"Albert Sans";font-weight:300;font-style:normal;font-display:swap;src:url("../fonts/albert-sans/albert-sans-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Albert Sans";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/albert-sans/albert-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Albert Sans";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/albert-sans/albert-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Albert Sans";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/albert-sans/albert-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/ibm-plex-mono/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}
:root{
  /* Colour: black and white first, near-zero colour. */
  --c-ground:#0A0A0A;        /* app background */
  --c-surface:#151515;       /* cards, sheets */
  --c-raised:#202020;        /* controls on surface, pressed */
  --c-line:#2E2E2E;          /* seams, dividers, empty tracks */
  --c-text:#F5F4F1;          /* primary text, primary button, done states */
  --c-text-2:rgba(245,244,241,.72); /* secondary text */
  --c-text-3:#8C8C8A;        /* tertiary text, potential, inactive */
  --c-text-4:rgba(245,244,241,.38); /* disabled, placeholder */
  --c-on-light:#0A0A0A;      /* text on the white primary button */
  --c-error:#8E3B33;         /* oxblood: errors only */
  --c-scrim:rgba(10,10,10,.72);
  /* Type */
  --f-sans:"Albert Sans",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --t-share:300 200px/0.9 var(--f-sans);   --tr-share:-.06em;
  --t-display:300 124px/0.9 var(--f-sans); --tr-display:-.05em;
  --t-title1:300 46px/1.02 var(--f-sans);  --tr-title1:-.03em;
  --t-title2:300 38px/1.05 var(--f-sans);  --tr-title2:-.03em;
  --t-title3:400 28px/1.12 var(--f-sans);  --tr-title3:-.02em;
  --t-headline:500 20px/1.25 var(--f-sans);
  --t-lead:400 20px/1.3 var(--f-sans);
  --t-body:400 16px/1.4 var(--f-sans);
  --t-callout:400 14px/1.4 var(--f-sans);
  --t-footnote:400 12px/1.35 var(--f-sans);
  --t-button:600 17px/1 var(--f-sans);
  --t-label:600 10.5px/1.2 var(--f-sans);  --tr-label:.22em;   /* UPPERCASE labels only */
  --t-data:400 13px/1.3 var(--f-mono);
  --t-data-lg:400 15px/1.3 var(--f-mono);
  --t-tab:500 10.5px/1 var(--f-sans);
  /* Space (pt) */
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:44px;--s-8:56px;
  --margin:24px;             /* screen side margin */
  --tap:44px;                /* minimum touch target */
  /* Radius */
  --r-chip:999px;--r-segment:12px;--r-button:16px;--r-option:16px;--r-card:20px;--r-sheet:28px;--r-screen:48px;
  /* Depth: no drop shadows. Surface steps + 1px seams. */
  --seam:inset 0 0 0 1px var(--c-line);
  /* Motion */
  --ease:cubic-bezier(.2,0,0,1);--d-fast:160ms;--d-standard:240ms;--d-reveal:700ms;
  /* Photo treatment (production: real B&W grade, lifted shadows) */
  --photo-filter:grayscale(1) contrast(1.1) brightness(1.04);
}
