.case__title{min-height:3.2em}.case__tags:empty{display:none}.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}.post-card{background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.post-card:hover{box-shadow:var(--shadow-2);transform:translateY(-4px)}.post-card__img{aspect-ratio:16/10;overflow:hidden}.post-card__img img{width:100%;height:100%;object-fit:cover}.post-card__body{padding:var(--s5)}.post-card__meta{display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-xs);color:var(--ink-3);margin-bottom:var(--s2)}.post-card__meta .cat{color:var(--accent);font-weight:var(--fw-semibold)}.post-card__meta .date{font-family:var(--font-en)}.post-card__title{font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:1.55}.article-head{max-width:780px;margin:0 auto var(--s7);text-align:center;padding-top:var(--s8)}.article-head__meta{display:inline-flex;align-items:center;gap:var(--s3);font-size:var(--fs-sm);color:var(--ink-3);margin-bottom:var(--s4)}.article-head__meta .cat{color:var(--accent);font-weight:var(--fw-semibold)}.article-head__meta .date{font-family:var(--font-en)}.article-head__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:1.5;letter-spacing:.02em}.article-head__cover{max-width:980px;margin:var(--s6) auto 0;aspect-ratio:16/8;overflow:hidden;border-radius:var(--r-lg)}.article-head__cover img{width:100%;height:100%;object-fit:cover}.prose{max-width:760px;margin:0 auto;color:var(--ink);font-size:var(--fs-base);line-height:2;padding:0 var(--s5)}.prose>*+*{margin-top:var(--s5)}.prose h2{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.4;margin-top:var(--s8);padding-bottom:var(--s3);border-bottom:1px solid var(--line)}.prose h3{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-top:var(--s7)}.prose p{color:var(--ink-2)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.prose ul,.prose ol{padding-left:var(--s6);color:var(--ink-2)}.prose li+li{margin-top:var(--s2)}.prose img{width:100%;border-radius:var(--r-md);margin:var(--s6) 0}.prose blockquote{border-left:3px solid var(--accent);background:var(--sunken);padding:var(--s4) var(--s5);color:var(--ink-2)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--sunken);padding:2px 6px;border-radius:var(--r-sm)}.prose pre{background:var(--ink);color:var(--on-accent);padding:var(--s5);border-radius:var(--r-md);overflow:auto;font-family:var(--font-mono);font-size:var(--fs-sm)}.prose pre code{background:transparent;padding:0;color:inherit}.prose hr{border:0;border-top:1px solid var(--line)}.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.prose th,.prose td{border:1px solid var(--line);padding:var(--s3) var(--s4);text-align:left}.prose th{background:var(--sunken);font-weight:var(--fw-semibold)}@media(max-width:768px){.posts{grid-template-columns:1fr}}
