/* A page woven from writing and reading. The ink palette also prints each article cover. */
.st-v2 { --st-print-red: oklch(.58 .15 35); --st-print-gold: oklch(.68 .13 70); --st-print-violet: oklch(.55 .09 320); --st-print-green: oklch(.52 .08 165); --st-print-rose: oklch(.62 .13 10); --st-print-paper: oklch(.96 .025 80); --st-print-ink: oklch(.20 .03 45); }
.st-generated-cover { width:100%; height:100%; display:block; --cover-color:var(--st-print-red); --cover-counter:var(--st-print-gold); }
.st-generated-cover[data-ink="1"] { --cover-color:var(--st-print-gold); --cover-counter:var(--st-print-violet); }
.st-generated-cover[data-ink="2"] { --cover-color:var(--st-print-violet); --cover-counter:var(--st-print-rose); }
.st-generated-cover[data-ink="3"] { --cover-color:var(--st-print-green); --cover-counter:var(--st-print-gold); }
.st-generated-cover[data-ink="4"] { --cover-color:var(--st-print-rose); --cover-counter:var(--st-print-red); }
.st-cover-ground { fill:var(--st-print-paper); }
.st-cover-color { fill:var(--cover-color); }
.st-cover-contrast { fill:var(--cover-counter); }
.st-cover-type { fill:var(--st-print-ink); font-family:var(--st-title-serif); font-weight:600; letter-spacing:-.04em; }
.st-cover-knockout { fill:var(--st-print-paper); }
.st-cover-rhythm { fill:none; stroke:var(--st-print-paper); stroke-width:2; opacity:.7; }
.st-cover-stitch { fill:none; stroke:var(--st-print-paper); stroke-width:3; }
.st-byline { display:inline-flex; align-items:center; gap:.6rem; width:fit-content; color:var(--st-ink); text-decoration:none; font:400 1rem/1.5 var(--st-sans); }
.st-byline:hover { text-decoration:underline; }
.st-byline .st-avatar--initial { color:var(--st-ink); background:color-mix(in srgb,var(--st-accent) 13%,var(--st-paper)); }
.st-v2 .st-nav a,.st-v2 .st-account { font-size:1rem; }
.st-hero-v2 { min-height:48rem; max-height:76rem; }
.st-hero-v2 .st-visual { inset:0; z-index:0; }
.st-hero-copy-v2 { padding:7.5rem var(--st-gutter) 0; z-index:3; }
.st-hero-title { font-size:clamp(6rem,15vw,15rem); max-width:100%; letter-spacing:-.04em; line-height:1.05; }
.st-hero-title span { animation:none; }
.st-hero-title[data-long="true"] { font-size:clamp(3.5rem,calc(150vw / var(--name-length)),8rem); max-width:100%; }
.st-hero-bottom { pointer-events:none; }
.st-weave-nodes { position:absolute; inset:0; z-index:3; pointer-events:none; }
.st-weave-node { position:absolute; top:0; left:0; width:24%; padding:1.1rem 1.25rem; pointer-events:auto; color:var(--st-ink); background:var(--st-paper); box-shadow:0 2px 5px color-mix(in srgb,var(--st-ink) 9%,transparent),0 12px 22px color-mix(in srgb,var(--st-ink) 5%,transparent); }
.st-weave-node[hidden] { display:none; }
.st-weave-node:not([style*="transform"]) { left:calc(6% + mod(var(--node),3)*31%); top:calc(44% + round(down,var(--node)/3,1)*26%); }
.st-weave-node:nth-child(n+7) { display:none; }
.st-weave-node[style*="transform"]:not([hidden]) { display:block; }
.st-weave-title { display:block; color:inherit; text-decoration:none; font:600 clamp(1.125rem,1.7vw,1.7rem)/1.5 var(--st-title-serif); text-wrap:balance; }
.st-weave-title:hover { color:var(--st-accent); }
.st-weave-node .st-byline { margin-top:.8rem; }
.st-weave-node time { display:block; margin-top:.6rem; font-size:1rem; line-height:1.5; font-variant-numeric:tabular-nums; color:var(--st-muted); }
.st-weave-tools { position:absolute; z-index:4; inset:auto var(--st-gutter) 1.5rem; display:flex; align-items:center; gap:1rem; justify-content:space-between; }
.st-weave-tools[hidden] { display:none; }
.st-weave-topics { display:flex; gap:.25rem; max-width:62%; overflow-x:auto; scrollbar-width:thin; }
.st-weave-tools button { color:var(--st-ink); background:var(--st-paper); border:1px solid var(--st-line); padding:.55rem .85rem; border-radius:0; white-space:nowrap; font-size:1rem; cursor:pointer; }
.st-weave-topics button { border-color:transparent; }
.st-weave-topics button[aria-pressed="true"] { background:var(--st-ink); color:var(--st-paper); }
.st-weave-tools button:disabled { opacity:.45; cursor:default; }
.st-weave-time { display:flex; }
.st-weave-time button+button { border-left:0; }
.st-weave-time svg { width:1.1rem; }
.st-weave-reset { margin-left:auto; }
.st-visual:has(.st-weave-nodes) { cursor:grab; touch-action:pan-y; }
.st-visual.is-dragging { cursor:grabbing; }
.st-weave-detail { padding:2.5rem; color:var(--st-ink); background:var(--st-paper); border:1px solid var(--st-line); width:min(38rem,calc(100vw - 2rem)); max-height:90svh; overflow:auto; box-shadow:0 20px 80px color-mix(in srgb,var(--st-ink) 24%,transparent); }
.st-weave-detail::backdrop { background:color-mix(in srgb,var(--st-ink) 45%,transparent); backdrop-filter:blur(8px); }
.st-weave-close { position:absolute; right:1rem; top:1rem; background:var(--st-paper); border:0; width:2.5rem; height:2.5rem; cursor:pointer; z-index:1; }
[data-weave-detail-art] { aspect-ratio:1.9; margin:-2.5rem -2.5rem 2rem; overflow:hidden; }
[data-weave-detail-art] svg { object-fit:cover; }
.st-weave-detail h2 { font:600 2rem/1.5 var(--st-title-serif); margin:0 0 1.25rem; }
.st-weave-detail time { display:block; margin-top:1rem; font-size:1rem; color:var(--st-muted); }
.st-weave-detail p { font-size:1.0625rem; line-height:1.9; margin-block:1.5rem; }
.st-weave-read { display:flex; align-items:center; justify-content:space-between; padding-block:1rem; color:var(--st-accent); border-block:1px solid var(--st-line); text-decoration:none; font-size:1.125rem; }
.st-weave-references { margin-top:1.25rem; display:grid; gap:.5rem; }
.st-weave-references button { text-align:left; border:0; background:none; color:var(--st-accent); padding:.5rem 0; cursor:pointer; font:600 1.125rem/1.6 var(--st-title-serif); }
.st-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.st-v2-section { margin-top:6rem; }
.st-v2-heading,.st-about-v2 h2 { font:600 2rem/1.5 var(--st-title-serif); color:var(--st-ink); letter-spacing:0; }
.st-v2-section-head { margin-bottom:2rem; }
.st-featured-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 2rem; }
.st-featured { position:relative; top:auto; border:0; border-radius:0; box-shadow:none; background:none; }
.st-featured:first-child { grid-column:1 / -1; }
.st-featured-inner { display:flex; flex-direction:column-reverse; gap:1.5rem; }
.st-featured:first-child .st-featured-inner { display:grid; grid-template-columns:1fr 1.4fr; align-items:center; gap:3rem; }
.st-featured-copy { padding:0; }
.st-featured-art { display:block; aspect-ratio:1.5; overflow:hidden; }
.st-featured-title { margin-bottom:1rem; font-size:1.65rem; line-height:1.55; }
.st-featured:first-child .st-featured-title { font-size:clamp(2rem,3.4vw,3.25rem); }
.st-featured-title a { color:inherit; text-decoration:none; }
.st-featured-title a:hover { color:var(--st-accent); }
.st-featured-excerpt { display:none; }
.st-featured-meta { margin-top:1.2rem; font-size:1rem; }
.st-featured-meta svg { display:none; }
.st-latest-row { padding-block:1.25rem; }
.st-latest-row a[data-cover-row] { padding:.25rem 0 .75rem; }
.st-latest-row time,.st-month > h3 { font-size:1rem; color:var(--st-muted); }
.st-month { grid-template-columns:7rem 1fr; }
.st-month > h3 { padding-top:1.7rem; }
.st-latest-row .st-byline { padding:0; }
.st-book-meta { font-size:1rem; }
.st-footer-actions nav,.st-visitor-controls button,.st-footer-colophon { font-size:1rem; }
.st-footer-brand { letter-spacing:-.04em; }
@media(max-width:700px) {
 .st-hero-v2 { min-height:50rem; height:100svh; max-height:64rem; }
 .st-hero-copy-v2 { padding-top:7rem; }
 .st-hero-title { font-size:clamp(4.5rem,22vw,8rem); }
 .st-hero-v2:has([data-kind="scene"][data-builtin]) .st-visual { inset:0; }
 .st-weave-node { width:70%; padding:.65rem .9rem; }
 .st-weave-title { font-size:1.125rem; line-height:1.5; }
 .st-weave-node .st-byline { font-size:1rem; margin-top:.5rem; }
 .st-weave-node time { display:none; }
 .st-weave-node:not([style*="transform"]) { left:12%; top:calc(39% + var(--node)*16.5%); }
 .st-weave-node:nth-child(n+4) { display:none; }
 .st-weave-tools { inset:auto 1.25rem 1rem; flex-wrap:wrap; gap:.6rem; }
 .st-weave-topics { max-width:100%; flex-basis:100%; }
 .st-weave-tools button { font-size:1rem; padding:.45rem .65rem; }
 .st-weave-detail { padding:1.5rem; }
 [data-weave-detail-art] { margin:-1.5rem -1.5rem 1.5rem; }
 .st-weave-detail h2 { font-size:1.5rem; }
 .st-v2 .st-header .st-nav a,.st-v2 .st-account { font-size:.9375rem; }
 .st-v2 .st-header .st-wordmark { max-width:4em; }
 .st-featured-stack { grid-template-columns:1fr; gap:2.5rem; }
 .st-featured:first-child .st-featured-inner { display:flex; flex-direction:column-reverse; gap:1.5rem; }
 .st-featured:first-child .st-featured-title { font-size:1.5rem; }
 .st-featured-art { width:100%; }
 .st-v2-heading,.st-about-v2 h2 { font-size:1.5rem; }
 .st-month { grid-template-columns:1fr; gap:0; }
 .st-month > h3 { padding-block:.75rem; border-bottom:1px solid var(--st-line); }
 .st-featured-title { font-size:1.375rem; }
 .st-v2-section { margin-top:4rem; }
}
@media(prefers-reduced-motion:reduce) { .st-weave-node { will-change:auto; } }

.st-weave-title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.st-weave-node .st-byline { max-width:100%; }
.st-weave-node .st-byline span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
