/* Wytt foundations. Standalone: custom properties only, no reset or font downloads. */
:root{--color-primary:#C51A20;--color-primary-hover:#a01519;--color-success:#009F69;--color-error:#C51A20;--color-bg:#111111;--color-bg-card:#1C1C1C;--color-bg-hover:#2D2D2D;--color-text:#F5F5F5;--color-text-muted:#888888;--color-text-secondary:#666666;--color-border:#2D2D2D;--wytt-red:#C51A20;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--font-family:var(--wy-font-ui);--font-size-sm:0.875rem;--font-size-base:1rem;--transition-fast:var(--wy-duration-fast) var(--wy-ease);--transition-normal:300ms ease}

/* ─── Tokens Lajvard (charte, spec « Sindukht ») ─────────────────────────
   Les 12 variables de la charte. Tout le reste du fichier consomme les
   anciens noms (--wyPaper, --wyAccent…) : ils sont RE-MAPPÉS sur ces
   valeurs juste en dessous, donc une seule source de vérité couleur.
   ⛔ --wy-or = moments produit uniquement (succès, scores, glow) ; jamais
   un fond, jamais plus de 10 % d'une vue.
   ⛔ --wy-vermillon = micro-accent (erreur, nœud du logo) ; jamais une surface. */
:root{
  --wy-rail-x:var(--wy-s2); /* marge latérale des rails et de la barre de l’éditeur (alignement vertical) */
  --wy-rail-xr:calc(var(--wy-rail-x) - 2px); /* côté droit : la barre de défilement du rail équilibre la marge */
  --wy-lajvard:#3C3383;   /* marque, actions, titres forts */
  --wy-encre:#1E1B33;     /* texte */
  --wy-vermillon:#D8492A; /* erreurs, micro-accents */
  --wy-or:#D3A93C;        /* succès, scores, glow génération */
  --wy-or-sombre:#C09638; /* cloisonné des motifs */
  --wy-creme:#F3EEE2;     /* fond app */
  --wy-blanc:#FCF8EC;     /* cartes */
  --wy-manuscrit:#F6EFD8; /* cartouches, rail, anneaux du motif */
  --wy-sauge:#ADC0AD;     /* surfaces calmes, badges « publié » */
  --wy-firouzeh:#45B5AA;  /* gamme future — pas dans le cœur */
  /* Espacement 4/8/12/16/24/32 px (normes éditeurs) et rayons. */
  --wy-s1:4px; --wy-s2:8px; --wy-s3:12px; --wy-s4:16px; --wy-s6:24px; --wy-s8:32px;
  --wy-r-s:10px; --wy-r-m:14px;
  --wy-r-xs:6px; --wy-r-tip:7px; --wy-r-pill:999px;
  --wy-head:64px; --wy-view-max:1180px;
  --wy-page-gutter:calc(var(--wy-s8) + var(--wy-s2));
  --wy-page-top:calc(var(--wy-s8) + var(--wy-s2));
  --wy-page-bottom:calc(var(--wy-s8) * 2);
  --wy-hairline:1px;
  --wy-font-ui:'Schibsted Grotesk',sans-serif;
  --wy-font-editorial:'Eczar',serif;
  --wy-font-mono:'IBM Plex Mono',monospace;
  /* Texte des articles (éditeur, détail NLP) : Newsreader, titres en Eczar 600. */
  --wy-font-article:'Newsreader',Georgia,serif;
  --wy-weight-article:400;
  --wy-text-control:0.78125rem; --wy-text-control-lg:0.84375rem;
  --wy-text-label:0.65625rem; --wy-text-meta:0.6875rem;
  --wy-text-page:2.375rem; --wy-text-page-mobile:1.875rem;
  --wy-text-editor:1.125rem;
  --wy-text-h1:2rem; --wy-text-h2:1.5rem; --wy-text-h3:1.21875rem;
  --wy-leading-editor:1.6; --wy-leading-h1:1.2; --wy-leading-heading:1.25;
  --wy-text-body:0.875rem; --wy-text-field-mobile:1rem;
  --wy-duration-fast:150ms; --wy-duration-enter:160ms;
  --wy-duration-toast:180ms; --wy-duration-panel:250ms;
  --wy-duration-layout:280ms; --wy-duration-exit:350ms;
  --wy-ease:ease; --wy-ease-layout:cubic-bezier(.4,0,.2,1);
  --wy-disabled-opacity:.45;
  --wy-shadow-bar:0 2px 6px -2px rgba(var(--wyShdw),.12);
  --wy-shadow-card:0 6px 20px -10px rgba(var(--wyShdw),.14);
  --wy-shadow-rail:0 5px 18px -10px rgba(var(--wyShdw),.1);

  /* Contrôles (docs/product/mobile-standard.md) : 32 px, 40 px pour l’action
     principale d’une page ; 44 px partout sous 640 px. */
  --wy-ctl-h:32px; --wy-ctl-h-lg:40px;
  /* Colonne de texte édité (docs/product/editor-layout-spec.md) : le texte remplit le panneau
     central et s'arrête à cette mesure (≈ 105 signes en Newsreader 18 px). Les tableaux et images
     restent dans la même colonne. Sur très grand écran, l'éditeur l'agrandit avec le texte. */
  --wy-measure:820px;
  /* Éléments flottants (bulle, infobulle, toast, menu, dialogue, modale, support) : une
     ombre douce, symétrique, plus profonde pour ce qui couvre la page. */
  --wy-shadow-float:0 8px 24px -12px rgba(var(--wyShdw),.4),0 1px 2px rgba(var(--wyShdw),.08);
  --wy-shadow-dialog:0 24px 60px -24px rgba(var(--wyShdw),.55),0 2px 6px rgba(var(--wyShdw),.08);
}
@media (max-width:639.98px){:root {
  --wy-ctl-h:44px;
  --wy-ctl-h-lg:44px;
  --wy-page-gutter:var(--wy-s4);
  --wy-page-top:var(--wy-s6);
  --wy-page-bottom:var(--wy-s8)
}}

/* ─── Tokens (light) ────────────────────────────────────────────────── */
:root {
  --wyDesk:#E7DFCB;
  --wyPaper:var(--wy-creme);
  --wyCard:var(--wy-blanc);
  --wyRail:var(--wy-manuscrit);
  --wyLine:#E4DFCC;
  --wyLine2:#DED8C2;
  --wyLine3:#D8D2BF;
  --wyLine4:#EAE4D2;
  --wyTrack:#EDE6D4;
  --wyTrack2:#DED6C0;
  --wyHover:#EFE9D9;
  --wyRowline:var(--wyLine);
  --wyBandline:var(--wy-or-sombre);
  --wyInk:var(--wy-encre);
  --wyInk2:#17142A;
  --wyInk3:#2A2645;
  --wyInk4:#4A4560;
  --wyInk5:#6B6656;
  --wyInk6:#7A755F;
  --wyArticleInk:var(--wyInk3);
  --wyArticleHead:var(--wyInk2);
  --wyMute:#8A8472;
  --wyMute2:#9A947F;
  /* Neutre chaud : termes « à placer » (pastille, surlignage), texte --wyInk5. */
  --wyMuteBg:#EDE7D7;
  --wyMuteBd:#D3CBB6;
  --wyAccent:var(--wy-lajvard);
  --wyAccent2:#332B70;
  --wyOnAccent:var(--wy-creme);
  --wyBubLine:#3A3560;
  --wyBubActive:#4A4470;
  --wyGold2:#8A6512;
  --wyGold3:var(--wy-or-sombre);
  --wyOlive:#6F8E73;
  --wyOlive2:#4A6B4E;
  --wyOk:var(--wyOlive2);
  --wyOkBg:#CFDCCF;
  --wyOkBd:#9DB69E;
  --wyOkTint:#E4EBE4;
  --wyOkBd2:#B9CCB8;
  --wyOkTint2:#E9EFE9;
  --wyWarn:var(--wyGold2);
  --wyWarnBg:#F6EDD5;
  --wyWarnBd:#D9BD7A;
  --wyWarnTint:var(--wyWarnBg);
  --wyOverBg:#EDEAF3;
  --wyOverBd:#CFCADF;
  --wyOverBg2:#E3DFF0;
  --wySelBg:#C7C1CB;
  --wySelInk:var(--wy-encre);
  --wyScroll:#D3CBB6;
  --wyDanger:#A23A20;
  --wyDangerBg:#F8E4DD;
  --wyDangerBd:#E0A48F;
  --wyLapis:var(--wy-lajvard);
  --wyLapisBg:#E6E3F0;
  --wyAccentSoft:#D3CDE9;
  --wyLapisBd:#C6C1DF;
  --wyShimBase:#E7E0CD;
  --wyShimHi:rgba(255,251,240,.9);
  --wyShdw:30,27,51;
  --wyGrain:url(/images/atelier/grain-light-ef0328d06f4c7b57b36ab41340925d12.svg?vsn=d)
}

/* ─── Tokens (dark) — `.wy-dark` lives on <html> ────────────────────── */
/* --wyAccent sombre #928ADA : texte lajvard ≥ 4,5:1 sur --wyCard (4,72) et --wyPaper (5,45). */
html.wy-dark {
  --wyAccentSolid:#40368F;
  --wyAccentSolidHover:#483E9C;
  --wyOnAccentSolid:var(--wy-creme);
  --wyDesk:#16142A;
  --wyPaper:var(--wy-encre);
  --wyCard:#2A2547;
  --wyRail:#242038;
  --wyLine:#39335A;
  --wyLine2:#332E52;
  --wyLine3:#403A66;
  --wyLine4:var(--wyLine2);
  --wyTrack:var(--wyLine2);
  --wyTrack2:var(--wyLine3);
  --wyHover:#2F2A4E;
  --wyRowline:var(--wyLine2);
  --wyBandline:var(--wy-or-sombre);
  --wyInk:var(--wy-creme);
  --wyInk2:var(--wy-blanc);
  --wyInk3:#EDE7D8;
  --wyInk4:#D6D0C0;
  --wyInk5:#BDB7A6;
  --wyInk6:#ACA694;
  --wyArticleInk:#E9E4F3;
  --wyArticleHead:#F6F1E6;
  --wy-weight-article:460;
  --wyMute:#948E7E;
  --wyMute2:#847E6F;
  --wyMuteBg:#35314A;
  --wyMuteBd:#504A66;
  --wyAccent:#928ADA;
  --wyAccent2:#7A70CC;
  --wyOnAccent:var(--wy-encre);
  --wyBubLine:#4A4372;
  --wyBubActive:#3A3466;
  --wyGold2:var(--wy-or);
  --wyGold3:var(--wy-or-sombre);
  --wyOlive:#8FA891;
  --wyOlive2:var(--wy-sauge);
  --wyOk:var(--wy-sauge);
  --wyOkBg:#2C3A2E;
  --wyOkBd:#4E6650;
  --wyOkTint:#26302A;
  --wyOkBd2:#3C5040;
  --wyOkTint2:var(--wyOkTint);
  --wyWarn:var(--wy-or);
  --wyWarnBg:#3A2F16;
  --wyWarnBd:#5C4A1E;
  --wyWarnTint:var(--wyWarnBg);
  --wyOverBg:var(--wyLine2);
  --wyOverBd:var(--wyBubLine);
  --wyOverBg2:var(--wyLine2);
  --wySelBg:#585286;
  --wySelInk:var(--wy-blanc);
  --wyScroll:var(--wyLine3);
  --wyDanger:#E9836A;
  --wyDangerBg:#3A211A;
  --wyDangerBd:#5E3328;
  --wyLapis:#A9A0E8;
  --wyLapisBg:#282348;
  --wyAccentSoft:#3B3569;
  --wyLapisBd:#413A6B;
  --wyShimBase:var(--wyCard);
  --wyShimHi:rgba(243,238,226,.12);
  --wyShdw:0,0,0;
  --wyGrain:none
}
/* Mobile : la gouttière commune de 16 px reste la règle. */
@media (max-width:639.98px){:root{--wy-rail-x:var(--wy-s4);--wy-rail-xr:var(--wy-s4)}}
