@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url(/assets/fonts/geist-normal-latin-ext-e6da4874.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url(/assets/fonts/geist-normal-latin-edc7ad59.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-normal-latin-ext-afda9bcc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-normal-latin-01c0aaee.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-normal-latin-ext-afda9bcc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-normal-latin-01c0aaee.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Literata';
  font-style: italic;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/literata-italic-latin-ext-98c88531.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Literata';
  font-style: italic;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/literata-italic-latin-93934a65.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/literata-normal-latin-ext-2ddc423f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/literata-normal-latin-0ace6a53.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Layout: a quiet instrument. Cool lab-paper ground, ink, one ultraviolet signal. Mono for the record, serif for the reading. */
:root {
  --bg: #f1f2f4;
  --bg-2: #e6e8ec;
  --ink: #101216;
  --mute: #646a75;
  --rule: #cdd1d8;
  --uv: #4a2cf0;
  --uv-wash: #4a2cf014;
  --uv-bright: #8f7dff;
  --display: "Geist", "Helvetica Neue", Arial, sans-serif;
  --serif: "Literata", Georgia, "Times New Roman", serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --measure: 38rem;
  --wide: 72rem;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg: #0c0d10; --bg-2: #15171c; --ink: #e7e8ec; --mute: #8d93a0; --rule: #262a32; --uv: #9686ff; --uv-wash: #9686ff1a; --uv-bright: #5a3cff; color-scheme: dark; } }
:root[data-theme="dark"] {
  --bg: #0c0d10; --bg-2: #15171c; --ink: #e7e8ec; --mute: #8d93a0; --rule: #262a32; --uv: #9686ff; --uv-wash: #9686ff1a; --uv-bright: #5a3cff; color-scheme: dark; }

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: var(--serif); font-size: 1.0625rem; line-height: 1.65;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--uv); }
:focus-visible { outline: 2px solid var(--uv); outline-offset: 3px; }
.wrap { max-width: var(--wide); margin: 0 auto; }
.mono, .meta, .eyebrow { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; }
.mute { color: var(--mute); }

/* masthead */
.mast { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem 2rem; padding-block: 1.5rem 1rem; }
.word { font-family: var(--display); font-weight: 600; font-size: 1.375rem; letter-spacing: -0.04em; text-decoration: none; }
.word i { font-style: normal; color: var(--uv); }
.nav { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; }
.nav a { text-decoration: none; color: var(--mute); }
.nav a:hover, .nav a[aria-current] { color: var(--ink); }
.dateline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.25rem 2rem; padding-block: 0.6rem; border-top: 1px solid var(--ink); color: var(--mute); }
.dateline b { color: var(--ink); font-weight: 500; }
.live { display: inline-block; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--uv); margin-right: 0.45rem; vertical-align: 0.05rem; animation: pulse 2.4s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: 0.25; } }
@media (prefers-reduced-motion: reduce) { .live { animation: none; } }

/* front page */
.lead { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding-block: clamp(3rem, 9vw, 7rem) clamp(2.5rem, 6vw, 4.5rem); }
.lead .eyebrow { color: var(--uv); }
.lead h1 { font-family: var(--display); font-weight: 250; font-size: clamp(2.6rem, 7.6vw, 6.4rem); line-height: 0.98; letter-spacing: -0.045em; margin: 0; max-width: 16ch; text-wrap: balance; }
.lead h1 a { text-decoration: none; }
.lead .dek { font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.45; max-width: 36rem; margin: 0; color: var(--ink); font-weight: 300; }
.lead .meta { color: var(--mute); }

.sectionhead { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; border-top: 1px solid var(--ink); padding-block: 0.6rem 1.5rem; }

.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 2.75rem 2.5rem; padding-bottom: 4.5rem; }
.card { display: flex; flex-direction: column; gap: 0.6rem; min-width: 0; text-decoration: none; }
.card .eyebrow { display: flex; justify-content: space-between; gap: 1rem; color: var(--mute); }
.card h3 { font-family: var(--display); font-weight: 400; font-size: 1.6rem; line-height: 1.08; letter-spacing: -0.03em; margin: 0; text-wrap: balance; }
.card p { margin: 0; color: var(--mute); font-size: 0.98rem; line-height: 1.5; }
.card:hover h3 { color: var(--uv); }
.score-sm { font-family: var(--display); font-weight: 300; font-size: 1.6rem; letter-spacing: -0.03em; color: var(--ink); line-height: 1; font-variant-numeric: tabular-nums; }
.card .row { display: flex; align-items: baseline; gap: 0.75rem; }

/* nearness board */
.board { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.board-wrap { overflow-x: auto; padding-bottom: 4.5rem; }
.board th { text-align: left; font-family: var(--mono); font-weight: 400; font-size: 0.7rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mute); padding: 0 1rem 0.6rem 0; }
.board td { padding: 0.9rem 1rem 0.9rem 0; border-top: 1px solid var(--rule); vertical-align: baseline; }
.board td.work { font-family: var(--display); font-size: 1.15rem; letter-spacing: -0.02em; }
.board td.work a { text-decoration: none; }
.board td.num { font-family: var(--display); font-weight: 300; font-size: 1.35rem; }
.board .yr { color: var(--mute); font-family: var(--mono); font-size: 0.8rem; }

/* nearness gauge */
.gauge { display: grid; gap: 0.45rem; min-width: 0; }
.gauge .cells { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; max-width: 18rem; }
.gauge .cells span { height: 6px; background: var(--rule); }
.gauge .cells span.on { background: var(--uv); }
.gauge.diverged .cells span { background: transparent; border-top: 1px dashed var(--mute); height: 0; margin-top: 3px; }
.gauge .labels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; max-width: 18rem; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.04em; color: var(--mute); }
.gauge .labels span.on { color: var(--ink); }
.pill { display: inline-block; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.06em; padding: 0.2rem 0.5rem; border: 1px solid currentColor; color: var(--uv); white-space: nowrap; }
.pill.solid { background: var(--uv); color: var(--bg); border-color: var(--uv); }

