/* Scholarly landing pages: visible metadata and abstract, with native PDF links.
   Type, color, spacing, and buttons follow the Holon launch page and the Sophont style guide. */
.paper-page {
  --paper-heading: #10102e;
  --paper-body: #3a4468;
  --paper-muted: #666e8e;
  --paper-indigo: #2233bb;
  --paper-indigo-hover: #182899;
  --paper-indigo-soft: #e4e6f8;
  --paper-slate: #7a84aa;
  --paper-outline: rgba(8, 8, 42, .17);
  --paper-grid: rgba(8, 8, 42, .08);
  --paper-section-gap: clamp(3.5rem, 2.5rem + 3vw, 4.5rem);
  margin: 0;
}
.paper-page .skip-link { position: absolute; padding: .5rem 1rem; background: #fff; }
.paper-content { width: min(1080px, calc(100% - 2 * var(--page-gutter))); margin: 0 auto; padding: 40px 0 88px; color: var(--paper-body); }
.paper-content a:not(.paper-button) { color: var(--paper-indigo); }

/* Header */
.paper-kicker { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 16px; color: var(--paper-muted); font-size: var(--text-caption); line-height: 1.5; }
.paper-header h1 { margin: 0 0 20px; color: var(--paper-heading); font-size: clamp(1.875rem, 1.2rem + 2.6vw, 2.75rem); line-height: 1.15; letter-spacing: -.025em; font-weight: 500; }
.paper-authors { margin: 0; color: var(--paper-body); font-size: 1rem; line-height: 1.7; }
.paper-author { display: inline-block; }
.paper-author sup { padding-left: .15em; color: var(--paper-muted); font-size: .7em; }
.paper-affiliations { margin-top: 4px; }
.paper-affiliations ol { columns: 2; column-gap: 2rem; margin: 0; padding-left: 1.5rem; font-size: 1rem; }
.paper-affiliations li { break-inside: avoid; margin-bottom: 6px; }
.paper-affiliations p { margin: 8px 0 0; font-size: 1rem; }

/* Buttons: Holon launch page / style guide pills */
.paper-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
.paper-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .625rem;
  min-height: 2.75rem; padding: .625rem 1.125rem;
  border: 1.5px solid var(--paper-outline); border-radius: var(--radius-pill);
  color: #08082a; background: #fff;
  font: 500 1rem/1.4 var(--font-sans); letter-spacing: 0; text-decoration: none;
  box-shadow: 0 0 0 0 rgba(34, 51, 187, .4);
  transition: box-shadow 120ms cubic-bezier(.16, 1, .3, 1), transform 120ms cubic-bezier(.16, 1, .3, 1), color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}
.paper-button.primary { color: #fff; background: var(--paper-indigo); border-color: var(--paper-indigo); }
.paper-button:focus-visible { outline: 3px solid var(--paper-indigo); outline-offset: 4px; }
@media (hover: hover) {
  .paper-button:hover { color: var(--paper-indigo); border-color: var(--paper-indigo); box-shadow: 0 0 0 8px rgba(34, 51, 187, .2); transform: translateY(-1px); }
  .paper-button.primary:hover { color: #fff; background: var(--paper-indigo-hover); border-color: var(--paper-indigo-hover); }
}

/* Sections: space instead of divider lines */
.paper-content h2 { margin: 0 0 24px; color: var(--paper-heading); font-size: clamp(1.625rem, 1rem + 1.6vw, 2rem); line-height: 1.2; letter-spacing: -.02em; font-weight: 500; }
.paper-abstract, .paper-key-result, .paper-citation { margin-top: var(--paper-section-gap); }
.paper-abstract p { max-width: 800px; margin: 0; font-size: var(--text-body); line-height: 1.65; }
.paper-citation > p, .paper-citation details, .paper-related { max-width: 800px; }
.paper-content summary { width: fit-content; padding-block: 10px; cursor: pointer; color: var(--paper-indigo); font-size: 1rem; }
.paper-content details[open] summary { margin-bottom: 8px; }

/* Figure */
.paper-figure { max-width: 800px; margin: 0; }
.paper-figure-frame { padding: 16px 16px 8px; border: 1px solid var(--paper-outline); border-radius: var(--radius-md); background: #fff; }
.paper-figure-chart { display: block; width: 100%; height: auto; overflow: visible; font-family: var(--font-sans); }
.paper-figure-chart.is-narrow { display: none; }
.paper-figure-grid { stroke: var(--paper-grid); }
.paper-figure-axis { stroke: var(--paper-outline); }
.paper-figure-tick, .paper-figure-axis-title { fill: var(--paper-muted); }
.paper-figure-label { fill: var(--paper-body); }
.paper-figure-label.is-focus { fill: var(--paper-indigo); font-weight: 700; }
.paper-figure-point { fill: var(--paper-slate); stroke: #fff; stroke-width: 1.5; }
.paper-figure-point.is-focus { fill: var(--paper-indigo); }
.paper-figure-halo { fill: var(--paper-indigo-soft); }
.paper-figure figcaption { margin-top: 12px; color: var(--paper-muted); font-size: var(--text-caption); line-height: 1.5; }
.paper-figure figcaption strong { color: var(--paper-heading); font-weight: 600; }
.paper-nowrap { white-space: nowrap; }

/* Citation */
.paper-citation p { margin: 0 0 12px; font-size: 1rem; line-height: 1.65; }
.paper-permalink { overflow-wrap: anywhere; }
.paper-content pre { max-width: 100%; margin: 0 0 16px; padding: 20px; border: 1px solid var(--paper-outline); border-radius: var(--radius-md); color: var(--paper-heading); background: #fff; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .875rem; line-height: 1.6; }
.paper-citation .paper-note, .paper-related { color: var(--paper-muted); font-size: var(--text-caption); line-height: 1.5; }
.paper-citation .paper-note { margin-top: 20px; }
.paper-related { margin: 24px 0 0; }

@media (max-width: 760px) {
  .paper-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; max-width: 28rem; }
  .paper-button { min-width: 0; padding: .5rem .375rem; gap: .25rem; font-size: .875rem; text-align: center; }
}
@media (max-width: 600px) {
  .paper-content { padding: 28px 0 64px; }
  .paper-author { display: inline; }
  .paper-affiliations ol { columns: 1; }
  .paper-figure-frame { padding: 12px 6px 4px; }
  .paper-figure-chart.is-wide { display: none; }
  .paper-figure-chart.is-narrow { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  .paper-button { transition: none; }
  .paper-button:hover { transform: none; }
}
@media print {
  .paper-content { width: 100%; padding: 0; }
  .paper-actions, .paper-page .footer, .paper-page .skip-link { display: none; }
  .paper-header h1 { font-size: 24pt; }
  .paper-figure { break-inside: avoid; }
}
