/* ============================================================
       TREE SECTION
       ============================================================ */
    .tree-section { padding: var(--space-9) 0 var(--space-9); background: var(--color-surface); }
    .tree-card {
      max-width: 880px;
      margin: 0 auto;
      background: var(--color-surface-elevated);
      border: var(--border-thin);
      border-radius: var(--radius-md);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
    }
    .tree-progress {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-3);
      padding: var(--space-5) var(--space-6) 0;
    }
    .tree-progress__step {
      display: flex;
      flex-direction: column;
      gap: var(--space-2);
    }
    .tree-progress__bar {
      height: 3px;
      background: var(--color-hairline);
      border-radius: var(--radius-pill);
      transition: background var(--duration-base) var(--ease-out);
    }
    .tree-progress__step[data-state="done"] .tree-progress__bar,
    .tree-progress__step[data-state="active"] .tree-progress__bar { background: var(--color-brand-orange); }
    .tree-progress__label {
      font-family: var(--font-mono);
      font-size: var(--text-xs);
      letter-spacing: -0.005em;
      color: var(--color-text-subtle);
    }
    .tree-progress__step[data-state="done"] .tree-progress__label,
    .tree-progress__step[data-state="active"] .tree-progress__label {
      color: var(--color-ink); font-weight: var(--weight-semibold);
    }

    .tree-trail {
      padding: var(--space-5) var(--space-6) 0;
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-2);
      align-items: center;
    }
    .tree-trail__label {
      font-family: var(--font-mono);
      font-size: var(--text-xs);
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      color: var(--color-text-muted);
      margin-right: var(--space-2);
    }
    .tree-trail__chip {
      display: inline-flex;
      align-items: center;
      gap: var(--space-2);
      padding: 4px 10px 4px 8px;
      background: var(--color-surface);
      border: 1px solid var(--color-hairline-strong);
      border-radius: var(--radius-pill);
      font-size: var(--text-xs);
      color: var(--color-text);
      cursor: pointer;
      transition: all var(--duration-fast) var(--ease-out);
      font-family: var(--font-sans);
    }
    .tree-trail__chip:hover {
      border-color: var(--color-brand-orange);
      color: var(--color-brand-orange-deep);
    }
    .tree-trail__chip-num {
      font-family: var(--font-mono);
      color: var(--color-text-subtle);
    }

    .tree-stage { padding: var(--space-7) var(--space-6) var(--space-7); }
    @media (min-width: 640px) { .tree-stage { padding: var(--space-8); } }

    .tree-q__title {
      font-family: var(--font-serif);
      font-size: clamp(1.5rem, 2.4vw, 2rem);
      color: var(--color-ink);
      letter-spacing: -0.02em;
      line-height: 1.15;
      margin-bottom: var(--space-3);
    }
    .tree-q__sub {
      font-size: var(--text-base);
      color: var(--color-text-muted);
      line-height: 1.55;
      margin-bottom: var(--space-6);
      max-width: 56ch;
    }
    .tree-q__options {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--space-3);
    }
    @media (min-width: 640px) { .tree-q__options { grid-template-columns: 1fr 1fr; } }

    .tree-opt {
      display: flex;
      align-items: flex-start;
      gap: var(--space-4);
      padding: var(--space-4) var(--space-5);
      background: var(--color-surface);
      border: 1px solid var(--color-hairline-strong);
      border-radius: var(--radius-md);
      cursor: pointer;
      transition: all var(--duration-fast) var(--ease-out);
      text-align: left;
      font-family: inherit;
      width: 100%;
      position: relative;
    }
    .tree-opt:hover {
      border-color: var(--color-brand-orange);
      background: color-mix(in oklab, var(--color-brand-orange) 5%, var(--color-surface-elevated));
      transform: translateX(2px);
    }
    .tree-opt__body { flex: 1; display: flex; flex-direction: column; gap: var(--space-1); }
    .tree-opt__label {
      display: block;
      font-family: var(--font-serif);
      font-size: var(--text-lg);
      font-weight: var(--weight-semibold);
      color: var(--color-ink);
      letter-spacing: -0.01em;
      line-height: 1.2;
    }
    .tree-opt__desc {
      display: block;
      font-size: var(--text-sm);
      color: var(--color-text-muted);
      line-height: 1.5;
    }
    .tree-opt__arrow {
      flex-shrink: 0;
      color: var(--color-text-subtle);
      transition: transform var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);
      padding-top: 4px;
    }
    .tree-opt:hover .tree-opt__arrow {
      color: var(--color-brand-orange);
      transform: translateX(3px);
    }

    /* ============================================================
       OUTCOME
       ============================================================ */
    .tree-outcome { display: grid; gap: var(--space-5); }
    .tree-outcome__badge {
      display: inline-flex;
      align-items: center;
      gap: var(--space-2);
      padding: 6px 14px;
      border-radius: var(--radius-pill);
      font-family: var(--font-mono);
      font-size: var(--text-xs);
      letter-spacing: -0.005em;
      width: max-content;
    }
    .tree-outcome__badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
    .tree-outcome[data-verdict="qualifies"] .tree-outcome__badge { background: color-mix(in oklab, var(--color-success) 14%, var(--color-surface)); color: var(--color-success); }
    .tree-outcome[data-verdict="qualifies"] .tree-outcome__badge::before { background: var(--color-success); }
    .tree-outcome[data-verdict="care"] .tree-outcome__badge { background: color-mix(in oklab, var(--color-warning) 16%, var(--color-surface)); color: var(--color-warning); }
    .tree-outcome[data-verdict="care"] .tree-outcome__badge::before { background: var(--color-warning); }
    .tree-outcome[data-verdict="no"] .tree-outcome__badge { background: color-mix(in oklab, var(--color-danger) 12%, var(--color-surface)); color: var(--color-danger); }
    .tree-outcome[data-verdict="no"] .tree-outcome__badge::before { background: var(--color-danger); }
    .tree-outcome[data-verdict="partner"] .tree-outcome__badge { background: color-mix(in oklab, var(--color-brand-navy) 12%, var(--color-surface)); color: var(--color-brand-navy); }
    .tree-outcome[data-verdict="partner"] .tree-outcome__badge::before { background: var(--color-brand-navy); }

    .tree-outcome__title {
      font-family: var(--font-serif);
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      color: var(--color-ink);
      letter-spacing: -0.02em;
      line-height: 1.1;
      text-wrap: balance;
    }
    .tree-outcome__lead {
      font-size: var(--text-lg);
      line-height: var(--leading-body);
      color: var(--color-text);
      max-width: 62ch;
    }
    .tree-outcome__cites {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-3);
      padding-top: var(--space-4);
      border-top: var(--border-thin);
    }
    .tree-outcome__cite {
      display: inline-flex;
      align-items: center;
      gap: var(--space-2);
      padding: 4px 10px;
      background: var(--color-surface);
      border: var(--border-thin);
      border-radius: var(--radius-pill);
      font-family: var(--font-mono);
      font-size: var(--text-xs);
      color: var(--color-ink);
      letter-spacing: -0.005em;
    }
    .tree-outcome__cite::before {
      content: "";
      color: var(--color-brand-orange);
      font-family: var(--font-serif);
      font-size: 13px;
    }

    .tree-outcome__next {
      display: grid;
      gap: var(--space-3);
      padding-top: var(--space-5);
      border-top: var(--border-thin);
    }
    .tree-outcome__next h4 {
      font-family: var(--font-sans);
      font-size: var(--text-xs);
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      color: var(--color-text-muted);
      font-weight: var(--weight-semibold);
    }
    .tree-outcome__next-item {
      display: flex;
      gap: var(--space-3);
      font-size: var(--text-base);
      color: var(--color-text);
      line-height: 1.55;
      align-items: flex-start;
    }
    .tree-outcome__next-item::before {
      content: "→";
      color: var(--color-brand-orange);
      font-weight: var(--weight-semibold);
      flex-shrink: 0;
    }
    .tree-outcome__actions {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-4);
      padding-top: var(--space-5);
      align-items: center;
    }
    .tree-outcome__reset {
      margin-left: auto;
      font-family: var(--font-sans);
      font-size: var(--text-sm);
      color: var(--color-text-muted);
      background: transparent;
      border: none;
      cursor: pointer;
      padding: var(--space-2) 0;
      display: inline-flex;
      align-items: center;
      gap: var(--space-2);
    }
    .tree-outcome__reset:hover { color: var(--color-ink); }

    /* ============================================================
       REFERENCE TABLE
       ============================================================ */
    .reference {
      padding: var(--space-9) 0;
      background: var(--color-surface-sunken);
      border-top: var(--border-thin);
    }
    .reference h2 {
      font-size: clamp(1.8rem, 3vw, 2.4rem);
      letter-spacing: var(--tracking-tight);
      color: var(--color-ink);
      margin-bottom: var(--space-3);
      text-wrap: balance;
    }
    .reference__lead {
      font-size: var(--text-lg);
      color: var(--color-text);
      max-width: 64ch;
      margin-bottom: var(--space-7);
      line-height: var(--leading-body);
    }
    .ref-table {
      width: 100%;
      border-collapse: collapse;
      background: var(--color-surface-elevated);
      border: var(--border-thin);
      border-radius: var(--radius-md);
      overflow: hidden;
      font-size: var(--text-sm);
    }
    .ref-table thead th {
      text-align: left;
      padding: var(--space-4) var(--space-5);
      background: var(--color-surface);
      border-bottom: var(--border-thin);
      font-family: var(--font-sans);
      font-size: var(--text-xs);
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      color: var(--color-text-muted);
      font-weight: var(--weight-semibold);
    }
    .ref-table tbody td {
      padding: var(--space-5);
      border-bottom: var(--border-thin);
      vertical-align: top;
      line-height: 1.55;
    }
    .ref-table tbody tr:last-child td { border-bottom: none; }
    .ref-table tbody tr:hover { background: color-mix(in oklab, var(--color-brand-orange) 3%, transparent); }
    .ref-table__name {
      font-family: var(--font-serif);
      font-size: var(--text-base);
      color: var(--color-ink);
      font-weight: var(--weight-semibold);
      letter-spacing: -0.01em;
      white-space: nowrap;
    }
    .ref-table__desc { color: var(--color-text-muted); max-width: 28ch; }
    .ref-table__verdict {
      display: inline-flex;
      align-items: center;
      gap: var(--space-2);
      padding: 3px 10px;
      border-radius: var(--radius-sm);
      font-family: var(--font-mono);
      font-size: var(--text-xs);
      letter-spacing: -0.005em;
      white-space: nowrap;
    }
    .ref-table__verdict::before { content: ""; width: 6px; height: 6px; border-radius: 50%; }
    .ref-table__verdict[data-v="yes"] { background: color-mix(in oklab, var(--color-success) 14%, var(--color-surface)); color: var(--color-success); }
    .ref-table__verdict[data-v="yes"]::before { background: var(--color-success); }
    .ref-table__verdict[data-v="care"] { background: color-mix(in oklab, var(--color-warning) 16%, var(--color-surface)); color: var(--color-warning); }
    .ref-table__verdict[data-v="care"]::before { background: var(--color-warning); }
    .ref-table__verdict[data-v="no"] { background: color-mix(in oklab, var(--color-danger) 12%, var(--color-surface)); color: var(--color-danger); }
    .ref-table__verdict[data-v="no"]::before { background: var(--color-danger); }
    .ref-table__note { color: var(--color-text-muted); font-size: var(--text-sm); }
    .ref-table__cite { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-subtle); white-space: nowrap; }

    @media (max-width: 767px) {
      .ref-table thead { display: none; }
      .ref-table, .ref-table tbody, .ref-table tr, .ref-table td { display: block; width: 100%; }
      .ref-table tbody tr {
        padding: var(--space-5);
        border-bottom: 1px solid var(--color-hairline);
      }
      .ref-table tbody tr:last-child { border-bottom: none; }
      .ref-table tbody td { padding: 0 0 var(--space-3); border: none; }
      .ref-table tbody td.ref-table__name-cell { font-size: var(--text-lg); margin-bottom: var(--space-2); }
      .ref-table tbody td.ref-table__verdict-cell { padding-bottom: var(--space-4); }
    }