
    /* ══ HEURE DORÉE (fiche spot) — pattern hero verdict : fond = échelle vent, texte contrasté ══ */
    .wgold{display:flex;align-items:center;justify-content:space-between;gap:10px;
      background:var(--qv);color:var(--qfg);border-radius:12px;padding:12px 14px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 8px rgba(10,30,60,.10)}
    .wgold-when{font-family:var(--w-font-mono);font-size:.72rem;font-weight:700;
      text-transform:uppercase;letter-spacing:.08em}
    .wgold-sub{font-size:.78rem;opacity:.85;margin-top:3px}
    .wgold-score{font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:1.9rem;line-height:1;white-space:nowrap}
    .wgold-score span{font-size:.72rem;font-weight:600;opacity:.75;font-style:normal;font-family:var(--w-font-mono)}
    .wgold-none{font-size:.8rem;color:var(--w-ink-3,#8a8074);padding:4px 2px}

    /* ══ RÉTRO — entrée carnet (encart vedette : liseré dégradé autorisé §2) ══ */
    .retro-entry{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
      background:var(--w-ocean,#fff);border:1px solid var(--w-line,#e3dcce);border-radius:16px;
      padding:14px 16px;margin-bottom:12px;position:relative;overflow:hidden;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 8px rgba(10,30,60,.06);transition:transform .15s}
    .retro-entry:hover{transform:translateY(-2px)}
    .retro-entry::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
      background:linear-gradient(180deg,#00d4ff,#0CB67A,var(--w-flare,#FF5A1F))}
    .retro-entry-t{font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:1.05rem;color:var(--w-ink,#1f1812)}
    .retro-entry-s{font-family:var(--w-font-mono);font-size:.68rem;text-transform:uppercase;
      letter-spacing:.08em;color:var(--w-ink-3,#8a8074);margin-top:2px}
    .retro-entry-ch{margin-left:auto;color:var(--w-ink-3,#8a8074);font-size:1.2rem}

    /* ══ RÉTRO — overlay stories (cinéma assumé : sombre, sobre, une seule couleur d'accent) ══ */
    #retro-overlay{position:fixed;inset:0;z-index:100001;background:#10161B;display:none;
      flex-direction:column;align-items:center;justify-content:center;color:#F2F6F5;
      font-family:var(--w-font-body,inherit);cursor:pointer;
      padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
    #retro-overlay.open{display:flex}
    #retro-progress{position:absolute;top:max(14px,env(safe-area-inset-top));left:16px;right:56px;
      display:flex;gap:5px}
    #retro-progress span{flex:1;height:3px;border-radius:99px;background:rgba(255,255,255,.18)}
    #retro-progress span.on{background:rgba(255,255,255,.85)}
    #retro-close{position:absolute;top:max(10px,env(safe-area-inset-top));right:12px;
      width:36px;height:36px;border:none;border-radius:50%;background:rgba(255,255,255,.10);
      color:#F2F6F5;font-size:1rem;cursor:pointer}
    #retro-card{display:flex;flex-direction:column;align-items:center;justify-content:center;
      text-align:center;gap:10px;max-width:480px;width:100%;padding:24px}
    .retro-k{font-family:var(--w-font-mono);font-size:.72rem;font-weight:700;text-transform:uppercase;
      letter-spacing:.22em;color:#8FA0A8}
    .retro-big{font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:clamp(64px,22vw,120px);line-height:1;color:#F2F6F5}
    .retro-mid{font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:clamp(28px,8vw,44px);line-height:1.15;text-wrap:balance}
    .retro-unit{font-size:.3em;font-style:normal;font-family:var(--w-font-mono);font-weight:600;
      opacity:.7;margin-left:.15em}
    .retro-lbl{font-size:.85rem;color:#B9C6CB}
    .retro-recap{width:100%;max-width:340px;display:flex;flex-direction:column;gap:0;
      background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);border-radius:14px;
      padding:6px 16px;margin-top:4px}
    .retro-row{display:flex;justify-content:space-between;align-items:center;gap:14px;
      padding:10px 0;font-size:.85rem;color:#B9C6CB}
    .retro-row+.retro-row{border-top:1px solid rgba(255,255,255,.08)}
    .retro-row b{color:#F2F6F5;font-weight:700}
    .retro-brand{font-family:var(--w-font-mono);font-size:.66rem;font-weight:700;
      letter-spacing:.3em;color:#5F707A;margin-top:6px}
    .retro-share{margin-top:14px;border:none;cursor:pointer;border-radius:var(--w-r-full,999px);
      padding:12px 28px;font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--w-flare,#FF5A1F),var(--w-coral,#FF4B6F));
      box-shadow:0 2px 10px rgba(255,75,111,.3)}
    .retro-hint{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));
      font-family:var(--w-font-mono);font-size:.62rem;text-transform:uppercase;
      letter-spacing:.14em;color:#5F707A}
    #retro-overlay.last .retro-hint{display:none}
    @media(max-height:520px){
      .retro-big{font-size:clamp(44px,14vh,72px)}
      .retro-mid{font-size:clamp(22px,7vh,32px)}
      #retro-card{gap:6px;padding:34px 16px 12px}
      .retro-recap{padding:2px 14px}.retro-row{padding:7px 0}
      .retro-share{margin-top:8px;padding:10px 24px}
    }

    /* ══ MA SEMAINE DE VENT — planner 7 jours (fond gris, cartes blanches, score = échelle vent) ══ */
    #week-modal{position:fixed;inset:0;z-index:99998;background:var(--w-storm,#f4efe6);
      display:none;flex-direction:column}
    #week-modal.open{display:flex}
    .week-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
      padding:calc(14px + env(safe-area-inset-top)) 18px 12px;background:var(--w-ocean,#fff);
      border-bottom:1px solid var(--w-line,#e3dcce)}
    .week-ttl{font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:1.25rem;color:var(--w-ink,#1f1812)}
    .week-sub{font-family:var(--w-font-mono);font-size:.66rem;text-transform:uppercase;
      letter-spacing:.12em;color:var(--w-ink-3,#8a8074);margin-top:3px}
    .week-close{width:34px;height:34px;border:1px solid var(--w-line,#e3dcce);border-radius:50%;
      background:var(--w-storm,#f4efe6);color:var(--w-ink,#1f1812);font-size:.95rem;cursor:pointer;flex:0 0 auto}
    .week-body{flex:1;overflow-y:auto;padding:14px 16px calc(24px + env(safe-area-inset-bottom))}
    .week-day{font-family:var(--w-font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase;
      letter-spacing:.14em;color:var(--w-ink-3,#8a8074);margin:16px 2px 8px}
    .week-day:first-child{margin-top:2px}
    .week-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
      background:var(--w-ocean,#fff);border:1px solid var(--w-line,#e3dcce);border-radius:14px;
      padding:12px 14px;margin-bottom:8px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 8px rgba(10,30,60,.06);transition:transform .15s}
    .week-row:hover{transform:translateY(-2px)}
    .week-when{font-family:var(--w-font-mono);font-size:.78rem;font-weight:700;
      color:var(--w-ink,#1f1812);white-space:nowrap;min-width:66px}
    .week-spot{flex:1;min-width:0}
    .week-spot b{display:block;font-size:.92rem;color:var(--w-ink,#1f1812);
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .week-spot span{display:block;font-size:.74rem;color:var(--w-ink-2,#5b5247);margin-top:2px}
    .week-score{font-family:var(--w-font-display);font-style:italic;font-weight:700;font-size:1.05rem;
      border-radius:10px;padding:6px 10px;min-width:44px;text-align:center;flex:0 0 auto}
    .week-skel{height:58px;background:var(--w-ocean,#fff);opacity:.55}
    .week-empty{text-align:center;padding:52px 24px 20px}
    .week-empty-ttl{font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:1.2rem;color:var(--w-ink,#1f1812)}
    .week-empty-sub{font-size:.85rem;color:var(--w-ink-2,#5b5247);margin-top:8px;max-width:34em;
      margin-left:auto;margin-right:auto}
    .week-cta{margin-top:18px;border:none;cursor:pointer;border-radius:var(--w-r-full,999px);
      padding:12px 26px;font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:.92rem;color:#fff;background:linear-gradient(135deg,var(--w-flare,#FF5A1F),var(--w-coral,#FF4B6F));
      box-shadow:0 2px 10px rgba(255,75,111,.3)}
    .week-note{font-family:var(--w-font-mono);font-size:.66rem;text-transform:uppercase;
      letter-spacing:.1em;color:var(--w-ink-3,#8a8074);text-align:center;margin-top:14px}

    /* ══ POULS DU SPOT — le réseau visible : point qui bat (marqueur) + ligne fiche ══ */
    .mk-pouls{position:absolute;top:-3px;right:-3px;width:12px;height:12px;border-radius:50%;
      background:var(--w-flare,#FF5A1F);border:2px solid #fff;
      box-shadow:0 1px 4px rgba(10,30,60,.4)}
    .mk-pouls::after{content:"";position:absolute;inset:-2px;border-radius:50%;
      border:2px solid var(--w-flare,#FF5A1F);opacity:0;
      animation:poulsPing 2s cubic-bezier(0,0,.2,1) infinite}
    @keyframes poulsPing{0%{transform:scale(.6);opacity:.8}80%,100%{transform:scale(2.2);opacity:0}}
    .sf-pouls{display:flex;align-items:center;gap:8px;margin:8px 2px 2px;
      font-family:var(--w-font-mono);font-size:.72rem;font-weight:700;
      text-transform:uppercase;letter-spacing:.08em;color:var(--w-flare,#FF5A1F)}
    .sf-pouls-dot{width:9px;height:9px;border-radius:50%;background:var(--w-flare,#FF5A1F);
      position:relative;flex:0 0 auto}
    .sf-pouls-dot::after{content:"";position:absolute;inset:-3px;border-radius:50%;
      border:2px solid var(--w-flare,#FF5A1F);opacity:0;
      animation:poulsPing 2s cubic-bezier(0,0,.2,1) infinite}
    @media (prefers-reduced-motion: reduce){
      .mk-pouls::after,.sf-pouls-dot::after{animation:none;opacity:0}
    }

    /* ══ MODE EXPÉDITION — réutilise l'habillage week-* + cartes dédiées ══ */
    #exped-modal{position:fixed;inset:0;z-index:99998;background:var(--w-storm,#f4efe6);
      display:none;flex-direction:column}
    #exped-modal.open{display:flex}
    .exped-card{background:var(--w-ocean,#fff);border:1px solid var(--w-line,#e3dcce);
      border-radius:16px;padding:18px;margin-bottom:12px;text-align:center;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 8px rgba(10,30,60,.06)}
    .exped-card.exped-ok{border-color:#0CB67A66}
    .exped-t{font-family:var(--w-font-display);font-style:italic;font-weight:700;
      font-size:1.1rem;color:var(--w-ink,#1f1812)}
    .exped-note{font-size:.8rem;color:var(--w-ink-2,#5b5247);margin-top:6px;line-height:1.5}
    .exped-bar{height:8px;border-radius:99px;background:var(--w-storm,#f4efe6);
      border:1px solid var(--w-line,#e3dcce);margin-top:12px;overflow:hidden}
    .exped-bar span{display:block;height:100%;border-radius:99px;
      background:linear-gradient(90deg,var(--w-flare,#FF5A1F),var(--w-coral,#FF4B6F));
      transition:width .3s}
    .exped-row{display:flex;gap:10px;justify-content:center;margin-top:14px}
    .exped-btn{border:1px solid var(--w-line,#e3dcce);border-radius:var(--w-r-full,999px);
      background:var(--w-storm,#f4efe6);color:var(--w-ink,#1f1812);cursor:pointer;
      padding:10px 20px;font-weight:700;font-size:.85rem}
    .exped-btn.exped-danger{color:#C43D3D;border-color:#C43D3D55}

    /* ══ OPT-IN HEURE DORÉE (modale Alertes) ══ */
    .hd-optin{display:flex;align-items:center;gap:12px;margin-top:10px;
      background:var(--w-ocean,#fff);border:1px solid var(--w-line,#e3dcce);
      border-radius:14px;padding:12px 14px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
    .hd-optin-t{font-weight:800;font-size:.85rem;color:var(--w-ink,#1f1812)}
    .hd-optin-s{font-size:.72rem;color:var(--w-ink-2,#5b5247);margin-top:3px;line-height:1.45}
    .hd-sw{position:relative;width:44px;height:26px;flex:0 0 auto;border-radius:999px;
      background:#c9c2b4;transition:.2s;cursor:pointer}
    .hd-sw.on{background:var(--w-flare,#FF5A1F)}
    .hd-sw::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;
      border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(10,30,60,.3)}
    .hd-sw.on::after{transform:translateX(18px)}
  