:root {
  --cover-edge: 6px; --cover-width: 540px; --cover-ratio: 210 / 297;
  --cover-wash: rgb(246 242 232 / .96); --cover-fade: rgb(246 242 232 / 0);
}
.issue-front { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s12); padding-top: var(--s3); align-items: start; }
.issue-cover {
  --cover-brand: clamp(22px,8.34cqw,44px); --cover-title: clamp(17px,6.44cqw,34px);
  --cover-subject: clamp(32px,12.88cqw,68px); --cover-meta: clamp(8px,2.28cqw,12px);
  --cover-copy: clamp(9px,2.66cqw,14px); --cover-deck: clamp(8px,2.66cqw,14px);
  --cover-gutter: clamp(8px,4.55cqw,24px); --cover-space: clamp(4px,2.28cqw,12px);
  --cover-micro: clamp(2px,.758cqw,4px); --cover-small: clamp(4px,1.516cqw,8px);
  --cover-print: clamp(7px,1.9cqw,10px); --cover-wash-space: clamp(16px,6.062cqw,32px);
  --cover-target: clamp(32px,8.334cqw,44px);
  display: grid; grid-template-rows: auto minmax(0,1fr) auto auto;
  width: 100%; min-width: 0; aspect-ratio: var(--cover-ratio);
  border: var(--cover-edge) solid var(--accent); background: var(--paper);
  container-type: inline-size;
}
.cover-masthead { padding: var(--cover-space) var(--cover-gutter); text-align: center; }
.cover-edition { display: flex; justify-content: space-between; gap: var(--cover-small); font: var(--cover-print)/1.4 var(--mono); letter-spacing: .03em; white-space: nowrap; }
.cover-masthead h1 { margin: var(--cover-micro) 0; color: var(--accent); font: 700 var(--cover-brand)/1.1 var(--serif); letter-spacing: .015em; white-space: nowrap; }
.cover-strapline { font: var(--cover-meta)/1.4 var(--serif); letter-spacing: .06em; }
.cover-art { position: relative; min-height: 0; overflow: hidden; border-top: 1px solid var(--accent); }
.cover-art > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 65%; }
.cover-story { position: absolute; inset: 0 0 auto; padding: var(--cover-space) var(--cover-gutter) var(--cover-wash-space); background: linear-gradient(var(--cover-wash) 0%,var(--cover-wash) 45%,var(--cover-fade) 100%); }
.cover-kicker { font: 600 var(--cover-meta)/1.4 var(--sans); letter-spacing: var(--wide-track); }
.cover-story h2 { display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: var(--cover-space); align-items: center; font: 700 var(--cover-title)/1.2 var(--serif); text-align: left; letter-spacing: -.025em; margin-top: var(--cover-micro); }
.cover-story h2 > span { display: block; white-space: nowrap; }
.cover-story .cover-subject { grid-row: 1 / 3; font: 700 var(--cover-subject)/1.05 Georgia,var(--serif); color: var(--accent); letter-spacing: -.04em; }
.cover-dek { font: var(--cover-deck)/1.5 var(--sans); margin-top: var(--cover-small); }
.cover-art-credit { position: absolute; inset: auto var(--cover-small) var(--cover-small) auto; max-width: calc(100% - 2 * var(--cover-small)); font: var(--cover-print)/1.4 var(--sans); padding: var(--cover-micro) var(--cover-small); background: var(--paper); }
.cover-lines { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: var(--cover-space) var(--cover-gutter); gap: var(--cover-space); border-top: 1px solid var(--accent); }
.cover-lines a { text-decoration: none; min-width: 0; min-height: var(--cover-target); }
.cover-lines a + a { border-left: 1px solid var(--faint); padding-left: var(--cover-space); }
.cover-lines a:hover strong { text-decoration: underline; text-underline-offset: var(--s1); }
.cover-lines span { display: block; font: var(--cover-print)/1.4 var(--sans); color: var(--muted); margin-bottom: var(--cover-micro); }
.cover-lines strong { font: 700 var(--cover-copy)/1.5 var(--serif); }
.cover-byline { display: flex; align-items: center; gap: var(--cover-micro); padding: 0 var(--cover-gutter); border-top: 1px solid var(--faint); font: var(--cover-meta)/1.4 var(--sans); white-space: nowrap; }
.cover-byline a { display: inline-flex; align-items: center; min-width: var(--s6); min-height: var(--cover-target); }
.cover-byline > span { margin-left: auto; color: var(--muted); }
:lang(en) .issue-cover { --cover-brand: clamp(22px,7.96cqw,42px); --cover-title: clamp(16px,5.69cqw,30px); }
:lang(en) .cover-masthead h1 { letter-spacing: -.04em; }
:lang(en) .cover-strapline { letter-spacing: 0; }
.issue-desk { padding-top: var(--s3); }
.desk-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--s3); padding-bottom: var(--s4); border-bottom: 1px solid var(--ink); }
.issue-serial { font: var(--meta)/1.8 var(--sans); white-space: nowrap; }
.issue-serial strong { font: italic var(--stat)/1 Georgia,serif; margin: 0 var(--s1); }
.issue-desk h2 { font: 700 var(--section)/1.65 var(--serif); margin: var(--s6) 0 var(--s4); }
.desk-intro { font: var(--body)/1.95 var(--serif); color: var(--muted); }
.issue-facts { margin: var(--s6) 0; border-top: 1px solid var(--rule); }
.issue-facts > div { display: grid; grid-template-columns: var(--s20) minmax(0,1fr); gap: var(--s3); border-bottom: 1px solid var(--faint); padding: var(--s3) 0; align-items: baseline; }
.issue-facts dt { color: var(--muted); font: var(--meta)/1.8 var(--sans); }
.issue-facts dd { margin: 0; font: var(--action)/1.8 var(--sans); }
.editor-link { display: inline-flex; align-items: center; gap: var(--s2); min-height: var(--target); font: 700 var(--minor)/1.5 var(--serif); }
.editor-link span { color: var(--accent); font-size: var(--action); }
.editor-caption { display: block; color: var(--muted); font: var(--meta)/1.9 var(--sans); }
.desk-note { border-left: 2px solid var(--forest); padding-left: var(--s4); }
.desk-note > p + p { margin-top: var(--s2); font: var(--action)/1.9 var(--serif); }
.desk-actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s2); margin-top: var(--s6); }
.read-issue { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--s8); min-height: var(--target); padding: var(--s2) var(--s4); background: var(--ink); color: var(--paper); text-decoration: none; font: var(--action)/1.8 var(--sans); }
.read-issue:hover { background: var(--forest); color: var(--paper); }
.read-issue:active { background: var(--accent); color: var(--paper); }
.desk-source { color: var(--muted); margin-top: var(--s5); font: var(--meta)/1.9 var(--sans); }
.desk-source > span { display: block; }
.desk-source a { display: inline-block; min-height: var(--target); line-height: var(--target); }
.issue-guide { margin-top: var(--s12); border-top: 4px double var(--ink); }
.guide-heading { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); padding: var(--s4) 0; border-bottom: 1px solid var(--rule); }
.guide-heading h2 { font: 700 var(--section)/1.5 var(--serif); }
.guide-heading > p { color: var(--muted); font: var(--meta)/1.8 var(--sans); }
.theme-guide { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--s6); padding: var(--s5) 0; }
.theme-guide > a { display: block; text-decoration: none; min-width: 0; }
.guide-number { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s2); color: var(--accent); font: var(--deck)/1.6 var(--mono); }
.guide-number small { color: var(--muted); font: var(--meta)/1.6 var(--sans); }
.theme-guide h3 { font: 700 var(--deck)/1.6 var(--serif); margin: var(--s2) 0; text-align: left; }
.theme-guide p { color: var(--muted); font: var(--action)/1.8 var(--sans); }
.theme-guide > a:hover h3 { text-decoration: underline; text-underline-offset: var(--s1); }
.theme-guide .guide-range { display: block; font: var(--meta)/1.8 var(--mono); margin-top: var(--s3); }
.issue-guide .issue-index { border-top: 1px solid var(--rule); }
.index-label-open { display: none; }
.issue-index[open] .index-label-open { display: inline; }
.issue-index[open] .index-label-closed { display: none; }
.outside-bar .quick-contents { min-height: var(--target); }
@media (min-width:1280px) {
 .issue-desk { display: flex; flex-direction: column; align-self: stretch; padding-top: 0; }
 .issue-desk h2 { line-height: 1.4; margin: var(--s3) 0; }
 .desk-intro { line-height: 1.75; }
 .issue-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: var(--s6); margin: var(--s3) 0; }
 .issue-facts > div { display: block; padding-block: var(--s2); }
 .desk-note > p + p { line-height: 1.75; }
 .desk-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--s2) var(--s4); align-items: center; margin-top: var(--s4); }
 .desk-actions .action { grid-column: 1 / -1; }
 .desk-source { display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: var(--s4); margin-top: auto; padding-top: var(--s3); line-height: 1.6; }
 .desk-source a { display: inline-flex; align-items: center; line-height: 1.6; }
 .desk-source > span { text-align: right; }
}
@media (max-width:1279px) {
 .issue-front { grid-template-columns: 1fr; gap: var(--s8); }
 .issue-cover { width: min(100%,var(--cover-width)); justify-self: center; }
 .issue-desk { padding-top: 0; }
 .issue-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: var(--s6); }
 .theme-guide { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s5) var(--s6); }
 .desk-actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--s3) var(--s6); }
}
@media (max-width:680px) {
 :root { --cover-edge: 4px; }
 .issue-front { padding-top: 0; gap: var(--s6); }
 .issue-desk h2 { font-size: var(--minor); }
 .issue-facts { display: block; }
 .issue-guide { margin-top: var(--s8); }
 .guide-heading { align-items: flex-start; flex-direction: column; gap: var(--s1); }
 .guide-heading h2 { font-size: var(--minor); }
 .theme-guide { grid-template-columns: 1fr; gap: var(--s4); }
 .theme-guide > a { border-bottom: 1px solid var(--faint); padding-bottom: var(--s4); }
 .theme-guide h3 { font-size: var(--deck); }
 .theme-guide .guide-range { margin-top: var(--s2); }
}
@media print {
 .issue-front { display: block; }
 .issue-cover { max-width: var(--cover-width); margin: 0 auto; break-inside: avoid; }
 .issue-desk { break-before: page; }
 .desk-actions,.outside-bar { display: none; }
 .issue-guide { break-before: page; }
 .issue-guide .issue-index { display: block; }
}
