/* D2 · 放映厅+杂志档案（站点栏版） — layout and components. Tokens live in tokens.css. */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: calc(var(--gh-h) + var(--s-5)); }
html:has(> .p-daily) { scroll-padding-top: calc(var(--gh-h) + 72px); }
html:has(> .p-topic) { scroll-padding-top: calc(var(--gh-h) + 64px); }
body { margin: 0; padding-top: var(--gh-h); background: var(--bg); color: var(--ink); font: var(--fs-body)/var(--lh) var(--f-body); -webkit-font-smoothing: antialiased; }
a { color: var(--accent); text-underline-offset: 3px; }
img, video { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
h1, h2, h3 { font-family: var(--f-display); font-weight: 300; margin: 0; text-wrap: balance; }
.kick { font: var(--fs-kick)/1.5 var(--f-mono); letter-spacing: .2em; color: var(--accent); margin: 0; }
.fine { font: 12px/1.7 var(--f-mono); color: var(--mute); max-width: 60em; }
.lbl { font: 11px var(--f-mono); letter-spacing: .2em; color: var(--mute); margin: var(--s-4) 0 var(--s-2); }
.dek { max-width: 42em; color: var(--mute); }
.btn { display: inline-block; font: 13px/1.3 var(--f-mono); letter-spacing: .06em; color: var(--bg); background: var(--accent); padding: 12px 18px; border-radius: var(--r-1); text-decoration: none; }
.btn:hover { background: var(--ink); }
.ghost { font: 13px var(--f-mono); color: var(--ink); }

/* site bar: brand (home) · two tabs (centred) · date */
.gh { position: fixed; z-index: 60; top: 0; left: 0; right: 0; height: var(--gh-h); display: flex; align-items: center; gap: var(--s-6); padding: 0 var(--gutter); background: rgba(var(--scrim-rgb), .9); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--rule); }
.gh-brand { font: 600 13px var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); text-decoration: none; white-space: nowrap; }
.gh-brand:hover { color: var(--accent); }
.gh-tabs { position: absolute; left: 50%; top: 0; bottom: 0; transform: translateX(-50%); display: flex; align-items: center; gap: var(--s-6); }
.gh-tabs a { position: relative; display: flex; align-items: baseline; gap: var(--s-2); padding: 6px 0; color: var(--mute); text-decoration: none; font: 400 16px/1 var(--f-display); letter-spacing: .22em; white-space: nowrap; transition: color .25s; }
.gh-tabs a i { font: 400 10px/1 var(--f-mono); font-style: normal; letter-spacing: .08em; color: var(--accent); opacity: .55; transition: opacity .25s; }
.gh-tabs a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: -4px; height: 1px; background: var(--accent); transition: left .35s cubic-bezier(.2, .7, .2, 1), right .35s cubic-bezier(.2, .7, .2, 1); }
.gh-tabs a + a::before { content: ""; position: absolute; left: calc(var(--s-6) / -2); top: 50%; width: 3px; height: 3px; margin: -2px 0 0 -1px; border-radius: 50%; background: var(--rule); }
.gh-tabs a:hover, .gh-tabs a[aria-current] { color: var(--ink); }
.gh-tabs a:hover i, .gh-tabs a[aria-current] i { opacity: 1; }
.gh-tabs a:hover::after { left: 30%; right: 30%; }
.gh-tabs a[aria-current]::after { left: 0; right: .22em; }
.gh-date { margin-left: auto; font: 12px/1 var(--f-mono); letter-spacing: .12em; color: var(--mute); white-space: nowrap; }

