.hor .blog-empty{align-items:start;gap:1.5rem;padding:1.75rem 1.5rem;display:grid}@media (min-width:720px){.hor .blog-empty{grid-template-columns:auto minmax(0,1fr);gap:2.5rem;padding:2.25rem 2rem}}.hor .blog-empty-readout{align-items:baseline;gap:.6rem;display:flex}.hor .blog-empty-zero{font-family:var(--font-hor-mono), ui-monospace, SFMono-Regular, monospace;letter-spacing:-.05em;color:var(--hor-ink);font-variant-numeric:tabular-nums;font-size:clamp(3.25rem,9vw,4.75rem);font-weight:500;line-height:.85}.hor .blog-empty-copy>p+p{margin-top:.85rem}.hor .blog-row{color:inherit;transition:background-color .2s var(--hor-ease), color .2s var(--hor-ease);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:.5rem 1rem;padding:.9rem 1.05rem;text-decoration:none;display:grid}.hor .blog-row+.blog-row{border-top:1px solid var(--hor-line-soft)}.hor .blog-row:hover{background:var(--hor-chip)}.hor .blog-row-title{min-width:0;color:var(--hor-ink);transition:color .2s var(--hor-ease)}.hor .blog-row:hover .blog-row-title{color:var(--hor-accent)}@media (max-width:560px){.hor .blog-row{grid-template-columns:auto minmax(0,1fr)}.hor .blog-row-meta{grid-column:2}}.hor .blog-view-toggle{border:1px solid var(--hor-line);background:var(--hor-sky-card);box-shadow:var(--hor-inset-top), var(--hor-shadow-sky);-webkit-backdrop-filter:blur(14px)saturate(150%);border-radius:999px;grid-template-columns:1fr 1fr;padding:3px;display:inline-grid;position:relative}.hor .blog-view-thumb{background:var(--hor-chip);border:1px solid var(--hor-line-strong);width:calc(50% - 3px);transition:transform .42s var(--hor-spring);border-radius:999px;position:absolute;top:3px;bottom:3px;left:3px}.hor .blog-view-toggle[data-view=index] .blog-view-thumb{transform:translate(100%)}.hor .blog-view-option{min-width:5.75rem;height:29px;color:var(--hor-ink-3);cursor:pointer;transition:color .2s var(--hor-ease);border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding-inline:.85rem;font-size:.75rem;font-weight:500;display:inline-flex;position:relative}.hor .blog-view-option:hover,.hor .blog-view-option[aria-pressed=true]{color:var(--hor-ink)}.hor .blog-view-option[aria-pressed=true] svg{color:var(--hor-accent)}.hor .hor-display.blog-title{letter-spacing:-.04em;max-width:20ch;font-size:clamp(2.35rem,5.4vw,4.25rem);line-height:1}.hor .blog-seam{z-index:2;height:var(--hor-boundary-h);background:linear-gradient(180deg, var(--hor-sky-bottom), var(--hor-bg) 66%);position:relative}.hor .blog-seam:before{content:"";background:linear-gradient(90deg, transparent, var(--hor-line-strong) 16%, var(--hor-line-strong) 84%, transparent);height:1px;box-shadow:var(--hor-rule-glow);position:absolute;top:50%;left:0;right:0}.hor .blog-seam-bare:before{display:none}.hor .blog-card{color:inherit;flex-direction:column;text-decoration:none;display:flex}.hor .blog-cover{background:var(--hor-art-base);border:1px solid var(--hor-line-soft);border-radius:15px;position:relative;overflow:hidden}.hor .blog-cover-tile{aspect-ratio:16/10}.hor .blog-cover-hero{aspect-ratio:21/9}@media (max-width:640px){.hor .blog-cover-hero{aspect-ratio:16/10}}.hor .blog-cover img{object-fit:cover;width:100%;height:100%;display:block}.hor .blog-cover:after{content:"";pointer-events:none;background:var(--hor-art-veil);position:absolute;inset:0}.hor .blog-clamp{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hor .blog-tags{flex-wrap:wrap;gap:.375rem;min-height:22px;display:flex}.hor .blog-cta{letter-spacing:-.01em;color:var(--hor-accent);align-items:center;gap:.45rem;font-size:.75rem;font-weight:500;display:inline-flex}.hor .blog-cta svg{transition:transform .4s var(--hor-ease)}.hor .blog-card:hover .blog-cta svg{transform:translate(3px)}.hor .blog-nav{color:inherit;align-items:center;gap:.9rem;padding:10px;text-decoration:none;display:flex}.hor .blog-nav-art{flex:none;width:104px}.hor .blog-nav-newer{text-align:right;flex-direction:row-reverse}.hor .blog-nav-art .blog-cover:after{display:none}.hor .blog-nav-art .blog-cover{border-radius:9px}@media (max-width:400px){.hor .blog-nav-art{width:84px}}.hor .blog-layout{grid-template-columns:minmax(0,1fr);gap:2.25rem;display:grid}.hor .blog-aside{gap:1rem;min-width:0;display:grid}@media (min-width:1080px){.hor .blog-layout{grid-template-columns:minmax(0,1fr) 232px;align-items:start;column-gap:clamp(3rem,6vw,5.5rem)}.hor .blog-article{grid-area:1/1}.hor .blog-aside{overscroll-behavior:contain;scrollbar-width:thin;grid-area:1/2;gap:0;max-height:calc(100dvh - 136px);margin:-4px;padding:4px;position:sticky;top:104px;overflow-y:auto}}.hor .blog-aside-label{letter-spacing:.16em;text-transform:uppercase;color:var(--hor-ink-3);font-size:.6875rem;font-weight:500}.hor .blog-toc-label{margin-bottom:.9rem}.hor .blog-toc-list{margin:0;padding:0;list-style:none;position:relative}.hor .blog-toc-link{letter-spacing:-.01em;color:var(--hor-ink-3);text-wrap:pretty;transition:color .25s var(--hor-ease);padding:.3rem 0 .3rem 1.15rem;font-size:.8125rem;line-height:1.4;text-decoration:none;display:block}.hor .blog-toc-link[data-depth="3"]{padding-left:1.8rem}.hor .blog-toc-link:hover,.hor .blog-toc-link[data-active=true]{color:var(--hor-ink)}.hor .blog-toc-rail{pointer-events:none;position:absolute;top:0;left:0}.hor svg.blog-toc-rail path{stroke:var(--hor-line-strong);stroke-width:1px}.hor .blog-toc-rail-active{-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hor .blog-toc-thumb{left:0;right:0;top:var(--toc-top);height:var(--toc-height);background:var(--hor-accent);transition:top .52s var(--hor-ease), height .52s var(--hor-ease);position:absolute}@media (min-width:1080px){.hor .blog-toc-toggle{display:none}}@media (max-width:1079.98px){.hor .blog-toc{border:1px solid var(--hor-line);background:var(--hor-sky-card);border-radius:14px}.hor .blog-toc-label{display:none}.hor .blog-toc-toggle{text-align:left;cursor:pointer;width:100%;transition:color .2s var(--hor-ease);border-radius:14px;align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex}.hor .blog-toc-toggle:hover{color:var(--hor-ink)}.hor .blog-toc-count{color:var(--hor-ink-4);letter-spacing:0}.hor .blog-toc-toggle svg{transition:transform .3s var(--hor-ease);margin-left:auto}.hor .blog-toc[data-open=true] .blog-toc-toggle svg{transform:rotate(180deg)}.hor .blog-toc-body{transition:grid-template-rows .36s var(--hor-ease);grid-template-rows:0fr;display:grid}.hor .blog-toc[data-open=true] .blog-toc-body{grid-template-rows:1fr}.hor .blog-toc-body>.blog-toc-list{min-height:0;margin-inline:1rem;overflow:hidden}.hor .blog-toc[data-open=true] .blog-toc-list{margin-bottom:.9rem}.hor .blog-toc[data-open=false] .blog-toc-list{visibility:hidden;transition:visibility 0s .36s}}@media (min-width:1080px){.hor .blog-toc+.blog-share{border-top:1px solid var(--hor-line-soft);margin-top:1.75rem;padding-top:1.5rem}}.hor .blog-share .blog-aside-label{margin-bottom:.75rem}.hor .blog-share-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hor .blog-share-targets{gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.hor .blog-share-copy,.hor .blog-share-btn{border:1px solid var(--hor-line);background:var(--hor-sky-card);height:34px;color:var(--hor-ink-2);cursor:pointer;transition:color .2s var(--hor-ease), background-color .2s var(--hor-ease), border-color .2s var(--hor-ease), transform .4s var(--hor-spring);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.hor .blog-share-copy{gap:.45rem;padding-inline:.75rem;font-size:.75rem;font-weight:500}.hor .blog-share-copy span{text-align:left;min-width:5.6em}.hor .blog-share-btn{width:34px}.hor .blog-share-copy:hover,.hor .blog-share-btn:hover{color:var(--hor-ink);background:var(--hor-sky-card-hover);border-color:var(--hor-line-strong);transform:translateY(-1px)}.hor .blog-share-copy[data-state=copied]{color:var(--hor-accent)}@media (min-width:1080px){.hor .blog-share-row{flex-direction:column;align-items:flex-start}}.hor .blog-prose{letter-spacing:-.011em;max-width:68ch;color:var(--hor-ink-2);overflow-wrap:break-word;font-size:1.0625rem;line-height:1.75}.hor .blog-prose>*+*{margin-top:1.35em}.hor .blog-prose h2,.hor .blog-prose h3,.hor .blog-prose h4{color:var(--hor-ink);text-wrap:balance;scroll-margin-top:104px;position:relative}.hor .blog-prose h2{letter-spacing:-.032em;margin-top:2.6em;font-size:clamp(1.4rem,3vw,1.75rem);font-weight:500;line-height:1.14}.hor .blog-prose h3{letter-spacing:-.028em;margin-top:2.2em;font-size:clamp(1.1rem,2vw,1.28rem);font-weight:500;line-height:1.2}.hor .blog-prose h4{letter-spacing:-.02em;margin-top:2em;font-size:1rem;font-weight:600;line-height:1.3}.hor .blog-prose h2:before{content:"";background:var(--hor-line-soft);height:1px;position:absolute;top:-1.15em;left:0;right:0}.hor .blog-prose>h2:first-child,.hor .blog-prose>h3:first-child{margin-top:0}.hor .blog-prose>h2:first-child:before{display:none}.hor .blog-prose .blog-anchor{color:var(--hor-accent);opacity:0;transition:opacity .2s var(--hor-ease);font-weight:400;position:absolute;left:-.85em}.hor .blog-prose :is(h2,h3,h4):hover .blog-anchor,.hor .blog-prose a:focus-visible .blog-anchor{opacity:1}@media (max-width:900px){.hor .blog-prose .blog-anchor{display:none}}.hor .blog-prose strong{color:var(--hor-ink);font-weight:600}.hor .blog-prose a{color:var(--hor-ink);background-image:linear-gradient(var(--hor-accent), var(--hor-accent));transition:color .25s var(--hor-ease), background-size .4s var(--hor-ease);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;text-decoration:none}.hor .blog-prose a:hover{color:var(--hor-accent)}.hor .blog-prose code{font-family:var(--font-hor-mono), ui-monospace, SFMono-Regular, monospace;letter-spacing:-.01em;border:1px solid var(--hor-line-soft);background:var(--hor-chip);color:var(--hor-ink);border-radius:5px;padding:.15em .4em;font-size:.875em}.hor .blog-prose pre{border:1px solid var(--hor-line);border-radius:var(--hor-radius-deck);background:var(--hor-panel);box-shadow:var(--hor-shadow-panel);-webkit-overflow-scrolling:touch;padding:1.15rem;font-size:.8125rem;line-height:1.65;position:relative;overflow-x:auto}.hor .blog-prose pre[data-lang]{padding-top:2.35rem}.hor .blog-prose pre[data-lang]:before{content:attr(data-lang);border-bottom:1px solid var(--hor-line-soft);font-family:var(--font-hor-mono), ui-monospace, SFMono-Regular, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--hor-ink-3);padding:.55rem 1.15rem .5rem;font-size:10px;font-weight:500;line-height:1.2;position:absolute;top:0;left:0;right:0}.hor .blog-prose pre code{font-size:inherit;color:var(--hor-ink);background:0 0;border:0;border-radius:0;padding:0;display:block}.hor .blog-prose blockquote{color:var(--hor-ink-2);padding-left:1.35rem;font-style:normal;position:relative}.hor .blog-prose blockquote:before{content:"";background:linear-gradient(180deg, var(--hor-accent), var(--hor-line-soft));width:1px;position:absolute;top:.35rem;bottom:.35rem;left:0}.hor .blog-prose hr{background:linear-gradient(90deg, var(--hor-line-strong), var(--hor-line-soft) 70%, transparent);border:0;height:1px;margin-block:2.5em}.hor .blog-prose ul,.hor .blog-prose ol{padding-left:1.35rem}.hor .blog-prose ul{list-style:outside}.hor .blog-prose ol{list-style:decimal}.hor .blog-prose li::marker{color:var(--hor-ink-4)}.hor .blog-prose li+li,.hor .blog-prose li>ul,.hor .blog-prose li>ol{margin-top:.5em}.hor .blog-prose ul.contains-task-list{padding-left:0;list-style:none}.hor .blog-prose li.task-list-item{align-items:baseline;gap:.6rem;display:flex}.hor .blog-prose li.task-list-item input{accent-color:var(--hor-accent);margin:0;translate:0 2px}.hor .blog-prose table{border-collapse:collapse;width:max-content;max-width:100%;font-size:.875rem;display:block;overflow-x:auto}.hor .blog-prose th,.hor .blog-prose td{text-align:left;border-bottom:1px solid var(--hor-line-soft);vertical-align:top;padding:.6rem .9rem}.hor .blog-prose th{font-family:var(--font-hor-mono), ui-monospace, SFMono-Regular, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--hor-ink-3);border-bottom-color:var(--hor-line-strong);white-space:nowrap;font-size:10px;font-weight:500}.hor .blog-prose td{font-variant-numeric:tabular-nums}.hor .blog-prose tbody tr:last-child td{border-bottom:0}.hor .blog-prose img{border:1px solid var(--hor-line-soft);border-radius:12px;max-width:100%;height:auto;display:block}.hor .blog-prose .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hor .blog-prose section[data-footnotes]{border-top:1px solid var(--hor-line-soft);margin-top:3em;padding-top:1.5em;font-size:.9375rem}.hor .blog-prose section[data-footnotes] li{color:var(--hor-ink-3)}.hor .blog-prose sup a{color:var(--hor-accent);font-variant-numeric:tabular-nums;background-image:none}@media (prefers-reduced-motion:reduce){.hor .blog-cta svg{transition:none!important}.hor .blog-card:hover .blog-cta svg{transform:none}.hor .blog-prose .blog-anchor,.hor .blog-view-thumb,.hor .blog-toc-thumb,.hor .blog-toc-body,.hor .blog-toc-toggle svg,.hor .blog-share-copy,.hor .blog-share-btn{transition:none!important}.hor .blog-share-copy:hover,.hor .blog-share-btn:hover{transform:none}}