/* article */
.article-head { display: grid; gap: 1.4rem; padding-block: clamp(2.5rem, 8vw, 6rem) 2.5rem; max-width: 56rem; }
.article-head .eyebrow { color: var(--uv); display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; }
.article-head h1 { font-family: var(--display); font-weight: 250; font-size: clamp(2.4rem, 6.6vw, 5.2rem); line-height: 1; letter-spacing: -0.045em; margin: 0; text-wrap: balance; }
.article-head .dek { font-size: clamp(1.15rem, 2vw, 1.375rem); line-height: 1.45; margin: 0; max-width: 38rem; font-weight: 300; }
.byline { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; color: var(--mute); border-top: 1px solid var(--rule); padding-top: 0.9rem; }

.verdict { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.25rem 2.5rem; align-items: center; padding: 1.75rem 0; border-block: 1px solid var(--ink); max-width: 56rem; margin-bottom: 3rem; }
.verdict .big { font-family: var(--display); font-weight: 200; font-size: clamp(4.5rem, 12vw, 7.5rem); line-height: 0.85; letter-spacing: -0.06em; font-variant-numeric: tabular-nums; }
.verdict .facts { display: grid; gap: 0.9rem; min-width: 0; }
.verdict .work { font-family: var(--display); font-size: 1.25rem; letter-spacing: -0.02em; }
.verdict .note { font-size: 0.95rem; color: var(--mute); margin: 0; max-width: 34rem; }
@media (max-width: 34rem) { .verdict { grid-template-columns: minmax(0, 1fr); } }

.prose { max-width: var(--measure); padding-bottom: 3rem; }
.prose p { margin: 0 0 1.25em; }
.prose h2, .prose h3 { font-family: var(--display); font-weight: 500; letter-spacing: -0.02em; line-height: 1.2; margin: 2.2em 0 0.7em; font-size: 1.3rem; }
.prose hr { border: 0; height: 1.5rem; margin: 2.25rem 0; position: relative; }
.prose hr::after { content: "⟂"; position: absolute; left: 0; top: 0; font-family: var(--mono); color: var(--uv); font-size: 0.9rem; }
.prose blockquote { margin: 2rem 0; padding: 0 0 0 1.25rem; border-left: 2px solid var(--uv); font-style: italic; }
.prose blockquote p:last-child { margin-bottom: 0; }
.prose ul { padding-left: 1.2rem; margin: 0 0 1.25em; }
.prose a { color: var(--uv); }
.prose.dropcap > p:first-child::first-letter { font-family: var(--display); font-weight: 300; float: left; font-size: 4.4em; line-height: 0.82; margin: 0.06em 0.12em 0 0; color: var(--uv); }

/* the line (merch, quietly) */
.line { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 15rem); gap: 2rem; align-items: center; border-top: 1px solid var(--ink); padding-block: 1.5rem 4rem; max-width: 56rem; }
.line q { display: block; font-family: var(--display); font-weight: 300; font-size: clamp(1.6rem, 3.8vw, 2.4rem); line-height: 1.08; letter-spacing: -0.035em; quotes: none; text-wrap: balance; }
.line .eyebrow { color: var(--mute); margin-bottom: 0.9rem; }
.tee { aspect-ratio: 4 / 5; max-width: 100%; background: var(--ink); color: var(--bg); display: grid; align-content: space-between; padding: 1.1rem; clip-path: polygon(28% 0, 72% 0, 100% 14%, 92% 30%, 82% 26%, 82% 100%, 18% 100%, 18% 26%, 8% 30%, 0 14%); }
.tee .t { font-family: var(--display); font-weight: 500; font-size: 0.95rem; line-height: 1.05; letter-spacing: -0.02em; padding: 28% 22% 0; text-wrap: balance; }
.tee .c { font-family: var(--mono); font-size: 0.55rem; letter-spacing: 0.08em; padding: 0 22% 0.4rem; opacity: 0.7; }
@media (max-width: 40rem) { .line { grid-template-columns: minmax(0, 1fr); } .tee { max-width: 15rem; } }

.more { border-top: 1px solid var(--ink); padding-block: 0.6rem 4rem; }
.more .grid { padding-top: 1.5rem; padding-bottom: 0; }

/* static pages */
.page { max-width: var(--measure); padding-block: clamp(2.5rem, 8vw, 6rem) 4rem; }
.page h1 { font-family: var(--display); font-weight: 250; font-size: clamp(2.4rem, 6vw, 4.4rem); line-height: 1; letter-spacing: -0.045em; margin: 0 0 2rem; text-wrap: balance; }
.page h2 { font-family: var(--display); font-weight: 500; font-size: 1.2rem; letter-spacing: -0.02em; margin: 2.5rem 0 0.75rem; }
.page p { margin: 0 0 1.2em; }
.drop { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: 2rem; padding-block: 1rem 4rem; }
.drop figure { margin: 0; display: grid; gap: 0.6rem; }
.drop figcaption { font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--mute); }
.drop figcaption a { color: var(--ink); }

.signup { display: flex; flex-wrap: wrap; gap: 0.5rem; max-width: 30rem; }
.signup input { flex: 1 1 14rem; min-width: 0; font: inherit; font-family: var(--mono); font-size: 0.85rem; padding: 0.7rem 0.8rem; border: 1px solid var(--ink); background: transparent; color: var(--ink); border-radius: 0; }
.signup button { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.7rem 1rem; border: 1px solid var(--ink); background: var(--ink); color: var(--bg); cursor: pointer; border-radius: 0; }
.signup button:hover { background: var(--uv); border-color: var(--uv); }
.signup-msg { font-family: var(--mono); font-size: 0.75rem; color: var(--uv); min-height: 1.2em; margin: 0.6rem 0 0; }


