/* YMJ v6: original-style volume lists. Local, additive stylesheet.
   The accepted v5 home-left card, style.css and header-panel.svg are unchanged.
   All rules are scoped to the home RIGHT panel or the Volumes page. */

/* The original theme places the volume number in a narrow vertical rail. */
.home .top-main .volume-card,
.volumes-page .volume-card {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, .15);
}
.home .top-main .volume-rail,
.volumes-page .volume-rail {
  min-width: 0;
  padding: 14px 8px 30px;
  text-align: center;
  color: #fff;
}
/* Home: blue to red. Archive page: blue to white, as in page-volumes.php. */
.home .top-main .volume-rail {
  background: linear-gradient(176deg, #204cb1 0%, #ff2e2e 100%);
}
.volumes-page .volume-rail {
  background: linear-gradient(184deg, #204cb1 0%, #fff 100%);
}
.home .top-main .volume-number,
.volumes-page .volume-number {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  font-family: var(--ymj-font-display);
  font-size: 52px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: .02em;
  overflow-wrap: anywhere;
}
.home .top-main .volume-year,
.volumes-page .volume-year {
  display: table;
  margin: 7px auto 0;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, .8);
  color: #fff;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;
}
.home .top-main .volume-content,
.volumes-page .volume-content {
  min-width: 0;
  padding: 25px 25px 10px;
}
.home .top-main .paper-row,
.volumes-page .paper-row {
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #a5b1ca;
}
.home .top-main .paper-row:last-child,
.volumes-page .paper-row:last-child { margin-bottom: 0; }
.home .top-main .paper-row h3,
.volumes-page .paper-row h3 {
  margin: 0 0 8px;
  color: #3248ad;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.home .top-main .paper-row p,
.volumes-page .paper-row p {
  margin: 0 0 10px;
  color: #3f4357;
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.home .top-main .pdf-chip,
.volumes-page .pdf-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 6px;
  border: 0;
  border-radius: 2px;
  background: #204cb1;
  color: #fff;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 700;
  text-transform: uppercase;
  vertical-align: top;
}
.home .top-main a.pdf-chip[href]:hover,
.volumes-page a.pdf-chip[href]:hover { background: #343743; opacity: 1; }
.home .top-main .pdf-chip:not([href]),
.volumes-page .pdf-chip:not([href]) { cursor: default; }
/* Simple document mark drawn in CSS, not copied from a theme image. */
.home .top-main .pdf-document,
.volumes-page .pdf-document {
  width: 9px;
  height: 11px;
  border: 1px solid currentColor;
  border-radius: 1px;
  display: inline-block;
  position: relative;
}
.home .top-main .pdf-document::after,
.volumes-page .pdf-document::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 1px;
  bottom: 2px;
  height: 3px;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}
.home .top-main .back-link { margin-top: 24px; }
.home .top-main .back-link a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  letter-spacing: .02em;
}
.home .top-main .back-arrow {
  display: inline-block;
  position: relative;
  width: 18px;
  height: 1px;
  background: currentColor;
}
.home .top-main .back-arrow::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  right: 0;
  top: -5px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}
.home .top-main a:focus-visible,
.volumes-page a:focus-visible,
.volumes-page button:focus-visible {
  outline: 3px solid #849ff1;
  outline-offset: 4px;
}