/* date strip: pick a daily issue by day */
.cal { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-2) var(--s-5); align-items: start; margin-bottom: var(--s-6); }
.cal-m { margin: 0; padding-top: 8px; font: 11px/1.4 var(--f-mono); letter-spacing: .2em; color: var(--mute); }
.cal-m b { display: block; font: 300 22px/1.1 var(--f-display); letter-spacing: .04em; color: var(--ink); }
.cal ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--days), minmax(26px, 1fr)); border-top: 1px solid var(--rule); overflow-x: auto; scrollbar-width: none; }
.cal ol::-webkit-scrollbar { display: none; }
.cal li > * { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 10px 0 14px; font: 12px/1 var(--f-mono); color: #56635b; text-decoration: none; }
.cal li > * b { font-weight: 400; }
.cal li > * i { font: 10px/1 var(--f-body); font-style: normal; }
.cal li.fut > * { opacity: .45; }
.cal a { color: var(--ink); }
.cal a::after { content: ""; position: absolute; bottom: 4px; left: 50%; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--accent); }
.cal a::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: transparent; transition: background .2s; }
.cal a:hover, .cal a:focus-visible { background: var(--bg-3); }
.cal a:hover::before { background: var(--mute); }
.cal a[aria-current]::before { background: var(--accent); }
.cal a[aria-current] { color: var(--accent); }
.d-top .cal { margin: var(--s-7) auto 0; }
.cal-cap { grid-column: 2; margin: 0; font-size: var(--fs-small); color: var(--mute); min-height: 1.7em; }

/* topic index: pick a topic */
.tidx { list-style: none; margin: 0; padding: 0; min-width: min(360px, 100%); font: 13px/1.4 var(--f-mono); }
.tidx a { display: grid; grid-template-columns: 2.4em 1fr auto; gap: var(--s-3); align-items: baseline; padding: 7px 0; color: var(--mute); text-decoration: none; border-bottom: 1px solid var(--rule); }
.tidx li:last-child a { border-bottom: 0; }
.tidx .n { color: var(--accent); opacity: .6; }
.tidx .t { font: 15px/1.4 var(--f-body); }
.tidx a:hover, .tidx a[aria-current] { color: var(--ink); }
.tidx a[aria-current] .n, .tidx a:hover .n { opacity: 1; }
.tidx a[aria-current] .t { text-decoration: underline 1px var(--accent); text-underline-offset: 5px; }
.part .tidx { align-self: end; }
.tidx-box { position: absolute; z-index: 2; right: var(--gutter); bottom: 8vh; width: 300px; padding-left: var(--s-3); border-left: 2px solid var(--accent); }
.tidx-box .tidx { min-width: 0; margin-top: var(--s-1); }

/* one-line digest of the day; each clause links to its item */
.line { font-size: clamp(30px, 4.2vw, 58px); line-height: 1.2; }
.line a { white-space: nowrap; color: inherit; text-decoration: none; background: linear-gradient(var(--accent), var(--accent)) 0 96% / 0 2px no-repeat; transition: background-size .3s, color .2s; }
.line a:hover, .line a:focus-visible { color: var(--accent); background-size: 100% 2px; }
.line sup { font: 400 12px/1 var(--f-mono); letter-spacing: .06em; color: var(--accent); margin-left: 3px; vertical-align: super; }