/* plates: two inks, drawn in code */
.plate { margin: 0; display: grid; gap: 0.6rem; min-width: 0; }
.plate svg { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; max-width: 100%; }
.plate .i, .plate .u { fill: none; stroke-linecap: round; }
.plate .i { stroke: var(--ink); }
.plate .u { stroke: var(--uv); }
.plate .fi { fill: var(--ink); }
.plate .fu { fill: var(--uv); }
.plate .t { fill: var(--mute); font-family: var(--mono); font-size: 11px; letter-spacing: 0.06em; }
.plate .tu { fill: var(--uv); }
.plate figcaption { font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; }
.plate-lead svg { aspect-ratio: 21 / 8; margin-top: 1rem; }
.plate-article { margin-bottom: 3rem; max-width: var(--wide); }
.plate-article svg { aspect-ratio: 2 / 1; }
.plate-card svg { aspect-ratio: 16 / 10; margin-bottom: 0.4rem; }
@media (max-width: 40rem) { .plate-lead svg, .plate-article svg { aspect-ratio: 4 / 3; } }

/* manifesto: numbered notes, big statements */
.mf-head { display: grid; gap: 1.25rem; padding-block: clamp(3rem, 9vw, 7rem) clamp(2rem, 5vw, 3.5rem); max-width: 60rem; }
.mf-head .eyebrow { color: var(--uv); }
.mf-head h1 { font-family: var(--display); font-weight: 250; font-size: clamp(2.8rem, 8vw, 6.6rem); line-height: 0.96; letter-spacing: -0.05em; margin: 0; text-wrap: balance; }
.mf-head p { margin: 0; }
.mf-notes { list-style: none; margin: 0; padding: 0 0 3rem; }
.note { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 0.75rem 2rem; padding-block: clamp(2.25rem, 5vw, 3.75rem); border-top: 1px solid var(--rule); }
.note:first-child { border-top-color: var(--ink); }
.note-n { color: var(--uv); padding-top: 0.55rem; align-self: start; position: sticky; top: calc(env(safe-area-inset-top, 0px) + 1rem); }
.note-body { min-width: 0; max-width: 48rem; }
.note-body p { font-size: clamp(1.1rem, 1.7vw, 1.3rem); line-height: 1.55; max-width: 36rem; margin: 0 0 1em; }
.note-body p:last-child { margin-bottom: 0; }
.note-body blockquote { margin: 0 0 1.5rem; padding: 0; border: 0; font-style: normal; }
.note-body blockquote:not(:first-child) { margin-top: 2.25rem; }
.note-body blockquote:last-child { margin-bottom: 0; }
.note-body blockquote p { font-family: var(--display); font-weight: 300; font-size: clamp(1.9rem, 4.6vw, 3.6rem); line-height: 1.04; letter-spacing: -0.04em; max-width: 22ch; text-wrap: balance; margin: 0; }
.note:last-child blockquote p { color: var(--uv); }
.note-body ul { list-style: none; padding: 0; margin: 1.75rem 0 0; }
.note-body li { position: relative; padding-left: 2.25rem; font-family: var(--display); font-weight: 300; font-size: clamp(1.35rem, 2.6vw, 2.05rem); line-height: 1.16; letter-spacing: -0.03em; padding-block: 1.1rem; border-top: 1px solid var(--rule); text-wrap: pretty; }
.note-body li::before { content: "→"; position: absolute; left: 0; top: 1.35rem; color: var(--uv); font-family: var(--mono); font-size: 0.75em; }
.note-body li em { font-style: italic; }
@media (max-width: 40rem) { .note { grid-template-columns: minmax(0, 1fr); } .note-n { position: static; padding-top: 0; } }

/* official imagery (reviews) */
.still { margin: 0 0 3rem; display: grid; gap: 0.6rem; max-width: var(--wide); }
.still img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; max-width: 100%; background: var(--bg-2); }
.still figcaption, .credit { font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; }
.credit { max-width: 56rem; margin: -2.5rem 0 3rem; }
.verdict.has-poster { grid-template-columns: auto auto minmax(0, 1fr); }
.verdict .poster { display: block; width: clamp(6.5rem, 14vw, 10rem); height: auto; aspect-ratio: 2 / 3; object-fit: cover; box-shadow: 0 1px 0 var(--rule); }
@media (max-width: 34rem) { .verdict.has-poster { grid-template-columns: auto minmax(0, 1fr); } .verdict.has-poster .facts { grid-column: 1 / -1; } }
.plate-end { margin-top: 0; }


/* prediction ledger */
.board td.num.sm { font-size: 1rem; }
.mix { display: flex; gap: 2px; min-width: 7rem; max-width: 12rem; margin-top: 0.35rem; }
.mix span { flex: 1; height: 8px; }
.s-arrived, .pill.st-arrived { background: var(--uv); color: var(--bg); border-color: var(--uv); }
.s-arriving { background: var(--uv); opacity: 0.45; }
.pill.st-arriving { color: var(--uv); border-color: var(--uv); }
.s-near { background: var(--mute); }
.pill.st-near { color: var(--ink); border-color: var(--mute); }
.s-far { background: var(--rule); }
.pill.st-far { color: var(--mute); border-color: var(--rule); }
.s-diverged { border: 1px dashed var(--mute); height: 6px !important; }
.pill.st-diverged { color: var(--mute); border-style: dashed; border-color: var(--mute); }

.method { border-top: 1px solid var(--ink); padding-block: 0.6rem 4rem; }
.method-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 2rem 4rem; padding-top: 1.5rem; }
.method p { margin: 0 0 1rem; max-width: 36rem; }
.key { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; font-size: 0.95rem; }
.key .pill { margin-right: 0.5rem; min-width: 6.5rem; text-align: center; }
@media (max-width: 48rem) { .method-grid { grid-template-columns: minmax(0, 1fr); } }

