.literature-hero { background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 10%, var(--color-surface)), var(--color-surface)); }
.literature-boundary { max-width: 78ch; margin-top: var(--space-4); padding: var(--space-4); border-left: 4px solid var(--color-warning, #aa6b12); background: color-mix(in srgb, #d89b36 10%, var(--color-surface)); border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.literature-metrics { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.literature-metrics span { padding: .55rem .8rem; border: 1px solid var(--color-line); border-radius: 999px; background: var(--color-surface); font-weight: 700; }
.literature-layout { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 3rem); padding-block: var(--space-6); align-items: start; }
.literature-sidebar { position: sticky; top: 1rem; display: grid; gap: var(--space-3); max-height: calc(100vh - 2rem); overflow: auto; padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.literature-sidebar label, .literature-secondary-filters div { display: grid; gap: .35rem; }
.literature-sidebar label > span { color: var(--color-ink-soft); font-size: .84rem; font-weight: 700; }
.literature-sidebar select, .literature-sidebar input { width: 100%; min-height: 44px; }
.literature-sidebar__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.literature-sidebar__actions { display: flex; align-items: center; gap: var(--space-3); }
.literature-filter-toggle, .literature-filter-close { display: none; }
.text-button { border: 0; background: transparent; color: var(--color-primary); cursor: pointer; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.literature-secondary-filters summary { cursor: pointer; font-weight: 700; }
.literature-secondary-filters > div { gap: var(--space-3); margin-top: var(--space-3); }
.literature-main { min-width: 0; }
.modality-chips { display: flex; gap: .5rem; overflow-x: auto; padding: .2rem .1rem var(--space-4); scrollbar-width: thin; }
.modality-chips button { flex: 0 0 auto; min-height: 40px; padding: .45rem .8rem; border: 1px solid var(--color-line); border-radius: 999px; background: var(--color-surface); color: var(--color-ink); cursor: pointer; font: inherit; font-size: .9rem; font-weight: 700; }
.modality-chips button[aria-pressed="true"] { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }
.literature-curation, .literature-method { margin-bottom: var(--space-7); padding: var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--color-primary) 3%, var(--color-surface)); }
.literature-section-heading, .literature-result-bar { display: flex; justify-content: space-between; align-items: end; gap: var(--space-4); }
.literature-section-heading h2, .literature-result-bar h2 { margin-block: 0 var(--space-1); }
.literature-section-heading > p { max-width: 48ch; color: var(--color-ink-soft); }
.literature-curated-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.literature-subheading { margin-top: var(--space-6); }
.literature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.literature-card { display: flex; flex-direction: column; min-width: 0; padding: var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.literature-card--compact { padding: var(--space-4); }
.literature-card h3 { margin: var(--space-3) 0 var(--space-1); font-size: 1.08rem; line-height: 1.4; overflow-wrap: anywhere; }
.literature-card__en { color: var(--color-ink-soft); font-size: .88rem; line-height: 1.45; }
.literature-card__meta { color: var(--color-ink-soft); font-size: .88rem; }
.literature-card__conclusion { flex: 1; }
.literature-card__actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: var(--space-3); }
.literature-card__actions button, .literature-card__actions a { min-height: 40px; }
.literature-card__state { border: 1px solid var(--color-line); border-radius: 999px; background: transparent; color: var(--color-ink-soft); padding: .35rem .65rem; cursor: pointer; font: inherit; font-size: .83rem; }
.literature-card__state[aria-pressed="true"] { border-color: var(--color-primary); color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface)); }
.literature-card__login { font-size: .84rem; }
.literature-load-more { display: flex; justify-content: center; padding-block: var(--space-5); }
.literature-account-status { max-width: 34ch; color: var(--color-ink-soft); font-size: .88rem; text-align: right; }
.literature-method { margin-top: var(--space-7); }
.literature-method__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.literature-method__grid p { margin: 0; }
.literature-empty { padding: var(--space-6); border: 1px dashed var(--color-line); border-radius: var(--radius-lg); text-align: center; color: var(--color-ink-soft); grid-column: 1 / -1; }
.literature-dialog { width: min(920px, 92vw); max-height: 92vh; margin: auto 0 auto auto; padding: 0; border: 0; border-radius: var(--radius-lg) 0 0 var(--radius-lg); background: var(--color-surface); color: var(--color-ink); box-shadow: -16px 0 48px rgba(0,0,0,.24); }
.literature-dialog::backdrop { background: rgba(16, 29, 34, .55); }
.literature-drawer { padding: clamp(1rem, 3vw, 2.25rem); overflow: auto; max-height: 92vh; }
.literature-drawer__header { display: flex; justify-content: space-between; align-items: start; gap: var(--space-4); }
.literature-drawer__header h2 { margin-top: 0; overflow-wrap: anywhere; }
.literature-drawer__close { flex: 0 0 auto; width: 44px; height: 44px; border: 1px solid var(--color-line); border-radius: 50%; background: var(--color-surface); cursor: pointer; color: inherit; font-size: 1.65rem; line-height: 1; }
.literature-drawer-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-block: var(--space-4); }
.literature-drawer-meta div { padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-md); }
.literature-drawer-meta dt { color: var(--color-ink-soft); font-size: .78rem; font-weight: 700; }
.literature-drawer-meta dd { margin: .25rem 0 0; overflow-wrap: anywhere; }
.literature-tabs { display: flex; gap: .35rem; border-bottom: 1px solid var(--color-line); margin-bottom: var(--space-4); }
.literature-tabs button { border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--color-ink-soft); padding: .8rem 1rem; cursor: pointer; font: inherit; font-weight: 800; }
.literature-tabs button[aria-selected="true"] { border-bottom-color: var(--color-primary); color: var(--color-primary); }
.literature-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.literature-detail-block { padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); }
.literature-detail-block h3 { margin-top: 0; }
.literature-detail-block ul { padding-left: 1.25rem; }
.literature-source-links { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: var(--space-4); }
.literature-license-note { margin-top: var(--space-4); padding: var(--space-3); border-left: 3px solid var(--color-primary); background: color-mix(in srgb, var(--color-primary) 6%, var(--color-surface)); }
body:has(.literature-dialog[open]) { overflow: hidden; }
@media (max-width: 1000px) {
  .literature-curated-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .literature-layout { grid-template-columns: 1fr; }
  .literature-filter-toggle { display: inline-flex; justify-self: start; }
  .literature-filter-close { display: inline-block; }
  .literature-sidebar { position: fixed; z-index: 60; inset: 0 auto 0 0; width: min(100%, 28rem); max-height: 100dvh; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 0; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; box-shadow: 20px 0 48px rgba(0,0,0,.28); transform: translateX(-105%); visibility: hidden; transition: transform .2s ease, visibility 0s linear .2s; }
  .literature-sidebar.is-open { transform: translateX(0); visibility: visible; transition-delay: 0s; }
  .literature-sidebar__heading, .literature-search, .literature-secondary-filters { grid-column: 1 / -1; }
  .literature-grid, .literature-method__grid { grid-template-columns: 1fr; }
  .literature-section-heading, .literature-result-bar { align-items: start; flex-direction: column; }
  .literature-account-status { text-align: left; }
  .literature-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; border-radius: 0; }
  .literature-drawer { max-height: 100dvh; }
}
@media (max-width: 560px) {
  .literature-sidebar, .literature-curated-grid, .literature-drawer-meta, .literature-detail-grid { grid-template-columns: 1fr; }
  .literature-sidebar__heading, .literature-search, .literature-secondary-filters { grid-column: auto; }
  .literature-curation { padding: var(--space-4); }
}
@media (prefers-reduced-motion: reduce) { .literature-dialog { scroll-behavior: auto; } .literature-sidebar { transition: none; } }
body.literature-filters-open { overflow: hidden; }
