/* Escouade Meet · l'interface d'Escouade (ADR-2026-10-19 e du dépôt escouade).
   Chargée par `layout` après toutes les feuilles de l'espace et de la page de connexion, sous
   la classe `escouade` du <body> : la charte d'Escouade (identité du 28/09/2026, jetons de
   `_studio/escouade/tokens.css` du dépôt escouade, tels que escouade.io les sert) prend la
   place de celle de Robotmeet sans toucher aux écrans. Trois parties :
     1. Geist, embarquée (licence OFL, `assets/fonts/OFL-Geist.txt`) : la politique de
        sécurité n'autorise que les polices servies ici ;
     2. les jetons de `brand.css`, redéfinis aux valeurs d'Escouade : papier, encre, filets,
        Geist. Le vert du signal prend la place du violet, pour ce qui bouge seulement
        (l'admission et l'enregistrement en cours, le point du bouton principal) ; les jetons
        dérivés (`--action`, `--signal`…) sont reposés ici, faute de quoi ils garderaient les
        valeurs calculées sur :root ;
     3. ce que l'espace doit à la barre, qui est la coquille de la famille (`famille.rs`,
        dessinée par la bibliothèque, sa propre feuille `esf-` à `/assets/famille.css`) : la
        zone du haut du téléphone, qui laisse sa place à la tuile du tiroir ; puis la page de
        connexion.
   Clair seulement, comme le reste de l'espace (test `no_sheet_has_a_dark_theme`). */

/* ================================================================== 1. Geist */
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/geist-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/geist-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ================================================================== 2. Jetons */
/* Encre #0C0D0F, papier #FAFAF8, filets chauds ; le signal #19C58F ne se lit jamais en texte
   sur le clair (2,1:1) : sa forme écrite est #086648 (6,7:1). */
body.escouade{
  --esc-signal:#19C58F;
  --esc-signal-text:#086648;
  --iris:#0C0D0F;
  --iris-text:#0C0D0F;
  --ink:#0C0D0F;
  --white:#FFFFFF;
  --recording:#19C58F;
  --recording-soft:#DDF6EE;
  --recording-ink:#086648;
  --bg:#FAFAF8;
  --surface:#FFFFFF;
  --sunken:#F2F2EF;
  --group:#F2F2EF;
  --signal-soft:#F2F2EF;
  --tray:#EBEBE7;
  --ink-soft:#3D4047;
  --muted:#565A63;
  --faint:#9A9CA3;
  --line:#E6E6E1;
  --line-soft:#EFEFEB;
  --line-strong:#D6D6D0;
  --action:var(--ink);
  --action-strong:#26292F;
  --on-action:#FAFAF8;
  --signal:var(--iris);
  --on-signal:var(--ink);
  --link:var(--iris-text);
  --focus:var(--ink);
  --error:var(--ink);
  --error-soft:var(--sunken);
  --band:#0C0D0F;
  --band-ink:#FFFFFF;
  --band-mute:#8A8E97;
  --band-line:#26292F;
  --sp1:var(--iris);
  --sp2:var(--ink);
  --sp3:var(--faint);
  --font-display:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-ui:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:var(--font-ui);
  --shadow:0 1px 2px rgba(12,13,15,.012),0 12px 32px rgba(12,13,15,.03);
  --sh-1:0 1px 2px rgba(12,13,15,.06);
  --sh-2:0 1px 0 rgba(12,13,15,.02),0 24px 60px -30px rgba(12,13,15,.28);
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-ui);
}
/* Le contour de focus d'Escouade : l'encre, 2 px, décalé. */
body.escouade :focus-visible{outline-color:var(--focus)}

/* Le bouton principal d'Escouade : l'encre, et devant le libellé le point du signal, qui dit
   l'action (BTN-B du produit). Un bouton à icône garde son icône, sans point. Inerte, le
   point se creuse : rien ne bouge. */
body.escouade .button.button-primary:not(:has(svg))::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--esc-signal)}
body.escouade .button.button-primary:disabled::before,body.escouade .button.button-primary[aria-disabled="true"]::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--faint)}

/* La tuile d'Escouade (`mascot::escouade_meet`) : quatre modules, le « o » plein du signal. */
.esc-tuile{display:block;flex:none}
.esc-tuile .t{fill:var(--ink)}
.esc-tuile .m{fill:#FFFFFF}
.esc-tuile .o{fill:var(--esc-signal)}
body.escouade .esc-logotype{gap:10px;font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
/* La tuile en tête des pages des liens de lecture (`graphite_links::private_page`). */
body.escouade .rm-priv-brand .esc-tuile{width:24px;height:24px}

/* ================================================================== 3. La barre */
/* La barre est la coquille de la famille (`graphite_shell::coquille`, dessinée par la
   bibliothèque `robotmeet_famille`, la même pour Meet, Mail, Social et Tools) : le sélecteur
   et le repli en haut, les écrans au milieu, une seule ligne du compte collée en bas ; un
   rail quand elle est repliée, un tiroir sous 768 px. Sa feuille `esf-` est servie telle
   quelle, après celle-ci ; aucune règle de Meet ne la redessine. Elle porte aussi le nom de
   l'ancien rail (`workspace-sidebar`), que les applications de bureau déjà installées
   masquent dans leur vue : aucune feuille ne doit plus styler ce nom. */
/* `style.css` souligne tout lien survolé : pas ceux de la barre ni de son menu. */
body.escouade .esf-barre a:hover{text-decoration:none}

/* La zone du haut du téléphone : la tuile d'Escouade, fixe en haut à gauche, ouvre la barre
   en tiroir ; la zone lui laisse 52 px et ne porte plus que la cloche, à droite. */
body.escouade .site-header{background:rgba(250,250,248,.96)}
@media (max-width:760px){body.escouade .app-header{padding-left:52px}}
/* Entre le téléphone de Meet (760 px) et le tiroir de la coquille (768 px), la zone du haut
   n'est pas rendue : la page laisse la même place à la tuile. */
@media (min-width:761px) and (max-width:767.98px){body.escouade .esf-contenu{padding-top:52px}}

/* La page de connexion : la marque d'Escouade Meet, seule en haut. */
body.escouade .esc-door-head{justify-content:flex-start}
body.escouade .esc-door-head .brand{color:var(--ink);text-decoration:none}

@media print{body.escouade .esf-barre,body.escouade .esf-ouvrir,body.escouade .esf-voile{display:none}}
