:root{--bg:#f7f5f0;--surface:#fff;--ink:#16181d;--muted:#5b616e;--line:#e3dfd6;--accent:#4338ca;--accent-soft:#eef0ff;--chip:#f1efe9;--warn:#9a5b00;--warn-soft:#fff6e5}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0f1115;--surface:#171a21;--ink:#eceef2;--muted:#9aa1ad;--line:#2a2f3a;--accent:#a5b4fc;--accent-soft:#1e2140;--chip:#20242d;--warn:#f5c56b;--warn-soft:#2a2210}}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden;overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.top a{color:var(--muted);text-decoration:none;font-size:14px;font-weight:500}
.top a:hover{color:var(--accent)}
.top .brand{color:var(--ink);font-weight:700}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{height:38px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:500 14px Inter,sans-serif;cursor:pointer;transition:border-color .2s,transform .15s}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn:active{transform:scale(.97)}
header.paper-head{padding:64px 0 36px;border-bottom:1px solid var(--line);margin-bottom:40px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
h1{font-family:"Source Serif 4",Georgia,serif;font-weight:700;font-size:clamp(30px,4.6vw,48px);line-height:1.12;letter-spacing:-.015em;margin:14px 0 22px;max-width:24ch}
.byline{font-size:15px;color:var(--muted);line-height:1.7}
.byline strong{color:var(--ink)}
.status{display:inline-block;margin-top:16px;font-size:13px;background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:6px 12px}
.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding-bottom:72px}
.toc{font-size:13px;line-height:1.5}
.toc b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.toc a{display:block;color:var(--muted);text-decoration:none;padding:5px 0 5px 12px;border-left:2px solid var(--line)}
.toc a:hover{color:var(--accent);border-left-color:var(--accent)}
article{font-family:"Source Serif 4",Georgia,serif;font-size:19px;line-height:1.7;max-width:70ch}
article h2{font-size:28px;line-height:1.25;margin:52px 0 16px;font-weight:600;scroll-margin-top:24px}
article h3{font-family:Inter,sans-serif;font-size:17px;font-weight:600;margin:32px 0 10px}
article p{margin:0 0 18px}
article ol,article ul{margin:0 0 18px 1.3em}
article li{margin-bottom:8px}
article a{color:var(--accent)}
.abstract{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px 30px;margin-bottom:12px}
.abstract h2{margin-top:0;font-size:22px}
.kw{font-family:Inter,sans-serif;font-size:14px;color:var(--muted)}
.table{overflow-x:auto;overflow-y:hidden;margin:6px 0 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;background:var(--chip)}
tr:last-child td{border-bottom:0}
.ph td{color:var(--muted);font-style:italic}
.flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:Inter,sans-serif;font-size:13px;margin:8px 0 10px}
.flow div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;line-height:1.35}
.flow div small{display:block;color:var(--muted)}
.flow .arrow{border:0;background:none;padding:0;color:var(--muted)}
.flow .opt{border-style:dashed}
.caption{font-family:Inter,sans-serif;font-size:13px;color:var(--muted);margin-bottom:24px}
.math{overflow-x:auto;overflow-y:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;margin:6px 0 20px;font-size:16px;text-align:center}
.placeholder{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:14px 16px;font-family:Inter,sans-serif;font-size:14px}
.prompt{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:14px 16px;margin:0 0 14px;font-family:Inter,sans-serif;font-size:14.5px;line-height:1.6}
.prompt b{display:block;margin-bottom:4px}
.refs li{font-size:16px}
.refs li{scroll-margin-top:24px;overflow-wrap:anywhere}.refs li:target{background:var(--accent-soft);border-radius:6px;outline:6px solid var(--accent-soft)}
article a.cite{text-decoration:none;border-bottom:1px dotted currentColor}
@media (max-width:900px){.layout{grid-template-columns:1fr;gap:24px}.toc{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface)}article{font-size:18px}}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}

