/* Research pages extend the same paper / ink grid with source figures and tables. */
.research-page { max-width:1080px; margin:32px auto 80px; }
.paper-intro { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:48px; padding-block:8px 48px; }
.paper-title-block { min-width:0; }
.paper-intro h1 { font-size:clamp(30px,3.3vw,46px); line-height:1.1; letter-spacing:-.035em; margin:0 0 24px; text-wrap:balance; }
.paper-intro .detail-art { margin:0; min-width:0; }
.paper-intro .detail-art figcaption { font-family:var(--sans); }
.paper-authors { display:flex; flex-wrap:wrap; gap:6px 16px; padding:0; margin:24px 0 12px; list-style:none; font-size:1rem; line-height:1.7; }
p.paper-authors { display:block; }
.paper-authors li { white-space:nowrap; }
.paper-authors a { text-decoration-color:var(--rule); }
.paper-authors a:hover { color:var(--accent); text-decoration-color:currentColor; }
.paper-authors sup { color:var(--accent); margin-left:3px; font-size:.6875rem; }
.affiliations { display:flex; flex-wrap:wrap; gap:4px 16px; list-style:none; margin:0; padding:0; font-size:.875rem; color:var(--muted); }
.affiliations sup { color:var(--accent); }
.author-note { margin-top:10px; font-size:.8125rem; line-height:1.55; color:var(--muted); }
.paper-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.paper-nav { display:flex; flex-wrap:wrap; gap:4px 28px; padding-block:12px; border-block:1px solid var(--ink); }
.paper-nav a { display:inline-flex; min-height:44px; align-items:center; font-size:.875rem; text-decoration:none; position:relative; }
.paper-nav a::after { content:''; height:2px; position:absolute; left:0; right:0; bottom:5px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform var(--feedback) var(--ease); }
.paper-nav a:is(:hover,:focus-visible)::after { transform:scaleX(1); }
.paper-section { padding-top:32px; margin-top:72px; border-top:1px solid var(--rule); scroll-margin-top:24px; min-width:0; }
.paper-section-heading { display:grid; grid-template-columns:32px 1fr; align-items:baseline; gap:16px; margin-bottom:28px; }
.paper-section h2 { font-size:clamp(28px,3.3vw,44px); line-height:1.16; letter-spacing:-.035em; max-width:30ch; text-wrap:balance; }
.reading-copy { max-width:78ch; margin-inline:auto; font-size:1.125rem; line-height:1.8; }
#abstract .reading-copy { max-width:none; }
.reading-copy:empty { display:none; }
.reading-copy p+p { margin-top:20px; }
.summary,.detail>p,.quick-look-section p,.reading-copy,.method-steps p,.research-note p,.table-notes p { text-align:justify; text-justify:inter-word; hyphens:auto; }
.research-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:36px 0; border-block:1px solid var(--ink); }
.research-facts>div { padding:24px 20px; border-left:1px solid var(--rule); }
.research-facts>div:first-child { border-left:0; padding-left:0; }
.research-facts dt { font-size:clamp(19px,2vw,27px); font-weight:600; line-height:1.25; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.research-facts dd { font-size:.875rem; line-height:1.5; color:var(--muted); margin:10px 0 0; }
.paper-figure { margin-top:32px; border:1px solid var(--rule); background:var(--surface); }
.figure-link { display:block; background:white; cursor:zoom-in; transition:box-shadow var(--feedback); }
.figure-link:hover { box-shadow:inset 0 0 0 2px var(--accent); }
.paper-figure img { width:100%; height:auto; }
.paper-figure figcaption { display:flex; align-items:start; gap:16px 24px; justify-content:space-between; padding:16px 20px; border-top:1px solid var(--rule); }
.paper-figure figcaption p { max-width:90ch; font-size:.875rem; line-height:1.65; color:var(--muted); }
.paper-figure figcaption>.text-link { flex:none; font-size:.8125rem; align-self:start; margin-top:-8px; }
.figure-dialog { box-sizing:border-box; width:calc(100% - 48px); max-width:1400px; max-height:92dvh; padding:0; overflow:hidden; border:1px solid var(--ink); background:var(--surface); color:var(--ink); }
.figure-dialog::backdrop { background:#151912d9; }
.figure-dialog[open] { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
.figure-dialog-top { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:24px; min-width:0; padding:12px 16px; border-bottom:1px solid var(--ink); background:var(--paper); }
.figure-dialog-top .close-button { flex:0 0 auto; }
.figure-dialog-image { box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:100%; min-width:0; min-height:0; padding:24px; overflow:auto; border:0; background:var(--surface); cursor:zoom-out; }
.figure-dialog-image img { width:auto; height:auto; max-width:100%; max-height:calc(92dvh - 101px); }
.table-hint { color:var(--muted); font-size:.8125rem; margin-bottom:12px; }
.table-scroll { overflow-x:auto; overscroll-behavior-x:contain; border-block:1px solid var(--ink); scrollbar-color:var(--muted) var(--wash); }
.table-scroll:focus-visible,.citation-box pre:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.research-table { width:100%; min-width:680px; border-collapse:collapse; text-align:left; font-size:.875rem; line-height:1.5; font-variant-numeric:tabular-nums; }
.research-table caption { text-align:left; padding:16px; max-width:100%; background:var(--wash); font-size:.875rem; color:var(--muted); border-bottom:1px solid var(--rule); }
.research-table th,.research-table td { padding:14px 16px; border-bottom:1px solid var(--rule); vertical-align:middle; }
.research-table thead { background:var(--surface); }
.research-table thead th { font-weight:600; color:var(--muted); white-space:nowrap; }
.research-table th[scope=row] { font-weight:500; min-width:160px; }
.research-table td { white-space:nowrap; }
.research-table tr:last-child>* { border-bottom:0; }
.research-table tbody tr { transition:background-color var(--feedback); }
.research-table tbody tr:hover { background:var(--surface); }
.research-table .result-highlight { background:var(--wash); }
.research-table .result-highlight>* { font-weight:700; }
.research-table .result-highlight th { box-shadow:inset 3px 0 var(--accent); color:var(--accent); }
.table-notes { max-width:90ch; font-size:.875rem; color:var(--muted); line-height:1.65; margin-top:20px; }
.table-notes p+p { margin-top:10px; }
.method-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; list-style:none; counter-reset:method; padding:0; margin:0; }
.method-steps li { counter-increment:method; }
.method-steps li::before { content:counter(method,decimal-leading-zero); display:block; font:0.8125rem/1.5 var(--mono); color:var(--accent); border-bottom:1px solid var(--rule); padding-bottom:12px; margin-bottom:16px; }
.method-steps h3 { font-size:1.1875rem; line-height:1.35; letter-spacing:-.015em; margin-bottom:12px; }
.method-steps p { line-height:1.7; font-size:1rem; color:var(--muted); }
.research-note { max-width:90ch; padding-left:24px; border-left:2px solid var(--accent); margin-top:32px; }
.research-note h3 { font-size:1rem; margin-bottom:8px; }
.research-note p { font-size:1rem; line-height:1.7; color:var(--muted); }
.video-box { border:1px solid var(--ink); }
.video-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; align-items:center; padding:16px 20px; background:var(--wash); border-bottom:1px solid var(--ink); }
.video-heading>span:last-child { color:var(--muted); font:0.75rem/1.5 var(--mono); }
.video-box video { display:block; width:100%; aspect-ratio:16/9; background:var(--ink); object-fit:contain; }
.video-box video:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.video-box figcaption { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; padding:16px 20px; }
.video-box figcaption>p { max-width:74ch; font-size:.875rem; line-height:1.6; color:var(--muted); }
.video-box .text-link { flex:none; font-size:.875rem; }
.video-box .video-status { flex-basis:100%; color:var(--accent); }
.citation-box { background:var(--wash); border:1px solid var(--rule); }
.citation-tools { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 20px; border-bottom:1px solid var(--rule); }
.citation-box pre { margin:0; padding:24px; white-space:pre-wrap; overflow-wrap:anywhere; font:0.875rem/1.75 var(--mono); }
.copy-status { padding:0 24px 16px; font-size:.875rem; color:var(--muted); }
.copy-status:empty { display:none; }
@media(max-width:1099px) {
  .paper-intro { grid-template-columns:1fr; gap:32px; }
  .paper-intro .detail-art { max-width:720px; }
  .paper-title-block { max-width:850px; }
  .paper-figure figcaption { flex-wrap:wrap; }
  .paper-figure figcaption>.text-link { margin-top:0; }
}
@media(max-width:739px) {
  .research-page { margin-top:24px; margin-bottom:48px; }
  .paper-intro { padding-bottom:32px; }
  .paper-authors { gap:8px 14px; font-size:.9375rem; }
  .affiliations { display:block; }
  .affiliations li+li { margin-top:4px; }
  .paper-nav { gap:4px 20px; }
  .paper-section { margin-top:48px; padding-top:24px; }
  .paper-section-heading { grid-template-columns:24px 1fr; gap:12px; margin-bottom:24px; }
  .reading-copy { font-size:1rem; line-height:1.75; }
  .research-facts { grid-template-columns:repeat(2,minmax(0,1fr)); margin-block:28px; }
  .research-facts>div { padding:20px 12px; }
  .research-facts>div:nth-child(odd) { border-left:0; padding-left:0; }
  .research-facts>div:nth-child(n+3) { border-top:1px solid var(--rule); }
  .research-facts dt { font-size:1.125rem; }
  .research-facts dd { font-size:.8125rem; }
  .paper-figure { margin-top:24px; }
  .paper-figure figcaption { padding:12px 16px; gap:8px; }
  .figure-dialog { width:calc(100% - 24px); max-height:94dvh; }
  .figure-dialog-image { padding:8px; }
  .figure-dialog-image img { max-height:calc(94dvh - 85px); }
  .method-steps { grid-template-columns:1fr; gap:24px; }
  .research-note { padding-left:16px; }
  .video-heading,.video-box figcaption { padding:12px 16px; }
  .citation-tools { padding:12px 16px; }
  .citation-box pre { padding:16px; font-size:.8125rem; }
  .copy-status { padding-inline:16px; }
}
@media print {
  .paper-intro { grid-template-columns:1fr; }
  .paper-nav,.paper-actions,.citation-tools button,.video-box video,.figure-dialog { display:none!important; }
  .table-scroll { overflow:visible; }
  .research-table { min-width:0; font-size:8pt; }
  .research-table th,.research-table td { padding:6px; white-space:normal; }
  .paper-section { margin-top:32px; }
}
@keyframes dialog-open { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes backdrop-open { from { opacity:0; } to { opacity:1; } }
