/* HTW Lecture Deck — tokens.css, generated from tokens.json */
:root, html[data-theme="light"] {
  --paper: #ffffff;
  --surface-100: #f5f5f7;
  --surface-200: #e8e8ed;
  --ink: #1d1d1f;
  --ink-muted: #6e6e73;
  --hairline: #d2d2d7;
  --navy: #0b1f3a;
  --on-navy: #ffffff;
  --navy-muted: #9fb0c8;
  --accent: #0f7a5a;
  --on-accent: #ffffff;
  --accent-on-navy: #3ecf98;
  --accent-soft: #e3f4ec;
  --signal-amber: #9a5b00;
  --signal-red: #b42318;
  --data-1: #0b1f3a;
  --data-2: #0f7a5a;
  --data-3: #2f7fc1;
  --data-4: #8e8e93;
  --data-5: #a86f00;
  --glass-fill: rgba(255,255,255,0.72);
  --glass-fill-deep: rgba(11,31,58,0.82);
  --glass-stroke: rgba(255,255,255,0.75);
  --glass-highlight: rgba(255,255,255,0.9);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --radius-none: 0px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-glass: 28px;
  --radius-pill: 999px;
  --duration-fast: 160ms;
  --duration-base: 320ms;
  --duration-slow: 560ms;
  --duration-count: 900ms;
  --duration-stagger: 60ms;
  --ease-out: cubic-bezier(0.2, 0, 0, 1);
  --ease-in-out: cubic-bezier(0.45, 0, 0.15, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --blur-glass: 24px;
  --blur-glass-sm: 12px;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.08);
  --shadow-glass: 0 12px 40px rgba(0,0,0,0.16), inset 0 1px 0 rgba(255,255,255,0.9);
  --font-sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "SF Mono", Menlo, Consolas, monospace;
}
html[data-theme="dark"] {
  --paper: #000000;
  --surface-100: #1d1d1f;
  --surface-200: #2c2c2e;
  --ink: #f5f5f7;
  --ink-muted: #a1a1a6;
  --hairline: #424245;
  --navy: #12294d;
  --on-navy: #f5f5f7;
  --navy-muted: #9fb0c8;
  --accent: #34c38f;
  --on-accent: #06261b;
  --accent-on-navy: #3ecf98;
  --accent-soft: #0f3d2e;
  --signal-amber: #f5b544;
  --signal-red: #f97066;
  --data-1: #7fa7e0;
  --data-2: #34c38f;
  --data-3: #6cb4ff;
  --data-4: #a1a1a6;
  --data-5: #f5b544;
  --glass-fill: rgba(29,29,31,0.62);
  --glass-fill-deep: rgba(11,31,58,0.82);
  --glass-stroke: rgba(255,255,255,0.18);
  --glass-highlight: rgba(255,255,255,0.3);
  --shadow-card: 0 1px 2px rgba(0,0,0,0.6), 0 8px 24px rgba(0,0,0,0.5);
  --shadow-glass: 0 12px 40px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.3);
}

.display { font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 72px; line-height: 1.0; font-weight: 600; letter-spacing: -0.02em; }
.numeral { font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 112px; line-height: 1.0; font-weight: 500; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.headline { font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 36px; line-height: 1.15; font-weight: 600; letter-spacing: -0.015em; }
.subhead { font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 24px; line-height: 1.3; font-weight: 500; letter-spacing: -0.01em; }
.body-lg { font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 22px; line-height: 1.4; font-weight: 400; }
.body { font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 18px; line-height: 1.45; font-weight: 400; }
.label { font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-size: 13px; line-height: 1.2; font-weight: 600; letter-spacing: 0.08em; }
.source { font-family: "IBM Plex Mono", "SF Mono", Menlo, Consolas, monospace; font-size: 12px; line-height: 1.4; font-weight: 400; font-variant-numeric: tabular-nums; }
