/* ========================================================================
   ICHOR BETA — système de design
   Terminal d'intelligence de marché · thème pro bleu + noir (WCAG AA)
   ===================================================================== */

:root{
  /* surfaces étagées (noir bleuté, jamais #000) — élévation par clarté */
  --ink-0:#0A0E16;
  --ink-1:#121826;
  --ink-2:#1C2436;
  --ink-3:#273248;
  --line:#273248;
  --line-soft:rgba(255,255,255,.055);
  --line-strong:#46546F;
  /* texte (AA/AAA vérifiés sur bg-0/1, teinte bleutée légère pour cohérence dominance) */
  --paper:#E8EDF6;
  --paper-dim:#A8B3C8;
  --paper-faint:#8595B5;
  --paper-mute:#6A7790;

  /* bleu primaire + états (nom hérité « gold » = accent de marque, valeur bleue) */
  --gold:#4D8DF0;
  --gold-hi:#8BBFFF;
  --gold-deep:#2E6BD6;
  --gold-grad:linear-gradient(135deg,#8BBFFF 0%,#5A9CFF 45%,#3676E8 100%);
  --gold-grad-radial:radial-gradient(circle at 30% 30%,#8BBFFF,#4D8DF0 55%,#2E6BD6 100%);
  --cyan:#35C9D8;
  --cyan-hi:#6EE3F0;

  /* halos premium centralisés */
  --glow-blue-soft:0 0 14px rgba(77,141,240,.32);
  --glow-blue-mid:0 0 24px rgba(77,141,240,.5);
  --glow-blue-hard:0 0 42px rgba(77,141,240,.7);
  --glow-cyan-soft:0 0 16px rgba(53,201,216,.4);
  --glow-cyan-mid:0 0 26px rgba(53,201,216,.55);

  /* statut — daltonien-safe, aucun or sur up/down (toujours doublé signe/flèche) */
  --up:#3DD68C;
  --down:#FF6B7D;
  --flat:#8B95A8;
  --warn:#F5B544;

  --r-low:#3DD68C;
  --r-mid:#F5B544;
  --r-high:#FF6B7D;

  --serif:"Space Grotesk","Helvetica Neue",sans-serif;
  --ui:"Inter","Helvetica Neue",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;

  /* échelle spacing 4-base */
  --sp-2:4px; --sp-3:8px; --sp-4:12px; --sp-5:16px; --sp-6:20px; --sp-7:24px; --sp-8:32px;
  /* line-height tokens */
  --lh-tight:1.35; --lh-snug:1.5; --lh-read:1.65; --lh-long:1.75;

  --wrap:1860px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--ink-0);
  color:var(--paper);
  font-family:var(--ui);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  position:relative;
  min-height:100vh;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-3;
  background:
    radial-gradient(1100px 700px at 78% -10%,rgba(77,141,240,.10),transparent 60%),
    radial-gradient(900px 600px at 8% 12%,rgba(53,201,216,.055),transparent 55%),
    linear-gradient(180deg,#121826 0%,#0A0E16 45%,#0A0E16 100%);
}
::selection{background:rgba(77,141,240,.28);color:#fff}
a{color:var(--cyan);text-decoration:none}
a:hover{color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,5vw,56px)}

/* ---------- atmosphère : grain + champ d'ichor ---------- */
.grain{
  position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.28;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='0.5'/></svg>");
  mix-blend-mode:overlay;
}
.ichor-field{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.ichor-orb{
  position:absolute;border-radius:50%;filter:blur(80px);opacity:.10;will-change:transform;
  background:radial-gradient(circle at 50% 50%,rgba(77,141,240,.5),transparent 70%);
}
.ichor-orb.o1{width:42vw;height:42vw;top:-16vw;right:-12vw;animation:drift1 40s ease-in-out infinite alternate}
.ichor-orb.o2{width:32vw;height:32vw;bottom:-14vw;left:-10vw;opacity:.06;animation:drift2 48s ease-in-out infinite alternate}
.ichor-orb.o3{width:22vw;height:22vw;top:46%;left:54%;opacity:.04;animation:drift3 36s ease-in-out infinite alternate}
@keyframes drift1{from{transform:translate(0,0) scale(1)}to{transform:translate(-7vw,6vh) scale(1.16) rotate(40deg)}}
@keyframes drift2{from{transform:translate(0,0) scale(1)}to{transform:translate(6vw,-5vh) scale(1.22) rotate(-30deg)}}
@keyframes drift3{from{transform:translate(0,0) scale(.9)}to{transform:translate(-5vw,-7vh) scale(1.3)}}
.scanlines{
  position:absolute;inset:0;opacity:.4;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);
}

/* ---------- masthead ---------- */
.masthead{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);
  background:linear-gradient(180deg,rgba(8,6,12,.86),rgba(8,6,12,.5));
  border-bottom:1px solid var(--line);
}
.masthead-row{display:flex;align-items:center;gap:24px;height:68px}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-mark{
  width:20px;height:20px;border-radius:5px;background:var(--gold-grad);
  box-shadow:0 0 18px rgba(77,141,240,.55);position:relative;
}
.brand-mark::after{content:"";position:absolute;inset:5px;border-radius:2px;background:var(--ink-0)}
.brand-name{font-family:var(--mono);font-weight:600;letter-spacing:.22em;font-size:.92rem}
.brand-beta{color:var(--gold);margin-left:.5em}
.masthead-meta{
  flex:1;display:flex;gap:22px;flex-wrap:wrap;justify-content:center;
  font-family:var(--mono);font-size:.72rem;color:var(--paper-dim);letter-spacing:.04em;
}
.masthead-meta b{color:var(--paper);font-weight:500}
.freshness{display:flex;align-items:center;gap:8px;flex:0 0 auto;font-family:var(--mono);font-size:.7rem;color:var(--paper-dim)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--up);box-shadow:0 0 0 0 rgba(61,214,140,.7);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,214,140,.6)}70%{box-shadow:0 0 0 9px rgba(61,214,140,0)}100%{box-shadow:0 0 0 0 rgba(61,214,140,0)}}

/* ---------- hero ---------- */
.hero{padding:clamp(48px,9vh,104px) 0 clamp(40px,6vh,72px)}
.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.eyebrow{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);margin-bottom:22px;
}
.eyebrow::before{content:"";display:inline-block;width:34px;height:1px;background:var(--gold);vertical-align:middle;margin-right:14px;opacity:.7}
.hero-title{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(2.3rem,5.4vw,4.35rem);line-height:1.04;letter-spacing:-.02em;
  font-optical-sizing:auto;
}
.hero-title .glow{
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 38px rgba(77,141,240,.28);
}
.hero-sub{margin-top:26px;font-size:1.06rem;color:var(--paper-dim);max-width:62ch;line-height:1.7}
.hero-scope{
  margin-top:18px;font-size:.86rem;color:var(--paper-faint);max-width:60ch;
  border-left:2px solid var(--line);padding-left:16px;
}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.chip{
  display:flex;flex-direction:column;gap:3px;padding:12px 16px;min-width:128px;
  background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-radius:12px;backdrop-filter:blur(4px);
  transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;
}
.chip:hover{transform:translateY(-3px);border-color:var(--line);box-shadow:0 12px 30px -16px rgba(0,0,0,.7)}
.chip .ck{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-faint)}
.chip .cv{font-family:var(--mono);font-size:1.12rem;font-weight:600;color:var(--paper)}
.chip .cs{font-size:.68rem;color:var(--paper-faint);line-height:1.35}
.chip.warn .cv{color:var(--warn)}.chip.good .cv{color:var(--up)}
.chip .conf{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);opacity:.7}

/* gauge */
.hero-gauge{position:sticky;top:92px;display:flex;flex-direction:column;gap:18px}
.gauge-card{
  background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  border:1px solid var(--line);border-radius:20px;padding:26px 26px 22px;text-align:center;
  box-shadow:0 30px 60px -34px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05);
}
.gauge-wrap{width:100%;max-width:260px;margin:0 auto}
.gauge-wrap svg{width:100%;height:auto;display:block;overflow:visible}
.gauge-num{font-family:var(--mono);font-size:2.1rem;font-weight:600;fill:var(--paper)}
.gauge-cap{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;fill:var(--paper-faint);text-transform:uppercase}
.gauge-tag{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-top:6px;
}
.gauge-label{font-family:var(--serif);font-size:1.18rem;font-weight:500;color:var(--paper);margin-top:6px;line-height:1.3}
.drivers{display:flex;flex-direction:column;gap:9px}
.driver{padding:11px 14px;background:rgba(255,255,255,.025);border:1px solid var(--line-soft);border-radius:11px}
.driver-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.driver-k{font-size:.82rem;font-weight:600;color:var(--paper)}
.driver-w{font-family:var(--mono);font-size:.68rem;color:var(--gold)}
.driver-bar{height:3px;border-radius:2px;background:rgba(255,255,255,.08);margin:7px 0 6px;overflow:hidden}
.driver-bar i{display:block;height:100%;width:0;background:var(--gold-grad);transition:width 1.4s var(--ease)}
.driver-d{font-size:.72rem;color:var(--paper-faint);line-height:1.5}

/* ---------- sections ---------- */
.band{padding:clamp(46px,8vh,96px) 0;border-top:1px solid var(--line-soft)}
.section-head{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:42px}
.sec-idx{font-family:var(--mono);font-size:.8rem;color:var(--gold);letter-spacing:.2em;border:1px solid var(--line);border-radius:7px;padding:5px 10px}
.section-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,3.4vw,2.7rem);letter-spacing:-.015em}
.sec-note{font-family:var(--mono);font-size:.76rem;color:var(--paper-faint);letter-spacing:.04em;margin-left:auto}
.mini-h{font-family:var(--mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-dim);margin:34px 0 16px}

/* central banks */
.cb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cb{
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
  border:1px solid var(--line-soft);border-radius:16px;padding:24px;position:relative;overflow:hidden;
  transition:border-color .4s,transform .4s var(--ease);
}
.cb:hover{border-color:var(--line);transform:translateY(-4px)}
.cb::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold-grad);opacity:.6}
.cb h3{font-family:var(--serif);font-size:1.22rem;font-weight:600}
.cb-rate{font-family:var(--mono);font-size:1.85rem;font-weight:600;color:var(--gold);margin:12px 0 2px}
.cb-since{font-family:var(--mono);font-size:.7rem;color:var(--paper-faint);margin-bottom:16px}
.cb ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.cb li{font-size:.84rem;color:var(--paper-dim);line-height:1.55;padding-left:16px;position:relative}
.cb li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.7}
.conf-tag{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-faint);border:1px solid var(--line-soft);border-radius:20px;padding:4px 11px}

