export const READER_STYLES = String.raw` :root { color-scheme: light; --color-canvas: #e8e2d7; --color-sheet: #f7f3ea; --color-surface: #fffaf0; --color-surface-muted: #eee8dc; --color-ink: #17212b; --color-ink-soft: #4d5b65; --color-ink-faint: #6d776f; --color-line: #c9c0b1; --color-line-strong: #8e8171; --color-focus: #a33d2d; --color-focus-soft: #f2d8cf; --color-branch: #285b68; --color-branch-soft: #d9e8e8; --color-warning: #7a4a08; --color-warning-soft: #f4e3bd; --color-danger: #842e28; --color-danger-soft: #f2d2ce; --color-shadow: rgba(33, 27, 20, 0.14); --color-guide: rgba(77, 91, 101, 0.08); --font-body: "Atkinson Hyperlegible", "Noto Sans", "DejaVu Sans", sans-serif; --font-display: "Iowan Old Style", "Noto Serif", "DejaVu Serif", serif; --font-mono: "IBM Plex Mono", "Noto Sans Mono", "DejaVu Sans Mono", monospace; --text-xs: 0.75rem; --text-sm: 0.875rem; --text-md: 1rem; --text-lg: 1.25rem; --text-xl: 1.75rem; --text-xxl: 2.5rem; --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4rem; --radius-sm: 0.25rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --line-thin: 0.0625rem; --line-heavy: 0.1875rem; --base-font-size: 1rem; --minimum-page-width: 20rem; --headline-measure: 18ch; --snapshot-width: 15rem; --link-preview-width: 12rem; --reading-width: 70rem; --prose-width: 48rem; --media-height: 42rem; --quote-media-height: 32rem; --feed-media-height: 18rem; --transition-fast: 140ms ease-out; --shadow-sheet: 0 0.75rem 2.5rem var(--color-shadow); } * { box-sizing: border-box; } html { background: var(--color-canvas); color: var(--color-ink); font-family: var(--font-body); font-size: var(--base-font-size); line-height: 1.55; } body { margin: 0; min-width: var(--minimum-page-width); background: linear-gradient(90deg, transparent 0, transparent calc(50% - var(--reading-width) / 2), var(--color-guide) calc(50% - var(--reading-width) / 2), transparent calc(50% - var(--reading-width) / 2 + var(--line-thin))), var(--color-canvas); } .reader-shell { width: min(var(--reading-width), calc(100% - var(--space-6))); margin: var(--space-6) auto; padding: var(--space-6); background: var(--color-sheet); border: var(--line-thin) solid var(--color-line); box-shadow: var(--shadow-sheet); } .masthead { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-5); align-items: end; padding-block-end: var(--space-5); border-block-end: var(--line-heavy) solid var(--color-ink); } .eyebrow, .section-label, .relationship, .reference, .badge, .metadata dt, .coverage-key { font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.055em; text-transform: uppercase; } .eyebrow { margin: 0 0 var(--space-2); color: var(--color-focus); } h1, h2, h3, p, dl, dd, figure, blockquote { margin-block-start: 0; } h1 { max-width: var(--headline-measure); margin-block-end: 0; font-family: var(--font-display); font-size: var(--text-xxl); font-weight: 700; line-height: 1.05; letter-spacing: -0.025em; } h2 { margin-block-end: var(--space-3); font-family: var(--font-display); font-size: var(--text-xl); line-height: 1.15; } h3 { margin-block-end: var(--space-2); font-size: var(--text-lg); line-height: 1.25; } .snapshot-mark { min-width: var(--snapshot-width); padding-inline-start: var(--space-4); border-inline-start: var(--line-thin) solid var(--color-line-strong); color: var(--color-ink-soft); font-size: var(--text-sm); } .snapshot-mark strong { display: block; margin-block-end: var(--space-1); color: var(--color-ink); } .overview { margin-block: var(--space-6); padding: var(--space-5); background: var(--color-surface-muted); border: var(--line-thin) solid var(--color-line); border-radius: var(--radius-md); } .overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); } .overview-item { min-width: 0; } .overview-item strong { display: block; margin-block-end: var(--space-1); font-family: var(--font-display); font-size: var(--text-lg); } .overview-item span, .coverage-note, .hint { color: var(--color-ink-soft); font-size: var(--text-sm); } .notice-list { display: grid; gap: var(--space-2); margin: var(--space-4) 0 0; padding: 0; list-style: none; } .notice { padding: var(--space-3) var(--space-4); overflow-wrap: anywhere; background: var(--color-warning-soft); border-inline-start: var(--line-heavy) solid var(--color-warning); color: var(--color-warning); font-size: var(--text-sm); } .notice.danger { background: var(--color-danger-soft); border-color: var(--color-danger); color: var(--color-danger); } .reading-sequence { display: grid; gap: var(--space-5); } .post-card, .profile-card, .target-card { position: relative; padding: var(--space-5); background: var(--color-surface); border: var(--line-thin) solid var(--color-line); border-inline-start: var(--line-heavy) solid var(--color-branch); border-radius: var(--radius-md); break-inside: avoid; } .post-card.context { background: var(--color-sheet); border-inline-start-color: var(--color-line-strong); } .post-card.focus { border-color: var(--color-focus); border-inline-start-width: calc(var(--line-heavy) * 2); box-shadow: 0 var(--space-2) var(--space-5) var(--color-shadow); } .post-card.unavailable { background: var(--color-danger-soft); border-inline-start-color: var(--color-danger); } .card-kicker { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; margin-block-end: var(--space-4); } .section-label, .relationship, .reference, .badge { display: inline-flex; align-items: center; min-height: var(--space-5); padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); } .section-label { background: var(--color-branch); color: var(--color-surface); } .focus .section-label { background: var(--color-focus); } .relationship { background: var(--color-branch-soft); color: var(--color-branch); text-transform: none; } .reference { background: var(--color-ink); color: var(--color-surface); text-transform: none; user-select: all; } .badge { border: var(--line-thin) solid var(--color-line-strong); color: var(--color-ink-soft); } .author-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); align-items: center; margin-block-end: var(--space-4); } .avatar-frame { position: relative; display: grid; width: var(--space-7); height: var(--space-7); place-items: center; overflow: hidden; background: var(--color-surface-muted); border: var(--line-thin) solid var(--color-line); border-radius: 50%; color: var(--color-ink-soft); font-family: var(--font-display); font-weight: 700; } .avatar-frame img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; } .author-name { font-size: var(--text-lg); font-weight: 800; line-height: 1.2; } .author-handle, .author-did { overflow-wrap: anywhere; color: var(--color-ink-soft); font-size: var(--text-sm); } .post-text, .profile-description, .target-value, .exact-copy { max-width: var(--prose-width); margin-block-end: var(--space-4); overflow-wrap: anywhere; white-space: pre-wrap; } .post-text { font-size: var(--text-lg); line-height: 1.55; } .empty-copy, .missing-copy { margin-block-end: var(--space-4); padding: var(--space-3); border: var(--line-thin) dashed var(--color-line-strong); color: var(--color-ink-soft); font-style: italic; } .metadata { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-5); margin-block: var(--space-4); padding-block: var(--space-4); border-block: var(--line-thin) solid var(--color-line); } .metadata div { min-width: 0; } .metadata dt { color: var(--color-ink-faint); } .metadata dd { margin: var(--space-1) 0 0; overflow-wrap: anywhere; color: var(--color-ink-soft); font-size: var(--text-sm); } .created-line { margin-block: var(--space-3); color: var(--color-ink-soft); font-size: var(--text-sm); } .created-line strong { color: var(--color-ink); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.055em; text-transform: uppercase; } .counts { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block: var(--space-3); } .count { padding: var(--space-1) var(--space-2); background: var(--color-surface-muted); border-radius: var(--radius-sm); color: var(--color-ink-soft); font-size: var(--text-sm); } .count strong { color: var(--color-ink); } .count.unknown { color: var(--color-ink-faint); } .detail-section { margin-block-start: var(--space-4); } .detail-section > h3 { padding-block-end: var(--space-2); border-block-end: var(--line-thin) solid var(--color-line); } .media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: var(--space-4); } .media-item, .link-card { min-width: 0; margin: 0; overflow: hidden; background: var(--color-surface-muted); border: var(--line-thin) solid var(--color-line); border-radius: var(--radius-md); } .image-stage { position: relative; display: grid; min-height: var(--space-8); place-items: center; overflow: hidden; background: repeating-linear-gradient(-45deg, var(--color-surface-muted), var(--color-surface-muted) var(--space-2), var(--color-sheet) var(--space-2), var(--color-sheet) var(--space-4)); } .image-stage img { position: relative; z-index: 1; display: block; width: auto; max-width: 100%; height: auto; max-height: var(--media-height); object-fit: contain; background: var(--color-surface-muted); } .quote-card .image-stage img { max-height: var(--quote-media-height); } .media-failure { position: absolute; inset: 0; display: none; padding: var(--space-5); place-items: center; color: var(--color-danger); font-family: var(--font-mono); font-size: var(--text-sm); font-weight: 700; text-align: center; } .media-item.media-missing .media-failure, .avatar-frame.media-missing .media-failure, .link-card.media-missing .media-failure { display: grid; } .media-missing img { visibility: hidden; } figcaption, .link-copy { padding: var(--space-3) var(--space-4); color: var(--color-ink-soft); font-size: var(--text-sm); } .media-kind { display: block; margin-block-end: var(--space-1); color: var(--color-ink); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.055em; text-transform: uppercase; } .alt-copy { display: block; margin-block-start: var(--space-2); padding-block-start: var(--space-2); border-block-start: var(--line-thin) solid var(--color-line); } .alt-copy summary, .technical-details summary { color: var(--color-branch); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.025em; cursor: pointer; } .alt-copy summary:focus-visible, .technical-details summary:focus-visible { outline: var(--line-heavy) solid var(--color-focus); outline-offset: var(--space-1); } .alt-description { margin-block-start: var(--space-2); color: var(--color-ink); white-space: pre-wrap; } .link-card { display: grid; grid-template-columns: minmax(var(--link-preview-width), 2fr) minmax(0, 3fr); } .link-card .image-stage img { width: 100%; height: 100%; max-height: var(--quote-media-height); object-fit: contain; } .link-title { margin-block-end: var(--space-2); color: var(--color-ink); font-size: var(--text-lg); font-weight: 800; } .link-uri, .uri-line { overflow-wrap: anywhere; color: var(--color-branch); font-family: var(--font-mono); font-size: var(--text-xs); } .quote-stack { display: grid; gap: var(--space-4); } .quote-card { margin: 0; padding: var(--space-4); background: var(--color-sheet); border: var(--line-thin) solid var(--color-line-strong); border-inline-start: var(--line-heavy) solid var(--color-focus); border-radius: var(--radius-md); } .quote-card .post-text { font-size: var(--text-md); } .facet-list, .relationship-list, .plain-list { display: grid; gap: var(--space-2); margin: 0; padding-inline-start: var(--space-5); } .facet-item, .relationship-item, .plain-list li { overflow-wrap: anywhere; } .facet-copy { font-family: var(--font-mono); font-size: var(--text-sm); white-space: pre-wrap; } .target-row { margin-block-start: var(--space-2); color: var(--color-ink-soft); font-size: var(--text-sm); } .profile-shell h1, .feed-shell h1, .profile-shell .overview-item strong { overflow-wrap: anywhere; } .profile-shell > [data-panel-block] + [data-panel-block] { margin-block-start: var(--space-5); } .profile-portrait { padding: 0; overflow: hidden; } .profile-banner { position: relative; display: grid; width: 100%; min-height: 6rem; max-height: 18rem; place-items: center; overflow: hidden; background: repeating-linear-gradient(-45deg, var(--color-surface-muted), var(--color-surface-muted) var(--space-2), var(--color-sheet) var(--space-2), var(--color-sheet) var(--space-4)); border-block-end: var(--line-thin) solid var(--color-line); } .profile-banner img { position: relative; z-index: 1; display: block; width: auto; max-width: 100%; height: auto; max-height: 18rem; object-fit: contain; } .profile-banner-failure { padding: var(--space-2) var(--space-4); background: var(--color-danger-soft); border-block-end: var(--line-thin) solid var(--color-danger); color: var(--color-danger); font-family: var(--font-mono); font-size: var(--text-xs); text-align: center; } .profile-banner.media-missing .media-failure { display: grid; } .profile-portrait-body { padding: var(--space-5); } .profile-identity { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--space-5); align-items: center; margin-block-end: var(--space-3); } .profile-identity > .avatar-frame { width: 6.5rem; height: 6.5rem; border-radius: var(--radius-lg); font-size: var(--text-xxl); } .profile-identity > .avatar-frame img { object-fit: contain; } .profile-identity-copy { min-width: 0; } .profile-name { overflow-wrap: anywhere; font-family: var(--font-display); font-size: var(--text-xxl); font-weight: 700; line-height: 1.05; } .profile-handle { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); align-items: center; margin-block-start: var(--space-1); overflow-wrap: anywhere; color: var(--color-ink-soft); } .profile-pronouns { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: baseline; margin-block-start: var(--space-3); } .profile-pronouns > span:first-child, .profile-website > span:first-child { color: var(--color-ink-faint); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; } .profile-relationships { margin-block-start: var(--space-2); color: var(--color-branch); font-size: var(--text-sm); font-weight: 700; } .missing-inline, .empty-inline { color: var(--color-ink-soft); font-style: italic; } .empty-inline { text-decoration: underline dotted; text-underline-offset: 0.2em; } .profile-about { margin-block-start: var(--space-3); padding-block-start: var(--space-4); border-block-start: var(--line-thin) solid var(--color-line); } .profile-about h2 { margin-block-end: var(--space-2); font-size: var(--text-lg); } .profile-about .profile-description { margin-block-end: 0; font-size: var(--text-lg); line-height: 1.6; } .profile-website { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-1) var(--space-3); margin-block-start: var(--space-4); padding: var(--space-3); overflow-wrap: anywhere; background: var(--color-surface-muted); border-radius: var(--radius-sm); } .profile-website-value { color: var(--color-branch); font-family: var(--font-mono); font-size: var(--text-sm); } .profile-counts { margin-block: var(--space-4); } .profile-recent-posts { display: inline-flex; gap: var(--space-2); align-items: center; margin-block-start: var(--space-3); padding: var(--space-2) var(--space-3); background: var(--color-focus-soft); border-inline-start: var(--line-heavy) solid var(--color-focus); border-radius: var(--radius-sm); } .profile-recent-posts > strong { color: var(--color-focus); font-size: var(--text-sm); } .profile-record-details, .profile-label-details, .enrichment-source-details, .enrichment-absent-sources { margin-block-start: var(--space-3); color: var(--color-ink-soft); font-size: var(--text-sm); } .profile-record-details { padding-block-start: var(--space-4); border-block-start: var(--line-thin) solid var(--color-line); } .profile-record-details summary, .profile-label-details summary, .enrichment-source-details summary, .enrichment-absent-sources > summary { color: var(--color-branch); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.025em; cursor: pointer; } .profile-record-details summary:focus-visible, .profile-label-details summary:focus-visible, .enrichment-source-details summary:focus-visible, .enrichment-absent-sources > summary:focus-visible { outline: var(--line-heavy) solid var(--color-focus); outline-offset: var(--space-1); } .profile-raw-record { min-width: 0; margin-block-start: var(--space-3); } .profile-raw-record > strong { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; } .profile-raw-record pre { max-height: 16rem; margin-block-end: 0; padding: var(--space-3); overflow: auto; background: var(--color-sheet); border: var(--line-thin) solid var(--color-line); border-radius: var(--radius-sm); color: var(--color-ink); font-size: var(--text-xs); white-space: pre-wrap; overflow-wrap: anywhere; } .profile-evidence-section { min-width: 0; padding: var(--space-5); overflow: hidden; background: var(--color-surface); border: var(--line-thin) solid var(--color-line); border-inline-start: var(--line-heavy) solid var(--color-branch); border-radius: var(--radius-md); break-inside: avoid; } .profile-evidence-section > header { padding-block-end: var(--space-2); border-block-end: var(--line-thin) solid var(--color-line); } .profile-evidence-section > header h2 { margin-block-end: 0; } .profile-labels { margin-block-start: var(--space-4); padding-block-start: var(--space-4); border-block-start: var(--line-thin) solid var(--color-line); } .profile-labels > h2 { margin-block-end: var(--space-2); font-size: var(--text-lg); } .profile-label-list { display: grid; gap: var(--space-3); margin: var(--space-2) 0 0; padding: 0; list-style: none; } .profile-label-card { min-width: 0; padding: var(--space-3) var(--space-4); overflow-wrap: anywhere; background: var(--color-sheet); border: var(--line-thin) solid var(--color-line); border-inline-start: var(--line-heavy) solid var(--color-branch); border-radius: var(--radius-sm); } .profile-label-card.historical { border-inline-start-color: var(--color-warning); } .profile-label-card.negated { border-inline-start-color: var(--color-danger); } .profile-label-card p { margin: var(--space-2) 0 0; color: var(--color-ink-soft); font-size: var(--text-sm); } .profile-label-summary { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); align-items: center; } .profile-label-summary > strong { margin-inline-end: auto; } .profile-label-expiry { color: var(--color-ink-soft); font-family: var(--font-mono); font-size: var(--text-xs); } .badge.self-issued { background: var(--color-branch-soft); border-color: var(--color-branch); color: var(--color-branch); } .badge.third-party, .badge.unknown { background: var(--color-warning-soft); border-color: var(--color-warning); color: var(--color-warning); } .badge.negated { background: var(--color-danger-soft); border-color: var(--color-danger); color: var(--color-danger); } .profile-label-details .metadata, .enrichment-source-details .metadata { margin-block-end: 0; } .enrichment-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(26rem, 100%), 1fr)); gap: var(--space-4); margin-block-start: var(--space-4); } .enrichment-absent-sources { padding: var(--space-3) var(--space-4); background: var(--color-surface-muted); border: var(--line-thin) dashed var(--color-line-strong); border-radius: var(--radius-sm); } .enrichment-absent-sources > ol { display: grid; gap: var(--space-4); margin: var(--space-3) 0 0; padding: 0; list-style: none; } .enrichment-absent-sources > ol > li { min-width: 0; padding-block-start: var(--space-3); border-block-start: var(--line-thin) solid var(--color-line); } .enrichment-absent-sources li > header { display: flex; gap: var(--space-3); align-items: start; justify-content: space-between; } .enrichment-absent-sources .metadata { margin-block-end: 0; } .absent-enrichment-items { margin-block-start: var(--space-3); } .enrichment-card { min-width: 0; padding: var(--space-4); overflow: hidden; background: var(--color-sheet); border: var(--line-thin) solid var(--color-line); border-inline-start: var(--line-heavy) solid var(--color-branch); border-radius: var(--radius-md); break-inside: avoid; } .enrichment-card.unavailable { background: var(--color-warning-soft); border-inline-start-color: var(--color-warning); } .enrichment-card.unsupported { border-inline-start-style: dashed; } .enrichment-card > header { display: flex; min-width: 0; gap: var(--space-3); align-items: flex-start; justify-content: space-between; } .enrichment-card h3 { margin-block-end: 0; overflow-wrap: anywhere; } .enrichment-status { color: var(--color-ink-faint); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.04em; } .enrichment-status { padding: var(--space-1) var(--space-2); background: var(--color-surface-muted); border: var(--line-thin) solid var(--color-line-strong); border-radius: var(--radius-sm); } .enrichment-card.unavailable .enrichment-status { background: var(--color-sheet); border-color: var(--color-warning); color: var(--color-warning); } .enrichment-status-copy, .enrichment-empty, .enrichment-omission { margin-block: var(--space-2) 0; color: var(--color-ink-soft); font-size: var(--text-sm); } .enrichment-omission { font-style: italic; } .enrichment-items { display: grid; gap: var(--space-2); margin-block: var(--space-3) 0; } .enrichment-items > div { display: grid; grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr); gap: var(--space-3); padding-block-start: var(--space-2); border-block-start: var(--line-thin) solid var(--color-line); } .enrichment-items dt { overflow-wrap: anywhere; color: var(--color-ink-soft); font-size: var(--text-sm); font-weight: 700; } .enrichment-items dd { min-width: 0; margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; } .enrichment-source-details summary { overflow-wrap: anywhere; } .enrichment-exact-note { margin-block-end: var(--space-3); } .enrichment-exact-note > strong { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; } .enrichment-exact-note .exact-copy { margin-block: var(--space-1) 0; } .author-feed-heading { margin-block-end: var(--space-4); padding: var(--space-3); background: var(--color-sheet); border-inline-start: var(--line-heavy) solid var(--color-focus); } .author-feed-heading .author-row { margin-block-end: 0; } .profile-card, .target-card { border-inline-start-color: var(--color-focus); } .target-value { padding: var(--space-4); background: var(--color-surface-muted); border-radius: var(--radius-sm); font-family: var(--font-mono); } .technical-details { margin-block-start: var(--space-4); padding-block-start: var(--space-3); border-block-start: var(--line-thin) solid var(--color-line); } .technical-body { margin-block-start: var(--space-3); padding: var(--space-4); background: var(--color-surface-muted); border-radius: var(--radius-sm); } .technical-body > h3 { margin-block-start: var(--space-4); font-size: var(--text-md); } .technical-metadata { margin-block-start: 0; } .feed-sequence { display: grid; gap: var(--space-3); } .feed-card, .feed-empty { position: relative; min-width: 0; padding: var(--space-4) var(--space-5); overflow: hidden; background: var(--color-surface); border: var(--line-thin) solid var(--color-line); border-inline-start: var(--line-heavy) solid var(--color-branch); border-radius: var(--radius-md); break-inside: avoid; } .feed-card.unavailable { background: var(--color-danger-soft); border-inline-start-color: var(--color-danger); } .feed-empty { padding-block: var(--space-6); border-inline-start-color: var(--color-line-strong); text-align: center; } .feed-empty p { max-width: var(--prose-width); margin: 0 auto; color: var(--color-ink-soft); } .feed-glimpse-head, .encounter-path { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); align-items: center; } .feed-shell .reference { min-height: 1.25rem; padding: 0 0.375rem; text-transform: none; } .feed-reason { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-1) var(--space-2); align-items: baseline; margin-block-end: var(--space-2); overflow-wrap: anywhere; color: var(--color-focus); font-size: var(--text-sm); } .feed-reason > span:not(.reference) { color: var(--color-ink-soft); font-family: var(--font-mono); font-size: var(--text-xs); } .feed-author-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-2); align-items: center; min-width: 0; margin-block-end: var(--space-2); } .feed-author-row > div { min-width: 0; } .feed-author-row .avatar-frame { width: 2.25rem; height: 2.25rem; } .feed-author-identity, .feed-card-meta { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-1) var(--space-2); align-items: baseline; overflow-wrap: anywhere; } .feed-author-identity { color: var(--color-ink-soft); font-size: var(--text-sm); } .feed-author-identity strong { color: var(--color-ink); font-size: var(--text-md); } .feed-avatar-state { color: var(--color-ink-faint); font-family: var(--font-mono); font-size: var(--text-xs); font-style: italic; } .feed-card-meta { margin-block-start: var(--space-1); color: var(--color-ink-faint); font-family: var(--font-mono); font-size: var(--text-xs); } .feed-copy, .feed-exact-copy { max-width: var(--prose-width); overflow-wrap: anywhere; white-space: pre-wrap; } .feed-copy.body { margin-block-end: var(--space-2); font-size: var(--text-lg); line-height: 1.5; } .feed-copy.glimpse { margin-block-end: var(--space-2); line-height: 1.45; } .feed-copy.excerpted { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; } .feed-copy.body.excerpted { -webkit-line-clamp: 6; } .feed-copy.glimpse.excerpted { -webkit-line-clamp: 2; } .feed-excerpt-note { margin-block: var(--space-1) var(--space-2); color: var(--color-warning); font-family: var(--font-mono); font-size: var(--text-xs); } .feed-record-details, .feed-page-details { color: var(--color-ink-soft); font-size: var(--text-sm); } .feed-record-details summary, .feed-page-details summary { color: var(--color-branch); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.025em; cursor: pointer; } .feed-record-details summary:focus-visible, .feed-page-details summary:focus-visible { outline: var(--line-heavy) solid var(--color-focus); outline-offset: var(--space-1); } .feed-exact-copy { margin-block-start: var(--space-2); padding: var(--space-3); background: var(--color-surface-muted); border: var(--line-thin) solid var(--color-line); color: var(--color-ink); font-size: var(--text-md); } .feed-engagement { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-block: var(--space-2) var(--space-1); } .feed-count { display: flex; min-width: 0; gap: var(--space-1); align-items: baseline; justify-content: center; padding: var(--space-1) var(--space-2); overflow: hidden; background: var(--color-surface-muted); border-radius: var(--radius-sm); color: var(--color-ink-soft); font-size: var(--text-sm); white-space: nowrap; } .feed-count strong { color: var(--color-ink); font-variant-numeric: tabular-nums; } .feed-count.unknown { color: var(--color-ink-faint); } .feed-exact-counts { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); justify-content: flex-start; margin-block: var(--space-3); } .feed-media, .feed-links { margin-block-start: var(--space-2); } .feed-media-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); } .feed-card .media-item { border-radius: var(--radius-sm); } .feed-card .image-stage { min-height: var(--space-7); } .feed-card .image-stage img { max-height: var(--feed-media-height); object-fit: contain; } .feed-card figcaption { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); align-items: center; padding: var(--space-1) var(--space-2); font-size: var(--text-xs); } .feed-card figcaption .media-kind { display: inline; margin: 0; } .feed-link-preview { display: grid; grid-template-columns: 8rem minmax(0, 1fr); min-width: 0; overflow: hidden; background: var(--color-surface-muted); border: var(--line-thin) solid var(--color-line); border-radius: var(--radius-sm); } .feed-link-preview.no-thumbnail { grid-template-columns: 1fr; } .feed-link-preview .image-stage img { width: 100%; height: 100%; max-height: 9rem; object-fit: contain; } .feed-link-preview.media-missing .media-failure { display: grid; } .feed-link-copy { min-width: 0; padding: var(--space-2) var(--space-3); } .feed-link-label { margin-block-end: var(--space-1); color: var(--color-ink-soft); font-family: var(--font-mono); font-size: var(--text-xs); } .feed-link-copy > strong { display: block; overflow-wrap: anywhere; } .feed-link-description { display: -webkit-box; overflow: hidden; color: var(--color-ink-soft); font-size: var(--text-sm); white-space: pre-wrap; -webkit-box-orient: vertical; -webkit-line-clamp: 2; } .feed-context-stack { display: grid; gap: var(--space-2); margin-block-start: var(--space-2); } .feed-glimpse { min-width: 0; padding-inline-start: var(--space-3); overflow-wrap: anywhere; border-inline-start: var(--line-heavy) solid var(--color-focus); } .feed-glimpse.unavailable { border-inline-start-color: var(--color-danger); } .feed-glimpse-head { gap: var(--space-1) var(--space-2); margin-block-end: var(--space-1); color: var(--color-ink-soft); font-size: var(--text-sm); } .feed-glimpse-head > strong:first-child { color: var(--color-focus); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.025em; text-transform: uppercase; } .feed-glimpse-status { color: var(--color-danger); font-family: var(--font-mono); font-size: var(--text-xs); } .feed-glimpse-missing { color: var(--color-ink-soft); font-style: italic; } .feed-glimpse .feed-copy.glimpse { margin-block-end: 0; font-size: var(--text-md); } .feed-glimpse-media-note { margin-block-start: var(--space-1); color: var(--color-ink-faint); font-size: var(--text-xs); } .feed-omission { margin-block-start: var(--space-2); padding: var(--space-2); overflow-wrap: anywhere; background: var(--color-warning-soft); color: var(--color-warning); font-size: var(--text-xs); } .feed-record-details { margin-block-start: var(--space-2); padding-block-start: var(--space-2); border-block-start: var(--line-thin) solid var(--color-line); } .feed-record-details .technical-body { padding: var(--space-3); } .feed-exact-counts > strong { flex-basis: 100%; } .feed-detail-line, .feed-detail-section { margin-block-start: var(--space-3); overflow-wrap: anywhere; } .feed-exact-text-record { margin-block-start: var(--space-2); } .feed-exact-text-record > strong { color: var(--color-ink); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.025em; text-transform: uppercase; } .feed-exact-text-record .feed-exact-copy { margin-block-start: var(--space-1); } .feed-page-details { margin-block-start: var(--space-3); } .encounter-breadcrumb { margin-block: var(--space-3) var(--space-4); padding: var(--space-3); overflow-wrap: anywhere; background: var(--color-focus-soft); border-inline-start: var(--line-heavy) solid var(--color-focus); } .encounter-path { margin-block-end: var(--space-2); } .encounter-path .eyebrow { margin: 0; } .encounter-path > strong { font-family: var(--font-display); } .encounter-breadcrumb .feed-reason { margin-block: var(--space-2) 0; } .encounter-reason-missing { margin-block-start: var(--space-2); color: var(--color-ink-soft); font-size: var(--text-sm); } .footer-note { margin-block-start: var(--space-6); padding-block-start: var(--space-4); border-block-start: var(--line-heavy) solid var(--color-ink); color: var(--color-ink-soft); font-size: var(--text-sm); } @media (max-width: 48rem) { .reader-shell { width: 100%; margin: 0; padding: var(--space-4); border: 0; box-shadow: none; } .masthead, .overview-grid, .metadata, .link-card { grid-template-columns: 1fr; } .snapshot-mark { padding: var(--space-3) 0 0; border: 0; border-block-start: var(--line-thin) solid var(--color-line); } h1 { font-size: var(--text-xl); } .post-card, .profile-card, .target-card, .feed-card, .feed-empty { padding: var(--space-4); } .feed-media-grid, .feed-link-preview, .profile-identity, .profile-website, .enrichment-items > div { grid-template-columns: 1fr; } .profile-portrait { padding: 0; } .profile-portrait-body, .profile-evidence-section { padding: var(--space-4); } .profile-name { font-size: var(--text-xl); } } @media print { body { background: var(--color-sheet); } .reader-shell { width: 100%; margin: 0; border: 0; box-shadow: none; } } `;