.eyebrow a{color:inherit;text-decoration:none}
.series{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;font-family:Inter,sans-serif;font-size:13px}
.series a,.series span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);text-decoration:none;background:var(--surface)}
.series a:hover{border-color:var(--accent);color:var(--accent)}
.series .on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:600}
.series i{font-style:normal;font-weight:700}
.pyramid{display:grid;gap:6px;margin:10px 0 10px;font-family:Inter,sans-serif}
.pyramid div{margin:0 auto;border-radius:10px;padding:12px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--accent-soft);border:1px solid var(--line);font-size:14px;width:100%}
.pyramid div b{color:var(--accent)}
.pyramid div span{color:var(--muted);text-align:right}
.pyramid div:nth-child(1){width:52%}.pyramid div:nth-child(2){width:64%}.pyramid div:nth-child(3){width:76%}.pyramid div:nth-child(4){width:88%}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:8px 0 24px;font-family:Inter,sans-serif}
.cards div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:14.5px;line-height:1.55}
.cards b{display:block;font-size:15px;margin-bottom:6px}
.cards small{display:block;color:var(--accent);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.source{font-family:Inter,sans-serif;font-size:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 20px}
.next{display:block;margin-top:48px;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none;color:var(--ink);font-family:Inter,sans-serif;transition:border-color .2s,transform .25s cubic-bezier(.2,.8,.2,1)}
.next:hover{border-color:var(--accent);transform:translateY(-2px)}
.next small{display:block;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.next b{font-family:"Source Serif 4",serif;font-size:21px;font-weight:600}
@media (max-width:600px){.pyramid div,.pyramid div:nth-child(n){width:100%}.pyramid div{flex-direction:column;align-items:flex-start}.pyramid div span{text-align:left}}

/* ---- Journal structure shared by screen and print ---- */
a.btn,.top a.btn{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
figure.tbl{margin:6px 0 26px}
figure.tbl figcaption{font-family:Inter,sans-serif;font-size:13.5px;line-height:1.5;color:var(--muted);margin:0 0 8px}
figure.tbl figcaption strong{color:var(--ink)}
figure.tbl .table{margin:0}
.caption.fcap strong{color:var(--ink)}
.jfront{display:none}

/* ---- Journal article layout for Print and Download PDF (A4, single column) ---- */
@page{size:A4;margin:24mm 23mm 22mm 23mm;
  @top-left{content:"VYROX AI Research Series";font:8.5pt "Source Serif 4",Georgia,serif;color:#333;padding-bottom:4mm}
  @bottom-center{content:counter(page);font:9pt "Source Serif 4",Georgia,serif;color:#000}
}
@page :first{@top-left{content:none}@top-right{content:none}}
@media print{
  html,body{background:#fff!important;overflow:visible!important}
  body>*:not(.wrap){display:none!important}
  .top,.toc,.series,.next,.status{display:none!important}
  *{color:#000!important;box-shadow:none!important;text-shadow:none!important}
  .wrap{max-width:none;margin:0;padding:0}
  .layout{display:block;padding:0}
  /* masthead and title block */
  header.paper-head{padding:0 0 6pt;margin:0 0 8pt;border:0}
  .eyebrow{font:600 8pt Inter,sans-serif;letter-spacing:.12em;border-top:2pt solid #000;border-bottom:.5pt solid #000;padding:4pt 0;margin:0 0 14pt}
  h1{font:700 19pt/1.2 "Source Serif 4",Georgia,serif;letter-spacing:0;max-width:none;margin:0 0 10pt}
  .byline{font:10pt/1.45 "Source Serif 4",Georgia,serif}
  .jfront{display:block;margin:0 0 10pt}
  .jinfo{border-top:.5pt solid #000;border-bottom:.5pt solid #000;padding:5pt 0;font:8.5pt/1.4 "Source Serif 4",Georgia,serif}
  .jinfo div{display:grid;grid-template-columns:30mm 1fr;gap:0 4mm;padding:1.5pt 0;overflow-wrap:anywhere}
  .jinfo b{font:600 7.5pt Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding-top:1pt}
  /* body text */
  article{max-width:none;font:10.5pt/1.42 "Source Serif 4",Georgia,serif;text-align:justify;hyphens:auto;-webkit-hyphens:auto;orphans:3;widows:3}
  article p{margin:0 0 6.5pt}
  article ol,article ul{margin:0 0 6.5pt 1.4em}
  article li{margin-bottom:3pt}
  article h2{font:700 12pt/1.25 "Source Serif 4",Georgia,serif;margin:15pt 0 5pt;break-after:avoid;page-break-after:avoid;text-align:left}
  article h3{font:italic 600 10.5pt/1.3 "Source Serif 4",Georgia,serif;margin:10pt 0 3.5pt;break-after:avoid;page-break-after:avoid;text-align:left}
  article a,article a.cite{color:#000!important;text-decoration:none;border:0}
  code{font:8.8pt ui-monospace,Menlo,monospace}
  /* abstract */
  .abstract{background:none;border:0;border-bottom:.5pt solid #000;border-radius:0;padding:0 0 7pt;margin:0 0 12pt}
  .abstract h2{font:700 9pt Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4pt}
  .abstract p{font-size:9.6pt;line-height:1.4}
  .kw{font:9pt/1.4 "Source Serif 4",Georgia,serif;text-align:left;hyphens:manual}
  .pubdate{display:none}
  .pyramid,.cards,.source{break-inside:avoid;page-break-inside:avoid}
  .pyramid div,.cards div{border:.5pt solid #000;border-radius:0;background:none}
  .source{border:.5pt solid #000;border-radius:0;background:none}
  /* tables: three-rule journal style, caption above, header repeats on each page */
  figure.tbl{margin:9pt 0 11pt}
  figure.tbl figcaption{font:9pt/1.35 "Source Serif 4",Georgia,serif;margin:0 0 3.5pt;text-align:left;break-after:avoid;page-break-after:avoid}
  .table{overflow:visible;border:0;border-radius:0;background:none;margin:0}
  table{font:8.4pt/1.32 "Source Serif 4",Georgia,serif;border-top:1pt solid #000;border-bottom:1pt solid #000;text-align:left;hyphens:manual}
  thead{display:table-header-group}
  th,td{padding:3pt 5pt 3pt 0;border:0;background:none!important}
  th{font-weight:700;border-bottom:.5pt solid #000;vertical-align:bottom}
  tbody tr+tr td{border-top:.25pt solid #bbb}
  tr{break-inside:avoid;page-break-inside:avoid}
  /* figure */
  .flow{text-align:left;hyphens:manual;gap:4pt;font:7.6pt/1.3 Inter,sans-serif;margin:8pt 0 4pt;break-inside:avoid;page-break-inside:avoid;flex-wrap:nowrap;align-items:stretch}
  .flow div{flex:1 1 0;border:.5pt solid #000;border-radius:0;padding:4pt;background:none}
  .flow div small{display:block;font-size:6.8pt}
  .flow .arrow{flex:0 0 auto;align-self:center;border:0}
  .caption{font:9pt/1.35 "Source Serif 4",Georgia,serif;margin:0 0 10pt;text-align:left}
  .math{border:0;background:none;padding:4pt 0;margin:2pt 0 6pt;font-size:10.5pt;overflow:visible}
  /* prompts */
  .prompt{font:8.6pt/1.4 "Source Serif 4",Georgia,serif;background:none;border:.5pt solid #000;border-left:2pt solid #000;border-radius:0;padding:5pt 7pt;margin:0 0 6pt;text-align:left;break-inside:avoid;page-break-inside:avoid}
  .prompt b{font:700 8pt Inter,sans-serif;margin-bottom:2pt}
  /* references */
  #references{break-before:auto}
  .refs{list-style:none;margin:0!important}
  .refs li{hyphens:manual;font-size:8.8pt;line-height:1.36;padding-left:1.6em;text-indent:-1.6em;margin-bottom:3pt;text-align:left;overflow-wrap:anywhere;break-inside:avoid;page-break-inside:avoid}
  #appendix-a{break-before:page;page-break-before:always}
}