/* Volumes: white article panel + Archive sidebar on a warm-grey background. */
.volumes-page { background: #f6f4f2; }
.volumes-page .site-header {
  background: linear-gradient(128deg, #102659 0%, #204cb1 55%);
}
.volumes-page .wrap,
.volumes-layout {
  width: min(calc(100% - 60px), 1280px);
  margin-right: auto;
  margin-left: auto;
}
.volumes-page .header-row { min-height: 96px; gap: 28px; }
.volumes-page .brand { white-space: normal; line-height: 1.22; }
.volumes-page .nav { gap: 24px; }
.volumes-page .nav a { display: inline-flex; align-items: center; gap: 8px; }
.volumes-page .nav a[aria-current='page'] { padding: 5px 0; }
.volumes-page .nav-symbol { width: 14px; height: 14px; flex: none; }
.volumes-page .nav-symbol.round { font-size: 8px; }
.volumes-page .nav-symbol.tri { width: 14px; height: 14px; }
.volumes-main { min-height: calc(100vh - 292px); }
.volumes-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 410px;
  align-items: start;
  gap: 40px;
  padding-top: 30px;
  padding-bottom: 80px;
}
.volume-list-panel,
.archive-panel {
  min-width: 0;
  padding: 30px;
  border-radius: 10px;
  background: #fff;
}
.volume-list-panel { box-shadow: 2px 2px 10px rgba(0, 0, 0, .15); }
.volumes-title {
  margin: 0 0 24px;
  color: #001e80;
  font-size: 33px;
  font-weight: 500;
  line-height: 1.2;
}
.volumes-page .volume-card { margin-bottom: 30px; scroll-margin-top: 24px; }
.volumes-page .volume-card:last-child { margin-bottom: 0; }
.archive-panel h2 {
  margin: 0 0 20px;
  color: #001e80;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}
.archive-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.archive-links a {
  display: inline-block;
  color: #204cb1;
  border-radius: 6px;
  padding: 3px 0;
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.archive-links a:hover { color: #001e80; text-decoration: underline; opacity: 1; }
.archive-links span { white-space: nowrap; }
.volumes-page .footer-contact { font-style: normal; }

@media (max-width: 1230px) {
  .volumes-page .wrap, .volumes-layout { width: 94%; }
}
@media (max-width: 1115px) {
  .volumes-layout { grid-template-columns: minmax(0, 1fr) 310px; }
  .volumes-page .header-row { gap: 22px; }
  .volumes-page .nav { gap: 18px; }
}
@media (max-width: 1000px) {
  .volumes-page .menu-btn { display: block; flex: none; }
  .volumes-page .nav {
    display: none;
    position: absolute;
    left: 3%;
    right: 3%;
    top: 100%;
    padding: 20px;
    background: #122d6a;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
  }
  .volumes-page .nav.open { display: flex; }
}
@media (max-width: 927px) {
  .volumes-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-bottom: 50px; }
  .archive-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .volumes-page .wrap, .volumes-layout { width: calc(100% - 28px); }
  .volumes-page .header-row { min-height: 92px; padding-top: 14px; padding-bottom: 14px; gap: 18px; }
  .volumes-page .brand { min-width: 0; font-size: 19px; }
  .volumes-page .nav { left: 14px; right: 14px; }
  .volumes-layout { padding-top: 22px; }
  .volume-list-panel, .archive-panel { padding: 22px; }
  .volumes-title { font-size: 30px; margin-bottom: 20px; }
  .home .top-main .volume-card, .volumes-page .volume-card { grid-template-columns: 90px minmax(0, 1fr); }
  .home .top-main .volume-number, .volumes-page .volume-number { font-size: 48px; }
  .home .top-main .volume-content, .volumes-page .volume-content { padding: 22px 20px 10px; }
}
@media (max-width: 500px) {
  .volume-list-panel, .archive-panel { padding: 20px 16px; }
  .home .top-main .volume-card, .volumes-page .volume-card { grid-template-columns: 78px minmax(0, 1fr); }
  .home .top-main .volume-rail, .volumes-page .volume-rail { padding: 14px 5px 24px; }
  .home .top-main .volume-number, .volumes-page .volume-number { font-size: 44px; }
  .home .top-main .volume-year, .volumes-page .volume-year { font-size: 12px; }
  .home .top-main .volume-content, .volumes-page .volume-content { padding: 20px 16px 10px; }
  .home .top-main .paper-row h3, .volumes-page .paper-row h3 { font-size: 15px; }
  .home .top-main .paper-row p, .volumes-page .paper-row p { font-size: 12px; }
  .archive-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 360px) {
  .home .top-main .volume-card, .volumes-page .volume-card { grid-template-columns: 68px minmax(0, 1fr); }
  .home .top-main .volume-number, .volumes-page .volume-number { font-size: 38px; }
  .home .top-main .volume-content, .volumes-page .volume-content { padding-right: 13px; padding-left: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .volumes-page { scroll-behavior: auto; }
}

/* v7: metadata and honest link-verification states. Approved rails are unchanged. */
.home .top-main .paper-row h3, .volumes-page .paper-row h3 { line-height:1.5; }
.home .top-main .paper-row .paper-authors, .volumes-page .paper-row .paper-authors { margin-bottom:2px; }
.home .top-main .paper-row .paper-pages, .volumes-page .paper-row .paper-pages { color:#657080; font-size:11px; margin-bottom:10px; }
.paper-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.paper-actions .record-link { color:#284b94; font-size:11px; line-height:1.6; text-decoration:underline; text-underline-offset:3px; }
.paper-actions .record-button { display:inline-block; padding:3px 7px; background:#edf1f8; border:1px solid #b8c5dc; border-radius:2px; text-decoration:none; }
.pdf-pending { color:#735c40; font-size:10px; line-height:1.6; }
.verification-banner { margin:0 0 24px; padding:13px 16px; border-left:3px solid #bc944b; background:#fcf8ed; color:#5b5244; font-size:12px; line-height:1.65; }
.verification-banner strong { display:block; font-weight:600; }
.verification-banner a,.volume-status a { text-decoration:underline; text-underline-offset:3px; }
.volume-status { font-size:11px; line-height:1.7; padding:0 0 16px; margin-bottom:20px; border-bottom:1px solid #c9cfdc; color:#656878; }
.volume-status strong { display:block; color:#6d5741; }
.archive-note { font-size:12px; line-height:1.8; margin:24px 0 0; color:#676c79; }
.archive-note a { text-decoration:underline; }
.home .top-main .publication-note { background:rgba(255,255,255,.92); border-radius:5px; padding:9px 12px; font-size:11px; line-height:1.7; color:#495169; }
.publication-note a { text-decoration:underline; }

/* v97: all volume cards in one grid (see site.js). An open card spans the
   full width; a closed card is a volume tile. Every card toggles on its rail. */
.volume-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  gap: 14px;
}
.volumes-page .volume-grid .volume-card { margin-bottom: 0; }
.volumes-page .volume-grid .volume-card.is-open { grid-column: 1 / -1; margin-bottom: 16px; }
.volumes-page .volume-grid .volume-card.is-collapsed { display: flex; flex-direction: column; }
/* Tiles in one grid row share the tallest tile's height; the rail fills the
   whole tile so its blue-to-white gradient never ends in a band of plain white. */
.volumes-page .volume-grid .volume-card.is-collapsed .volume-rail { flex: 1 1 auto; padding: 12px 6px 14px; }
.volumes-page .volume-grid .volume-card.is-collapsed .volume-number { font-size: 40px; }
.volumes-page .volume-grid .volume-rail { position: relative; }
.volumes-page .volume-toggle {
  position: absolute;
  inset: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.volumes-page .volume-toggle:focus-visible { outline: 3px solid #849ff1; outline-offset: -3px; }
.volumes-page .volume-grid .volume-card { transition: box-shadow .2s ease, transform .2s ease; }
.volumes-page .volume-grid .volume-card.is-collapsed:hover { box-shadow: 2px 2px 14px rgba(0, 0, 0, .28); transform: translateY(-2px); }
.volumes-page .volume-grid .volume-card.is-open .volume-rail:hover { filter: brightness(1.06); }
.volumes-page .volume-count { margin: 8px 0 0; color: #3f4357; font-size: 11px; line-height: 1.3; }
.volumes-page .volume-grid .volume-card.is-open .volume-count { display: none; }
/* A small chevron at the foot of the rail: down = open it, up = close it. */
.volumes-page .volume-grid .volume-rail::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  margin: 10px auto 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  color: #3f4357;
  transform: rotate(45deg);
  transition: transform .25s ease;
  opacity: .75;
}
.volumes-page .volume-grid .volume-card.is-open .volume-rail::after {
  position: absolute;
  left: 50%;
  bottom: 14px;
  margin: 0 0 0 -4px;
  transform: rotate(-135deg);
}
.volumes-page .volume-grid .volume-card.is-opening { animation: ymj-volume-open .32s ease-out; }
.volumes-page .volume-grid .volume-card.is-opening .volume-content { animation: ymj-volume-fade .4s ease-out; }
@keyframes ymj-volume-open { from { transform: scale(.985); opacity: .6; } to { transform: none; opacity: 1; } }
@keyframes ymj-volume-fade { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 500px) {
  .volume-grid { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 10px; }
  .volumes-page .volume-grid .volume-card.is-collapsed .volume-number { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .volumes-page .volume-grid .volume-card,
  .volumes-page .volume-grid .volume-rail::after { transition: none; }
  .volumes-page .volume-grid .volume-card.is-collapsed:hover { transform: none; }
}

/* v100: issue-level note shown under the last article of a card (e.g. Vol. 44 No. 1). */
.volumes-page .issue-note {
  margin: 14px 0 6px;
  color: #656878;
  font-size: 12px;
  line-height: 1.6;
}
.volumes-page .volume-content .paper-row:nth-last-child(2):has(+ .issue-note) { margin-bottom: 0; }

/* v106: replaces the former inline style attributes, so a strict CSP (style-src 'self') works. */
.nw { white-space: nowrap; }
.math-script { font-family: 'STIX Two Math', 'Cambria Math', 'Latin Modern Math', 'Times New Roman', serif; }
