/* EST-CE UNE ARNAQUE ? Encres propres ; le reste vient de ../commun/socle.css.
   Signature : le message collé, relu au surligneur. Chaque extrait suspect est surligné et numéroté,
   et la même pastille renvoie à l'explication, phrase par phrase. Public : des parents et grands-parents,
   d'où un texte de base à 18 px, des cibles de 52 px et un mode « gros texte ». */
:root{
  --fond:#EDF0F4;--encre:#14162B;--accent:#14162B;--accent2:#14162B;--sur-accent:#fff;--alerte:#B3261E;
  --carte:#FFFFFF;--doux:#454B5C;--filet:#C9CFDA;--teinte:#E2E6EE;
  --surligneur:#FFE14D;--surligneur-bord:#E8C300;
  --tres:#A3221B;--tres-fond:#FBE7E4;--verifier:#7F4600;--verifier-fond:#FFF0D0;--rien:#1B5E43;--rien-fond:#E1F0E7;
  --rayon:14px;
}
html[data-taille="grand"]{font-size:125%}
body{font-size:1.125rem;line-height:1.6}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}
.marque img{width:30px;height:30px;flex:none}
.etiq{color:var(--doux)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{
  outline:3px solid var(--encre);outline-offset:3px;box-shadow:0 0 0 7px var(--surligneur)}

/* En-tête */
.tete{flex-wrap:wrap;row-gap:10px;background:var(--fond)}
.tete-liens{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}
.tete-liens a{font-weight:600;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.bascule-taille{font:700 .95rem var(--texte);min-height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--encre);
  background:transparent;color:var(--encre);cursor:pointer}
.bascule-taille[aria-pressed="true"]{background:var(--encre);color:#fff}

/* Mise en page */
.page{max-width:1120px;margin:0 auto;padding:28px var(--gouttiere) 0;display:grid;gap:28px}
.saisie,.resultat,.proches,.historique,.memo,.intro-fiches{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);
  padding:clamp(20px,3.5vw,40px)}
.saisie{max-width:780px;width:100%;justify-self:center}
.saisie h1{margin:8px 0 12px;font-size:clamp(2.2rem,1.5rem + 3vw,3.4rem)}
.chapo{font-size:1.15rem;max-width:58ch}

/* Formulaire */
.formulaire{display:grid;gap:12px;margin-top:24px}
.formulaire label{font-size:1.02rem}
.formulaire .aide{font-size:.92rem}
.facultatif{font-weight:400;color:var(--doux)}
textarea{min-height:190px;font-size:1.05rem;line-height:1.5}
input,textarea{border-width:2px;border-color:#B7BECB}
.compteur{font-family:var(--mono);font-size:.78rem;color:var(--doux);margin-top:-6px;text-align:right}
.canaux{border:0;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.canaux legend{font-weight:600;font-size:1.02rem;margin-bottom:8px;padding:0}
.canal{display:block;position:relative;font-weight:400}
.canal input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;min-height:0}
.canal span{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:12px;border:2px solid #B7BECB;
  background:var(--fond);font-weight:700;font-size:1.02rem}
.canal input:checked+span{background:var(--encre);border-color:var(--encre);color:#fff}
.canal input:focus-visible+span{outline:3px solid var(--encre);outline-offset:3px;box-shadow:0 0 0 7px var(--surligneur)}
.erreur{color:var(--tres);font-weight:700;background:var(--tres-fond);border-radius:8px;padding:10px 12px}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.formulaire .actions{margin-top:8px}
.bouton{min-height:52px;font-size:1.05rem;padding:0 24px}
.bouton:disabled{opacity:.55;cursor:progress}
.confiance{font-size:.95rem;color:var(--doux)}

/* Verdict */
.resultat{display:grid;gap:28px;outline:none}
.verdict{--c:var(--rien);--f:var(--rien-fond);display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;
  background:var(--f);border-radius:12px;padding:20px 22px;border-left:8px solid var(--c)}
.verdict[data-niveau="tres-suspect"]{--c:var(--tres);--f:var(--tres-fond)}
.verdict[data-niveau="a-verifier"]{--c:var(--verifier);--f:var(--verifier-fond)}
.verdict-icone{width:48px;height:48px;color:var(--c);margin-top:4px}
.verdict-etiq{margin:0 0 2px}
.verdict-mot{font-family:var(--titre);font-weight:600;font-size:clamp(1.9rem,1.4rem + 2vw,2.6rem);line-height:1.1;color:var(--c);letter-spacing:-.02em}
.verdict-phrase{margin-top:8px;max-width:62ch;font-size:1.08rem}
.verdict-compte{margin-top:8px;font-family:var(--mono);font-size:.8rem;color:var(--doux)}

.colonnes{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:32px;align-items:start}
.colonne{display:grid;gap:16px;min-width:0}
@media (min-width:861px){.colonne+.colonne{position:sticky;top:16px}}
.colonne h2{font-size:1.4rem}
.colonne h2:not(:first-child){margin-top:14px}
.colonne h3{font-family:var(--texte);font-weight:700;font-size:1.05rem;margin-top:6px}

/* La bulle : le message tel qu'il est arrivé, relu au surligneur */
.bulle{background:var(--fond);border-radius:20px 20px 20px 6px;padding:16px 18px 18px;border:1px solid var(--filet)}
.bulle[data-canal="courriel"]{border-radius:10px}
.bulle[data-canal="appel"]{border-radius:10px;border-left:5px dashed var(--doux)}
.bulle-tete{font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;color:var(--doux);margin-bottom:8px;overflow-wrap:anywhere}
.bulle-texte{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.05rem;line-height:1.85}
mark{background:linear-gradient(176deg,transparent 6%,var(--surligneur) 7%,var(--surligneur) 93%,transparent 94%);color:inherit;
  padding:.05em .2em;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.pastille{display:inline-grid;place-items:center;min-width:1.45em;height:1.45em;padding:0 .3em;border-radius:999px;background:var(--encre);color:#fff;
  font:400 .72em/1 var(--mono);margin-right:.3em;vertical-align:.12em}

.phrases{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.phrase{border-top:1px solid var(--filet);padding-top:14px}
.phrase:first-child{border-top:0;padding-top:0}
.phrase blockquote{margin:0 0 10px;padding:0 0 0 14px;border-left:3px solid var(--surligneur-bord);font-size:1.02rem;overflow-wrap:anywhere;line-height:1.8}
.signes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.signes li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.pastilles{display:flex;flex-direction:column;gap:4px;margin-top:.2em;font-size:1.1rem}
.pastilles .pastille{margin:0}
.signes p{font-size:1rem;overflow-wrap:anywhere}
.signes strong{font-weight:700}
.vide-signes{color:var(--doux)}

/* Que faire, où signaler */
.faire{margin:0;padding:0;list-style:none;counter-reset:faire;display:grid;gap:12px}
.faire li{counter-increment:faire;display:grid;grid-template-columns:2.1rem minmax(0,1fr);gap:10px;font-size:1.05rem}
.faire li::before{content:counter(faire);display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid var(--encre);
  font:700 .95rem var(--texte)}
.services{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.groupes-services{display:grid;gap:18px}
.groupe-services{display:grid;gap:10px}
.signaler{display:grid;gap:16px}
.signaler h2{font-size:1.4rem}
.groupes-services{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.groupe-services>h3{font-size:1.05rem;font-family:var(--texte);font-weight:700;margin:0;line-height:1.5}
.groupe-services>h3 span{padding:.05em .25em;-webkit-box-decoration-break:clone;box-decoration-break:clone;
  background:linear-gradient(176deg,transparent 8%,var(--surligneur) 9%,var(--surligneur) 92%,transparent 93%)}
.service{border:1px solid var(--filet);border-radius:12px;padding:14px 16px;display:grid;gap:4px;background:var(--carte)}
.service-quoi{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--doux)}
.service h3{margin:0;font-size:1.15rem;font-family:var(--texte);font-weight:700;letter-spacing:0}
.service-comment{font-size:.98rem}
.service-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;text-underline-offset:4px;overflow-wrap:anywhere;width:fit-content}
.icone{width:20px;height:20px;flex:none}

/* Deuxième avis */
.avis{border-top:1px solid var(--filet);padding-top:24px;display:grid;gap:12px;justify-items:start}
.avis>p{max-width:64ch}
.statut{font-weight:600}
.avis-reponse{display:grid;gap:10px;width:100%;background:var(--fond);border-radius:12px;padding:18px}
.avis-reponse h3{font-family:var(--texte);font-size:1rem;font-weight:700;margin-top:6px}
.badge-demo{background:var(--surligneur);border:2px solid var(--encre);border-radius:8px;padding:8px 12px;font-weight:700;font-size:.95rem}
.avis-niveau{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:var(--rien)}
.avis-niveau[data-niveau="tres-suspect"]{color:var(--tres)}
.avis-niveau[data-niveau="a-verifier"]{color:var(--verifier)}
.avis-niveau svg{width:28px;height:28px;flex:none}
.avis-liste{margin:0;padding-left:1.2em;display:grid;gap:6px;overflow-wrap:anywhere}
.limites{font-size:.98rem;color:var(--doux);max-width:70ch;border-left:3px solid var(--filet);padding-left:14px}

/* Parents, offre, historique */
.proches{display:grid;gap:12px}
.proches h2{font-size:1.5rem}
.lien-fort{font-weight:700;text-underline-offset:4px;display:inline-flex;min-height:44px;align-items:center}
.offre{margin-top:10px;border:2px dashed var(--filet);border-radius:12px;padding:18px;display:grid;gap:8px;justify-items:start}
.offre h3{font-size:1.25rem}
.offre p{max-width:64ch}
.historique summary{cursor:pointer;font-weight:700;font-size:1.1rem;min-height:44px;display:flex;align-items:center}
.historique[open]{display:grid;gap:14px}
.liste-historique{list-style:none;margin:0;padding:0;display:grid}
.entree{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--filet)}
.entree:first-child{border-top:0}
.entree-niveau{grid-row:span 2;font-family:var(--mono);font-size:.72rem;padding:4px 8px;border-radius:6px;background:var(--rien-fond);color:var(--rien);white-space:nowrap}
.entree-niveau[data-niveau="tres-suspect"]{background:var(--tres-fond);color:var(--tres)}
.entree-niveau[data-niveau="a-verifier"]{background:var(--verifier-fond);color:var(--verifier)}
.entree-date{font-size:.85rem;color:var(--doux)}
.entree-texte{grid-column:2;font-size:.95rem;overflow-wrap:anywhere}
.entree .lien-bouton{grid-row:1 / span 2;grid-column:3}
.lien-bouton{background:none;border:0;padding:0 4px;min-height:44px;font:700 1rem var(--texte);text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:var(--encre)}
.historique-vide{color:var(--doux)}
.fichier{position:relative;overflow:hidden}
.fichier input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0}
.bouton.danger{border-color:var(--tres);color:var(--tres)}

/* Page des fiches */
.intro-fiches h1{margin:8px 0 12px}
.intro-fiches .actions{margin-top:18px}
.sommaire ol{margin:22px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 20px;counter-reset:som}
.sommaire li{counter-increment:som;display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center}
.sommaire li::before{content:counter(som,decimal-leading-zero);font-family:var(--mono);font-size:.78rem;color:var(--doux)}
.sommaire a{min-height:44px;display:flex;align-items:center;text-underline-offset:4px}
.memo{background:var(--encre);color:#fff;border-color:var(--encre);display:grid;gap:18px}
.memo h2{color:#fff}
.memo-regles{margin:0;padding-left:1.2em;display:grid;gap:8px;max-width:75ch}
.memo-numeros{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}
.memo-numeros div{background:rgba(255,255,255,.08);border-radius:10px;padding:12px 14px}
.memo-numeros dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--surligneur)}
.memo-numeros dd{margin:4px 0 0}
.memo-numeros strong{font-size:1.1em;white-space:nowrap}
.fiches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fiche{background:var(--carte);border:1px solid var(--filet);border-radius:var(--rayon);padding:24px;display:grid;gap:10px;align-content:start;scroll-margin-top:16px}
.fiche-num{font-family:var(--mono);font-size:.8rem;color:var(--doux)}
.fiche h2{font-size:1.45rem}
.fiche-canal{font-size:.9rem;color:var(--doux);margin-top:-4px}
.fiche-exemple{margin:4px 0;background:var(--fond);border-radius:18px 18px 18px 5px;padding:14px 16px;font-size:1rem;overflow-wrap:anywhere}
.fiche h3{font-family:var(--texte);font-weight:700;font-size:1rem;margin-top:6px;padding:0 .25em;width:fit-content;
  background:linear-gradient(176deg,transparent 10%,var(--surligneur) 11%,var(--surligneur) 90%,transparent 91%)}
.fiche ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.fiche-source{font-size:.88rem;color:var(--doux);margin-top:6px;overflow-wrap:anywhere}

@media (max-width:860px){
  .colonnes,.groupes-services{grid-template-columns:minmax(0,1fr)}
  .fiches{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .page{padding-top:16px;gap:18px}
  .saisie,.resultat,.proches,.historique,.memo,.intro-fiches{padding:20px 16px;border-radius:12px}
  .actions .bouton{width:100%}
  .verdict{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px}
  .verdict-icone{width:40px;height:40px;margin:0}
  .fiche{padding:20px 16px}
  .pied{margin-top:32px}
  .entree{grid-template-columns:minmax(0,1fr) auto}
  .entree-niveau{grid-row:auto;justify-self:start}
  .entree-texte{grid-column:1}
  .entree .lien-bouton{grid-row:1 / span 3;grid-column:2}
}

@media print{
  @page{margin:14mm}
  body{font-size:12.5pt;background:#fff}
  .page{padding:0;max-width:none;display:block}
  .intro-fiches,.memo,.fiche{border:1px solid #999;border-radius:6px;margin:0 0 8mm;break-inside:avoid}
  .memo{background:#fff;color:#000}
  .memo h2{color:#000}
  .memo-numeros div{background:#f2f2f2}
  .memo-numeros dt{color:#000}
  .fiches{display:block}
  .fiche-source a::after{content:" (" attr(href) ")";font-size:9pt}
  mark,.fiche h3{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