/* hero: viewport-high screening, clips take turns, scrim keeps the title legible */
.hero { position: relative; height: calc(100vh - var(--gh-h)); height: calc(100svh - var(--gh-h)); max-height: var(--hero-max-h); min-height: 460px; overflow: hidden; background: #000; }
.hero-v { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.hero-reel .hero-v { opacity: 0; transition: opacity 1s; }
.hero-reel .hero-v.on { opacity: 1; }
.scrim { position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(0deg, rgba(var(--scrim-rgb), var(--scrim-strength)) 0%, rgba(var(--scrim-rgb), .84) 30%, rgba(var(--scrim-rgb), .35) 62%, rgba(var(--scrim-rgb), .6) 100%),
    linear-gradient(90deg, rgba(var(--scrim-rgb), .75) 0%, rgba(var(--scrim-rgb), 0) 65%); }
.hero-t { position: absolute; z-index: 2; left: var(--gutter); right: calc(var(--gutter) + 320px); bottom: 8vh; max-width: 860px; }
.hero h1 { font-size: var(--fs-hero); line-height: 1.04; margin: var(--s-3) 0; text-shadow: 0 2px 24px rgba(var(--scrim-rgb), .6); }
.hero h1 em { color: var(--accent); }
.hero h1.line { font-size: clamp(30px, 4.2vw, 58px); line-height: 1.2; }
.hero-d { max-width: 40em; margin: 0 0 var(--s-5); }
.hero-a { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3) var(--s-5); margin: 0; }
.now-wrap { position: absolute; z-index: 2; right: var(--gutter); bottom: 8vh; width: 280px; font: 12px/1.5 var(--f-mono); border-left: 2px solid var(--accent); padding-left: var(--s-3); }
.now-k { margin: 0 0 2px; color: var(--accent); letter-spacing: .2em; }
.now-caps { position: relative; height: 3em; }
.now { position: absolute; inset: 0; color: var(--ink); text-decoration: none; opacity: 0; visibility: hidden; transition: opacity .6s, visibility .6s; }
.now.on { opacity: 1; visibility: visible; }
.now i { font-style: normal; color: var(--mute); margin-right: var(--s-2); }
.now::after { content: " →"; color: var(--accent); }
.now:hover { color: var(--accent); }
.now-ticks { display: flex; gap: 6px; margin-top: var(--s-2); }
.now-ticks button { flex: 1; padding: 8px 0; background: none; border: 0; cursor: pointer; }
.now-ticks span { position: relative; display: block; height: 2px; background: var(--rule); overflow: hidden; }
.now-ticks span::after { content: ""; position: absolute; inset: 0; background: var(--ink); transform: scaleX(0); transform-origin: left; }
.now-ticks button:hover span { background: var(--mute); }
.now-ticks .run span::after { animation: fill var(--reel-step) linear forwards; }
.held .now-ticks .run span::after { animation-play-state: paused; }
@keyframes fill { to { transform: scaleX(1); } }
.hero-topic { height: auto; min-height: min(80svh, 760px); max-height: none; }
/* month arrows on the date strip */
.cal-mv { display: flex; gap: 4px; margin-top: var(--s-2); }
.cal-mv > * { display: grid; place-items: center; width: 26px; height: 26px; font: 14px/1 var(--f-mono); color: var(--mute); border: 1px solid var(--rule); text-decoration: none; }
.cal-mv span { opacity: .3; }
.cal-mv a::before, .cal-mv a::after { content: none; }
.cal-mv a:hover, .cal-mv a:focus-visible { color: var(--accent); border-color: var(--accent); }

/* 404 */
.nf { min-height: 70vh; padding-top: calc(var(--gh-h) + 14vh); }
.nf h1 { font: 300 clamp(32px, 5vw, 56px)/1.2 var(--f-display); margin: var(--s-3) 0 var(--s-6); }

@media (prefers-reduced-motion: reduce) {
  .hero-reel .hero-v, .now { transition: none; }
  .now-ticks .run span::after { animation: none; transform: scaleX(1); }
}

/* sections, editorial parts */
.sec { padding: var(--s-8) var(--gutter); border-top: 1px solid var(--rule); }
.sec > * { max-width: var(--w-max); margin-left: auto; margin-right: auto; }
.part { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s-5); align-items: end; padding-bottom: var(--s-3); margin-bottom: var(--s-5); border-bottom: 1px solid var(--ink); }
.part > .n { font: 300 88px/.78 var(--f-display); color: var(--accent); }
.part h2 { font-size: var(--fs-h2); line-height: 1.1; }
.part > .n { align-self: end; }
.part-r { margin: 0; font: 12px var(--f-mono); color: var(--mute); }
.sec-a { margin-top: var(--s-6); }
.band { background: var(--bg-2); }

