.post-card,.featured-card,.widget,.table-of-contents,.comments-area,.related-posts{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.post-card{display:flex;flex-direction:column}.post-card__image{display:block;aspect-ratio:1.7;overflow:hidden;background:var(--surface)}.post-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.post-card:hover img{transform:scale(1.04)}.post-card__body{padding:1rem 1.1rem}.post-card__category,.entry-category{font-size:.82rem;font-weight:700}.post-card__title{font-size:1.15rem;line-height:1.4;margin:.4rem 0}.post-card__title a{color:var(--ink)}.post-card__body p{color:var(--muted);font-size:.92rem;margin:.5rem 0}.post-card__meta,.entry-meta{color:var(--muted);font-size:.85rem}.featured-card{position:relative;min-height:220px}.featured-card>a{display:block;height:100%;color:#fff}.featured-card img{width:100%;height:100%;min-height:220px;object-fit:cover}.featured-card__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:1rem;background:linear-gradient(transparent,#111b)}.featured-card__overlay h2{line-height:1.35;margin:.35rem 0 0}.widget{padding:1.25rem;margin-bottom:1.5rem}.widget-title{font-size:1.1rem;margin-top:0}.entry-header{margin-bottom:1.5rem}.entry-title{font-size:clamp(2rem,5vw,3.5rem);line-height:1.25;margin:.4rem 0 1rem}.entry-meta{display:flex;flex-wrap:wrap;gap:.75rem}.entry-image{margin-top:1.5rem;border-radius:var(--radius)}.post-share,.entry-footer{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line)}.post-tags a{display:inline-block;background:var(--surface);padding:.2rem .65rem;border-radius:999px;margin:.2rem}.related-posts{margin-top:2.5rem;padding:1.25rem}.post-grid--related{grid-template-columns:repeat(2,minmax(0,1fr))}.breadcrumbs{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-bottom:1rem}.announcement{margin-top:1rem}.announcement .widget{margin:0}.search-modal{position:fixed;z-index:50;inset:0;background:rgb(0 0 0 / .55);padding:10vh 1rem}.search-modal__panel{max-width:650px;margin:auto;padding:2rem;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow)}.search-close{float:inline-end}.search-form{display:flex;gap:.5rem}.search-field{width:100%;border:1px solid var(--line);border-radius:8px;padding:.65rem;background:var(--paper);color:var(--ink)}.reader-progress{position:fixed;inset-block-start:0;inset-inline:0;height:3px;z-index:60}.reader-progress span{display:block;height:100%;width:0;background:var(--accent)}.table-of-contents{padding:1rem 1.25rem;margin:1.5rem 0;background:var(--surface)}.table-of-contents ol{margin:.5rem 0 0}.toc-h3{margin-inline-start:1rem}.toc-h4{margin-inline-start:2rem}.comments-area{padding:1.5rem;margin-top:2rem}.comment-list{padding:0;list-style:none}.comment-body{padding:1rem 0;border-bottom:1px solid var(--line)}.comment-form input,.comment-form textarea{width:100%;padding:.6rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.back-to-top{margin-inline-start:auto}.ad-slot{min-height:90px;margin:1.5rem 0;display:grid;place-items:center;border:1px dashed var(--line);color:var(--muted)}
