/* =========================================================
   DECALCOMANI — Papers gallery (papers/*.html)
   ========================================================= */

.papers-toolbar {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
  gap: 1rem 1.5rem; margin-bottom: .75rem;
}
.papers-filter { margin: 0; flex: 1 1 auto; }
.papers-search {
  display: flex; flex-direction: column; gap: .35rem; min-width: min(100%, 240px);
}
.papers-search__t {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ink-3);
}
.papers-search input {
  width: 100%; min-height: 2.4rem; padding: .55rem .8rem;
  border: 1px solid var(--rule-strong); border-radius: var(--radius);
  background: var(--surface); color: var(--ink); font: inherit; font-size: 15px;
}
.papers-search input:focus {
  outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent);
}

.papers-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 1rem;
}
.paper-card {
  display: flex; flex-direction: column; gap: .55rem;
  padding: 1.15rem 1.2rem 1.2rem;
  background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius-lg);
}
.paper-card[hidden] { display: none !important; }
.paper-card__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; }
.paper-card__field {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--accent);
}
.paper-card__title {
  margin: 0; font-family: var(--font-serif); font-size: 1.15rem; font-weight: 700; line-height: 1.4;
}
.paper-card__title a { color: inherit; text-decoration: none; }
.paper-card__title a:hover { color: var(--accent); }
.paper-card__meta {
  margin: 0; font-family: var(--font-mono); font-size: 12px; letter-spacing: .02em; color: var(--ink-3);
}
.paper-card__blurb { margin: 0; flex: 1; font-size: 14.5px; line-height: 1.65; color: var(--ink-2); }
.paper-card__foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem;
  margin-top: .35rem; padding-top: .75rem; border-top: 1px dashed var(--rule);
}
.paper-card__note {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .03em;
  color: var(--ink-3); text-decoration: none;
}
.paper-card__note:hover { color: var(--accent); text-decoration: underline; }
.papers-empty { margin-top: 1.25rem; color: var(--ink-3); font-size: 15px; }

.paper-display { max-width: 22ch; }
.paper-orig-title { max-width: 60ch; color: var(--ink-2); }
.paper-doi { margin: .75rem 0 0; font-size: 14px; }
.paper-doi .mono, .aside-card .mono { font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; color: var(--ink-3); }
.paper-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem; }
.paper-figure svg { width: 100%; height: auto; display: block; max-width: 100%; }
.paper-prose .keypoints {
  margin: 0 0 1.75rem; padding: 1.1rem 1.2rem;
  background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius-lg);
}
.prose-list { margin: 0; padding-left: 1.2rem; color: var(--ink-2); line-height: 1.75; }
.prose-list li { margin-bottom: .55rem; }
.narrow { max-width: 70ch; }
.article-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, 260px);
  gap: clamp(1.5rem, 4vw, 3rem); align-items: start;
}
@media (max-width: 900px) {
  .article-layout { grid-template-columns: 1fr; }
}
@media (max-width: 360px) {
  .paper-card { padding: 1rem; }
  .papers-toolbar { gap: .75rem; }
}

/* Filter row (mirrors notes/index inline utilities) */
.nl-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 .9rem; }
.nl-filter__t { margin-right: .35rem; font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.nl-count { margin: 0 0 1.25rem; font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; color: var(--ink-3); }

/* Korean title primary; original as muted secondary */
.paper-card__orig {
  margin: -.25rem 0 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--ink-3);
  font-style: italic;
}
.paper-original {
  margin: .35rem 0 0;
  max-width: 60ch;
  font-size: 1.05rem;
  line-height: 1.5;
  color: var(--ink-3);
}
.paper-original__label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-right: .5rem;
  color: var(--ink-3);
  font-style: normal;
}
.pd-excerpt {
  margin: 0 0 1.5rem;
  padding: 1rem 1.15rem;
  background: var(--paper-2, #ebeae3);
  border: 1px dashed var(--rule-strong, #c9c6bb);
  border-radius: var(--radius-lg);
}
.pd-excerpt p { margin: 0 0 .9em; color: var(--ink-2); }
.pd-excerpt p:last-child { margin-bottom: 0; }
.callout--pd { margin-bottom: 1rem; }

/* Catalog cards: short blurb, full text on the detail page */
.paper-card__blurb {
  flex: none; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.paper-card__foot { margin-top: auto; }

/* Optional explainers (쉬운 설명 · 원전 옮김) fold by default */
.paper-prose details.prose-fold { margin: 2.4rem 0 1rem; border-top: 1px dashed var(--rule); }
.paper-prose details.prose-fold > summary {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: .9rem 0 .2rem; cursor: pointer; list-style: none;
}
.paper-prose details.prose-fold > summary::-webkit-details-marker { display: none; }
.paper-prose details.prose-fold > summary h2 { margin: 0; font-size: 1.35rem; }
.paper-prose details.prose-fold > summary::after {
  content: "펼치기 +"; flex: none; font-family: var(--font-mono); font-size: 11.5px;
  letter-spacing: .08em; color: var(--accent);
}
.paper-prose details.prose-fold[open] > summary::after { content: "접기 −"; }
.paper-prose details.prose-fold > summary:hover h2 { color: var(--accent); }
.paper-prose details.prose-fold > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.paper-prose details.prose-fold[open] > summary { margin-bottom: 1rem; }

/* Catalog hero illustration (papers.js injects it) */
.papers-hero-plate__body { position: relative; aspect-ratio: 21 / 9; overflow: hidden; }
.papers-hero-plate__body .hero-art__media { position: absolute; inset: 0; }
.papers-hero-plate__body .hero-art__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Field cover banner — papers.js shows the cover of the active field chip (hidden for 전체) */
.papers-field-banner { margin: 0 0 .9rem; }
.papers-field-banner .papers-field-cover { margin: 0; }
.papers-field-banner .sec-plate > img { --plate-ar: 3 / 1; }
@media (max-width: 720px) { .papers-field-banner .sec-plate > img { --plate-ar: 2 / 1; } }