/* C's wall, dark */
.wall-panel { padding: var(--s-4); border: 1px solid var(--rule); background-color: var(--bg-2); background-image: linear-gradient(var(--paper-line) 1px, transparent 1px), linear-gradient(90deg, var(--paper-line) 1px, transparent 1px); background-size: 24px 24px; }
.wall { display: grid; grid-template-columns: repeat(var(--wall-cols), minmax(0, 1fr)); gap: var(--wall-gap); }
.cell { position: relative; display: block; background: var(--bg-3); color: var(--ink); text-decoration: none; padding: 6px; }
.cell-m { width: 100%; aspect-ratio: 1; object-fit: cover; background: #000; }
img.cell-m { object-fit: contain; }
.cell .tag { position: absolute; z-index: 1; top: 10px; left: 10px; background: var(--bg); color: var(--ink); font: 11px/1.5 var(--f-mono); padding: 0 5px; }
.cell.must .tag { background: var(--accent); color: var(--bg); }
.cell em { display: block; font: 13px/1.45 var(--f-body); font-style: normal; padding-top: 6px; }
.cell:hover { background: var(--rule); }
.cell:hover em { color: var(--accent); }
.must-row { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--rule); }
.must-row a { display: flex; flex-direction: column; gap: var(--s-1); padding: var(--s-5) var(--s-5) var(--s-5) 0; color: var(--mute); text-decoration: none; font-size: var(--fs-small); }
.must-row a + a { padding-left: var(--s-5); border-left: 1px solid var(--rule); }
.must-row b { font: 300 22px/1.3 var(--f-display); color: var(--ink); }
.must-row a:hover b { color: var(--accent); }

