    /* ── Eyebrow rows (page-level + card-level share the pattern) ─────────── */
    .eyebrow-row, .card-eyebrow {
      display: flex;
      align-items: center;
      gap: 12px;
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }
    .eyebrow-accent { color: var(--text-secondary); white-space: nowrap; }
    .rule { flex: 1; height: 1px; background: var(--border); }
    .eyebrow-faint { color: var(--text-faint); white-space: nowrap; }


    /* ── Map row ──────────────────────────────────────────────────────────── */
    .map-row {
      display: flex;
      gap: 16px;
      margin-top: 20px;
      align-items: flex-start;
    }
    .card {
      border: none;
      border-radius: 2px;
      background: var(--surface-card);
      box-shadow: var(--card-lift);
    }
    /* The map is its own object — no card behind it. */
    .map-card {
      background: transparent;
      box-shadow: none;
      flex: 1;
      min-width: 0;
      padding: 20px 20px 12px;
      display: flex;
      flex-direction: column;
      position: relative;
    }
    .map-status {
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.06em;
      color: var(--text-muted);
      text-align: center;
      padding: 96px 0;
    }
    .map-status[hidden] { display: none; }
    #mp-detail[hidden] { display: none; }
    #hemicycle {
      display: block;
      width: 100%;
      height: auto;
    }
    #hemicycle[hidden] { display: none; } /* author display:block must not defeat [hidden] */
    #hemicycle.is-in { animation: map-in 0.3s var(--ease-standard) both; }
    @keyframes map-in {
      from { opacity: 0; transform: translateY(5px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .seat {
      transform-box: fill-box;
      transform-origin: center;
      transition: transform 0.12s ease, opacity 0.25s ease;
      cursor: pointer;
      outline: none;
    }
    .seat:focus { outline: none; }
    .seat:hover, .seat:focus-visible, .seat.selected {
      transform: scale(1.5);
      stroke: var(--highlight);
      stroke-width: 2;
    }
    .seat:active { transform: scale(1.3); }
    .seat.vacant {
      /* transparent (not none): fill:none'da iç boşluk tıklama almaz —
         SVG visiblePainted yalnız boyalı alanı hedefler (wedge/tap-target idiomu) */
      fill: transparent;
      stroke: var(--text-faint);
      stroke-width: 1.2;
    }
    .seat.vacant:hover, .seat.vacant:focus-visible, .seat.vacant.selected { stroke: var(--highlight); stroke-width: 2; }
    /* coalition link: seats outside the selection dim (must precede .fade-out so
       zoom's opacity:0 wins over this 0.6 for hidden seats); stays interactive */
    .seat.dimmed { opacity: 0.6; }
    .seat.dimmed:hover, .seat.dimmed:focus-visible, .seat.dimmed.selected { opacity: 1; }
    .seat.dim { opacity: 0.16; }
    .seat.dim:hover, .seat.dim:focus-visible { opacity: 1; }
    .seat.fade-out { opacity: 0; pointer-events: none; }

    /* ── Mobile two-stage zoom ────────────────────────────────────────────── */
    #seat-layer {
      transform-origin: 0 0;
      transition: transform 0.32s var(--ease-standard);
    }
    #wedge-layer path { fill: transparent; cursor: pointer; }
    #hemicycle.zoomed #wedge-layer { display: none; }
    .tap-target { fill: transparent; cursor: pointer; }
    .zoom-back {
      position: absolute;
      top: 6px;
      inset-inline-start: 6px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      height: 28px;
      padding: 0 12px;
      border: none;
      border-radius: 2px;
      background: var(--surface-hover);
      color: var(--text-primary);
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.07em;
      text-transform: uppercase;
      cursor: pointer;
      transition: opacity 0.12s ease;
    }
    .zoom-back:hover { color: var(--text-heading); }
    .zoom-back:active { opacity: 0.7; }
    .zoom-back[hidden] { display: none; }
    .zoom-chip {
      position: absolute;
      top: 6px;
      inset-inline-end: 6px;
      display: inline-flex;
      align-items: center;
      height: 28px;
      padding: 0 12px;
      border: 1px solid var(--border-control);
      border-radius: 2px;
      background: var(--surface-hover);
      color: var(--text-heading);
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.07em;
      text-transform: uppercase;
      font-variant-numeric: tabular-nums;
    }
    .zoom-chip[hidden] { display: none; }

    /* ── MP card (shared: desktop panel + mobile sheet) ───────────────────── */
    .mp-close {
      border: none;
      background: transparent;
      color: var(--text-muted);
      font-family: var(--font-mono);
      font-size: var(--fs-ui);
      cursor: pointer;
      padding: 2px 4px;
      transition: opacity 0.12s ease;
    }
    .mp-close:hover { color: var(--text-primary); }
    .mp-close:active { opacity: 0.7; }
    .mp-header {
      display: flex;
      gap: 14px;
      align-items: flex-start;
      margin-top: 12px;
    }
    .mp-photo {
      width: 52px;
      height: 52px;
      border-radius: 9999px;
      object-fit: cover;
      flex: none;
      border: 2px solid var(--border);
      background: var(--surface-hover);
    }
    .mp-header-text { flex: 1; min-width: 0; }
    .mp-name {
      font-family: var(--font-sans);
      font-weight: 400;
      font-size: var(--fs-lead);
      letter-spacing: -0.015em;
      line-height: 1.3;
      color: var(--text-heading);
    }
    .mp-meta {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 5px;
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: var(--text-secondary);
      font-variant-numeric: tabular-nums;
    }
    .mp-dot { width: 7px; height: 7px; border-radius: 9999px; flex: none; }
    .mp-meta-sep { color: var(--text-faint); }
    .mp-info {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 12px;
    }
    .mp-tag {
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--text-muted);
      background: var(--surface-hover);
      border: none;
      border-radius: 2px;
      padding: 4px 8px;
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    .pill-a {
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--text-muted);
      background: var(--surface-hover);
      border: none;
      border-radius: 2px;
      padding: 4px 9px;
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    .pill-a.match {
      background: var(--surface-hover);
      color: var(--text-heading);
    }
    .mp-bio {
      margin-top: 12px;
      font-family: var(--font-sans);
      font-size: var(--fs-snippet);
      line-height: 1.6;
      color: var(--text-body);
      display: -webkit-box;
      -webkit-line-clamp: 4;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .mp-source {
      margin-top: 8px;
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      letter-spacing: 0.04em;
      color: var(--text-faint);
      opacity: 0.7;
    }
    /* "Profiles are in Turkish." — other-language pages only, above the Turkish biography */
    .mp-tr-note {
      margin-top: 12px;
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      letter-spacing: 0.04em;
      color: var(--text-faint);
    }
    .mp-tr-note + .mp-bio, .mp-tr-note + .hist-row { margin-top: 4px; }
    .mp-hist-label {
      margin-top: 16px;
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--text-secondary);
    }
    .hist-row {
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-areas: "date link" "text text";
      gap: 2px 10px;
      padding: 9px 0;
      border-bottom: 1px solid var(--border);
    }
    .hist-date {
      grid-area: date;
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      color: var(--text-faint);
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    .hist-link {
      grid-area: link;
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: var(--text-secondary);
      text-decoration: none;
      white-space: nowrap;
      transition: opacity 0.12s ease;
    }
    .hist-link:hover { opacity: 0.75; }
    .hist-link:active { opacity: 0.6; }
    .hist-text {
      grid-area: text;
      font-family: var(--font-sans);
      font-size: var(--fs-card);
      line-height: 1.5;
      color: var(--text-body);
    }
    .mp-nohist {
      margin-top: 14px;
      font-family: var(--font-sans);
      font-size: var(--fs-card);
      line-height: 1.7;
      color: var(--text-muted);
    }

    /* ── Mobile bottom sheet ──────────────────────────────────────────────── */
    /* mobile MP card — inline between the map and the meter (owner request
       2026-07-06, replaces the earlier bottom sheet) */
    .mp-inline {
      margin-top: 16px;
      padding: 14px 18px 18px;
      animation: card-in 0.22s var(--ease-standard) both;
    }
    .mp-inline[hidden] { display: none; }
    @keyframes card-in {
      from { opacity: 0; transform: translateY(5px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .mp-inline .mp-header { margin-top: 10px; }
    .mp-inline .mp-photo { width: 44px; height: 44px; }
    .mp-inline .mp-name {
      font-size: var(--fs-body);
    }
    .mp-inline .mp-bio { -webkit-line-clamp: 3;
      font-size: var(--fs-snippet);
    }
    .mp-inline .mp-hist-label { margin-top: 14px; }
    .mp-inline .hist-row { display: flex; align-items: baseline; gap: 10px; }
    .mp-inline .hist-date { order: 0; }
    .mp-inline .hist-text { order: 1; flex: 1;
      font-size: var(--fs-snippet);
    }
    .mp-inline .hist-link { order: 2; }
    .mp-inline .mp-nohist { margin-top: 12px;
      font-size: var(--fs-snippet);
    }

    /* ── MP profile panel (desktop) ───────────────────────────────────────── */
    .mp-panel {
      flex: 0 0 340px;
      width: 340px;
      padding: 16px 18px;
      display: flex;
      flex-direction: column;
    }
    .panel-empty {
      flex: 1;
      display: flex;
      flex-direction: column;
    }
    .panel-empty[hidden] { display: none; } /* author display:flex must not defeat [hidden] */
    .panel-empty-center {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      gap: 14px;
      padding: 24px 10px;
    }
    .panel-empty-text {
      font-family: var(--font-sans);
      font-size: var(--fs-body);
      line-height: 1.7;
      color: var(--text-muted);
      max-width: 24ch;
    }
    .panel-empty-micro {
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      letter-spacing: 0.04em;
      color: var(--text-faint);
    }

    .meter-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 3px 1px;
      margin-top: 10px;
      min-height: 26px;
    }
    /* FilterPill: borderless at rest (transparent 1px border reserves the
       active border's space so toggling never shifts layout), colored 5px dot */
    .meter-pill {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px 7px;
      border: 1px solid transparent;
      border-radius: 2px;
      background: transparent;
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--text-muted);
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      font-variant-numeric: tabular-nums;
    }
    .meter-pill:hover { background: var(--surface-hover); color: var(--text-secondary); }
    .meter-pill:active { transform: translateY(0.5px); }
    .meter-pill.active {
      border-color: var(--text-muted);
      background: var(--surface-hover);
      color: var(--text-heading);
    }
    .meter-dot { width: 5px; height: 5px; border-radius: 9999px; flex: none; }
    /* The meter, its tick labels and the range slider are drawn left to right in every language, like the
       hemicycle they describe (positions are set as left: %); on the Arabic page only these stay LTR. */
    .meter-track, .meter-ticklabels, .lens-slider-wrap { direction: ltr; }
    .meter-track {
      position: relative;
      height: 14px;
      margin-top: 10px;
      background: var(--surface-hover);
      border-radius: 2px;
      overflow: hidden;
    }
    .meter-fill { display: flex; height: 100%; }
    /* widths are set imperatively; NO width transition (transform-only house rule) */
    .meter-seg { height: 100%; }
    .meter-tick {
      position: absolute;
      top: 0;
      bottom: 0;
      width: 1px;
      background: var(--border-control);
    }
    .meter-ticklabels {
      position: relative;
      height: 12px;
      margin-top: 6px;
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--text-muted);
      font-variant-numeric: tabular-nums;
    }
    .meter-ticklabels span { position: absolute; top: 0; white-space: nowrap; }
    .tl-200 { right: 66.667%; }
    .tl-360 { right: 40%; }
    .tl-400 { left: 66.667%; }
    .tl-600 { right: 0; }
    .meter-total {
      margin-top: 10px;
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      letter-spacing: 0.04em;
      color: var(--text-secondary);
      font-variant-numeric: tabular-nums;
    }
    .meter-count { color: var(--text-heading);
      font-size: var(--fs-body);
      font-variant-numeric: tabular-nums;
    }
    .meter-caption {
      margin-top: 8px;
      font-family: var(--font-sans);
      font-size: var(--fs-label);
      letter-spacing: 0.04em;
      color: var(--text-secondary);
      font-variant-numeric: tabular-nums;
    }
    .cap-line { display: block; line-height: 1.8; }

    /* ── Map lens control — below the hemicycle ─────────────────────────── */
    .map-lens {
      display: flex;
      align-items: flex-start;
      gap: 8px 12px;
      flex-wrap: wrap;
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid var(--border);
    }
    .lens-pills { display: flex; gap: 2px; flex: 0 0 auto; }
    .lens-pill {
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--text-muted);
      background: transparent;
      border: 1px solid transparent;
      border-radius: 2px;
      padding: 3px 8px;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      transition: color 0.12s ease, background 0.12s ease, border-color 0.12s ease, transform 0.12s ease;
      font-variant-numeric: tabular-nums;
    }
    .lens-pill:hover { background: var(--surface-hover); color: var(--text-secondary); }
    .lens-pill:active { transform: translateY(0.5px); }
    .lens-pill.active { border-color: var(--text-muted); background: var(--surface-hover); color: var(--text-heading); }
    .lens-readout {
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.04em;
      color: var(--text-secondary);
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    .lens-readout .ro-count { color: var(--text-heading); }
    .lens-reset {
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--text-muted);
      background: transparent;
      border: none;
      cursor: pointer;
      padding: 2px 4px;
      transition: color 0.12s ease;
    }
    .lens-reset:hover { color: var(--text-heading); }
    .lens-reset[hidden] { display: none; }
    .lens-foot[hidden] { display: none; }
    .lens-meter { flex-basis: 100%; }
    #lens-meter[hidden] { display: none; }
    #lens-slider-wrap[hidden] { display: none; }
    #anayasa-panel[hidden] { display: none; }
    .lens-city {
      font-family: var(--font-sans);
      font-size: var(--fs-meta);
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--text-muted);
      background: transparent;
      border: 1px solid var(--border-control);
      border-radius: 2px;
      padding-block: 4px;
      padding-inline: 9px 24px;
      max-width: 130px;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238a867c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 8px center;
      transition: color 0.12s ease, border-color 0.12s ease;
      flex: 0 0 auto;
      margin-inline-start: auto;
    }
    [dir="rtl"] .lens-city { background-position: left 8px center; }
    .lens-city:hover { color: var(--text-primary); border-color: var(--text-faint); }
    .lens-city.active { border-color: var(--text-muted); color: var(--text-heading); }
    .lens-city option {
      color: var(--text-primary);
      background: var(--surface-raised);
      text-transform: none;
      letter-spacing: normal;
    }
    .lens-foot {
      flex-basis: 100%;
      display: flex;
      align-items: baseline;
      gap: 12px;
    }
    .lens-slider-wrap { position: relative; flex: 1 1 130px; min-width: 120px; padding: 0 6px; }
    .rslider { position: relative; height: 22px; touch-action: none; }
    .rs-rail {
      position: absolute;
      top: 9px;
      left: 0;
      right: 0;
      height: 3px;
      background: var(--surface-hover);
      border-radius: 2px;
    }
    .rs-fill {
      position: absolute;
      top: 9px;
      height: 3px;
      background: var(--text-muted);
      border-radius: 2px;
    }
    .rs-handle {
      position: absolute;
      top: 4px;
      width: 13px;
      height: 13px;
      margin-inline-start: -6.5px; /* the slider is direction: ltr in every language */
      border-radius: 9999px;
      background: var(--surface-base);
      border: 2px solid var(--text-secondary);
      cursor: grab;
      padding: 0;
      box-shadow: 0 1px 3px rgba(0,0,0,0.35);
      touch-action: none;
      transition: transform 0.1s ease;
    }
    html.light .rs-handle { background: var(--surface-card); }
    .rs-handle:active { cursor: grabbing; transform: scale(1.15); }
    .rs-axis {
      position: relative;
      height: 13px;
      margin-top: 1px;
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      letter-spacing: 0.04em;
      color: var(--text-faint);
      font-variant-numeric: tabular-nums;
    }
    .rs-axis span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
    .rs-axis span.lbl-cat { text-transform: uppercase; }

    /* ── Meclis özeti (summary panel + mobile card) ───────────────────────── */
    .stat-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px 12px;
      margin-top: 16px;
    }
    .stat-box {
      padding: 0;
    }
    .stat-label {
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--text-faint);
    }
    .stat-num {
      font-family: var(--font-sans);
      font-size: var(--fs-title);
      line-height: 1.1;
      color: var(--text-heading);
      margin-top: 3px;
      font-variant-numeric: tabular-nums;
    }
    .stat-sub {
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      letter-spacing: 0.03em;
      color: var(--text-faint);
      margin-top: 4px;
      line-height: 1.5;
      font-variant-numeric: tabular-nums;
    }
    .stat-sub b { color: var(--text-secondary); font-weight: 400; }
    .ozet-sub-label {
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-top: 18px;
    }
    .ozet-sub-label .cmp { color: var(--text-faint); }
    .edu-table { margin-top: 8px; }
    .edu-row {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 5px 0;
    }
    .edu-name {
      flex: 0 0 78px;
      font-family: var(--font-sans);
      font-size: var(--fs-label);
      letter-spacing: 0.02em;
      color: var(--text-muted);
    }
    .edu-track {
      flex: 1;
      height: 4px;
      background: var(--surface-hover);
      border-radius: 2px;
      overflow: hidden;
    }
    .edu-bar {
      display: block;
      height: 100%;
      background: var(--text-secondary);
      border-radius: 2px;
    }
    .edu-pct {
      flex: 0 0 28px;
      text-align: end;
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      color: var(--text-secondary);
      font-variant-numeric: tabular-nums;
    }
    .edu-base {
      flex: 0 0 28px;
      text-align: end;
      font-family: var(--font-mono);
      font-size: var(--fs-label);
      color: var(--text-faint);
      font-variant-numeric: tabular-nums;
    }
    .ozet-empty {
      margin-top: 14px;
      font-family: var(--font-sans);
      font-size: var(--fs-card);
      line-height: 1.6;
      color: var(--text-muted);
    }
    .ozet-card { margin-top: 12px; padding: 16px 18px 18px; }
    .ozet-card[hidden] { display: none; }
    @media (min-width: 841px) { .ozet-card { display: none; } }

    @media (max-width: 840px) {
      .eyebrow-row { padding: 14px 16px 0; }

      .map-row { display: block; margin-top: 0; }
      .map-card {
        border: none;
        border-radius: 0;
        background: transparent;
        padding: 14px 14px 4px;
      }
      .mp-panel { display: none; }
      .eyebrow-row { display: none; }

      .meter-track { height: 8px; }
      .meter-ticklabels { display: none; }

      .anayasa-card {
        border: none;
        border-radius: 0;
        background: transparent;
        padding: 12px 16px 0;
      }
      #anayasa-mobile[hidden] { display: none; }

      .map-lens { gap: 8px 10px; flex-wrap: wrap; }
      .lens-city { flex: 1 1 100%; } /* mobilde il seçimi kendi satırında — her dilde aynı yerleşim (2026-09-24) */
      .lens-slider-wrap { order: 1; flex: 1 1 100%; }
      .lens-meter { order: 1; }
      .lens-foot { order: 2; }
    }

    /* ── Desktop: no wedge stage / zoom overlays ──────────────────────────── */
    @media (min-width: 841px) {
      #wedge-layer { display: none; }
      .zoom-back, .zoom-chip { display: none; }
      .mp-inline { display: none; }
      .anayasa-card { display: none; }
    }
