/* Blog cards and article typography. */
.nt-blog-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));gap: 1.5rem;}
.nt-blog-card{background: var(--nt-bg-card);border: 1px solid var(--nt-border);border-radius: 12px;overflow: hidden;display: flex;flex-direction: column;}
.nt-blog-card:hover{border-color: #444;box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);}
.nt-blog-card__cover{display: block;width: 100%;aspect-ratio: 16 / 7;text-decoration: none;position: relative;overflow: hidden;background: #1e1e1e;}
.nt-blog-card__cover img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;display: block;}
.nt-blog-card__cover::after{content: "";position: absolute;inset: 0;background: rgba(0,0,0,0.22);z-index: 1;}
.nt-blog-card:hover .nt-blog-card__cover::after{background: rgba(0,0,0,0.08);}
.nt-blog-card__body{padding: 1.25rem 1.25rem 1.5rem;display: flex;flex-direction: column;flex: 1;gap: 0.65rem;}
.nt-blog-tag{display: inline-block;padding: 2px 10px;background: rgba(1, 125, 255, 0.12);color: #6bb5ff;border: 1px solid rgba(1, 125, 255, 0.3);border-radius: 999px;font-size: 0.75rem;font-weight: 600;white-space: nowrap;}
.nt-blog-card__title{font-size: 1rem;font-weight: 700;line-height: 1.45;margin: 0;}
.nt-blog-card__title a{color: var(--nt-text);text-decoration: none;}
.nt-blog-card__title a:hover{color: var(--nt-primary-light);}
.nt-blog-card__desc{font-size: 0.875rem;color: var(--nt-text-muted);line-height: 1.65;flex: 1;}
.nt-blog-card__date{font-size: 0.78rem;color: var(--nt-text-muted);display: block;}
.nt-blog-card__link{display: inline-flex;align-items: center;gap: 0.25rem;margin-top: 0.25rem;padding: 0.45rem 1rem;font-size: 0.82rem;font-weight: 700;color: var(--nt-text);background: rgba(255,255,255,0.06);border: 1px solid var(--nt-border);border-radius: 999px;text-decoration: none;align-self: flex-start;}
.nt-blog-card__link:hover{background: var(--nt-primary);border-color: var(--nt-primary);color: #fff;}
.nt-article{max-width: 760px;margin: 0 auto;}
.nt-article__header{margin-bottom: 2rem;padding-bottom: 1.5rem;border-bottom: 1px solid var(--nt-border);}
.nt-article__header h1{font-size: clamp(1.5rem, 3.5vw, 2.1rem);line-height: 1.3;margin-top: 0.75rem;margin-bottom: 0.5rem;color: var(--nt-text);}
.nt-article__meta{font-size: 0.875rem;color: var(--nt-text-muted);margin-top: 0.5rem;}
.nt-article h2{font-size: clamp(1.2rem, 2.5vw, 1.5rem);margin-top: 2.5rem;margin-bottom: 0.75rem;color: var(--nt-text);padding-bottom: 0.4rem;border-bottom: 2px solid var(--nt-primary);display: inline-block;}
.nt-article p{margin-bottom: 1rem;color: #d1d5db;line-height: 1.8;}
.nt-article ul,.nt-article ol{margin: 0.5rem 0 1rem 0;padding-left: 1.5rem;color: #d1d5db;line-height: 1.8;}
.nt-article ul{list-style: disc;}
.nt-article ol{list-style: decimal;}
.nt-article ul li,.nt-article ol li{list-style: revert;padding-left: 0.25rem;margin-bottom: 0.4rem;}
.nt-article li{margin-bottom: 0.4rem;}
.nt-article details{background: var(--nt-bg-card);border: 1px solid var(--nt-border);border-radius: var(--nt-radius-lg);padding: 0;margin-bottom: 0.75rem;}
.nt-article summary{padding: 1rem 1.25rem;font-weight: 600;color: var(--nt-text);cursor: pointer;list-style: none;display: flex;align-items: center;gap: 0.5rem;user-select: none;}
.nt-article summary::-webkit-details-marker{display: none;}
.nt-article strong{color: var(--nt-text);}
.nt-article code{background: #2d2d2d;color: #6bb5ff;padding: 1px 6px;border-radius: 4px;font-size: 0.88em;font-family: "Courier New", monospace;}
.nt-article__figure{margin: 0 0 2.5rem;border-radius: 10px;overflow: hidden;}
.nt-article__featured-img{width: 100%;display: block;max-height: 420px;object-fit: cover;border-radius: 10px;}
@media (max-width: 768px){.nt-blog-grid{grid-template-columns: 1fr;}
.nt-article__header h1{font-size: 1.35rem;}
.nt-article__featured-img{max-height: 220px;}}
/* Article figures keep their complete content at every viewport. */
.nt-related{margin:32px 0 48px;padding:20px;background:var(--nt-bg-card);border-radius:6px}
.nt-related h2{margin-top:0}
figcaption{padding:10px 0;color:#aab4c3;font-size:.8rem}
.nt-article__figure{overflow:visible}
.nt-article__featured-img{height:auto;max-height:none;object-fit:contain}
.nt-blog-grid{margin-top:24px}
.nt-article p{word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:600px){.nt-article__header h1{font-size:1.55rem}}