.infl-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.infl{background:rgba(255,255,255,.03);border:1px solid var(--line-soft);border-radius:12px;padding:16px 14px}
.infl .ik{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);min-height:2.4em}
.infl .iv{font-family:var(--mono);font-size:1.5rem;font-weight:600;color:var(--paper);margin:8px 0 4px}
.infl .ip{font-size:.72rem;color:var(--gold)}
.infl .id{font-size:.66rem;color:var(--paper-faint);margin-top:4px;line-height:1.4}

/* ---------- assets ---------- */
.assets{display:flex;flex-direction:column;gap:22px}
.asset{
  display:grid;grid-template-columns:300px 1fr;gap:0;
  background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-radius:20px;overflow:hidden;position:relative;
  transition:border-color .5s,box-shadow .5s,transform .5s var(--ease);
}
.asset:hover{border-color:var(--line);box-shadow:0 36px 70px -42px rgba(0,0,0,.9)}
.asset-aside{
  padding:30px 26px;border-right:1px solid var(--line-soft);position:relative;
  background:linear-gradient(180deg,rgba(77,141,240,.05),transparent 60%);
  display:flex;flex-direction:column;gap:18px;
}
.asset-glyph{
  width:60px;height:60px;border-radius:14px;display:grid;place-items:center;
  font-family:var(--serif);font-weight:600;font-size:1.25rem;color:var(--ink-0);
  background:var(--gold-grad);box-shadow:0 0 26px rgba(77,141,240,.4);
}
.asset-name{font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:-.01em;line-height:1.1}
.asset-cls{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-faint);margin-top:5px}
.asset-spot{font-family:var(--mono);font-size:1.7rem;font-weight:600;color:var(--gold);margin-top:6px}
.asset-spot-note{font-size:.72rem;color:var(--paper-faint);line-height:1.5;margin-top:6px}
.asset-changes{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.delta{font-family:var(--mono);font-size:.7rem;padding:5px 9px;border-radius:7px;background:rgba(255,255,255,.04);border:1px solid var(--line-soft);color:var(--paper-dim)}
.delta b{color:var(--paper);font-weight:600}

.asset-body{padding:30px 30px 26px;display:flex;flex-direction:column;gap:22px}
.verdict{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:center}
.prob{}
.prob-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);margin-bottom:8px}
.prob-bar{height:30px;border-radius:9px;overflow:hidden;display:flex;border:1px solid var(--line-soft);background:var(--ink-2)}
.prob-up,.prob-dn{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.78rem;font-weight:600;width:0;transition:width 1.5s var(--ease);white-space:nowrap}
.prob-up{background:linear-gradient(90deg,rgba(61,214,140,.28),rgba(61,214,140,.55));color:#d6f4e5}
.prob-dn{background:linear-gradient(90deg,rgba(255,107,125,.5),rgba(255,107,125,.28));color:#fbe0dd}
.verdict-meta{display:flex;flex-direction:column;gap:9px}
.vm{display:flex;flex-direction:column;gap:2px}
.vm .vk{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-faint)}
.vm .vv{font-size:.92rem;font-weight:600;color:var(--paper)}
.risk-pill{align-self:flex-start;font-family:var(--mono);font-size:.7rem;font-weight:600;padding:5px 12px;border-radius:20px;letter-spacing:.04em}
.risk-low{background:rgba(61,214,140,.16);color:var(--r-low);border:1px solid rgba(61,214,140,.4)}
.risk-mid{background:rgba(245,181,68,.16);color:var(--r-mid);border:1px solid rgba(245,181,68,.4)}
.risk-high{background:rgba(255,107,125,.16);color:var(--r-high);border:1px solid rgba(255,107,125,.4)}
.move-note{font-size:.8rem;color:var(--paper-faint);line-height:1.55;border-left:2px solid var(--line);padding-left:14px}

.axes{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:14px;overflow:hidden}
.axis{background:var(--ink-1);padding:15px 17px;transition:background .35s}
.axis:hover{background:var(--ink-2)}
.axis .at{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.axis .ac{font-size:.82rem;color:var(--paper-dim);line-height:1.6}

.levels{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lev h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.lev.res h4{color:var(--down)}.lev.sup h4{color:var(--up)}
.lev ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.lev li{font-family:var(--mono);font-size:.8rem;color:var(--paper-dim);padding:7px 11px;border-radius:7px;background:rgba(255,255,255,.025);border:1px solid var(--line-soft)}
.lev.res li{border-left:2px solid rgba(255,107,125,.55)}
.lev.sup li{border-left:2px solid rgba(61,214,140,.55)}
.pivot{grid-column:1/-1;font-size:.78rem;color:var(--paper-faint);line-height:1.55;background:rgba(77,141,240,.05);border:1px solid var(--line-soft);border-radius:10px;padding:12px 14px}
.asset-conf{font-size:.72rem;color:var(--paper-faint);line-height:1.55;font-style:italic;border-top:1px solid var(--line-soft);padding-top:14px}

/* ---------- calendar ---------- */
.cal-note{font-size:.88rem;color:var(--paper-dim);line-height:1.65;max-width:90ch;margin-bottom:32px;border-left:2px solid var(--gold);padding-left:18px}
.timeline{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px;background:rgba(255,255,255,.022);border:1px solid var(--line-soft);border-radius:16px}
.tl-event{
  display:grid;grid-template-columns:130px 1fr 120px;gap:18px;align-items:center;
  padding:15px 18px;border-radius:12px;border:1px solid var(--line-soft);background:var(--ink-1);
  transition:transform .4s var(--ease),border-color .4s;
}
.tl-event:hover{transform:translateX(5px);border-color:var(--line)}
.tl-event.inwin{background:linear-gradient(100deg,rgba(77,141,240,.12),rgba(77,141,240,.03));border-color:rgba(77,141,240,.4)}
.tl-event.conflict{border-style:dashed;border-color:rgba(245,181,68,.5)}
.tl-time{font-family:var(--mono);font-size:.92rem;font-weight:600;color:var(--gold)}
.tl-time small{display:block;font-size:.64rem;color:var(--paper-faint);font-weight:400;letter-spacing:.04em}
.tl-main .tl-name{font-size:.92rem;font-weight:600;color:var(--paper)}
.tl-main .tl-sub{font-size:.74rem;color:var(--paper-faint);margin-top:3px;line-height:1.45}
.tl-fig{font-family:var(--mono);font-size:.72rem;color:var(--paper-dim);text-align:right}
.tl-fig b{color:var(--paper)}
.tl-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-top:5px}
.tl-badge{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:5px}
.imp-haut{background:rgba(255,107,125,.18);color:var(--down)}
.imp-moyen{background:rgba(245,181,68,.16);color:var(--warn)}
.imp-conflit{background:rgba(245,181,68,.2);color:var(--warn);border:1px dashed rgba(245,181,68,.6)}
.ccy{background:rgba(53,201,216,.14);color:var(--cyan)}
.win-tag{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.cal-out ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.cal-out li{font-size:.84rem;color:var(--paper-dim);padding-left:18px;position:relative;line-height:1.55}
.cal-out li::before{content:"→";position:absolute;left:0;color:var(--gold)}

/* ---------- polymarket & corr ---------- */
.pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.pm-list{display:flex;flex-direction:column;gap:11px}
.pm-row{padding:14px 16px;background:rgba(255,255,255,.03);border:1px solid var(--line-soft);border-radius:12px;transition:border-color .35s}
.pm-row:hover{border-color:var(--line)}
.pm-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:9px}
.pm-q{font-size:.85rem;color:var(--paper);font-weight:500;line-height:1.4}
.pm-p{font-family:var(--mono);font-size:1.1rem;font-weight:600;color:var(--gold)}
.pm-track{height:5px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden}
.pm-track i{display:block;height:100%;width:0;background:var(--gold-grad);transition:width 1.3s var(--ease)}
.pm-u{font-family:var(--mono);font-size:.62rem;color:var(--paper-faint);margin-top:8px;word-break:break-all}
.pm-read,.corr-note{font-size:.82rem;color:var(--paper-dim);line-height:1.65;margin-top:18px;border-left:2px solid var(--gold);padding-left:16px}
.corr-matrix{display:flex;flex-direction:column;gap:10px}
.corr-row{display:grid;grid-template-columns:170px 1fr 54px;gap:14px;align-items:center;padding:12px 14px;background:rgba(255,255,255,.03);border:1px solid var(--line-soft);border-radius:12px}
.corr-pair{font-family:var(--mono);font-size:.78rem;color:var(--paper)}
.corr-pair small{display:block;color:var(--paper-faint);font-size:.66rem;margin-top:3px;line-height:1.4;font-family:var(--ui)}
.corr-meter{height:7px;border-radius:4px;background:linear-gradient(90deg,rgba(255,107,125,.5),rgba(255,255,255,.06) 50%,rgba(61,214,140,.5));position:relative}
.corr-meter i{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:var(--gold);border:2px solid var(--ink-0);transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(77,141,240,.7);transition:left 1.3s var(--ease)}
.corr-v{font-family:var(--mono);font-size:.84rem;font-weight:600;text-align:right}
.corr-v.neg{color:var(--down)}.corr-v.pos{color:var(--up)}

/* ---------- integrity ---------- */
.integ-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.diverg{display:flex;flex-direction:column;gap:12px}
.dv{padding:16px 18px;background:rgba(255,255,255,.028);border:1px solid var(--line-soft);border-radius:12px;border-left:3px solid var(--warn)}
.dv-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.dv-t{font-size:.9rem;font-weight:600;color:var(--paper)}
.dv-s{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warn);white-space:nowrap}
.dv-d{font-size:.78rem;color:var(--paper-faint);line-height:1.55}
.integ-card{
  background:linear-gradient(165deg,rgba(255,107,125,.1),rgba(255,255,255,.012));
  border:1px solid rgba(255,107,125,.32);border-radius:16px;padding:24px;align-self:start;
}
.integ-card h3{font-family:var(--serif);font-size:1.18rem;font-weight:600;color:var(--down);display:flex;align-items:center;gap:10px}
.integ-card h3::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--down);box-shadow:0 0 12px rgba(255,107,125,.7)}
.integ-card p{font-size:.82rem;color:var(--paper-dim);line-height:1.65;margin-top:14px}
.integ-card .principle{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);color:var(--paper-faint);font-style:italic}

