/* Art direction: curated invention/attribution archive -> academic, warm, quietly confident
   Palette: warm paper-cream neutrals, ink text, terracotta accent (aged-document feel)
   Typography: Source Serif 4 (display/headlines) + General Sans (body)
   Density: balanced, generous margins, editorial rhythm */

:root, [data-theme="light"] {
  --color-bg: #f7f3ec; --color-surface: #fbf8f2; --color-surface-2: #fdfcf8;
  --color-surface-offset: #f0ebe1; --color-surface-offset-2: #e8e1d3;
  --color-divider: #ddd4c2; --color-border: #d1c6ae;
  --color-text: #241d14; --color-text-muted: #6f6552; --color-text-faint: #b0a48a;
  --color-text-inverse: #f9f5ec;
  --color-primary: #a1481f; --color-primary-hover: #7d3416; --color-primary-active: #5c2510;
  --color-primary-highlight: #e6d3c4;
  --color-success: #4c6b2f; --color-error: #9c2c3d;
  --radius-sm: 0.25rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-full: 9999px;
  --transition-interactive: 180ms cubic-bezier(0.16,1,0.3,1);
  --shadow-sm: 0 1px 2px oklch(0.25 0.03 50 / 0.08);
  --shadow-md: 0 4px 14px oklch(0.25 0.03 50 / 0.10);
  --shadow-lg: 0 14px 34px oklch(0.25 0.03 50 / 0.14);
  --content-narrow: 640px; --content-default: 880px; --content-wide: 1160px;
  --font-display: 'Source Serif 4', Georgia, serif;
  --font-body: 'General Sans', 'Inter', sans-serif;
}
[data-theme="dark"] {
  --color-bg: #18140f; --color-surface: #1e1a14; --color-surface-2: #221d16;
  --color-surface-offset: #251f17; --color-surface-offset-2: #2c251a;
  --color-divider: #33291d; --color-border: #433624;
  --color-text: #ece3d3; --color-text-muted: #a89877; --color-text-faint: #6e6047;
  --color-text-inverse: #221d16;
  --color-primary: #d98a56; --color-primary-hover: #e6a475; --color-primary-active: #f0bb94;
  --color-primary-highlight: #40301f;
  --color-success: #8fae6a; --color-error: #d9707f;
  --shadow-sm: 0 1px 2px oklch(0 0 0 / 0.3); --shadow-md: 0 4px 14px oklch(0 0 0 / 0.35);
  --shadow-lg: 0 14px 34px oklch(0 0 0 / 0.45);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-bg: #18140f; --color-surface: #1e1a14; --color-surface-2: #221d16;
    --color-surface-offset: #251f17; --color-surface-offset-2: #2c251a;
    --color-divider: #33291d; --color-border: #433624;
    --color-text: #ece3d3; --color-text-muted: #a89877; --color-text-faint: #6e6047;
    --color-text-inverse: #221d16;
    --color-primary: #d98a56; --color-primary-hover: #e6a475; --color-primary-active: #f0bb94;
    --color-primary-highlight: #40301f;
  }
}
:root { --text-xs: clamp(0.75rem,0.7rem+0.25vw,0.875rem); --text-sm: clamp(0.875rem,0.8rem+0.35vw,1rem);
  --text-base: clamp(1rem,0.95rem+0.25vw,1.125rem); --text-lg: clamp(1.125rem,1rem+0.75vw,1.5rem);
  --text-xl: clamp(1.5rem,1.2rem+1.25vw,2.25rem); --text-2xl: clamp(2rem,1.2rem+2.5vw,3.25rem);
  --text-hero: clamp(2.5rem,0.8rem+5vw,5.5rem);
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.25rem;
  --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem; --space-16:4rem;
  --space-20:5rem; --space-24:6rem; --space-32:8rem; }
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;scroll-behavior:smooth;hanging-punctuation:first last;
  scroll-padding-top:var(--space-16)}
