.wirecat-blog{--blog-measure:46rem;--blog-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;background:var(--bg)}.wirecat-blog .blog-page{width:min(1180px,100% - 2*clamp(16px,2.7vw,48px));padding-block:clamp(32px,4vw,56px) 56px}.wirecat-editorial .wirecat-blog h1{letter-spacing:-.035em;max-width:24ch;margin:0 0 20px;font-size:clamp(30px,3.6vw,46px);line-height:1.2}.wirecat-blog .intro{max-width:52ch;color:var(--ink);text-wrap:pretty;margin:0;font-size:clamp(19px,2vw,23px);line-height:1.6}.wirecat-blog a{color:var(--accent);text-underline-offset:5px}.wirecat-blog a:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:2px}.wirecat-blog .text-link,.wirecat-blog .blog-back{align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:700;display:inline-flex}.wirecat-blog .text-link>svg,.wirecat-blog .blog-back>svg{flex-shrink:0;width:18px;height:18px}.wirecat-blog .blog-intro{max-width:800px;margin-bottom:32px}.wirecat-blog .blog-feeds{flex-wrap:wrap;gap:4px 24px;margin-top:16px;display:flex}.wirecat-blog .blog-topics{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.wirecat-blog .blog-topics a{border:1px solid var(--line);background:var(--paper);min-height:40px;color:var(--ink);border-radius:999px;align-items:center;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .18s ease-out,border-color .18s ease-out;display:inline-flex}.wirecat-blog .blog-topics a:hover{border-color:color-mix(in srgb, var(--ink) 40%, var(--line))}.wirecat-blog .blog-topics a[aria-current=page]{border-color:var(--ink);background:var(--ink);color:var(--bg)}.wirecat-blog .blog-list{margin:24px 0 0;padding:0;list-style:none}.wirecat-blog .blog-list>li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);padding-block:32px;display:grid}.wirecat-blog .blog-list>li.has-cover{grid-template-columns:minmax(0,1fr) minmax(200px,320px)}.wirecat-blog .blog-list article{max-width:var(--blog-measure)}.wirecat-blog .blog-list h2{letter-spacing:-.025em;margin:10px 0 12px;font-size:clamp(20px,2vw,25px);line-height:1.3}.wirecat-blog .blog-list h2 a{color:var(--ink);text-decoration:none}.wirecat-blog .blog-list h2 a:hover{text-decoration:underline;text-decoration-thickness:2px}.wirecat-blog .blog-list article>p:not(.blog-meta){color:var(--muted);font-size:17px;line-height:1.7}.wirecat-blog .blog-list img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%;height:auto}.wirecat-blog .blog-empty{border-top:1px solid var(--line);padding-block:32px}.wirecat-blog .blog-empty p{color:var(--muted);margin-bottom:8px;font-size:17px;line-height:1.7}.wirecat-blog .blog-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:14px;display:flex}.wirecat-blog .blog-draft{border:1px dashed var(--muted);color:var(--ink);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600}.wirecat-blog .blog-tags{flex-wrap:wrap;gap:4px 16px;margin:14px 0 0;padding:0;list-style:none;display:flex}.wirecat-blog .blog-tags li a{min-height:32px;color:var(--muted);align-items:center;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.wirecat-blog .blog-tags li a:before{content:"#";color:var(--accent);margin-right:2px}.wirecat-blog .blog-tags li a:hover{color:var(--ink)}.wirecat-blog .blog-post-head{max-width:52rem}.wirecat-blog .blog-back{color:var(--muted);margin:-8px 0 16px;font-size:14px}.wirecat-blog .blog-post-head .blog-meta{margin-bottom:14px}.wirecat-blog .blog-post-head .intro{max-width:46ch;color:var(--muted)}.wirecat-blog .blog-cover{margin:36px 0 0}.wirecat-blog .blog-cover img{object-fit:cover;border:1px solid var(--line);border-radius:16px;width:100%;height:auto;max-height:560px;display:block}.wirecat-blog .blog-layout{grid-template-columns:minmax(0, var(--blog-measure)) minmax(200px, 260px);justify-content:space-between;gap:clamp(32px,5vw,72px);margin-top:48px;display:grid}.wirecat-blog .blog-aside{align-self:start;gap:24px;display:grid;position:sticky;top:24px}.wirecat-blog .blog-contents p{color:var(--ink);margin-bottom:10px;font-size:14px;font-weight:700}.wirecat-blog .blog-contents ol{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.wirecat-blog .blog-contents li[data-depth="3"]{padding-left:12px}.wirecat-blog .blog-contents li a{color:var(--muted);padding:6px 0 6px 14px;font-size:14px;line-height:1.45;text-decoration:none;display:block}.wirecat-blog .blog-contents li a:hover{color:var(--ink)}.wirecat-blog .blog-aside-links{justify-items:start;display:grid}.wirecat-blog .blog-aside-links .text-link{font-size:14px}.wirecat-blog .blog-prose{min-width:0;color:var(--muted);font-size:18px;line-height:1.75}.wirecat-blog .blog-prose>*+*{margin-top:1.1em}.wirecat-blog .blog-prose p{max-width:none}.wirecat-blog .blog-prose :is(h2,h3){color:var(--ink);scroll-margin-top:24px}.wirecat-blog .blog-prose h2{letter-spacing:-.025em;margin-top:2.2em;font-size:clamp(21px,2.1vw,26px);line-height:1.3}.wirecat-blog .blog-prose h3{margin-top:1.8em;font-family:Onest,sans-serif;font-size:20px;font-weight:700;line-height:1.4}.wirecat-blog .blog-prose :is(h2,h3)+*{margin-top:.6em}.wirecat-blog .blog-prose :is(strong,b){color:var(--ink)}.wirecat-blog .blog-prose em{color:inherit;font-style:italic}.wirecat-blog .blog-prose :is(ul,ol){padding-left:1.3em}.wirecat-blog .blog-prose li+li{margin-top:.4em}.wirecat-blog .blog-prose li::marker{color:var(--accent)}.wirecat-blog .blog-prose blockquote{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:12px;margin-inline:0;padding:20px 24px;font-size:20px;line-height:1.6}.wirecat-blog .blog-prose :not(pre)>code{background:var(--soft);color:var(--ink);font-family:var(--blog-mono);overflow-wrap:anywhere;border-radius:6px;padding:.1em .35em;font-size:.86em}.wirecat-blog .blog-prose hr{border:0;border-top:1px solid var(--line);margin-block:2.4em}.wirecat-blog .blog-prose table{border-collapse:collapse;max-width:100%;font-size:16px;line-height:1.5;display:block;overflow-x:auto}.wirecat-blog .blog-prose :is(th,td){border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 16px 10px 0}.wirecat-blog .blog-prose th{color:var(--ink);font-weight:700}.wirecat-blog .blog-figure{margin:2em 0}.wirecat-blog .blog-figure img{border:1px solid var(--line);border-radius:12px;max-width:100%;height:auto;display:block}.wirecat-blog .blog-figure figcaption{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.55}.wirecat-blog .blog-code{margin-inline:0;position:relative}.wirecat-blog .blog-code pre{border:1px solid var(--line);background:var(--paper);font-family:var(--blog-mono);tab-size:2;border-radius:12px;margin:0;padding:18px 56px 18px 20px;font-size:14.5px;line-height:1.65;overflow-x:auto}.wirecat-blog .blog-code pre:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.wirecat-blog .blog-code pre span{color:var(--shiki-light)}html.dark .wirecat-blog .blog-code pre span{color:var(--shiki-dark)}.wirecat-blog .blog-code button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.wirecat-blog .blog-code button:is(:hover,:focus-visible){border-color:var(--line);background:var(--soft);color:var(--ink)}.wirecat-blog .blog-code button svg{width:16px;height:16px}.wirecat-blog .blog-post-end{max-width:var(--blog-measure);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:32px clamp(32px,5vw,72px);margin-top:56px;padding-top:32px;display:grid}.wirecat-blog .blog-post-end h2{letter-spacing:-.02em;margin-bottom:8px;font-size:17px;line-height:1.45}.wirecat-blog .blog-post-end p{color:var(--muted);font-size:15px;line-height:1.65}.wirecat-blog .blog-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.wirecat-blog .blog-action{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .18s ease-out;display:inline-flex}.wirecat-blog .blog-action:hover{background:var(--soft)}.wirecat-blog a.blog-action>svg{width:16px;height:16px}.wirecat-blog .blog-newsletter{grid-column:1/-1}.wirecat-blog .blog-newsletter label{color:var(--ink);margin:16px 0 6px;font-size:14px;font-weight:600;display:block}.wirecat-blog .blog-newsletter form>div{flex-wrap:wrap;gap:12px;display:flex}.wirecat-blog .blog-newsletter input{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;border-radius:12px;flex:240px;padding:10px 14px}.wirecat-blog .blog-newsletter input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.wirecat-blog .blog-newsletter button{background:var(--ink);min-height:44px;color:var(--bg);font:inherit;cursor:pointer;border:0;border-radius:12px;padding:10px 18px;font-weight:700}.wirecat-blog .blog-newsletter button:disabled{opacity:.6;cursor:progress}@media (prefers-reduced-motion:reduce){.wirecat-blog .blog-topics a,.wirecat-blog .blog-action{transition:none}}@media not (min-width:60rem){.wirecat-blog .blog-layout{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:32px}.wirecat-blog .blog-aside{order:-1;position:static}.wirecat-blog .blog-contents{display:none}.wirecat-blog .blog-aside-links{flex-wrap:wrap;gap:0 20px;display:flex}}@media not (min-width:40rem){.wirecat-blog .blog-list>li.has-cover{grid-template-columns:minmax(0,1fr)}.wirecat-blog .blog-list>li.has-cover img{order:-1}.wirecat-blog .blog-prose{font-size:17px}.wirecat-blog .blog-cover{margin-top:24px}}