/* ---------- footer ---------- */
.foot{padding:64px 0 70px;border-top:1px solid var(--line)}
.foot-method{display:flex;flex-direction:column;gap:10px;max-width:96ch}
.foot-method .fm-h{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.foot-method p{font-size:.8rem;color:var(--paper-faint);line-height:1.6;padding-left:16px;position:relative}
.foot-method p::before{content:"·";position:absolute;left:4px;color:var(--gold)}
.foot-disc{margin-top:28px;font-size:.76rem;color:var(--paper-faint);line-height:1.6;max-width:90ch;border:1px solid var(--line-soft);border-radius:12px;padding:16px 18px;background:rgba(255,255,255,.02)}
.foot-sig{margin-top:22px;font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-faint)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(2){transition-delay:.08s}
.stagger.in>*:nth-child(3){transition-delay:.16s}
.stagger.in>*:nth-child(4){transition-delay:.24s}
.stagger.in>*:nth-child(5){transition-delay:.32s}
.stagger.in>*:nth-child(6){transition-delay:.4s}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr}
  .hero-gauge{position:static;flex-direction:row;flex-wrap:wrap}
  .gauge-card{flex:1;min-width:240px}.drivers{flex:1;min-width:240px}
  .cb-grid{grid-template-columns:1fr}
  .infl-grid{grid-template-columns:repeat(3,1fr)}
  .asset{grid-template-columns:1fr}
  .asset-aside{border-right:none;border-bottom:1px solid var(--line-soft);flex-direction:row;flex-wrap:wrap;align-items:center}
  .asset-changes{margin-top:0}
  .pm-grid,.integ-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  body{font-size:15px}
  .masthead-meta{display:none}
  .masthead-row{height:58px}
  .verdict{grid-template-columns:1fr}
  .axes{grid-template-columns:1fr}
  .levels{grid-template-columns:1fr}
  .infl-grid{grid-template-columns:repeat(2,1fr)}
  .tl-event{grid-template-columns:1fr;gap:8px}
  .tl-fig,.tl-badges{text-align:left;justify-content:flex-start}
  .sec-note{margin-left:0;flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.stagger>*{opacity:1;transform:none}
}

/* ===================== v2 — composants enrichis ===================== */

/* légende "comment lire" */
.legend{
  margin-top:44px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;
  background:linear-gradient(150deg,rgba(53,201,216,.07),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-left:3px solid var(--cyan);border-radius:14px;padding:20px 24px;
}
.legend h3{font-family:var(--mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);white-space:nowrap}
.legend ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 26px}
.legend li{font-size:.8rem;color:var(--paper-dim);line-height:1.5;padding-left:16px;position:relative}
.legend li::before{content:"›";position:absolute;left:0;color:var(--cyan)}

/* intermarché */
.im-note{font-size:.8rem;color:var(--paper-faint);line-height:1.55;margin-bottom:16px;border-left:2px solid var(--line);padding-left:14px}
.im-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.im-cell{background:rgba(255,255,255,.03);border:1px solid var(--line-soft);border-radius:12px;padding:15px 14px}
.im-cell .imk{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);min-height:2.3em}
.im-cell .imv{font-family:var(--mono);font-size:1.22rem;font-weight:600;color:var(--paper);margin:7px 0 4px}
.im-cell .imd{font-size:.66rem;color:var(--paper-faint);line-height:1.4}
.im-cell.haute{border-left:3px solid var(--up)}.im-cell.moyenne{border-left:3px solid var(--warn)}
.im-cell.nulle{border-left:3px solid var(--down)}.im-cell.nulle .imv{color:var(--down);font-size:.9rem}

/* logos actifs */
.asset-logo{width:64px;height:64px;border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;position:relative}
.asset-logo img{width:38px;height:38px;object-fit:contain;display:block}
.asset-logo.pair{background:none;border:none;width:auto;height:64px;display:flex;align-items:center}
.asset-logo.pair img{width:46px;height:46px;border-radius:50%;border:2px solid var(--ink-1);background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.asset-logo.pair img:last-child{margin-left:-18px}
.asset-glyph.fallback{font-size:1.15rem}

/* carte de niveaux SVG */
.levelmap{margin-top:4px}
.levelmap h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:10px}
.levelmap svg{width:100%;height:auto;display:block;overflow:visible}
.lm-axis{stroke:rgba(255,255,255,.12);stroke-width:1}
.lm-tick{stroke:rgba(255,255,255,.08);stroke-width:1}
.lm-res{stroke:rgba(255,107,125,.55);stroke-width:1.5;stroke-dasharray:3 3}
.lm-sup{stroke:rgba(61,214,140,.55);stroke-width:1.5;stroke-dasharray:3 3}
.lm-spot{stroke:var(--gold);stroke-width:2}
.lm-lbl{font-family:var(--mono);font-size:9px;fill:var(--paper-faint)}
.lm-lbl.r{fill:#e8a39c}.lm-lbl.s{fill:#8fd3b0}
.lm-spot-lbl{font-family:var(--mono);font-size:10px;font-weight:600;fill:var(--gold)}
.lm-dot{fill:var(--gold);filter:drop-shadow(0 0 5px rgba(77,141,240,.8))}

/* scénarios */
.scn-wrap{margin-top:4px}
.scn-wrap h4,.pbk h4,.cat h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:12px}
.scn{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.scn-col{border:1px solid var(--line-soft);border-radius:12px;padding:14px;background:rgba(255,255,255,.022);border-top:3px solid var(--flat)}
.scn-col.bull{border-top-color:var(--up)}.scn-col.bear{border-top-color:var(--down)}
.scn-col .sc-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:9px}
.scn-col .sc-t{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.scn-col.bull .sc-t{color:var(--up)}.scn-col.base .sc-t{color:var(--flat)}.scn-col.bear .sc-t{color:var(--down)}
.scn-col .sc-p{font-size:.62rem;color:var(--paper-faint);text-align:right}
.scn-col dl{display:flex;flex-direction:column;gap:7px}
.scn-col dt{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint)}
.scn-col dd{font-size:.76rem;color:var(--paper-dim);line-height:1.5}
.swan{margin-top:12px;font-size:.78rem;color:#F4C7CC;line-height:1.55;background:rgba(255,107,125,.08);border:1px solid rgba(255,107,125,.25);border-radius:10px;padding:11px 14px}
.swan b{color:var(--down);font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}

.pbk ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.pbk li{font-size:.79rem;color:var(--paper-dim);line-height:1.5;padding:9px 13px;background:rgba(255,255,255,.025);border:1px solid var(--line-soft);border-radius:9px;border-left:2px solid var(--cyan)}
.cat ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.cat li{font-family:var(--mono);font-size:.7rem;color:var(--paper-dim);padding:6px 11px;border-radius:7px;background:rgba(77,141,240,.06);border:1px solid var(--line-soft)}

/* frise géopolitique */
.frieze{display:flex;gap:0;overflow-x:auto;padding:8px 4px 22px;scroll-snap-type:x proximity}
.frieze::-webkit-scrollbar{height:8px}
.frieze::-webkit-scrollbar-thumb{background:rgba(77,141,240,.3);border-radius:4px}
.fr-node{flex:0 0 230px;scroll-snap-align:start;position:relative;padding:26px 18px 0;margin-right:4px}
.fr-node::before{content:"";position:absolute;top:32px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--line),rgba(77,141,240,.4))}
.fr-dot{position:absolute;top:27px;left:18px;width:12px;height:12px;border-radius:50%;background:var(--gold-grad);box-shadow:0 0 10px rgba(77,141,240,.7);z-index:1}
.fr-d{font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--gold);margin-top:14px}
.fr-t{font-size:.8rem;color:var(--paper);font-weight:500;margin-top:6px;line-height:1.4}
.fr-i{font-size:.72rem;color:var(--paper-faint);margin-top:6px;line-height:1.45}

/* glossaire */
.gloss-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gloss{background:rgba(255,255,255,.028);border:1px solid var(--line-soft);border-radius:12px;padding:15px 17px;transition:border-color .35s}
.gloss:hover{border-color:var(--line)}
.gloss .gk{font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--gold);margin-bottom:5px}
.gloss .gv{font-size:.8rem;color:var(--paper-dim);line-height:1.55}

@media(max-width:1080px){
  .legend{grid-template-columns:1fr}.legend ul{grid-template-columns:1fr}
  .im-grid{grid-template-columns:repeat(3,1fr)}
  .scn{grid-template-columns:1fr}
  .gloss-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .im-grid{grid-template-columns:repeat(2,1fr)}
  .fr-node{flex-basis:200px}
}

/* ===================== v3 — pédagogie & confluence ===================== */

.honest-banner{
  margin-top:40px;padding:20px 26px;border-radius:14px;
  background:linear-gradient(135deg,rgba(77,141,240,.12),rgba(53,201,216,.06));
  border:1px solid rgba(77,141,240,.32);border-left:4px solid var(--gold);
  font-size:.92rem;color:var(--paper);line-height:1.65;
}
.honest-banner::before{content:"⚠ À lire";display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}

.gauge-enclair{font-size:.76rem;color:var(--paper-faint);line-height:1.5;margin-top:12px;border-top:1px solid var(--line-soft);padding-top:12px;text-align:left}

.today-enclair,.rx-enclair{
  font-size:1.04rem;color:var(--paper);line-height:1.7;max-width:90ch;
  background:linear-gradient(160deg,rgba(53,201,216,.07),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-left:3px solid var(--cyan);
  border-radius:14px;padding:20px 24px;margin-bottom:24px;
}
.today-enclair::before,.rx-enclair::before{content:"En clair";display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}
.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.today-grid .tb{font-size:.86rem;color:var(--paper-dim);line-height:1.6;padding:15px 18px;background:rgba(255,255,255,.028);border:1px solid var(--line-soft);border-radius:12px;border-left:2px solid var(--gold)}
.today-conf{font-size:.74rem;color:var(--paper-faint);font-style:italic;margin-top:16px;line-height:1.55}

.guide-grid,.rx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.guide-card,.rx-card{background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--line-soft);border-radius:14px;padding:18px 20px;transition:border-color .4s,transform .4s var(--ease)}
.guide-card:hover,.rx-card:hover{border-color:var(--line);transform:translateY(-3px)}
.guide-card .gck,.rx-card .gck{font-family:var(--serif);font-size:1.04rem;font-weight:600;color:var(--gold);margin-bottom:8px}
.guide-card .gcv,.rx-card .gcv{font-size:.85rem;color:var(--paper-dim);line-height:1.6}

