/* Canonical theme tokens, shared by shell and every module. */
.tc-app {
  --tc-bg: #FFFFFF;
  --tc-surface: #FFFFFF;
  --tc-fill: #F1F1EF;
  --tc-field: #F4F4F2;
  --tc-press: #F4F4F2;
  --tc-seg-on: #FFFFFF;
  --tc-seg-shadow: 0 1px 3px rgba(10,10,10,.08),0 0 0 .5px rgba(10,10,10,.06);
  --tc-text: #0A0A0A;
  --tc-text-body: #232322;
  --tc-text-2: #6B6B69;
  --tc-text-muted: #4A4A48;
  --tc-done-text: #767673;
  --tc-line: #ECECEA;
  --tc-line-strong: #DCDCD9;
  --tc-ring: #8E8E8B;
  --tc-chevron: #8C8C89;
  --tc-accent: #0A0A0A;
  --tc-on-accent: #FFFFFF;
  --tc-focus: #0A0A0A;
  --tc-ph-bg: #ECECEA;
  --tc-ph-text: #5E5E5C;
  --tc-scrim: rgba(10,10,10,.32);
  --tc-disabled-bg: #ECECEA;
  --tc-disabled-text: #6B6B69;
  --tc-grabber: #D6D6D3;
  --tc-font: Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;
  --tc-bar: #FFFFFF;
  --tc-group: #F2F2F0;
  --tc-danger: #C8372D;
  --tc-material: rgba(255,255,255,.78);
  --tc-q-press: #E3E3E0;
  --tc-q-sep: #D9D9D6;
  --tc-hl: rgba(10,10,10,.13);
  color-scheme: light;
}
.tc-app[data-theme="dark"] {
  --tc-bg: #0D0D0D;
  --tc-surface: #1A1A19;
  --tc-fill: #232322;
  --tc-field: #1C1C1B;
  --tc-press: #1A1A19;
  --tc-seg-on: #3A3A38;
  --tc-seg-shadow: 0 1px 2px rgba(0,0,0,.5);
  --tc-text: #F3F3F1;
  --tc-text-body: #DADAD7;
  --tc-text-2: #A3A3A0;
  --tc-text-muted: #C2C2BF;
  --tc-done-text: #8C8C89;
  --tc-line: #262625;
  --tc-line-strong: #3D3D3B;
  --tc-ring: #77776F;
  --tc-chevron: #7D7D7A;
  --tc-accent: #F3F3F1;
  --tc-on-accent: #0D0D0D;
  --tc-focus: #F3F3F1;
  --tc-ph-bg: #262625;
  --tc-ph-text: #A3A3A0;
  --tc-scrim: rgba(0,0,0,.6);
  --tc-disabled-bg: #232322;
  --tc-disabled-text: #8C8C89;
  --tc-grabber: #4A4A48;
  --tc-bar: #1C1C1E;
  --tc-group: #1C1C1E;
  --tc-danger: #FF6B5E;
  --tc-material: rgba(18,18,18,.78);
  --tc-cv-hole: #2A2824;
  --tc-q-press: #2C2C2B;
  --tc-q-sep: #3A3A38;
  --tc-cv-paper: #3A3730;
  --tc-cv-bg: #2A2721;
  --tc-hl: rgba(243,243,241,.26);
  color-scheme: dark;
}

/* Illustration-specific tokens keep their original selector scope. */
.tc-cv-tour{--tc-cv-hole:#EDEAE2;}
.tc-app[data-theme="dark"] .tc-cv-tour{--tc-cv-hole:#2A2824;}
.tc-cv-tarifs{--tc-cv-paper:#FFFFFF;--tc-cv-bg:#E6E1D5;}
.tc-app[data-theme="dark"] .tc-cv-tarifs{--tc-cv-paper:#3A3730;--tc-cv-bg:#2A2721;}
.tc-cv-questions{--tc-cv-paper:#FFFFFF;--tc-cv-bg:#E6E1D5;}
.tc-app[data-theme="dark"] .tc-cv-questions{--tc-cv-paper:#3A3730;--tc-cv-bg:#2A2721;}

/* Type roles shared by contextual headers and reading surfaces. */
:root{--tc-type-control-size:17px;--tc-type-control-leading:22px;--tc-type-title-size:26px;--tc-type-title-leading:32px;--tc-type-title-weight:600;--tc-type-title-tracking:-.015em;--tc-type-reading-size:17px;--tc-type-reading-leading:28px;--tc-type-note-size:15px;--tc-type-note-leading:23px}

:root{--tc-weight-heading:600;--tc-weight-card-title:500;--tc-weight-body:400}

/* Root gutters; panels and readers retain their own interior padding. */
.tc-shell{--tc-gutter:20px;--tc-content-max:1080px;--tc-root-inset:var(--tc-gutter)}
@media(min-width:700px){.tc-shell{--tc-gutter:32px}}