.ledger { border-top: 1px solid var(--ink); padding-block: 0.75rem 4rem; max-width: 56rem; scroll-margin-top: 1rem; }
article .ledger { margin-top: 1rem; }
.ledger-title { font-family: var(--display); font-weight: 300; font-size: clamp(1.8rem, 4vw, 2.8rem); letter-spacing: -0.04em; line-height: 1.05; margin: 0.6rem 0 1.5rem; text-wrap: balance; }
.ledger-title .mono { font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; display: block; margin-top: 0.6rem; }
.ledger-head { display: grid; grid-template-columns: repeat(3, auto) minmax(0, 1fr); gap: 1.25rem 2.5rem; align-items: start; padding-bottom: 1.75rem; }
.pct { font-family: var(--display); font-weight: 200; font-size: 3.4rem; line-height: 1; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
.pct small { font-size: 0.45em; letter-spacing: 0; margin-left: 0.1em; }
.pct.sm { font-size: 2rem; font-weight: 300; margin-top: 0.5rem; }
.ledger-sum { margin: 0; color: var(--mute); font-size: 0.98rem; line-height: 1.5; }
@media (max-width: 48rem) { .ledger-head { grid-template-columns: repeat(3, auto); } .ledger-sum { grid-column: 1 / -1; } }

.claims { list-style: none; margin: 0; padding: 0; }
.claim { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 0.5rem 1.5rem; padding-block: 1.6rem; border-top: 1px solid var(--rule); scroll-margin-top: 1rem; }
.claim-id { color: var(--uv); padding-top: 0.35rem; }
.claim-main { display: grid; gap: 0.8rem; min-width: 0; }
.claim-text { font-family: var(--display); font-weight: 400; font-size: 1.3rem; line-height: 1.25; letter-spacing: -0.02em; margin: 0; text-wrap: pretty; }
.claim-meta { display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem; align-items: center; font-size: 0.72rem; }
.claim-assess { margin: 0; font-size: 0.98rem; line-height: 1.55; max-width: 40rem; }
@media (max-width: 34rem) { .claim { grid-template-columns: minmax(0, 1fr); } }

.cites { white-space: nowrap; }
.cite { font-family: var(--mono); font-size: 0.66rem; text-decoration: none; display: inline-block; min-width: 1.35rem; text-align: center; padding: 0.05rem 0.25rem; margin-left: 0.2rem; border: 1px solid var(--rule); vertical-align: 0.1em; color: var(--ink); }
.cite.for { border-color: var(--uv); color: var(--uv); }
.cite.against { border-style: dashed; border-color: var(--mute); }
.cite:hover { background: var(--uv-wash); }

.tl { max-width: 30rem; }
.tl-axis { position: relative; height: 14px; border-bottom: 1px solid var(--rule); }
.tl-now { position: absolute; top: -3px; bottom: -4px; width: 0; border-left: 1px dashed var(--uv); }
.tl-range { position: absolute; top: 4px; height: 6px; background: var(--uv-wash); border: 1px solid var(--uv); }
.tl-range.over { border-right-style: dashed; }
.tl-dot { position: absolute; top: 3px; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: var(--ink); }
.tl-dot.arrived { background: var(--uv); }
.tl-ticks { position: relative; height: 1.1rem; font-family: var(--mono); font-size: 0.6rem; color: var(--mute); }
.tl-tick { position: absolute; top: 0.2rem; transform: translateX(-50%); }
.tl-tick:first-child { transform: none; }
.tl-tick:last-child { transform: translateX(-100%); }

.refs-h { padding-top: 1.5rem; border-top: 1px solid var(--rule); }
.refs { margin: 0.9rem 0 1.5rem; padding-left: 1.6rem; display: grid; gap: 0.6rem; font-size: 0.88rem; line-height: 1.45; }
.refs li { padding-left: 0.3rem; scroll-margin-top: 1rem; }
.refs li::marker { font-family: var(--mono); font-size: 0.75rem; color: var(--mute); }
.refs li:target { background: var(--uv-wash); }
.refs a { color: var(--ink); }
.refs a:hover { color: var(--uv); }
.stance { font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.06em; margin-right: 0.4rem; color: var(--mute); }
.stance.for { color: var(--uv); }
.ledger-foot { font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; margin: 0; }
.card-img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-2); margin-bottom: 0.4rem; }
.card-img img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.15) contrast(1.02); transition: filter 0.3s; }
.card-img.is-poster img { object-position: 50% 22%; }
.card:hover .card-img img { filter: none; }

/* front page: cover, tiles, band, shelf */
body { overflow-x: clip; }
.cover { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem 3rem; align-items: center; padding-block: clamp(2rem, 6vw, 4.5rem) clamp(3rem, 7vw, 5rem); }
.cover-text { display: grid; gap: 1.25rem; min-width: 0; }
.cover .eyebrow { display: flex; gap: 1rem; color: var(--uv); }
.cover h1 { font-family: var(--display); font-weight: 250; font-size: clamp(2.5rem, 5.4vw, 4.9rem); line-height: 0.98; letter-spacing: -0.045em; margin: 0; text-wrap: balance; }
.cover h1 a { text-decoration: none; }
.cover .dek { font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.45; margin: 0; font-weight: 300; }
.cover .meta { color: var(--mute); }
.cover-art { display: block; min-width: 0; }
.cover-frame { position: relative; display: block; }
.cover-frame .chip b { font-size: 2.6rem; }
.cover-credit { display: block; font-size: 0.6rem; letter-spacing: 0.04em; text-transform: uppercase; margin-top: 0.5rem; }
.cover-art img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cover-art .plate { background: var(--ink); padding: clamp(0.75rem, 2vw, 1.5rem); }
.cover-art .plate svg { aspect-ratio: 4 / 3; }
.cover-art .plate .i { stroke: var(--bg); }
.cover-art .plate .fi { fill: var(--bg); }
.cover-art .plate .t { fill: var(--bg); opacity: 0.7; }
.cover-art .plate .u { stroke: var(--uv-bright); }
.cover-art .plate .fu { fill: var(--uv-bright); }
@media (max-width: 52rem) { .cover { grid-template-columns: minmax(0, 1fr); } .cover-art { order: -1; } }

.tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 1.5rem; padding-bottom: 4.5rem; }
@media (max-width: 60rem) { .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tile { display: grid; gap: 0.55rem; text-decoration: none; min-width: 0; align-content: start; }
.tile-img { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bg-2); margin-bottom: 0.35rem; }
.tile-img.is-poster img { object-position: 50% 12%; }
.tile-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }
.tile:hover .tile-img img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .tile-img img { transition: none; } }
.tile .eyebrow { display: flex; justify-content: space-between; gap: 0.5rem; }
.tile h3 { font-family: var(--display); font-weight: 400; font-size: 1.45rem; letter-spacing: -0.03em; line-height: 1.05; margin: 0; }
.tile p { margin: 0; color: var(--mute); font-size: 0.95rem; line-height: 1.4; }
.tile:hover h3 { color: var(--uv); }
.chip { position: absolute; left: 0; bottom: 0; display: flex; align-items: stretch; background: var(--bg); color: var(--ink); }
.chip b { font-family: var(--display); font-weight: 300; font-size: 1.9rem; letter-spacing: -0.04em; line-height: 1; padding: 0.45rem 0.6rem 0.4rem; font-variant-numeric: tabular-nums; }
.chip-badge { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.06em; text-transform: uppercase; background: var(--uv); color: var(--bg); padding: 0 0.5rem; display: flex; align-items: center; }

