
    :root {
      --max: 760px; --bg:#0b0c0e; --paper:#101114; --fg:#e7e5e0; --muted:#9a978f;
      --line:#2a2a2a; --accent:#8ab4ff; --rule:#3a3a3a;
    }
    html,body { margin:0; background:var(--bg); color:var(--fg); }
    body {
      font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
      line-height: 1.7; font-size: 17px;
    }
    .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }
    a { color: var(--accent); text-decoration: none; border-bottom: 1px solid rgba(138,180,255,.35); }
    a:hover { border-bottom-color: var(--accent); }
    .wrap { max-width: var(--max); margin: 0 auto; padding: 28px 20px 60px; }

    .paper-head { text-align: center; border-bottom: 2px solid var(--rule); padding-bottom: 28px; margin-bottom: 36px; }
    .kicker { font-family: 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; color: var(--accent); margin-bottom: 14px; }
    h1.title { font-size: 1.65rem; font-weight: 700; line-height: 1.35; margin: 0 0 16px; text-wrap: balance; }
    .authors { font-size: 1rem; color: var(--fg); margin: 0 0 6px; }
    .affil { font-size: .88rem; color: var(--muted); font-style: italic; margin: 0 0 4px; }
    .date { font-size: .85rem; color: var(--muted); font-family: 'JetBrains Mono', monospace; margin-top: 10px; }

    .abstract-block { margin: 32px 0 40px; }
    .abstract-label { font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-bottom: 10px; }
    .abstract-text { font-size: .96rem; color: var(--fg); opacity: .92; text-align: justify; }
    .keywords { margin-top: 16px; font-size: .85rem; color: var(--muted); }
    .keywords strong { color: var(--fg); font-weight: 600; }

    article h2 {
      font-size: 1.15rem; font-weight: 700; margin: 2.4em 0 0.9em; color: var(--fg);
      counter-increment: section;
    }
    article h2::before { content: counter(section) ". "; color: var(--accent); }
    article h2.appendix { counter-increment: none; border-top: 2px solid var(--rule); padding-top: 1.2em; margin-top: 3em; }
    article h2.appendix::before { content: "Appendix A. "; }
    article { counter-reset: section; }
    article h3 { font-size: 1rem; font-weight: 700; font-style: italic; margin: 1.6em 0 0.6em; }
    article p { margin: 1em 0; text-align: justify; hyphens: auto; }
    article ul, article ol { margin: 1em 0; padding-left: 26px; }
    article li { margin: 0.5em 0; }

    .eq-block {
      position: relative;
      margin: 1.6em auto; padding: 14px 40px 14px 20px; text-align: center;
      font-family: 'JetBrains Mono', monospace; font-size: .92rem;
      background: var(--paper); border: 1px solid var(--line); border-radius: 6px;
      overflow-x: auto;
    }
    .eq-num { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: .8rem; }
    .eq-terms { display: flex; justify-content: center; align-items: flex-start; gap: 6px; flex-wrap: nowrap; }
    .eq-terms .term { display: flex; flex-direction: column; align-items: center; white-space: nowrap; }
    .eq-terms .term .label { font-size: .72rem; color: var(--muted); font-family: 'Source Serif 4', serif; font-style: italic; margin-top: 4px; }
    .eq-terms .op { align-self: center; padding: 0 2px; }
    @media (max-width: 480px) {
      .eq-terms { flex-wrap: wrap; }
    }

    code { font-family: 'JetBrains Mono', monospace; background: var(--paper); border: 1px solid var(--line); border-radius: 3px; padding: 1px 5px; font-size: .87em; }

    .table-wrap { overflow-x: auto; margin: 1.6em 0; }
    table { width: 100%; border-collapse: collapse; font-size: .86rem; font-family: 'JetBrains Mono', monospace; }
    caption { caption-side: top; text-align: left; font-family: 'Source Serif 4', serif; font-style: italic; font-size: .88rem; color: var(--muted); margin-bottom: 8px; text-align: justify; }
    th, td { padding: 7px 10px; border-bottom: 1px solid var(--line); text-align: left; }
    th { border-bottom: 2px solid var(--rule); font-weight: 700; font-family: 'Source Serif 4', serif; font-style: italic; }
    td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
    tr.total td { border-top: 1px solid var(--rule); font-weight: 600; }

    .note {
      font-size: .85rem; color: var(--muted); background: var(--paper);
      border-left: 2px solid var(--rule); padding: 10px 16px; margin: 1.4em 0;
    }

    .refs { font-size: .88rem; }
    .refs ol { list-style: none; padding-left: 0; counter-reset: ref; }
    .refs li { counter-increment: ref; padding-left: 2.4em; text-indent: -2.4em; margin: 0.9em 0; }
    .refs li::before { content: "[" counter(ref) "] "; color: var(--muted); }

    .download-bar {
      display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
      background: var(--paper); border: 1px solid var(--line); border-radius: 8px;
      padding: 14px 18px; margin: 28px 0; font-family: 'JetBrains Mono', monospace; font-size: .85rem;
    }
    .download-bar a.pdf-btn {
      border: 1px solid var(--accent); border-radius: 6px; padding: 7px 14px;
      color: var(--accent); border-bottom: 1px solid var(--accent); white-space: nowrap;
    }
    .download-bar a.pdf-btn:hover { background: rgba(138,180,255,.1); }

    .back { display:inline-block; margin-top: 36px; font-family: 'JetBrains Mono', monospace; font-size: .85rem; }

    @media (max-width: 600px) {
      body { font-size: 15.5px; }
      h1.title { font-size: 1.35rem; }
    }

    /* Printed / PDF version: classic light academic paper, not the dark
       on-screen theme - this is what --print-to-pdf renders. */
    @media print {
      :root {
        --bg:#ffffff; --paper:#f7f6f3; --fg:#1a1a1a; --muted:#5a5750;
        --line:#d8d5cd; --accent:#1d4ed8; --rule:#a8a49a;
      }
      body { font-size: 10.5pt; }
      .download-bar { display: none; }
      .back { display: none; }
      a { border-bottom: none; color: var(--fg); text-decoration: underline; }
      .kicker { color: #444; }
      article h2::before { color: #444; }
      .wrap { max-width: 100%; padding: 0 6mm; }
      .eq-block, .note, table { break-inside: avoid; }
      h2, h3 { break-after: avoid; }
    }
  
/* Paper-specific additions preserve the site's existing research typography. */
.skip { position:absolute; left:-10000px; }
.skip:focus { left:12px; top:12px; background:var(--bg); padding:10px; z-index:10000; }
.publication-status { color:var(--muted); font-size:.84rem; }
.contents { border:1px solid var(--line); padding:18px 22px; border-radius:6px; font-size:.9rem; }
.contents ol { margin-bottom:0; padding-left:22px; }
.contents a:focus-visible,a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.references-title { counter-increment:none; }
article h2.references-title::before { content:none; }
article p { text-align:left; }
.abstract-text { text-align:left; }
th,td { overflow-wrap:anywhere; }
tbody th { font-family:inherit; font-style:normal; font-weight:400; border-bottom:1px solid var(--line); }
pre { padding:16px; border:1px solid var(--line); background:var(--paper); overflow-x:auto; font-size:.76rem; }
pre code { border:0; padding:0; background:transparent; font-size:inherit; }
.eq-block { font-family:Georgia,'Times New Roman',serif; font-size:1rem; }
.eq-num { position:static; display:block; transform:none; text-align:right; margin-top:5px; }
code { overflow-wrap:anywhere; }
.paper-head .fv-use-notice { text-align:left; }
@media(max-width:600px) {
  .wrap { padding:24px 16px 48px; }
  .eq-block { padding:12px; font-size:.91rem; }
  table { min-width:620px; font-size:.72rem; }
  .contents { padding:14px 16px; }
}
@media print {
  @page { size:A4; margin:18mm 16mm 20mm; }
  #nav-root,.fv-nav,.fv-social-footer,.skip,.contents,.download-bar,.back,.paper-links,.fv-use-notice,.fv-use-footer { display:none!important; }
  .paper-head { margin-bottom:20px; padding-bottom:18px; }
  .abstract-block { margin:22px 0; }
  .wrap { padding:0; }
  table { min-width:0; font-size:7.4pt; }
  th,td { padding:5px; }
  caption { font-size:9pt; }
  .table-wrap,.eq-block,pre { overflow:visible; }
  pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:8pt; break-inside:avoid; }
  .eq-block { font-size:10pt; padding:9px 12px; }
  .eq-num { font-size:8pt; }
  article p { orphans:3; widows:3; }
  h1.title { font-size:19pt; }
  article h2 { font-size:12pt; }
  article h3 { font-size:10.5pt; }
  .refs li { break-inside:avoid; }
}
