.blog-main{position:relative;z-index:1;padding:132px 48px 108px}.blog-shell{width:min(100%,1320px);margin:0 auto;padding:72px 56px 82px;border:1px solid var(--line);background:#050c1be6}.blog-kicker{display:flex;align-items:center;gap:11px;color:var(--pink);font-size:9px;letter-spacing:.2em}.blog-index__hero{padding-bottom:74px;border-bottom:1px solid var(--line)}.blog-index__hero h1{display:flex;align-items:flex-end;gap:28px;margin-top:27px;font-size:clamp(64px,8.2vw,112px);font-weight:540;line-height:.9;letter-spacing:-.055em}.blog-index__hero h1 span{margin-bottom:12px;color:var(--faint);font-size:9px;font-weight:500;letter-spacing:.22em}.blog-index__deck{max-width:660px;margin-top:32px;color:var(--muted);font-size:15px;line-height:2}.blog-index__meta{display:flex;gap:28px;margin-top:34px;padding-top:17px;border-top:1px solid var(--line);color:var(--faint);font-size:9px;letter-spacing:.14em}.blog-index__meta span:first-child{color:var(--pink)}.blog-archive{margin-top:70px}.blog-archive__heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:22px}.blog-archive__heading h2{font-size:28px;font-weight:480;letter-spacing:.02em}.blog-archive__heading>span{color:var(--faint);font-size:8px;letter-spacing:.18em}.post-index-list{border-top:1px solid var(--line)}.post-index-item{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:26px;padding:31px 8px;border-bottom:1px solid var(--line);transition:padding .34s var(--ease-out),background .28s var(--ease-standard)}.post-index-item:before{content:"";position:absolute;inset:0 auto 0 0;width:1px;background:var(--pink);transform:scaleY(0);transform-origin:bottom;transition:transform .42s var(--ease-out)}.post-index-item:hover{padding-right:18px;padding-left:18px;background:#f2a7c509}.post-index-item:hover:before{transform:scaleY(1);transform-origin:top}.post-index-item__number{padding-top:4px;color:var(--pink);font-size:10px;letter-spacing:.12em}.post-index-item__meta{display:flex;gap:18px;color:var(--faint);font-size:8px;letter-spacing:.12em}.post-index-item h3{margin-top:10px;font-size:clamp(25px,3vw,37px);font-weight:470;line-height:1.35;letter-spacing:-.015em;transition:color .25s var(--ease-standard),transform .36s var(--ease-out)}.post-index-item:hover h3{color:var(--pink-soft);transform:translate(5px)}.post-index-item__body>p{max-width:780px;margin-top:10px;color:var(--muted);font-size:13px;line-height:1.9}.post-index-item__tags{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:18px}.post-index-item__tags li{color:var(--faint);font-size:8px;letter-spacing:.13em}.post-index-item__arrow{align-self:center;color:var(--pink);font-size:22px;transition:transform .36s var(--ease-out)}.post-index-item:hover .post-index-item__arrow{transform:translate(5px,-5px)}.blog-empty{padding:42px 0;color:var(--faint);font-size:13px}.blog-post .blog-shell{padding-top:55px}.post-header{max-width:960px;margin:0 auto 76px}.post-header__back{display:inline-flex;margin-bottom:43px;color:var(--faint);font-size:11px;letter-spacing:.05em;transition:color .22s var(--ease-standard)}.post-header__back:hover{color:var(--pink-soft)}.post-header h1{margin-top:24px;font-size:clamp(42px,5.8vw,72px);font-weight:500;line-height:1.18;letter-spacing:-.035em}.post-header__summary{max-width:760px;margin-top:25px;color:var(--muted);font-size:15px;line-height:1.95}.post-header__meta{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:27px;padding-top:17px;border-top:1px solid var(--line);color:var(--faint);font-size:9px;letter-spacing:.13em}.post-header__meta time{color:var(--pink)}.post-layout{display:grid;grid-template-columns:170px minmax(0,1fr) 210px;gap:42px;align-items:start}.post-rail{position:sticky;top:104px;min-width:0;font-size:11px}.rail-section+.rail-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.rail-label{margin-bottom:14px;color:var(--faint);font-size:8px;letter-spacing:.18em}.rail-note{color:var(--muted);font-size:12px;line-height:1.9}.rail-nav{margin-top:23px}.rail-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);color:var(--muted);transition:color .22s var(--ease-standard),padding .3s var(--ease-out)}.rail-nav a:last-child{border-bottom:1px solid var(--line)}.rail-nav a span{color:var(--pink)}.rail-nav a:hover{padding-left:5px;color:var(--pink-soft)}.rail-posts li+li{margin-top:14px}.rail-posts a{display:block;color:var(--muted);font-size:11px;line-height:1.7;transition:color .22s var(--ease-standard)}.rail-posts a time{display:block;color:var(--faint);font-size:8px;letter-spacing:.1em}.rail-posts a span{display:block;margin-top:3px}.rail-posts a:hover{color:var(--pink-soft)}.post-content{min-width:0}.mobile-toc{display:none}.post-body{color:#f5f2f6d1;font-size:15px;line-height:2.08;letter-spacing:.005em;overflow-wrap:break-word}.post-body>*:first-child{margin-top:0!important}.post-body h1,.post-body h2,.post-body h3,.post-body h4,.post-body h5,.post-body h6{color:var(--ink);font-weight:500;line-height:1.45;scroll-margin-top:108px}.post-body h1{margin:2.2em 0 .8em;font-size:36px;letter-spacing:-.025em}.post-body h2{margin:2.7em 0 1em;padding-top:1.15em;border-top:1px solid var(--line);font-size:30px;letter-spacing:-.015em}.post-body h3{margin:2.1em 0 .72em;font-size:22px}.post-body h4{margin:1.8em 0 .65em;font-size:17px}.post-body h5,.post-body h6{margin:1.6em 0 .6em;font-size:15px}.post-body p{margin:1.15em 0}.post-body strong{color:var(--ink);font-weight:650}.post-body em{color:#ffe6f1e6}.post-body del{color:var(--faint)}.post-body mark{padding:1px 5px;background:#f2a7c533;color:var(--pink-soft);-webkit-box-decoration-break:clone;box-decoration-break:clone}.post-body a{color:var(--pink-soft);text-decoration:underline;text-decoration-color:#f2a7c573;text-underline-offset:4px;transition:color .2s var(--ease-standard),text-decoration-color .2s var(--ease-standard)}.post-body a:hover{color:var(--ink);text-decoration-color:var(--pink)}.post-body ul,.post-body ol{margin:1.15em 0;padding-left:1.55em}.post-body li{margin:.38em 0;padding-left:.2em}.post-body ul>li::marker{color:var(--pink)}.post-body ol>li::marker{color:var(--pink);font-size:.9em}.post-body li>ul,.post-body li>ol{margin:.35em 0}.post-body blockquote{margin:1.8em 0;padding:17px 22px;border-left:1px solid var(--pink);background:#f2a7c50b;color:#ffebf3bd}.post-body blockquote p{margin:.4em 0}.post-body blockquote blockquote{margin:.9em 0;border-left-color:#f2a7c559;background:transparent}.post-body hr{height:1px;margin:3em 0;border:0;background:var(--line)}.post-body img{width:auto;max-width:100%;height:auto;margin:1.9em 0;border:1px solid var(--line)}.post-body p:has(>img){margin:2em 0}.post-body table{width:100%;margin:1.8em 0;border-collapse:collapse;font-size:13px;line-height:1.7}.post-body th,.post-body td{padding:12px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}.post-body th{background:#f2a7c512;color:var(--ink);font-weight:550}.post-body tr:nth-child(2n) td{background:#ffffff05}.table-scroll{max-width:100%;margin:1.8em 0;overflow-x:auto;border:1px solid var(--line)}.table-scroll table{min-width:560px;margin:0;border:0}.table-scroll th:first-child,.table-scroll td:first-child{border-left:0}.table-scroll th:last-child,.table-scroll td:last-child{border-right:0}.table-scroll tr:last-child td{border-bottom:0}.post-body :not(pre)>code{padding:2px 6px;border:1px solid rgba(242,167,197,.18);background:#f2a7c513;color:var(--pink-soft);font-family:Cascadia Code,JetBrains Mono,Consolas,monospace;font-size:.88em}.post-body pre{position:relative;margin:1.9em 0;overflow-x:auto;border:1px solid var(--line);border-left:2px solid rgba(242,167,197,.6);background:#020711e0;color:#dbe3f6;font-family:Cascadia Code,JetBrains Mono,Consolas,monospace;font-size:12.5px;line-height:1.78;tab-size:2}.post-body pre code{display:block;min-width:max-content;padding:20px 22px;background:transparent;font:inherit}.post-body pre.is-enhanced{padding-top:42px}.post-body pre.is-enhanced code{padding-top:16px}.post-body pre[data-language]:before{content:attr(data-language);position:absolute;top:14px;left:22px;color:var(--faint);font-family:Segoe UI,sans-serif;font-size:8px;letter-spacing:.16em;text-transform:uppercase}.code-copy{position:absolute;top:8px;right:8px;min-height:27px;padding:3px 9px;border:1px solid var(--line);border-radius:0;background:#081121e6;color:var(--faint);font-size:9px;cursor:pointer;transition:color .2s var(--ease-standard),border-color .2s var(--ease-standard)}.code-copy:hover{border-color:var(--pink);color:var(--pink-soft)}.post-body .hljs-comment,.post-body .hljs-quote{color:#71809f;font-style:italic}.post-body .hljs-keyword,.post-body .hljs-selector-tag,.post-body .hljs-literal{color:#f2a7c5}.post-body .hljs-string,.post-body .hljs-regexp,.post-body .hljs-addition{color:#a8d8d2}.post-body .hljs-number,.post-body .hljs-symbol,.post-body .hljs-bullet{color:#efc59f}.post-body .hljs-title,.post-body .hljs-section,.post-body .hljs-title.function_{color:#c5c9ff}.post-body .hljs-attr,.post-body .hljs-attribute,.post-body .hljs-variable,.post-body .hljs-template-variable{color:#f4bfa7}.post-body .hljs-built_in,.post-body .hljs-type{color:#b8c8ff}.post-body .hljs-meta,.post-body .hljs-selector-class{color:#e4c1ff}.post-body .hljs-tag{color:#9fb9e8}.post-body .hljs-deletion{color:#ff9eaa}.post-body ul.contains-task-list{padding-left:0}.post-body .task-list-item{list-style:none}.post-body .task-list-item input[type=checkbox]{width:13px;height:13px;margin:0 9px 0 0;accent-color:var(--pink);transform:translateY(1px)}.post-body .footnotes{margin-top:3.2em;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.9}.post-body .footnotes-sep{display:none}.post-body .footnotes-list{margin:0}.post-body .footnote-ref a,.post-body .footnote-backref{text-decoration:none}.post-body .footnote-item p{margin:.4em 0}.post-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:64px;padding-top:26px;border-top:1px solid var(--line)}.post-tags{display:flex;flex-wrap:wrap;gap:6px 16px}.post-tags li{color:var(--muted);font-size:9px;letter-spacing:.13em}.post-footer__muted{color:var(--faint);font-size:11px}.post-footer__back{flex-shrink:0;color:var(--muted);font-size:12px;transition:color .22s var(--ease-standard)}.post-footer__back span{margin-left:7px;color:var(--pink)}.post-footer__back:hover{color:var(--pink-soft)}.toc-section h2{margin-bottom:16px;font-size:16px;font-weight:480}.toc__list{list-style:none;margin:0;padding:0}.toc__item{margin:0}.toc__item+.toc__item{margin-top:3px}.toc__item a{position:relative;display:block;padding:6px 0 6px 11px;color:var(--faint);font-size:10px;line-height:1.55;transition:color .2s var(--ease-standard),padding .26s var(--ease-out)}.toc__item a:before{content:"";position:absolute;top:9px;bottom:9px;left:0;width:1px;background:var(--pink);opacity:0;transform:scaleY(.35);transition:opacity .2s var(--ease-standard),transform .26s var(--ease-out)}.toc__item a:hover{color:var(--ink);padding-left:14px}.toc__item a.is-active{color:var(--pink-soft);padding-left:14px}.toc__item a.is-active:before{opacity:1;transform:scaleY(1)}.toc__item--h3 a{padding-left:23px;font-size:9.5px}.toc__item--h3 a:hover,.toc__item--h3 a.is-active{padding-left:26px}.toc__empty{color:var(--faint);font-size:10px;line-height:1.8}.post-info dl{margin:0}.post-info dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.post-info dl>div:first-child{border-top:1px solid var(--line)}.post-info dt{color:var(--faint);font-size:9px}.post-info dd{margin:0;color:var(--muted);font-size:9px;text-align:right}.rail-action{width:100%;min-height:38px;margin-top:18px;border:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;transition:color .22s var(--ease-standard),border-color .22s var(--ease-standard),background .22s var(--ease-standard)}.rail-action:hover,.rail-action.is-copied{border-color:var(--pink);background:#f2a7c50f;color:var(--pink-soft)}.rail-text-link{display:inline-block;margin-top:14px;color:var(--faint);font-size:9px;transition:color .2s var(--ease-standard)}.rail-text-link:hover{color:var(--pink-soft)}.mobile-toc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border:1px solid var(--line);color:var(--ink);font-size:12px;cursor:pointer}.mobile-toc summary span{color:var(--faint);font-size:9px}.mobile-toc .toc__list{padding:8px 15px 12px;border:1px solid var(--line);border-top:0}@media(max-width:1180px){.blog-main{padding-right:32px;padding-left:32px}.blog-shell{padding:58px 42px 70px}.post-layout{grid-template-columns:minmax(0,1fr) 205px;gap:42px}.post-rail--left{display:none}.post-header{max-width:820px}}@media(max-width:900px){.blog-main{padding-top:112px}.blog-shell{padding:48px 30px 62px}.blog-index__hero h1{gap:18px}.blog-index__hero h1 span{display:none}.post-layout{grid-template-columns:minmax(0,1fr)}.post-rail--right{display:none}.mobile-toc{display:block;margin-bottom:38px}.post-header{margin-bottom:55px}.post-footer{align-items:flex-start}}@media(max-width:760px){.blog-main{padding:98px 14px 60px}.blog-shell{padding:34px 19px 46px;border-right:0;border-left:0}.blog-index__hero{padding-bottom:46px}.blog-index__hero h1{margin-top:20px;font-size:clamp(54px,17vw,78px)}.blog-index__deck{margin-top:22px;font-size:13px}.blog-index__meta{margin-top:24px}.blog-archive{margin-top:46px}.blog-archive__heading{margin-bottom:14px}.blog-archive__heading h2{font-size:23px}.post-index-item{grid-template-columns:35px minmax(0,1fr) auto;gap:10px;padding:24px 0}.post-index-item:hover{padding-right:4px;padding-left:4px}.post-index-item h3{margin-top:7px;font-size:23px}.post-index-item__meta{flex-wrap:wrap;gap:5px 12px}.post-index-item__body>p{margin-top:8px;font-size:12px;line-height:1.8}.post-index-item__arrow{font-size:17px}.post-index-item__tags{margin-top:12px}.blog-post .blog-shell{padding-top:27px}.post-header{margin-bottom:43px}.post-header__back{margin-bottom:28px}.post-header h1{margin-top:18px;font-size:clamp(35px,10.5vw,48px);line-height:1.24}.post-header__summary{margin-top:18px;font-size:13px}.post-header__meta{margin-top:20px;gap:8px 16px}.post-body{font-size:14.5px;line-height:2}.post-body h2{margin-top:2.2em;padding-top:1em;font-size:25px}.post-body h3{font-size:20px}.post-body h4{font-size:16px}.post-body pre{margin-right:-19px;margin-left:-19px;border-right:0;border-left-width:1px}.post-body pre code{padding:17px 19px}.post-body pre.is-enhanced{padding-top:40px}.post-body table{font-size:12px}.post-body th,.post-body td{padding:9px 10px}.post-body img{margin:1.5em 0}.post-footer{display:block;margin-top:48px}.post-footer__back{display:inline-block;margin-top:22px}.mobile-toc{margin-bottom:30px}}@media(prefers-reduced-motion:reduce){.post-index-item,.post-index-item:before,.post-index-item h3,.post-index-item__arrow,.rail-nav a,.toc__item a{transition:none}}
