/* Feuille d'étude — EXPORTÉE depuis le bundle React, ne pas éditer.
 * Produite par tools/exporter-etudes.mjs. Partagée par les études qui la
 * déclarent à l'identique — 4 feuilles pour 6 études, mesuré. */

.study-root {
    --paper: #faf9f7; --paper-w: #f4f1ec; --white: #fff;
    --ink: #1a1a1a; --ink-s: #3d3d3d; --ink-m: #6b6b6b; --ink-f: #9a9a9a; --ink-ff: #c5c0b8;
    --rule: #e0ddd8; --rule-l: #eeebe6;
    --red: #b8390e; --red-s: rgba(184,57,14,.06); --red-10: rgba(184,57,14,.10);
    --insight: #9d174d; --insight-s: #fdf2f8;
    --green: #047857; --green-s: #ecfdf5;
    --blue: #0e7490; --blue-s: #ecfeff;
    --purple: #5b21b6; --purple-s: #f3f0ff;
    --amber: #b45309; --amber-s: #fef7ed;

    font-family: 'Geist', sans-serif;
    background: var(--paper-w);
    color: var(--ink-s);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
  }

  .study-hero { background: var(--ink); color: var(--paper); padding: 56px 40px 48px; }
  .study-hero .orbii-logo { font-family: 'Newsreader', serif; font-weight: 700; font-size: 1.4rem; letter-spacing: -.02em; margin-bottom: 32px; }
  .study-hero .orbii-logo .dot { color: var(--red); }
  .study-hero .orbii-logo .branch { color: #ec4899; }
  .study-hero h1 { font-family: 'Newsreader', serif; font-size: 2.4rem; font-weight: 600; margin-bottom: 12px; line-height: 1.1; letter-spacing: -.01em; color: white; }
  .study-hero h1 .dot { color: var(--red); }
  .study-hero .subtitle { font-size: 1rem; color: white; max-width: 750px; line-height: 1.6; }
  .study-hero .meta { margin-top: 24px; font-family: 'Geist Mono', monospace; font-size: 0.72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-f); }

  .study-nav { background: var(--paper); border-bottom: 1px solid var(--rule); position: sticky; top: 0; z-index: 100; }
  .study-tabs { display: flex; max-width: 1200px; margin: 0 auto; overflow-x: auto; scrollbar-width: none; }
  .study-tabs::-webkit-scrollbar { display: none; }
  .study-tab { padding: 14px 18px; cursor: pointer; font-family: 'Geist Mono', monospace; font-size: 0.7rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; border-bottom: 2px solid transparent; color: var(--ink-m); transition: all 0.2s; user-select: none; background: none; border-left: none; border-right: none; border-top: none; }
  .study-tab:hover { color: var(--red); }
  .study-tab.active { color: var(--red); border-bottom-color: var(--red); }

  .study-content { max-width: 1200px; margin: 0 auto; padding: 30px 20px; }

  .study-root .section-header { margin-bottom: 24px; }
  .study-root .section-header h2 { font-family: 'Newsreader', serif; font-size: 1.6rem; font-weight: 600; color: var(--ink); margin-bottom: 6px; letter-spacing: -.01em; }
  .study-root .section-header p { color: var(--ink-m); font-size: 0.92rem; }

  .study-root .card, .study-root .study-card { background: var(--white); border-radius: 8px; padding: 28px; margin-bottom: 20px; border: 1px solid var(--rule); }
  .study-root .card h3 { font-family: 'Newsreader', serif; font-size: 1.15rem; font-weight: 600; margin-bottom: 12px; color: var(--ink); display: flex; align-items: center; gap: 10px; }
  .study-root .card h4 { font-family: 'Newsreader', serif; font-weight: 600; color: var(--ink); margin-bottom: 8px; }
  .study-root .card p { color: var(--ink-s); margin-bottom: 10px; font-size: 0.92rem; }

  .study-label { font-family: 'Geist Mono', monospace; font-size: 0.68rem; letter-spacing: .3em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }

  .study-root .badge { display: inline-block; padding: 2px 8px; border-radius: 3px; font-family: 'Geist Mono', monospace; font-size: 0.65rem; font-weight: 500; letter-spacing: .04em; margin-right: 4px; margin-bottom: 4px; }
  .badge-leader { background: var(--green-s); color: var(--green); }
  .badge-challenger { background: var(--amber-s); color: var(--amber); }
  .badge-niche { background: var(--purple-s); color: var(--purple); }
  .badge-opensource { background: var(--green-s); color: var(--green); border: 1px solid rgba(4,120,87,.15); }
  .badge-enterprise { background: var(--purple-s); color: var(--purple); border: 1px solid rgba(91,33,182,.12); }
  .badge-new { background: var(--red-s); color: var(--red); border: 1px solid rgba(184,57,14,.15); }

  .study-root .table-wrapper { overflow-x: auto; margin: 20px 0; border-radius: 8px; border: 1px solid var(--rule); }
  .study-root table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
  .study-root thead { background: var(--paper-w); }
  .study-root th { font-family: 'Geist Mono', monospace; font-size: 0.68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--red); padding: 12px 14px; text-align: left; font-weight: 400; border-bottom: 1px solid var(--rule); }
  .study-root td { padding: 11px 14px; border-bottom: 1px solid var(--rule-l); color: var(--ink-s); vertical-align: top; }
  .study-root td:first-child { font-weight: 600; color: var(--ink); }
  .study-root tr:hover { background: rgba(184,57,14,.02); }
  .study-root tr:last-child td { border-bottom: none; }

  .score-bar { display: flex; align-items: center; gap: 10px; }
  .score-track { flex: 1; height: 10px; background: var(--rule); border-radius: 5px; overflow: hidden; min-width: 80px; }
  .score-fill { height: 100%; border-radius: 5px; transition: width 0.8s ease; }
  .score-label { font-family: 'Geist Mono', monospace; font-size: 0.78rem; font-weight: 500; min-width: 36px; text-align: right; color: var(--ink); }

  .matrix-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin: 20px 0; }
  .matrix-card { background: var(--white); border-radius: 8px; padding: 22px; border: 1px solid var(--rule); transition: transform 0.2s, box-shadow 0.2s; }
  .matrix-card:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.06); }
  .matrix-card h4 { font-family: 'Newsreader', serif; font-size: 1.05rem; font-weight: 600; margin-bottom: 6px; color: var(--ink); }
  .matrix-card .vendor-type { font-family: 'Geist Mono', monospace; font-size: 0.7rem; color: var(--ink-f); margin-bottom: 12px; letter-spacing: .03em; }
  .matrix-card ul { list-style: none; padding: 0; }
  .matrix-card li { padding: 4px 0; font-size: 0.83rem; position: relative; padding-left: 16px; color: var(--ink-s); }
  .matrix-card li::before { content: '\00b7'; position: absolute; left: 0; color: var(--red); font-weight: bold; font-size: 1.2em; }

  .study-root .insight { background: var(--amber-s); border-left: 3px solid var(--amber); padding: 18px 22px; border-radius: 0 8px 8px 0; margin: 20px 0; font-size: 0.9rem; }
  .study-root .insight strong { color: var(--amber); }
  .study-root .callout-red { background: var(--red-s); border-left: 3px solid var(--red); padding: 18px 22px; border-radius: 0 8px 8px 0; margin: 20px 0; font-size: 0.9rem; }
  .study-root .callout-blue { background: var(--blue-s); border-left: 3px solid var(--blue); padding: 18px 22px; border-radius: 0 8px 8px 0; margin: 20px 0; font-size: 0.9rem; }
  .study-root .callout-green { background: var(--green-s); border-left: 3px solid var(--green); padding: 18px 22px; border-radius: 0 8px 8px 0; margin: 20px 0; font-size: 0.9rem; }
  .study-root .callout-purple { background: var(--purple-s); border-left: 3px solid var(--purple); padding: 18px 22px; border-radius: 0 8px 8px 0; margin: 20px 0; font-size: 0.9rem; }
  .study-root .mono-label { font-family: 'Geist Mono', monospace; font-size: 0.68rem; letter-spacing: .3em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }
  .study-root .badge-blue { background: var(--blue-s); color: var(--blue); border: 1px solid rgba(14,116,144,.15); }
  .study-root .timeline { position: relative; padding-left: 28px; margin: 20px 0; }
  .study-root .timeline::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--rule); }
  .study-root .timeline-item { position: relative; padding-bottom: 22px; }
  .study-root .timeline-item:last-child { padding-bottom: 0; }
  .study-root .timeline-item::before { content: ''; position: absolute; left: -33px; top: 6px; width: 10px; height: 10px; background: var(--red); border-radius: 50%; border: 2px solid var(--paper-w); }
  .study-root .timeline-date { font-family: 'Geist Mono', monospace; font-size: 0.7rem; font-weight: 500; color: var(--red); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 2px; }
  .study-root .timeline-title { font-family: 'Newsreader', serif; font-size: 0.95rem; font-weight: 600; color: var(--ink); margin-bottom: 2px; }
  .study-root .timeline-desc { font-size: 0.83rem; color: var(--ink-m); line-height: 1.5; }

  .trend-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; margin: 20px 0; }
  .trend-card { background: var(--white); border-radius: 8px; padding: 24px; border: 1px solid var(--rule); }
  .trend-card .trend-number { font-family: 'Newsreader', serif; font-size: 2rem; font-weight: 700; color: var(--red); line-height: 1; margin-bottom: 8px; }
  .trend-card h4 { font-family: 'Newsreader', serif; font-weight: 600; margin-bottom: 8px; color: var(--ink); }
  .trend-card p { font-size: 0.85rem; color: var(--ink-m); }

  .stats-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 24px 0; }
  .stat-box { background: var(--white); border-radius: 8px; padding: 22px; text-align: center; border: 1px solid var(--rule); }
  .stat-value { font-family: 'Newsreader', serif; font-size: 2rem; font-weight: 700; color: var(--red); }
  .stat-label { font-size: 0.8rem; color: var(--ink-m); margin-top: 4px; }

  .pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
  .pros, .cons { padding: 12px; border-radius: 6px; font-size: 0.83rem; }
  .pros { background: var(--green-s); }
  .cons { background: var(--red-s); }
  .pros h5 { color: var(--green); margin-bottom: 6px; font-family: 'Geist Mono', monospace; font-size: 0.7rem; letter-spacing: .08em; text-transform: uppercase; }
  .cons h5 { color: var(--red); margin-bottom: 6px; font-family: 'Geist Mono', monospace; font-size: 0.7rem; letter-spacing: .08em; text-transform: uppercase; }

  .study-root .filter-bar { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
  .study-root .filter-btn { padding: 8px 18px; border-radius: 3px; border: 1px solid var(--rule); background: var(--white); cursor: pointer; font-family: 'Geist Mono', monospace; font-size: 0.72rem; font-weight: 400; letter-spacing: .06em; transition: all 0.2s; }
  .study-root .filter-btn:hover, .study-root .filter-btn.active { background: var(--red); color: var(--white); border-color: var(--red); }

  .study-footer { text-align: center; padding: 40px 20px; font-family: 'Geist Mono', monospace; color: var(--ink-f); font-size: 0.72rem; letter-spacing: .06em; border-top: 1px solid var(--rule); margin-top: 40px; }
  .study-footer .logo { font-family: 'Newsreader', serif; font-weight: 700; font-size: 1rem; color: var(--ink); margin-bottom: 8px; }

  @media (max-width: 768px) {
    .study-hero h1 { font-size: 1.6rem; }
    .study-hero { padding: 40px 20px; }
    .pros-cons { grid-template-columns: 1fr; }
    .matrix-grid { grid-template-columns: 1fr; }
    .trend-grid { grid-template-columns: 1fr; }
    .stats-row { grid-template-columns: repeat(2, 1fr); }
  }

  .study-root .col-avant { background: #f4f1ec; color: #6b6b6b; }
  .study-root .col-genai { background: #ecfeff; color: #0e7490; }
  .study-root .col-agentic { background: rgba(184,57,14,.06); color: #b8390e; }
  .study-root th.col-avant { background: #6b6b6b; color: #fff; }
  .study-root th.col-genai { background: #0e7490; color: #fff; }
  .study-root th.col-agentic { background: #b8390e; color: #fff; }
  .study-root th.col-avant, .study-root th.col-genai, .study-root th.col-agentic { font-size: 0.72rem; letter-spacing: .08em; }
  .study-root td.col-avant { background: rgba(107,107,107,.04); }
  .study-root td.col-genai { background: rgba(14,116,144,.04); }
  .study-root td.col-agentic { background: rgba(184,57,14,.04); }

  .score-name { font-size: 0.82rem; color: var(--ink-s); min-width: 180px; }
  .score-bar { margin-bottom: 8px; }

  .study-root .pros ul, .study-root .cons ul { list-style: none; padding: 0; }
  .study-root .pros li, .study-root .cons li { padding: 3px 0; position: relative; padding-left: 14px; }
  .study-root .pros li::before { content: '+'; position: absolute; left: 0; color: var(--green); font-weight: 700; }
  .study-root .cons li::before { content: '−'; position: absolute; left: 0; color: var(--red); font-weight: 700; }