.band { position: relative; width: 100vw; margin-left: calc(50% - 50vw); margin-bottom: 4.5rem; background: #07080a; min-height: clamp(22rem, 52vw, 40rem); display: grid; align-items: end; overflow: hidden; }
.band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #07080a00 30%, #07080ad9 100%); }
.band-text { position: relative; z-index: 1; color: #f4f5f7; max-width: var(--wide); margin: 0 auto; width: 100%; padding-block: 2.5rem 3rem; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); display: grid; gap: 1rem; }
.band .eyebrow { color: #c9c3ff; }
.band-line { font-family: var(--display); font-weight: 250; font-size: clamp(2.2rem, 6vw, 5rem); line-height: 0.98; letter-spacing: -0.045em; margin: 0; max-width: 18ch; text-wrap: balance; }
.band-text a { color: #f4f5f7; }
.band-credit { position: absolute; z-index: 1; right: max(16px, env(safe-area-inset-right, 0px)); top: 1rem; font-size: 0.58rem; letter-spacing: 0.04em; text-transform: uppercase; color: #f4f5f7a6; max-width: 22rem; text-align: right; }

.essays { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; padding-bottom: 4.5rem; }
@media (max-width: 52rem) { .essays { grid-template-columns: minmax(0, 1fr); } }
.essay { display: grid; gap: 0.6rem; text-decoration: none; min-width: 0; align-content: start; }
.essay .eyebrow { display: flex; justify-content: space-between; gap: 1rem; }
.essay h3 { font-family: var(--display); font-weight: 400; font-size: 1.7rem; letter-spacing: -0.035em; line-height: 1.04; margin: 0; text-wrap: balance; }
.essay p { margin: 0; color: var(--mute); font-size: 0.98rem; line-height: 1.5; }
.essay:hover h3 { color: var(--uv); }

.shelf-wrap { overflow-x: auto; padding-bottom: 4.5rem; }
.shelf { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(9rem, 1fr); gap: 1.5rem; align-items: end; min-width: min-content; padding-top: 0.5rem; }
.book { display: grid; gap: 0.45rem; text-decoration: none; min-width: 0; }
.book img { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; box-shadow: 0 10px 24px -14px #000000aa; transition: transform 0.3s ease; }
.book:hover img { transform: translateY(-4px); }
@media (prefers-reduced-motion: reduce) { .book img { transition: none; } }
.book-score { font-family: var(--display); font-weight: 300; font-size: 1.6rem; letter-spacing: -0.04em; border-top: 1px solid var(--ink); padding-top: 0.6rem; display: flex; align-items: center; gap: 0.5rem; }
.book-title { font-family: var(--display); font-size: 1rem; letter-spacing: -0.01em; line-height: 1.15; }
.book .mono { font-size: 0.65rem; }

.mf-tease { border-top: 1px solid var(--ink); padding-block: 0.6rem 5rem; display: grid; gap: 1.25rem; }
.mf-tease .eyebrow { color: var(--uv); }
.mf-tease p { margin: 1rem 0 0; font-family: var(--display); font-weight: 250; font-size: clamp(2rem, 5vw, 4.2rem); line-height: 1; letter-spacing: -0.045em; max-width: 20ch; text-wrap: balance; }
.mf-tease p a { text-decoration: none; }
.mf-tease p a:hover { color: var(--uv); }

.spoiler { max-width: var(--measure); margin: 0 0 2.25rem; padding: 1rem 1.25rem 1.1rem; border-left: 3px solid var(--uv); background: var(--uv-wash); color: var(--ink); }
.spoiler-h { color: var(--uv); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.4rem; }
.spoiler p { margin: 0; font-size: 0.98rem; line-height: 1.5; }
.spoiler a { color: var(--uv); }

/* guides + data pages */
.foot-links a { color: var(--mute); }
.featured-in { max-width: 56rem; font-size: 0.72rem; letter-spacing: 0.03em; margin: 0 0 2.5rem; }
.featured-in a { color: var(--uv); }
.guide-intro { padding-bottom: 1rem; }
.pick-wrap { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 0 1.5rem; border-top: 1px solid var(--ink); padding-block: 1.5rem 1rem; max-width: 56rem; }
.pick-n { color: var(--uv); font-size: 1rem; padding-top: 0.2rem; }
.pick { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.pick-img { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-2); }
.pick-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pick-img.is-poster img { object-position: 50% 15%; }
.pick-img .chip b { font-size: 1.4rem; }
.pick-meta { display: grid; gap: 0.5rem; min-width: 0; }
.pick-title { font-family: var(--display); font-weight: 400; font-size: 1.8rem; letter-spacing: -0.03em; line-height: 1.05; margin: 0; }
.pick-title a { text-decoration: none; }
.pick-sub { display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; font-size: 0.72rem; color: var(--mute); }
.pick-sub a { color: var(--uv); }
.pick-blurb { grid-column: 2; padding: 1rem 0 0; }
@media (max-width: 40rem) { .pick-wrap { grid-template-columns: minmax(0, 1fr); } .pick { grid-template-columns: minmax(0, 1fr); } .pick-blurb { grid-column: 1; } }
.faq { border-top: 1px solid var(--ink); padding-block: 0.75rem 2rem; max-width: 56rem; }
.faq .eyebrow { color: var(--uv); margin-bottom: 1rem; }
.faq details { border-top: 1px solid var(--rule); padding-block: 1rem; }
.faq summary { font-family: var(--display); font-size: 1.25rem; letter-spacing: -0.02em; cursor: pointer; }
.faq .prose { padding: 0.75rem 0 0; }
.guide-foot { padding-bottom: 4rem; font-size: 0.72rem; }
.board.dp td { vertical-align: top; }
.dp-src { font-size: 0.66rem; margin-top: 0.35rem; text-transform: none; letter-spacing: 0.02em; }
.dp-src a { color: var(--mute); }

/* all content */
.ac-key { display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; font-size: 0.68rem; padding-bottom: 1.25rem; align-items: center; }
.ac-key > span { display: inline-flex; align-items: center; gap: 0.5rem; }
.ac-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--ink); }
.ac-f { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.5rem 0.8rem; border: 1px solid var(--rule); background: transparent; color: var(--ink); cursor: pointer; border-radius: 0; }
.ac-f span { color: var(--mute); margin-left: 0.3rem; }
.ac-f[aria-pressed="true"] { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.ac-f[aria-pressed="true"] span { color: var(--bg); opacity: 0.7; }
.ac { list-style: none; margin: 0 0 4rem; padding: 0; }
.ac-link { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr) minmax(0, 13rem); gap: 1.25rem; align-items: center; padding-block: 1rem; border-bottom: 1px solid var(--rule); text-decoration: none; }
.ac-link:hover .ac-title { color: var(--uv); }
.ac-sym { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border: 1px solid var(--rule); color: var(--uv); }
.ac-sym svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.ac-sym svg circle { fill: currentColor; stroke: none; }
.ac-sym:has(.ac-score) { border: 0; }
.ac-score { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; background: var(--ink); color: var(--bg); font-family: var(--display); font-weight: 300; font-size: 1.3rem; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.ac-score.ess { background: var(--uv); }
.ac-score.sm { width: 1.9rem; height: 1.4rem; font-size: 0.75rem; display: inline-grid; }
.ac-main { display: grid; gap: 0.2rem; min-width: 0; }
.ac-label { font-size: 0.64rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ac-title { font-family: var(--display); font-size: 1.2rem; letter-spacing: -0.02em; line-height: 1.15; }
.ac-yr { font-family: var(--mono); font-size: 0.72rem; color: var(--mute); }
.ac-sum { font-size: 0.9rem; color: var(--mute); line-height: 1.4; }
.ac-info { display: grid; gap: 0.45rem; justify-items: start; min-width: 0; }
.ac-pair { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.64rem; color: var(--mute); }
.ac-pair .mix { width: 4.5rem; min-width: 0; margin: 0; }
.ac-big { font-family: var(--display); font-weight: 300; font-size: 1.6rem; letter-spacing: -0.03em; }
.ac-big small { font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--mute); margin-left: 0.35rem; }
.mg { display: inline-grid; grid-template-columns: repeat(4, 0.7rem); gap: 2px; }
.mg i { height: 6px; background: var(--rule); }
.mg i.on { background: var(--uv); }
.mg.diverged i { background: transparent; border-top: 1px dashed var(--mute); height: 0; }
@media (max-width: 40rem) { .ac-link { grid-template-columns: 3.25rem minmax(0, 1fr); } .ac-info { grid-column: 2; } }

/* agent index */
.ag-sep { width: 1px; align-self: stretch; background: var(--rule); margin: 0 0.25rem; }
.ag-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.4fr); gap: 1.5rem 2rem; border-top: 1px solid var(--ink); padding-block: 1.25rem 1.75rem; }
.ag-stats .mono { font-size: 0.66rem; }
@media (max-width: 52rem) { .ag-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; height: 5.2rem; align-items: end; margin-top: 0.6rem; }
.hb { display: grid; grid-template-rows: 1fr auto auto; height: 100%; align-items: end; justify-items: center; }
.hb-bar { width: 100%; background: var(--uv); display: block; align-self: end; }
.hb-n { font-family: var(--display); font-size: 0.95rem; }
.hb-l { font-size: 0.6rem; color: var(--mute); }
.ag-key { border-top: 1px solid var(--rule); padding-block: 0.75rem; }
.ag-key summary { cursor: pointer; font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase; }
.ag-key ol { list-style: none; padding: 0; margin: 0.75rem 0 0.5rem; display: grid; gap: 0.3rem; }
.ag-key b { display: inline-block; width: 1.5rem; color: var(--uv); font-family: var(--mono); }
.ag-controls { border-bottom: 0; padding-bottom: 0.6rem; align-items: center; }
.ag-chips { padding-bottom: 1rem; }
.ag-chips .ac-f { font-size: 0.64rem; padding: 0.35rem 0.6rem; }
.ag-sortl { margin-left: auto; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.05em; }
.ag-sort { font-family: var(--mono); font-size: 0.72rem; padding: 0.45rem; border: 1px solid var(--rule); background: var(--bg); color: var(--ink); border-radius: 0; }
.ag-head, .ag > summary { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.2fr) minmax(0, 1.3fr) minmax(0, 2fr) minmax(0, 0.9fr) 3rem; gap: 1rem; align-items: center; }
.ag-head { font-size: 0.62rem; letter-spacing: 0.05em; text-transform: uppercase; padding-block: 0.5rem; border-bottom: 1px solid var(--ink); }
.ag { border-bottom: 1px solid var(--rule); scroll-margin-top: 1rem; }
.ag > summary { list-style: none; cursor: pointer; padding-block: 0.9rem; }
.ag > summary::-webkit-details-marker { display: none; }
.ag > summary:hover b { color: var(--uv); }
.ag[open] > summary b { color: var(--uv); }
.ag-name { display: grid; gap: 0.15rem; min-width: 0; }
.ag-name b { font-family: var(--display); font-weight: 400; font-size: 1.15rem; letter-spacing: -0.02em; }
.ag-name .mono, .ag-cat, .ag-st { font-size: 0.64rem; letter-spacing: 0.03em; }
.ag-aut { display: grid; gap: 0.3rem; }
.ag-aut .mono { font-size: 0.6rem; }
.am { display: inline-grid; grid-template-columns: repeat(5, 0.85rem); gap: 3px; }
.am i { height: 8px; background: var(--rule); }
.am i.on { background: var(--uv); }
.ag-caps { display: flex; flex-wrap: wrap; gap: 0.25rem; min-width: 0; }
.cap { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.03em; padding: 0.12rem 0.35rem; border: 1px solid var(--rule); color: var(--mute); white-space: nowrap; }
.st { text-transform: uppercase; letter-spacing: 0.05em; }
.st-live { color: var(--uv); }
.st-shut-down { color: var(--mute); text-decoration: line-through; }
.ag-score { font-family: var(--display); font-weight: 300; font-size: 1.4rem; letter-spacing: -0.03em; text-align: right; }
.ag-score.none { color: var(--rule); }
.ag-body { padding: 0.25rem 0 1.5rem; display: grid; gap: 1rem; max-width: 60rem; }
.ag-sum { font-family: var(--display); font-size: 1.25rem; letter-spacing: -0.02em; margin: 0; }
.ag-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.ag-sec p, .ag-sec ul { margin: 0.35rem 0 0; font-size: 0.95rem; line-height: 1.5; }
.ag-sec ul { padding-left: 1.1rem; }
.ag-sec .eyebrow, .ag-fic .eyebrow { color: var(--uv); }
.ag-fic { margin: 0; }
.ag-meta { font-size: 0.66rem; margin: 0; }
.ag-meta a { color: var(--uv); }
@media (max-width: 52rem) {
  .ag-head { display: none; }
  .ag > summary { grid-template-columns: minmax(0, 1fr) auto; }
  .ag-cat, .ag-caps { display: none; }
  .ag-aut { grid-column: 1; } .ag-st { grid-column: 2; grid-row: 2; text-align: right; } .ag-score { grid-column: 2; grid-row: 1; }
  .ag-cols { grid-template-columns: minmax(0, 1fr); }
}

/* nearness: works grid + ledger pages */
.lw { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: 2rem 1.5rem; padding-bottom: 4.5rem; }
.lw-card { display: grid; gap: 0.5rem; text-decoration: none; min-width: 0; align-content: start; }
.lw-card .eyebrow { display: flex; justify-content: space-between; gap: 0.5rem; }
.lw-card h3 { font-family: var(--display); font-weight: 400; font-size: 1.2rem; letter-spacing: -0.02em; line-height: 1.15; margin: 0; }
.lw-card:hover h3 { color: var(--uv); }
.lw-card .mix { max-width: none; }
.lw-img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-2); }
.lw-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lw-img.is-poster img { object-position: 50% 15%; }
.lw-pct { position: absolute; left: 0; bottom: 0; background: var(--bg); padding: 0.3rem 0.55rem; font-family: var(--display); font-weight: 300; font-size: 1.6rem; letter-spacing: -0.04em; line-height: 1; }
.lw-pct small { font-size: 0.5em; }
.lp-crumb { font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; padding-top: 2rem; color: var(--mute); }
.lp-crumb a { color: var(--uv); }
.lp-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem 3rem; align-items: center; padding-block: 1.5rem 2.5rem; }
.lp-text { display: grid; gap: 1rem; }
.lp-text .eyebrow { color: var(--uv); }
.lp-text h1 { font-family: var(--display); font-weight: 250; font-size: clamp(2.4rem, 5.6vw, 4.6rem); line-height: 0.98; letter-spacing: -0.045em; margin: 0; text-wrap: balance; }
.lp-text .dek { margin: 0; font-size: 1.15rem; line-height: 1.45; }
.lp-cta { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--uv); }
.lp-img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--bg-2); }
.lp-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp-img.is-poster img { object-position: 50% 15%; }
@media (max-width: 52rem) { .lp-head { grid-template-columns: minmax(0, 1fr); } .lp-img { order: -1; } }
.lp-nav { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 1px solid var(--ink); padding-block: 1rem 4rem; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; }
.lp-nav a { color: var(--uv); text-decoration: none; }

