/* Polices hébergées sur le site : aucune requête vers Google */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(fonts/bricolage-grotesque-latin-opsz-normal.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2")}
/* Angle mort numérique — feuille de style commune (v1.2)
   Contraste fort, gros textes, gros boutons. Toujours en clair, pour être lisible partout.
   Trois couleurs de niveau seulement : rouge = invisible, orange = en partie, vert = couvert. */
:root{
  --bg:#ffffff; --tint:#f2f2ee; --ink:#0a0a0a; --soft:#3a3a3a; --line:#d4d4cf; --edge:#0a0a0a;
  --yellow:#ffd60a; --blue:#0b4dd8;
  --red:#c1121f; --red-bg:#ffe5e5; --amber:#8a5300; --amber-solid:#f6a609; --amber-bg:#fff1cc; --green:#157a3c; --green-bg:#dcf4e4;
  /* anciens noms, utilisés par l'admin */
  --card:#ffffff; --navy:#0a0a0a; --coral:#0b4dd8; --coral-ink:#0b4dd8; --coral-soft:#e7eefc;
  --display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --body:"Atkinson Hyperlegible",ui-sans-serif,system-ui,-apple-system,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.5}
[hidden]{display:none!important}
img{max-width:100%}
a{color:var(--blue);text-underline-offset:3px}
.wrap{max-width:620px;margin:0 auto;padding-inline:16px;padding-block:16px 48px}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:4px solid var(--blue);outline-offset:3px}

