  :root{
    --green:#123D2C;--green-2:#1C5A40;--green-soft:#3B6552;--ink:#16212E;
    --coral:#FF4D5E;--coral-2:#FF7A45;--pink:#FF4D8D;--gold:#E7A93C;
    --cream:#FFF4E9;--cream-2:#FFF9F2;--edge:#EADFCE;
    --grad:linear-gradient(120deg,#FF4D8D 0%,#FF4D5E 45%,#FF7A45 100%);
    --line:rgba(18,61,44,.12);
    --shadow:0 16px 40px rgba(18,61,44,.16);--shadow-sm:0 6px 16px rgba(18,61,44,.09);
    --disp:"Inter",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:var(--body);font-weight:500;color:var(--green);background:var(--cream-2);-webkit-font-smoothing:antialiased;line-height:1.5}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:none;background:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1140px;margin:0 auto;padding:0 22px}
  .hide{display:none!important}

  .ticker{background:var(--green);color:#fff;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.05em;overflow:hidden;white-space:nowrap;padding:8px 0}
  .ticker .run{display:inline-block;animation:run 28s linear infinite}.ticker span{padding:0 30px}.ticker .st{color:var(--gold)}
  @keyframes run{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  .adminbar{display:none;background:var(--green);color:#fff;padding:9px 0}
  body.admin .adminbar{display:block}
  .adminbar .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .adminbar .who{font-family:var(--disp);font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:7px}
  .adminbar .new{margin-left:auto;font-family:var(--disp);font-weight:600;font-size:13.5px;background:var(--grad);color:#fff;padding:9px 18px;border-radius:999px}
  .adminbar .out{font-family:var(--disp);font-weight:600;font-size:12.5px;color:rgba(255,255,255,.82);text-decoration:underline;margin-left:8px}

  /* sky wrap holds the floating transparent nav */
  .skywrap{position:relative;overflow:hidden}
  .skywrap.home{background:linear-gradient(180deg,#C4E3FF 0%,#DDD7F3 46%,#FCE3D8 100%)}
  .skywrap.home::before{content:"";position:absolute;width:420px;height:190px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.9),transparent);top:96px;left:6%;filter:blur(4px)}
  .skywrap.home::after{content:"";position:absolute;width:320px;height:160px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,216,226,.85),transparent);top:150px;right:10%;filter:blur(6px)}

  .topnav{position:relative;z-index:6;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;padding:15px 0;max-width:1140px;margin:0 auto;padding-left:22px;padding-right:22px}
  .logo{display:flex;align-items:center;cursor:pointer;flex:0 0 auto}
  .logo img{width:auto;height:66px;display:block;filter:drop-shadow(0 4px 10px rgba(18,61,44,.18));transition:transform .2s}
  .logo:hover img{transform:scale(1.04)}

  .toggle{margin:0 auto;display:inline-flex;flex:0 1 auto;min-width:0;align-items:center;gap:2px;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);border-radius:999px;padding:5px;box-shadow:var(--shadow-sm);white-space:nowrap}
  .toggle button{font-family:var(--disp);font-weight:600;font-size:clamp(10px,2.4vw,13px);letter-spacing:.02em;color:var(--ink);padding:9px clamp(7px,1.9vw,15px);border-radius:999px;transition:.15s;text-transform:uppercase;white-space:nowrap}
  .toggle .div{width:1px;height:18px;background:var(--line)}
  .toggle button:hover{background:rgba(255,255,255,.6)}
  .toggle button.on{background:var(--grad);color:#fff}

  .floatnav{position:fixed;top:12px;left:0;right:0;z-index:70;display:flex;justify-content:center;pointer-events:none;opacity:0;transform:translateY(-18px);transition:opacity .25s,transform .25s;padding:0 14px}
  .floatnav.show{opacity:1;transform:none;pointer-events:auto}
  .floatnav .toggle{margin:0;background:rgba(255,249,242,.92);box-shadow:0 10px 30px rgba(18,61,44,.18);border:1px solid rgba(255,255,255,.7)}
  body.reading .floatnav{display:none}
  .tools{display:flex;align-items:center;gap:8px;flex:0 0 auto}
  .search-btn{width:50px;height:50px;border-radius:16px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);display:grid;place-items:center;font-size:20px}
  .search-btn:hover{background:#fff}
  .key-btn{font-family:var(--disp);font-weight:600;font-size:12.5px;color:var(--green);padding:11px 15px;border-radius:999px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px)}
  .key-btn:hover{background:#fff}
  .search-wrap{display:none;position:fixed;inset:0;z-index:80;background:rgba(18,61,44,.22);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);overflow-y:auto}
  .search-wrap.open{display:block;animation:srin .18s ease}
  @keyframes srin{from{opacity:0}to{opacity:1}}
  .search-panel{max-width:1140px;margin:104px auto 0;padding:0 22px}
  .search-close{position:fixed;top:14px;right:16px;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--green);font-size:18px;display:grid;place-items:center;box-shadow:var(--shadow);z-index:81}
  .search-results{background:#fff;border-radius:22px;padding:14px 18px 8px;box-shadow:var(--shadow)}
  .search-results .sr-msg{font-weight:700;color:var(--green-soft);font-size:14px;padding:2px 2px 6px}
  .search-results .sr-row{display:flex;gap:16px;overflow-x:auto;padding:16px 4px 10px;scrollbar-width:thin}
  .search-results .mini-tk{width:250px;flex:0 0 auto;cursor:pointer;transition:transform .15s}
  .search-results .mini-tk:hover{transform:translateY(-3px)}
  .search-results .mbody h4{font-size:15px}
  .search-inner{display:flex;padding:0 0 10px}
  .search-inner input{flex:1;font-family:var(--body);font-weight:600;font-size:16px;color:var(--green);background:#fff;border:1px solid var(--line);border-radius:999px;padding:14px 22px;box-shadow:var(--shadow-sm)}
  .search-inner input:focus{outline:2px solid var(--coral)}

  .hero{position:relative;z-index:4;padding:44px 0 88px}
  .crestbig{position:absolute;right:26px;top:-6px;width:72px;height:80px;opacity:.96;filter:drop-shadow(0 8px 14px rgba(18,61,44,.25));z-index:5}
  .htitle{display:flex;align-items:center;gap:16px;white-space:nowrap;flex-wrap:wrap;row-gap:10px}
  .htitle .stat{font-family:var(--disp);font-weight:800;font-size:clamp(30px,7.4vw,80px);letter-spacing:-.02em;color:var(--ink);line-height:1}
  .htitle .plate{background:#fff;border-radius:16px;padding:6px 22px;box-shadow:var(--shadow-sm);transform:rotate(-1.2deg);display:inline-block;overflow:visible;max-width:100%}
  .htitle .rot{font-family:var(--disp);font-weight:800;font-size:clamp(26px,6.6vw,72px);letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;transition:opacity .35s,transform .35s;line-height:1.25;padding:0 .06em;white-space:nowrap}
  .htitle .rot.out{opacity:0;transform:translateY(-12px)}
  .hero .sub{margin-top:22px;font-size:clamp(15px,2vw,18px);font-weight:600;color:var(--green-soft);max-width:none}
  @media (min-width:700px){.hero .sub{white-space:nowrap}}
  .wave{position:absolute;left:0;bottom:-1px;width:100%;height:66px;display:block;z-index:3}

  .sec{padding-top:8px}
  .sec-head{display:flex;align-items:center;gap:14px;margin:30px 0 6px}
  .sec-head h2{font-family:var(--disp);font-weight:700;font-size:clamp(22px,3vw,30px);color:var(--ink);text-transform:uppercase}
  .sec-head .em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

  /* édition du jour (esprit "une" de journal) */
  .dayline{margin:34px 0 8px;padding:14px 0 12px;border-top:3px double var(--green);border-bottom:1px solid var(--green);display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
  .dayline .dl-kicker{font-family:var(--disp);font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral)}
  .dayline .dl-title{font-family:var(--disp);font-weight:800;font-size:clamp(20px,2.8vw,28px);letter-spacing:-.01em;color:var(--green);text-transform:uppercase}
  .dayline .dl-title #dayDate{color:var(--green)}
  .dayline .dl-note{margin-left:auto;font-family:var(--disp);font-weight:600;font-size:12.5px;color:var(--green-soft);letter-spacing:.04em;text-transform:uppercase}
  /* podium des articles récents : or, argent, bronze */
  .podium{position:relative;height:290px;margin:14px 0 8px;overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .pd-item{position:absolute;left:50%;top:50%;width:330px;margin:-95px 0 0 -165px;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s,filter .55s;cursor:pointer;will-change:transform}
  .pd-item.noanim{transition:none}
  .pd-item[data-off="0"]{z-index:3}
  .pd-item[data-off="-1"],.pd-item[data-off="1"]{z-index:2;opacity:.55;filter:saturate(.7)}
  .pd-item[data-off="-2"],.pd-item[data-off="2"]{z-index:1;opacity:0}
  .pd-item[data-off="0"] .mini-tk{animation:breathe 4.2s ease-in-out infinite;box-shadow:0 18px 40px rgba(18,61,44,.18)}
  @keyframes breathe{0%,100%{transform:perspective(900px) rotateY(-3deg) rotate(-2.5deg) scale(1)}50%{transform:perspective(900px) rotateY(3deg) rotate(-1.5deg) scale(1.05)}}
  .pd-item .mini-tk{width:330px;border:3px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--tone) border-box;transition:transform .15s}
  .pd-item .mstub{background:var(--tone);border-right:2px dashed rgba(18,61,44,.25);flex-basis:36px}
  .pd-item .mstub .mcode{color:#123D2C}
  .pd-item .mbody{padding:20px 20px 18px}
  .pd-item .mbody .catmini{font-size:11.5px;margin-top:22px}
  .pd-item .mbody h4{font-size:19px;line-height:1.2;margin-top:6px;padding-right:36px}
  .pd-item .mbody .med{width:60px;height:60px;top:-16px;right:-10px}.pd-item .mbody .med b{font-size:20px}
  .pd-item .mwho{font-size:12px;font-weight:600;color:var(--green-soft);margin-top:10px}
  .pd-item .mnotch{background:var(--cream-2)}
  .pd-item .rank{position:absolute;top:12px;right:64px;font-family:var(--disp);font-weight:700;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#123D2C;background:var(--tone);padding:4px 9px;border-radius:999px;border:1px solid rgba(18,61,44,.45);text-shadow:0 1px 0 rgba(255,255,255,.35)}
  .tone-gold{--tone:linear-gradient(135deg,#FFE58A 0%,#E7A93C 55%,#B97A14 100%)}
  .tone-silver{--tone:linear-gradient(135deg,#FFFFFF 0%,#C9D4E4 50%,#8E9DB3 100%)}
  .tone-bronze{--tone:linear-gradient(135deg,#F3CDAA 0%,#C97B4A 55%,#8C4F26 100%)}
  #dayDate{transition:opacity .28s;display:inline-block}
  #dayDate.fade{opacity:0}
  .dayline .dl-title #dayDate.tone-gold,.dayline .dl-title #dayDate.tone-silver,.dayline .dl-title #dayDate.tone-bronze{background:var(--tone);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .06em;filter:drop-shadow(0 1px 0 rgba(18,61,44,.28))}
  .dayline .dl-title #dayDate.tone-gold{--tone:linear-gradient(135deg,#E2B14A 0%,#C48A1E 50%,#8A5A0C 100%)}
  .dayline .dl-title #dayDate.tone-silver{--tone:linear-gradient(135deg,#9DAAC0 0%,#6E7E96 50%,#4D5B70 100%)}
  .dayline .dl-title #dayDate.tone-bronze{--tone:linear-gradient(135deg,#C98A5A 0%,#9A5A2E 50%,#66391A 100%)}
  .sec-head h2{border-bottom:none}
  .sec-head{position:relative}
  .sec-head::after{content:"";flex:1;height:1px;background:var(--line)}

  /* top 10 */
  .top10{display:flex;gap:6px;overflow-x:auto;overflow-y:visible;padding:28px 4px 20px;scroll-snap-type:x mandatory}
  .top10::-webkit-scrollbar{height:8px}.top10::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
  .t10{display:flex;align-items:flex-end;gap:2px;flex:0 0 auto;scroll-snap-align:start;cursor:pointer;padding-top:16px}
  .t10 .num{font-family:var(--disp);font-weight:700;font-size:clamp(66px,9vw,110px);line-height:.78;background:linear-gradient(180deg,var(--coral),var(--coral-2));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em}
  .mini-tk{display:flex;width:196px;background:#fff;border-radius:16px;box-shadow:var(--shadow-sm);position:relative;transition:transform .15s}
  .t10:hover .mini-tk{transform:translateY(-3px)}
  .mstub{flex:0 0 28px;background:linear-gradient(180deg,#1C5A40,#123D2C);border-right:2px dashed rgba(255,255,255,.3);border-radius:16px 0 0 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 0}
  .mstub .bc{width:13px;height:36px}
  .mstub .mcode{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--disp);font-weight:700;font-size:8px;letter-spacing:.05em;color:#EFE3D0}
  .mnotch{position:absolute;left:20px;width:12px;height:12px;border-radius:50%;background:var(--cream-2);z-index:2}
  .mnotch.top{top:-6px}.mnotch.bot{bottom:-6px}
  .mbody{flex:1;min-width:0;padding:15px 15px 14px;position:relative}
  .t10 .pop{position:absolute;top:12px;left:15px;background:var(--grad);color:#fff;font-family:var(--disp);font-weight:600;font-size:9px;letter-spacing:.05em;padding:4px 9px;border-radius:999px;text-transform:uppercase}
  .mbody .catmini{font-family:var(--disp);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--green-soft);margin-top:18px}
  .mbody h4{font-family:var(--disp);font-weight:600;font-size:15px;line-height:1.18;margin-top:5px;color:var(--ink)}

  .med{width:52px;height:52px;border-radius:50%;background:conic-gradient(from 200deg,var(--coral-2),var(--pink),var(--coral));display:grid;place-items:center;transform:rotate(-8deg);box-shadow:0 8px 18px rgba(255,77,141,.35);border:3px solid #fff;color:#fff;text-align:center;line-height:.8}
  .med b{font-family:var(--disp);font-weight:700;font-size:17px;display:block}.med span{font-size:8px;font-weight:700;opacity:.9}
  .med.bump{animation:bump .4s ease}
  @keyframes bump{0%{transform:rotate(-8deg) scale(1)}40%{transform:rotate(-8deg) scale(1.16)}100%{transform:rotate(-8deg) scale(1)}}
  .med.big{width:82px;height:82px}.med.big b{font-size:28px}
  .mbody .med{position:absolute;top:-14px;right:-8px}

  /* ticket articles (white, v6) */
  .feed{display:flex;flex-direction:column;gap:22px;padding:20px 0 56px;perspective:1400px}
  .ticket{display:flex;background:#fff;border-radius:20px;position:relative;box-shadow:0 5px 0 var(--edge),var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;transform-style:preserve-3d}
  .ticket:hover{transform:translateY(-5px) rotateX(2deg);box-shadow:0 11px 0 var(--edge),0 26px 46px rgba(18,61,44,.2)}
  .stub{flex:0 0 56px;border-right:2px dashed rgba(255,255,255,.3);border-radius:20px 0 0 20px;background:linear-gradient(180deg,#1C5A40,#123D2C);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px 0}
  .stub .tcode{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--disp);font-weight:700;font-size:11px;letter-spacing:.1em;color:#EFE3D0}
  .bc{display:block}
  .stub .bc{width:20px;height:48px}
  .notch{position:absolute;left:48px;width:16px;height:16px;border-radius:50%;background:var(--cream-2);z-index:2}
  .notch.top{top:-8px}.notch.bot{bottom:-8px}
  .tbody{flex:1;min-width:0;padding:22px 24px 18px;position:relative;display:flex;gap:20px;align-items:stretch}
  .tmain{flex:1;min-width:0}
  .tthumb{flex:0 0 170px;width:170px;min-height:120px;max-height:160px;object-fit:cover;border-radius:14px;align-self:center;box-shadow:var(--shadow-sm)}
  .mbody .mthumb{display:block;width:100%;height:78px;object-fit:cover;border-radius:10px;margin-bottom:4px}
  .mbody.has-thumb .catmini{margin-top:6px}
  .tbody .med{position:absolute;top:-13px;right:-9px}
  .cat{display:inline-flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:5px 13px;border-radius:999px;margin-bottom:12px}
  .cat.actu{background:#FFE9E3;color:#D94436}.cat.actu .dot{background:var(--coral)}
  .cat.chronique{background:#E7F4EC;color:#1E7A4E}.cat.chronique .dot{background:#1E7A4E}
  .cat .dot{width:8px;height:8px;border-radius:50%}
  .ticket h3{font-family:var(--disp);font-weight:600;font-size:24px;line-height:1.16;margin-bottom:8px;padding-right:52px;cursor:pointer}
  .ticket h3:hover{color:var(--coral)}
  .ticket .exc{font-size:15.5px;color:var(--green-soft);font-weight:600;line-height:1.5;margin-bottom:16px;max-width:60ch}
  .tfoot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}
  .who{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--green-soft);font-weight:700;flex-wrap:wrap}
  .av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--disp);font-weight:700;font-size:12px;flex:0 0 auto}
  .who .sep{opacity:.5}
  .who .upd{color:var(--coral)}
  .vslide.cover .cwho .cupd,.stage.cover-default .cwho .cupd{display:inline-block;margin-top:.35em;font-size:.86em;color:#F2D9A0}
  .open-btn{margin-left:auto;font-family:var(--disp);font-weight:600;font-size:13.5px;color:#fff;background:var(--grad);padding:11px 20px;border-radius:999px}
  .open-btn:hover{filter:brightness(1.05)}
  .admin-actions{display:none;gap:8px}
  body.admin .admin-actions{display:inline-flex}
  .mini-btn{font-family:var(--disp);font-weight:600;font-size:12.5px;padding:8px 12px;border-radius:999px;background:var(--cream);color:var(--green)}
  .mini-btn.del{color:#D94436}.mini-btn:hover{background:#FFE1D6}

  /* vertical reader */
  .vreader{position:fixed;inset:0;z-index:95;background:#000;display:none;opacity:1;transition:opacity .4s ease}
  .vreader.open{display:block}
  .vreader.closing{opacity:0}
  .vslides{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth}
  .vslides::-webkit-scrollbar{display:none}
  .vslide{height:100%;scroll-snap-align:start;position:relative;display:flex;flex-direction:column;justify-content:center;padding:82px 30px 96px}
  .vslide.light{background:var(--cream-2);color:var(--ink)}
  .vslide .vimg{display:block;border-radius:20px;margin:0 auto 22px;max-width:100%;height:auto;box-shadow:0 10px 30px rgba(18,61,44,.12)}
  .vimg.pos-bottom{margin:22px auto 0}
  .vimg.al-left{margin-left:0}.vimg.al-right{margin-right:0}
  .vimg.fit-contain{object-fit:contain}
  .vimg.fit-contain.sz-s{max-width:min(100%,340px);max-height:26vh}
  .vimg.fit-contain.sz-m{max-width:min(100%,600px);max-height:40vh}
  .vimg.fit-contain.sz-l{max-width:min(100%,900px);max-height:54vh}
  .vimg.fit-contain.sz-full{max-width:100%;width:100%;max-height:62vh}
  .vimg.fit-cover{object-fit:cover;width:100%}
  .vimg.fit-cover.sz-s{max-width:min(100%,340px);height:26vh}
  .vimg.fit-cover.sz-m{max-width:min(100%,600px);height:40vh}
  .vimg.fit-cover.sz-l{max-width:min(100%,900px);height:54vh}
  .vimg.fit-cover.sz-full{max-width:100%;height:62vh}
  .vslide.hasbg{background-size:cover;background-position:center;color:#fff}
  .vslide.hasbg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.62))}
  .vslide.hasbg>*{position:relative}
  .vslide.hasbg .vt,.vslide.hasbg .vx{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45)}
  .vslide.light.hasbg .speak{background:rgba(0,0,0,.35);color:#fff}
  .vslide .vt{font-family:var(--disp);font-weight:700;font-size:clamp(24px,5vw,38px);line-height:1.08;margin-bottom:16px}
  .vslide .vx{font-weight:600;line-height:1.5}
  .vslide.cover{justify-content:flex-end;background:linear-gradient(150deg,#1F6449 0%,#123D2C 82%);color:#FBF3E7}
  .vslide.cover .toprow{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
  .vslide.cover .cat{background:none;padding:0;margin:0;border-radius:0;font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#F2D9A0}
  .vslide.cover .cat .dot{background:#F2D9A0}
  .vslide.cover .code-lbl{font-family:var(--disp);font-weight:600;font-size:11px;letter-spacing:.08em;color:rgba(239,227,208,.82);border:1px solid rgba(239,227,208,.34);padding:3px 10px;border-radius:6px}
  .vslide.cover .vt{font-family:"Newsreader",serif;font-weight:600;font-size:clamp(32px,7vw,54px);color:#FDF6EC;letter-spacing:-.01em}
  .vslide.cover .cwho{font-family:var(--disp);font-weight:600;font-size:15px;color:rgba(253,246,236,.82)}
  .vslide.cover .med{position:absolute;top:76px;right:26px}
  .vslide.cover .hint{margin-top:26px;font-weight:700;font-size:14px;color:rgba(253,246,236,.85);display:flex;align-items:center;gap:8px}
  .speak{position:absolute;top:76px;left:26px;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.28);color:#fff;display:grid;place-items:center;font-size:19px;backdrop-filter:blur(4px)}
  .vslide.light .speak{background:rgba(18,61,44,.08);color:var(--green)}

  /* end slide clean rating */
  .vslide.end{background:var(--green);color:#fff;justify-content:center;text-align:center;padding:70px 24px}
  .einner{max-width:440px;margin:0 auto;width:100%}
  .elbl{font-family:var(--disp);font-weight:700;font-size:clamp(24px,6vw,32px);margin-bottom:6px}
  .esub{opacity:.72;font-weight:600;font-size:14px;margin-bottom:26px}
  .ebig{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;max-width:320px;margin:0 auto 24px}
  .ebig button{width:100%;height:52px;border-radius:14px;background:rgba(255,255,255,.1);color:#fff;font-family:var(--disp);font-weight:700;font-size:18px;transition:.12s;border:2px solid transparent}
  .ebig button:hover{background:rgba(255,255,255,.2)}
  .ebig button.hot{background:#fff;color:var(--green)}
  .ebig button.sel{border-color:#fff;transform:translateY(-2px)}
  .evalider{font-family:var(--disp);font-weight:600;font-size:16px;color:#fff;background:var(--grad);padding:15px 34px;border-radius:999px;transition:.15s}
  .evalider:hover{filter:brightness(1.06)}
  .evalider:disabled{opacity:.4;cursor:not-allowed;filter:none}
  .evalider.done{background:#2FBF71;animation:pop .4s ease}
  @keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.09)}100%{transform:scale(1)}}
  .okcheck{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#2FBF71;font-size:13px;margin-right:6px;vertical-align:-4px;animation:pop .4s ease}
  .ethanks{font-family:var(--disp);font-weight:600;font-size:15px;margin-top:16px;min-height:20px;color:#EAF7EF}
  .ecur{margin-top:22px;font-weight:600;font-size:13.5px;opacity:.75}
  .ecur b{font-family:var(--disp);font-size:16px;color:#fff;opacity:1}

  .vprog{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:5px;width:min(420px,80vw)}
  .vprog .seg{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.35);overflow:hidden}.vprog .seg.on{background:#fff}
  .vclose{position:fixed;top:12px;right:14px;z-index:6;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.3);color:#fff;display:grid;place-items:center;font-size:19px;backdrop-filter:blur(4px)}
  .vnav{position:fixed;right:16px;bottom:20px;z-index:6;display:flex;flex-direction:column;gap:10px}
  .vnav button{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--green);display:grid;place-items:center;font-size:20px;box-shadow:var(--shadow-sm)}
  .swipe-cue{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:5;color:rgba(255,255,255,.75);font-family:var(--disp);font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px;pointer-events:none}

  /* modals / editor (unchanged core) */
  .modal{position:fixed;inset:0;z-index:90;background:rgba(18,61,44,.5);display:none;align-items:center;justify-content:center;padding:18px}
  .modal.open{display:flex}
  .sheet{width:min(500px,96vw);background:#fff;border-radius:24px;padding:26px;box-shadow:0 30px 70px rgba(0,0,0,.35);max-height:92vh;overflow:auto}
  .sheet h3{font-family:var(--disp);font-weight:700;font-size:23px}
  .sheet .muted{font-size:13.5px;color:var(--green-soft);font-weight:600;margin:2px 0 18px}
  .field{margin-bottom:14px}
  .field label{display:block;font-family:var(--disp);font-weight:600;font-size:13px;margin-bottom:6px}
  .field input,.field select,.field textarea{width:100%;font-family:var(--body);font-weight:600;font-size:15px;color:var(--green);background:var(--cream-2);border:1px solid var(--line);border-radius:14px;padding:13px 15px}
  .field textarea{min-height:90px;resize:vertical;line-height:1.5}
  .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--coral)}
  .row2{display:flex;gap:12px}.row2>*{flex:1}
  .primary{width:100%;font-family:var(--disp);font-weight:600;font-size:16px;color:#fff;background:var(--grad);border-radius:14px;padding:14px;margin-top:6px}
  .err{color:#D94436;font-weight:700;font-size:13.5px;margin-top:8px;min-height:18px}
  .close2{float:right;font-size:22px;color:var(--green-soft);margin-top:-4px}

  .editor{position:fixed;inset:0;z-index:85;background:var(--cream-2);display:none;flex-direction:column}
  .editor.open{display:flex}
  .ed-top{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap}
  .ed-top h3{font-family:var(--disp);font-weight:700;font-size:19px;margin-right:6px}
  .ed-top .prev{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--green);background:var(--cream);padding:10px 18px;border-radius:999px}
  .ed-top .pub{font-family:var(--disp);font-weight:600;font-size:14px;color:#fff;background:var(--grad);padding:10px 20px;border-radius:999px}
  .ed-top .cancel{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--green-soft);padding:10px}
  .ed-body{flex:1;overflow:auto;padding:22px 20px 60px}
  .ed-inner{max-width:1200px;margin:0 auto}
  .ed-meta{background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow-sm);margin-bottom:20px}
  .slide-ed{background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow-sm);margin-bottom:16px}
  .slide-ed .sn{font-family:var(--disp);font-weight:700;font-size:13px;color:var(--coral);margin-bottom:12px;display:flex;align-items:center;gap:8px}
  .slide-ed .sn .del{margin-left:auto;font-size:12.5px;color:#D94436;font-weight:600}
  .ctrls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
  .cgrp{display:flex;gap:3px;background:var(--cream);padding:4px;border-radius:10px}
  .cgrp button{font-family:var(--disp);font-weight:600;font-size:12px;color:var(--green-soft);padding:6px 10px;border-radius:7px}
  .cgrp button.on{background:#fff;color:var(--green);box-shadow:var(--shadow-sm)}
  .imgbtn{font-family:var(--disp);font-weight:600;font-size:12px;color:var(--green);background:var(--cream);padding:8px 12px;border-radius:10px;display:inline-flex;align-items:center;gap:6px}
  .imgprev{margin-top:10px;border-radius:12px;max-height:140px;max-width:100%;object-fit:contain;background:var(--cream)}
  .ed-seo .sn{font-family:var(--disp);font-weight:700;font-size:13px;color:var(--coral);margin-bottom:12px}
  .ed-seo .cnt{font-weight:600;color:var(--green-soft);font-size:12px;margin-left:6px}
  .ed-seo textarea{min-height:70px}
  .ssr-article{max-width:720px;margin:0 auto;padding:20px 22px}
  /* ===== mini-cartes (éditeur + lecteur) ===== */
  .stage{position:relative;width:100%;container-type:size;overflow:hidden;background:var(--cream-2);isolation:isolate}
  .stage .it{position:absolute;box-sizing:border-box;margin:0}
  .stage .it-text{white-space:pre-wrap;overflow-wrap:break-word;line-height:1.28;min-height:1.2em;padding:.15em .2em}
  .stage .it-img{display:block;height:auto;object-fit:contain;border-radius:2cqmin}
  /* mode fixe : les blocs se suivent comme sur une page */
  .stage.fixed .doc{position:absolute;inset:0;padding:7% 7% 6%;overflow-y:auto;display:flex;flex-direction:column;gap:2.4cqmin;z-index:2;scrollbar-width:thin}
  .stage.fixed .it.fx{position:static;width:auto;max-width:100%}
  .stage.fixed .it-img.fx{display:block;height:auto;border-radius:2cqmin;flex:0 0 auto}
  .stage.fixed .it-text.fx{line-height:1.3}
  .stage.editing.fixed .it{cursor:text}
  .stage.editing.fixed .it-img{cursor:pointer}
  .layout-sw{margin-left:12px;vertical-align:middle}
  .layout-sw .tb{padding:5px 10px;font-size:12px}
  .stage .it-img.bgfill{left:0!important;top:0!important;width:100%!important;height:100%;object-fit:cover;border-radius:0;z-index:0}
  .stage .speak{position:absolute;top:18px;left:18px;width:44px;height:44px;font-size:19px;background:rgba(18,61,44,.10);color:var(--green);border-radius:50%;display:grid;place-items:center;z-index:60;cursor:pointer;backdrop-filter:blur(4px)}
  /* le lecteur garde le cadre de composition (16:9 ordinateur, 9:16 téléphone), centré sur un fond de la même couleur */
  .vslide.card{padding:0;display:flex;align-items:center;justify-content:center;background:var(--cream-2);height:auto;min-height:100%}
  .vslide.card .stage{border-radius:0;flex:0 0 auto}
  .vslide.card .stage.fixed{height:auto;min-height:min(100dvh,calc(100vw * 9 / 16))}
  .stage.fixed{container-type:inline-size;height:auto}
  .stage.fixed .doc{position:relative;inset:auto;overflow:visible;min-height:100%;z-index:2;pointer-events:none}
  .stage.fixed .doc .it{pointer-events:auto}
  .hgrip{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);padding:0 10px;height:22px;border-radius:11px;background:var(--coral);color:#fff;font-family:var(--disp);font-weight:700;font-size:11px;display:grid;place-items:center;cursor:ns-resize;z-index:80;touch-action:none;opacity:.9;box-shadow:0 3px 8px rgba(0,0,0,.25);white-space:nowrap}
  .vslide.cover.has-img{background-size:cover;background-position:center}
  .vslide.cover-free{position:relative}
  .vslide.cover-free .stage{position:relative}
  .vslide.cover-free .speak{position:absolute;top:76px;left:26px;width:44px;height:44px;font-size:19px;background:rgba(0,0,0,.28);color:#fff}
  .vslide.cover-free .med{position:absolute;top:76px;right:26px}
  .vslide.cover-free .hint{position:absolute;left:30px;bottom:34px;font-weight:700;font-size:14px;color:rgba(253,246,236,.85);display:flex;align-items:center;gap:8px;font-family:var(--disp)}
  /* aperçu de la page d'ouverture standard dans l'éditeur */
  .stage.cover-default{background:linear-gradient(150deg,#1F6449 0%,#123D2C 82%);color:#FBF3E7;display:flex;flex-direction:column;justify-content:flex-end;padding:6% 5%}
  .stage.cover-default.has-img{background-size:cover;background-position:center}
  .stage.cover-default .toprow{display:flex;align-items:center;gap:2cqmin;margin-bottom:2cqmin;flex-wrap:wrap}
  .stage.cover-default .cat{background:none;padding:0;margin:0;font-family:var(--disp);font-weight:700;font-size:2.2cqmin;letter-spacing:.16em;text-transform:uppercase;color:#F2D9A0;display:inline-flex;align-items:center;gap:1cqmin}
  .stage.cover-default .cat .dot{background:#F2D9A0;width:1.4cqmin;height:1.4cqmin;border-radius:50%}
  .stage.cover-default .code-lbl{font-family:var(--disp);font-weight:600;font-size:2cqmin;letter-spacing:.08em;color:rgba(239,227,208,.82);border:1px solid rgba(239,227,208,.34);padding:.4cqmin 1.6cqmin;border-radius:1cqmin}
  .stage.cover-default .vt{font-family:"Newsreader",serif;font-weight:600;font-size:7cqmin;line-height:1.08;color:#FDF6EC;margin-bottom:2cqmin;letter-spacing:-.01em}
  .stage.cover-default .cwho{font-family:var(--disp);font-weight:600;font-size:2.6cqmin;color:rgba(253,246,236,.82)}
  .stage.cover-default .hint{margin-top:4cqmin;font-weight:700;font-size:2.4cqmin;color:rgba(253,246,236,.85);font-family:var(--disp)}
  .stage.editing.cover-free-ed.has-img{background-size:cover;background-position:center}
  .tb-row.cover-row{background:#E7F4EC;border-radius:10px;padding:6px 8px}
  .vslide.card .stage.pc{width:min(100vw,calc(100dvh * 16 / 9));height:calc(min(100dvh,calc(100vw * 9 / 16)) * var(--hf,1))}
  .vslide.card .stage.tel{width:min(100vw,calc(100dvh * 9 / 16));height:calc(min(100dvh,calc(100vw * 16 / 9)) * var(--hf,1))}
  .vslide.card .stage.fixed.pc,.vslide.card .stage.fixed.tel{height:auto}
  /* éditeur */
  .stage-wrap{display:flex;justify-content:center;background:var(--cream);border-radius:16px;padding:14px}
  .stage.editing{box-shadow:var(--shadow-sm);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px}
  .stage.editing.pc{width:100%;aspect-ratio:16/9}
  .stage.editing.tel{width:min(100%,340px);aspect-ratio:9/16}
  .stage.editing.fixed{aspect-ratio:auto}
  .stage.editing .speak{top:3%;left:3%;width:6cqmin;height:6cqmin;font-size:3cqmin;max-width:44px;max-height:44px}
  .modeswitch{display:inline-flex;gap:2px;background:var(--cream);border-radius:999px;padding:3px;margin-right:auto}
  .modeswitch button{font-family:var(--disp);font-weight:600;font-size:13px;color:var(--green-soft);padding:8px 14px;border-radius:999px}
  .modeswitch button.on{background:var(--green);color:#fff}
  .tb-row.tel-row{background:#EAF2FF;border-radius:10px;padding:6px 8px}
  .stage.editing .it{cursor:move}
  .stage.editing .it-text{outline:none}
  .stage.editing .it-text[contenteditable]{-webkit-user-select:text;user-select:text}
  .stage.editing .it-text:focus{cursor:text}
  .stage.editing .it-text.bound{cursor:move}
  .stage.editing .it-text.bound.sel::after{content:"auto";position:absolute;top:-1.1em;right:0;font:700 10px/1 var(--disp);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--green-soft);padding:3px 6px;border-radius:6px}
  .stage.editing .it-text:empty::before{content:attr(data-ph);opacity:.45;pointer-events:none}
  .stage.editing .it:hover{outline:1px dashed rgba(255,77,94,.6)}
  .stage.editing .it.sel{outline:2px solid var(--coral)}
  .stage.editing .speak{pointer-events:none;opacity:.8}
  .selbox{position:absolute;pointer-events:none;z-index:70}
  .handle{position:absolute;pointer-events:auto;background:var(--coral);color:#fff;box-shadow:0 3px 8px rgba(0,0,0,.25)}
  .hd-move{top:-13px;left:50%;transform:translateX(-50%);width:28px;height:22px;border-radius:8px;font-size:13px;display:grid;place-items:center;cursor:move;touch-action:none}
  .hd-size{right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;border:2px solid #fff;cursor:nwse-resize;touch-action:none}
  .sn-tools{margin-left:auto;display:inline-flex;gap:6px;align-items:center}
  .sn-tools .tb{padding:4px 9px}
  /* disposition ordinateur : outils texte à gauche, ajouts à droite, carte au milieu */
  .ed-grid{display:grid;grid-template-columns:200px minmax(0,1fr) 224px;gap:12px;align-items:start}
  .toolbar{display:contents}
  .tools-left{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:8px;position:sticky;top:8px}
  .ed-grid .stage-wrap{grid-column:2;grid-row:1}
  .tools-right{grid-column:3;grid-row:1;display:flex;flex-direction:column;gap:8px;position:sticky;top:8px}
  .tools-left .tg-body,.tools-right .tg-body{flex-direction:row;flex-wrap:wrap}
  .tools-left .tg{border-color:rgba(255,77,94,.35);background:#FFF7F4}
  .tools-left .tg-lbl{color:var(--coral)}
  .tg-empty{border-style:dashed!important;background:#fff!important}
  .tb.acc{width:100%;display:flex;justify-content:space-between;align-items:center}
  .tb.acc .chev{opacity:.6}
  .slide-ed .sn{flex-wrap:wrap;gap:8px}
  .cardfold{padding:4px 8px;margin-right:6px}
  .slide-ed.collapsed{padding:10px 18px}
  .cards-head{margin:6px 0 12px}
  .cards-toggle{width:100%;text-align:left;font-family:var(--disp);font-weight:700;font-size:17px;color:var(--green);background:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:10px}
  .cards-toggle small{font-weight:600;font-size:12.5px;color:var(--green-soft);margin-left:auto}
  .editor.cards-closed #slideList,.editor.cards-closed #addSlide{display:none}
  #floatTools{position:fixed;z-index:120;display:flex;gap:4px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:5px;box-shadow:0 14px 34px rgba(18,61,44,.22)}
  #floatTools .tb{padding:7px 10px;font-size:13px}
  #floatTools select{font:inherit;font-weight:600;font-size:12.5px;padding:6px 6px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--green);max-width:110px}
  .coauthor{display:flex;gap:6px;margin-top:8px}
  .coauthor input{flex:1}
  .coauthor .tb{padding:0 12px}
  .tg{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:#fff;border:1px solid var(--line);border-radius:12px}
  .tg-lbl{font-family:var(--disp);font-weight:700;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-soft)}
  .tg-body{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
  .tb-row.sel-row .tg{border-color:rgba(255,77,94,.35);background:#FFF7F4}
  .layers{display:flex;flex-direction:column;gap:4px;min-width:230px;max-height:190px;overflow:auto;width:100%}
  .layer-row{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:9px;background:var(--cream-2);padding:3px 4px}
  .layer-row.on{border-color:var(--coral);background:#FFF1EC}
  .lp-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-align:left;font-size:12px;font-weight:600;color:var(--green);padding:2px 4px}
  .lp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lp-img{width:30px;height:30px;object-fit:cover;border-radius:6px;flex:0 0 auto;background:#fff}
  .lp-t{width:30px;height:30px;display:grid;place-items:center;background:#fff;border-radius:6px;font-family:var(--disp);font-weight:800;font-size:13px;flex:0 0 auto}
  .lp-btn{padding:5px 7px;font-size:10px}
  ::highlight(lae-pin){background:rgba(255,77,94,.3)}
  .tg-layers .tg-body{flex-direction:column;align-items:stretch}
  .tg-imgbg .tg-body label.tb{position:relative;overflow:hidden}
  .lp-check{width:26px;height:26px;border-radius:7px;font-size:15px;color:var(--green-soft);flex:0 0 auto}
  .lp-check.on{color:var(--coral)}
  .stage.editing .it.sel{outline:2px solid var(--coral)}
  .lp-btn:disabled{opacity:.3}
  .tb-row.sel-row .tg-lbl{color:var(--coral)}
  .ed-status{font-size:12px;font-weight:700;color:var(--green-soft);margin-right:4px}
  .ed-top .prev.draft{background:#E7F4EC;color:#1E7A4E}
  .drafts-list{margin-top:16px}
  .drafts-title{font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-soft);margin:0 0 8px}
  .draft-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line)}
  .draft-row .dr-main{flex:1;min-width:0;line-height:1.25}
  .draft-row .dr-main b{display:block;font-family:var(--disp);font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .draft-row .dr-main span{font-size:12px;color:var(--green-soft);font-weight:600}
  .tb-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:30px}
  .tb-row.sel-row{background:#FFF1EC;border-radius:10px;padding:6px 8px}
  .tb{font-family:var(--disp);font-weight:600;font-size:12.5px;color:var(--green);background:var(--cream);padding:7px 11px;border-radius:9px;cursor:pointer;line-height:1}
  .tb:hover{background:#FFE1D6}.tb.on{background:var(--green);color:#fff}
  .grp{display:inline-flex;gap:2px;background:var(--cream);border-radius:9px;padding:2px}
  .grp .tb{padding:5px 9px;border-radius:7px}.grp .val{font-size:11.5px;font-weight:700;padding:6px 4px;color:var(--green-soft);min-width:26px;text-align:center}
  .sw{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
  .sw.on{box-shadow:0 0 0 2px var(--coral)}
  .toolbar .lbl{font-size:11.5px;font-weight:700;color:var(--green-soft)}
  .toolbar select{font:inherit;font-weight:600;font-size:12.5px;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--green)}
  .ed-tabs,.card-nav{display:none}
  .addslide{width:100%;font-family:var(--disp);font-weight:600;font-size:14px;color:var(--green);background:#fff;border:2px dashed var(--line);border-radius:16px;padding:14px}
  .addslide:hover{border-color:var(--coral);color:var(--coral)}

  /* ===== footer (repris de ressourceslae.com) ===== */
  .lae-footer{--lae-g1:#f0265c;--lae-g2:#ff8a3d;--lae-g3:#ff8a3d;--lae-txt:#fff6e9;--lae-titres:#fff;--lae-bar-bg:#fff6e9;--lae-bar-txt:#14142b;--lae-navy:#14142B;--lae-logo-w:180px;--lae-logo-w-m:150px;--lae-p-w:130px;--lae-p-w-m:110px;
    color:var(--lae-txt);font-family:"Inter",system-ui,sans-serif;line-height:1.5;margin-top:30px}
  .lae-tc{display:block;line-height:0;font-size:0;background:transparent;position:relative;z-index:8;pointer-events:none;margin-bottom:-1px}
  .lae-tc__svg{display:block;width:100%;height:50px}
  .lae-ft-body{background:linear-gradient(160deg,var(--lae-g1) 0%,var(--lae-g2) 48%,var(--lae-g3) 100%);padding:clamp(36px,5vw,72px) clamp(20px,5vw,72px) clamp(20px,2.5vw,36px)}
  .lae-ft-grid{display:grid;grid-template-columns:minmax(180px,300px) 1fr auto;gap:clamp(28px,4vw,72px);align-items:start;max-width:1480px;margin:0 auto}
  .lae-ft-logo img{display:block;height:auto;width:var(--lae-logo-w)}
  .lae-ft-nav{display:flex;flex-wrap:wrap;gap:clamp(28px,3.5vw,64px)}
  .lae-ft-col-titre{font-style:italic;font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:13px;opacity:.7;margin:0 0 18px}
  .lae-ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
  .lae-ft-col a{position:relative;display:inline-block;color:var(--lae-titres);text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:17px}
  .lae-ft-col a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:3px;border-radius:3px;background:#fff;transform:scaleX(0);transform-origin:left center;transition:transform .28s}
  .lae-ft-col a:hover::after,.lae-ft-col a:focus-visible::after{transform:scaleX(1)}
  .lae-ft-side{display:grid;gap:30px;justify-items:center}
  .lae-ft-portails{display:flex;gap:clamp(28px,3vw,52px);align-items:center}
  .lae-portal{display:block;width:var(--lae-p-w);text-decoration:none;cursor:pointer}
  .lae-portal img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 18px rgba(20,20,43,.25));transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .lae-portal:hover img{transform:translateY(-6px) scale(1.05) rotate(-2deg)}
  .lae-ft-mascotte{display:grid;justify-items:center;gap:6px}
  .lae-ft-bulle{position:relative;background:var(--lae-bar-bg);color:var(--lae-navy);font-weight:800;font-style:italic;font-size:14px;padding:12px 20px;border-radius:22px 22px 22px 6px;box-shadow:0 10px 24px -10px rgba(20,20,43,.5)}
  .lae-ft-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;background:var(--lae-bar-bg);color:var(--lae-bar-txt);border-radius:18px;padding:16px 32px;margin:clamp(28px,4vw,56px) auto 0;max-width:1480px;font-size:13px;font-weight:500}
  .lae-ft-bar-left{display:flex;align-items:center;gap:6px 22px;flex-wrap:wrap}
  .lae-ft-bar-links{font-weight:700}

  /* ===== mobile first priority ===== */
  @media (max-width:600px){
    /* tickets de la une : mêmes dimensions que ceux qui défilent */
    .feed{gap:16px;align-items:center}
    .ticket{width:min(100%,300px);margin:0 auto;border-radius:16px}
    .ticket:hover{transform:none}
    .stub{flex:0 0 28px;border-radius:16px 0 0 16px;gap:7px;padding:12px 0}
    .stub .bc{width:13px;height:36px}
    .stub .tcode{font-size:8px;letter-spacing:.05em}
    .notch{left:20px;width:12px;height:12px}.notch.top{top:-6px}.notch.bot{bottom:-6px}
    .tbody{padding:15px 15px 14px;flex-direction:column;gap:4px}
    .tthumb{width:100%;height:78px;min-height:0;max-height:none;border-radius:10px;align-self:stretch;margin-bottom:2px}
    .cat{background:none!important;padding:0;margin:18px 0 0;font-size:10.5px;letter-spacing:.05em;color:var(--green-soft)!important}
    .cat .dot{display:none}
    .ticket h3{font-size:15px;line-height:1.18;margin:5px 0 0;padding-right:40px}
    .ticket .exc{display:none}
    .tfoot{border-top:none;padding-top:8px;gap:6px}
    .who{font-size:11px;font-weight:600;gap:5px}
    .who .av{display:none}
    .open-btn{display:none}
    .admin-actions{width:100%}
    .tbody .med{width:52px;height:52px;top:-14px;right:-8px}.tbody .med b{font-size:17px}
    /* espace sous la barre du haut */
    .hero{padding:56px 0 76px}
    /* barre du bas du footer */
    .lae-ft-bar{flex-direction:column;gap:4px;font-size:11.5px;padding:12px 14px;text-align:center}
    .lae-ft-bar-left{flex-direction:column;gap:2px;justify-content:center}
    .topnav{gap:8px;padding-top:12px;padding-bottom:10px;padding-left:12px;padding-right:12px}
    .toggle{padding:4px;gap:0}
    .toggle button{padding:8px clamp(6px,1.8vw,11px);font-size:clamp(9.5px,2.7vw,11.5px);letter-spacing:.01em}
    .toggle .div{height:14px}
    .tools{gap:6px}
    .search-btn{width:40px;height:40px;border-radius:12px;font-size:17px}
    .key-btn{width:40px;height:40px;padding:0;font-size:0;display:grid;place-items:center;border-radius:12px}
    .key-btn::before{content:"🔑";font-size:17px}
    .htitle{gap:10px}
    .crestbig{width:52px;height:58px;top:2px;right:16px}
    .t10 .num{font-size:62px}.t10 .mini{width:158px}
    .logo img{height:52px}
    .dayline .dl-note{margin-left:0}
    .lae-ft-grid{grid-template-columns:1fr;justify-items:center;text-align:center}
    .lae-ft-logo img{width:var(--lae-logo-w-m)}
    .lae-portal{width:var(--lae-p-w-m)}
    .lae-ft-nav{justify-content:center}
    .lae-ft-bar{justify-content:center;text-align:center;padding:14px 18px}
    .lae-tc__svg{height:24px}
    .podium{height:250px}
    .search-panel{margin-top:78px;padding:0 12px}
    .search-close{top:10px;right:10px;width:38px;height:38px}
    .pd-item{width:280px;margin-left:-140px;margin-top:-88px}
    .pd-item .mini-tk{width:280px}
    .pd-item .mbody{padding:16px 16px 14px}.pd-item .mbody h4{font-size:16px}
    .search-results .mini-tk{width:230px}
    .open-btn{margin-left:0}
    .tbody{flex-direction:column;gap:12px}
    .tthumb{flex-basis:auto;width:100%;height:150px;min-height:0;max-height:none;align-self:stretch}
    .ed-top h3{width:100%;margin-bottom:6px}
  }
  @media (max-width:430px){
    .htitle .stat{font-size:27px}.htitle .rot{font-size:23px}
    .htitle .plate{padding:2px 12px}
    .logo img{height:44px}
    .topnav{gap:6px}
    .toggle{overflow:hidden;padding:3px}
    .toggle button{padding:7px 5px;font-size:9px;letter-spacing:0}
    .search-btn,.key-btn{width:36px;height:36px}
  }
  @media (max-width:350px){
    .logo img{height:38px}
    .search-btn,.key-btn{width:32px;height:32px;font-size:15px}.key-btn::before{font-size:15px}
    .toggle button{font-size:8.5px;padding:7px 4px}
    .stub{flex-basis:46px}.notch{left:38px}
    .ticket h3{font-size:21px;padding-right:44px}
    .med{width:48px;height:48px}.med b{font-size:15px}
    .ebig button{width:44px;height:48px;font-size:16px}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

  /* bandeau mode démo (disparaît quand Supabase est branché) */
  .demo{background:#FFE9D8;color:#B2612A;font-weight:700;font-size:13px;text-align:center;padding:8px 14px}
  .demo code{font-family:ui-monospace,Menlo,monospace;background:#fff;padding:1px 6px;border-radius:6px}
  .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--green);color:#fff;font-family:var(--disp);font-weight:600;padding:12px 20px;border-radius:999px;box-shadow:var(--shadow);z-index:200;opacity:0;transition:.2s;pointer-events:none}
  .toast.show{opacity:1}

  /* ===== éditeur sur téléphone : une carte à la fois, outils en bas ===== */
  @media (max-width:700px){
    .ed-top{padding:10px 12px;gap:8px;flex-wrap:nowrap}
    .ed-top h3{font-size:15px;width:auto;margin:0 auto 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .modeswitch{display:none}
    .ed-top .prev{padding:9px 11px;font-size:13px}
    .ed-top .pub{padding:9px 14px;font-size:13px}
    .ed-top .cancel{padding:9px 6px;font-size:13px}
    .ed-body{padding:12px 10px 200px}
    .ed-inner{max-width:none}
    .ed-tabs{display:flex;gap:4px;margin-bottom:12px;background:#fff;border-radius:999px;padding:4px;box-shadow:var(--shadow-sm)}
    .ed-tabs button{flex:1;font-family:var(--disp);font-weight:600;font-size:14px;padding:11px;border-radius:999px;color:var(--green-soft)}
    .ed-tabs button.on{background:var(--green);color:#fff}
    .editor.tab-cards .ed-meta,.editor.tab-cards .ed-seo{display:none}
    .editor.tab-infos #slideList,.editor.tab-infos #addSlide,.editor.tab-infos .card-nav{display:none}
    .card-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;background:#fff;border-radius:14px;padding:6px;box-shadow:var(--shadow-sm)}
    .card-nav .cn-btn{font-family:var(--disp);font-weight:700;font-size:18px;width:44px;height:44px;border-radius:12px;background:var(--cream);color:var(--green);display:grid;place-items:center}
    .card-nav .cn-btn:disabled{opacity:.3}
    .card-nav .cn-title{font-family:var(--disp);font-weight:700;font-size:14px;color:var(--green);text-align:center;flex:1}
    .card-nav .cn-title small{display:block;font-weight:600;font-size:11px;color:var(--green-soft)}
    .card-nav .cn-add{font-family:var(--disp);font-weight:600;font-size:13px;padding:0 12px;height:44px;border-radius:12px;background:var(--grad);color:#fff;white-space:nowrap}
    .slide-ed{display:none;padding:0;background:none;box-shadow:none;margin:0}
    .slide-ed.active{display:block}
    .slide-ed .sn{padding:0 4px 8px}
    .slide-ed .sn .sn-tools .tb{width:38px;height:38px;padding:0;display:grid;place-items:center;font-size:16px}
    .stage-wrap{padding:0;background:none;border-radius:0}
    .stage.editing.tel{width:100%;max-width:none;border-radius:14px}
    .stage.editing.pc{width:100%}
    #addSlide{display:none}
    .ed-top .prev.draft{padding:9px 10px}
    .ed-status{display:none}
    .card-nav .cn-add{padding:0 12px;font-size:18px}
    .cn-modes{display:inline-flex;gap:2px;background:var(--cream);border-radius:12px;padding:3px}
    .cn-modes button{width:38px;height:38px;border-radius:9px;font-size:17px;display:grid;place-items:center}
    .cn-modes button.on{background:var(--green)}
    .ed-grid{display:flex;gap:8px;align-items:flex-start}
    .toolbar{display:block}
    .cards-head{display:none}
    .editor.cards-closed #slideList,.editor.cards-closed #addSlide{display:block}
    .editor.cards-closed.tab-infos #slideList{display:none}
    .slide-ed.active{display:block}
    .sn .layout-sw{margin-left:0}
    .slide-ed .sn{width:100%}
    .slide-ed.active{flex-wrap:wrap}
    .slide-ed.active .toolbar{flex:0 0 auto;margin:0;position:sticky;top:64px;z-index:20}
    .slide-ed.active .stage-wrap{flex:1;min-width:0;display:flex;justify-content:center}
    #floatTools{max-width:96vw;flex-wrap:wrap}
    .rail{display:flex;flex-direction:column;gap:6px;background:#fff;border-radius:14px;padding:6px;box-shadow:var(--shadow-sm);width:64px}
    .rail.collapsed{width:auto}
    .rail.collapsed .rail-btn{display:none}
    .rail-toggle{font-family:var(--disp);font-weight:700;font-size:18px;height:28px;border-radius:8px;background:var(--cream);color:var(--green)}
    .rail-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:52px;border-radius:10px;background:var(--cream-2);color:var(--green)}
    .rail-btn .ic{font-size:17px;line-height:1}
    .rail-btn .lb{font-family:var(--disp);font-weight:600;font-size:9.5px;letter-spacing:.02em}
    .rail-btn.on{background:var(--green);color:#fff}
    .tool-panel{position:fixed;left:0;right:0;bottom:0;z-index:96;background:#fff;border-top:1px solid var(--line);box-shadow:0 -12px 34px rgba(18,61,44,.16);padding:10px 12px calc(12px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}
    .tp-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--disp);font-weight:700;font-size:14px;color:var(--green);margin-bottom:8px}
    .tp-body{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .tp-body .lbl{white-space:normal;font-size:12.5px}
    .stage.editing.tel{height:min(calc(100dvh - 345px),620px);width:auto;max-width:100%;aspect-ratio:9/16}
    .stage.editing.pc{width:100%;aspect-ratio:16/9}
    .tb{font-size:14px;padding:11px 14px;white-space:nowrap;flex:0 0 auto;border-radius:11px}
    .grp{flex:0 0 auto}
    .sw{width:30px;height:30px;flex:0 0 auto}
    .toolbar select{font-size:14px;padding:9px 10px;flex:0 0 auto}
    .hd-size{width:28px;height:28px;right:-14px;bottom:-14px}
    .hd-move{width:44px;height:32px;top:-20px;font-size:17px;border-radius:10px}
    .stage.editing .it-text.bound.sel::after{font-size:9px}
  }
