/* CyCheck — application d'auto-évaluation : accent CyCheck (#2E8B6B), même socle typographique que CySAFE. */
.topbar-cc .brand img{height:51px}
.cc-by{font-size:var(--t6);color:var(--faint);margin-right:auto;margin-left:22px;padding-left:22px;border-left:1px solid var(--hair);line-height:1.3}
.cc-by a{color:var(--ink)}
@media (max-width:760px){.cc-by{display:none}.topbar-cc .topbar-right .link{font-size:12px}}
.cc-page{--axis:var(--cycheck)}
.cc-hero{padding:clamp(64px,8vw,120px) var(--gutter) clamp(56px,6vw,90px) var(--lead);position:relative;overflow:clip}
.cc-hero > *:not(.page-field){position:relative}
.cc-hero h1{font-family:var(--serif);font-weight:300;font-size:var(--t1);line-height:1.02;letter-spacing:-.02em;color:var(--ink);max-width:13em;font-variation-settings:"opsz" 144}
.cc-hero h1 em{font-style:italic;color:var(--cycheck-deep)}
.cc-hero .lede{margin-top:26px;font-size:var(--t4);line-height:1.55;max-width:34em}
.cc-kicker{font-size:var(--t6);letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--cycheck-deep);margin-bottom:22px}
.cc-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:30px;list-style:none;font-size:var(--t6);font-weight:700;color:var(--ink)}
.cc-meta li{display:flex;align-items:center;gap:10px}
.cc-meta li::before{content:"";width:14px;height:1.5px;background:var(--cycheck)}
.cc-panel{padding:clamp(48px,6vw,90px) var(--gutter) clamp(64px,7vw,110px) var(--lead)}
.cc-narrow{max-width:720px}
.cc-panel h1,.cc-panel h2.big{font-family:var(--serif);font-weight:300;font-size:var(--t2);line-height:1.1;color:var(--ink);margin-bottom:14px}
.cc-panel h1:focus,.cc-panel h2:focus,.cc-panel legend:focus{outline:none}
.cc-panel .intro{font-size:var(--t5);line-height:1.7;color:var(--body);margin-bottom:28px;max-width:620px}
.cc-info{border:1px solid var(--cycheck);border-radius:var(--r);background:#fff;padding:16px 20px;font-size:var(--t6);line-height:1.7;color:var(--body);margin:0 0 26px}
.cc-info b{display:block;color:var(--ink);font-size:var(--t5);margin-bottom:4px}
.code-input{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:30px!important;letter-spacing:.45em;max-width:300px;text-align:center}
.demo{border:1px dashed #8A5A1E;background:#F3E6CF;color:#5E3D14;padding:14px 18px;font-size:var(--t6);line-height:1.6;border-radius:var(--r);margin-bottom:24px}
.demo output{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:22px;font-weight:700;letter-spacing:.2em;color:#5E3D14;display:block;margin-top:6px}
.inline-actions{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px}
.linkbtn{background:none;border:none;font:inherit;font-size:var(--t6);font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:6px 0}
.note-ok{font-size:var(--t6);color:var(--cycheck-deep);font-weight:700;margin-top:10px}

/* questionnaire */
.tiles.stack{grid-template-columns:1fr;max-width:620px;gap:8px}
.tiles.stack .tile span{padding:16px 18px;font-weight:600}
.tiles.stack .tile input:checked + span{border-color:var(--cycheck);background:var(--cycheck-wash)}
.tiles.stack .tile input:focus-visible + span{outline-color:var(--cycheck)}
.tile-sep{margin-top:12px}
.tile-sep span,.tile-sep + .tile span{font-weight:500!important;color:var(--body)!important}
.q .hint{font-size:var(--t6);color:var(--faint);margin:-10px 0 16px}

/* résultats : le récit porte la page, le score reste un petit badge */
.score-badge{display:inline-flex;align-items:center;gap:10px;font-size:var(--t6);font-weight:700;color:var(--cycheck-deep);border:1px solid var(--cycheck);padding:6px 12px;border-radius:var(--r);margin-top:22px}
.profile-line{font-size:var(--t6);color:var(--faint);margin-top:12px}
.story{display:grid;grid-template-columns:repeat(2,1fr);gap:40px clamp(30px,5vw,80px)}
@media (max-width:900px){.story{grid-template-columns:1fr}}
.story h2,.cc-section h2{font-family:var(--serif);font-weight:400;font-size:var(--t3);color:var(--ink);margin-bottom:18px}
.plus,.watch{list-style:none;border-top:1px solid var(--hair)}
.plus li,.watch li{padding:16px 0;border-bottom:1px solid var(--hair);display:flex;flex-direction:column;gap:4px;font-size:var(--t5);line-height:1.6}
.plus li strong,.watch li strong{color:var(--ink);font-weight:700}
.plus li strong::before{content:"＋ ";color:var(--cycheck)}
.plus li span,.watch li span{color:var(--body)}
.lvl{font-style:normal;font-size:var(--t6);font-weight:700;padding:1px 8px;border-radius:var(--r);border:1px solid currentColor;margin-left:6px}
.lvl-faible{color:#A33A22}.lvl-moyen{color:#8A5A1E}.lvl-fort{color:var(--cycheck-deep)}
li.empty{color:var(--faint);font-size:var(--t5)}
.cc-section{padding:clamp(56px,6vw,90px) var(--gutter) clamp(56px,6vw,90px) var(--lead);border-top:1px solid var(--hair)}
.prio{list-style:none;counter-reset:p;border-top:1px solid var(--ink);max-width:980px}
.prio li{counter-increment:p;display:grid;grid-template-columns:64px 1fr;gap:4px 24px;padding:26px 0;border-bottom:1px solid var(--hair)}
.prio li::before{content:"0" counter(p);font-family:var(--serif);font-size:var(--t3);color:var(--cycheck-deep);grid-row:span 3}
.prio h3{font-family:var(--serif);font-weight:400;font-size:var(--t4);color:var(--ink)}
.prio p{font-size:var(--t5);color:var(--body);line-height:1.6}
.prio .link{justify-self:start;margin-top:6px}
.recos{list-style:none;max-width:860px;border-top:1px solid var(--hair)}
.recos > li{padding:14px 0;border-bottom:1px solid var(--hair);display:flex;flex-direction:column;gap:2px;font-size:var(--t5);line-height:1.6;color:var(--ink)}
.recos > li small{font-size:var(--t6);font-weight:700;color:var(--faint);letter-spacing:.02em}
.recos > li.clarify small{color:#8A5A1E}
.cat-table{border-collapse:collapse;width:100%;max-width:620px;font-size:var(--t5)}
.cat-table caption{text-align:left;font-size:var(--t6);font-weight:600;color:var(--faint);margin-bottom:10px}
.cat-table th,.cat-table td{text-align:left;padding:12px 0;border-bottom:1px solid var(--hair);font-weight:400}
.cat-table th{color:var(--ink)}.cat-table td{color:var(--body)}
.cat-table thead th{font-size:var(--t6);font-weight:700;color:var(--faint)}
.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px clamp(30px,5vw,80px);margin-top:40px}
.next-grid > div{border-top:3px solid var(--c);padding-top:24px}
.next-grid .opt{font-size:var(--t6);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cl);margin-bottom:10px}
.next-grid h3{font-family:var(--serif);font-weight:400;font-size:var(--t3);color:#fff;margin-bottom:12px}
.next-grid p,.next-grid li{font-size:var(--t5);line-height:1.65;color:var(--on-deep-soft)}
.next-grid ul{margin:12px 0 18px 18px}
.next-grid .soon{border-top-style:dashed}
.next-grid .chip{display:inline-block;font-size:var(--t6);font-weight:700;border:1px solid rgba(255,255,255,.35);padding:5px 12px;border-radius:var(--r);color:var(--on-deep);margin-bottom:14px}
.next-grid .note-ok{color:var(--cycheck-light)}
.next-grid .btn-ghost{color:#fff;border-color:#fff}.next-grid .btn-ghost:hover{background:#fff;color:var(--ink)}
.next-grid .todo{margin-left:4px}
@media (max-width:900px){.next-grid{grid-template-columns:1fr}}
@media print{
  .topbar,.footer,.mobile-bar,.skip,.no-print,.page-field{display:none!important}
  body{background:#fff;padding:0}
  .cc-section,.cc-hero{padding:18px 0;border:none}
  .section.dark{background:#fff;color:#000}
  .next-grid h3,.next-grid p,.next-grid li{color:#000}
  a{text-decoration:none;color:#000}
}

/* recommandations détaillées */
.recos{border-top:1px solid var(--ink)}
.recos li.reco{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--hair);flex-direction:row}
.recos li.reco .ico{color:var(--cycheck)}
.recos li.reco h3{font-family:var(--serif);font-weight:400;font-size:var(--t4);line-height:1.3;color:var(--ink);margin:6px 0 8px}
.recos li.reco p{font-size:var(--t5);line-height:1.7;color:var(--body);max-width:44em}
.recos li.reco.urgent small{color:#A33A22}
.reco-links{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin-top:14px;align-items:baseline}
.reco-links .k{font-size:var(--t6);font-weight:700;color:var(--faint)}
.reco-links .link{font-size:var(--t6)}
@media (max-width:640px){.reco-links{grid-template-columns:1fr}.recos li.reco{grid-template-columns:1fr}}
.print-only{display:none}
@media print{
  @page{size:A4;margin:16mm 14mm}
  .print-only{display:block!important}
  .report-head{display:flex!important;gap:18px;align-items:center;border-bottom:2px solid #2E8B6B;padding-bottom:14px;margin-bottom:22px;font-size:12px;line-height:1.5}
  .report-head img{height:42px;width:auto}
  .cc-hero h1{font-size:34px}
  .proto,.score-badge + .profile-line + .proto{display:none!important}
  html{font-size:12px}
  .story{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .plus li,.watch li,.prio li,.cat-table tr,.impacts li,.howto li,.res li,.reco-meta,.recos li.reco h3{break-inside:avoid}
  .recos li.reco h3,.recos li.reco .sub{break-after:avoid}
  h2,h3,.cc-section h2{break-after:avoid}
  .cc-section h2,.story h2{font-size:20px;margin-bottom:10px}
  .plus li,.watch li{padding:8px 0;font-size:12px}
  .prio li{padding:12px 0}
  .prio h3{font-size:15px}.prio p{font-size:12px}
  .cc-hero{padding-bottom:6px}
  .reco-links a.ref::after{content:" (" attr(href) ")";font-size:10px;color:#444;word-break:break-all}
  .recos li.reco{padding:12px 0}
  .recos li.reco h3{font-size:15px}
  .recos li.reco p{font-size:12px}
  .next-grid{grid-template-columns:1fr 1fr}
  .section.dark{break-before:page;padding:0;background:#fff!important}
  .section.dark h2,.section.dark h2 em,.section.dark .lede,.section.dark .section-num,.section.dark p,.section.dark li{color:#17324A!important}
  .section.dark .btn,.section.dark .hero-ctas{display:none!important}
  .section.dark::before{display:none}
  .next-grid h3,.next-grid .opt{color:#17324A}
  .next-grid .chip{color:#17324A;border-color:#17324A}
}

/* ==== V3 : radar, recommandations pédagogiques ==== */
.cc-hero h1 em{font-style:italic;color:var(--cycheck-deep)}
.radar-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:30px clamp(30px,5vw,70px);align-items:center}
.radar-wrap{position:relative;background:var(--logo-bg);border:1px solid var(--hair)}
.radar{display:block;width:100%;height:auto}
.radar-pt{cursor:pointer}
.radar-tip{position:absolute;z-index:5;max-width:260px;background:var(--ink);color:#fff;padding:10px 14px;font-size:var(--t6);line-height:1.5;border-radius:var(--r);pointer-events:none}
.radar-tip strong{display:block;margin-bottom:4px}
.radar-tip span{color:var(--on-deep)}
.radar-legend{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:16px;font-size:var(--t6);color:var(--body)}
.lg{display:inline-block;width:12px;height:12px;margin-right:-10px}
.lg-fort{background:#2E8B6B;border-radius:50%}.lg-moyen{background:#B87A2E}.lg-faible{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid #A33A22}
.cat-table th .ico{vertical-align:-4px;color:var(--cycheck-deep)}
.lvl-none{color:var(--faint)}
@media (max-width:900px){.radar-grid{grid-template-columns:1fr}}
.badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 9px;border-radius:var(--r);border:1px solid currentColor}
.badge-critique{color:#A33A22}.badge-important{color:#8A5A1E}.badge-recommande{color:var(--cycheck-deep)}
.reco-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:var(--t6);font-weight:700;color:var(--faint);max-width:none!important}
.recos li.reco .ico-lg{color:var(--cycheck-deep)}
.recos li.reco .why{font-size:var(--t5);line-height:1.7;color:var(--ink);margin-top:4px}
.recos li.reco .sub{font-size:var(--t6);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:22px 0 10px}
.impacts{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;max-width:52em}
.impacts li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:var(--t5);line-height:1.55;color:var(--body)}
.impacts li strong{display:block;font-size:var(--t6);color:var(--ink)}
.impacts .ico{color:var(--cysafe);margin-top:2px}
.howto{margin:0 0 0 20px;display:flex;flex-direction:column;gap:6px;max-width:48em}
.howto li{font-size:var(--t5);line-height:1.6;color:var(--ink);padding-left:4px}
.howto li::marker{color:var(--cycheck-deep);font-weight:700}
.res{list-style:none;display:flex;flex-direction:column;gap:6px}
.res li{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:baseline}
.res .k{font-size:var(--t6);font-weight:700;color:var(--faint)}
.res .link{font-size:var(--t6)}
@media (max-width:760px){.impacts{grid-template-columns:1fr}.res li{grid-template-columns:1fr;gap:0}}
@media print{
  .radar-grid{grid-template-columns:1fr;gap:10px}
  .radar-wrap{width:100%;max-width:128mm;margin:0 auto;border:none}
  .radar-sec{padding-top:4px!important}
  .radar-sec .cat-table td,.radar-sec .cat-table th{padding:5px 0}
  .radar-sec .cat-table caption{font-size:11px}
  .radar-tip,.radar-legend{display:none!important}
  .radar-sec{break-inside:avoid}
  .res a.ref::after{content:" (" attr(href) ")";font-size:10px;color:#444;word-break:break-all}
  .impacts{gap:6px 18px}.impacts li,.howto li{font-size:12px}
  .recos li.reco .why{font-size:12.5px}
  .recos li.reco .sub{margin:10px 0 6px;font-size:9.5px}
}
.reco-more{margin-top:14px;border-top:1px solid var(--hair)}
.reco-more > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:12px 0;font-size:var(--t6);font-weight:700;color:var(--ink)}
.reco-more > summary::-webkit-details-marker{display:none}
.reco-more > summary::before{content:"+";font-size:20px;line-height:1;color:var(--cycheck-deep);width:14px}
.reco-more[open] > summary::before{content:"−"}
.reco-more > summary:hover{text-decoration:underline;text-underline-offset:4px}
@media print{.reco-more > summary{display:none}.reco-more{border:none;margin:0}}

/* niveau 2 */
.cc-narrow.wide{max-width:1040px}
.chip-soon{display:inline-block;font-size:var(--t6);font-weight:700;border:1px dashed var(--cycontrol);color:var(--ink);padding:5px 12px;border-radius:var(--r);margin-bottom:26px}
.req{font-style:normal;font-weight:700;color:var(--ink)}
.check .opt{font-style:normal;color:var(--faint);font-weight:500}
.themes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 18px;margin:10px 0 20px}
.themes .check{margin-bottom:0;border:1px solid var(--hair);padding:12px 14px;border-radius:var(--r);background:#fff}
.themes .check small{display:block;font-size:12px;color:var(--faint)}
.consents{border-top:1px solid var(--hair);padding-top:18px;margin-top:6px}
.demo-links{list-style:none;margin-top:8px;display:flex;flex-direction:column;gap:6px}
.demo-links .link{word-break:break-all}
.q2{border-top:1px solid var(--hair);padding:22px 0 8px;margin:0}
.q2 legend{font-family:var(--serif);font-size:var(--t4);line-height:1.35;color:var(--ink);padding:0 0 12px;float:left;width:100%}
.q2 .hint{clear:both;font-size:var(--t6);color:var(--faint);margin:-4px 0 10px}
.scale{clear:both;display:grid;grid-template-columns:repeat(4,1fr) repeat(2,.7fr);gap:6px}
.tile-sm span{padding:10px 12px!important;font-size:var(--t6)!important;font-weight:600}
.scale .tile input:checked + span{border-color:var(--cycheck);background:var(--cycheck-wash)}
@media (max-width:900px){.scale{grid-template-columns:1fr 1fr}}
.sec-h{font-family:var(--serif);font-weight:400;font-size:var(--t3);color:var(--ink);margin:46px 0 16px}
.l2-radar{margin-top:26px}
.l2-themes{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,4vw,60px);border-top:1px solid var(--ink)}
.l2-theme{padding:24px 0;border-bottom:1px solid var(--hair)}
.l2-theme h3{font-family:var(--serif);font-weight:400;font-size:var(--t4);color:var(--ink)}
.l2-theme .ref{font-size:var(--t6);font-weight:700;color:var(--faint);margin:4px 0 10px}
.l2-theme .etat{font-size:var(--t5);line-height:1.6;color:var(--body)}
.l2-theme .sub{font-size:var(--t6);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:16px 0 8px}
.l2-recos,.l2-check{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.l2-recos li{display:flex;flex-direction:column;gap:2px;font-size:var(--t5);line-height:1.5;padding-left:14px;border-left:1px solid var(--hair)}
.l2-recos li.urgent{border-left-color:#A33A22}
.l2-recos strong{color:var(--ink);font-weight:600}
.l2-recos span,.l2-check li{font-size:var(--t6);color:var(--faint)}
@media (max-width:900px){.l2-themes{grid-template-columns:1fr}}
@media print{.l2-themes{grid-template-columns:1fr}.l2-theme{break-inside:avoid}.q2,.step-nav{display:none}}
.l2-radar{grid-template-columns:1fr}
.l2-radar .radar-wrap{max-width:760px}
/* En-tête CyCheck : aucun chevauchement entre « Signaler un incident » et « Retour » (retours de Fatiha, 2026-10-17) */
.topbar-cc .topbar-right{gap:28px}
.topbar-cc .cc-back{white-space:nowrap}
@media (max-width:1100px){.topbar-cc .cc-by{display:none}}
