/* ==========================================================================
   Rapport — annexe technique repliée (glossaire compris) et pied de page.
   Extrait iso-fonctionnel de l'ancien public/premium.css (S2-01) : mêmes règles,
   même ordre de chargement (voir rapport.html).
   ========================================================================== */

/* --- Annexe technique --- */
.annex { margin-top: 8px; padding-top: 4px; }
.annex-title { font: 600 1.6rem/1.1 var(--font-display); margin: 6px 0 8px; }
.tech-fold { margin: 12px auto 4px; max-width: 760px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tech-fold > .tech-fold-summary { cursor: pointer; list-style: none; padding: 26px 16px; display: flex; flex-direction: column; gap: 4px; position: relative; min-height: 44px; }
.tech-fold > .tech-fold-summary::-webkit-details-marker { display: none; }
.tech-fold-title { font: 600 22px/1.2 var(--font-display); color: var(--ink); }
.tech-fold-hint { font-size: 14px; color: var(--ink-2); padding-right: 36px; }
.tech-fold-summary::after { content: "+"; position: absolute; right: 18px; top: 24px; font-size: 24px; line-height: 1; color: var(--accent-ink); }
.tech-fold[open] > .tech-fold-summary::after { content: "\2212"; }
.tech-fold-body { padding: 6px 16px 24px; }
.gl-list dl { display: grid; gap: 12px; margin: 0; }
.gl-item { padding-bottom: 12px; border-bottom: 1px solid var(--line-soft); }
.gl-item dt { font: 600 1.15rem/1.3 var(--font-display); }
.gl-item dd { margin: 4px 0 0; font-size: 0.9rem; color: var(--ink-2); line-height: 1.5; }
.annex-intro {
  font-family: "Geist", sans-serif;
  font-size: 0.9rem;
  color: var(--ink-2);
  margin: 0 0 18px;
}
.annex-h {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 1.25rem;
  margin: 24px 0 10px;
}
.annex-table-wrap { overflow-x: auto; }
.annex-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Geist", sans-serif;
  font-size: 0.82rem;
}
.annex-table th, .annex-table td {
  text-align: left;
  padding: 7px 10px;
  border-bottom: 1px solid var(--line-soft);
  color: var(--ink-2);
}
.annex-table thead th {
  color: var(--ink-3);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}
.annex-table tbody th { color: var(--ink); font-weight: 600; }
.annex-table .ko { font-family: "Noto Serif KR", serif; font-size: 1rem; color: var(--ink); }
.annex-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.annex-chip {
  font-family: "Geist", sans-serif;
  font-size: 0.82rem;
  padding: 5px 12px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: var(--surface);
}
.annex-wood { border-left: 3px solid var(--wood); }
.annex-fire { border-left: 3px solid var(--fire); }
.annex-earth { border-left: 3px solid var(--earth); }
.annex-metal { border-left: 3px solid var(--metal); }
.annex-water { border-left: 3px solid var(--water); }
.annex-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: "Geist", sans-serif;
  font-size: 0.85rem;
  color: var(--ink-2);
}
.annex-list li { padding: 5px 0; border-bottom: 1px solid var(--line-soft); }
.annex-mono { font-size: 0.74rem; word-break: break-all; }

/* --- Pied de page --- */
.premium-footer {
  max-width: 760px;
  margin: 24px auto 0;
  padding: 18px 16px 8px;
  border-top: 1px solid var(--line-soft);
  font-family: "Geist", sans-serif;
  font-size: 0.8rem;
  color: var(--ink-3);
  text-align: center;
}
.premium-foot-tech { font-size: 0.7rem; margin-top: 8px; }
