.article-cards{grid-template-columns:repeat(3,1fr);gap:40px 24px;max-width:1000px;margin:0 auto;display:grid}.article-card__link{color:inherit;text-decoration:none;transition:opacity .2s;display:block}.article-card__link:hover{opacity:.7}.article-card__thumb{aspect-ratio:3/2;object-fit:cover;width:100%;margin-bottom:16px;display:block}.article-card__date{letter-spacing:.06em;color:var(--color-muted);margin-bottom:8px;font-family:monospace;font-size:12px;display:block}.article-card__title{color:var(--color-text-dark);margin-bottom:8px;font-size:15px;font-weight:500;line-height:1.8}.article-card__desc{color:var(--color-muted);font-size:13px;line-height:1.8}.article-card__tags{margin-top:12px}.article-empty{text-align:center;color:var(--color-muted);font-size:14px;line-height:1.8}.article{max-width:720px;margin:0 auto;padding:0 24px}.article__header{margin-bottom:40px}.article__meta{align-items:center;gap:12px;margin-bottom:16px;display:flex}.article__date{letter-spacing:.06em;color:var(--color-muted);font-family:monospace;font-size:12px}.article__title{color:var(--color-text-dark);margin-bottom:16px;font-size:24px;font-weight:500;line-height:1.7}.article__updated{color:var(--color-muted);font-size:12px}.article__hero{width:100%;height:auto;margin-bottom:40px;display:block}.article__preview-notice{border:1px solid var(--color-muted);color:var(--color-muted);margin-bottom:32px;padding:14px 16px;font-size:13px;line-height:1.8}.article-toc{border-top:1px solid var(--color-sub-primary);border-bottom:1px solid var(--color-sub-primary);margin-bottom:48px;padding:24px 0}.article-toc__label{letter-spacing:.15em;text-transform:uppercase;color:var(--color-muted);margin-bottom:16px;font-size:12px;font-weight:500}.article-toc__list{list-style:none}.article-toc__item{line-height:1.8}.article-toc__item--sub{padding-left:16px}.article-toc__link{color:var(--color-text-dark);font-size:13px;text-decoration:none}.article-toc__link:hover{opacity:.6;text-decoration:underline}.article-body{color:var(--color-text-dark);font-size:14px;line-height:2}.article-body h2{color:var(--color-text-dark);border-bottom:1px solid var(--color-sub-primary);margin-top:60px;margin-bottom:20px;padding-bottom:12px;font-size:19px;font-weight:500;line-height:1.8}.article-body h3{color:var(--color-text-dark);margin-top:40px;margin-bottom:12px;font-size:16px;font-weight:500;line-height:1.8}.article-body p{margin-bottom:24px}.article-body a{color:var(--color-text-dark);word-break:break-word;text-decoration:underline}.article-body a:hover{opacity:.6}.article-body ul,.article-body ol{margin:0 0 24px;padding-left:24px}.article-body ul{list-style:outside}.article-body ol{list-style:decimal}.article-body li{margin-bottom:8px;line-height:2}.article-body img{max-width:100%;height:auto;margin:32px auto;display:block}.article-body blockquote{border-left:2px solid var(--color-sub-primary);color:var(--color-muted);margin:0 0 24px;padding-left:20px}.article-body blockquote p:last-child{margin-bottom:0}.article-body hr{border:0;border-top:1px solid var(--color-sub-primary);margin:48px 0}.article-body code{background:var(--color-sub-primary);border-radius:2px;padding:2px 6px;font-family:monospace;font-size:.9em}.article-body pre{background:var(--color-sub-primary);border-radius:2px;margin-bottom:24px;padding:16px 20px;overflow-x:auto}.article-body pre code{background:0 0;padding:0}.article-body table{border-collapse:collapse;width:100%;margin-bottom:24px;font-size:13px;display:block;overflow-x:auto}.article-body th,.article-body td{border:1px solid var(--color-sub-primary);text-align:left;padding:8px 12px;line-height:1.8}.article-body th{background:var(--color-sub-primary);font-weight:500}.article-note{border-left:2px solid var(--color-sub-primary);background:0 0;margin:32px 0;padding:20px 24px}.article-note--warning{border-left-width:3px;border-left-color:var(--color-muted)}.article-note__label{letter-spacing:.08em;color:var(--color-muted);margin-bottom:8px;font-size:12px;font-weight:500}.article-note p{margin-bottom:12px;font-size:13px;line-height:1.9}.article-note>:last-child{margin-bottom:0}.article-note ul,.article-note ol{margin-bottom:12px}.article-note li{font-size:13px;line-height:1.9}.article-embed{max-width:540px;margin:32px auto}.article-embed__frame{height:0;position:relative}.article-embed--1x1 .article-embed__frame{padding-bottom:calc(100% + 193px)}.article-embed--4x5 .article-embed__frame{padding-bottom:calc(125% + 189px)}.article-embed--16x9 .article-embed__frame{padding-bottom:calc(56.25% + 200px)}.article-embed__frame iframe{border:1px solid var(--color-sub-primary);border-radius:0;width:100%;height:100%;display:block;position:absolute;inset:0}.article-embed__caption{color:var(--color-muted);text-align:center;margin-top:12px;font-size:12px;line-height:1.8}.article-body .article-embed__caption a{color:var(--color-muted)}.article-cta{border:1px solid var(--color-muted);text-align:center;margin-top:60px;padding:32px 24px}.article-cta__image{aspect-ratio:3/2;object-fit:cover;width:100%;max-width:320px;margin:0 auto 24px;display:block}.article-cta__heading{color:var(--color-text-dark);margin-bottom:12px;font-size:17px;font-weight:500;line-height:1.8}.article-cta__body{color:var(--color-text-dark);margin-bottom:24px;font-size:14px;line-height:1.9}.article-cta__button{border:1px solid var(--color-muted);color:var(--color-muted);letter-spacing:.1em;background:0 0;border-radius:0;padding:10px 28px;font-size:13px;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.article-cta__button:hover{background:var(--color-muted);color:var(--color-primary)}.article-related{border-top:1px solid var(--color-sub-primary);margin-top:60px;padding-top:40px}.article-related__label{letter-spacing:.15em;text-transform:uppercase;color:var(--color-muted);margin-bottom:24px;font-size:12px;font-weight:500}.article-related .article-cards{grid-template-columns:repeat(3,1fr);gap:24px 16px}.article-related .article-card__title{font-size:14px}.article-back{border-top:1px solid var(--color-sub-primary);text-align:center;margin-top:60px;padding-top:32px}@media (max-width:768px){.article-cards{grid-template-columns:repeat(2,1fr);gap:32px 16px}.article-related .article-cards{grid-template-columns:1fr}.article-body,.article-body li{font-size:16px}.article__title{font-size:21px}.article-body h2{font-size:18px}.article-body h3{font-size:16px}.article-card__desc,.article-cta__body{font-size:14px}.article-note p,.article-note li{font-size:15px}}@media (max-width:480px){.article-cards{grid-template-columns:1fr}.article{padding:0 16px}}
