:root { color-scheme: light dark; --bg: #ffffff; --surface: #f3f6f8; --text: #17212b; --muted: #52616d; --line: #cad4dc; --link: #0758a6; --focus: #005fcc; --gh-font-heading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --gh-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --measure: 72rem; --reading-measure: 46rem; --space: clamp(1rem, 3vw, 2rem); }
html[data-theme="dark"] { color-scheme: dark; --bg: #111820; --surface: #1a2530; --text: #f0f5f8; --muted: #c1ccd4; --line: #51616f; --link: #82c4ff; --focus: #9fd0ff; }
html[data-theme="light"] { color-scheme: light; }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]), html[data-theme="system"] { color-scheme: dark; --bg: #111820; --surface: #1a2530; --text: #f0f5f8; --muted: #c1ccd4; --line: #51616f; --link: #82c4ff; --focus: #9fd0ff; } }
* { box-sizing: border-box; }
html { background: var(--bg); scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font-family: var(--gh-font-body); font-size: 1rem; line-height: 1.6; margin: 0; overflow-wrap: break-word; }
img { display: block; height: auto; max-width: 100%; }
a { color: var(--link); text-underline-offset: .16em; }
a:hover { text-decoration-thickness: .14em; }
button, input, select, textarea { color: inherit; font: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.shell { margin-inline: auto; max-width: var(--measure); padding-inline: var(--space); }
.skip-link { background: var(--text); color: var(--bg); left: var(--space); padding: .75rem 1rem; position: fixed; top: -5rem; z-index: 20; }
.skip-link:focus { top: 1rem; }
.site-header { border-bottom: 1px solid var(--line); }
.site-header__inner { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; min-height: 4.5rem; }
.site-header__inner > *, .post-grid > *, .reading-layout > * { min-width: 0; }
.site-title { color: var(--text); font-size: 1.125rem; font-weight: 750; text-decoration: none; }
.primary-nav { flex: 1 1 16rem; }
.primary-nav .nav, .secondary-nav .nav, .topic-list { display: flex; flex-wrap: wrap; gap: .5rem 1rem; list-style: none; margin: 0; padding: 0; }
.primary-nav .nav a, .secondary-nav .nav a { color: var(--text); text-decoration: none; }
.primary-nav .nav a { align-items: center; display: inline-flex; min-height: 2.75rem; min-width: 2.75rem; }
.site-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; }
.site-actions button { align-items: center; background: transparent; border: 1px solid var(--line); border-radius: .3rem; display: inline-flex; min-height: 2.75rem; min-width: 2.75rem; padding: .45rem .75rem; }
.audience-action { align-items: center; background: transparent; border: 1px solid var(--line); border-radius: .3rem; display: inline-flex; min-height: 2.75rem; min-width: 2.75rem; padding: .45rem .75rem; text-decoration: none; }
.search-trigger { align-items: center; display: inline-flex; min-height: 2.75rem; min-width: 2.75rem; }
button[data-appearance-control] { background: var(--surface); border: 1px solid var(--line); border-radius: .3rem; color: var(--text); min-height: 2.75rem; min-width: 2.75rem; padding: .45rem .75rem; }
.section { padding-block: clamp(2rem, 6vw, 5rem); }
.section-heading, .hero, .article-header { max-width: var(--reading-measure); }
.hero { padding-block: clamp(3rem, 8vw, 7rem); }
h1, h2, h3, h4 { color: var(--text); font-family: var(--gh-font-heading); line-height: 1.16; overflow-wrap: anywhere; }
h1 { font-size: clamp(2rem, 7vw, 4rem); margin: 0 0 1rem; }
h2 { font-size: clamp(1.4rem, 4vw, 2.1rem); }
.eyebrow, .article-meta, .post-card__meta { color: var(--muted); font-size: .92rem; }
.post-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.post-card { border: 1px solid var(--line); border-radius: .5rem; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.post-card__image img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.post-card__body { padding: 1rem; }
.post-card h2 { font-size: 1.35rem; margin: .25rem 0; }
.post-card h2 a { color: var(--text); }
.empty-state { border-left: .3rem solid var(--line); max-width: var(--reading-measure); padding-left: 1rem; }
.pagination { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; }
.pagination a { align-items: center; border: 1px solid var(--line); border-radius: .3rem; color: var(--text); display: inline-flex; justify-content: center; min-height: 2.75rem; min-width: 2.75rem; padding: .45rem .75rem; text-decoration: none; }
.author-header { align-items: center; display: flex; gap: 1rem; }
.author-avatar { border-radius: 50%; height: 5rem; object-fit: cover; width: 5rem; }
.article-header { padding-block: clamp(2rem, 6vw, 5rem) 2rem; }
.article-feature-image { margin: 2rem 0 0; }
figcaption { color: var(--muted); font-size: .9rem; margin-top: .5rem; }
.reading-layout { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
.article-tools:empty, [data-toc]:empty { display: none; }
.gh-content { background: var(--bg); border: 1px solid var(--line); color: var(--text); font-size: 1.08rem; margin-inline: auto; max-width: var(--reading-measure); min-width: 0; width: 100%; }
.gh-content h2 { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
.gh-content > p { background: var(--bg); border: 1px solid var(--line); color: var(--text); }
.gh-content > :first-child { margin-top: 0; }
.gh-content :is(h2, h3) { scroll-margin-top: 2rem; }
.gh-content :is(img, video, iframe, .kg-card) { max-width: 100%; }
.gh-content .kg-width-wide, .gh-content .kg-width-full { margin-inline: auto; max-width: min(100%, var(--measure)); }
.gh-content pre { background: var(--surface); border: 1px solid var(--line); color: var(--text); max-width: 100%; overflow: auto; padding: 1rem; position: relative; }
.gh-content code { background: var(--surface); border: 1px solid var(--line); color: var(--text); overflow-wrap: normal; }
.gh-content table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; white-space: nowrap; }
.gh-content th, .gh-content td { border: 1px solid var(--line); padding: .5rem; text-align: left; }
.gh-content iframe { border: 0; min-height: 18rem; width: 100%; }
.copy-code { background: var(--bg); border: 1px solid var(--line); border-radius: .25rem; color: var(--text); cursor: pointer; margin: .5rem; min-height: 2.75rem; min-width: 2.75rem; padding: .35rem .6rem; }
[data-ghost-search] { background: var(--bg); border: 1px solid var(--line); color: var(--text); }
[data-portal] { background: var(--bg); border: 1px solid var(--line); color: var(--text); }
section[data-members-gate] { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
.members-gate { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
form[data-ghost-newsletter] { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
.newsletter-form { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
form[data-ghost-newsletter] label { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
.newsletter-form label { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
form[data-ghost-newsletter] input { background: var(--bg); border: 1px solid var(--line); color: var(--text); min-height: 2.75rem; min-width: 2.75rem; }
.newsletter-form input { background: var(--bg); border: 1px solid var(--line); color: var(--text); }
form[data-ghost-newsletter] button { background: var(--bg); border: 1px solid var(--line); color: var(--text); min-height: 2.75rem; min-width: 2.75rem; }
.newsletter-form button { background: var(--bg); border: 1px solid var(--line); color: var(--text); }
input { background: var(--bg); border: 1px solid var(--line); color: var(--text); }
label { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
section[data-ghost-comments] { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
.comments { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
[data-native-fallback] { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
.native-fallback { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
.toc-list { list-style: none; margin: 0; padding: 0; }
.toc-list li + li { margin-top: .4rem; }
.toc-list .toc-level-3 { padding-left: 1rem; }
[data-toc] a { align-items: center; display: inline-flex; min-height: 2.75rem; min-width: 2.75rem; }
.article-navigation { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); padding-block: 3rem; }
.article-navigation a { align-items: center; border-top: 1px solid var(--line); color: var(--text); display: flex; min-height: 2.75rem; min-width: 2.75rem; padding-top: .75rem; text-decoration: none; }
.article-navigation span { color: var(--muted); display: block; font-size: .9rem; }
.site-footer { background: var(--surface); border-top: 1px solid var(--line); margin-top: 3rem; padding-block: 2rem; }
.privacy-preferences { border-top: 1px solid var(--line); margin-top: 2rem; padding-block: 2rem; }
.privacy-preferences__controls { display: flex; flex-wrap: wrap; gap: .5rem; }
.privacy-preferences button { background: transparent; border: 1px solid var(--line); border-radius: .3rem; min-height: 2.75rem; min-width: 2.75rem; padding: .45rem .75rem; }
.ad-placement { border-block: 1px solid var(--line); margin-block: 2rem; min-height: 5rem; padding: 1rem var(--space); text-align: center; }
.ad-placement__label { color: var(--muted); font-size: .8rem; margin: 0 0 .5rem; text-transform: uppercase; }
.reading-progress { background: var(--focus); height: .25rem; left: 0; position: fixed; right: 0; top: 0; transform: scaleX(0); transform-origin: left; z-index: 10; }
.visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
@media (min-width: 1000px) { .reading-layout { grid-template-columns: minmax(10rem, 14rem) minmax(0, var(--reading-measure)); } .article-tools { padding-top: .5rem; } .article-tools [data-toc] { position: sticky; top: 1rem; } }
@media (max-width: 480px) { .site-header__inner { align-items: flex-start; flex-direction: column; padding-block: .75rem; } .site-actions { width: 100%; } .site-actions > * { flex: 1 0 auto; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* Visitor-first editorial layer: local tokens, no remote font or image dependency. */
:root { --plum: #542b63; --plum-deep: #32143e; --teal: #087b73; --teal-dark: #055a54; --warm: #fbf7f1; --warm-strong: #f1e6d8; --ink: #17212b; --card-shadow: 0 1rem 2.5rem rgb(47 20 58 / .10); --radius: 1rem; }
html[data-theme="dark"] { --plum: #dfb8ec; --plum-deep: #f3d8fb; --teal: #6ed7c9; --teal-dark: #9cece1; --warm: #18232b; --warm-strong: #22313b; --ink: #f0f5f8; --card-shadow: 0 1rem 2.5rem rgb(0 0 0 / .22); }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]), html[data-theme="system"] { --plum: #dfb8ec; --plum-deep: #f3d8fb; --teal: #6ed7c9; --teal-dark: #9cece1; --warm: #18232b; --warm-strong: #22313b; --ink: #f0f5f8; --card-shadow: 0 1rem 2.5rem rgb(0 0 0 / .22); } }
body { line-height: 1.7; }
.site-header { backdrop-filter: blur(14px); background: color-mix(in srgb, var(--bg) 92%, transparent); border-bottom-color: color-mix(in srgb, var(--line) 72%, transparent); position: sticky; top: 0; z-index: 15; }
.site-header__inner { min-height: 4rem; }
.site-title { align-items: center; display: inline-flex; gap: .55rem; letter-spacing: -.03em; }
.site-title__mark { align-items: center; background: var(--plum); border-radius: .55rem; color: #fff; display: inline-flex; font-size: .72rem; font-weight: 850; height: 2.15rem; justify-content: center; letter-spacing: -.04em; width: 2.15rem; }
.site-title__words { font-size: 1.1rem; } .site-title__words strong { color: var(--plum); font-weight: 850; }
.primary-nav .nav { gap: .15rem; }.primary-nav .nav a { border-radius: .5rem; font-size: .93rem; padding-inline: .6rem; }.primary-nav .nav a:hover { background: var(--warm); color: var(--plum-deep); }
.site-actions button, .audience-action { border-radius: 999px; font-size: .88rem; font-weight: 700; }.search-trigger { color: var(--plum-deep); }.audience-action { background: var(--plum); border-color: var(--plum); color: #fff; }.audience-action:hover { background: var(--plum-deep); color: #fff; }
.home-hero { background: linear-gradient(125deg, var(--warm) 0%, color-mix(in srgb, var(--warm) 78%, var(--warm-strong)) 55%, color-mix(in srgb, var(--warm) 68%, var(--plum)) 100%); overflow: hidden; position: relative; }.home-hero::after { background: radial-gradient(circle, color-mix(in srgb, var(--teal) 55%, transparent) 0 2px, transparent 3px); background-size: 18px 18px; content: ""; inset: 0 0 0 58%; opacity: .18; position: absolute; }
.home-hero__grid { align-items: center; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.4fr) minmax(14rem, .6fr); min-height: clamp(27rem, 56vw, 39rem); padding-block: clamp(3rem, 8vw, 6rem); position: relative; z-index: 1; }.home-hero__copy { max-width: 43rem; }.home-hero h1 { color: var(--plum-deep); font-size: clamp(2.6rem, 6vw, 5.25rem); letter-spacing: -.065em; margin-bottom: 1.35rem; }.home-hero__copy > p:not(.eyebrow) { font-size: clamp(1.08rem, 2vw, 1.28rem); max-width: 38rem; }.eyebrow { color: var(--teal-dark); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.eyebrow a { color: inherit; text-decoration: none; }
.button { align-items: center; border-radius: 999px; display: inline-flex; font-weight: 800; justify-content: center; min-height: 2.9rem; padding: .6rem 1.15rem; text-decoration: none; }.button--primary { background: var(--plum); color: #fff; }.button--primary:hover { background: var(--plum-deep); color: #fff; }.home-hero__motif { align-content: center; aspect-ratio: 1; background: linear-gradient(140deg, var(--plum), var(--teal)); border: .7rem solid color-mix(in srgb, var(--bg) 55%, transparent); border-radius: 50% 50% 2rem 50%; box-shadow: var(--card-shadow); color: #fff; display: grid; grid-template-columns: 1fr 1fr; padding: 1.25rem; transform: rotate(-5deg); }.home-hero__motif span { border: 1px solid rgb(255 255 255 / .35); border-radius: .6rem; font-size: .8rem; padding: .4rem; }.home-hero__motif strong { align-self: end; font-size: clamp(1.4rem, 3vw, 2.5rem); grid-column: 1 / -1; letter-spacing: -.06em; line-height: .93; }
.section { padding-block: clamp(3rem, 8vw, 7rem); }.section-intro { margin-bottom: 1.75rem; max-width: 42rem; }.section-intro h2, .archive-hero h1 { color: var(--plum-deep); letter-spacing: -.045em; margin: .2rem 0 .55rem; }.post-grid { gap: 2rem 1.35rem; }.post-grid--featured .post-card:first-child { grid-column: span 2; }.post-card { background: transparent; border: 0; border-radius: var(--radius); overflow: visible; transition: transform .18s ease; }.post-card:hover { transform: translateY(-.25rem); }.post-card__image { background: var(--warm-strong); border-radius: var(--radius); display: block; overflow: hidden; }.post-card__image img { transition: transform .28s ease; }.post-card:hover .post-card__image img { transform: scale(1.025); }.post-card__body { padding: 1rem .15rem .25rem; }.post-card h2 { font-size: clamp(1.32rem, 2vw, 1.65rem); letter-spacing: -.035em; line-height: 1.16; margin: .35rem 0 .6rem; }.post-card h2 a { text-decoration: none; }.post-card h2 a:hover { color: var(--plum); }.post-card__excerpt { color: var(--muted); margin: 0 0 .7rem; }.post-card__meta { font-size: .82rem; }.post-grid--featured .post-card:first-child h2 { font-size: clamp(1.6rem, 3.3vw, 2.45rem); }.topic-section { background: var(--warm); max-width: none; padding-inline: max(var(--space), calc((100% - var(--measure)) / 2 + var(--space))); }.topic-list { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }.topic-list li a { align-items: center; background: var(--bg); border: 1px solid color-mix(in srgb, var(--plum) 18%, var(--line)); border-radius: .7rem; color: var(--text); display: flex; font-weight: 750; justify-content: space-between; min-height: 3.5rem; padding: .6rem 1rem; text-decoration: none; }.topic-list li a:hover { border-color: var(--teal); color: var(--teal-dark); }
.archive-hero, .recovery { background: var(--warm); border-radius: calc(var(--radius) + .45rem); margin-bottom: 2.5rem; max-width: none; padding: clamp(1.75rem, 5vw, 4rem); }.archive-hero p:last-child, .recovery > p:not(.eyebrow) { max-width: 42rem; }.author-header { align-items: center; }.author-avatar { border: .3rem solid var(--bg); box-shadow: 0 .4rem 1.2rem rgb(0 0 0 / .12); }.recovery { background: linear-gradient(135deg, var(--warm), color-mix(in srgb, var(--warm) 78%, var(--teal))); max-width: 56rem; }.recovery h1 { color: var(--plum-deep); letter-spacing: -.055em; }.recovery__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; }.recovery .search-trigger { background: var(--bg); border: 1px solid var(--line); border-radius: 999px; padding-inline: 1rem; }
.article-header { max-width: 58rem; padding-block: clamp(3rem, 7vw, 6rem) 2.5rem; }.article-header h1 { color: var(--plum-deep); font-size: clamp(2.35rem, 5.5vw, 4.75rem); letter-spacing: -.06em; }.article-feature-image { border-radius: var(--radius); overflow: hidden; }.article-feature-image img { aspect-ratio: 16 / 8; object-fit: cover; width: 100%; }.gh-content, .gh-content h2, .gh-content > p { background: transparent; border: 0; }.gh-content { font-size: 1.12rem; line-height: 1.78; }.gh-content > p { margin-block: 0 1.5em; }.gh-content h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.04em; margin-top: 2.4em; padding: 0; }.gh-content h3 { font-size: clamp(1.28rem, 2.4vw, 1.65rem); margin-top: 2em; }.gh-content blockquote { border-left: .3rem solid var(--teal); color: var(--muted); font-size: 1.2em; margin: 2em 0; padding: .2em 0 .2em 1.2em; }.gh-content .kg-callout-card { background: var(--warm); border: 0; border-radius: .8rem; padding: 1.25rem; }.gh-content pre { border: 0; border-radius: .75rem; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent); padding: 1.15rem; }.gh-content :not(pre) > code { border: 0; border-radius: .25rem; padding: .1em .3em; }.article-tools [data-toc] { border-left: 1px solid var(--line); padding-left: 1rem; }.article-navigation { border-top: 1px solid var(--line); }.article-navigation a { border-top: 0; }.article-navigation a:hover { color: var(--plum); }.site-footer { background: var(--plum-deep); border: 0; color: #fff; }.site-footer a, .site-footer__brand { color: #fff; }.site-footer__brand { font-size: 1.1rem; font-weight: 750; }.site-footer__brand span { color: var(--teal); }
@media (max-width: 720px) { .home-hero__grid { grid-template-columns: 1fr; min-height: 0; }.home-hero__motif { justify-self: end; max-width: 15rem; width: 45vw; }.post-grid--featured .post-card:first-child { grid-column: auto; }.archive-hero { padding: 1.5rem; }.article-header h1 { font-size: clamp(2.25rem, 12vw, 3.5rem); } }
@media (max-width: 480px) { .site-header { position: static; }.site-header__inner { gap: .25rem .65rem; }.primary-nav { flex-basis: 100%; order: 3; overflow-x: auto; }.primary-nav .nav { flex-wrap: nowrap; }.site-actions { justify-content: space-between; }.site-actions > * { flex: 0 0 auto; }.home-hero__motif { display: none; }.home-hero h1 { font-size: clamp(2.45rem, 13vw, 3.4rem); }.home-hero__grid { padding-block: 3.5rem; }.topic-section { padding-inline: var(--space); } }
@page { margin: 1.5cm; }
@media print { :root, html, html[data-theme="dark"], html[data-theme="system"] { color-scheme: light; --bg: #fff; --surface: #fff; --text: #000; --muted: #222; --line: #777; --link: #000; --focus: #000; } html, body { min-width: 0; width: auto; } body { background: #fff; color: #000; font-size: 11pt; line-height: 1.45; } .site-header, .site-footer, .skip-link, .site-actions, .appearance-control, .article-tools, .reading-progress, .copy-code, .comments, [data-ghost-comments], .article-navigation, .privacy-preferences, .ad-placement { display: none !important; } .shell, .gh-content { margin-inline: 0; max-width: none; min-width: 0; padding: 0; } .reading-layout { display: block; } a { color: #000; overflow-wrap: anywhere; text-decoration: underline; } a[href]::after { content: " (" attr(href) ")"; font-size: .8em; overflow-wrap: anywhere; } .post-card a::after, .eyebrow a::after { content: none; } img, video { max-width: 100% !important; } iframe { display: none; } .gh-content pre { border: 1px solid #777; max-width: 100%; overflow: visible; white-space: pre-wrap; } .gh-content table { max-width: 100%; overflow: visible; white-space: normal; } figure, table { break-inside: avoid; } }