/* asset — couche pédagogique + confluence */
.asset-enclair{
  font-size:.84rem;color:var(--paper);line-height:1.6;
  background:rgba(53,201,216,.07);border:1px solid rgba(53,201,216,.2);border-radius:10px;padding:12px 14px;
}
.asset-enclair b{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);display:block;margin-bottom:5px}
.london-read{font-size:.82rem;color:var(--paper-dim);line-height:1.6;background:rgba(77,141,240,.06);border:1px solid var(--line-soft);border-left:2px solid var(--gold);border-radius:10px;padding:13px 16px}
.london-read b{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:5px}
.ctx-row{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0}
.ctx-pill{display:flex;flex-direction:column;gap:3px;padding:10px 14px;background:rgba(255,255,255,.03);border:1px solid var(--line-soft);border-radius:10px;flex:1;min-width:150px}
.ctx-pill .cpk{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-faint)}
.ctx-pill .cpv{font-size:.86rem;font-weight:600;color:var(--paper)}
.why-opp{font-size:.82rem;color:var(--paper-dim);line-height:1.6;border-left:2px solid var(--down);padding:4px 0 4px 14px}
.why-opp b{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--down);display:block;margin-bottom:5px}
.cfl{border:1px solid var(--line-soft);border-radius:12px;overflow:hidden}
.cfl h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);padding:12px 16px;background:rgba(255,255,255,.025);margin:0}
.cfl-row{display:grid;grid-template-columns:200px 120px 1fr;gap:14px;padding:13px 16px;border-top:1px solid var(--line-soft);align-items:start}
.cfl-row .cf-t{font-size:.8rem;font-weight:600;color:var(--paper)}
.cfl-row .cf-c{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.04em}
.cf-c.conflit,.cf-c.tension{color:var(--down)}.cf-c.confluence,.cf-c.renforcement{color:var(--up)}.cf-c.atténuation,.cf-c.compatible,.cf-c.ni{color:var(--warn)}
.cfl-row .cf-r{font-size:.79rem;color:var(--paper-dim);line-height:1.5}
.invalidation,.honest-line{font-size:.8rem;line-height:1.55;border-radius:10px;padding:12px 15px}
.invalidation{color:var(--paper-dim);background:rgba(245,181,68,.07);border:1px solid var(--line-soft)}
.invalidation b{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--warn);display:block;margin-bottom:5px}
.honest-line{color:var(--paper-faint);font-style:italic;border:1px dashed var(--line-soft)}

@media(max-width:1080px){
  .guide-grid,.rx-grid{grid-template-columns:1fr}
  .today-grid{grid-template-columns:1fr}
  .cfl-row{grid-template-columns:1fr}
}

/* ===================== v4 — UX progressive & navigation ===================== */

.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--gold);color:#000;padding:10px 16px;border-radius:0 0 8px 0;font-family:var(--mono);font-size:.8rem}
.skip:focus{left:0}

.shell{display:grid;grid-template-columns:248px minmax(0,1fr);gap:clamp(24px,3vw,52px);align-items:start;padding-top:34px;padding-bottom:60px}
.content{min-width:0}

.toc{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 110px);overflow:auto}
.toc-h{font-family:var(--mono);font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-faint);margin-bottom:12px;padding-left:12px}
.toc ol{list-style:none;display:flex;flex-direction:column;gap:2px}
.toc a{display:block;font-size:.8rem;color:var(--paper-faint);padding:7px 12px;border-left:2px solid transparent;border-radius:0 7px 7px 0;transition:color .25s,border-color .25s,background .25s;line-height:1.35}
.toc a:hover{color:var(--paper);background:rgba(255,255,255,.03)}
.toc a[aria-current="true"]{color:var(--gold);border-left-color:var(--gold);background:rgba(77,141,240,.07);font-weight:600}
.toc li .toc-num{font-family:var(--mono);font-size:.62rem;color:var(--paper-faint);margin-right:7px}

/* verdict 30 s */
.verdict30{
  position:relative;margin-bottom:8px;padding:clamp(26px,4vw,42px);border-radius:22px;
  background:linear-gradient(150deg,rgba(77,141,240,.13),rgba(53,201,216,.05) 60%,rgba(255,255,255,.012));
  border:1px solid rgba(77,141,240,.34);box-shadow:0 30px 70px -40px rgba(0,0,0,.85);
}
.v30-eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.verdict30 h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.015em;margin:12px 0 6px}
.v30-sub{font-family:var(--mono);font-size:.78rem;color:var(--paper-faint);margin-bottom:20px}
.v30-verdict{font-size:1.04rem;color:var(--paper);line-height:1.7;max-width:95ch;border-left:3px solid var(--gold);padding-left:18px}
.v30-assets{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}
.v30-a{background:rgba(255,255,255,.035);border:1px solid var(--line-soft);border-radius:12px;padding:14px}
.v30-a .v30-an{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:9px}
.v30-a .v30-nm{font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--paper);letter-spacing:.02em}
.v30-a .v30-at{font-size:.76rem;color:var(--paper-dim);line-height:1.5}
.dir{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.04em;padding:3px 8px;border-radius:6px}
.dir.up{color:var(--up);background:rgba(61,214,140,.15);border:1px solid rgba(61,214,140,.4)}
.dir.down{color:var(--down);background:rgba(255,107,125,.15);border:1px solid rgba(255,107,125,.4)}
.dir.flat{color:var(--warn);background:rgba(245,181,68,.15);border:1px solid rgba(245,181,68,.4)}
.v30-caveat{font-size:.82rem;color:#F4C7CC;line-height:1.6;background:rgba(255,107,125,.08);border:1px solid rgba(255,107,125,.25);border-radius:10px;padding:13px 16px}
.livecaveat{margin-top:12px;font-size:.78rem;color:var(--paper-faint);line-height:1.55;border:1px dashed var(--line-soft);border-radius:10px;padding:12px 15px}

/* sections repliables (<details class="fold">) */
details.fold{padding:0;border:1px solid var(--line-soft);border-radius:16px;background:rgba(255,255,255,.018);overflow:hidden}
details.fold>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:22px clamp(18px,3vw,32px);font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:600;letter-spacing:-.01em;color:var(--paper);
}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::after{content:"▸";margin-left:auto;font-size:.9rem;color:var(--gold);transition:transform .3s var(--ease);font-family:var(--mono)}
details.fold[open]>summary::after{transform:rotate(90deg)}
details.fold[open]>summary{border-bottom:1px solid var(--line-soft)}
details.fold>summary>*:not(.sec-idx):not(.fold-hint){flex:0 1 auto}
details.fold .fold-hint{font-family:var(--mono);font-size:.72rem;font-weight:400;letter-spacing:.04em;color:var(--paper-faint);text-transform:none}
details.fold>*:not(summary){margin:clamp(18px,3vw,30px) clamp(18px,3vw,32px)}
details.fold>summary:hover{background:rgba(255,255,255,.025)}
.band:not(details){border-top:none}

/* asset — synthèse visible + analyse complète repliée */
.asset{display:block;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.012));border:1px solid var(--line-soft);border-radius:20px;overflow:hidden}
.asset:hover{border-color:var(--line)}
.asset-mini{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:22px clamp(18px,3vw,26px)}
.asset-mini .am-id{display:flex;align-items:center;gap:14px}
.asset-mini .asset-name{font-family:var(--serif);font-size:1.5rem;font-weight:600}
.asset-mini .asset-cls{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-faint);margin-top:4px}
.asset-mini .am-spot{font-family:var(--mono);font-size:1.15rem;font-weight:600;color:var(--gold);text-align:right}
.asset-mini .am-spot small{display:block;font-size:.62rem;color:var(--paper-faint);font-weight:400;margin-top:3px;max-width:240px}
.am-ess{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px}
.am-ess div{font-size:.8rem;color:var(--paper-dim);line-height:1.5;background:rgba(255,255,255,.03);border:1px solid var(--line-soft);border-radius:10px;padding:11px 13px}
.am-ess b{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-faint);margin-bottom:4px}
.am-enclair{grid-column:1/-1;font-size:.84rem;color:var(--paper);line-height:1.6;background:rgba(53,201,216,.07);border:1px solid rgba(53,201,216,.2);border-radius:10px;padding:12px 14px}
.am-enclair b{font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);display:block;margin-bottom:5px}
details.asset-deep{border-top:1px solid var(--line-soft)}
details.asset-deep>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px clamp(18px,3vw,26px);font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
details.asset-deep>summary::-webkit-details-marker{display:none}
details.asset-deep>summary::after{content:"▸ déplier";margin-left:auto;font-size:.7rem;color:var(--paper-faint);transition:transform .3s}
details.asset-deep[open]>summary::after{content:"▾ replier"}
.asset-deep-body{padding:6px clamp(18px,3vw,26px) 26px;display:flex;flex-direction:column;gap:22px}

.read-time{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);border:1px solid var(--line-soft);border-radius:20px;padding:3px 10px;flex:0 0 auto}

/* ===================== bilan de séance (post-mortem) ===================== */
.bilan-wrap{max-width:1180px;padding-top:34px;padding-bottom:64px}
.tally{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 4px}
.tly{font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;padding:7px 14px;border-radius:20px;border:1px solid var(--line-soft);color:var(--paper-dim);background:rgba(255,255,255,.03)}
.tly b{font-weight:700;margin-right:4px}
.tly-confirme{color:var(--up);border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.tly-partiel{color:var(--warn);border-color:rgba(245,181,68,.4);background:rgba(245,181,68,.1)}
.tly-infirme{color:var(--down);border-color:rgba(255,107,125,.4);background:rgba(255,107,125,.1)}
.tly-nv{color:var(--flat);border-color:var(--line-soft)}

.reality-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.r-card{background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--line-soft);border-radius:14px;padding:18px 20px}
.r-card .r-t{font-family:var(--serif);font-size:1.04rem;font-weight:600;color:var(--gold);margin-bottom:8px}
.r-card .r-c{font-size:.85rem;color:var(--paper-dim);line-height:1.6}

