
    :root {
      --bg:#f8f7f4;
      --paper:#ffffff;
      --text:#1f2937;
      --muted:#6b7280;
      --line:#e5e7eb;
      --soft:#f3f4f6;
      --blue:#1d4ed8;
      --blue-soft:#dbeafe;
      --green:#065f46;
      --green-soft:#dff3ea;
      --fm:#1e40af;
      --scaf:#0f766e;
      --eval:#7c3aed;
      --max:1240px;
      --shadow:0 8px 28px rgba(15,23,42,.06);
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      background:var(--bg);
      color:var(--text);
      font-family: "Spectral", Georgia, "Times New Roman", serif;
      line-height:1.66;
    }
    a { color:var(--blue); text-decoration:none; }
    a:hover { text-decoration:underline; }
    .topbar {
      position:sticky; top:0; z-index:40;
      background:rgba(248,247,244,.95);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(10px);
    }
    .topbar-inner {
      max-width:var(--max); margin:0 auto; padding:14px 24px;
      display:flex; align-items:center; justify-content:space-between; gap:18px;
    }
    .brand {
      font:600 15px/1.2 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      letter-spacing:.04em; color:#111827;
    }
    .nav {
      display:flex; gap:18px; flex-wrap:wrap;
      font:500 13px/1.2 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .page {
      max-width:var(--max); margin:0 auto; padding:28px 24px 70px;
      display:grid; grid-template-columns:280px minmax(0,1fr); gap:40px;
    }
    .sidebar {
      position:sticky; top:74px; align-self:start; max-height: calc(100vh - 90px); 
      overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; padding-right: 8px; scrollbar-gutter: stable;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .sidebar::-webkit-scrollbar {width: 6px; }
    .sidebar::-webkit-scrollbar-track {background: transparent; }
    .sidebar::-webkit-scrollbar-thumb {background: #d1d5db; border-radius: 999px; }
    .sidebar::-webkit-scrollbar-thumb:hover {background: #9ca3af; }
    .side-card {
      background:var(--paper); border:1px solid var(--line); border-radius:16px;
      padding:18px; margin-bottom:16px; box-shadow:var(--shadow);
    }
    .side-title {
      font-size:12px; text-transform:uppercase; letter-spacing:.08em;
      color:var(--muted); margin-bottom:10px; font-weight:700;
    }
    .toc a { display:block; padding:6px 0; color:#374151; font-size:14px; }
    .toc .sub { padding-left:12px; font-size:13px; color:var(--muted); }
    .toc .sub2 { padding-left:24px; font-size:12.5px; color:var(--muted); }
    .stat-grid {
      display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px;
    }
    .stat {
      background:var(--soft); border:1px solid var(--line); border-radius:12px;
      padding:10px 11px;
    }
    .stat strong {
      display:block; font-size:18px; line-height:1.1; color:#111827;
    }
    .stat span { display:block; margin-top:4px; font-size:12px; color:var(--muted); }
    .main { min-width:0; }
    section[id], .lib-part[id], details.subgroup[id], .library-block[id] { scroll-margin-top:78px; }
    .hero {
      background:var(--paper); border:1px solid var(--line); border-radius:20px;
      padding:34px; margin-bottom:22px; box-shadow:var(--shadow);
    }
    .eyebrow {
      font:700 11px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--muted); text-transform:uppercase; letter-spacing:.12em;
      margin-bottom:14px;
    }
    h1 {
      margin:0 0 12px 0; font-size:44px; line-height:1.08; font-weight:700; letter-spacing:-.02em;
    }
    .subtitle {
      margin:0 0 18px 0; color:#4b5563; font-size:19px; max-width:820px;
    }
    .actions {
      display:flex; flex-wrap:wrap; gap:12px; margin-top:18px;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .btn {
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      padding:10px 14px; border-radius:10px; border:1px solid var(--line);
      font-size:14px; font-weight:600; background:#fff; color:#111827;
    }
    .btn.primary { background:#111827; color:#fff; border-color:#111827; }
    section {
      background:var(--paper); border:1px solid var(--line); border-radius:20px;
      padding:28px 30px; margin-bottom:22px; box-shadow:var(--shadow);
    }
    h2 { margin:0 0 14px 0; font-size:30px; line-height:1.15; }
    h3 {
      margin:0 0 8px 0;
      font:700 23px/1.28 "Spectral", Georgia, "Times New Roman", serif;
      color:#111827;
    }
    p { margin:0 0 14px 0; }
    .lead { font-size:18px; color:#374151; }
    .note {
      margin-top:14px; padding:13px 15px; border-left:3px solid var(--blue);
      background:var(--blue-soft); border-radius:0 12px 12px 0;
      font-family:"Spectral", Georgia, "Times New Roman", serif;
      font-size:15px; color:#1e3a8a;
    }
    .overview-grid {
      display:grid; grid-template-columns:1.15fr .85fr; gap:18px; align-items:stretch;
    }
    .figure-frame {
      border:1px solid var(--line); border-radius:16px; padding:18px; background:#fcfcfd;
    }
    .overview-image {
      display:block; width:100%; height:auto; border-radius:12px;
    }
    .overview-note {
      display:flex; flex-direction:column;
      border:1px solid var(--line); border-radius:16px; padding:18px 20px; background:var(--paper);
      box-shadow:var(--shadow); font:14.5px/1.62 "Spectral", Georgia, "Times New Roman", serif; color:#374151;
    }
    .overview-note-title {
      font:700 12px/1.2 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      text-transform:uppercase; letter-spacing:.08em; color:var(--muted);
      padding-bottom:10px; margin-bottom:12px; border-bottom:1px solid var(--line);
    }
    .overview-note ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; justify-content:space-evenly; flex:1; }
    .overview-note li { margin:0 0 12px; padding-left:14px; position:relative; }
    .overview-note li:last-child { margin-bottom:0; }
    .overview-note li::before { content:""; position:absolute; left:0; top:7px; width:5px; height:5px;
      border-radius:50%; background:#9ca3af; }
    .overview-note strong {
      display:block; margin-bottom:1px; color:#111827;
      font:700 13px/1.3 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      letter-spacing:.01em;
    }
    .tax-grid {
      display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:14px;
    }
    .tax-card {
      border:1px solid var(--line); border-radius:16px; padding:18px; background:#fff;
    }
    .tax-card.fm { border-top:4px solid var(--fm); }
    .tax-card.scaf { border-top:4px solid var(--scaf); }
    .tax-card.eval { border-top:4px solid var(--eval); }
    .tax-card h4 {
      margin:0 0 10px 0;
      font:700 18px/1.3 "Spectral", Georgia, "Times New Roman", serif;
    }
    .tax-card ul { margin:0; padding-left:20px; }
    .tax-card li { margin:8px 0; }
    .mini-count {
      display:inline-block; margin-left:8px; font-size:12px; color:var(--muted);
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .card-grid {
      display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px;
      margin-top:14px;
    }
    .ref-card {
      border:1px solid var(--line); border-radius:16px; padding:16px; background:#fff;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .ref-card strong {
      display:block; font-size:16px; margin-bottom:5px; line-height:1.35;
    }
    .ref-card .meta { font-size:12px; color:var(--muted); margin-bottom:8px; text-transform:none; }
    .ref-card p { font-size:14px; color:#374151; margin-bottom:10px; }
    .toolbar {
      display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:14px 0 18px;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .search-wrap {
      flex:1 1 320px; position:relative;
    }
    .search-wrap input {
      width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:12px;
      background:#fff; font:14px/1.2 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .chip-group { display:flex; gap:8px; flex-wrap:wrap; }
    .chip {
      border:1px solid var(--line); background:#fff; color:#374151;
      border-radius:999px; padding:8px 12px; font-size:13px; cursor:pointer;
    }
    .chip.active { background:#111827; color:#fff; border-color:#111827; }
    .toolbar-meta { font-size:13px; color:var(--muted); margin-left:auto; }
    .library-block {
      padding-top:2px; margin-top:24px; border-top:1px solid var(--line);
    }
    .library-block:first-of-type { margin-top:12px; }
    .block-head {
      display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin:20px 0 12px;
    }
    .block-head p {
      margin:0; font-family:"Spectral", Georgia, "Times New Roman", serif; color:#374151; font-size:15.5px;
      max-width:760px;
    }
    .eval-group-title {
      margin:24px 0 10px; font:700 19px/1.35 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#111827;
    }
    .count-badge {
      flex:none; font:600 12px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:#111827; background:var(--soft); border:1px solid var(--line); border-radius:999px;
      padding:8px 10px; white-space:nowrap;
    }
    .count-badge.small { padding:6px 8px; font-size:11px; }
    .subgroup {
      border:1px solid var(--line); border-radius:14px; padding:0 0 14px; margin:12px 0;
      overflow:hidden; background:#fff;
    }
    .subgroup[open] { box-shadow:0 4px 18px rgba(15,23,42,.04); }
    .subgroup summary {
      list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px;
      padding:14px 16px; background:#fbfbfc; font:600 15px/1.35 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      border-bottom:1px solid var(--line);
    }
    .subgroup summary::-webkit-details-marker { display:none; }
    .sub-desc {
      margin:12px 16px 10px; color:#4b5563; font:15px/1.6 "Spectral", Georgia, "Times New Roman", serif;
    }
    .table-wrap { overflow:auto; }
    table {
      width:100%; border-collapse:collapse;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      font-size:14px;
    }
    th, td {
      padding:11px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top;
    }
    th {
      font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted);
      background:#fcfcfd;
      position:sticky; top:0;
    }
    .paper-table tbody tr:hover { background:#fafafa; }
    td.year { width:72px; color:#4b5563; }
    td.links { white-space:nowrap; color:#4b5563; }
    .muted-link { color:#9ca3af; }
    .two-col {
      display:grid; grid-template-columns:1fr 1fr; gap:18px;
    }
    pre {
      white-space:pre-wrap; word-break:break-word; margin:0;
      font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size:13px; line-height:1.65;
      background:#111827; color:#e5e7eb; padding:18px; border-radius:14px;
    }
    .authors {
      display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .author {
      border:1px solid var(--line); border-radius:14px; padding:14px 15px; background:#fff;
    }
    .author strong { display:block; margin-bottom:4px; }
    .author span { color:var(--muted); font-size:14px; }
    .contact-block {
      margin-top:18px; padding:16px 18px; border:1px solid var(--line); border-radius:14px;
      background:var(--soft); font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .contact-block strong { display:block; margin-bottom:6px; color:#111827; }
    .contact-block .small { font-size:13px; color:var(--muted); margin-bottom:8px; }
    .contact-block .mono {
      font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
      font-size:12.5px; line-height:1.75; color:#374151; word-break:break-word;
    }
    .resource-links {
      display:flex; flex-wrap:wrap; gap:10px; margin-top:12px;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }

    /* Community & engagement */
    .community-head {
      display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
      padding-bottom:22px; margin-bottom:20px; border-bottom:1px solid var(--line);
    }
    .community-kicker {
      margin-bottom:8px;
      font:700 11px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--scaf); text-transform:uppercase; letter-spacing:.12em;
    }
    .community-head h2 { margin-bottom:8px; }
    .community-head p { max-width:720px; color:#4b5563; margin:0; }
    .community-star-cta {
      flex:none; display:inline-flex; align-items:center; gap:9px;
      padding:11px 14px; border-radius:12px; background:#111827; color:#fff;
      border:1px solid #111827;
      font:650 14px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      box-shadow:0 8px 20px rgba(17,24,39,.12);
    }
    .community-star-cta:hover { text-decoration:none; transform:translateY(-1px); }
    .community-star-cta .star-symbol { color:#fbbf24; font-size:17px; }
    .community-star-cta strong {
      min-width:24px; padding-left:8px; border-left:1px solid rgba(255,255,255,.25);
      font-variant-numeric:tabular-nums;
    }
    .engagement-grid {
      display:grid; grid-template-columns:1.05fr .95fr .95fr; gap:14px; margin-bottom:18px;
    }
    .engagement-card {
      border:1px solid var(--line); border-radius:16px; padding:18px; background:#fff;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .engagement-card h3 {
      display:flex; align-items:center; gap:8px; margin:0 0 8px;
      font-size:17px; line-height:1.25;
    }
    .engagement-card > p {
      color:var(--muted); font-size:13px; line-height:1.55; margin:0 0 14px;
    }
    .pulse-grid {
      display:grid; grid-template-columns:repeat(3,1fr); gap:9px;
    }
    .pulse {
      padding:12px 9px; text-align:center; border:1px solid var(--line);
      border-radius:12px; background:var(--soft);
    }
    .pulse strong {
      display:block; font-size:22px; line-height:1.1; color:#111827;
      font-variant-numeric:tabular-nums;
    }
    .pulse span {
      display:block; margin-top:5px; color:var(--muted); font-size:11px;
      text-transform:uppercase; letter-spacing:.06em;
    }
    .pulse-status {
      display:flex; align-items:center; gap:7px; margin-top:11px; color:var(--muted); font-size:12px;
    }
    .pulse-status::before {
      content:""; width:7px; height:7px; border-radius:50%; background:#d1d5db;
    }
    .pulse-status.live::before { background:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.12); }
    .community-links {
      display:grid; gap:9px;
    }
    .community-link {
      display:flex; justify-content:space-between; align-items:center; gap:12px;
      padding:10px 11px; border:1px solid var(--line); border-radius:11px;
      color:#1f2937; background:#fcfcfd; font-size:13px; font-weight:650;
    }
    .community-link:hover {
      text-decoration:none; border-color:#c7d2fe; background:#f8fafc;
    }
    .community-link span:last-child { color:#9ca3af; font-weight:500; }
    .community-link.primary {
      color:#fff; background:#1d4ed8; border-color:#1d4ed8;
    }
    .community-link.primary span:last-child { color:#dbeafe; }
    .discussion-panel {
      display:grid; grid-template-columns:270px minmax(0,1fr); gap:20px;
      padding:20px; border:1px solid var(--line); border-radius:16px;
      background:linear-gradient(135deg,#fbfdff 0%,#f8fafc 100%);
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .discussion-copy h3 { margin:0 0 8px; font-size:18px; }
    .discussion-copy p { color:#4b5563; font-size:13px; line-height:1.6; margin:0 0 12px; }
    .discussion-copy .privacy-note {
      padding:10px 11px; border-radius:10px; background:#eef2ff; color:#3730a3;
      font-size:12px; line-height:1.5;
    }
    .discussion-host {
      min-height:170px; border:1px dashed #cbd5e1; border-radius:13px; background:#fff;
      padding:16px;
    }
    .discussion-placeholder {
      display:flex; min-height:136px; align-items:center; justify-content:center; text-align:center;
      color:var(--muted); font-size:13px; line-height:1.6;
    }
    .discussion-placeholder strong { display:block; color:#374151; margin-bottom:3px; }
    .utterances { max-width:none !important; }

    footer {
      max-width:var(--max); margin:0 auto; padding:0 24px 40px;
      color:var(--muted); font:13px/1.6 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }

    .image-zoom-trigger {
      display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in;
      border-radius:12px;
    }
    .image-zoom-trigger:focus-visible {
      outline:2px solid var(--blue); outline-offset:4px;
    }
    .figure-caption {
      margin-top:12px; color:#374151; font-size:14px;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .zoom-hint {
      margin-top:5px; color:var(--muted); font-size:12px;
      font-family:"IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    .epigraph-text {
      font-size:16px; line-height:1.7; color:#1f2937; font-style:italic;
    }
    .epigraph-author {
      margin-top:10px; text-align:right; color:var(--muted); font-size:13px;
    }
    .image-modal {
      position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center;
      background:rgba(2,6,23,.96); padding:0; overflow:hidden; cursor:zoom-out;
    }
    .image-modal.open { display:flex; }
    .image-modal-inner {
      position:relative; width:100vw; height:100vh; padding:0; cursor:default;
      display:flex; align-items:center; justify-content:center;
    }
    .image-modal img {
      display:block; width:100vw; height:100vh; object-fit:contain;
      border-radius:0; background:transparent; box-shadow:none;
      transition:transform .22s ease; transform-origin:center center; cursor:zoom-in;
    }
    .image-modal img.zoomed {
      width:auto; height:auto; min-width:100vw; min-height:100vh; max-width:none; max-height:none;
      transform:scale(1.15); cursor:zoom-out;
    }
    .image-modal-close {
      position:fixed; top:18px; right:18px; width:44px; height:44px; border:0; border-radius:999px;
      background:rgba(255,255,255,.96); color:#111827; font-size:30px; line-height:1; cursor:pointer; box-shadow:var(--shadow);
    }

    @media (max-width: 980px) {
      .page { grid-template-columns:1fr; }
      .sidebar { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:6px;
        position:static; max-height: none; overflow: visible; padding-right: 0; scrollbar-gutter: auto; }
      .sidebar .side-card { margin-bottom:0; }
      .sidebar .toc { display:none; }
      .overview-grid, .two-col, .tax-grid { grid-template-columns:1fr; }
      .engagement-grid { grid-template-columns:1fr 1fr; }
      .engagement-card:first-child { grid-column:1 / -1; }
      .discussion-panel { grid-template-columns:1fr; }
      .card-grid { grid-template-columns:1fr 1fr; }
    }
    @media (max-width: 760px) {
      .community-head { flex-direction:column; }
      .community-star-cta { width:100%; justify-content:center; }
      .engagement-grid, .discussion-panel { grid-template-columns:1fr; }
      .pulse-grid { grid-template-columns:repeat(3,1fr); }
      h1 { font-size:34px; }
      h2 { font-size:26px; }
      .hero, section { padding:22px; }
      .authors, .card-grid, .stat-grid { grid-template-columns:1fr; }
      .block-head { flex-direction:column; align-items:flex-start; }
    }
  
    /* ---- SE-MMAgents additions ---- */
    :root {
      --mr:#1d4ed8; --mr-soft:#dbeafe;
      --mg:#9333ea; --mg-soft:#f3e8ff;
      --gw:#0f766e; --gw-soft:#ccfbf1;
      --em:#b45309; --em-soft:#fef3c7;
      --bench:#475569; --bench-soft:#e2e8f0;
      --eg:#2f7d4f; --fa:#8e3aa8; --uc:#b4533c;
      --port:#15803d; --port-soft:#dcfce7;
      --cond:#a16207; --cond-soft:#fef9c3;
      --block:#b91c1c; --block-soft:#fee2e2;
      --red:#6b7280; --red-soft:#f3f4f6;
    }
    .hero-author {
      font:600 16px/1.4 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#111827; margin:0 0 4px;
    }
    .hero-meta {
      font:14px/1.5 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--muted); margin-bottom:16px;
    }
    .btn.disabled { color:#9ca3af; border-style:dashed; cursor:not-allowed; }
    .btn.disabled:hover { text-decoration:none; }
    .scenario-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px;
      font:600 12.5px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
    .pill { padding:7px 10px; border-radius:999px; border:1px solid transparent; }
    .pill.mr { background:var(--mr-soft); color:var(--mr); }
    .pill.mg { background:var(--mg-soft); color:var(--mg); }
    .pill.gw { background:var(--gw-soft); color:var(--gw); }
    .pill.em { background:var(--em-soft); color:var(--em); }
    .figure-frame.wide { margin-top:6px; }
    .contrib-list { margin:0; padding:0; list-style:none; counter-reset:c; }
    .contrib-list li { counter-increment:c; position:relative; padding:12px 14px 12px 52px; margin:10px 0;
      border:1px solid var(--line); border-radius:14px; background:#fff;
      font:15px/1.6 "Spectral", Georgia, "Times New Roman", serif; color:#374151; }
    .contrib-list li::before { content:counter(c); position:absolute; left:14px; top:12px; width:26px; height:26px;
      border-radius:50%; background:#111827; color:#fff; font-weight:700; font-size:13px;
      display:flex; align-items:center; justify-content:center; }
    .contrib-list strong { color:#111827; }
    .criteria-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:14px; }
    .crit { border:1px solid var(--line); border-radius:14px; padding:14px; background:#fff;
      font:14px/1.55 "Spectral", Georgia, "Times New Roman", serif; color:#374151; }
    .crit .tag { display:inline-block; font-weight:700; font-size:12px; letter-spacing:.04em; color:#fff;
      background:#2563eb; border-radius:6px; padding:3px 7px; margin-bottom:8px; }
    .crit.sr { border-color:#fca5a5; background:#fff7f7; }
    .crit.sr .tag { background:#dc2626; }
    .crit strong { display:block; color:#111827; font-size:15px; margin-bottom:4px; }
    .stage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:16px; }
    .stage-card { border:1px solid var(--line); border-radius:16px; padding:16px 18px; background:#fff;
      font:14.5px/1.6 "Spectral", Georgia, "Times New Roman", serif; color:#374151; }
    .stage-card.eg { border-top:4px solid var(--eg); }
    .stage-card.fa { border-top:4px solid var(--fa); }
    .stage-card.uc { border-top:4px solid var(--uc); }
    .stage-card h4 { margin:0 0 4px; font:700 17px/1.3 "Spectral", Georgia, "Times New Roman", serif; color:#111827; }
    .stage-card .op { font:12.5px/1.45 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--muted); margin-bottom:10px; }
    .stage-card .factors { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
    .factor { font:600 12.5px/1 "IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace; padding:6px 8px; border-radius:8px;
      border:1px solid var(--line); background:var(--soft); color:#111827; }
    .factor.axis { background:#111827; color:#fff; border-color:#111827; }
    .quad-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .quad { border:1px solid var(--line); border-radius:14px; padding:13px 15px; background:#fff;
      font:14px/1.55 "Spectral", Georgia, "Times New Roman", serif; color:#374151; }
    .quad strong { display:block; margin-bottom:3px; }
    .quad.mr strong { color:var(--mr); } .quad.mg strong { color:var(--mg); }
    .quad.gw strong { color:var(--gw); } .quad.em strong { color:var(--em); }
    .verdict-legend { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 14px;
      font:13px/1.45 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
    .verdict-legend div { flex:1 1 210px; border:1px solid var(--line); border-radius:12px; padding:10px 12px; background:#fff; color:#374151; }
    .v { display:inline-flex; align-items:center; gap:2px; font:700 11.5px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      padding:5px 7px; border-radius:7px; margin:2px 2px; white-space:nowrap; }
    .v sup { font-size:9.5px; font-weight:600; }
    .v.port { background:var(--port-soft); color:var(--port); }
    .v.cond { background:var(--cond-soft); color:var(--cond); }
    .v.block { background:var(--block-soft); color:var(--block); }
    .v.red { background:var(--red-soft); color:var(--red); }
    .verdict-table td, .verdict-table th { text-align:center; vertical-align:middle; }
    .verdict-table td:first-child, .verdict-table th:first-child { text-align:left; }
    .verdict-table td.mech { font-weight:600; color:#111827; white-space:nowrap; }
    .verdict-table tr.group td { background:#fbfbfc; font-style:italic; color:var(--muted); font-weight:500; text-align:left; }
    .footnotes { font:12.5px/1.6 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--muted); margin-top:10px; }
    .tradeoff-table td { font-size:13px; }
    .tradeoff-table td.mech { font-weight:600; color:#111827; }
    .math { white-space:nowrap; }
    .tax-card.mr { border-top:4px solid var(--mr); } .tax-card.mg { border-top:4px solid var(--mg); }
    .tax-card.gw { border-top:4px solid var(--gw); } .tax-card.em { border-top:4px solid var(--em); }
    .tax-card.bench { border-top:4px solid var(--bench); }
    .tax-card .quad-note { font:12.5px/1.5 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--muted); margin:-4px 0 8px; }
    .tax-grid.five { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .role { display:inline-block; min-width:18px; text-align:center; font:700 10.5px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      padding:3px 4px; border-radius:5px; margin-right:4px; vertical-align:1px; }
    .role.A { background:#fee2e2; color:#b91c1c; }
    .role.B { background:#e0e7ff; color:#3730a3; }
    .role.E { background:#dcfce7; color:#166534; }
    td.title-cell .mname { display:block; font-weight:700; color:#111827; }
    td.title-cell .ptitle { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
      color:#4b5563; font-size:13px; line-height:1.45; }
    td.small { font-size:13px; color:#374151; }
    .tf-badge { display:inline-block; margin-left:6px; font:600 10.5px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      padding:3px 6px; border-radius:999px; background:#f1f5f9; color:#475569; border:1px solid var(--line); vertical-align:2px; }
    .chip.mr.active { background:var(--mr); border-color:var(--mr); }
    .chip.mg.active { background:var(--mg); border-color:var(--mg); }
    .chip.gw.active { background:var(--gw); border-color:var(--gw); }
    .chip.em.active { background:var(--em); border-color:var(--em); }
    .chip-sep { width:1px; background:var(--line); margin:0 2px; }
    .copy-btn { position:absolute; top:10px; right:10px; border:1px solid #374151; background:#1f2937; color:#e5e7eb;
      border-radius:8px; padding:6px 10px; font:600 12px/1 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
    .copy-btn:hover { background:#374151; }
    .pre-wrap { position:relative; }
    .legend-row { display:flex; flex-wrap:wrap; gap:14px; font:12.5px/1.5 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--muted); margin:-4px 0 14px; }
    @media (max-width: 980px) {
      .criteria-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .stage-grid { grid-template-columns:1fr; }
    }
    @media (max-width: 760px) {
      .criteria-grid, .quad-grid, .tax-grid.five { grid-template-columns:1fr; }
    }
    th .math { text-transform:none; }
    @media (max-width: 760px) {
      .topbar-inner { flex-direction:column; align-items:flex-start; gap:8px; padding:10px 16px; }
      .nav { flex-wrap:nowrap; overflow-x:auto; max-width:100%; gap:14px; padding-bottom:2px; }
      .nav a { white-space:nowrap; }
      .verdict-table td.mech { white-space:normal; min-width:140px; }
      .page { padding:18px 16px 50px; }
    }

    .lib-part { margin-top:26px; }
    .part-head { display:flex; justify-content:space-between; align-items:center; gap:14px;
      padding-bottom:10px; border-bottom:2px solid #111827; }
    .part-head h3 { margin:0; font-size:22px; }
    .part-desc { margin:12px 0 4px; font:14px/1.6 "IBM Plex Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#4b5563; }
    #all-papers .library-block { margin-top:0; border-top:0; padding-top:0; }
    #all-papers td.title-cell { color:#111827; }
    .subgroup:not([open]) { padding-bottom:0; }
    .subgroup:not([open]) summary { border-bottom:0; }