body{min-height:100dvh;line-height:1.65;font-family:var(--font-body,sans-serif);
  font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg)}
img,svg{display:block;max-width:100%;height:auto}
ul[role="list"]{list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;line-height:1.18;font-weight:600}
p,li{text-wrap:pretty;max-width:72ch}
a{color:var(--color-primary);text-decoration:none}
a:hover{color:var(--color-primary-hover)}
::selection{background:oklch(from var(--color-primary) l c h / 0.22)}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}
a,button{transition:color var(--transition-interactive),background var(--transition-interactive),
  border-color var(--transition-interactive),box-shadow var(--transition-interactive)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.container{max-width:var(--content-default);margin-inline:auto;padding-inline:var(--space-5)}
.container-wide{max-width:var(--content-wide);margin-inline:auto;padding-inline:var(--space-5)}
.site-header{border-bottom:1px solid var(--color-divider);padding-block:var(--space-5);
  position:sticky;top:0;background:oklch(from var(--color-bg) l c h / 0.92);
  backdrop-filter:blur(8px);z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.logo{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);
  font-size:var(--text-lg);font-weight:600;color:var(--color-text)}
.logo:hover{color:var(--color-text)}
.logo svg{color:var(--color-primary)}
.header-nav{display:flex;gap:var(--space-5);align-items:center}
.header-nav a{font-size:var(--text-sm);color:var(--color-text-muted)}
.header-nav a:hover{color:var(--color-primary)}
.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:var(--radius-full);color:var(--color-text-muted)}
.theme-toggle:hover{background:var(--color-surface-offset);color:var(--color-primary)}
.hero{padding-block:clamp(var(--space-16),8vw,var(--space-24)) var(--space-12);text-align:center}
.hero h1{font-size:var(--text-hero);margin-bottom:var(--space-4);letter-spacing:-0.01em}
.hero .subhead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:56ch;
  margin-inline:auto;margin-bottom:var(--space-10)}
.search-wrap{max-width:var(--content-narrow);margin-inline:auto;position:relative}
.search-input{width:100%;padding:var(--space-4) var(--space-5);font-size:var(--text-lg);
  font-family:var(--font-body);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);
  background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}
.search-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-md)}
.search-input::placeholder{color:var(--color-text-faint)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-6)}
.chip{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);
  border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-muted);
  background:var(--color-surface)}
.chip:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-highlight)}
.results-panel{max-width:var(--content-narrow);margin:var(--space-4) auto 0;text-align:left;
  border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);
  box-shadow:var(--shadow-md);overflow:hidden;display:none}
.results-panel.active{display:block}
.result-row{display:block;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-divider)}
.result-row:last-child{border-bottom:none}
.result-row:hover{background:var(--color-surface-offset)}
.result-row .r-name{font-family:var(--font-display);font-weight:600;color:var(--color-text);font-size:var(--text-base)}
.result-row .r-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}
.browse-section{padding-block:var(--space-16)}
.browse-section h2{font-size:var(--text-xl);margin-bottom:var(--space-2)}
.browse-section .section-lead{color:var(--color-text-muted);margin-bottom:var(--space-8);max-width:60ch}
.entry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--space-5)}
.entry-card{display:block;padding:var(--space-6);border:1px solid var(--color-border);
  border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.entry-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}
.entry-card .tag{display:inline-block;font-size:var(--text-xs);text-transform:uppercase;
  letter-spacing:0.05em;color:var(--color-primary);margin-bottom:var(--space-3);font-weight:600}
.entry-card h3{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-2)}
.entry-card p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}
.type-cloud{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.type-pill{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);
  background:var(--color-surface-offset);font-size:var(--text-sm);color:var(--color-text-muted);
  border:1px solid var(--color-border)}
.type-pill:hover{color:var(--color-primary);border-color:var(--color-primary)}
.entry-header{padding-block:var(--space-12) var(--space-8);border-bottom:1px solid var(--color-divider)}
.breadcrumb{font-size:var(--text-xs);color:var(--color-text-faint);margin-bottom:var(--space-4)}
.breadcrumb a{color:var(--color-text-muted)}
.entry-meta-row{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}
.meta-tag{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.05em;
  color:var(--color-primary);font-weight:600}
