.paper-page {
  --paper-border: var(--blue-dark);
  --paper-muted: #aaa590;
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
  margin: 0 auto;
  text-align: center;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.paper-page :is(a, code) {
  hyphens: none;
}

.paper-page p,
.paper-page figcaption {
  text-align: center;
}

.paper-page :is(ul, ol, li, dl, dt, dd),
.paper-page :is(ul, ol, dl) p,
.paper-page summary,
.paper-page .paper-faq p {
  text-align: left;
}

.paper-page .page-hero {
  max-width: none;
  margin: 0 auto 1.4rem;
}

.paper-page .page-intro {
  max-width: none;
}

.paper-original-title {
  max-width: none;
  margin: 0.75rem auto;
  color: var(--subheading-yellow);
  font-family: "Merriweather", serif;
  font-size: clamp(1.02rem, 1.7vw, 1.3rem);
  line-height: 1.45;
  text-align: center;
}

.paper-status {
  border: 3px solid var(--blue-dark);
  border-radius: 14px;
  margin: 0 auto 1.25rem;
  padding: 0.9rem 1rem;
  max-width: none;
  text-align: center;
}

.paper-status strong {
  color: var(--brand-yellow);
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.paper-nonclaims,
.paper-loss-conditions {
  border: 3px solid var(--red-dark);
  border-radius: 14px;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  margin: 1.25rem 0;
}

.paper-section {
  border: 3px solid var(--paper-border);
  border-radius: 14px;
  padding: clamp(1rem, 2.5vw, 1.6rem);
  margin: 1.25rem 0;
}

.paper-disclosure-gate {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(237, 207, 88, 0.5);
  border-radius: 0.8rem;
}

.paper-disclosure-gate h3 {
  margin-top: 0;
}

.paper-section > h2,
.paper-nonclaims > h2,
.paper-loss-conditions > h2 {
  margin-top: 0;
  text-align: center;
}

.paper-section h3 {
  color: var(--subheading-yellow);
}

.paper-citation-strip {
  border: 3px solid var(--paper-border);
  border-radius: 14px;
  padding: 1rem;
  margin: 1.25rem 0;
}

.paper-citation-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
}

.paper-citation-actions p {
  flex-basis: 100%;
  text-align: center;
}

.paper-citation-buttons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 0.65rem;
  width: 100%;
}

.paper-citation-buttons > .more-button {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  font: inherit;
  line-height: 1.35;
  white-space: normal;
  text-align: center;
}

@media (max-width: 1100px) {
  .paper-citation-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .paper-citation-buttons { grid-template-columns: minmax(0, 1fr); }
}

.paper-role-grid,
.paper-contribution-grid,
.paper-comparator-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.paper-role,
.paper-contribution,
.paper-comparator {
  border: 2px solid var(--blue-light);
  border-radius: 12px;
  padding: 1rem;
}

.paper-role-human { border-color: var(--brand-yellow) !important; }
.paper-role-local { border-color: var(--blue-light); }
.paper-role-external { border-color: var(--red-light) !important; }

.paper-role-label {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--brand-yellow);
  font-weight: 700;
  text-align: center;
}

.paper-architecture {
  margin: 1.25rem 0;
  border: 3px solid var(--paper-border);
  border-radius: 16px;
  padding: clamp(1rem, 2.5vw, 1.5rem);
}

.paper-architecture-context {
  border: 2px dashed var(--subheading-yellow);
  border-radius: 14px;
  padding: 0.85rem;
  margin-bottom: 1rem;
  text-align: center;
}

.paper-architecture-roles {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
}

.paper-architecture-role {
  border: 3px solid var(--blue-light);
  border-radius: 14px;
  padding: 1rem;
  text-align: center;
}

.paper-architecture-role[data-role="human"] { border-color: var(--brand-yellow) !important; }
.paper-architecture-role[data-role="external"] { border-color: var(--red-light) !important; }

.paper-transfer {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.paper-transfer > span,
.paper-no-channel,
.paper-action-gate {
  border: 2px solid var(--paper-border);
  border-radius: 10px;
  padding: 0.7rem;
  text-align: center;
}

.paper-no-channel {
  grid-column: 1 / -1;
  border-style: dashed;
  border-color: var(--red-light);
}

.paper-action-gate {
  grid-column: 1 / -1;
  border-color: var(--brand-yellow);
}

.paper-architecture figcaption {
  margin-top: 1rem;
  color: var(--paper-muted);
  line-height: 1.5;
}

.paper-step-list {
  counter-reset: paper-step;
  list-style: none;
  padding-left: 0;
}

.paper-step-list li {
  position: relative;
  padding: 0.75rem 0.75rem 0.75rem 3.4rem;
  margin: 0.55rem 0;
  border-left: 3px solid var(--blue-light);
}

.paper-step-list li::before {
  counter-increment: paper-step;
  content: counter(paper-step);
  position: absolute;
  left: 0.65rem;
  top: 0.55rem;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--brand-yellow);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--brand-yellow);
  font-weight: 700;
}

.paper-table-wrap {
  overflow-x: auto;
  margin: 1rem 0;
}

.paper-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.paper-table th,
.paper-table td {
  border: 2px solid var(--paper-border);
  padding: 0.7rem;
  text-align: left;
  vertical-align: top;
}

.paper-table th {
  color: var(--brand-yellow);
  background: transparent;
}

.paper-faq details {
  margin: 0.7rem 0;
}

.paper-faq summary {
  color: var(--subheading-yellow);
  cursor: pointer;
  font-weight: 700;
}


.paper-contact-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.25rem;
}

.paper-citation-feedback {
  flex-basis: 100%;
  min-height: 1.5em;
  margin: 0;
  text-align: center;
}

.paper-citation-actions .is-copied {
  box-shadow: 0 0 14px rgba(237, 207, 88, 0.4);
}

html.light-mode .paper-page {
  --paper-muted: #3b3b3b;
}

html.light-mode .paper-status strong,
html.light-mode .paper-role-label,
html.light-mode .paper-original-title,
html.light-mode .paper-section h3,
html.light-mode .paper-faq summary,
html.light-mode .paper-table th {
  color: #0032ff;
}

@media (max-width: 840px) {
  .paper-role-grid,
  .paper-contribution-grid,
  .paper-comparator-grid,
  .paper-architecture-roles,
  .paper-transfer {
    grid-template-columns: 1fr;
  }

  .paper-no-channel,
  .paper-action-gate { grid-column: 1; }
}

@media print {
  .paper-page { color: #000; background: #fff; }
  .paper-citation-buttons { display: block; }

  .paper-status,
  .paper-section,
  .paper-nonclaims,
  .paper-loss-conditions,
  .paper-citation-strip,
  .paper-architecture {
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    break-inside: avoid;
  }

  .paper-contact-links,
  .paper-citation-actions button { display: none !important; }
}