/* en-tête et pied */
header.site{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;max-width:620px;margin:0 auto;padding:12px 16px 0}
.logo{font-family:var(--display);font-weight:800;font-size:24px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.logo span{font-weight:600;color:var(--soft)}
header.site nav{display:flex;gap:6px;flex-wrap:wrap}
header.site nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:16px;padding:8px 12px;border-radius:999px;border:2px solid transparent}
header.site nav a[aria-current="page"]{border-color:var(--edge)}
header.site nav a.urg-link{background:var(--red);color:#fff}
footer.site{border-top:2px solid var(--edge);margin-top:32px}
footer.site .wrap{padding-block:20px 32px;font-size:15px;color:var(--soft)}
footer.site p{margin:0 0 8px}
footer.site .retour-pr{display:inline-block;font-weight:800;color:var(--ink);padding:6px 0;margin-bottom:4px}

/* boutons */
.go{display:block;width:100%;border:3px solid var(--edge);border-radius:16px;background:var(--yellow);color:var(--ink);font-weight:800;font-size:20px;padding:16px;text-align:center;text-decoration:none;box-shadow:0 5px 0 var(--edge);transition:transform .08s,box-shadow .08s}
.go:active{transform:translateY(4px);box-shadow:0 1px 0 var(--edge)}
.go:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.go.dark{background:var(--ink);color:#fff}
.ghost{display:block;flex:1;min-width:150px;border:3px solid var(--edge);background:#fff;border-radius:16px;padding:14px;font-weight:800;text-align:center;text-decoration:none;color:var(--ink);font-size:18px}
.link-arrow{font-weight:800;color:var(--ink)}

/* blocs */
.block{margin-top:34px;display:grid;gap:14px}
.block>h2,.h2{font-size:28px;font-weight:800}
.sub{margin:0;color:var(--soft);font-size:18px}
.card{background:#fff;border:3px solid var(--edge);border-radius:18px;padding:18px}
.card p{margin:0 0 10px}.card p:last-child{margin-bottom:0}
.notice{background:var(--amber-bg);border:3px solid var(--amber-solid);border-radius:16px;padding:14px 16px;font-size:17px;font-weight:700}
.badge{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-family:var(--display);font-size:17px;flex:none;box-shadow:inset 0 0 0 2px rgba(0,0,0,.15)}
.badge.sm{width:30px;height:30px;font-size:13px;border-radius:8px}
.badge.lg{width:64px;height:64px;font-size:25px;border-radius:17px}

/* accueil */
.hero{background:var(--yellow);border:3px solid var(--edge);border-radius:24px;padding:24px 20px;display:grid;gap:16px}
.brand{font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.hero h1{font-size:clamp(36px,11vw,54px);font-weight:800;line-height:.98}
.hero p{margin:0;font-size:20px}
.hero .go{background:var(--ink);color:#fff;box-shadow:0 5px 0 #6b5a00;border-color:var(--ink)}
.reassure{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:16px;font-weight:700}
.reassure span::before{content:"✓ "}
.nets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.net{display:flex;align-items:center;gap:12px;background:#fff;border:3px solid var(--edge);border-radius:16px;padding:12px;text-decoration:none;color:var(--ink);font-weight:800;min-width:0;font-size:18px}
.net span:last-child{min-width:0;overflow-wrap:anywhere}
.nets.one{grid-template-columns:1fr}
.net:active{background:var(--tint)}
.law{background:var(--tint);border-radius:16px;padding:16px;font-size:17px}
.law b{display:block;font-size:18px;margin-bottom:4px}

/* légende des niveaux */
.levels{display:grid;gap:8px}
.lvl{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;border-radius:14px;padding:10px 12px;font-size:17px}
.lvl i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:24px;font-weight:800;color:#fff}
.lvl b{display:block;font-size:18px}
.lvl.r{background:var(--red-bg)}.lvl.r i{background:var(--red)}
.lvl.a{background:var(--amber-bg)}.lvl.a i{background:var(--amber-solid);color:var(--ink)}
.lvl.g{background:var(--green-bg)}.lvl.g i{background:var(--green)}

/* compteur en barres */
.tally{display:grid;gap:10px}
.tally-big{font-family:var(--display);font-weight:800;font-size:clamp(30px,9vw,40px);line-height:1.05}
.tally-big em{font-style:normal;background:var(--red);color:#fff;padding:0 8px;border-radius:8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.meter{display:flex;gap:3px}
.meter span{height:20px;flex:1 1 0;min-width:3px;border-radius:4px}
.m-r{background:var(--red)}.m-a{background:var(--amber-solid)}.m-g{background:var(--green)}
.counts{display:flex;gap:8px;flex-wrap:wrap}
.counts span{font-weight:800;font-size:17px;padding:6px 12px;border-radius:999px}
.counts .c-r{background:var(--red);color:#fff}.counts .c-a{background:var(--amber-solid);color:var(--ink)}.counts .c-g{background:var(--green);color:#fff}

/* les cartes à faire défiler */
.deck{display:grid;gap:12px}
.deck-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.deck-count{font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.deck-nav{display:flex;gap:8px}
.deck-nav button{width:52px;height:52px;border-radius:50%;border:3px solid var(--edge);background:#fff;font-size:26px;font-weight:800;line-height:1;display:grid;place-items:center}
.deck-nav button:disabled{opacity:.25}
.deck-track{display:flex;align-items:flex-start;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 14px;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;scrollbar-width:none;overscroll-behavior-x:contain}
.deck-track::-webkit-scrollbar{display:none}
.deck-dots{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.deck-dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.deck-dots i.on{background:var(--ink);width:24px;border-radius:5px}
.deck-hint{font-size:15px;color:var(--soft);text-align:center;margin:0}
.cx{flex:0 0 min(88%,520px);scroll-snap-align:start;display:grid;border:3px solid var(--edge);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 6px 0 var(--edge);margin-bottom:6px}
.cx>.face{grid-area:1/1;display:flex;flex-direction:column;transition:opacity .2s}
.cx[data-side="back"]>.cx-front,.cx:not([data-side="back"])>.cx-back{visibility:hidden;opacity:0}
.cx-band{display:flex;align-items:center;gap:10px;padding:12px 16px;font-weight:800;font-size:19px;letter-spacing:.02em;text-transform:uppercase}
.cx-band i{font-style:normal;font-size:24px}
.lv-r .cx-band{background:var(--red);color:#fff}
.lv-a .cx-band{background:var(--amber-solid);color:var(--ink)}
.lv-g .cx-band{background:var(--green);color:#fff}
.cx-body{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}
.cx-app{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}
.cx-risk{display:flex;gap:10px;align-items:flex-start;font-family:var(--display);font-weight:800;font-size:23px;line-height:1.15}
.cx-risk .ico{width:40px;height:40px;border-radius:11px;background:var(--tint);display:grid;place-items:center;flex:none}
.cx-risk .ico svg{width:24px;height:24px}
.cx-age{margin:-2px 0 0;font-size:16px;line-height:1.4;background:var(--amber-bg);border:2px solid var(--amber-solid);border-radius:12px;padding:8px 10px}
.cx-age.ok{background:var(--green-bg);border-color:var(--green);font-weight:700}
.cx-sit{font-size:15px;font-weight:700;color:var(--soft);margin:-4px 0 0}
.say{display:grid;gap:2px;font-size:18px;line-height:1.45}
.say b{font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.say.miss{background:var(--red-bg);border-radius:12px;padding:10px 12px}
.say.miss b{color:var(--red)}
.say.see b{color:var(--soft)}
.say.todo{background:var(--tint);border-radius:12px;padding:12px;font-size:19px}
.say.todo b{color:var(--ink)}
.lv-g .say.miss{background:var(--green-bg)}.lv-g .say.miss b{color:var(--green)}
.lv-a .say.miss{background:var(--amber-bg)}.lv-a .say.miss b{color:var(--amber)}
.cx-flip{margin-top:auto;border:3px solid var(--edge);background:var(--yellow);border-radius:14px;padding:13px;font-weight:800;font-size:18px;width:100%}
.cx-flip.back-btn{background:#fff}
.cx-more{font-weight:800;font-size:17px}

/* filtres */
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
.chips::-webkit-scrollbar{display:none}
.chip{display:flex;align-items:center;gap:8px;white-space:nowrap;border:3px solid var(--edge);background:#fff;border-radius:999px;padding:6px 14px 6px 8px;font-weight:800;font-size:16px}
.chip.txt{padding:8px 14px}
.chip[aria-pressed="true"]{background:var(--ink);color:#fff}

/* simulateur (pages réseau) */
.sim{background:var(--tint);border-radius:20px;padding:16px;display:grid;gap:14px}
.sim h2{font-size:22px}
.sim-q{display:grid;gap:8px}
.sim-q>b{font-size:17px}
.seg2{display:flex;gap:8px;flex-wrap:wrap}
.seg2 button{flex:1 1 0;min-width:0;min-height:52px;border:3px solid var(--edge);background:#fff;border-radius:14px;padding:8px 12px;font-weight:800;font-size:16px}
.seg2 button[aria-pressed="true"]{background:var(--ink);color:#fff}


/* diagnostic */
.bar{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.back{border:3px solid var(--edge);background:#fff;border-radius:50%;width:48px;height:48px;font-size:24px;font-weight:800;line-height:1;flex:none}
.progress{flex:1;height:12px;background:var(--tint);border-radius:999px;overflow:hidden;border:2px solid var(--edge)}
.progress i{display:block;height:100%;width:0;background:var(--yellow);transition:width .3s}
.count{font-size:16px;font-weight:800;flex:none;font-variant-numeric:tabular-nums}
.q{font-size:clamp(28px,8vw,36px);font-weight:800;margin-bottom:10px}
.hint{color:var(--soft);margin:0 0 20px;font-size:18px}
.opts{display:grid;gap:10px;margin-bottom:24px}
.opts.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:3px solid var(--edge);border-radius:16px;padding:14px;min-height:64px}
.opt[aria-pressed="true"]{background:var(--yellow)}
.opt b{display:block;font-size:19px}
.opt small{display:block;color:var(--soft);font-size:15px;line-height:1.35}
.tick{margin-left:auto;width:30px;height:30px;border-radius:50%;border:3px solid var(--edge);flex:none;display:grid;place-items:center;font-size:16px;font-weight:800;background:#fff}
.opt[aria-pressed="true"] .tick{background:var(--ink);color:#fff}
.opt[aria-pressed="true"] .tick::after{content:"✓"}
.opt.app{flex-direction:column;align-items:flex-start;gap:8px;position:relative}
.opt.app .tick{position:absolute;top:12px;right:12px;margin:0}
.consent{font-size:16px;color:var(--soft);margin:-8px 0 18px;display:grid;gap:8px}
.consent label{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-weight:700}
.consent input{width:22px;height:22px;margin-top:2px;flex:none}
.verdict{border:3px solid var(--edge);border-radius:22px;padding:20px;display:grid;gap:12px}
.tonight{border:3px solid var(--edge);border-radius:20px;padding:16px;display:grid;gap:10px;background:var(--yellow)}
.tonight h2{font-size:24px}
.todo-l{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.todo-l label{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;background:#fff;border:2px solid var(--edge);border-radius:14px;padding:12px;cursor:pointer;font-size:18px}
.todo-l input{width:28px;height:28px;margin:0;accent-color:var(--green)}
.todo-l small{display:block;color:var(--soft);font-size:15px;font-weight:700;margin-top:2px}
.todo-l input:checked+span{text-decoration:line-through;color:var(--soft)}
.again{display:flex;gap:10px;flex-wrap:wrap}

/* page réseau */
.net-head{display:flex;gap:14px;align-items:center}
.net-head h1{font-size:clamp(34px,10vw,46px);font-weight:800}
.meta{font-size:15px;color:var(--soft);margin:2px 0 0}
.tool{border-left:6px solid var(--ink);padding:4px 0 4px 14px;display:grid;gap:4px;font-size:18px}
.tool b{font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;gap:10px}
.steps li{counter-increment:s;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;font-size:18px}
.steps li::before{content:counter(s);width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;display:grid;place-items:center}
.howto{display:grid;gap:14px}
.howto h3{font-size:20px}
.dev{display:grid;gap:6px;border-top:2px solid var(--line);padding-top:12px}

/* urgence */
.pick{display:grid;gap:10px}
.pick button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:3px solid var(--edge);background:#fff;border-radius:16px;padding:14px;font-weight:800;font-size:19px}
.pick button[aria-expanded="true"]{background:var(--red);color:#fff;border-color:var(--red)}
.pick button .chev{margin-left:auto;font-size:24px;transition:transform .2s}
.pick button[aria-expanded="true"] .chev{transform:rotate(90deg)}
.pick ol{margin:0;padding:4px 4px 8px;list-style:none;counter-reset:s;display:grid;gap:10px}
.pick ol li{counter-increment:s;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;font-size:18px}
.pick ol li::before{content:counter(s);width:36px;height:36px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;display:grid;place-items:center}
.res{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.res li{background:#fff;border:3px solid var(--edge);border-radius:16px;padding:14px 16px;display:grid;gap:2px}
.res strong{font-size:22px;font-family:var(--display)}
.res span{color:var(--soft);font-size:17px}
.res a{color:var(--ink)}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 14px;padding-left:22px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* espace admin */
.wrap.wide{max-width:720px}
.logo small{font-family:var(--body);font-size:13px;font-weight:700;color:var(--soft);margin-left:4px}
.flash{background:var(--green-bg);color:var(--green);border-radius:12px;padding:12px 14px;font-weight:700;margin:0 0 16px}
.flash.err{background:var(--red-bg);color:var(--red)}
.form{display:grid;gap:8px}
.form label,.form .lbl{font-weight:700;font-size:15px;margin-top:8px}
.form .mini{font-weight:400;font-size:13px;color:var(--soft);margin:0}
.form small{font-weight:400;color:var(--soft)}
.form input:not([type=checkbox]):not([type=radio]):not([type=color]),.form select,.form textarea{width:100%;border:2px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;font-size:16px}
.form input[type=color]{width:100%;height:46px;border:2px solid var(--line);border-radius:10px;background:#fff;padding:3px}
.form textarea{resize:vertical;line-height:1.45}
.form .go{margin-top:14px}
.help{margin:0;font-size:13.5px;color:var(--soft)}
.help code{background:var(--tint);padding:1px 5px;border-radius:5px;font-size:13px}
.two,.three{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.two>div,.three>div{display:grid;gap:4px;min-width:0}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}
.check input{width:20px;height:20px;margin-top:2px;flex:none}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{margin:0}
.seg input{position:absolute;opacity:0}
.seg .st{display:inline-block;padding:8px 14px;font-size:15px;cursor:pointer;border:2px solid transparent;margin:0}
.seg input:checked+.st{border-color:currentColor}
.seg input:focus-visible+.st{outline:3px solid var(--blue);outline-offset:2px}
.st{margin-left:auto;font-size:13px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.st.r{background:var(--red-bg);color:var(--red)}.st.a{background:var(--amber-bg);color:var(--amber)}.st.g{background:var(--green-bg);color:var(--green)}
.ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none}
.ico svg{width:24px;height:24px}
.icons{display:flex;gap:8px;flex-wrap:wrap}
.icons input{position:absolute;opacity:0}
.icons .ico{background:var(--tint);color:var(--soft);border:2px solid var(--line);cursor:pointer}
.icons input:checked+.ico{border-color:var(--blue);color:var(--blue)}
.icons input:focus-visible+.ico{outline:3px solid var(--blue);outline-offset:2px}
.danger{margin-top:28px;display:grid;gap:10px;border:2px dashed var(--red);border-radius:14px;padding:14px}
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin:16px 0 8px}
.tabs a{display:flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;color:var(--ink);font-weight:700;background:#fff;border:2px solid var(--line);border-radius:12px;padding:6px 10px 6px 6px;font-size:15px}
.tabs a[aria-current="page"]{border-color:var(--ink)}
.admin-risk{display:grid;gap:8px;margin-top:12px}
.ar-h{display:flex;gap:10px;align-items:center}
.ar-h .ico{background:var(--tint);color:var(--soft)}
.ar-h h2{font-family:var(--body);font-size:17px}
.list{display:grid;gap:8px;margin-top:14px}
.fiche-l{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:var(--ink);background:var(--tint);border:1px solid var(--line);border-radius:12px;padding:11px 12px}
.list .fiche-l{background:#fff}
.fiche-l>span:last-child{display:grid;gap:2px;min-width:0}
.fiche-l b{font-size:15.5px}
.fiche-l small{color:var(--soft);font-size:14px;line-height:1.35}
.fiche-l .st{margin:2px 0 0;flex:none}
.ico-n{background:var(--tint);color:var(--soft)}
.add{font-weight:700;font-size:15px;text-decoration:none;padding:6px 2px}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.kpi{background:#fff;border:2px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:2px}
.kpi b{font-family:var(--display);font-size:30px;line-height:1;font-variant-numeric:tabular-nums}
.kpi span{color:var(--soft);font-size:14px}
.sbar{display:grid;gap:4px;padding:8px 0}
.sbar+.sbar{border-top:1px solid var(--line)}
.sbar-l{display:flex;justify-content:space-between;gap:10px;font-size:15.5px}
.sbar-l b{font-variant-numeric:tabular-nums}
.sbar-t{height:10px;background:var(--tint);border-radius:999px;overflow:hidden}
.sbar-t i{display:block;height:100%;background:var(--ink);border-radius:999px}
.sbar-t i.red{background:var(--red)}
.sbar small{color:var(--soft);font-size:13.5px}
.months{display:flex;align-items:flex-end;gap:6px;height:180px;overflow-x:auto}
.mo{flex:1;min-width:30px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.mo i{display:block;width:70%;background:var(--blue);border-radius:6px 6px 0 0}
.mo-n,.mo-l{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums}
.admin .go,.wrap.wide .go{background:var(--ink);color:#fff;box-shadow:none;border-width:2px;font-size:18px;padding:14px}
.wrap.wide .ghost{font-size:16px;border-width:2px}
.wrap.wide .card{border-width:2px}
.wrap.wide .q{font-size:26px}

/* scénario en 3 temps (cartes v1.3) */
.scen{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.scen li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:10px 0;position:relative}
.scen li+li{border-top:2px dashed var(--line)}
.scen .num{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;display:grid;place-items:center;font-size:16px}
.scen li.savoir .num{background:var(--blue)}
.scen .ev{display:block;font-size:18px;line-height:1.3;margin-bottom:6px}
.scen li.savoir .ev{color:var(--blue)}
.scen .res{display:block;font-size:17px;line-height:1.45}
.pill{font-style:normal;font-weight:800;font-size:14px;padding:2px 9px;border-radius:999px;white-space:nowrap;margin-right:4px;display:inline-block}
.p-r{background:var(--red);color:#fff}.p-a{background:var(--amber-solid);color:var(--ink)}.p-g{background:var(--green);color:#fff}

/* v1.3 : résumé en tableau, liste dépliable, carte seule */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tab-wrap{overflow-x:auto;margin-inline:-16px;padding-inline:16px;scrollbar-width:thin}
.tab{border-collapse:separate;border-spacing:0 6px;width:100%;min-width:max-content}
.tab thead th{font-size:12px;font-weight:700;color:var(--soft);padding:0 4px 4px;vertical-align:bottom;text-align:center;min-width:52px}
.tab thead th .badge{margin:0 auto 4px}
.tab-app{display:block;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 auto}
.tab tbody th{text-align:left;font-size:16px;font-weight:700;padding:6px 10px 6px 0;line-height:1.25;min-width:120px;max-width:160px}
.tab td{text-align:center;padding:0 4px}
.cell{width:44px;height:44px;border-radius:12px;border:0;display:inline-grid;place-items:center;font-weight:800;font-size:20px;line-height:1}
button.cell{cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,.35)}
.cell.c-r{background:var(--red);color:#fff}.cell.c-a{background:var(--amber-solid);color:var(--ink)}.cell.c-g{background:var(--green);color:#fff}
.cell.none{background:var(--tint);color:var(--soft);font-size:16px}
.cell.on{outline:4px solid var(--ink);outline-offset:2px}
.tab-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:15px;font-weight:700;align-items:center}
.tab-legend span{display:inline-flex;gap:6px;align-items:center}
.tab-legend .cell{width:26px;height:26px;font-size:14px;border-radius:7px;box-shadow:none}
.hote{margin-top:4px}
.hote .cx{flex:none;width:100%;margin:0}
.cx-close{margin-left:auto;background:rgba(0,0,0,.18);border:0;color:inherit;width:36px;height:36px;border-radius:50%;font-size:18px;font-weight:800}
.bref{background:var(--tint);border-radius:18px;padding:16px;display:grid;gap:10px}
.bref h2{font-size:24px}
.bref ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.bref li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;font-size:18px}
.bref li .cell{width:30px;height:30px;font-size:15px;border-radius:8px;box-shadow:none}
.rows{display:grid;gap:8px}
.row-r{border:3px solid var(--edge);border-radius:16px;overflow:hidden;background:#fff}
.row-b{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;align-items:center;width:100%;text-align:left;border:0;background:#fff;padding:10px 12px}
.row-b .cell{box-shadow:none}
.row-t{font-weight:800;font-size:17px;line-height:1.25}
.row-t small{display:block;font-weight:700;font-size:14px;color:var(--soft);margin-top:2px}
.row-b[aria-expanded="true"] .chev{transform:rotate(90deg)}
.row-c .cx{flex:none;width:100%;margin:0;border-width:0;border-top:3px solid var(--edge);border-radius:0;box-shadow:none}
.block>*{min-width:0}
.tab tbody th{min-width:0;width:38%;max-width:140px;font-size:15px;padding-right:6px}
.tab td{padding:0 2px}
.tab thead th{min-width:44px;padding:0 2px 4px}
.tab .cell{width:40px;height:40px;font-size:18px}
.tab-app{max-width:52px;font-size:11px}
/* v1.5 : mode d'emploi du tableau, résumé d'une appli */
.how{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;background:var(--yellow);border:3px solid var(--edge);border-radius:16px;padding:12px 14px;font-size:17px;font-weight:700;line-height:1.4}
.how i{font-style:normal;font-size:26px;line-height:1}
.how span b{background:#fff;padding:0 4px;border-radius:4px}
.tab-tip{display:block;font-size:12px;font-weight:800;color:var(--ink);text-align:left;white-space:nowrap}
.app-h{border:2px solid transparent;background:none;border-radius:12px;padding:4px 2px;display:grid;justify-items:center;gap:2px;cursor:pointer;font:inherit;color:inherit;font-size:11px;font-weight:700}
.app-h .badge{box-shadow:0 3px 0 rgba(0,0,0,.35)}
.app-h.on{border-color:var(--ink);background:var(--tint)}
.app-res{border:3px solid var(--edge);border-radius:22px;padding:16px;display:grid;gap:12px;background:#fff;box-shadow:0 6px 0 var(--edge)}
.app-res-h{display:flex;align-items:center;gap:12px}
.app-res-h h3{font-size:24px}
.app-res-h .cx-close{background:var(--tint);color:var(--ink)}
.app-res-big{margin:0;font-family:var(--display);font-weight:800;font-size:24px;line-height:1.15}
.app-res-big .t-r{color:var(--red)}.app-res-big .t-a{color:var(--amber)}
@keyframes tape{0%,100%{transform:none}50%{transform:scale(1.12)}}
.tab tbody tr:first-child button.cell{animation:tape 1.2s ease-in-out 2}
.tab tbody th{width:auto;max-width:112px;font-size:14px}
.tab .cell{width:36px;height:36px;font-size:16px;border-radius:10px}
.tab thead th{min-width:40px}
.tab-tip{white-space:normal;font-size:11px;max-width:100px}
.tab-more{margin:4px 0 0;font-size:15px;font-weight:800;text-align:right}
.tab-app{max-width:44px;font-size:10px}
.tab thead th{min-width:0;padding:0 1px 4px}
.tab td{padding:0 1px}
.tab .cell{width:34px;height:34px}
.tab tbody th{max-width:104px}

/* ===== Ordinateur (écran large) — v1.6 ===== */
@media (min-width:900px){
  body{font-size:18px}
  header.site,.wrap{max-width:1100px}
  header.site{padding:20px 28px 0}
  .wrap{padding-inline:28px;padding-block:24px 56px}
  .logo{font-size:28px}
  header.site nav a{font-size:17px;padding:9px 16px}
  .block{margin-top:44px}
  .block>h2,.h2{font-size:32px}
  .go,.ghost{max-width:420px}
  .block>.go,.block>.ghost{justify-self:start}

  /* accueil */
  .hero{padding:48px 56px;gap:20px}
  .hero h1{font-size:60px;max-width:820px}
  .hero p{font-size:21px;max-width:720px}
  .hero .go{max-width:380px}
  .nets{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nets.one{grid-template-columns:repeat(2,minmax(0,1fr))}
  .deck-track{margin-inline:0;padding-inline:2px;scroll-padding-inline:0}
  .cx{flex-basis:calc((100% - 24px)/3)}
  .deck-hint{display:none}
  .law,.card{max-width:900px}

  /* diagnostic : questions */
  #s-steps{max-width:760px;margin:0 auto}
  .opts.grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #s-steps .go{max-width:none}

  /* diagnostic : résultat en deux colonnes */
  #s-res{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 36px;align-items:start;grid-auto-flow:dense}
  #s-res>*{grid-column:1/-1;margin-top:0!important}
  #s-res>.verdict{grid-column:1}
  #s-res>.bref{grid-column:2}
  #s-res>.tonight{grid-column:1}
  #s-res>#b-activer{grid-column:2}
  #s-res>.again{justify-content:flex-start}
  #s-res>.again .ghost{flex:0 1 260px}
  .tally-big{font-size:38px}

  /* tableau à gauche, détail à droite */
  .block:has(#tableau){display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px 32px;align-items:start}
  .block:has(#tableau)>*{grid-column:1}
  .block:has(#tableau)>#carte{grid-column:2;grid-row:1 / span 8;position:sticky;top:16px;margin:0}
  #carte[hidden]{display:grid!important;place-items:center;min-height:320px;border:3px dashed var(--line);border-radius:22px;padding:24px;text-align:center;color:var(--soft);font-weight:700}
  #carte[hidden]::before{content:"Touchez une case ou le nom d'une appli dans le tableau : le détail s'affiche ici."}
  .tab-wrap{margin-inline:0;padding-inline:0}
  .tab .cell{width:46px;height:46px;font-size:20px}
  .tab-app{max-width:72px;font-size:12px}
  .tab tbody th{max-width:200px;font-size:16px}
  .tab thead th{padding:0 4px 6px}

  /* page d'une appli : réglages à gauche (fixes), résultat à droite */
  main.wrap:has(#sim){display:grid;grid-template-columns:400px minmax(0,1fr);gap:0 40px;align-items:start}
  main.wrap:has(#sim)>*{grid-column:1/-1}
  main.wrap:has(#sim)>#sim{grid-column:1;position:sticky;top:16px}
  main.wrap:has(#sim)>#sim+section{grid-column:2;margin-top:44px}
  .howto{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .howto>h2,.howto>p{grid-column:1/-1}
  .howto>.sub:first-of-type{grid-column:1/-1}
  .tool{max-width:900px}

  /* urgence */
  .pick{max-width:860px}
  .res{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prose{max-width:860px}
}
@media (min-width:1200px){
  .nets{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (min-width:900px){ .deck-top,.deck-dots{display:none} }

/* ===== Ordinateur : visuels (v1.7) — rien ne change sur téléphone ===== */
.hero-vis,.recap{display:none}
@media (min-width:900px){
  .hero{grid-template-columns:minmax(0,1fr) 320px;column-gap:56px;align-items:center}
  .hero>*{grid-column:1}
  .hero-vis{display:block;grid-column:2;grid-row:1 / span 6;align-self:center}
  .phone{background:#fff;border:4px solid var(--ink);border-radius:36px;padding:14px 16px 18px;box-shadow:10px 12px 0 rgba(0,0,0,.85);transform:rotate(2.5deg);display:grid;gap:10px}
  .phone-top{width:80px;height:8px;border-radius:99px;background:var(--ink);margin:2px auto 4px}
  .phone-big{margin:0;font-family:var(--display);font-weight:800;font-size:20px;line-height:1.1;color:var(--ink)}
  .phone-big em{font-style:normal;background:var(--red);color:#fff;padding:0 5px;border-radius:5px}
  .phone-bar{display:flex;gap:2px}.phone-bar i{flex:1;height:10px;border-radius:3px}
  .phone-bar .r,.phone-tab .r{background:var(--red);color:#fff}.phone-bar .a,.phone-tab .a{background:var(--amber-solid);color:var(--ink)}.phone-bar .g,.phone-tab .g{background:var(--green);color:#fff}
  .phone-tab{border-collapse:separate;border-spacing:4px;width:100%}
  .phone-tab th{text-align:left;font-size:13px;font-weight:800;color:var(--ink);padding-right:4px}
  .phone-tab td{text-align:center}
  .phone-tab .badge{margin:0 auto}
  .phone-tab .c{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;font-style:normal;font-weight:800;font-size:15px;margin:0 auto}
  .phone-cap{margin:0;text-align:center;font-size:13px;font-weight:700;color:var(--soft)}

  #s-steps{max-width:1060px;display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:48px;align-items:start}
  #s-steps>*{grid-column:1}
  #s-steps>.recap{display:block;grid-column:2;grid-row:1 / span 3;position:sticky;top:16px;background:var(--tint);border-radius:20px;padding:18px}
  .recap h2{font-size:22px;margin-bottom:10px}
  .recap ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
  .recap button{width:100%;text-align:left;border:2px solid var(--line);background:#fff;border-radius:12px;padding:8px 12px;display:grid;gap:2px;font:inherit;color:var(--soft)}
  .recap li.ok button{border-color:var(--ink);color:var(--ink)}
  .recap b{font-size:13px;text-transform:uppercase;letter-spacing:.05em}
  .recap span{font-size:16px;font-weight:700}
  .recap-apps{display:flex;flex-wrap:wrap;gap:4px}
  .recap p{margin:12px 0 0;font-size:14px;color:var(--soft)}
}
.how i{display:grid;place-items:center;color:var(--ink)}
@media (min-width:900px){ .mob-only{display:none} }
/* Admin · site vitrine (v1.8) */
.onglets{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 14px}
.onglets a{border:2px solid var(--edge);border-radius:999px;padding:6px 14px;font-weight:800;text-decoration:none;color:var(--ink);background:#fff;font-size:15px}
.onglets a[aria-current="page"]{background:var(--ink);color:#fff}
.onglets.petits a{font-size:14px;padding:5px 12px;border-width:2px}
.bloc-l{min-width:0;display:flex;gap:8px;align-items:center;background:#fff;border:2px solid var(--edge);border-radius:14px;padding:10px 10px 10px 14px}
.bloc-l>a{flex:1;min-width:0;overflow:hidden;text-decoration:none;color:var(--ink)}
.bloc-l>a b{display:block}.bloc-l>a small{display:block;color:var(--soft);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bloc-l form{display:flex;gap:4px;flex:none}
.bloc-l button{width:40px;height:40px;border:2px solid var(--edge);background:#fff;border-radius:10px;font-weight:800;font-size:18px}
.bloc-l button:disabled{opacity:.25}
.icones{display:flex;flex-wrap:wrap;gap:6px}
.icones label{margin:0!important;cursor:pointer}
.icones input{position:absolute;opacity:0}
.icones span{display:grid;justify-items:center;gap:2px;min-width:66px;padding:8px 6px;border:2px solid var(--line);border-radius:12px;background:#fff}
.icones small{font-size:12px;font-weight:600;color:var(--soft)}
.icones input:checked+span{border-color:var(--edge);background:var(--tint);box-shadow:0 0 0 2px var(--edge)}
.icones input:focus-visible+span{outline:3px solid #0a66c2}
.card.etat.ferme{background:#fff6dd}.card.etat.ouvert{background:#e3f4ea}
.card.etat .go,.card.etat .ghost{margin-top:10px}
.demande.nonlue{box-shadow:inset 6px 0 0 #f2b33d}
.demande p{margin:0 0 8px}

/* v2.2 : admin Pronos (tableaux, import pas à pas) */
.ptab-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:2px solid var(--line);border-radius:12px;background:#fff}
.ptab{border-collapse:collapse;width:100%;font-size:15px;white-space:nowrap}
.ptab th,.ptab td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line)}
.ptab th{background:var(--tint);font-size:13px;text-transform:uppercase;letter-spacing:.03em;white-space:normal;vertical-align:bottom}
.ptab tr:last-child td{border-bottom:0}
.jauge{height:12px;border-radius:999px;background:var(--tint);overflow:hidden}
.jauge i{display:block;height:100%;width:0;background:var(--ink);transition:width .3s}
.journal{max-height:260px;overflow:auto;border:2px solid var(--line);border-radius:12px;padding:10px;font-size:14px;line-height:1.5;background:#fff}
.journal .ko{color:var(--red)}
details.card>summary{cursor:pointer;list-style:none}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary::before{content:"›";display:inline-block;margin-right:8px;font-weight:800;transition:transform .2s}
details.card[open]>summary::before{transform:rotate(90deg)}

/* v2.3 : note « À savoir » en bas de chaque page */
.note-humain{margin-top:32px}
.note-humain p{margin:0;border:2px solid var(--edge);border-radius:16px;padding:14px 16px;background:var(--tint);font-size:16px;line-height:1.5}