.entry-header h1{font-size:var(--text-2xl);margin-bottom:var(--space-4)}
.headline-lede{font-size:var(--text-lg);color:var(--color-text-muted);max-width:65ch}
.entry-body{padding-block:var(--space-12);display:grid;grid-template-columns:1fr 300px;gap:var(--space-12)}
@media (max-width: 860px){.entry-body{grid-template-columns:1fr}}
.entry-story p{font-size:var(--text-base);margin-bottom:var(--space-5);max-width:70ch}
.entry-story p:first-child::first-letter{font-family:var(--font-display);font-size:3.2em;
  float:left;line-height:0.85;padding-right:var(--space-2);color:var(--color-primary)}
.ad-slot{margin-block:var(--space-8);padding:var(--space-8);text-align:center;
  border:1px dashed var(--color-border);border-radius:var(--radius-md);
  color:var(--color-text-faint);font-size:var(--text-xs);background:var(--color-surface-offset)}
.myth-box{margin-top:var(--space-8);padding:var(--space-6);border-radius:var(--radius-lg);
  background:var(--color-primary-highlight);border-left:none}
.myth-box .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.05em;
  color:var(--color-primary);font-weight:700;margin-bottom:var(--space-2);display:block}
.myth-box p{color:var(--color-text);font-size:var(--text-base);margin:0}
.sidebar-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);
  background:var(--color-surface);margin-bottom:var(--space-5)}
.sidebar-card h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:0.05em;
  color:var(--color-text-muted);margin-bottom:var(--space-4);font-family:var(--font-body);font-weight:600}
.fact-row{display:flex;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-2);
  border-bottom:1px solid var(--color-divider);font-size:var(--text-sm)}
.fact-row:last-child{border-bottom:none}
.fact-row .f-label{color:var(--color-text-muted)}
.fact-row .f-value{color:var(--color-text);font-weight:600;text-align:right}
.person-link-card{display:block;padding:var(--space-4);border-radius:var(--radius-md);
  background:var(--color-surface-offset);margin-bottom:var(--space-3)}
.person-link-card:last-child{margin-bottom:0}
.person-link-card .p-name{font-weight:600;color:var(--color-text);font-size:var(--text-sm)}
.person-link-card .p-credited{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}
.related-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.related-chips a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);
  border:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted)}
.related-chips a:hover{border-color:var(--color-primary);color:var(--color-primary)}
.person-header{padding-block:var(--space-12) var(--space-8);border-bottom:1px solid var(--color-divider)}
.person-initials{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-primary);
  color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-5)}
.not-credited-box{margin-top:var(--space-8);padding:var(--space-6);border-radius:var(--radius-lg);
  background:var(--color-surface-offset);border:1px solid var(--color-border)}
.not-credited-box .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.05em;
  color:var(--color-text-muted);font-weight:700;margin-bottom:var(--space-3);display:block}
.not-credited-box ul{display:flex;flex-direction:column;gap:var(--space-2)}
.not-credited-box li{font-size:var(--text-sm);color:var(--color-text);padding-left:var(--space-4);
  position:relative}
.not-credited-box li::before{content:"--";position:absolute;left:0;color:var(--color-text-faint)}
.site-footer{border-top:1px solid var(--color-divider);padding-block:var(--space-12);
  margin-top:var(--space-16)}
.footer-links{display:flex;gap:var(--space-6);flex-wrap:wrap;justify-content:center;
  font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}
.footer-links a{color:var(--color-text-muted)}
.footer-links a:hover{color:var(--color-primary)}
.footer-note{text-align:center;font-size:var(--text-xs);color:var(--color-text-faint)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;
  transition-duration:0.01ms !important;scroll-behavior:auto !important}}
