/* ============================================
   GOLD SIGNAL - main.css (timeline nav version)
   ============================================ */

:root {
  --bg: #faf9f6;
  --bg-card: #ffffff;
  --text: #1a1a1a;
  --text-secondary: #4a4a4a;
  --text-muted: #888;
  --border: #ddd;
  --border-light: #eee;
  --gold: #a68a3e;
  --gold-dim: #8a7232;
  --gold-bg: rgba(166,138,62,0.08);
  --gold-deep: #7a6a2e;
  --red-marker: #c0392b;
  --font-title: 'EB Garamond', Georgia, 'Times New Roman', serif;
  --font-body: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;
  --max-width: 1200px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body { background:var(--bg); color:var(--text); font-family:var(--font-body); line-height:1.6; min-height:100vh; display:flex; flex-direction:column; }

/* ═══════════════════════════════════════════
   TOP BAR + HORIZONTAL NAV (desktop two-line)
   ═══════════════════════════════════════════ */
/* Header compact uniforme : logo gauche + menu centre + meta droite */
.nav-bar {
  position:sticky; top:0; z-index:100; background:var(--bg);
  padding:0 28px;
  border-bottom:0.5px solid rgba(0,0,0,0.08);
}
.nav-bar__line1 {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:12px 0; min-height:36px;
}
.nav-bar__brand { display:flex; align-items:baseline; gap:0; text-decoration:none; flex-shrink:0; }
.nav-bar__name { font-family:var(--font-title); font-size:19px; font-weight:500; color:var(--gold-deep); letter-spacing:0.01em; line-height:1; white-space:nowrap; }
.nav-bar__tagline { display:none; }
.nav-bar__meta, .nav-bar__price, .nav-bar__date, .nav-bar__meta-sep { display:none; }

/* Horizontal nav links (desktop) */
.nav-bar__links {
  display:flex; align-items:center; gap:0; padding:0; border-bottom:none;
  flex:1; justify-content:center;
}

/* Hero éditorial : page d'accueil uniquement */
.home-hero { padding:64px 28px 56px; text-align:center; max-width:760px; margin:0 auto; }
.home-hero__brand { font-family:var(--font-title); font-size:40px; font-weight:500; color:var(--gold-deep); letter-spacing:0.01em; line-height:1; margin:0 0 18px; }
.home-maj { padding:28px 28px 0; }
.home-maj__wrap { position:relative; display:inline-block; padding-bottom:6px; }
.home-maj__text { font-family:'Caveat','Marker Felt',cursive; font-weight:500; font-size:15px; line-height:1; color:#C8332C; white-space:nowrap; transform:rotate(-4deg); transform-origin:left center; display:inline-block; }
.home-maj__ul { position:absolute; left:0; bottom:0; width:100%; height:6px; overflow:visible; transform:rotate(-4deg); transform-origin:left center; }
.home-hero__tagline { font-family:var(--font-title); font-size:26px; font-weight:400; color:#1a1a1a; line-height:1.4; font-style:italic; margin:0 auto 28px; max-width:620px; }
.home-hero__rule { display:flex; align-items:center; justify-content:center; gap:16px; }
.home-hero__rule-line { width:48px; height:0.5px; background:#c0a060; }
.home-hero__rule-label { font-family:var(--font-mono); font-size:10px; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.12em; }
.nav-bar__link {
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:0.04em; text-transform:uppercase; color:var(--text);
  text-decoration:none; padding:6px 10px; white-space:nowrap;
  cursor:pointer; transition:opacity 0.12s; position:relative;
}
.nav-bar__link:hover { opacity:0.7 !important; }
.nav-bar__link--active { opacity:1 !important; border-bottom:2px solid var(--gold); }
.nav-bar__link--active .nav-bar__lnum { color:var(--gold); }
.nav-bar__link--sep { margin-left:8px; padding-left:16px; border-left:1px solid rgba(0,0,0,0.08); }
.nav-bar__arrow { color:var(--gold); font-size:13px; margin:0 4px; opacity:0.4; }

/* Mobile: burger + indicator */
.nav-bar__right { display:none; align-items:center; gap:8px; }
.nav-bar__indicator { font-family:var(--font-mono); font-size:10px; color:var(--text); letter-spacing:0.03em; white-space:nowrap; }
.nav-bar__num { color:var(--gold); }
.nav-bar__toggle { background:none; border:1px solid rgba(0,0,0,0.08); border-radius:4px; color:var(--text); font-size:18px; cursor:pointer; padding:4px 8px; font-family:sans-serif; line-height:1; }
.nav-bar__toggle:hover { background:var(--gold-bg); }

/* ═══════════════════════════════════════════
   TIMELINE NAV (designer version)
   ═══════════════════════════════════════════ */
.nav-menu { display:none; padding:28px 28px 12px; background:var(--bg); border-bottom:1px solid rgba(0,0,0,0.06); }
.nav-menu--open { display:block; }

.nav-tl { position:relative; padding-left:48px; max-width:700px; margin:0 auto; }

/* Vertical line (gradient: faint top → solid bottom) */
.nav-tl__line {
  position:absolute; left:15px; top:8px; bottom:8px; width:2px;
  background:linear-gradient(to bottom, rgba(166,138,62,0.08), rgba(166,138,62,0.35));
  border-radius:1px;
}
/* Arrow at bottom */
.nav-tl__arrow {
  position:absolute; left:11px; bottom:0; width:0; height:0;
  border-left:5px solid transparent; border-right:5px solid transparent;
  border-top:7px solid rgba(166,138,62,0.4);
}

/* Each item */
.nav-tl__item {
  display:flex; align-items:center; padding:14px 0;
  text-decoration:none; cursor:pointer; position:relative;
  border-top:1px solid rgba(0,0,0,0.03);
  transition:opacity 0.12s;
}
.nav-tl__item:first-child { border-top:none; }

/* Dot (hollow, border intensifies down the timeline) */
.nav-tl__dot {
  position:absolute; left:-40px; width:12px; height:12px; border-radius:50%;
  background:var(--bg); border:2px solid rgba(166,138,62,0.25); z-index:1;
}
.nav-tl__item:nth-child(3) .nav-tl__dot { border-color:rgba(166,138,62,0.3); }
.nav-tl__item:nth-child(4) .nav-tl__dot { border-color:rgba(166,138,62,0.4); }

/* Active dot (solid gold + halo) */
.nav-tl__dot--active {
  width:16px; height:16px; left:-42px;
  background:var(--gold); border:none;
  box-shadow:0 0 0 4px rgba(166,138,62,0.12);
}

/* Dashed dot (projections = future uncertain) */
.nav-tl__dot--dashed {
  border-style:dashed; border-color:rgba(166,138,62,0.35); background:var(--bg);
}

/* Content */
.nav-tl__content { flex:1; }
.nav-tl__label {
  font-family:var(--font-mono); font-size:13.5px; font-weight:500;
  letter-spacing:0.03em; text-transform:uppercase; color:var(--text); opacity:0.5;
}
.nav-tl__item:nth-child(3) .nav-tl__label { opacity:0.55; }
.nav-tl__item:nth-child(4) .nav-tl__label { opacity:0.65; }
.nav-tl__item--active .nav-tl__label { opacity:1; }
.nav-tl__desc {
  font-family:var(--font-body); font-size:12.5px; color:#999; margin-top:2px;
}
.nav-tl__desc--gold { color:var(--gold); }

/* Number (right side, discreet) */
.nav-tl__num {
  font-family:var(--font-mono); font-size:10px; color:#ccc; flex-shrink:0;
}
.nav-tl__num--gold { color:var(--gold); }

/* Separator before Projections */
.nav-tl__sep {
  height:12px; border-top:1px solid rgba(0,0,0,0.04); margin-top:14px;
}

/* Active item styling for inner pages (set by JS) */
.nav-tl__item--current .nav-tl__dot { background:var(--gold); border:none; width:16px; height:16px; left:-42px; box-shadow:0 0 0 4px rgba(166,138,62,0.12); }
.nav-tl__item--current .nav-tl__label { opacity:1; }
.nav-tl__item--current .nav-tl__desc { color:var(--gold); }
.nav-tl__item--current .nav-tl__num { color:var(--gold); }

/* Discussion (page de service, hors chronologie) : version discrète */
.nav-tl__item--discreet { opacity:0.7; }
.nav-tl__item--discreet .nav-tl__label { opacity:0.45; font-size:12.5px; }
.nav-tl__item--discreet .nav-tl__desc { font-size:11.5px; }
.nav-tl__dot--hollow { border-color:rgba(0,0,0,0.15); width:10px; height:10px; left:-39px; }
.nav-tl__item--discreet.nav-tl__item--current { opacity:1; }
.nav-tl__item--discreet.nav-tl__item--current .nav-tl__label { opacity:1; }
.nav-tl__item--discreet.nav-tl__item--current .nav-tl__dot { background:var(--gold); border:none; width:16px; height:16px; left:-42px; box-shadow:0 0 0 4px rgba(166,138,62,0.12); }

/* ═══════════════════════════════════════════
   MAIN CONTENT
   ═══════════════════════════════════════════ */
.main { flex:1; padding:48px 24px; max-width:var(--max-width); width:100%; margin-left:auto; margin-right:auto; }

/* ═══════════════════════════════════════════
   PAGE HEADER
   ═══════════════════════════════════════════ */
.page-header { margin-bottom:48px; }
.page-header__number { font-family:var(--font-mono); font-size:0.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:8px; }
.page-header__title { font-family:var(--font-title); font-size:2rem; font-weight:400; line-height:1.2; color:var(--text); max-width:700px; }
.page-header__source { font-family:var(--font-body); font-size:0.88rem; color:var(--text-secondary); margin-top:12px; line-height:1.5; }

/* ═══════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════ */
.footer { padding:24px; border-top:1px solid var(--border); text-align:center; font-family:var(--font-mono); font-size:0.65rem; color:var(--text-muted); letter-spacing:0.05em; }
.site-footer { padding:16px 28px 20px; border-top:1px solid rgba(0,0,0,0.04); display:flex; justify-content:center; }
.site-footer__inner { display:flex; align-items:center; gap:14px; }
.site-footer__sig { text-align:right; }
.site-footer__name { font-size:11px; color:#8a8983; font-weight:500; letter-spacing:0.5px; }
.site-footer__date { font-family:var(--font-mono); font-size:10px; color:#8a8983; margin-top:1px; }
.site-footer__bar { width:0.5px; height:20px; background:rgba(0,0,0,0.15); flex-shrink:0; }
.site-footer__src { font-size:10px; color:#8a8983; opacity:0.55; line-height:1.7; letter-spacing:0.2px; }
.nav-bar__link--discreet { color:var(--text-muted); opacity:0.65; }
.nav-bar__link--discreet:hover { opacity:1; color:var(--gold-deep); }

/* ═══════════════════════════════════════════
   TODAY PAGE
   ═══════════════════════════════════════════ */
.today-banner { padding:28px 32px; background:var(--bg-card); border:1px solid var(--border); border-left:3px solid var(--gold); border-radius:0 6px 6px 0; margin-bottom:24px; }
.today-banner__date { font-family:var(--font-mono); font-size:0.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:6px; }
.today-banner__title { font-family:var(--font-title); font-size:1.5rem; font-weight:400; line-height:1.25; color:var(--text); margin-bottom:8px; }
.today-banner__price { font-family:var(--font-mono); font-size:1.1rem; color:var(--gold); font-weight:500; }
.today-banner__delta { font-family:var(--font-mono); font-size:0.8rem; margin-left:10px; }
.today-banner__delta--up { color:#2E7D32; }
.today-banner__delta--dn { color:#C62828; }
.today-chart-wrap { position:relative; margin-bottom:24px; }
.today-chart-wrap canvas { width:100%; height:320px; display:block; border-radius:6px; background:#fff; border:1px solid var(--border); cursor:crosshair; }
.today-tooltip { position:absolute; z-index:60; background:#1a1a1a; color:#f0f0f0; font-size:0.88rem; line-height:1.55; padding:14px 16px; border-radius:8px; pointer-events:none; max-width:360px; box-shadow:0 6px 24px rgba(0,0,0,0.25); opacity:0; transition:opacity 0.15s; }
.today-tooltip--visible { opacity:1; }
.today-episodes { border-left:2px solid var(--border); padding-left:20px; margin-top:32px; }
.today-ep { position:relative; padding-bottom:24px; cursor:pointer; }
.today-ep:last-child { padding-bottom:0; }
.today-ep::before { content:''; position:absolute; left:-26px; top:4px; width:10px; height:10px; border-radius:50%; background:var(--border); border:2px solid var(--bg); }
.today-ep--current::before { background:var(--gold); box-shadow:0 0 0 3px rgba(166,138,62,0.15); }
.today-ep__date { font-family:var(--font-mono); font-size:0.7rem; color:var(--text-muted); letter-spacing:0.05em; margin-bottom:2px; }
.today-ep__title { font-size:0.92rem; font-weight:500; color:var(--text); line-height:1.35; margin-bottom:4px; }
.today-ep__price { font-family:var(--font-mono); font-size:0.78rem; color:var(--gold); }
.today-ep:hover .today-ep__title { color:var(--gold-deep); }
.today-updated { font-family:var(--font-mono); font-size:0.68rem; color:var(--text-muted); text-align:right; margin-top:12px; letter-spacing:0.04em; }

/* ═══════════════════════════════════════════
   SIDE PANEL
   ═══════════════════════════════════════════ */
.side-panel-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.2); z-index:200; opacity:0; pointer-events:none; transition:opacity 0.2s; }
.side-panel-overlay--open { opacity:1; pointer-events:auto; }
.side-panel { position:fixed; top:0; right:-520px; width:480px; max-width:90vw; height:100vh; background:#fff; z-index:201; transition:right 0.3s ease; overflow-y:auto; box-shadow:-4px 0 24px rgba(0,0,0,0.08); }
.side-panel--open { right:0; }
.side-panel__close { position:absolute; top:14px; right:14px; width:28px; height:28px; border-radius:50%; border:1px solid var(--border); background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--text-secondary); }
.side-panel__close:hover { background:var(--bg); }
.side-panel__head { padding:24px 24px 0; }
.side-panel__tag { font-family:var(--font-mono); font-size:0.65rem; padding:3px 8px; border-radius:4px; display:inline-block; margin-bottom:6px; font-weight:600; background:var(--gold-bg); color:var(--gold); letter-spacing:0.06em; text-transform:uppercase; }
.side-panel__title { font-family:var(--font-title); font-size:1.15rem; font-weight:400; line-height:1.3; margin-bottom:4px; }
.side-panel__sub { font-family:var(--font-mono); font-size:0.78rem; color:var(--text-muted); line-height:1.5; }
.side-panel__body { padding:16px 24px 32px; font-size:0.92rem; color:var(--text-secondary); line-height:1.7; }
.side-panel__body h4 { font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--gold); margin:18px 0 5px; }
.side-panel__body h4:first-child { margin-top:0; }
.side-panel__body p { font-size:0.88rem; color:var(--text-secondary); line-height:1.7; margin-bottom:6px; }

/* ═══════════════════════════════════════════
   EXPOSE MODAL
   ═══════════════════════════════════════════ */
.expose-modal { display:none; position:fixed; inset:0; z-index:9000; background:rgba(0,0,0,0.3); justify-content:center; align-items:flex-start; padding-top:10vh; }
.expose-modal--open { display:flex; }
.expose-modal__box { position:relative; max-width:620px; width:92%; background:#faf9f6; border:1px solid #d4c9a8; border-radius:6px; padding:2rem 2rem 1.75rem; box-shadow:0 8px 32px rgba(0,0,0,0.12); max-height:80vh; overflow-y:auto; }
.expose-modal__close { position:absolute; top:0.75rem; right:0.85rem; background:none; border:none; font-size:1.15rem; color:#999; cursor:pointer; padding:0.25rem; line-height:1; transition:color 0.15s; }
.expose-modal__close:hover { color:#555; }
.expose-modal__label { display:block; font-family:var(--font-mono); font-size:0.7rem; font-weight:500; color:var(--gold-deep); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:0.85rem; padding-bottom:0.5rem; border-bottom:1px solid rgba(166,138,62,0.2); }
.expose-modal__text { font-family:var(--font-body); font-size:0.97rem; line-height:1.7; color:#2a2a2a; margin:0; font-weight:300; }
.expose-modal__section { margin-bottom:1.25rem; }
.expose-modal__section:last-child { margin-bottom:0; }
.expose-modal__heading { font-family:var(--font-body); font-size:1.12rem; font-weight:500; color:var(--gold-deep); margin:0 0 0.6rem 0; padding-bottom:0.4rem; border-bottom:1px solid rgba(166,138,62,0.15); }
.expose-modal__body { font-family:var(--font-body); font-size:0.97rem; line-height:1.7; color:#2a2a2a; margin:0; font-weight:300; }
.expose-modal__source { font-family:var(--font-mono); font-size:0.78rem; color:#888; margin-top:0.4rem; line-height:1.5; }

/* ═══════════════════════════════════════════
   GLOSSARY / COMPARE / CHART AREA / PAGE NAV
   ═══════════════════════════════════════════ */
.glossary { border-bottom:1px dotted var(--gold); cursor:help; position:relative; }
.glossary-tip { display:none; position:fixed; z-index:9500; background:#2a2a2a; color:#faf9f6; font-family:var(--font-body); font-size:0.82rem; line-height:1.5; padding:8px 12px; border-radius:4px; max-width:320px; pointer-events:none; box-shadow:0 4px 12px rgba(0,0,0,0.2); }
.glossary-tip--visible { display:block; }
.compare-btn { font-family:var(--font-body); font-size:0.78rem; padding:0.3rem 0.7rem; border:1px solid #d4c9a8; border-radius:4px; background:transparent; color:#666; cursor:pointer; transition:all 0.15s; }
.compare-btn:hover { background:var(--gold-bg); border-color:rgba(166,138,62,0.4); }
.compare-btn--active { background:#2a2a2a; color:#faf9f6; border-color:#2a2a2a; }
.chart-area { width:100%; min-height:450px; border:1px dashed var(--border); border-radius:4px; display:flex; align-items:center; justify-content:center; color:var(--text-muted); font-family:var(--font-mono); font-size:0.85rem; }
.page-nav { display:flex; justify-content:space-between; margin-top:64px; padding-top:32px; border-top:1px solid var(--border); }
.page-nav__link { font-family:var(--font-mono); font-size:0.75rem; color:var(--text-muted); text-decoration:none; text-transform:uppercase; letter-spacing:0.05em; transition:color 0.15s; }
.page-nav__link:hover { color:var(--gold); }

/* ═══════════════════════════════════════════
   MOBILE
   ═══════════════════════════════════════════ */
.mobile-banner { display:none; background:var(--bg); padding:8px 16px; text-align:center; font-size:0.75rem; color:var(--text-muted); border-bottom:0.5px solid var(--border); }

@media (max-width:768px) {
  .mobile-banner { display:block; }
  .nav-bar { padding:0 16px; }
  .nav-bar__line1 { padding:10px 0; min-height:auto; }
  .nav-bar__name { font-size:16px; }
  .nav-bar__meta { display:none; }
  /* Onglets en bande defilante (repris de La dette francaise), plus de burger */
  .nav-bar__line1 { flex-wrap:wrap; }
  .nav-bar__links {
    display:flex; flex:1 1 100%; justify-content:flex-start; align-items:center;
    overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; -ms-overflow-style:none;
    gap:0; padding:4px 0 2px; margin-top:2px;
  }
  .nav-bar__links::-webkit-scrollbar { display:none; }
  .nav-bar__link { white-space:nowrap; flex-shrink:0; }
  .nav-bar__arrow { flex-shrink:0; }
  .nav-bar__right { display:none; }
  .nav-bar__toggle { display:none; }
  .signal-head, [id^="maj-"] { scroll-margin-top:104px; }
  /* Badge MAJ en flux dans la bande (sinon overflow-x:auto le rognerait).
     3 classes obligatoires : la règle desktop partagée (.nav-bar__link--maj
     .maj-nav, plus bas dans ce fichier) a 2 classes et gagnerait sinon la
     cascade à spécificité égale, un @media n'ajoutant rien. */
  .nav-bar__links .nav-bar__link--maj .maj-nav {
    position:static; top:auto; right:auto;
    display:inline-block; margin-left:6px; vertical-align:middle;
    padding:2px 7px; font-size:12px;
  }
  .nav-menu { padding:20px 16px 12px; }
  .nav-tl { padding-left:40px; }
  .nav-tl__line { left:11px; }
  .nav-tl__arrow { left:7px; }
  .nav-tl__dot { left:-34px; }
  .nav-tl__dot--active { left:-36px; }
  .nav-tl__label { font-size:12px; }
  .nav-tl__desc { font-size:11.5px; }
  .nav-tl__item { padding:9px 0; }
  .main { padding:32px 16px; }
  .page-header__title { font-size:1.5rem; }
  .today-banner { padding:20px 20px; }
  .today-banner__title { font-size:1.25rem; }
  .side-panel { width:100vw; max-width:100vw; }
  .site-footer__inner { flex-direction:column; align-items:center; gap:8px; }
  .site-footer__sig { text-align:center; }
  .site-footer__bar { width:40px; height:0.5px; }
  .site-footer__src { text-align:center; }
  .home-hero { padding:26px 16px 20px; }
  .home-hero__brand { font-size:26px; margin-bottom:10px; }
  .home-maj { padding:12px 16px 0; text-align:right; }
  .home-maj__text { font-size:12px; }
  .home-hero__tagline { font-size:20px; margin-bottom:16px; }
  .home-hero__rule-line { width:32px; }
}
@media (max-width:480px) {
  .page-header__title { font-size:1.3rem; }
  .nav-tl__num { display:none; }
  .nav-bar__name { font-size:15px; }
}

/* ============================================
   Système de mise à jour, post-it (partagé)
   ============================================ */

/* Mini post-it sur la nav, onglet Projections */
.nav-bar__link--maj { position: relative; }
.nav-bar__link--maj .maj-nav {
  position: absolute; top: calc(100% + 2px); right: -22px;
  background: #FBE89C; box-shadow: 1px 2px 5px rgba(0,0,0,0.18);
  transform: rotate(-5deg); padding: 4px 9px;
  font-family: 'Caveat', 'Marker Felt', cursive;
  font-size: 13px; line-height: 1; color: #5C4A1E; white-space: nowrap;
  cursor: pointer; z-index: 5;
}

/* Panneau MAJ qui se déplie au clic */
.maj-panel {
  position: fixed; top: 60px; right: 60px; z-index: 100;
  display: none;
}
.maj-panel.open { display: block; }
.maj-panel__sheet {
  background: #FBE89C; box-shadow: 3px 5px 12px rgba(0,0,0,0.18);
  padding: 14px 18px 16px; width: 240px;
  transform: rotate(-1.5deg); position: relative;
  cursor: pointer;
  transition: transform 0.15s ease;
}
.maj-panel__sheet:hover { transform: rotate(-1.5deg) translateY(-2px); }
.maj-panel__sheet::after {
  content: ''; position: absolute;
  top: 4px; left: 8px; right: -4px; bottom: -4px;
  background: #F5DC7B; transform: rotate(3.5deg);
  z-index: -1; box-shadow: 2px 3px 8px rgba(0,0,0,0.08);
}
.maj-panel__date {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px; letter-spacing: 0.1em;
  color: #8B6F2A; margin-bottom: 8px;
}
.maj-panel__title {
  font-family: 'Caveat', 'Marker Felt', cursive;
  font-size: 17px; line-height: 1.3;
  color: #5C4A1E; margin-bottom: 10px;
}
.maj-panel__link {
  font-family: 'Caveat', 'Marker Felt', cursive;
  font-size: 16px; color: #9B6A1F; text-decoration: underline;
}
.maj-panel__close {
  position: absolute; top: 4px; right: 6px; z-index: 2;
  background: none; border: none; font-size: 14px;
  color: #8B6F2A; cursor: pointer; padding: 2px 6px;
  font-family: 'IBM Plex Mono', monospace;
}

/* ============================================
   Post-its MAJ en mobile : burger + menu timeline
   ============================================ */

/* Pastille jaune sur le bouton burger quand des MAJ sont disponibles */
.nav-bar__toggle { position: relative; }
.nav-bar__toggle--maj::after {
  content: ''; position: absolute; top: 2px; right: 0px;
  width: 9px; height: 9px; border-radius: 50%;
  background: #FBE89C; border: 1px solid #C9A93C;
  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* Mini post-it MAJ sur un item du menu timeline (burger déplié) */
.nav-tl__item { position: relative; }
.nav-tl__item .maj-nav-tl {
  display: inline-block; margin-left: 10px; vertical-align: middle;
  background: #FBE89C; box-shadow: 1px 2px 4px rgba(0,0,0,0.18);
  transform: rotate(-4deg); padding: 3px 8px;
  font-family: 'Caveat', 'Marker Felt', cursive;
  font-size: 13px; line-height: 1; color: #5C4A1E; white-space: nowrap;
  cursor: pointer; z-index: 5;
}

@media (max-width:768px) {
  /* Panneau-sommaire MAJ : pleine largeur d'écran moins marges */
  .maj-panel { top: 56px; right: 12px; left: 12px; }
  .maj-panel__sheet { width: auto; }
  /* Modales d'exposés : padding réduit, fermeture en cible tactile */
  .expose-modal { padding-top: 6vh; }
  .expose-modal__box { padding: 1.5rem 1.25rem 1.25rem; max-height: 86vh; }
  .expose-modal__close { font-size: 1.4rem; padding: 0.6rem 0.7rem; top: 0.3rem; right: 0.3rem; }
}

@media (hover:hover) {
  .nav-tl__item:hover { opacity: 0.8; }
}

/* ============================================
   Banc d'essai des hypothèses : prédiction datée vs résultat daté
   Réutilisable sur toutes les pages (fiches, signaux).
   Verdicts : --ok vérifiée, --partial partielle, --ko infirmée.
   ============================================ */
.pred-block { display:block; border-radius:0; padding:11px 14px; margin:12px 0 0; }
.pred-block--said { background:#FAEEDA; border-left:3px solid #633806; }
.pred-block--done { background:#FCEBEB; border-left:3px solid #791F1F; }
.pred-label { display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:0.04em; text-transform:uppercase; margin-bottom:5px; }
.pred-block--said .pred-label { color:#633806; }
.pred-block--done .pred-label { color:#791F1F; }
.pred-text { display:block; line-height:1.55; }
.pred-block--said .pred-text { color:#412402; }
.pred-block--done .pred-text { color:#501313; }
.pred-verdict { display:inline-block; margin-top:8px; font-size:12px; font-weight:500; padding:3px 10px; border-radius:5px; }
.pred-verdict--ok { background:#EAF3DE; color:#27500A; }
.pred-verdict--partial { background:#FAEEDA; color:#633806; }
.pred-verdict--ko { background:#FCEBEB; color:#791F1F; }

/* ===== Fiche detaillee : chapeau (masthead) ===== */
.expo-mast { margin-bottom:4px; }
.expo-mast__over { display:flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:10px; letter-spacing:0.11em; text-transform:uppercase; color:#9a7b2e; margin-bottom:11px; }
.expo-mast__dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.expo-mast__head { font-family:var(--font-title); font-size:1.5rem; font-weight:500; line-height:1.22; color:#141414; margin:0 0 10px; }
.expo-mast__stand { font-family:var(--font-body); font-size:1rem; line-height:1.5; color:#57564e; margin:0; }
.expo-mast__rule { height:0.5px; background:linear-gradient(90deg,#c0a060,rgba(192,160,96,0)); margin:16px 0 18px; }

/* ===== Fiche detaillee : bilan hypothese / faits (filet date, sobre, sans couleur) ===== */
.rec { display:block; }
.rec__row { display:grid; grid-template-columns:54px 1fr; column-gap:14px; }
.rec__date { font-family:var(--font-mono); font-size:11px; color:#a6a6a0; line-height:1.5; }
.rec__main { display:block; }
.rec__lab { display:block; font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:0.01em; margin-bottom:4px; }
.rec__lab--hyp { color:#8f8f88; }
.rec__lab--fact { color:#3a3a34; }
.rec__t { display:block; font-family:var(--font-body); font-size:13.5px; line-height:1.56; }
.rec__t--hyp { color:#6f6f68; }
.rec__t--fact { color:#232320; }
.rec__hr { display:block; height:0.5px; background:rgba(0,0,0,0.1); margin:14px 0; }
