.kn-wrap{width:min(1120px,calc(100% - 2*var(--gutter,20px)));margin:auto;padding-bottom:4rem}.kn-masthead{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-bottom:2px solid var(--hairline-strong);padding:1.7rem 0}.kn-masthead>a{font-weight:800;color:var(--snow);text-decoration:none}.kn-masthead>a span{display:block;font:.68rem var(--font-mono);letter-spacing:.18em;color:var(--accent-text);margin-top:.3rem}.kn-masthead nav{display:flex;gap:1rem;font-size:.75rem;flex-wrap:wrap}.kn-masthead nav a[aria-current=page]{color:var(--snow);font-weight:700}.kn-intro{padding:2.5rem 0 1rem;max-width:780px}.kn-intro h1,.kn-article h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.25;letter-spacing:-.03em;color:var(--snow);margin:.5rem 0 1rem}.kn-dek{font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.85;color:var(--text-dim)}.kn-kicker{font-size:.7rem;color:var(--accent-text);letter-spacing:.16em}.kn-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.kn-categories button{padding:.65rem .85rem;border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;font-size:.8rem;min-height:44px;cursor:pointer}.kn-categories button span{font-size:.65rem;opacity:.75;margin-left:.35rem}.kn-categories button[aria-pressed=true]{background:var(--accent-deep);color:var(--accent-ink)}.kn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.kn-card{min-width:0;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--radius-surface);overflow:hidden;display:flex;flex-direction:column}.kn-card[hidden]{display:none}.kn-card__image{display:block;overflow:hidden}.kn-card img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .3s}.kn-card:hover img{transform:scale(1.025)}.kn-card__body{padding:1.2rem;display:flex;flex-direction:column;flex:1}.kn-card h2{font-size:1.3rem;line-height:1.65;margin:.7rem 0}.kn-card h2 a{color:var(--snow);text-decoration:none}.kn-card__body>p:not(.kn-meta){font-size:.85rem;line-height:1.85;color:var(--text-dim)}.kn-meta{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.7rem;color:var(--muted);margin:0}.kn-meta>span,.kn-meta>a{color:var(--accent-text)}.kn-read{margin-top:auto;padding-top:.8rem;font-size:.85rem}.kn-credit,figcaption{font-size:.68rem;line-height:1.8;color:var(--muted);margin-top:.6rem}.kn-archive{margin-top:3rem;border-top:1px solid var(--hairline-strong);padding-top:1.5rem}.kn-archive>a{display:grid;grid-template-columns:100px 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--hairline);text-decoration:none;align-items:start}.kn-archive>a span{font-size:.7rem;color:var(--muted)}.kn-archive strong{font-size:.95rem;color:var(--text);line-height:1.65}.kn-archive>p{color:var(--muted);font-size:.85rem}.kn-next{margin:2.5rem 0;padding:1.6rem;background:var(--surface);border-top:2px solid var(--accent);border-radius:var(--radius-surface)}.kn-next h2{font-size:1.25rem;line-height:1.6}.kn-next a{margin:.4rem .5rem .2rem 0}.kn-article{max-width:780px;margin:2rem auto}.kn-article figure{margin:2rem 0}.kn-cover{display:block;width:100%;height:300px;object-fit:cover;border-radius:var(--radius-surface)}.kn-prose{font-size:1rem;line-height:2;overflow-wrap:anywhere}.kn-prose h2{font-size:1.4rem;margin-top:2.5rem;line-height:1.6;color:var(--snow)}.kn-sources{border-top:1px solid var(--hairline-strong);margin-top:2.5rem;padding-top:1rem;font-size:.9rem;line-height:1.9}.kn-related{display:grid;gap:.8rem}.kn-related a{padding:.85rem 0;border-bottom:1px solid var(--hairline)}.kn-empty{padding:2rem 1rem;background:var(--surface);line-height:1.8}.kn-wrap a:focus-visible,.kn-wrap button:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}@media(max-width:760px){.kn-grid{grid-template-columns:1fr}.kn-masthead{align-items:flex-start}.kn-masthead nav{gap:.6rem}.kn-intro{padding-top:1.5rem}.kn-card img{height:195px}.kn-cover{height:230px}.kn-archive>a{grid-template-columns:1fr auto;gap:.3rem}.kn-archive>a strong{grid-column:1}.kn-archive>a span:last-child{grid-column:2;grid-row:1/3}.kn-next a{display:block;text-align:center;margin-right:0}}