.ai-tease { display: grid; gap: 0.9rem; text-decoration: none; background: var(--ink); color: var(--bg); padding: clamp(1.5rem, 4vw, 2.75rem); margin-bottom: 4.5rem; }
.ai-tease .eyebrow { color: var(--uv-bright); }
.ai-line { font-family: var(--display); font-weight: 250; font-size: clamp(1.9rem, 4.6vw, 3.6rem); line-height: 1; letter-spacing: -0.045em; margin: 0; max-width: 20ch; text-wrap: balance; }
.ai-stats { display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; opacity: 0.85; }
.ai-stats b { font-family: var(--display); font-weight: 300; font-size: 1.3rem; letter-spacing: -0.02em; margin-right: 0.3rem; text-transform: none; }
.ai-go { margin-left: auto; color: var(--uv-bright); }
.ai-tease:hover .ai-line { color: var(--uv-bright); }

.ag-log { border-top: 1px solid var(--rule); padding-block: 0.9rem 0.6rem; }
.ag-log .eyebrow { color: var(--uv); margin-bottom: 0.5rem; }
.ag-log ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; font-size: 0.92rem; }
.ag-log .mono { font-size: 0.64rem; margin-right: 0.6rem; }

.pn-def { margin: 0; font-size: 0.72rem; letter-spacing: 0.03em; max-width: 40rem; }
.pn-def b { color: var(--uv); font-weight: 500; }

