body{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.container{max-width:var(--container, 1280px);margin:0 auto;padding:0 var(--gutter, 32px)}@media(max-width:720px){.container{padding:0 var(--gutter-tight, 16px)}}.page-top{padding:80px 0 40px;border-bottom:1px solid var(--c-border)}.crumb{display:flex;gap:8px;align-items:center;font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-text-3);margin-bottom:28px}.crumb a{color:var(--c-text-3);text-decoration:none}.crumb a:hover{color:var(--c-text)}.crumb .sep{color:var(--c-text-4)}.crumb .current{color:var(--c-text)}.article-meta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-text-3);margin-bottom:28px}.article-meta-row .sep{color:var(--c-text-4)}.article-meta-row .cat{color:var(--c-accent)}.page-h1{font-size:clamp(36px,6vw,72px);font-weight:var(--w-700);line-height:1.05;letter-spacing:-.03em;margin:0;color:var(--c-text);max-width:1000px}.page-h1 em{font-style:normal;color:var(--c-text-3)}.page-lead{font-size:var(--t-body-l);line-height:var(--lh-prose);color:var(--c-text-2);margin:24px 0 0;max-width:720px}.page-body{padding:56px 0 96px}.prose{max-width:760px;margin:0 auto;font-size:var(--t-body-l);line-height:var(--lh-prose);color:var(--c-text-2)}.prose h2{font-size:var(--t-h1);font-weight:var(--w-700);margin:48px 0 16px;color:var(--c-text);letter-spacing:var(--tr-h1)}.prose h3{font-size:var(--t-h2);font-weight:var(--w-600);margin:32px 0 12px;color:var(--c-text);letter-spacing:var(--tr-h3)}.prose h4{font-size:var(--t-h3);font-weight:var(--w-600);margin:24px 0 10px;color:var(--c-text)}.prose p{margin:0 0 20px}.prose a{color:var(--c-accent);border-bottom:1px solid color-mix(in srgb,var(--c-accent) 35%,transparent);transition:opacity .15s}.prose a:hover{opacity:.75}.prose b,.prose strong{color:var(--c-text);font-weight:var(--w-600)}.prose ul,.prose ol{padding-left:24px;margin:0 0 20px}.prose ul li,.prose ol li{margin-bottom:8px}.prose img{max-width:100%;height:auto;border-radius:var(--r-3, 8px);margin:24px 0}.prose figure{margin:24px 0}.prose blockquote{border-left:3px solid var(--c-accent);padding-left:20px;margin:24px 0;color:var(--c-text);font-style:italic}.prose pre{background:var(--c-bg-sunk);border:1px solid var(--c-border);border-radius:var(--r-3, 8px);padding:18px;margin:20px 0;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.prose code{font-family:var(--font-mono);font-size:.92em;color:var(--c-text)}.prose pre code{color:var(--c-text-2);white-space:pre-wrap;word-break:break-word}.prose hr{border:0;border-top:1px solid var(--c-border);margin:40px 0}.prose .logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:32px 0}.prose .logo-grid>a,.prose .logo-grid>img{display:flex;align-items:center;justify-content:center;height:88px;padding:16px 20px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-3, 8px);margin:0;box-sizing:border-box;transition:background .2s,border-color .2s}.prose .logo-grid>a{text-decoration:none}.prose .logo-grid>a:hover{background:var(--c-surface-2);border-color:var(--c-border-strong)}.prose .logo-grid img{max-height:40px;max-width:100%;width:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .2s,filter .2s}.prose .logo-grid>a img{background:transparent;border:0;padding:0;margin:0}.prose .logo-grid>a:hover img,.prose .logo-grid>img:hover{opacity:1;filter:none}:root[data-theme=light] .prose .logo-grid img{filter:grayscale(1) brightness(.7);opacity:.7}:root[data-theme=light] .prose .logo-grid>a:hover img,:root[data-theme=light] .prose .logo-grid>img:hover{filter:none;opacity:1}.prose table{width:100%;border-collapse:collapse;margin:24px 0}.prose th,.prose td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--c-border)}.prose th{font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-text-3);font-weight:var(--w-500)}.next-reads{padding:56px 0 96px;border-top:1px solid var(--c-border)}.nr-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;flex-wrap:wrap;gap:12px}.nr-head h2{font-size:clamp(24px,3vw,36px);font-weight:var(--w-700);line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--c-text)}.nr-all{font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-accent);text-decoration:none}.nr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}@media(max-width:900px){.nr-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.nr-grid{grid-template-columns:1fr}}.nr-card{display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-3, 8px);overflow:hidden;color:inherit;text-decoration:none;transition:background .15s}.nr-card:hover{background:var(--c-surface-2)}.nr-cover{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:var(--c-bg-sunk)}.nr-body{padding:18px 18px 22px;flex:1;display:flex;flex-direction:column}.nr-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--c-text-3);margin-bottom:10px}.nr-meta .nr-cat{color:var(--c-accent)}.nr-meta .sep{color:var(--c-text-4)}.nr-card h3{font-size:var(--t-body-l);font-weight:var(--w-600);line-height:var(--lh-normal);color:var(--c-text);margin:0;letter-spacing:-.005em}
