.cat-chips{flex-wrap:wrap;gap:10px;margin:0 0 40px;display:flex}.cat{-webkit-appearance:none;appearance:none;cursor:pointer;font:inherit;font-size:var(--fs-caption);letter-spacing:.01em;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease);align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:inline-flex}.cat:hover{border-color:var(--border-strong);color:var(--text)}.cat[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.cat .n{font-variant-numeric:tabular-nums;opacity:.7;font-weight:500}.cat:focus-visible{box-shadow:0 0 0 4px var(--blue-ring);outline:none}.posts{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.post{color:inherit;text-decoration:none}.post:hover{text-decoration:none}.post .art{aspect-ratio:16/10;background:var(--surface-2);border-bottom:1px solid var(--border);width:100%;display:block}.post .art svg{width:100%;height:100%;display:block}.post .card-body{flex:1}.post h3{letter-spacing:-.015em;margin-top:2px;font-size:21px;line-height:1.25}.post .meta{font-size:var(--fs-caption);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:auto;padding-top:8px;display:flex}.post .meta time{font-variant-numeric:tabular-nums}.post .meta .dot{background:var(--muted);border-radius:50%;width:4px;height:4px}.post .btn-link{margin-top:0;padding-top:0}.post.is-hidden{display:none}.posts-empty{border:1px dashed var(--border-strong);border-radius:var(--r-card);text-align:center;color:var(--text-2);font-size:var(--fs-small);grid-column:1/-1;padding:36px 28px;display:none}.posts-empty.show{display:block}.posts-empty b{color:var(--text)}.tm-note{font-size:var(--fs-caption);color:var(--text-2);max-width:70ch;margin-top:28px}.principles{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.news-grid{gap:var(--gap-lg);grid-template-columns:1fr 1fr;align-items:center;display:grid}.news-grid .form-card{padding:32px}.elsewhere .card h3{font-size:20px}@media (width<=1024px){.posts{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.news-grid{grid-template-columns:1fr;gap:36px}.principles{grid-template-columns:1fr}}@media (width<=480px){.posts{grid-template-columns:1fr}.cat-chips{gap:8px}}