/* Strata : couleurs, polices et rayons de l’identité validée. */
@font-face {
  font-family: Inter;
  src: url(fonts/inter-latin-wght-normal.woff2);
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Inter Tight";
  src: url(fonts/inter-tight-latin-wght-normal.woff2);
  font-weight: 100 900;
  font-display: swap;
}
/* Strata / Plan minéral. Importer avant les styles applicatifs. */
:root,
[data-theme="light"] {
  --bg: #ffffff;
  --panel: #f5f3f6;
  --ink: #252129;
  --ink-2: #49414e;
  --muted: #68606c;
  --accent: #65446d;
  --accent-bg: #f0eaf3;
  --line: #dcd5e0;
  --line-strong: #84778b;
  --action: #252129;
  --on-action: #ffffff;
  --success: #236341;
  --success-bg: #ebf5ef;
  --warning: #7a4c13;
  --warning-bg: #fff4df;
  --error: #a32f3e;
  --error-bg: #fceef0;
  --grid: #ede8ef;
  color-scheme: light;
}
:root {
  --font-body: Inter, sans-serif;
  --font-heading: "Inter Tight", Inter, sans-serif;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --control-height: 36px;
  --page-gutter: 40px;
}
.dark,
[data-theme="dark"] {
  --bg: #19171d;
  --panel: #242129;
  --ink: #f5f1f7;
  --ink-2: #ddd5e1;
  --muted: #bcb1c3;
  --accent: #d4afdf;
  --accent-bg: #392d40;
  --line: #453c4c;
  --line-strong: #94869d;
  --action: #f5f1f7;
  --on-action: #252129;
  --success: #9ed6b5;
  --success-bg: #20372b;
  --warning: #f0ce8d;
  --warning-bg: #3c301d;
  --error: #f2adb7;
  --error-bg: #40272d;
  --grid: #2c2732;
  color-scheme: dark;
}
@media (max-width: 767px) {
  :root {
    --control-height: 44px;
    --page-gutter: 16px;
  }
}

:root {
  --font: var(--font-body);
  --paper: var(--bg);
  --selected: var(--accent-bg);
  --strong-line: var(--line-strong);
  --ok: var(--success);
  --ok-bg: var(--success-bg);
  --warn: var(--warning);
  --warn-bg: var(--warning-bg);
  --plaster: #e5e0db;
  --concrete: #b6ada8;
  --insulation: #ded3af;
  --render: #a69aa9;
  --wood: #c7a581;
  --radius: var(--radius-md);
  --radius-round: 50%;
  --motion: 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

:root {
  --shadow-color: color-mix(in srgb, var(--ink) 14%, transparent);
  --glass: color-mix(in srgb, var(--bg) 92%, transparent);
  --hero-veil: color-mix(in srgb, var(--bg) 82%, transparent);
}
:root {
  --overlay: color-mix(in srgb, var(--ink) 18%, transparent);
  --overlay-blur: 6px;
}
:root {
  --mask-solid: #000;
  --mask-clear: transparent;
  --hero-opacity: 0.19;
}
[data-theme="dark"] {
  --hero-opacity: 0.14;
}
:root {
  --surface: color-mix(in srgb, var(--bg) 90%, transparent);
  --surface-soft: color-mix(in srgb, var(--panel) 90%, transparent);
  --surface-accent: color-mix(in srgb, var(--accent-bg) 92%, transparent);
  --surface-blur: 4px;
}
:root {
  --glass: color-mix(in srgb, var(--bg) 64%, transparent);
  --glass-line: color-mix(in srgb, var(--ink) 20%, transparent);
  --glass-blur: 14px;
}
[data-theme="dark"] {
  --glass: color-mix(in srgb, var(--bg) 70%, transparent);
}
:root {
  --cut-selector-duration: 200ms;
  --cut-render-duration: 360ms;
  --cut-transition-ease: cubic-bezier(0, 0, 0.2, 1);
}
:root {
  --label-reveal-duration: 230ms;
  --label-reveal-ease: cubic-bezier(0, 0, 0.2, 1);
}