.score{display:flex;flex-direction:column;gap:12px}
.sc-row{background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line-soft);border-radius:14px;padding:18px 20px;border-left:3px solid var(--flat)}
.sc-row.sc-confirme{border-left-color:var(--up)}
.sc-row.sc-partiel{border-left-color:var(--warn)}
.sc-row.sc-infirme{border-left-color:var(--down)}
.sc-row.sc-nv{border-left-color:var(--flat)}
.sc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.sc-claim{font-family:var(--serif);font-size:1.08rem;font-weight:600;color:var(--paper);line-height:1.25}
.sv{flex:0 0 auto;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:5px 12px;border-radius:8px;white-space:nowrap}
.sv-confirme{color:var(--up);background:rgba(61,214,140,.15);border:1px solid rgba(61,214,140,.45)}
.sv-partiel{color:var(--warn);background:rgba(245,181,68,.15);border:1px solid rgba(245,181,68,.45)}
.sv-infirme{color:var(--down);background:rgba(255,107,125,.15);border:1px solid rgba(255,107,125,.45)}
.sv-nv{color:var(--flat);background:rgba(139,149,168,.14);border:1px solid var(--line-soft)}
.sc-dl{display:grid;grid-template-columns:1fr;gap:5px 0;margin:0}
.sc-dl dt{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-faint);margin-top:9px}
.sc-dl dt:first-child{margin-top:0}
.sc-dl dd{font-size:.85rem;color:var(--paper-dim);line-height:1.55;margin:0}
.sc-row.sc-confirme .sc-dl dd:last-of-type,.sc-row.sc-infirme .sc-dl dd:last-of-type{color:var(--paper)}
.sc-src{font-family:var(--mono);font-size:.66rem;color:var(--paper-faint);margin-top:12px;border-top:1px solid var(--line-soft);padding-top:10px}

@media(max-width:760px){ .sc-top{flex-direction:column;gap:8px} .reality-grid{grid-template-columns:1fr} }

/* longueur de ligne lisible sur prose longue (layout large conservé : grilles/cartes/gauge full-bleed, prose capée gauche) */
.v30-verdict,.coach-intro,.coach-cadre,.coach>p,.v30-caveat,.livecaveat,.move-note,.why-opp{max-width:82ch}

/* ===================== v5 — Ichor coach & toggle ===================== */

.lvl-toggle{display:flex;gap:2px;background:rgba(255,255,255,.05);border:1px solid var(--line-soft);border-radius:9px;padding:3px;flex:0 0 auto}
.lvl-toggle button{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-faint);background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:6px;transition:color .25s,background .25s}
.lvl-toggle button:hover{color:var(--paper)}
.lvl-toggle button[aria-pressed="true"]{color:var(--ink-0);background:var(--gold-grad);font-weight:600}

.coach{
  background:linear-gradient(155deg,rgba(77,141,240,.1),rgba(53,201,216,.045) 70%,rgba(255,255,255,.012));
  border:1px solid rgba(77,141,240,.3);border-radius:14px;padding:18px 22px;margin:18px 0;
}
.coach-h{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:var(--paper-dim);margin-bottom:10px}
.coach-h b{color:var(--gold);font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.coach-av{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gold-grad);color:var(--ink-0);font-size:.6rem;box-shadow:0 0 14px rgba(77,141,240,.5);flex:0 0 auto}
.coach p,.coach-intro{font-size:.88rem;color:var(--paper);line-height:1.65}
.coach-steps{margin:14px 0 12px;padding-left:0;list-style:none;counter-reset:cs;display:flex;flex-direction:column;gap:7px}
.coach-steps li{counter-increment:cs;font-size:.82rem;color:var(--paper-dim);padding-left:34px;position:relative;line-height:1.5}
.coach-steps li::before{content:counter(cs);position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:50%;background:rgba(77,141,240,.16);border:1px solid rgba(77,141,240,.45);color:var(--gold);font-family:var(--mono);font-size:.72rem;font-weight:600;display:grid;place-items:center}
.coach-cadre{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);font-size:.76rem;color:var(--paper-faint);font-style:italic;line-height:1.55}
.coach-4{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:0}
.coach-4 dt{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:8px}
.coach-4 dt:first-child{margin-top:0}
.coach-4 dd{font-size:.8rem;color:var(--paper-dim);line-height:1.5;margin:3px 0 0}
.asset-coach{grid-column:1/-1;margin:6px 0 0}

@media(max-width:760px){ .lvl-toggle{order:3} .coach-4{grid-template-columns:1fr} }

@media(max-width:1080px){
  .shell{grid-template-columns:1fr;padding-top:16px}
  .toc{position:static;max-height:none;margin-bottom:8px;border:1px solid var(--line-soft);border-radius:12px;padding:14px}
  .toc ol{flex-direction:row;flex-wrap:wrap;gap:6px}
  .toc a{border-left:none;border:1px solid var(--line-soft);border-radius:20px;padding:6px 12px;font-size:.74rem}
  .toc a[aria-current="true"]{border-color:var(--gold)}
  .v30-assets{grid-template-columns:1fr}
  .asset-mini{grid-template-columns:1fr}
  .asset-mini .am-spot{text-align:left}
  .am-ess{grid-template-columns:1fr}
}

/* ============================================================
   v7 — Premium dataviz : hero numbers · meta narrative · yield
   curve · sectors · event clock · decision tree · heatmap
   ============================================================ */

.num,
.hn-num,.hn-u,.hn-prev b,.yc-ylbl,.yc-xlbl,.yc-vlbl,.yc-th-lbl,
.ys-sv,.sr-v,.sr-k,.ec-hr,.ec-event-t,.ec-rt,.hm-v,.hm-lbl{
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;
}

