/* Stellar reading system: layout, rhythm and disclosure; colors live in cosmos.css. */
:root[data-mode] { --reading-width: 72ch; --space-page: clamp(20px, 4vw, 48px); }
html { scroll-padding-top: 96px; }
body { font-size: 16px; line-height: 1.8; }
button, input, select, textarea, summary { touch-action: manipulation; }
:root[data-mode] .site-header { border-bottom: 1px solid var(--cosmic-canvas-line); }
:root[data-mode] .header-inner { max-width: 1320px; min-height: 76px; padding: 12px 32px; gap: 28px; }
:root[data-mode] .brand { flex: 0 1 auto; min-width: 0; gap: 10px; font: 500 19px/1.35 var(--serif); color: var(--cosmic-canvas-ink); }
:root[data-mode] .brand > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:root[data-mode] .brand-symbol { font-size: 30px; flex-shrink: 0; }
:root[data-mode] .brand-logo { display: block; width: 36px; height: 36px; object-fit: contain; flex-shrink: 0; }
:root[data-mode] .brand small { font: 12px/1.5 var(--sans); letter-spacing: 0; margin-top: 3px; }
:root[data-mode] .brand small { display: none; }
:root[data-mode] .main-nav { display: flex; gap: 4px; margin-left: auto; flex-shrink: 0; }
:root[data-mode] .main-nav a { padding: 10px 13px; min-height: 44px; font: 14px/24px var(--sans); border: 0; border-radius: 8px; }
:root[data-mode] .main-nav a[aria-current], :root[data-mode] .main-nav a:hover { background: #d7e3ff12; }
:root[data-mode] .main-nav a[aria-current]::after { display: none; }
:root[data-mode] .site-tools { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
:root[data-mode] .site-tools > :is(a, button) { display: grid; place-items: center; width: 42px; min-height: 44px; border: 0; border-radius: 9px; background: none; color: var(--cosmic-canvas-muted); }
:root[data-mode] .site-tools .header-appearance-toggle { position: static; width: 42px; height: 44px; padding: 0; background: none; border: 0; box-shadow: none; animation: none; }
:root[data-mode] .site-tools .header-appearance-toggle .appearance-toggle-icon { font-size: 23px; line-height: 1; }
:root[data-mode] .site-tools .search-shortcut { font-size: 25px; }
:root[data-mode] .site-tools > :is(a, button):hover { background: #d7e3ff12; color: var(--cosmic-canvas-ink); }
:root[data-mode] .site-tools #appearance-toggle .appearance-toggle-icon { color: var(--cosmic-canvas-ink); }
.mobile-navigation { position: relative; display: block; flex-shrink: 0; }
.mobile-navigation > summary { display: grid; place-items: center; width: 46px; min-height: 46px; cursor: pointer; list-style: none; border: 1px solid var(--cosmic-canvas-line); border-radius: 50%; background: color-mix(in srgb, var(--cosmic-solid) 58%, transparent); color: var(--cosmic-canvas-ink); font-size: 19px; }
.mobile-navigation > summary::-webkit-details-marker { display: none; }
.mobile-navigation[open] > summary { border-color: var(--cosmic-accent); background: var(--cosmic-soft); }
.header-menu-panel { position: absolute; z-index: 125; top: calc(100% + 10px); right: 0; display: grid; gap: 10px; width: min(332px, calc(100vw - 32px)); padding: 12px; border: 1px solid var(--cosmic-line); border-radius: 16px; background: color-mix(in srgb, var(--cosmic-solid) 96%, transparent); box-shadow: 0 18px 52px #0008; }
.header-menu-utilities { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding-bottom: 10px; border-bottom: 1px solid var(--cosmic-line); }
.header-menu-utilities :is(.menu-search, .language-link) { display: flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-height: 44px; padding: 8px 12px; border: 1px solid var(--cosmic-line); border-radius: 10px; color: var(--cosmic-canvas-ink); font: 13px/1.5 var(--sans); background: var(--cosmic-soft); }
.header-menu-utilities .menu-search { width: 100%; justify-content: flex-start; }
.header-menu-utilities .menu-search > span:first-child { font-size: 23px; line-height: 1; }
.header-menu-utilities .language-link { min-width: 64px; }
.header-menu-panel nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.header-menu-panel nav > a { display: flex; align-items: center; min-height: 44px; padding: 9px 12px; border-radius: 8px; color: var(--cosmic-canvas-muted); font: 14px/1.5 var(--sans); }
.header-menu-panel nav > a:hover,
.header-menu-panel nav > a[aria-current] { color: var(--cosmic-canvas-ink); background: var(--cosmic-soft); }
:root[data-mode] .cosmos-preferences { top: 88px; bottom: auto; max-height: calc(100dvh - 110px); right: max(24px, calc((100vw - 1280px)/2)); }
:root[data-mode] .site-stage { padding-top: 76px; min-height: calc(100dvh - 180px); }
:root[data-mode] .site-stage > main { min-height: 0; }
:root[data-mode] .category-nav { padding-inline: var(--space-page); font-size: 13px; }
:root[data-mode] .announcement { margin: 12px auto 0; max-width: 1144px; border-radius: 8px; font-size: 14px; }
/* Home: one usable constellation, not a second menu plus a decorative map. */
:root[data-mode] .journal-home { max-width: 1200px; padding: 64px 32px 12px; --journal-ink: var(--cosmic-canvas-ink); --journal-muted: var(--cosmic-canvas-muted); --journal-accent: var(--cosmic-canvas-ink); --journal-line: var(--cosmic-canvas-line); }
:root[data-mode] .journal-home .journal-hero { position: relative; grid-template-columns: minmax(0, 1fr) 420px; gap: 48px; padding: 0 0 40px; align-items: center; border-bottom: 1px solid var(--cosmic-canvas-line); }
:root[data-mode] .journal-home .journal-hero h1 { font-size: clamp(38px, 4.5vw, 60px); line-height: 1.38; max-width: 11em; letter-spacing: -.035em; text-wrap: balance; }
:root[data-mode] .journal-home .journal-kicker { margin-bottom: 18px; font-size: 12px; letter-spacing: .08em; }
:root[data-mode] .journal-home .journal-description { max-width: 40ch; font-size: 16px; line-height: 1.95; margin-top: 22px; }
:root[data-mode] .journal-home .journal-description { text-wrap: balance; }
:root[data-mode] .journal-index { display: flex; align-items: center; justify-content: flex-start; gap: 12px; border: 0; padding: 0; margin-top: 22px; }
:root[data-mode] .journal-author { gap: 14px; min-height: 40px; }
:root[data-mode] .journal-author strong { font: 500 15px/1.6 var(--sans); }
.journal-author-star { font-size: 26px; color: var(--cosmic-canvas-muted); }
:root[data-mode] .journal-index p { display: none; }
:root[data-mode] .journal-index-label { font-size: 12px; }
:root[data-mode] .journal-directory { position: relative; display: block; min-height: 300px; height: 300px; width: 420px; border: 0; padding: 0; margin: 0; color: var(--cosmic-canvas-ink); }
.constellation-chart { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
:root[data-mode] .journal-directory a { position: absolute; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: max-content; max-width: 168px; min-height: 44px; padding: 4px 8px 4px 0; border: 0; border-radius: 0; background: none; box-shadow: none; font: 14px/1.5 var(--sans); color: var(--cosmic-canvas-muted); }
:root[data-mode] #home-tab-stories { left: 20px; top: 28px; }
:root[data-mode] #home-tab-projects { left: 252px; top: 100px; }
:root[data-mode] #home-tab-updates { left: 116px; top: 224px; }
:root[data-mode] .journal-directory a[aria-selected="true"], :root[data-mode] .journal-directory a[aria-current="page"] { background: none; border: 0; box-shadow: none; color: var(--cosmic-canvas-ink); }
:root[data-mode] .journal-directory a::after { display: none; }
:root[data-mode] .journal-directory-number { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--cosmic-canvas-line); border-radius: 50%; background: var(--cosmic-base); font: 12px/1 var(--mono); opacity: 1; }
:root[data-mode] .journal-directory a:is([aria-selected="true"], [aria-current="page"]) .journal-directory-number { border-color: var(--cosmic-canvas-ink); box-shadow: 0 0 0 6px #cbdcff0b, 0 0 22px #cbdcff30; }
:root[data-mode] .journal-directory a:hover .journal-directory-number { border-color: var(--cosmic-canvas-ink); }
:root[data-mode] .journal-total { font: 12px/1.6 var(--mono); background: none; padding: 0; min-width: 0; color: var(--cosmic-canvas-ink); }
:root[data-mode] .journal-directory a:focus-visible { outline-color: var(--cosmic-canvas-ink); border-radius: 4px; }
:root[data-mode] .journal-section { margin-top: 34px; }
:root[data-mode] .journal-section-head { margin-bottom: 24px; gap: 20px; }
:root[data-mode] .journal-section-head h2 { font: 500 24px/1.5 var(--sans); }
:root[data-mode] .journal-section-head p { font-size: 14px; }
:root[data-mode] .journal-section-head > a { font-size: 13px; }
:root[data-mode] .journal-download { gap: 10px; font-size: 12px; }
:root[data-mode] :is(.journal-empty, .journal-quiet) { padding: 30px; background: var(--cosmic-surface); border: 1px solid var(--cosmic-line); box-shadow: none; }
/* Page headings and lists: one hierarchy throughout the public site. */
:root[data-mode] .editorial-pages :is(.articles-canvas-wrap, .projects-canvas-wrap, .reading-wrap, .project-detail-wrap) { max-width: 1200px; padding: 52px 32px 24px; }
:root[data-mode] .editorial-pages :is(.timeline-page-header, .projects-canvas-header) { padding: 0; margin-bottom: 32px; }
:root[data-mode] .editorial-pages :is(.timeline-page-header h1, .projects-canvas-header h1) { color: var(--cosmic-canvas-ink); font-size: clamp(32px, 3.7vw, 46px); line-height: 1.35; margin: 0 0 10px; }
:root[data-mode] .editorial-pages :is(.timeline-page-header p, .projects-desc) { font-size: 16px; line-height: 1.9; max-width: 62ch; }
:root[data-mode] .editorial-pages :is(.timeline-page-header .eyebrow, .projects-eyebrow) { font: 12px/1.6 var(--mono); letter-spacing: .08em; margin-bottom: 10px; }
:root[data-mode] .editorial-pages .projects-overview-bar { margin-top: 22px; padding: 0; background: none; border: 0; box-shadow: none; font-size: 13px; }
:root[data-mode] .editorial-pages .section-header-row { display: none; }
.archive-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 18px 0; }
.archive-views { display: inline-flex; align-items: center; gap: 4px; padding: 3px; border: 1px solid var(--cosmic-canvas-line); border-radius: 10px; background: var(--cosmic-navigation); }
.archive-views a { min-height: 40px; display: inline-flex; align-items: center; padding: 6px 14px; font-size: 13px; color: var(--cosmic-canvas-muted); border-radius: 7px; }
.archive-views a[aria-current] { background: var(--cosmic-solid); color: var(--cosmic-accent); }
.archive-filters { margin: 0; min-width: 0; }
.archive-filters[open] { flex: 1 0 100%; order: 2; }
.archive-filters > summary { display: list-item; min-height: 44px; padding: 8px 2px; cursor: pointer; color: var(--cosmic-canvas-muted); font-size: 14px; }
.archive-filters > summary small { margin-left: 10px; font-size: 12px; color: var(--cosmic-canvas-ink); }
.updates-filter-disclosure { margin-top: 20px; }
.updates-filter-disclosure > summary { color: var(--cosmic-canvas-muted); cursor: pointer; min-height: 44px; padding: 8px 0; font-size: 14px; }
:root[data-mode] .editorial-pages .updates-filter-disclosure .update-filters-bar { margin-top: 10px; }
:root[data-mode] .editorial-pages .timeline-category-bar { margin-top: 12px; border: 1px solid var(--cosmic-line); border-radius: 12px; padding: 16px 20px; }
:root[data-mode] .editorial-pages .filter-label { font-size: 12px; min-width: 80px; }
:root[data-mode] .editorial-pages :is(.category-tab, .tag-tab) { font-size: 13px; }
:root[data-mode] .editorial-pages .timeline-search-bar { padding: 0; margin: 0; background: none; border: 0; }
:root[data-mode] .editorial-pages .timeline-search-input-wrap { border-radius: 12px; padding: 6px; background: var(--cosmic-surface); }
:root[data-mode] .editorial-pages .timeline-search-input-wrap input[type="search"] { font-size: 16px; }
.archive-more-note { color: var(--cosmic-canvas-muted); font-size: 13px; margin: 20px 0; }
/* Reading surfaces are calm, with a stable measure and a genuinely secondary outline. */
:root[data-mode] .editorial-pages :is(.reading-sheet, .album-sheet) { border-radius: 18px; border: 1px solid var(--cosmic-line); box-shadow: none; }
:root[data-mode] .editorial-pages :is(.memory-letter, .letter-only .memory-letter, .project-detail, .about-sheet) { padding: 40px 44px; border-top-width: 1px; }
:root[data-mode] .editorial-pages :is(.article-header h1, .project-header h1, .about-heading h1) { font-size: clamp(30px, 3.3vw, 44px); line-height: 1.45; max-width: 24ch; }
:root[data-mode] .editorial-pages :is(.article-summary, .project-header > p, .about-desc) { font-size: 16px; line-height: 1.9; max-width: 65ch; }
:root[data-mode] .editorial-pages .article-header { padding-bottom: 28px; margin-bottom: 28px; }
:root[data-mode] .editorial-pages .article-byline { font-size: 12px; }
:root[data-mode] .editorial-pages :is(.prose, .reading-layout > .prose, .about-prose) { font: 17px/1.95 var(--sans); letter-spacing: .015em; }
:root[data-mode] .editorial-pages .prose > :is(p, ul, ol) { max-width: var(--reading-width); }
:root[data-mode] .editorial-pages .prose h2 { font: 600 28px/1.5 var(--sans); margin: 1.9em 0 .8em; border-bottom: 0; padding-bottom: 0; }
:root[data-mode] .editorial-pages .prose h3 { font-size: 22px; margin: 1.6em 0 .7em; }
:root[data-mode] .editorial-pages .prose :is(h1, h2, h3, h4) { scroll-margin-top: 18px; }
:root[data-mode] .editorial-pages .project-reading-layout :is(.prose h1, .prose h2, .prose h3, .prose h4, .release-card, .update-card) { scroll-margin-top: var(--project-reading-offset, 12px); }
:root[data-mode] .editorial-pages .prose > :first-child { margin-top: 0; }
:root[data-mode] .editorial-pages .prose table { font-size: 14px; }
:root[data-mode] .editorial-pages .prose :is(code, pre code) { font-size: 14px; line-height: 1.8; letter-spacing: 0; }
:root[data-mode] .editorial-pages .reader-return { font: 13px/1.8 var(--sans); color: var(--cosmic-muted); }
:root[data-mode] .editorial-pages .reader-photo-caption { font-size: 12px; }
:root[data-mode] .editorial-pages .article-toc summary { font: 500 14px/1.6 var(--sans); }
:root[data-mode] .editorial-pages .article-toc a { font-size: 13px; }
:root[data-mode] .editorial-pages .reading-layout { grid-template-columns: minmax(0, 1fr) 190px; gap: 42px; }
:root[data-mode] .editorial-pages .project-tabs { display: flex; gap: 16px; padding: 0; border: 0; border-bottom: 1px solid var(--cosmic-line); border-radius: 0; background: none; margin: 28px 0; }
:root[data-mode] .editorial-pages .project-tabs a { padding: 12px 2px; min-height: 48px; flex: 0 1 auto; font: 500 14px/1.6 var(--sans); color: var(--cosmic-muted); border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; box-shadow: none; }
:root[data-mode] .editorial-pages .project-tabs a[aria-current] { border-bottom-color: var(--cosmic-accent); color: var(--cosmic-accent); }
:root[data-mode] .editorial-pages .project-facts { font-size: 12px; }
:root[data-mode] .editorial-pages .project-next-step { padding: 12px 0 0; background: none; border: 0; font-size: 14px; }
:root[data-mode] .editorial-pages .project-outline { box-shadow: none; border: 1px solid var(--cosmic-line); border-radius: 12px; }
:root[data-mode] .editorial-pages :is(.release-card, .update-card) { padding: 24px; border: 1px solid var(--cosmic-line); border-radius: 14px; background: var(--cosmic-inset); }
:root[data-mode] .editorial-pages .updates-timeline-section { border: 0; background: none; padding: 0; box-shadow: none; }
:root[data-mode] .editorial-pages .activity-excerpt { font-size: 15px; line-height: 1.9; -webkit-line-clamp: 2; max-width: 68ch; }
:root[data-mode] .editorial-pages .activity-meta-bar { margin-bottom: 10px; }
:root[data-mode] .editorial-pages :is(.activity-time-box, .activity-kind-label, .activity-project-pill, .activity-more-link) { font-size: 12px; }
:root[data-mode] .editorial-pages .update-filters-bar { padding: 18px 20px; box-shadow: none; }
.project-subscription-disclosure { margin-top: 32px; border-top: 1px solid var(--cosmic-line); padding-top: 10px; }
.project-subscription-disclosure > summary { font-size: 15px; color: var(--cosmic-accent); cursor: pointer; min-height: 48px; padding: 10px 0; }
:root[data-mode] .editorial-pages .project-subscription-card { margin-top: 12px; max-width: 600px; border: 1px solid var(--cosmic-line); padding: 24px; background: var(--cosmic-inset); }
:root[data-mode] .editorial-pages .about-contact-card { box-shadow: none; border-top-width: 1px; }
:root[data-mode] .editorial-pages .about-contact-heading h2 { font-size: 22px; }
:root[data-mode] .editorial-pages :is(.download-verify-wrap, .download-verify-sheet) { max-width: 760px; }
:root[data-mode] .editorial-pages .download-verify-sheet { padding: 36px; }
:root[data-mode] .editorial-pages .download-verify-heading h1 { font-size: 30px; }
:root[data-mode] .editorial-pages :is(.button, .button-small) { padding: 10px 18px; font-size: 14px; min-height: 44px; }
/* One useful footer. Legal identifiers never hide behind disclosure. */
:root[data-mode] .site-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 32px; max-width: 1136px; width: calc(100% - 64px); margin: 52px auto 0; padding: 26px 0 22px; border-top: 1px solid var(--cosmic-canvas-line); }
:root[data-mode] .site-footer-brand { grid-column: 1/-1; display: flex; align-items: flex-start; gap: 12px; font-size: 13px; }
:root[data-mode] .footer-edition { font-size: 24px; line-height: 1.2; }
:root[data-mode] .site-footer-brand small { display: block; font: 12px/1.8 var(--sans); margin-top: 4px; }
:root[data-mode] .site-footer nav { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 6px 22px; font: 13px/1.8 var(--sans); }
:root[data-mode] .site-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
:root[data-mode] .site-footer-meta { grid-column: 1/-1; }
:root[data-mode] .site-footer-record { grid-column: auto; justify-self: end; width: auto; padding-top: 0; font-size: 12px; text-align: right; }
/* A distinct sky outside; dependable, high-contrast surfaces inside. */
:root[data-mode] :is(.journal-project, .journal-stories, .journal-empty, .journal-quiet, .journal-updates) {
  --journal-ink: var(--cosmic-ink); --journal-muted: var(--cosmic-muted);
  --journal-accent: var(--cosmic-accent); --journal-line: var(--cosmic-line);
  color: var(--cosmic-ink);
}
.stellar-masthead { position: relative; min-height: 130px; }
.stellar-page-art { position: absolute; top: -18px; right: 0; width: 190px; height: 130px; color: var(--cosmic-canvas-muted); opacity: .62; pointer-events: none; }
:root[data-mode] .stellar-masthead h1 { padding-right: 210px; }
:root[data-mode] .stellar-masthead .projects-overview-bar { position: relative; z-index: 1; }
.stellar-illustration { width: 180px; height: 120px; flex: 0 0 auto; color: var(--cosmic-accent); fill: none; }
:root[data-mode] .journal-empty { display: flex; align-items: center; gap: 28px; min-height: 220px; padding: 28px 40px; }
:root[data-mode] .journal-empty h3 { font: 500 22px/1.6 var(--sans); }
:root[data-mode] .editorial-pages .badge { border-radius: 6px; background: var(--cosmic-soft); }
:root[data-mode] .editorial-pages .timeline-empty-board { padding: 36px; min-height: 300px; }
.stellar-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; color: var(--cosmic-ink); }
.stellar-empty h3 { font: 500 20px/1.6 var(--sans); margin: 0; }
:root[data-mode] .editorial-pages .stellar-empty .timeline-clear-btn { border: 0; box-shadow: none; background: none; color: var(--cosmic-accent); display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
:root[data-mode] .editorial-pages :is(.timeline-page-header .stellar-page-count, .projects-overview-bar, .projects-overview-bar .chip-item, .projects-overview-bar .chip-num, .projects-jump-link, .pagination-status, .memory-return, .reader-return) { color: var(--cosmic-canvas-muted); }
:root[data-mode] .editorial-pages .empty-state { background: var(--cosmic-surface); color: var(--cosmic-muted); border: 1px solid var(--cosmic-line); border-radius: 14px; }
:root[data-mode] .editorial-pages .project-detail .empty-state { background: var(--cosmic-inset); }
/* Only the text column receives a second veil. Card edges and illustrations
   stay open to the sky; opacity never applies to text or controls themselves. */
:root[data-mode] .editorial-pages :is(.reading-layout > .prose, .project-reading-content > .prose, .about-prose) { background: var(--cosmic-reading); border-radius: 12px; padding: 20px; }
:root[data-mode] .editorial-pages .about-prose :is(p, h1, h2, h3, h4, h5, h6, li, blockquote, code) { color: var(--cosmic-ink); }
:root[data-mode] .editorial-pages .about-prose :is(p, li) { font: inherit; }
:root[data-mode] .editorial-pages .about-prose a { color: var(--cosmic-accent); }
:root[data-mode] .editorial-pages .about-prose a:hover { color: var(--cosmic-ink); }
:root[data-mode] .editorial-pages .about-prose blockquote { border-color: var(--cosmic-line); background: var(--cosmic-inset); }
:root[data-mode] .editorial-pages :is(.reading-sheet, .album-sheet) .about-contact-card { background: var(--contact-surface, var(--cosmic-inset)); }
:root[data-mode] .editorial-pages .about-label { display: block; color: var(--cosmic-muted); font: 13px/1.6 var(--sans); margin-bottom: 12px; }
:root[data-mode] .editorial-pages .projects-jump-link { font: 14px/1.7 var(--sans); min-height: 44px; }
:root[data-mode] :is(.site-header a, .site-header button, .archive-tools a, .archive-tools summary, .updates-filter-disclosure > summary):focus-visible { outline-color: var(--cosmic-canvas-ink); }
:root[data-mode] .editorial-pages .reader-return { border-color: var(--cosmic-canvas-line); }
:root[data-mode] .editorial-pages .reading-wrap > :is(.reader-return, .memory-browse) { --on-canvas: var(--cosmic-canvas-ink); --on-canvas-muted: var(--cosmic-canvas-muted); color: var(--cosmic-canvas-muted); }
:root[data-mode] .editorial-pages .reading-wrap > .reader-return a { color: var(--cosmic-canvas-ink); font: 13px/1.7 var(--sans); min-height: 44px; display: inline-flex; align-items: center; }
:root[data-mode] .editorial-pages .memory-browse .memory-archive { font: 12px/1.7 var(--mono); }
:root[data-mode] .editorial-pages .memory-browse a { font: 13px/1.7 var(--sans); }
:root[data-mode] .editorial-pages .reading-wrap > :is(.reader-return, .memory-browse) a:hover { color: var(--cosmic-canvas-ink); }
:root[data-mode] .editorial-pages .timeline-search-status, :root[data-mode] .editorial-pages .timeline-clear-search { color: var(--cosmic-canvas-muted); }
@media (max-width: 1000px) {
  :root[data-mode] .journal-home .journal-hero { gap: 20px; }
  :root[data-mode] .header-inner { gap: 14px; padding-inline: 24px; }
  :root[data-mode] .brand { font-size: 17px; }
  :root[data-mode] .main-nav a { padding-inline: 10px; }
  :root[data-mode] .editorial-pages :is(.memory-letter, .letter-only .memory-letter, .project-detail, .about-sheet) { padding: 32px; }
}
@media (max-width: 900px) {
  :root[data-mode] .journal-home .journal-hero { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  :root[data-mode] .journal-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 20px; width: 100%; height: auto; min-height: 94px; }
  .constellation-chart { display: none; }
  :root[data-mode] .journal-directory::before { content: ""; position: absolute; top: 22px; left: 22px; right: 22px; border-top: 1px solid var(--cosmic-canvas-line); pointer-events: none; }
  :root[data-mode] .journal-directory a { position: relative; inset: auto !important; display: grid; grid-template-columns: 36px minmax(0, 1fr); width: 100%; max-width: none; padding: 4px 0; gap: 10px; }
  :root[data-mode] .journal-directory a > :nth-child(2) { grid-column: 1/-1; padding-top: 6px; background: none; }
  :root[data-mode] .journal-directory a > :last-child { display: none; }
  :root[data-mode] .editorial-pages .reading-layout { display: flex; flex-direction: column; gap: 28px; }
  :root[data-mode] .editorial-pages .article-toc { order: -1; width: 100%; border: 1px solid var(--cosmic-line); background: var(--cosmic-solid); padding: 0 16px; border-radius: 10px; }
  :root[data-mode] .editorial-pages .article-toc summary { padding: 14px 0; min-height: 48px; }
}
@media (max-width: 760px) {
  :root[data-mode] .header-inner { padding: 10px 16px; min-height: 68px; flex-wrap: nowrap; gap: 8px; }
  :root[data-mode] .brand { flex: 1 1 0; font-size: 16px; gap: 8px; }
  :root[data-mode] .brand-symbol { font-size: 26px; }
  :root[data-mode] .brand-logo { width: 30px; height: 30px; }
  :root[data-mode] .brand small { display: none; }
  :root[data-mode] .header-inner > .main-nav { display: none; }
  :root[data-mode] .site-tools { margin-left: auto; gap: 0; }
  :root[data-mode] .site-tools > :is(a, button) { width: 38px; }
  .mobile-navigation { display: block; order: 5; }
  .mobile-navigation > summary { display: grid; place-items: center; width: 40px; min-height: 44px; cursor: pointer; list-style: none; border-radius: 9px; }
  .mobile-navigation > summary::-webkit-details-marker { display: none; }
  .mobile-navigation > nav { position: absolute; top: calc(100% + 8px); left: 16px; right: 16px; padding: 10px; border: 1px solid var(--cosmic-line); border-radius: 14px; background: var(--cosmic-solid); box-shadow: 0 16px 48px #00000020; display: grid; gap: 3px; max-height: calc(100dvh - 100px); overflow-y: auto; }
  .mobile-navigation > nav > a { display: flex; align-items: center; width: auto; padding: 10px 16px; min-height: 46px; border-radius: 8px; color: var(--cosmic-muted); font-size: 15px; }
  .mobile-navigation > nav > a[aria-current] { color: var(--cosmic-accent); background: var(--cosmic-soft); }
  :root[data-mode] .site-tools .mobile-navigation nav > a { color: var(--cosmic-muted); }
  :root[data-mode] .site-tools .mobile-navigation nav > a:hover,
  :root[data-mode] .site-tools .mobile-navigation nav > a[aria-current] { color: var(--cosmic-accent); background: var(--cosmic-soft); }
  :root[data-mode] .cosmos-preferences { top: 78px; right: 12px; max-height: calc(100dvh - 92px); }
  :root[data-mode] .site-stage { padding-top: 68px; }
  :root[data-mode] .journal-home { padding: 40px 20px 8px; }
  :root[data-mode] .journal-home .journal-hero { gap: 28px; padding: 0 0 24px; }
  :root[data-mode] .journal-home .journal-hero h1 { font-size: 36px; line-height: 1.45; }
  :root[data-mode] .journal-home .journal-description { font-size: 16px; margin-top: 16px; }
  :root[data-mode] .journal-home .journal-kicker { font-size: 12px; letter-spacing: .03em; margin-bottom: 16px; }
  :root[data-mode] .journal-directory { gap: 16px; min-height: 94px; }
  :root[data-mode] .journal-directory a { min-height: 88px; font-size: 14px; }
  .stellar-page-art { width: 100px; height: 74px; top: 0; opacity: .45; }
  :root[data-mode] .stellar-masthead h1 { padding-right: 100px; }
  .stellar-masthead { min-height: 96px; }
  :root[data-mode] .journal-section-head h2 { font-size: 25px; }
  :root[data-mode] .journal-section-head p { font-size: 13px; }
  :root[data-mode] .journal-empty { padding: 24px; gap: 8px; flex-direction: column; text-align: center; min-height: 220px; }
  :root[data-mode] .editorial-pages :is(.articles-canvas-wrap, .projects-canvas-wrap, .reading-wrap, .project-detail-wrap) { padding: 36px 20px 12px; }
  :root[data-mode] .editorial-pages :is(.timeline-page-header h1, .projects-canvas-header h1) { font-size: 34px; }
  :root[data-mode] .editorial-pages :is(.timeline-page-header p, .projects-desc) { font-size: 15px; }
  :root[data-mode] .editorial-pages :is(.reading-layout > .prose, .project-reading-content > .prose, .about-prose) { padding: 14px; }
  :root[data-mode] .editorial-pages .timeline-category-bar { padding: 12px; }
  :root[data-mode] .editorial-pages .filter-label { font-size: 12px; }
  :root[data-mode] .editorial-pages :is(.memory-letter, .letter-only .memory-letter, .project-detail, .about-sheet) { padding: 26px 20px; }
  :root[data-mode] .editorial-pages :is(.reading-wrap, .project-detail-wrap) { padding-inline: 12px; }
  :root[data-mode] .editorial-pages :is(.article-header h1, .project-header h1, .about-heading h1) { font-size: 31px; }
  :root[data-mode] .editorial-pages :is(.prose, .reading-layout > .prose, .about-prose) { font-size: 16px; line-height: 1.95; letter-spacing: .01em; }
  :root[data-mode] .editorial-pages .prose h2 { font-size: 25px; }
  :root[data-mode] .editorial-pages .prose h3 { font-size: 21px; }
  :root[data-mode] .editorial-pages .project-tabs { gap: 16px; margin: 24px 0; }
  :root[data-mode] .editorial-pages .project-tabs a { font-size: 13px; }
  :root[data-mode] .editorial-pages .activity-excerpt { -webkit-line-clamp: 2; }
  :root[data-mode] .editorial-pages .download-verify-sheet { padding: 26px 20px; }
  :root[data-mode] .site-footer { width: calc(100% - 40px); margin-top: 40px; grid-template-columns: minmax(0, 1fr); gap: 12px; padding-block: 24px 20px; }
  :root[data-mode] .site-footer nav { gap: 4px 24px; }
  :root[data-mode] .site-footer-record { padding-top: 0; text-align: right; }
}
@media (max-width: 360px) {
  :root[data-mode] .header-inner { padding-inline: 12px; }
  :root[data-mode] .brand { font-size: 15px; }
  :root[data-mode] .brand-logo { width: 26px; height: 26px; }
  :root[data-mode] .brand-symbol { display: none; }
  :root[data-mode] .journal-home { padding-inline: 16px; }
  :root[data-mode] .journal-home .journal-hero h1 { font-size: 32px; }
  :root[data-mode] .journal-directory { gap: 12px; }
  :root[data-mode] .journal-section-head { align-items: flex-start; }
  :root[data-mode] .editorial-pages .project-tabs { gap: 12px; }
  :root[data-mode] .editorial-pages .project-tabs a { font-size: 12px; }
  :root[data-mode] .site-footer-record { justify-self: stretch; width: 100%; text-align: left; }
}
@media print {
  .mobile-navigation, .archive-views, .archive-filters { display: none !important; }
  :root[data-mode] .site-stage { padding-top: 0; }
  :root[data-mode] .site-footer { display: block; }
}
