.blog-root{min-height:100svh;display:flex;flex-direction:column}.blog-root>main{flex:1}.blog-root .site-header{background:var(--v-paper)}.desktop-nav a[aria-current],.mobile-nav a[aria-current]{color:var(--v-navy);text-decoration:underline;text-decoration-color:var(--v-blue);text-underline-offset:7px}.blog-footer{background:var(--v-paper);margin-top:auto;padding-top:24px}.blog-footer .footer-inner{border-top:0}.blog-index{padding-block:84px 100px}.blog-index-intro{max-width:650px;margin-bottom:60px}.blog-index-intro h1{font-size:clamp(42px,5vw,60px);line-height:1.08}.blog-index-intro p{color:var(--v-muted);font-size:19px;line-height:1.7;margin-top:21px;max-width:49ch}.blog-entry{padding-block:44px;border-top:1px solid var(--v-line)}.blog-entry--with-image{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center}.blog-entry-copy{min-width:0;max-width:760px}.blog-entry-image{display:block;min-width:0;background:var(--v-paper)}.blog-entry-image img{display:block;width:100%;height:auto}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;color:var(--v-muted);font-size:13px;line-height:1.7}.post-meta>span[aria-hidden]{color:#8a9ba9}.blog-entry h2{font-size:clamp(28px,3vw,38px);line-height:1.2;max-width:22ch;margin-top:22px}.blog-entry h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.blog-entry-copy>p{max-width:50ch;color:var(--v-muted);font-size:16px;line-height:1.8;margin-top:20px}.blog-read-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:14px;font-weight:500;margin-top:22px}.blog-read-link:hover{color:var(--v-blue);text-decoration:underline;text-underline-offset:5px}.article-page{max-width:1120px;padding-block:48px 96px}.article-heading{max-width:820px;margin-bottom:46px}.blog-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--v-muted);font-size:14px;margin-bottom:25px}.blog-back-icon{transform:rotate(180deg)}.blog-back:hover{color:var(--v-blue)}.article-heading h1{font-size:clamp(36px,4.4vw,54px);line-height:1.12;max-width:25ch}.article-heading .article-subtitle{color:var(--v-muted);font-size:20px;line-height:1.65;margin-top:22px;max-width:57ch}.article-heading .post-meta{margin-top:27px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 200px;gap:64px;align-items:start}.article-prose{grid-column:1;grid-row:1;min-width:0;font-size:18px;line-height:1.8;color:#263d50}.article-prose>p,.article-prose>ul,.article-prose>ol{max-width:68ch}.article-prose>p+p{margin-top:22px}.article-prose>ul,.article-prose>ol{padding-inline-start:24px;margin-block:22px}.article-prose>ul{list-style:disc}.article-prose>ol{list-style:decimal}.article-prose li+li{margin-top:10px}.article-prose>h2{font-size:30px;line-height:1.25;margin-top:62px;margin-bottom:22px;color:var(--v-navy);scroll-margin-top:96px}.article-prose>h3{font-size:22px;line-height:1.35;margin-top:34px;margin-bottom:16px;color:var(--v-navy);scroll-margin-top:96px}.article-prose a{color:#1954cd;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;overflow-wrap:anywhere}.article-prose a:hover{color:var(--v-navy)}.article-prose strong{color:var(--v-navy);font-weight:600}.article-prose :not(pre)>code{font-family:var(--v-mono);font-size:.85em;background:var(--v-paper);padding:2px 4px;border-radius:3px;overflow-wrap:anywhere}.article-code{margin-block:25px;border:1px solid var(--v-line);border-radius:6px;overflow:hidden}.article-code-label{background:var(--v-paper);color:var(--v-muted);padding:8px 20px;font-size:12px;border-bottom:1px solid var(--v-line)}.article-code pre{margin:0;padding:20px;overflow-x:auto;font:14px/1.9 var(--v-mono);color:var(--v-navy);background:#f8fbfe;white-space:pre}.article-code pre:focus-visible,.article-table:focus-visible{outline-offset:-3px}.article-figure{margin:32px 0}.article-figure img{display:block;width:100%;height:auto}.article-figure figcaption{margin-top:17px;font-size:13px;line-height:1.75;color:var(--v-muted);max-width:75ch}.article-figure figcaption em{font-style:normal}.article-table{overflow-x:auto;margin-block:28px}.article-table table{width:100%;min-width:580px;border-collapse:collapse;font-size:14px;line-height:1.7;text-align:left}.article-table th,.article-table td{padding:16px;vertical-align:top;border-bottom:1px solid var(--v-line)}.article-table th{color:var(--v-navy);font-weight:550;background:var(--v-paper)}.article-table td:first-child{color:var(--v-navy);font-weight:500}.article-contents{grid-column:2;grid-row:1;position:sticky;top:100px;font-size:13px;line-height:1.65}.article-contents nav>p{font-size:12px;font-weight:550;color:var(--v-navy);padding-bottom:13px;border-bottom:1px solid var(--v-line)}.article-contents ol,.article-contents-mobile ol{margin:13px 0 0;padding:0;list-style:none}.article-contents a{display:block;padding-block:8px;color:var(--v-muted)}.article-contents a:hover,.article-contents a[aria-current=location]{color:#1954cd}.article-contents a[aria-current=location]{text-decoration:underline;text-underline-offset:4px}.article-contents-mobile{display:none}.article-ending{max-width:760px;margin-top:54px;padding-top:34px;border-top:1px solid var(--v-line)}.article-ending h2{font-size:27px;line-height:1.3}.article-ending>p{font-size:16px;color:var(--v-muted);line-height:1.8;margin-top:15px;max-width:62ch}.article-back-bottom{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-left:30px;font-size:14px;color:var(--v-muted)}.article-back-bottom:hover{color:var(--v-blue)}@media (max-width: 1100px){.article-layout{gap:40px;grid-template-columns:minmax(0,1fr) 190px}}@media (max-width: 1023px){.article-page{max-width:824px}.article-layout{display:flex;flex-direction:column;gap:28px}.article-prose{width:100%}.article-contents{display:none}.article-contents-mobile{display:block;width:100%;border-block:1px solid var(--v-line);font-size:14px}.article-contents-mobile summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;list-style:none}.article-contents-mobile summary::-webkit-details-marker{display:none}.article-contents-mobile[open] summary svg{transform:rotate(180deg)}.article-contents-mobile ol{padding-bottom:17px;margin-top:0}.article-contents-mobile a{display:flex;align-items:center;min-height:44px;color:var(--v-muted)}}@media (max-width: 767px){.blog-index{padding-block:48px 64px}.blog-index-intro{margin-bottom:36px}.blog-index-intro p{font-size:17px}.blog-entry{padding-block:30px}.blog-entry--with-image{grid-template-columns:minmax(0,1fr);gap:28px}.blog-entry-image{order:-1}.blog-entry h2{font-size:30px;max-width:24ch;margin-top:17px}.blog-entry-copy>p{margin-top:17px}.article-page{padding-block:25px 64px}.article-heading{margin-bottom:30px}.blog-back{margin-bottom:19px}.article-heading h1{font-size:36px}.article-heading .article-subtitle{font-size:18px;margin-top:18px}.article-heading .post-meta{margin-top:22px}.article-prose{font-size:17px;line-height:1.8}.article-prose>h2{font-size:27px;margin-top:46px;margin-bottom:19px}.article-prose>h3{font-size:21px}.article-code pre{font-size:13px;padding:16px}.article-code-label{padding-inline:16px}.article-figure{margin-block:28px}.article-ending h2{font-size:25px}.post-meta{font-size:12px;gap:6px 9px}.article-figure picture{display:block;max-width:400px;margin-inline:auto}}@media (max-width: 390px){.article-heading h1{font-size:33px}.blog-entry h2{font-size:28px}.article-back-bottom{margin-left:20px}}@media print{.article-page{width:100%;padding:0}.article-layout{display:block}.article-contents,.article-contents-mobile,.blog-footer,.article-ending,.blog-back{display:none}.article-prose{font-size:11pt}.article-code,.article-figure{-moz-column-break-inside:avoid;break-inside:avoid}.article-table{overflow:visible}}