.page.about { max-width: 60rem; }
.about-lede { font-family: var(--display); font-weight: 300; font-size: clamp(1.4rem, 2.6vw, 1.9rem); line-height: 1.25; letter-spacing: -0.02em; max-width: 44rem; }
.isnt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 3rem; border-block: 1px solid var(--ink); padding-block: 0.5rem 1.5rem; margin: 2rem 0 1rem; }
.isnt ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.9rem; }
.isnt li { font-size: 0.98rem; line-height: 1.5; padding-left: 1.4rem; position: relative; }
.isnt div:first-child li::before { content: "→"; position: absolute; left: 0; color: var(--uv); font-family: var(--mono); font-size: 0.8em; top: 0.15em; }
.isnt div:last-child li::before { content: "×"; position: absolute; left: 0; color: var(--mute); font-family: var(--mono); top: 0; }
.about h2 { margin-top: 2.5rem; }
.about p { max-width: 40rem; }
@media (max-width: 44rem) { .isnt { grid-template-columns: minmax(0, 1fr); } }

.th-sort { all: unset; cursor: pointer; display: inline-flex; gap: 0.3rem; align-items: center; font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; }
.th-sort:hover { color: var(--ink); }
.th-sort:focus-visible { outline: 2px solid var(--uv); outline-offset: 2px; }
.th-sort .arr::after { content: "↕"; opacity: 0.35; }
th[aria-sort="ascending"] .th-sort { color: var(--uv); } th[aria-sort="ascending"] .arr::after { content: "↑"; opacity: 1; }
th[aria-sort="descending"] .th-sort { color: var(--uv); } th[aria-sort="descending"] .arr::after { content: "↓"; opacity: 1; }
.lw-sortl { display: inline-flex; align-items: center; gap: 0.5rem; }

.wchip { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--mute); }
.wdots { display: inline-grid; grid-template-columns: repeat(5, 5px); gap: 2px; }
.wdots i { width: 5px; height: 5px; border-radius: 50%; background: var(--rule); }
.wdots i.on { background: var(--ink); }
.claim-why { margin: 0; font-size: 0.68rem; letter-spacing: 0.02em; text-transform: none; }
.calc { border-top: 1px solid var(--rule); padding-block: 0.9rem; margin-bottom: 0.5rem; }
.calc summary { cursor: pointer; font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--uv); }
.calc-intro { font-size: 0.92rem; max-width: 40rem; color: var(--mute); }
.calc-t td { font-size: 0.88rem; vertical-align: top; }
.calc-t .num { font-family: var(--display); font-size: 1rem; text-align: right; }
.calc-t tfoot td { border-top: 1px solid var(--ink); font-weight: 500; }
.calc-why { font-size: 0.78rem; margin-top: 0.25rem; }
.calc-sum { font-size: 0.8rem; margin: 0.75rem 0 0; }
.calc-res td { border-top: 0; text-align: right; font-size: 0.85rem; }
.calc-res b { color: var(--uv); font-size: 1.15rem; }
.calc-est { font-size: 0.7rem; margin-top: 0.3rem; white-space: nowrap; }
.calc-sum b { color: var(--uv); font-size: 1.05rem; }

.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.signup-note { font-size: 0.62rem; letter-spacing: 0.02em; margin: 0.3rem 0 0; max-width: 30rem; text-transform: none; }

/* at a glance + agent pages */
.glance { border-block: 1px solid var(--ink); padding-block: 0.75rem 1.5rem; margin-bottom: 2.5rem; max-width: 60rem; }
.gl-h { color: var(--uv); margin-bottom: 1rem; }
.gl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1.5rem 2.5rem; }
.gl-big { font-family: var(--display); font-weight: 200; font-size: 3.4rem; line-height: 1; letter-spacing: -0.05em; margin: 0.3rem 0 0.6rem; }
.gl-big small { font-size: 0.32em; letter-spacing: 0; margin-left: 0.2rem; color: var(--mute); }
.gl-why, .gl-claims { margin: 0.4rem 0 0; padding-left: 1.1rem; display: grid; gap: 0.4rem; font-size: 0.95rem; line-height: 1.45; }
.gl-claims { list-style: none; padding: 0; }
.gl-claims .pill { margin-right: 0.35rem; font-size: 0.58rem; }
.gl-note { font-size: 0.95rem; line-height: 1.5; margin: 0.4rem 0 0.8rem; }
.gl-link { color: var(--uv); font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; }
.ap { max-width: 60rem; }
.ap-head { display: grid; gap: 0.9rem; padding-block: 1.25rem 2rem; }
.ap-head .eyebrow { color: var(--uv); }
.ap-head h1 { font-family: var(--display); font-weight: 250; font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: 0.98; letter-spacing: -0.045em; margin: 0; }
.ap-head .dek { margin: 0; font-size: 1.2rem; max-width: 42rem; }
.ap-sec { border-top: 1px solid var(--rule); padding-block: 1rem 1.5rem; }
.ap-sec h2 { font-family: var(--display); font-weight: 400; font-size: 1.3rem; letter-spacing: -0.02em; margin: 0 0 0.75rem; }
.ap-list { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.45rem; font-size: 0.95rem; }
.ap-list a { color: var(--uv); }
.ap-meta { font-size: 0.68rem; margin-top: 0.75rem; }

.plate-img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.plate-article .plate-img { aspect-ratio: 2 / 1; }
.plate-card .plate-img { margin-bottom: 0.4rem; }

.word { display: inline-flex; align-items: center; gap: 0.4rem; }
.word .mark { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 11; stroke-linecap: round; }

.qa { border-left: 3px solid var(--uv); background: var(--uv-wash); padding: 0.8rem 1rem; margin: 0.5rem 0 1rem; max-width: 46rem; }
.qa .eyebrow { color: var(--uv); margin-bottom: 0.3rem; }
.qa p { margin: 0; font-size: 1rem; line-height: 1.5; }

footer { border-top: 1px solid var(--ink); padding-block: 2rem 3rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 2rem; }
footer p { margin: 0 0 0.5rem; font-size: 0.95rem; }
footer .mono { color: var(--mute); }
