:root, [data-theme="light"] {
  --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.5rem);
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.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;
  --color-bg: #f7f6f2; --color-surface: #f9f8f5; --color-surface-2: #fbfbf9; --color-surface-offset: #edeae5; --color-border: #d4d1ca; --color-divider: #dcd9d5;
  --color-text: #28251d; --color-text-muted: #66645e; --color-text-faint: #928f89; --color-text-inverse: #f9f8f4;
  --color-primary: #01696f; --color-primary-hover: #0c4e54; --color-primary-highlight: #cedcd8; --color-warning: #964219;
  --radius-sm: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-xl: 1rem; --radius-full: 9999px;
  --shadow-sm: 0 1px 2px oklch(0.2 0.01 80 / 0.06); --shadow-md: 0 10px 30px oklch(0.2 0.01 80 / 0.08);
  --font-display: 'Boska', Georgia, serif; --font-body: 'Satoshi', 'Inter', sans-serif; --content-default: 1040px;
}
[data-theme="dark"] {
  --color-bg: #171614; --color-surface: #1c1b19; --color-surface-2: #201f1d; --color-surface-offset: #22211f; --color-border: #393836; --color-divider: #2b2a28;
  --color-text: #cdccca; --color-text-muted: #a4a29d; --color-text-faint: #797773; --color-text-inverse: #2b2a28;
  --color-primary: #4f98a3; --color-primary-hover: #227f8b; --color-primary-highlight: #313b3b; --color-warning: #bb653b;
  --shadow-sm: 0 1px 2px oklch(0 0 0 / 0.2); --shadow-md: 0 10px 30px oklch(0 0 0 / 0.35);
}
*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{margin:0;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-primary);text-decoration-thickness:1px;text-underline-offset:.16em}a:hover{color:var(--color-primary-hover)}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
.skip-link{position:absolute;left:var(--space-4);top:-40px;background:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);z-index:100}.skip-link:focus{top:var(--space-4)}
.site-header{position:sticky;top:0;z-index:30;backdrop-filter:blur(14px);background:color-mix(in oklab,var(--color-bg) 88%,transparent);border-bottom:1px solid color-mix(in oklab,var(--color-text) 12%,transparent)}
.container{width:min(calc(100% - 2rem),var(--content-default));margin:0 auto}.header-inner{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-4);align-items:center;padding:var(--space-4) 0}.brand{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;font-size:var(--text-sm);font-weight:700;letter-spacing:.03em}.brand-mark{width:1.95rem;height:1.95rem;color:var(--color-primary)}
.nav{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.nav a{text-decoration:none;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;padding:.55rem .8rem;border-radius:var(--radius-full)}.nav a:hover,.nav a.active{color:var(--color-text);background:var(--color-surface-offset)}
.theme-toggle{min-width:44px;min-height:44px;border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);color:var(--color-text)}
.hero,.page-hero{padding:clamp(var(--space-12),10vw,var(--space-20)) 0 var(--space-12)}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-primary);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
h1,h2,h3,h4{margin:0;line-height:1.1}h1{font-family:var(--font-display);font-size:var(--text-2xl);max-width:11ch;margin-top:var(--space-6);letter-spacing:-.02em}.page-title,.section-title{font-family:var(--font-display);font-size:var(--text-xl)}
.hero-grid,.card-grid,.issue-grid,.entry-grid,.footer-grid,.two-col{display:grid;gap:var(--space-6)}.hero-copy p,.lede,.card p,.entry-block p,.footer-copy,.page-intro{max-width:70ch;color:var(--color-text-muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;text-decoration:none;border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent)}.button-primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.button-primary:hover{background:var(--color-primary-hover);color:var(--color-text-inverse)}.button-secondary{background:var(--color-surface);color:var(--color-text)}
.card,.entry-card,.hero-aside{background:linear-gradient(180deg,var(--color-surface),var(--color-surface-2));border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6)}
.section{padding:clamp(var(--space-8),8vw,var(--space-16)) 0;border-top:1px solid color-mix(in oklab,var(--color-text) 8%,transparent)}.section-head{display:grid;gap:var(--space-4);margin-bottom:var(--space-8)}
.timeline{display:grid;gap:var(--space-8)}.entry-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-4)}.badge,.tag{display:inline-flex;align-items:center;min-height:1.9rem;padding:.3rem .7rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.badge{background:var(--color-primary-highlight);color:var(--color-primary)}.tag{background:color-mix(in oklab,var(--color-warning) 14%,var(--color-surface));color:var(--color-warning)}.entry-card h3{font-size:var(--text-lg);margin-bottom:var(--space-4)}.entry-block{padding-top:var(--space-4);border-top:1px solid color-mix(in oklab,var(--color-text) 8%,transparent)}.entry-block h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint);margin-bottom:var(--space-2)}.entry-block p{margin:0;color:var(--color-text)}.entry-sources{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);font-size:var(--text-sm);color:var(--color-text-muted)}
.list-links{margin:0;padding-left:1.15rem;color:var(--color-text-muted)}.footer{padding:var(--space-10) 0 var(--space-12);border-top:1px solid color-mix(in oklab,var(--color-text) 8%,transparent)}.small-note{font-size:var(--text-sm);color:var(--color-text-faint)}
@media (min-width:860px){.hero-grid{grid-template-columns:1.2fr .8fr;align-items:start}.card-grid,.issue-grid,.footer-grid,.two-col,.entry-grid{grid-template-columns:1fr 1fr}}@media (max-width:780px){.header-inner{grid-template-columns:1fr auto}.nav{grid-column:1 / -1;order:3;padding-top:var(--space-2);overflow-x:auto}.nav a{white-space:nowrap}}

.entry-links{display:grid;gap:var(--space-4)}.entry-link-card{display:grid;gap:var(--space-3);text-decoration:none;color:var(--color-text);padding:var(--space-5);border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);border-radius:var(--radius-xl);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-2));box-shadow:var(--shadow-sm)}.entry-link-card:hover{border-color:color-mix(in oklab,var(--color-primary) 28%,var(--color-border));transform:translateY(-2px)}.entry-link-card p{margin:0;color:var(--color-text-muted)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:700;text-decoration:none}.source-list{margin:0;padding-left:1.15rem}.source-list li+li{margin-top:var(--space-2)}.quote-box{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-offset);border:1px solid color-mix(in oklab,var(--color-text) 8%,transparent)}.quote-box p{margin:0;color:var(--color-text)}

.meta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-top:var(--space-4)}.meta-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint)}.highlight-grid{display:grid;gap:var(--space-6)}.highlight-card{padding:var(--space-6);border-radius:var(--radius-xl);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-2));border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);box-shadow:var(--shadow-sm)}.highlight-card p{margin:0;color:var(--color-text-muted)}@media (min-width:860px){.highlight-grid{grid-template-columns:repeat(3,1fr)}}