/* ---------- hero numbers ---------- */
.hero-num-band .section-head .sec-idx{
  background:var(--gold-grad);color:var(--ink-0);border:none;font-weight:700;letter-spacing:.04em;
}
.hero-num-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.hn{
  position:relative;padding:18px 18px 16px;border-radius:16px;overflow:hidden;
  background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);
  transition:border-color .4s,transform .4s var(--ease),box-shadow .4s;
}
.hn:hover{border-color:var(--line);transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(0,0,0,.8)}
.hn::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold-grad);opacity:.5}
.hn-warn::before{background:linear-gradient(90deg,#F5B544,#FF6B7D)}
.hn-down::before{background:linear-gradient(90deg,#FF6B7D,#E5394D)}
.hn-good::before{background:linear-gradient(90deg,#3DD68C,#1FB573)}
.hn-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.hn-k{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-faint)}
.hn-trend{font-family:var(--mono);font-size:.78rem;font-weight:700}
.hn-trend-up{color:var(--up)}.hn-trend-down{color:var(--down)}.hn-trend-flat{color:var(--warn)}
.hn-v{display:flex;align-items:baseline;gap:4px;line-height:1}
.hn-num{font-family:var(--mono);font-size:2.05rem;font-weight:700;color:var(--paper);letter-spacing:-.01em}
.hn-warn .hn-num{color:var(--warn)}
.hn-down .hn-num{color:var(--down)}
.hn-good .hn-num{color:var(--up)}
.hn-u{font-family:var(--mono);font-size:1rem;color:var(--paper-dim);font-weight:500}
.spark{display:block;width:100%;height:36px;margin:10px 0 6px;overflow:visible}
.spark polyline{stroke:var(--gold)}
.spark circle{fill:var(--gold)}
.spark-up polyline{stroke:var(--up)}.spark-up circle{fill:var(--up)}
.spark-down polyline{stroke:var(--down)}.spark-down circle{fill:var(--down)}
.spark-flat polyline{stroke:var(--warn)}.spark-flat circle{fill:var(--warn)}
.hn-prev{font-family:var(--mono);font-size:.66rem;color:var(--paper-faint);margin-bottom:4px}
.hn-prev b{color:var(--paper-dim);font-weight:600}
.hn-d{font-size:.72rem;color:var(--paper-faint);line-height:1.45}

@media(max-width:1280px){.hero-num-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.hero-num-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- meta narrative ---------- */
.meta-band .section-head .sec-idx{background:rgba(53,201,216,.16);color:var(--cyan);border-color:rgba(53,201,216,.3)}
.meta-enclair{
  font-size:1.04rem;color:var(--paper);line-height:1.7;max-width:92ch;
  background:linear-gradient(160deg,rgba(53,201,216,.07),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-left:3px solid var(--cyan);
  border-radius:14px;padding:20px 24px;margin-bottom:32px;
}
.meta-enclair b{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
.phase{
  position:relative;padding:24px 22px 22px;border-radius:18px;overflow:hidden;
  background:linear-gradient(170deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
  border:1px solid var(--line-soft);
  transition:border-color .4s,transform .4s var(--ease);
}
.phase:hover{border-color:var(--line);transform:translateY(-3px)}
.phase-1{border-left:3px solid var(--warn)}
.phase-2{border-left:3px solid #FF8E5A}
.phase-3{border-left:3px solid var(--down)}
.ph-num{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.ph-period{font-family:var(--mono);font-size:.7rem;color:var(--paper-faint);margin-bottom:14px;letter-spacing:.02em}
.ph-t{font-family:var(--serif);font-size:1.18rem;font-weight:600;color:var(--paper);margin-bottom:12px;line-height:1.25}
.ph-b{font-size:.85rem;color:var(--paper-dim);line-height:1.6;margin-bottom:14px}
.ph-ms{display:flex;flex-wrap:wrap;gap:6px}
.ph-m{display:inline-flex;flex-direction:column;gap:1px;font-family:var(--mono);font-size:.7rem;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--line-soft)}
.ph-m b{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-faint);font-weight:500}
.ph-m-warn{border-color:rgba(245,181,68,.4);color:var(--warn)}
.ph-m-down{border-color:rgba(255,107,125,.4);color:var(--down)}
.ph-m-good{border-color:rgba(61,214,140,.4);color:var(--up)}
.lessons{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.lesson{
  display:flex;gap:14px;padding:18px;border-radius:14px;
  background:rgba(255,255,255,.025);border:1px solid var(--line-soft);
  transition:border-color .4s,background .4s;
}
.lesson:hover{border-color:rgba(77,141,240,.4);background:rgba(77,141,240,.05)}
.ls-n{
  flex:0 0 auto;font-family:var(--mono);font-size:1.1rem;font-weight:700;color:var(--gold);
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:rgba(77,141,240,.12);border:1px solid rgba(77,141,240,.35);
}
.ls-c{min-width:0}
.ls-k{font-family:var(--serif);font-size:.96rem;font-weight:600;color:var(--paper);margin-bottom:6px;line-height:1.3}
.ls-v{font-size:.78rem;color:var(--paper-faint);line-height:1.5}
.meta-conf{margin-top:18px;font-family:var(--mono);font-size:.7rem;color:var(--paper-faint);font-style:italic}

@media(max-width:1080px){.phases{grid-template-columns:1fr}.lessons{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.lessons{grid-template-columns:1fr}}

/* ---------- yield curve ---------- */
.yield-wrap{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:12px;align-items:start}
.yield-svg{
  background:linear-gradient(180deg,rgba(77,141,240,.04),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-radius:16px;padding:18px;overflow:hidden;
}
.yield-svg svg{width:100%;height:auto;display:block}
.yc-grid{stroke:rgba(255,255,255,.06);stroke-width:1}
.yc-ylbl{font-family:var(--mono);font-size:10px;fill:var(--paper-faint)}
.yc-xlbl{font-family:var(--mono);font-size:11px;font-weight:600;fill:var(--paper-dim)}
.yc-dot{fill:var(--gold);stroke:var(--ink-0);stroke-width:2}
.yc-dot.hi{fill:var(--warn);stroke:var(--ink-0);stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(245,181,68,.6))}
.yc-vlbl{font-family:var(--mono);font-size:11px;fill:var(--paper-dim)}
.yc-vlbl.hi{font-size:13px;font-weight:700;fill:var(--warn)}
.yc-threshold{stroke:rgba(255,107,125,.6);stroke-width:1.5;stroke-dasharray:4 4}
.yc-th-lbl{font-family:var(--mono);font-size:10px;font-weight:600;fill:var(--down);letter-spacing:.04em}
.yield-side{display:flex;flex-direction:column;gap:10px}
.ys-h{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:6px}
.ys-s{padding:13px 15px;border-radius:11px;background:rgba(255,255,255,.03);border:1px solid var(--line-soft);border-left:3px solid var(--flat)}
.ys-s-warn{border-left-color:var(--warn)}
.ys-s-good{border-left-color:var(--up)}
.ys-s-down{border-left-color:var(--down)}
.ys-sk{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);margin-bottom:4px}
.ys-sv{font-family:var(--mono);font-size:1.18rem;font-weight:700;color:var(--paper);margin-bottom:4px}
.ys-st{font-size:.72rem;color:var(--paper-dim);line-height:1.45}
.ys-conf{font-family:var(--mono);font-size:.64rem;color:var(--paper-faint);font-style:italic;margin-top:6px;line-height:1.45}
.yield-enclair{font-size:.86rem;color:var(--paper-dim);line-height:1.65;margin-top:14px;border-left:2px solid var(--gold);padding-left:14px;max-width:90ch}

@media(max-width:1080px){.yield-wrap{grid-template-columns:1fr}}

/* ---------- sector rotation ---------- */
.sector-wrap{margin-top:12px}
.sector-bars{display:flex;flex-direction:column;gap:8px}
.sr-row{
  display:grid;grid-template-columns:62px 1fr 2.2fr 90px;gap:12px;align-items:center;
  padding:11px 16px;border-radius:11px;background:rgba(255,255,255,.025);border:1px solid var(--line-soft);
  transition:background .3s,border-color .3s;
}
.sr-row:hover{background:rgba(255,255,255,.045);border-color:var(--line)}
.sr-k{font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--gold)}
.sr-n{font-size:.82rem;color:var(--paper)}
.sr-track{position:relative;height:18px;background:rgba(255,255,255,.04);border-radius:10px;overflow:hidden}
.sr-zero{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,255,255,.18);z-index:2}
.sr-bar{position:absolute;top:3px;bottom:3px;border-radius:6px;transition:width 1.4s var(--ease)}
.sr-up .sr-bar{background:linear-gradient(90deg,rgba(61,214,140,.35),rgba(61,214,140,.65))}
.sr-down .sr-bar{background:linear-gradient(270deg,rgba(255,107,125,.35),rgba(255,107,125,.65))}
.sr-v{font-family:var(--mono);font-size:.86rem;font-weight:700;text-align:right}
.sr-up .sr-v{color:var(--up)}.sr-down .sr-v{color:var(--down)}
.sr-source{font-family:var(--mono);font-size:.66rem;color:var(--paper-faint);font-style:italic;margin-top:14px;line-height:1.45}
.sector-correction{
  margin-top:14px;font-size:.78rem;color:var(--paper-dim);line-height:1.6;
  background:rgba(245,181,68,.07);border:1px solid rgba(245,181,68,.28);border-radius:10px;padding:12px 16px;
}

@media(max-width:680px){.sr-row{grid-template-columns:50px 1fr 70px;gap:8px}.sr-row .sr-track{grid-column:1/-1;order:3}}

/* ---------- event clock ---------- */
.clock-enclair{
  font-size:.92rem;color:var(--paper-dim);line-height:1.65;margin-bottom:20px;max-width:90ch;
  border-left:2px solid var(--cyan);padding-left:16px;
}
.event-clock{display:flex;flex-direction:column;gap:18px;margin-bottom:18px}
.ec-svg{
  background:linear-gradient(180deg,rgba(77,141,240,.05),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-radius:14px;padding:8px 4px 14px;
}
.ec-svg svg{width:100%;height:auto;display:block}
.ec-axis{stroke:rgba(255,255,255,.18);stroke-width:1.5}
.ec-tick{stroke:rgba(255,255,255,.18);stroke-width:1}
.ec-hr{font-family:var(--mono);font-size:9px;fill:var(--paper-faint);letter-spacing:.04em}
.ec-window{fill:rgba(77,141,240,.18);stroke:rgba(77,141,240,.55);stroke-width:1.5}
.ec-window-lbl{font-family:var(--mono);font-size:11px;font-weight:600;fill:var(--gold);letter-spacing:.05em}
.ec-event-line{stroke:rgba(255,107,125,.55);stroke-width:1.5;stroke-dasharray:3 3}
.ec-event-dot{fill:var(--down);stroke:var(--ink-0);stroke-width:2;filter:drop-shadow(0 0 6px rgba(255,107,125,.6))}
.ec-event-k{font-family:var(--mono);font-size:11px;font-weight:700;fill:var(--down);letter-spacing:.06em}
.ec-event-t{font-family:var(--mono);font-size:10px;fill:var(--paper-dim)}
.ec-now{stroke:var(--up);stroke-width:2}
.ec-now-dot{fill:var(--up);stroke:var(--ink-0);stroke-width:1.5;filter:drop-shadow(0 0 6px rgba(61,214,140,.7))}
.ec-now-lbl{font-family:var(--mono);font-size:9px;fill:var(--up);font-weight:600;letter-spacing:.06em}
.ec-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ec-row{
  display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:start;
  padding:14px 16px;border-radius:12px;background:rgba(255,107,125,.05);border:1px solid rgba(255,107,125,.25);
}
.ec-rk{font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--down);letter-spacing:.08em}
.ec-rn{font-size:.88rem;color:var(--paper);font-weight:600;margin-bottom:4px}
.ec-rnote{font-size:.72rem;color:var(--paper-faint);line-height:1.45;margin-bottom:6px}
.ec-rimpact{font-size:.72rem;color:var(--paper-dim)}
.ec-rimpact b{color:var(--paper);font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.ec-rt{font-family:var(--mono);font-size:.8rem;color:var(--gold);font-weight:600;white-space:nowrap}

@media(max-width:760px){.ec-list{grid-template-columns:1fr}}

/* ---------- decision tree ---------- */
.tree-band .section-head .sec-idx{background:rgba(245,181,68,.16);color:var(--warn);border-color:rgba(245,181,68,.35)}
.tree-enclair{
  font-size:1rem;color:var(--paper);line-height:1.65;max-width:90ch;
  background:linear-gradient(160deg,rgba(245,181,68,.08),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-left:3px solid var(--warn);
  border-radius:14px;padding:18px 22px;margin-bottom:24px;
}
.tree-enclair b{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--warn);margin-bottom:8px}
.tree{display:flex;flex-direction:column;gap:0;position:relative}
.tnode{display:grid;grid-template-columns:48px 1fr;gap:18px;padding-bottom:18px}
.tn-rail{position:relative;display:flex;justify-content:center;padding-top:6px}
.tn-rail-dot{
  width:38px;height:38px;border-radius:50%;background:var(--gold-grad);color:var(--ink-0);
  display:grid;place-items:center;font-family:var(--mono);font-size:.74rem;font-weight:700;
  box-shadow:0 0 18px rgba(77,141,240,.45);position:relative;z-index:2;
}
.tnode:nth-child(1) .tn-rail-dot::before{content:"1"}
.tnode:nth-child(2) .tn-rail-dot::before{content:"2"}
.tnode:nth-child(3) .tn-rail-dot::before{content:"3"}
.tn-rail-line{position:absolute;top:38px;bottom:-18px;left:50%;width:2px;background:linear-gradient(180deg,rgba(77,141,240,.5),rgba(77,141,240,.1));transform:translateX(-50%)}
.tnode:last-child .tn-rail-line{display:none}
.tn-body{
  padding:22px 24px;border-radius:16px;
  background:linear-gradient(170deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
  border:1px solid var(--line-soft);transition:border-color .4s;
}
.tn-body:hover{border-color:var(--line)}
.tn-head{display:flex;align-items:baseline;gap:14px;margin-bottom:10px;flex-wrap:wrap}
.tn-i{font-family:var(--mono);font-size:.7rem;font-weight:700;color:var(--gold);letter-spacing:.14em;border:1px solid rgba(77,141,240,.4);border-radius:6px;padding:3px 9px;background:rgba(77,141,240,.08)}
.tn-q{font-family:var(--serif);font-size:1.16rem;font-weight:600;color:var(--paper);line-height:1.3;flex:1;min-width:0}
.tn-why{font-size:.84rem;color:var(--paper-dim);line-height:1.6;margin-bottom:18px;border-left:2px solid var(--line);padding-left:14px}
.tn-branches{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tnode:nth-child(1) .tn-branches{grid-template-columns:repeat(2,1fr)}
.tn-branch{
  display:flex;gap:12px;padding:14px 16px;border-radius:12px;
  background:rgba(255,255,255,.025);border:1px solid var(--line-soft);
  transition:transform .4s var(--ease),border-color .4s,background .4s;
}
.tn-branch:hover{transform:translateY(-3px);border-color:var(--line);background:rgba(255,255,255,.04)}
.tn-bicon{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--mono);font-size:.74rem;font-weight:700;
}
.tn-b-up{border-left:3px solid var(--up)}
.tn-b-up .tn-bicon{background:rgba(61,214,140,.16);color:var(--up);border:1px solid rgba(61,214,140,.45)}
.tn-b-down{border-left:3px solid var(--down)}
.tn-b-down .tn-bicon{background:rgba(255,107,125,.16);color:var(--down);border:1px solid rgba(255,107,125,.45)}
.tn-b-flat{border-left:3px solid var(--warn)}
.tn-b-flat .tn-bicon{background:rgba(245,181,68,.16);color:var(--warn);border:1px solid rgba(245,181,68,.45)}
.tn-bbody{min-width:0;flex:1}
.tn-bv{font-family:var(--mono);font-size:.74rem;font-weight:700;color:var(--paper);margin-bottom:5px;letter-spacing:.02em}
.tn-bl{font-size:.76rem;color:var(--paper-faint);line-height:1.5}
.tree-note{
  margin-top:18px;font-size:.78rem;color:var(--paper-dim);font-style:italic;line-height:1.6;
  background:rgba(77,141,240,.05);border:1px solid var(--line-soft);border-radius:10px;padding:12px 16px;
}

@media(max-width:1080px){.tn-branches,.tnode:nth-child(1) .tn-branches{grid-template-columns:1fr}}

/* ---------- correlation heatmap ---------- */
.heatmap-enclair{
  font-size:.94rem;color:var(--paper);line-height:1.65;max-width:90ch;
  background:linear-gradient(160deg,rgba(77,141,240,.08),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);border-left:3px solid var(--gold);
  border-radius:12px;padding:16px 20px;margin:18px 0;
}
.heatmap-enclair b{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.heatmap-wrap{
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008));
  border:1px solid var(--line-soft);border-radius:14px;padding:18px;overflow-x:auto;
}
.heatmap-wrap svg{display:block;min-width:560px;max-width:100%;height:auto}
.hm-c{stroke:rgba(255,255,255,.05);stroke-width:1;transition:stroke .3s,filter .3s}
.hm-c:hover{stroke:rgba(255,255,255,.35);filter:brightness(1.15)}
.hm-v{font-family:var(--mono);font-size:12px;font-weight:600}
.hm-lbl{font-family:var(--mono);font-size:11px;fill:var(--paper-dim);letter-spacing:.04em}
.hm-leg-lbl{font-family:var(--mono);font-size:9px;fill:var(--paper-faint)}
.heatmap-note{font-size:.84rem;color:var(--paper-dim);line-height:1.65;margin-top:14px;border-left:2px solid var(--gold);padding-left:14px;max-width:92ch}

/* ============================================================
   v10 — renforcement "bleu lumineux vivant" + halos premium
   ============================================================ */

/* halo glow utilitaire pour éléments accent */
.glow-blue{box-shadow:0 0 24px rgba(77,141,240,.35),0 0 60px rgba(77,141,240,.18)}
.glow-cyan{box-shadow:0 0 24px rgba(53,201,216,.35),0 0 60px rgba(53,201,216,.15)}

/* renforce le brand-mark avec un halo pulsé */
.brand-mark{box-shadow:0 0 22px rgba(77,141,240,.7),0 0 50px rgba(77,141,240,.3),inset 0 0 6px rgba(255,255,255,.15)}
.brand-mark::after{box-shadow:inset 0 0 8px rgba(77,141,240,.45)}
@keyframes brandPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.15)}}
.brand-mark{animation:brandPulse 3.6s ease-in-out infinite}

/* renforce les chips macro avec une touche bleu lumineux */
.chip:hover{box-shadow:0 12px 30px -14px rgba(0,0,0,.7),0 0 24px rgba(77,141,240,.18)}
.chip.warn{border-color:rgba(245,181,68,.28)}
.chip.good{border-color:rgba(61,214,140,.28)}

/* verdict30 — halo lumineux discret */
.verdict30{box-shadow:0 30px 70px -40px rgba(0,0,0,.85),0 0 80px -30px rgba(77,141,240,.4)}
.verdict30 h1{text-shadow:0 0 30px rgba(77,141,240,.18)}

/* hero numbers — halo bleu sur hover */
.hn:hover{box-shadow:0 24px 50px -28px rgba(0,0,0,.8),0 0 30px -10px rgba(77,141,240,.3)}
.hn-num{text-shadow:0 0 18px rgba(77,141,240,.12)}

/* momentum cards — accent bleu lumineux sur le bord top */
.mp-card{box-shadow:0 0 0 0 transparent;transition:box-shadow .4s,border-color .4s,transform .4s var(--ease)}
.mp-card-up:hover{box-shadow:0 28px 50px -28px rgba(0,0,0,.85),0 0 28px -8px rgba(61,214,140,.32)}
.mp-card-down:hover{box-shadow:0 28px 50px -28px rgba(0,0,0,.85),0 0 28px -8px rgba(255,107,125,.32)}
.mp-card-range:hover{box-shadow:0 28px 50px -28px rgba(0,0,0,.85),0 0 28px -8px rgba(245,181,68,.32)}

/* TOC current — touche lumineuse */
.toc a[aria-current="true"]{box-shadow:inset 3px 0 0 var(--gold),0 0 14px -4px rgba(77,141,240,.4)}

/* details fold — accent au survol */
details.fold>summary::after{filter:drop-shadow(0 0 6px rgba(77,141,240,.5))}

/* gauge — halo accru */
.gauge-card{box-shadow:0 30px 60px -34px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05),0 0 60px -30px rgba(77,141,240,.35)}

/* mini-pulse sur le chip "fenêtre NY" du calendrier */
.win-tag{text-shadow:0 0 12px rgba(77,141,240,.5);animation:winPulse 2.8s ease-in-out infinite}
@keyframes winPulse{0%,100%{opacity:1}50%{opacity:.65}}

/* skill direction-up / direction-down accent glow */
.dir.up{box-shadow:0 0 14px -4px rgba(61,214,140,.4)}
.dir.down{box-shadow:0 0 14px -4px rgba(255,107,125,.4)}
.dir.flat{box-shadow:0 0 14px -4px rgba(245,181,68,.4)}

/* trait lumineux décoratif sur les titres de section */
.section-head h2{position:relative}
.section-head h2::before{content:"";position:absolute;left:-18px;top:8px;width:4px;height:calc(100% - 16px);background:var(--gold-grad);border-radius:2px;box-shadow:0 0 12px rgba(77,141,240,.55);opacity:.85}
@media(max-width:1080px){.section-head h2::before{display:none}}

/* corner accent on the verdict30 card */
.verdict30::before{content:"";position:absolute;top:-1px;left:24px;right:24px;height:2px;background:var(--gold-grad);border-radius:2px;opacity:.95;box-shadow:0 0 22px rgba(77,141,240,.7)}
.verdict30{position:relative;overflow:hidden;box-shadow:0 30px 70px -40px rgba(0,0,0,.85),0 0 0 1px rgba(77,141,240,.18),0 0 60px -16px rgba(77,141,240,.4),inset 0 1px 0 rgba(143,191,255,.14)}
.verdict30::after{content:"";position:absolute;top:-30%;right:-10%;width:55%;height:160%;background:radial-gradient(closest-side,rgba(77,141,240,.18),transparent 70%);pointer-events:none;z-index:0}
.verdict30>*{position:relative;z-index:1}
.verdict30 h1{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:700;letter-spacing:-.025em;text-shadow:0 0 30px rgba(143,191,255,.22)}
.section-head h2{font-size:clamp(1.55rem,3vw,2.3rem);font-weight:600}

/* ============================================================
   v11 — fixes overflow + bleu lumineux vivant renforcé
   ============================================================ */

/* fixes overflow (audit ui-designer) */
.cv-row{grid-template-columns:minmax(140px,200px) 1fr}
.cv-row>*{min-width:0}
.cv-k{overflow-wrap:anywhere}
.corr-row{align-items:start;grid-template-columns:minmax(140px,170px) minmax(0,1fr) 54px}
.corr-pair{align-self:center}
.corr-meter{align-self:center;margin-top:6px}
.tl-event{grid-template-columns:120px minmax(0,1fr) minmax(120px,auto)}
.tl-event>*{min-width:0}
.tl-fig{overflow-wrap:anywhere}
.tl-main{min-width:0}
.cfl-row{grid-template-columns:minmax(160px,200px) 120px minmax(0,1fr)}
.cfl-row>*{min-width:0}
.scn-col,.scn-col dd{overflow-wrap:anywhere;word-break:break-word}
.scn-col dd{min-width:0}
.hn{padding:18px 22px 16px}
.spark{padding-right:4px}
.hn-num{font-size:clamp(1.55rem,2.4vw,2.05rem)}
.hn-v{flex-wrap:wrap}
.mp-card,.mp-card>*{min-width:0}
.mp-card{overflow:hidden}
.mp-lead,.mp-drivers li,.mp-inval,.mp-tail,.mp-ph-n{overflow-wrap:anywhere}
.hm-c{}
.heatmap-wrap{overflow-x:auto}

/* masthead — flex-wrap pour éviter squeeze 1080-1280 */
.masthead-row{flex-wrap:wrap;min-height:68px;height:auto;padding:10px 0;row-gap:6px}
.masthead-meta{order:99;flex-basis:100%;justify-content:flex-start;margin-top:2px}
@media(min-width:1280px){.masthead-meta{flex-basis:auto;order:initial;margin-top:0;justify-content:center}}

/* TOC scrollspy — trait lumineux pulse premium */
.toc a[aria-current="true"]{color:var(--gold-hi);border-left-color:transparent;background:linear-gradient(90deg,rgba(77,141,240,.14),rgba(77,141,240,.02) 80%);box-shadow:inset 2px 0 0 var(--gold-hi),0 0 14px -4px rgba(77,141,240,.45);position:relative}
.toc a[aria-current="true"]::before{content:"";position:absolute;left:-2px;top:8px;bottom:8px;width:2px;background:var(--gold-hi);box-shadow:0 0 8px var(--gold-hi);animation:tocPulse 2.4s ease-in-out infinite}
@keyframes tocPulse{0%,100%{opacity:.6}50%{opacity:1}}

/* hero numbers — barre top live + glow text hover */
.hn::before{transition:opacity .4s,box-shadow .4s,height .4s}
.hn:hover::before{opacity:1;height:3px;box-shadow:0 0 12px rgba(77,141,240,.8)}
.hn:hover .hn-num{text-shadow:0 0 22px rgba(143,191,255,.45)}

/* momentum cards — sheen animé sur les verdicts actifs */
.mp-card-up,.mp-card-down{position:relative}
.mp-card-up::after,.mp-card-down::after{content:"";position:absolute;top:0;left:-25%;width:30%;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:mpSheen 5.2s ease-in-out infinite;pointer-events:none}
.mp-card:nth-child(2)::after{animation-delay:.4s}
.mp-card:nth-child(3)::after{animation-delay:.8s}
.mp-card:nth-child(4)::after{animation-delay:1.2s}
.mp-card:nth-child(5)::after{animation-delay:1.6s}
@keyframes mpSheen{0%{left:-25%}55%,100%{left:125%}}

/* brand-mark — respiration lente */
.brand-mark{box-shadow:var(--glow-blue-soft);animation:brandBreathe 8s ease-in-out infinite}
@keyframes brandBreathe{0%,100%{box-shadow:var(--glow-blue-soft)}50%{box-shadow:var(--glow-blue-hard)}}

/* pulse freshness — aura double */
.pulse{background:var(--up)}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(61,214,140,.6),0 0 10px 2px rgba(77,141,240,.5)}
  70%{box-shadow:0 0 0 9px rgba(61,214,140,0),0 0 18px 4px rgba(77,141,240,0)}
  100%{box-shadow:0 0 0 0 rgba(61,214,140,0),0 0 10px 2px rgba(77,141,240,.4)}
}

/* tabular-nums étendu */
.cb-rate,.infl .iv,.im-cell .imv,.asset-spot,.am-spot,.pm-p,.corr-v,
.tl-time,.tl-fig,.delta,.driver-w,.ph-m,.fr-d,
.mp-meta,.mp-prob,.cs-row{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}

/* lvl-toggle focus-visible accessibilité */
.lvl-toggle button:focus-visible{outline:2px solid var(--paper);outline-offset:2px;border-radius:6px}
.lvl-toggle button[aria-pressed="true"]:focus-visible{outline-color:var(--ink-0);outline-offset:-3px}

/* :active feedback tactile mobile */
.hn:active,.cb:active,.mp-card:active,.phase:active,.tn-branch:active,.lesson:active{transform:translateY(-1px) scale(.995);transition-duration:.1s}

/* TOC top variable */
.toc{top:calc(68px + 20px)}
@media(max-width:680px){.toc{top:calc(58px + 16px)}}

/* paper-faint + paper-mute — contrastes adoucis avec teinte bleutée */
.foot-disc,.gauge-cap,.fr-i,.tl-main .tl-sub,.am-spot small,.hn-prev,.hn-d,
.cb-since,.conf-tag,.infl .ip,.infl .id,.im-cell .imd,.tl-fig,.win-tag,
.ec-hr,.ec-rnote,.ec-rt,.dv-s,.gloss .gv,.foot-method p,.foot-sig,.tly,
.ys-conf,.sr-source,.mp-meta,.hm-leg-lbl,.cv-pk,.read-time,
.am-ess b,.coach-cadre,.guide-card .gcv,.rx-card .gcv,.cb-pill,
.ph-m b,.mp-ph-n,.dr,.mp-disc,.momentum-disc{color:var(--paper-faint)}

/* ============================================================
   v8 — Momentum Panel : verdict directionnel par actif
   ============================================================ */
.momentum-band{position:relative;background:linear-gradient(180deg,rgba(77,141,240,.04),rgba(0,0,0,0))}
.momentum-band .section-head .sec-idx{background:var(--gold-grad);color:var(--ink-0);border:none;font-weight:700;letter-spacing:.04em}
.momentum-band .section-head h2{font-family:var(--serif);font-weight:600}
.momentum-enclair{
  font-size:1.04rem;color:var(--paper);line-height:1.68;max-width:96ch;
  background:linear-gradient(160deg,rgba(77,141,240,.1),rgba(255,255,255,.012));
  border:1px solid rgba(77,141,240,.32);border-left:3px solid var(--gold);
  border-radius:14px;padding:20px 24px;margin-bottom:16px;
}
.momentum-enclair b{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.momentum-context{
  font-size:.88rem;color:var(--paper-dim);line-height:1.6;margin-bottom:28px;
  background:rgba(255,255,255,.025);border:1px solid var(--line-soft);border-left:3px solid var(--warn);
  border-radius:12px;padding:14px 18px;
}
.momentum-context b{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--warn);margin-bottom:6px}
.momentum-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.mp-card{
  display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;
  padding:18px 16px 16px;border-radius:18px;
  background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  border:1px solid var(--line-soft);
  transition:border-color .4s,transform .4s var(--ease),box-shadow .4s;
}
.mp-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--flat);opacity:.7}
.mp-card-up::before{background:var(--up)}
.mp-card-down::before{background:var(--down)}
.mp-card-range::before{background:linear-gradient(90deg,var(--up),var(--warn),var(--down))}
.mp-card:hover{border-color:var(--line);transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(0,0,0,.85)}
.mp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}
.mp-name{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--paper);letter-spacing:-.01em}
.mp-dir{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.06em}
.mp-dir-up{background:rgba(61,214,140,.16);color:var(--up);border:1px solid rgba(61,214,140,.45)}
.mp-dir-down{background:rgba(255,107,125,.16);color:var(--down);border:1px solid rgba(255,107,125,.45)}
.mp-dir-range{background:rgba(245,181,68,.16);color:var(--warn);border:1px solid rgba(245,181,68,.45)}
.mp-dir-i{font-size:.92rem}
.mp-meta{display:flex;flex-direction:column;gap:3px;font-family:var(--mono);font-size:.66rem;color:var(--paper-faint);letter-spacing:.04em}
.mp-meta b{color:var(--paper);font-weight:600}
.mp-probs{display:flex;height:24px;border-radius:8px;overflow:hidden;border:1px solid var(--line-soft);background:var(--ink-2)}
.mp-prob{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.72rem;font-weight:700;color:#fff;transition:width 1.4s var(--ease);overflow:hidden;white-space:nowrap}
.mp-prob span{padding:0 4px}
.mp-prob-up{background:linear-gradient(90deg,rgba(61,214,140,.4),rgba(61,214,140,.7))}
.mp-prob-range{background:linear-gradient(90deg,rgba(245,181,68,.4),rgba(245,181,68,.7))}
.mp-prob-down{background:linear-gradient(90deg,rgba(255,107,125,.4),rgba(255,107,125,.7))}
.mp-probs-legend{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.58rem;color:var(--paper-faint);text-transform:uppercase;letter-spacing:.1em;margin-top:-2px}
.mp-lg.up{color:var(--up)}.mp-lg.range{color:var(--warn)}.mp-lg.down{color:var(--down)}
.mp-lead{font-size:.82rem;color:var(--paper);line-height:1.55;border-left:2px solid var(--gold);padding-left:12px}
.mp-drivers h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.mp-drivers ul{list-style:none;display:flex;flex-direction:column;gap:5px}
.mp-drivers li{font-size:.74rem;color:var(--paper-dim);line-height:1.5;padding-left:14px;position:relative}
.mp-drivers li::before{content:"›";position:absolute;left:0;color:var(--gold);font-weight:700}
.mp-phasing h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px}
.mp-phasing ol{list-style:none;display:flex;flex-direction:column;gap:6px;counter-reset:phx;padding:0;margin:0}
.mp-ph-row{counter-increment:phx;display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:8px;background:rgba(53,201,216,.05);border:1px solid var(--line-soft);border-left:2px solid var(--cyan);min-width:0}
.mp-ph-p{font-family:var(--mono);font-size:.62rem;font-weight:700;color:var(--cyan);letter-spacing:.04em;display:flex;align-items:center;gap:6px;line-height:1.3}
.mp-ph-p::before{content:counter(phx);background:rgba(53,201,216,.18);color:var(--cyan);width:16px;height:16px;border-radius:50%;display:inline-grid;place-items:center;font-size:.6rem;font-weight:600;border:1px solid rgba(53,201,216,.4);flex:0 0 auto}
.mp-ph-n{font-size:.7rem;color:var(--paper-dim);line-height:1.45;padding-left:22px}
.mp-inval,.mp-tail{font-size:.74rem;color:var(--paper-dim);line-height:1.5;padding:10px 12px;border-radius:9px}
.mp-inval{background:rgba(245,181,68,.07);border:1px solid rgba(245,181,68,.28)}
.mp-tail{background:rgba(255,107,125,.07);border:1px solid rgba(255,107,125,.28)}
.mp-inval b,.mp-tail b{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.mp-inval b{color:var(--warn)}
.mp-tail b{color:var(--down)}
.momentum-foot{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.momentum-method{font-family:var(--mono);font-size:.74rem;color:var(--paper-dim);line-height:1.55;background:rgba(77,141,240,.05);border:1px solid var(--line-soft);border-radius:10px;padding:12px 16px}
.momentum-disc{font-size:.74rem;color:var(--paper-faint);line-height:1.55;font-style:italic;border:1px dashed var(--line-soft);border-radius:10px;padding:11px 15px}

/* coverage check (transparence radicale) */
.coverage{margin-top:32px;padding:26px clamp(20px,3vw,32px);border-radius:18px;background:linear-gradient(165deg,rgba(53,201,216,.06),rgba(255,255,255,.012));border:1px solid var(--line-soft);border-left:3px solid var(--cyan)}
.cv-h{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--cyan);margin-bottom:8px}
.cv-lead{font-size:.88rem;color:var(--paper-dim);line-height:1.65;margin-bottom:20px;max-width:90ch}
.cv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cv-row{display:grid;grid-template-columns:200px 1fr;gap:14px;padding:11px 14px;background:rgba(255,255,255,.025);border:1px solid var(--line-soft);border-radius:10px;border-left:2px solid var(--cyan);transition:background .3s,border-color .3s}
.cv-row:hover{background:rgba(53,201,216,.05);border-color:var(--line)}
.cv-k{font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--cyan);letter-spacing:.04em}
.cv-v{font-size:.76rem;color:var(--paper-dim);line-height:1.55}
.cv-h2{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:24px 0 10px}
.cv-pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cv-p{padding:12px 14px;background:rgba(77,141,240,.05);border:1px solid var(--line-soft);border-radius:10px;border-left:2px solid var(--gold)}
.cv-pk{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--gold);font-weight:700;margin-bottom:5px}
.cv-pv{font-size:.76rem;color:var(--paper-dim);line-height:1.55}
@media(max-width:1080px){.cv-grid,.cv-pgrid{grid-template-columns:1fr}.cv-row{grid-template-columns:1fr}}

@media(max-width:1280px){.momentum-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.momentum-grid{grid-template-columns:1fr}.mp-head{flex-direction:column;align-items:flex-start}}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .ec-list{grid-template-columns:1fr}
  .yield-wrap{grid-template-columns:1fr}
}
