.article-page{color:#111;background:#faf8fc;min-height:100vh}.article-shell{max-width:42rem;margin:0 auto;padding:3rem 1.5rem 4rem}.article-shell-wide{max-width:56rem}.article-layout{gap:2rem;margin-top:2rem;display:grid}.article-layout--with-toc{grid-template-columns:1fr}@media (min-width:960px){.article-layout--with-toc{grid-template-columns:minmax(9rem,12rem) minmax(0,1fr);align-items:start}}.article-toc{background:#fff;border:1px solid #e0d4f0;border-radius:8px;padding:1rem 1.125rem}@media (min-width:960px){.article-toc{position:sticky;top:1.5rem}}.article-toc__title{letter-spacing:.04em;text-transform:uppercase;color:#666;margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.article-toc__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.article-toc__item--nested{padding-left:.875rem}.article-toc__link{color:#444;font-size:.9375rem;line-height:1.45;text-decoration:none;display:block}.article-toc__link:hover{color:#6d4bc3;text-decoration:underline}.article-back{color:#6d4bc3;margin-bottom:2rem;font-size:.95rem;text-decoration:none;display:inline-block}.article-back:hover{text-decoration:underline}.article-list-header h1{color:#111;margin:0 0 .5rem;font-size:2.25rem;line-height:1.2}.article-list-header p{color:#444;margin:0 0 2.5rem}.article-list{flex-direction:column;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.article-card{background:#fff;border:1px solid #e0d4f0;border-radius:8px;padding:1.25rem 1.5rem}.article-card h2{margin:0 0 .5rem;font-size:1.35rem;line-height:1.3}.article-card h2 a{color:#111;text-decoration:none}.article-card h2 a:hover{color:#6d4bc3}.article-card p{color:#333;margin:0 0 .75rem;line-height:1.6}.article-meta{color:#666;font-size:.875rem}.article-header h1{color:#111;margin:0 0 .75rem;font-size:2.5rem;line-height:1.15}.article-header .article-excerpt{color:#333;margin:0 0 1rem;font-size:1.125rem;line-height:1.6}.article-body{color:#111;min-width:0;font-size:1.0625rem;line-height:1.75}.article-body h2,.article-body h3,.article-body h4{scroll-margin-top:1.5rem}.article-body h2{margin-top:2.5rem;margin-bottom:.875rem;font-size:1.75rem;line-height:1.25}.article-body h3{margin-top:2rem;margin-bottom:.75rem;font-size:1.35rem;line-height:1.3}.article-body h4{margin-top:1.75rem;margin-bottom:.625rem;font-size:1.125rem;line-height:1.35}.article-body p{margin:1rem 0}.article-body a{color:#6d4bc3}.article-body ul,.article-body ol{margin:1rem 0;padding-left:1.5rem}.article-body li+li{margin-top:.35rem}.article-body ul.list-check{padding-left:0;list-style:none}.article-body .list-item-checkbox{align-items:flex-start;gap:.5rem;display:flex}.article-body .list-item-checkbox input{accent-color:#6d4bc3;margin-top:.35rem}.article-body blockquote{color:#444;border-left:3px solid #b69cff;margin:1.5rem 0;padding:.75rem 0 .75rem 1rem}.article-body hr{border:0;border-top:1px solid #e0d4f0;margin:2rem 0}.article-body code{color:#4a2f8f;background:#f3eefb;border-radius:4px;padding:.15em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em}.article-body .code-block{background:#1e1e1e;border:1px solid #e0d4f0;border-radius:8px;margin:1.5rem 0;overflow:hidden}.article-body .code-block__language{letter-spacing:.04em;text-transform:uppercase;color:#c9b8ff;background:#2a2a2a;border-bottom:1px solid #3a3a3a;margin:0;padding:.5rem .875rem;font-size:.75rem;font-weight:600}.article-body .code-block pre{margin:0;padding:1rem 1.125rem;font-size:.9375rem;line-height:1.6;overflow-x:auto}.article-body .code-block code{color:#f5f5f5;white-space:pre;background:0 0;border-radius:0;padding:0;display:block}.article-body img{border-radius:6px;max-width:100%;height:auto;margin:1.5rem 0;display:block}.article-body table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.975rem}.article-body th,.article-body td{text-align:left;border:1px solid #e0d4f0;padding:.625rem .75rem}.article-body th{background:#f8f4ff;font-weight:600}.article-empty{color:#666;font-style:italic}.article-credits{white-space:pre-wrap;background:#fff;border:1px solid #e0d4f0;border-radius:8px;margin:1.5rem 0 0;padding:1rem 1.125rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.5}
