/* GENERATED by forge_genome.py - READ-ONLY DESIGN CONTRACT.
   All artifact CSS must consume var(--*) from this file. Raw color/font/duration
   literals in artifact CSS are lint failures (forge_design_check.py lint).
   fdg: fdg2://2026.06-1/3ab92bf0df2e3eb0/marketing/glass-structural/full-bleed-immersive/mono+1accent:h200:light/grotesque-only:4/4:1.25:airy/r17/bhairline/ssoft-ambient/mspringy/tnone
   mode: light | register: glass-structural | compiled: 2026-06-10T14:58:59+00:00 */

:root {
  --bg:               oklch(0.940 0.0075 205); /* #e6eded neutral step 1: page background, hue 205 (cool) */
  --surface-1:        oklch(0.928 0.0075 205); /* #e2e9e9 neutral step 2: raised surface, hue 205 (cool) */
  --surface-2:        oklch(0.905 0.0075 205); /* #dae1e2 neutral step 3: higher surface, hue 205 (cool) */
  --ink:              oklch(0.230 0.0075 205); /* #191e1f neutral step 12: primary text, hue 205 (cool), APCA Lc 85 vs surface-2 */
  --ink-2:            oklch(0.400 0.0075 205); /* #43494a neutral step 11: secondary text, hue 205 (cool), APCA Lc 73 vs surface-2 */
  --ink-3:            oklch(0.500 0.0075 205); /* #5f6465 neutral step 10: tertiary text, hue 205 (cool) */
  --line:             oklch(0.815 0.0075 205); /* #bdc4c5 neutral step 6: hairline borders, hue 205 (cool) */
  --line-strong:      oklch(0.750 0.0075 205); /* #a9afb0 neutral step 7: strong borders, hue 205 (cool) */
  --accent-1:         oklch(0.990 0.0124 200); /* #f3ffff step 1 */
  --accent-2:         oklch(0.982 0.0136 200); /* #effcfd step 2 */
  --accent-3:         oklch(0.955 0.0245 200); /* #def6f7 step 3 */
  --accent-4:         oklch(0.930 0.0381 200); /* #cbf0f2 step 4 */
  --accent-5:         oklch(0.900 0.0544 200); /* #b4eaec step 5 */
  --accent-6:         oklch(0.860 0.0707 200); /* #99e0e3 step 6 */
  --accent-7:         oklch(0.790 0.0898 200); /* #6eccd1 step 7 */
  --accent-8:         oklch(0.710 0.1115 200); /* #2cb6bd step 8 */
  --accent-9:         oklch(0.510 0.0868 200); /* #00757a step 9 solid: hue 200 from cast, C peak 0.136, on-accent Lc 69; L extended outside band to meet on-accent WCAG */
  --accent-10:        oklch(0.460 0.0783 200); /* #006569 step 10 hover (solid - 0.05 L) */
  --accent-11:        oklch(0.420 0.0715 200); /* #00585c step 11 APCA-tuned text, Lc >= 75 */
  --accent-12:        oklch(0.260 0.0445 200); /* #002a2c step 12 APCA-tuned text, Lc >= 90 */
  --accent:           var(--accent-9); /* solid accent role = step 9 */
  --accent-hover:     var(--accent-10); /* hover role = step 10 */
  --accent-subtle-bg: var(--accent-3); /* subtle fill role = step 3 */
  --accent-border:    var(--accent-7); /* accent border role = step 7 */
  --accent-text:      var(--accent-11); /* accent text role = step 11 */
  --on-accent:        var(--bg); /* white-ish (neutral step 1), |Lc| 69 / WCAG 4.63 vs accent-9 */
  --ok:               oklch(0.560 0.1100 145); /* #47854a state hue 145 fixed - reserved for state, never decoration; not part of the accent budget */
  --warn:             oklch(0.660 0.1200 85); /* #b48c2b state hue 85 fixed - reserved for state, never decoration; not part of the accent budget */
  --err:              oklch(0.550 0.1500 25); /* #b94642 state hue 25 fixed - reserved for state, never decoration; not part of the accent budget */
  --font-display:     "Unbounded", sans-serif; /* grotesque-only pairing index 4 - cast, not chosen */
  --font-body:        "Albert Sans", sans-serif; /* grotesque-only pairing index 4 - cast, not chosen */
  --font-mono:        "Space Mono", monospace; /* grotesque-only pairing index 4 - cast, not chosen */
  --text--1:          0.80rem; /* 16px x 1.25^-1 */
  --text-0:           1.00rem; /* 16px x 1.25^0 */
  --text-1:           1.25rem; /* 16px x 1.25^1 */
  --text-2:           1.56rem; /* 16px x 1.25^2 */
  --text-3:           1.95rem; /* 16px x 1.25^3 */
  --text-4:           2.44rem; /* 16px x 1.25^4 */
  --text-5:           3.05rem; /* 16px x 1.25^5 */
  --text-6:           3.81rem; /* 16px x 1.25^6 */
  --leading-body:     1.65; /* density: airy */
  --leading-display:  1.1; /* display leading, fixed */
  --tracking-caps:    0.06em; /* all-caps tracking, fixed */
  --space-1:          4px; /* base 4 x 1 */
  --space-2:          8px; /* base 4 x 2 */
  --space-3:          12px; /* base 4 x 3 */
  --space-4:          16px; /* base 4 x 4 */
  --space-5:          24px; /* base 4 x 6 */
  --space-6:          32px; /* base 4 x 8 */
  --space-7:          48px; /* base 4 x 12 */
  --space-8:          64px; /* base 4 x 16 */
  --space-9:          96px; /* base 4 x 24 */
  --radius-s:         8px; /* radius_px 17 / 2 */
  --radius:           17px; /* cast radius_px, exact */
  --radius-l:         26px; /* radius_px 17 x 1.5 */
  --border-w:         1px; /* border policy: hairline */
  --shadow-1:         0 1px 2px rgba(25, 30, 31, 0.05), 0 4px 12px rgba(25, 30, 31, 0.06); /* soft-ambient: two-layer key+ambient */
  --shadow-2:         0 2px 4px rgba(25, 30, 31, 0.05), 0 10px 24px rgba(25, 30, 31, 0.08); /* soft-ambient: two-layer key+ambient */
  --shadow-3:         0 4px 8px rgba(25, 30, 31, 0.06), 0 20px 48px rgba(25, 30, 31, 0.1); /* soft-ambient: two-layer key+ambient */
  --dur-micro:        150ms; /* motion: springy */
  --dur-small:        250ms; /* motion: springy */
  --dur-medium:       350ms; /* motion: springy */
  --ease-enter:       cubic-bezier(0.34,1.56,0.64,1); /* motion: springy */
  --ease-exit:        cubic-bezier(0.3,0,1,1); /* motion: springy */
  --ease-move:        cubic-bezier(0.34,1.56,0.64,1); /* motion: springy */
}

/* APCA REPORT (APCA W3 0.0.98G; WCAG2 = legal floor)
   pair                                  Lc    WCAG   minLc  minW     verdict
   ink / bg                            92.2   14.20    90.0   4.5     PASS
   ink / surface-1                     89.9   13.69    88.0   4.5     PASS
   ink / surface-2                     85.3   12.71    85.0   4.5     PASS
   ink-2 / bg                          79.6    7.73    75.0   4.5     PASS
   ink-3 / bg                          68.5    5.06    45.0   3.0     PASS
   accent-text / bg                    76.4    6.94    75.0   4.5     PASS
   accent-text / accent-2              84.6    7.85    75.0   4.5     PASS
   accent-text / accent-subtle-bg      79.8    7.31    70.0   4.5     PASS
   accent-12 / bg                      90.5   12.94    90.0   4.5     PASS
   on-accent / accent                 -69.5    4.63      60   4.5     PASS
   on-accent: WCAG >= 4.5 required; >= 3.0 with |Lc| >= 60 is the large/bold-text floor (WARN, not FAIL). */