/* topic teaser on home */
.t-screen { position: relative; aspect-ratio: 21 / 9; overflow: hidden; background: #000; }
.t-screen .cover { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.t-tx { position: absolute; z-index: 2; left: var(--s-6); right: var(--s-6); bottom: var(--s-6); max-width: 640px; }
.t-tx h3 { font-size: clamp(26px, 3.4vw, 44px); line-height: 1.12; margin: var(--s-2) 0; }
.t-tx h3 a { color: var(--ink); text-decoration: none; }
.t-tx h3 a:hover { color: var(--accent); }
.t-tx p:last-child { font-size: var(--fs-small); margin: 0; }
.t-data { display: grid; grid-template-columns: 7fr 4fr; gap: var(--s-6); margin-top: var(--s-6); align-items: start; }
.t-data > * { min-width: 0; }
.rate { width: 100%; border-collapse: collapse; font: 13px var(--f-mono); margin-bottom: var(--s-2); }
.rate th, .rate td { text-align: left; padding: 6px 8px 6px 0; border-bottom: 1px solid var(--rule); font-weight: 400; }
.rate thead th { color: var(--mute); font-size: 11px; }
.rate tr.hy th, .rate tr.hy td { color: var(--accent); }
.rate td:last-child { width: 30%; }
.bar { display: block; height: 6px; width: calc(var(--v) * 100%); background: currentColor; }
.rate + .fine { margin: 0 0 var(--s-5); }

/* timeline */
.tl-wrap { overflow-x: auto; }
.tl { display: block; width: 100%; min-width: 640px; height: auto; font: 13px var(--f-body); }
.tl-grid { stroke: var(--rule); }
.tl-ax { fill: var(--mute); font: 11px var(--f-mono); }
.tl-lb { fill: var(--ink); }
.tl-lb.hy { fill: var(--accent); }
.tl-track { fill: var(--bg-3); }
.tl-cut { stroke: var(--ink); stroke-width: 1.2; }
.tl-cut.hy { stroke: var(--accent); }

/* daily */
.d-top { position: relative; padding: var(--s-8) var(--gutter) var(--s-6); }
.d-top > * { max-width: var(--w-max); margin-left: auto; margin-right: auto; }
.d-top h1 { margin: var(--s-3) auto 0; }
.flt-wrap { position: sticky; top: var(--gh-h); z-index: 30; padding: var(--s-2) var(--gutter); background: rgba(var(--scrim-rgb), .92); backdrop-filter: blur(6px); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.flt { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.flt button { font: 12px var(--f-mono); color: var(--ink); background: var(--bg-3); border: 1px solid var(--rule); border-radius: var(--r-pill); padding: 6px 14px; cursor: pointer; }
.flt button i { font-style: normal; color: var(--mute); }
.flt button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--bg); }
.flt button[aria-pressed="true"] i { color: var(--bg); }
.sec-wall { padding-top: var(--s-6); padding-bottom: var(--s-6); border-top: 0; }
.sec-body { padding-top: 0; border-top: 0; }
.grp-h { display: flex; align-items: baseline; gap: var(--s-4); padding: var(--s-7) 0 var(--s-3); border-bottom: 1px solid var(--ink); }
.grp-h .n { font: 300 64px/.8 var(--f-display); color: var(--accent); }
.grp-h h2 { font-size: var(--fs-h2); flex: 1; }
.grp-h p { margin: 0; font: 12px var(--f-mono); color: var(--mute); }
.it { display: grid; gap: var(--s-7); align-items: center; padding: var(--s-7) 0; border-bottom: 1px solid var(--rule); }
.it > * { min-width: 0; }
.it-wide { grid-template-columns: 7fr 5fr; }
.it-sq { grid-template-columns: 5fr 6fr; }
.it-tall { grid-template-columns: 4fr 6fr; }
.it.flip .screen { order: 2; }
.it.flip.it-wide { grid-template-columns: 5fr 7fr; }
.it.flip.it-sq, .it.flip.it-tall { grid-template-columns: 6fr 5fr; }
.screen { background: #000; box-shadow: 0 30px 80px -30px #000; }
.screen video, .screen img { width: 100%; }
.it-tall .screen { display: flex; justify-content: center; padding: var(--s-4); }
.it-tall .screen video, .it-tall .screen img { height: var(--tall-max-h); width: auto; object-fit: contain; }
.it h3 { font-size: var(--fs-h3); line-height: 1.25; margin: var(--s-2) 0 var(--s-3); }
.look b { font: 11px var(--f-mono); letter-spacing: .2em; color: var(--accent); margin-right: var(--s-2); font-weight: 400; }
.judge { display: grid; grid-template-columns: 3em 1fr; gap: var(--s-1) var(--s-3); margin: 0 0 var(--s-4); padding-left: var(--s-4); border-left: 2px solid var(--accent); font-size: 15px; }
.judge dt { color: var(--accent); font-weight: 600; }
.judge dd { margin: 0; }
.src { font: 12px var(--f-mono); }
.note { font-size: 13px; color: var(--mute); }
.must-t { color: var(--bg); background: var(--accent); padding: 0 6px; }
.it:target { animation: landed 2.4s ease-out; }
.it:target .screen { outline: 2px solid var(--accent); outline-offset: 8px; }
@keyframes landed { from { background: rgba(217, 160, 102, .16); } to { background: transparent; } }
.issue-nav { display: flex; justify-content: space-between; gap: var(--s-4); padding: var(--s-7) 0 0; font: 13px var(--f-mono); }

/* topic */
.toc { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); padding-top: var(--s-4); padding-bottom: var(--s-4); font: 13px var(--f-mono); position: sticky; top: var(--gh-h); z-index: 30; background: rgba(var(--scrim-rgb), .92); backdrop-filter: blur(6px); }
.toc > * { margin: 0; }
.thesis { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-7); font-size: 17px; }
.thesis p { margin: 0; }
.thesis p::first-letter { font-family: var(--f-display); font-size: 3.2em; float: left; line-height: .9; margin: 6px 8px 0 0; color: var(--accent); }
.film-h { margin-bottom: var(--s-5); }
.film-h .n { font: 12px var(--f-mono); letter-spacing: .2em; color: var(--accent); }
.film-h h2 { font-size: var(--fs-h2); line-height: 1.1; margin: var(--s-2) 0; }
.film-h p { margin: 0; font: 13px var(--f-mono); color: var(--mute); }
.film-hy .film-h h2 { color: var(--accent); }
.spec { width: 100%; border-collapse: collapse; font: 13px var(--f-mono); margin-bottom: var(--s-5); border-top: 2px solid var(--ink); }
.spec th, .spec td { text-align: left; padding: 8px 8px 8px 0; border-bottom: 1px dashed var(--rule); font-weight: 400; }
.spec th { color: var(--mute); width: 14%; }
.spec td { font-size: 15px; }
.clips { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--s-4); }
.film-sq .clips { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 900px; margin-left: 0; }
.clips video { width: 100%; background: #000; }
.clips figcaption { font-size: 14px; line-height: 1.6; padding-top: var(--s-2); color: var(--mute); }
.clips figcaption b { color: var(--accent); font-family: var(--f-display); }
.read { display: grid; grid-template-columns: 2fr 1fr; gap: var(--s-7); margin-top: var(--s-5); }
.read p { margin: 0; }
.read aside { font-size: var(--fs-small); border-left: 2px solid var(--accent); padding-left: var(--s-4); }
.sheet { margin-top: var(--s-5); font: 13px var(--f-mono); }
.sheet summary { cursor: pointer; color: var(--accent); }
.sheet img { width: 100%; margin-top: var(--s-3); }
.tbl-wrap { overflow-x: auto; }
table.rx { width: 100%; border-collapse: collapse; font-size: 15px; }
.rx td, .rx th { padding: 10px 8px; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
.rx th { font: 500 12px var(--f-mono); color: var(--mute); }
.rx td.n { font: 12px var(--f-mono); white-space: nowrap; color: var(--mute); }
.verdict { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-6); }
.verdict h3 { font-size: 24px; margin-bottom: var(--s-2); color: var(--accent); }
.gap { background: var(--bg-3); padding: var(--s-4) var(--s-5); font-size: 15px; margin-top: var(--s-6); }
.gap p { margin: 0 0 var(--s-2); }
ol.src { font-size: 14px; columns: 2; column-gap: var(--s-7); }

@media (max-width: 760px) {
  :root { --gutter: 18px; --s-8: 64px; --wall-cols: 2; --tall-max-h: 62vh; }
  .hero { min-height: 0; }
  .hero-t { bottom: var(--s-5); }
  .hero-d { margin-bottom: var(--s-4); }
  :root { --gh-h: 92px; }
  html:has(> .p-daily) { scroll-padding-top: calc(var(--gh-h) + 100px); }
  .gh { display: grid; grid-template-columns: 1fr auto; grid-template-rows: 50px 41px; gap: 0 var(--s-3); }
  .gh-tabs { position: static; transform: none; grid-row: 2; grid-column: 1 / -1; justify-content: center; border-top: 1px solid var(--rule); }
  .gh-tabs a { font-size: 15px; }
  .gh-date { grid-row: 1; grid-column: 2; }
  .cal { grid-template-columns: 1fr; gap: var(--s-2); }
  .cal-m { padding-top: 0; }
  .cal-m b { display: inline; margin-left: var(--s-2); font-size: 18px; }
  .cal-mv { display: inline-flex; margin: 0 0 0 var(--s-3); vertical-align: middle; }
  .cal ol { grid-template-columns: repeat(var(--days), 40px); }
  .cal-cap { grid-column: 1; }
  .part .tidx { grid-column: 1 / -1; }
  .tidx-box { position: relative; right: auto; bottom: auto; width: auto; margin: var(--s-5) var(--gutter) 0; }
  .hero-t { right: var(--gutter); }
  .now-wrap { left: var(--gutter); right: var(--gutter); top: var(--s-5); bottom: auto; width: auto; }
  .hero-topic { min-height: 0; padding: 120px 0 var(--s-6); }
  .hero-topic .hero-t { position: relative; bottom: auto; }
  .part { grid-template-columns: auto 1fr; }
  .part > .n { font-size: 56px; }
  .part-r { grid-column: 1 / -1; }
  .must-row, .t-data, .it, .it-wide, .it-sq, .it-tall, .it.flip.it-wide, .it.flip.it-sq, .it.flip.it-tall, .thesis, .read, .verdict { grid-template-columns: 1fr; gap: var(--s-4); }
  .it.flip .screen { order: 0; }
  .must-row a { padding: var(--s-4) 0; }
  .must-row a + a { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule); }
  .t-screen { aspect-ratio: 3 / 4; }
  .t-tx { left: var(--s-4); right: var(--s-4); bottom: var(--s-4); }
  .wall-panel { padding: var(--s-2); }
  .spec th { width: auto; }
  .film-sq .clips { grid-template-columns: 1fr 1fr; }
  ol.src { columns: 1; }
  .it:target { animation: landed 2.4s ease-out; }
.it:target .screen { outline: 2px solid var(--accent); outline-offset: 8px; }
@keyframes landed { from { background: rgba(217, 160, 102, .16); } to { background: transparent; } }
.issue-nav { flex-direction: column; }
}
