.article-page{padding:0 0 6rem}.article-header{max-width:54rem;padding-top:clamp(4.5rem,9vw,8rem);padding-bottom:clamp(3.5rem,7vw,6rem)}.article-header h1{letter-spacing:-.065em;max-width:52rem;margin-bottom:1.4rem;font-size:clamp(2.65rem,7vw,5.4rem);line-height:.98}.article-lede{max-width:47rem;color:var(--muted);margin-bottom:1.1rem;font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.55}.article-date{color:var(--faint);font-family:var(--mono);margin-bottom:2rem;font-size:.78rem}.article-command{border:1px solid var(--border-strong);background:var(--ink);min-height:3.5rem;color:var(--bg);cursor:pointer;border-radius:2px;align-items:center;gap:.85rem;padding:.85rem 1rem;display:inline-flex}.article-command>span:first-child{color:var(--accent);font-family:var(--mono)}.article-command code{font-family:var(--mono);font-size:.95rem}.article-copy-label{border-left:1px solid color-mix(in srgb, var(--bg), transparent 75%);min-width:3.6rem;color:color-mix(in srgb, var(--bg), transparent 25%);padding-left:.85rem;font-size:.75rem;font-weight:600}.article-body{max-width:48rem}.article-body>:first-child{margin-top:0}.article-body h2{border-top:1px solid var(--border);letter-spacing:-.035em;margin:4.5rem 0 1.25rem;padding-top:1.5rem;font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.15}.article-body h3{letter-spacing:-.02em;margin:2.5rem 0 .9rem;font-size:1.25rem}.article-body p,.article-body li{color:var(--muted);font-size:1.02rem;line-height:1.78}.article-body p{margin-bottom:1.35rem}.article-body ul,.article-body ol{margin:1.25rem 0 1.75rem;padding-left:1.5rem}.article-body li{margin-bottom:.65rem;padding-left:.25rem}.article-body strong{color:var(--ink)}.article-body a{color:var(--accent);text-underline-offset:.2em;text-decoration:underline 1px}.article-body code{border:1px solid var(--border);background:var(--surface);color:var(--ink);font-family:var(--mono);border-radius:3px;padding:.08rem .3rem;font-size:.9em}.article-body pre{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:2px;margin:1.75rem 0 2rem;padding:1.35rem 1.5rem;line-height:1.65;overflow-x:auto}.article-body pre code{color:inherit;background:0 0;border:0;padding:0;font-size:.88rem}.article-body pre[data-language=bash],.article-body pre[data-language=text]{color:#f5f5f5;background:#0c0c0c;border-color:#252525}.article-body pre[data-language=bash] span[style],.article-body pre[data-language=text] span[style]{color:#d8d8d8}.article-body pre[data-language=bash] .ec-line .code>span:first-child{color:var(--accent)}.article-body table{border-collapse:collapse;width:100%;margin:1.75rem 0 2rem;font-size:.9rem;display:block;overflow-x:auto}.article-body th,.article-body td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;min-width:9rem;padding:.8rem .9rem;line-height:1.55}.article-body th{color:var(--ink);font-weight:600}.article-body td{color:var(--muted)}.product-hunt-card{border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:1rem;margin-top:2.5rem;padding:1.25rem;display:grid}.product-hunt-card>img{border-radius:8px;display:block}.product-hunt-card-copy{gap:.25rem;display:grid}.product-hunt-card-copy strong{color:var(--ink);font-size:1.05rem}.product-hunt-card-copy span{color:var(--muted);font-size:.9rem;line-height:1.45}.article-body .product-hunt-card>a{color:#fff;background:#b63d33;border-radius:999px;grid-column:1/-1;justify-self:start;padding:.65rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none}.article-body .product-hunt-card>a:hover{background:#9e3028}.article-body .product-hunt-card>a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media (width<=560px){.article-header h1{font-size:clamp(2.5rem,13vw,3.65rem)}.article-header,.article-body{width:min(calc(100% - 32px), var(--max-width))}.article-command{justify-content:flex-start;width:100%}.article-copy-label{margin-left:auto}.article-body pre{margin-inline:-.4rem;padding:1.1rem}.product-hunt-card{grid-template-columns:1fr}.product-hunt-card>img{width:56px;height:56px}.article-body .product-hunt-card>a{grid-column:auto}}
