.post,.blog-index{--serif:var(--font-serif);--sans:var(--font-display);--measure:42rem;background:var(--blog-bg);color:var(--blog-ink);min-height:100vh}.post :is(a,button,summary):focus-visible,.blog-index :is(a,button):focus-visible{outline:2px solid var(--blog-accent);outline-offset:4px;border-radius:4px}.post-progress{z-index:100;background:var(--accent-signal);transform-origin:0;pointer-events:none;height:4px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.post-wrap{max-width:var(--measure);padding:112px 20px 0;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));margin:0 auto;position:relative}@media (min-width:768px){.post-wrap{padding-top:144px}}.post-meta{font:600 .9375rem/1.4 var(--sans);color:var(--blog-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 20px;display:flex}.post-meta a{color:var(--blog-accent);align-items:center;min-height:44px;margin:-12px 0;text-decoration:none;display:inline-flex}.post-meta a:hover{text-underline-offset:4px;text-decoration:underline}.post-meta [aria-hidden]{color:var(--blog-rule)}.post-title{font:700 clamp(2.125rem, 1.4rem + 3.2vw, 3.25rem)/1.08 var(--sans);letter-spacing:-.032em;color:var(--blog-ink);text-wrap:balance;overflow-wrap:break-word;margin:0}.post-dek{font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-muted);text-wrap:pretty;margin:20px 0 0;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);line-height:1.5}.post-byline{border-top:1px solid var(--blog-rule);font:400 .9375rem/1.4 var(--sans);color:var(--blog-muted);align-items:center;gap:12px;margin:32px 0 0;padding:20px 0 0;display:flex}.post-byline strong{color:var(--blog-ink);font-weight:600}.post-byline a{color:inherit;text-decoration:none}.post-byline a:hover strong{text-underline-offset:4px;text-decoration:underline}.post-avatar{-o-object-fit:cover;object-fit:cover;background:var(--blog-wash);width:40px;height:40px;font:700 .8125rem/1 var(--sans);color:var(--blog-ink);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.post-avatar.lg{width:56px;height:56px;font-size:1rem}.post-cover{aspect-ratio:16/9;background:var(--blog-wash);border-radius:4px;margin:40px 0 0;position:relative;overflow:hidden}.post-rail{display:none}@media (min-width:1120px){.post-rail{width:48px;display:block;position:absolute;top:0;bottom:0;left:-96px}.post-rail-inner{flex-direction:column;align-items:center;gap:8px;padding-top:144px;display:flex;position:sticky;top:120px}}.share-btn{border:1px solid var(--blog-rule);min-width:44px;height:44px;color:var(--blog-ink);font:600 .875rem/1 var(--sans);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0;transition:border-color .16s,color .16s,background-color .16s;display:inline-flex}.share-btn:hover{border-color:var(--blog-accent);color:var(--blog-accent)}.share-btn:active{background:var(--blog-wash)}.share-btn:disabled{opacity:.5;cursor:not-allowed}.share-btn.labelled{padding:0 16px}.share-btn svg{flex-shrink:0;width:16px;height:16px}.post-body{font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-ink);counter-reset:figc;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:48px 0 0;font-size:1.1875rem;font-weight:400;line-height:1.75}@media (min-width:768px){.post-body{font-size:1.25rem}}.post-body>:first-child{margin-top:0}.post-body p{text-wrap:pretty;margin:0 0 1.5em}.post-body h1,.post-body h2,.post-body h3,.post-body h4{font-family:var(--sans);color:var(--blog-ink);text-wrap:balance;margin:2.4em 0 .6em;font-weight:700}.post-body h1,.post-body h2{letter-spacing:-.024em;font-size:1.6em;line-height:1.2}.post-body h3{letter-spacing:-.016em;font-size:1.25em;line-height:1.3}.post-body h4{letter-spacing:-.008em;font-size:1em;line-height:1.4}.post-body :is(h1,h2,h3,h4)+:is(p,ul,ol){margin-top:0}.post-body :is(h1,h2,h3){scroll-margin-top:96px}.post-body a{color:var(--accent-signal);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px;transition:text-decoration-thickness .12s}.post-body a:hover{text-decoration-thickness:2px}.post-body strong{font-weight:700}.post-body em{font-style:italic}.post-body ul,.post-body ol{margin:0 0 1.5em;padding-left:1.4em}.post-body ul{list-style:outside}.post-body ol{list-style:decimal}.post-body li{margin:0 0 .5em;padding-left:.2em}.post-body li::marker{color:var(--blog-muted)}.post-body ol>li::marker{font-family:var(--sans);font-size:.875em;font-weight:600}.post-body blockquote{color:var(--blog-ink);margin:2em 0;padding:0 1.5em;font-size:1.15em;font-style:italic;line-height:1.6}.post-body blockquote p{margin:0 0 .75em}.post-body blockquote p:last-child{margin:0}.post-body blockquote cite{font:normal 600 .7em/1.4 var(--sans);color:var(--blog-muted);margin-top:.75em;display:block}.post-body code{background:var(--blog-wash);border-radius:4px;padding:.12em .36em;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,monospace;font-size:.82em}.post-body pre{background:var(--blog-wash);-webkit-overflow-scrolling:touch;border-radius:8px;margin:0 0 1.5em;padding:20px 24px;font-size:.8em;line-height:1.65;overflow-x:auto}.post-body pre code{font-size:inherit;background:0 0;padding:0}.post-body img{border-radius:4px;max-width:100%;height:auto;margin:2em auto;display:block}.post-body hr{background:var(--blog-rule);border:none;width:40%;height:1px;margin:3em auto}.post-body figure{margin:2em 0}.post-body figure img{margin:0 0 12px}.post-body figcaption{counter-increment:figc;font:400 .875rem/1.5 var(--sans);color:var(--blog-muted)}.post-body figcaption:before{content:"Fig. " counter(figc) ". ";color:var(--blog-ink);font-weight:700}.post-body figcaption.no-num:before{content:none}.post-body table{border-collapse:collapse;width:100%;font:400 .9375rem/1.5 var(--sans);margin:0 0 1.5em}.post-body th{text-align:left;border-bottom:2px solid var(--blog-ink);padding:12px;font-weight:700}.post-body td{border-bottom:1px solid var(--blog-rule);padding:12px}.post-body .table-wrap{-webkit-overflow-scrolling:touch;margin:0 0 1.5em;overflow-x:auto}.post-body .table-wrap table{min-width:520px;margin:0}.post-body .source{font:italic 400 .8125rem/1.5 var(--sans);color:var(--blog-muted);margin:-.75em 0 1.5em}.post-body :is(.lead,.dek){margin:0 0 1.5em;font-size:1.2em;line-height:1.6}.post-body .kicker{font:700 .8125rem/1.4 var(--sans);color:var(--blog-accent);margin:2.4em 0 .25em;display:block}.post-body :is(.callout,.takeaways,.abstract){background:var(--blog-wash);border-radius:8px;margin:2em 0;padding:24px 28px;font-size:.9em}.post-body .callout.warn,.post-body .callout.ok{border:1px solid var(--blog-rule)}.post-body :is(.callout,.takeaways,.abstract)>:first-child{margin-top:0}.post-body :is(.callout,.takeaways,.abstract)>:last-child{margin-bottom:0}.post-body :is(.takeaways,.abstract) h4,.post-body .abstract>strong:first-child{font:700 1rem/1.4 var(--sans);margin:0 0 12px;display:block}.post-body .stat-grid{border-top:1px solid var(--blog-rule);border-bottom:1px solid var(--blog-rule);grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:24px;margin:2em 0;padding:24px 0;display:grid}.post-body .stat b{font:700 2.25rem/1 var(--sans);letter-spacing:-.03em;margin-bottom:8px;display:block}.post-body .stat span{font:400 .875rem/1.5 var(--sans);color:var(--blog-muted)}.post-body .data-bars{font-family:var(--sans);flex-direction:column;gap:12px;margin:2em 0;display:flex}.post-body .data-bar{grid-template-columns:minmax(84px,128px) 1fr auto;align-items:center;gap:12px;display:grid}.post-body .data-bar>span:first-child{font-size:.875rem;font-weight:600}.post-body .data-bar .track{background:var(--blog-wash);border-radius:4px;height:8px;overflow:hidden}.post-body .data-bar .track>i{height:100%;width:var(--v,0%);background:var(--blog-accent);display:block}.post-body .data-bar>b{text-align:right;min-width:3ch;font-size:.875rem}.post-body sup a,.post-body a.cite{font:700 .7em/1 var(--sans);vertical-align:super;padding:0 .1em;text-decoration:none}.post-body .references{font:400 .9375rem/1.6 var(--sans);padding-left:2em;list-style:decimal}.post-body .references>li{border-bottom:1px solid var(--blog-rule);padding:8px 0}.post-body .references>li:target,.post-body .footnotes li:target{background:var(--blog-wash)}.post-body .references a{word-break:break-word}.post-body .footnotes{font:400 .875rem/1.6 var(--sans);color:var(--blog-muted);border-top:1px solid var(--blog-rule);margin-top:3em;padding-top:16px}.post-end{font-family:var(--sans);margin:64px 0 0}.post-tags{color:var(--blog-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 32px;font-size:.9375rem;display:flex}.post-tags a{background:var(--blog-wash);min-height:44px;color:var(--blog-ink);border-radius:999px;align-items:center;padding:0 16px;font-weight:600;text-decoration:none;transition:color .16s;display:inline-flex}.post-tags a:hover{color:var(--blog-accent)}.post-share{border-top:1px solid var(--blog-rule);border-bottom:1px solid var(--blog-rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;display:flex}.post-share p{margin:0;font-size:1rem;font-weight:700}.post-share-btns{flex-wrap:wrap;gap:8px;display:flex}.post .lc-inline,.blog-index .lc-inline{background:var(--blog-wash);text-align:left;border-radius:8px}:is(.post,.blog-index) .lc-inline .lc-title{font-family:var(--sans);letter-spacing:-.024em;color:var(--blog-ink)}:is(.post,.blog-index) .lc-inline .lc-sub{color:var(--blog-muted)}.post-author{align-items:flex-start;gap:16px;margin:48px 0 0;display:flex}.post-author-main{flex:1;min-width:0}.post-author-label{color:var(--blog-muted);margin:0 0 4px;font-size:.875rem}.post-author-name{letter-spacing:-.012em;margin:0;font-size:1.125rem;font-weight:700}.post-author-name a{color:var(--blog-ink);text-decoration:none}.post-author-name a:hover{text-underline-offset:4px;text-decoration:underline}.post-author-head{color:var(--blog-muted);margin:4px 0 0;font-size:.9375rem}.post-author-bio{font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-ink);margin:12px 0 0;font-size:1.0625rem;line-height:1.65}.post-author-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:16px 0 0;display:flex}.post-author-links{flex-wrap:wrap;gap:0 16px;display:flex}.post-author-links a{min-height:44px;color:var(--accent-signal);align-items:center;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.post-author-links a:hover{text-underline-offset:4px;text-decoration:underline}.blog-btn{border:1px solid var(--cta-bg);background:var(--cta-bg);min-height:44px;color:var(--cta-text);font:700 .9375rem/1 var(--sans);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;transition:opacity .16s,transform .12s;display:inline-flex}.blog-btn:hover{background:var(--cta-hover);border-color:var(--cta-hover)}.blog-btn:active{transform:scale(.98)}.blog-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.blog-btn.ghost{color:var(--blog-ink);border-color:var(--blog-rule);background:0 0}.blog-btn.ghost:hover{border-color:var(--blog-accent);color:var(--blog-accent);opacity:1}.blog-btn.done{color:var(--blog-accent);cursor:default;background:0 0;border-color:#0000;padding:0}.post-cite{border-top:1px solid var(--blog-rule);margin:40px 0 0}.post-cite summary{cursor:pointer;min-height:48px;color:var(--blog-muted);align-items:center;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.post-cite summary::-webkit-details-marker{display:none}.post-cite summary:hover{color:var(--blog-ink)}.post-cite summary:after{content:"+";margin-left:8px;font-weight:400}.post-cite[open] summary:after{content:"–"}.post-cite-body{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;padding:0 0 16px;display:flex}.post-cite-body p{font-family:var(--serif);color:var(--blog-ink);flex:280px;margin:0;font-size:1rem;line-height:1.6}.post-next{max-width:var(--measure);padding:0 20px 96px;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));font-family:var(--sans);margin:80px auto 0}.post-next-head{border-bottom:2px solid var(--blog-ink);justify-content:space-between;align-items:baseline;gap:16px;padding:0 0 16px;display:flex}.post-next-head h2{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.post-next-head a{min-height:44px;color:var(--accent-signal);align-items:center;gap:4px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.post-next-head a:hover{text-underline-offset:4px;text-decoration:underline}.story-list{margin:0;padding:0;list-style:none}.story{border-bottom:1px solid var(--blog-rule)}.story>a{color:inherit;padding:24px 0;text-decoration:none;display:block}.story-meta{font:600 .875rem/1.4 var(--sans);color:var(--blog-muted);margin:0 0 8px}.story-meta b{color:var(--blog-accent);font-weight:600}.story-title{font:700 1.3125rem/1.25 var(--sans);letter-spacing:-.018em;color:var(--blog-ink);text-wrap:balance;margin:0}.story>a:hover .story-title{text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:2px}.story-dek{font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0 0;font-size:1.0625rem;line-height:1.6;display:-webkit-box;overflow:hidden}.bi-wrap{max-width:var(--measure);padding:112px 20px 96px;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));font-family:var(--sans);margin:0 auto}@media (min-width:768px){.bi-wrap{padding-top:144px}}.bi-mast h1{font:700 clamp(2.5rem, 1.6rem + 4vw, 4rem)/1 var(--sans);letter-spacing:-.04em;color:var(--blog-ink);text-wrap:balance;margin:0}.bi-dek{max-width:36rem;font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-muted);text-wrap:pretty;margin:20px 0 0;font-size:clamp(1.1875rem,1.1rem + .4vw,1.375rem);line-height:1.55}.bi-mine{min-height:44px;color:var(--accent-signal);align-items:center;gap:8px;margin-top:12px;font-weight:600;text-decoration:none;display:inline-flex}.bi-mine:hover{text-underline-offset:4px;text-decoration:underline}.bi-tag{color:var(--blog-muted);align-items:center;gap:8px;margin:16px 0 0;font-size:.9375rem;display:flex}.bi-tag strong{color:var(--blog-ink)}.bi-tag button{width:44px;height:44px;color:var(--blog-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;margin:-8px 0;display:inline-grid}.bi-tag button:hover{color:var(--blog-ink);background:var(--blog-wash)}.bi-lead{border-bottom:1px solid var(--blog-rule);padding:40px 0}.bi-lead>a{color:inherit;text-decoration:none;display:block}.bi-lead-cover{aspect-ratio:16/9;background:var(--blog-wash);border-radius:4px;margin:0 0 24px;position:relative;overflow:hidden}.bi-lead-title{font:700 clamp(1.75rem, 1.3rem + 2vw, 2.5rem)/1.12 var(--sans);letter-spacing:-.03em;color:var(--blog-ink);text-wrap:balance;margin:0}.bi-lead>a:hover .bi-lead-title{text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:2px}.bi-lead-dek{font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-ink);text-wrap:pretty;margin:16px 0 0;font-size:1.1875rem;line-height:1.6}.bi-lead-more{color:var(--accent-signal);align-items:center;gap:8px;margin-top:20px;font-weight:700;display:inline-flex}.bi-section{color:var(--blog-ink);border-bottom:1px solid var(--blog-rule);margin:48px 0 0;padding:0 0 12px;font-size:1rem;font-weight:700}.bi-loading{flex-direction:column;gap:40px;padding:40px 0 0;display:flex}.bi-skel{flex-direction:column;gap:12px;display:flex}.bi-empty{padding:56px 0 0}.bi-empty h2{letter-spacing:-.024em;text-wrap:balance;margin:0;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:700}.bi-empty>p{font-family:var(--serif);color:var(--blog-muted);margin:12px 0 24px;font-size:1.1875rem;line-height:1.6}.bi-empty .lc-inline{margin-top:0}.bi-write{border-top:2px solid var(--blog-ink);margin:96px 0 0;padding:32px 0 0}.bi-write h2{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.bi-write>p{max-width:36rem;font-family:var(--serif);color:var(--blog-muted);margin:12px 0 0;font-size:1.125rem;line-height:1.6}.bi-write-actions{flex-wrap:wrap;gap:12px;margin:24px 0 0;display:flex}.bi-ok{color:var(--blog-accent);align-items:center;gap:8px;margin:20px 0 0;font-weight:600;display:flex}.bi-form{background:var(--blog-wash);border-radius:8px;flex-direction:column;gap:16px;margin:32px 0 0;padding:24px;display:flex}.bi-form-note{color:var(--blog-muted);margin:0;font-size:.9375rem;line-height:1.6}.bi-form .bi-write-actions{margin:0}.blog-dialog-backdrop{z-index:200;background:#070f1c99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.blog-dialog{background:var(--blog-bg);width:100%;max-width:420px;color:var(--blog-ink);border:1px solid var(--blog-rule);font-family:var(--sans);border-radius:12px;padding:32px}.blog-dialog h2{letter-spacing:-.016em;margin:0 0 8px;font-size:1.25rem;font-weight:700}.blog-dialog p{color:var(--blog-muted);margin:0 0 20px;font-size:.9375rem;line-height:1.6}.blog-dialog-form{flex-direction:column;gap:12px;display:flex}.blog-dialog-row{flex-wrap:wrap;gap:8px;display:flex}.blog-dialog-row>*{flex:auto}.blog-dialog-err{color:var(--status-err-text);background:var(--status-err-bg);border-radius:8px;margin:0;padding:8px 12px;font-size:.875rem}.blog-dialog-ok{color:var(--blog-accent);align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.post-state{text-align:center;min-height:70vh;font-family:var(--sans);place-items:center;padding:32px 20px;display:grid}.post-state h1{letter-spacing:-.02em;margin:0 0 16px;font-size:1.75rem;font-weight:700}.post-state svg{color:var(--blog-muted)}@media (prefers-reduced-motion:reduce){.share-btn,.blog-btn,.post-tags a,.post-body a,.bi-topics a{transition:none}.blog-btn:active{transform:none}}.bi-wide{max-width:1120px}.bi-mast{max-width:46rem}.bi-crumb{margin:0 0 16px;font-size:.9375rem;font-weight:600}.bi-crumb a{min-height:44px;color:var(--blog-muted);align-items:center;text-decoration:none;display:inline-flex}.bi-crumb a:hover{color:var(--blog-ink);text-underline-offset:4px;text-decoration:underline}.bi-mast-count{color:var(--blog-muted);margin:16px 0 0;font-size:.9375rem;font-weight:600}.bi-topics{border-top:2px solid var(--blog-ink);border-bottom:1px solid var(--blog-rule);scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:40px 0 0;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.bi-topics::-webkit-scrollbar{display:none}.bi-topics ul{gap:24px;width:max-content;margin:0;padding:0 24px 0 0;list-style:none;display:flex}.bi-topics a{white-space:nowrap;min-height:48px;font:600 .9375rem/1 var(--sans);color:var(--blog-muted);align-items:center;text-decoration:none;transition:color .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 -3px #0000}.bi-topics a:hover{color:var(--blog-ink)}.bi-topics a[aria-current=page]{color:var(--blog-ink);box-shadow:inset 0 -3px 0 var(--accent-signal)}@media (min-width:768px){.bi-topics{-webkit-mask-image:none;mask-image:none}}.bi-kicker{color:var(--accent-signal);margin:0 0 12px;font-size:.875rem;font-weight:700}.story-read{color:var(--blog-accent);font-weight:700}.bi-resume{background:var(--blog-wash);border-radius:8px;margin:32px 0 0;padding:20px 24px}.bi-resume h2{color:var(--blog-ink);margin:0 0 8px;font-size:1rem;font-weight:700}.bi-resume ul{margin:0;padding:0;list-style:none}.bi-resume li+li{border-top:1px solid var(--blog-rule)}.bi-resume a{min-height:48px;color:inherit;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:12px 0;text-decoration:none;display:flex}.bi-resume-title{letter-spacing:-.01em;color:var(--blog-ink);font-size:1.0625rem;font-weight:700}.bi-resume a:hover .bi-resume-title{text-underline-offset:4px;text-decoration:underline}.bi-resume-meta{color:var(--blog-muted);align-items:center;gap:12px;font-size:.875rem;font-weight:600;display:inline-flex}.bi-resume-bar{background:var(--blog-rule);border-radius:4px;width:64px;height:4px;position:relative;overflow:hidden}.bi-resume-bar>span{background:var(--accent-signal);transform-origin:0;position:absolute;inset:0}.bi-top{border-bottom:1px solid var(--blog-rule);gap:40px;padding:40px 0 48px;display:grid}.bi-top .bi-lead{border:0;padding:0}.bi-top .bi-lead-title{letter-spacing:-.035em;font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem);line-height:1.06}.bi-top .bi-lead-dek{max-width:40rem;font-size:clamp(1.1875rem,1.1rem + .35vw,1.3125rem)}.bi-top .story-meta{margin:20px 0 0}.bi-top-topic{border-bottom:0;padding-bottom:0}@media (min-width:960px){.bi-top{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:64px}.bi-top-topic{grid-template-columns:minmax(0,1fr)}.bi-popular{border-left:1px solid var(--blog-rule);padding-left:32px}}.bi-popular h2{color:var(--blog-ink);border-bottom:2px solid var(--blog-ink);margin:0;padding:0 0 12px;font-size:1rem;font-weight:700}.bi-popular ol{counter-reset:pop;margin:0;padding:0;list-style:none}.bi-popular li{counter-increment:pop;border-bottom:1px solid var(--blog-rule)}.bi-popular a{-moz-column-gap:8px;color:inherit;grid-template-columns:32px 1fr;column-gap:8px;padding:16px 0;text-decoration:none;display:grid}.bi-popular a:before{content:counter(pop);font:700 1.5rem/1 var(--sans);color:var(--accent-signal);grid-row:span 2}.bi-popular-title{letter-spacing:-.012em;color:var(--blog-ink);text-wrap:balance;font-size:1.0625rem;font-weight:700;line-height:1.3}.bi-popular a:hover .bi-popular-title{text-underline-offset:3px;text-decoration:underline}.bi-popular .story-meta{margin:4px 0 0;font-size:.8125rem}.bi-path{margin:56px 0 0;scroll-margin-top:96px}.bi-path-head{border-bottom:2px solid var(--blog-ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding:0 0 16px;display:flex}.bi-path-head h2{letter-spacing:-.024em;margin:0;font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);font-weight:700}.bi-path-head p{color:var(--blog-muted);margin:0;font-size:.9375rem;font-weight:600}.bi-path-list{gap:0;margin:0;padding:0;list-style:none;display:grid}@media (min-width:768px){.bi-path-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}.bi-path-list li{border-bottom:1px solid var(--blog-rule)}@media (min-width:768px){.bi-path-list li{border-bottom:0}}.bi-path-list a{color:inherit;gap:16px;padding:24px 0;text-decoration:none;display:flex}.bi-path-step{border:2px solid var(--blog-ink);height:40px;font:700 1rem/1 var(--sans);color:var(--blog-ink);border-radius:50%;flex:0 0 40px;place-items:center;transition:background-color .16s,color .16s,border-color .16s;display:grid}.bi-path-list a:hover .bi-path-step{background:var(--blog-ink);color:var(--blog-bg)}.bi-path-list .is-read .bi-path-step{border-color:var(--blog-accent);background:var(--blog-accent);color:var(--blog-on-accent)}.bi-path-body{flex-direction:column;gap:8px;display:flex}.bi-path-title{letter-spacing:-.016em;color:var(--blog-ink);text-wrap:balance;font-size:1.1875rem;font-weight:700;line-height:1.25}.bi-path-list a:hover .bi-path-title{text-underline-offset:4px;text-decoration:underline}.bi-path .story-meta{margin:0}.bi-topic{margin:64px 0 0}.bi-topic-head{border-bottom:2px solid var(--blog-ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding:0 0 12px;display:flex}.bi-topic-head h2{letter-spacing:-.024em;margin:0;font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);font-weight:700}.bi-topic-head h2 a{color:var(--blog-ink);text-decoration:none}.bi-topic-head h2 a:hover{text-underline-offset:6px;text-decoration:underline}.bi-topic-dek{max-width:40rem;font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-muted);margin:16px 0 0;font-size:1.125rem;line-height:1.55}.bi-more{min-height:44px;color:var(--accent-signal);align-items:center;gap:4px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.bi-more:hover{text-underline-offset:4px;text-decoration:underline}.bi-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:0 32px;margin:8px 0 0;display:grid}.bi-card{border-bottom:1px solid var(--blog-rule)}.bi-card>a{color:inherit;padding:24px 0;text-decoration:none;display:block}.bi-card-title{font:700 1.25rem/1.25 var(--sans);letter-spacing:-.016em;color:var(--blog-ink);text-wrap:balance;margin:0}.bi-card>a:hover .bi-card-title{text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:2px}.bi-card-dek{font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0 0;font-size:1.0625rem;line-height:1.55;display:-webkit-box;overflow:hidden}.bi-band{background:var(--blog-band);color:var(--text);border-radius:8px;gap:24px;margin:80px 0 0;padding:40px 24px;display:grid}@media (min-width:900px){.bi-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;padding:48px}}.bi-band h2{letter-spacing:-.028em;color:var(--text);text-wrap:balance;margin:0;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.125rem);font-weight:700;line-height:1.12}.bi-band-copy p{font-family:var(--serif);font-optical-sizing:auto;color:var(--text-sec);margin:12px 0 0;font-size:1.125rem;line-height:1.55}.bi-archive{margin:80px 0 0}.bi-archive h2{border-bottom:2px solid var(--blog-ink);margin:0;padding:0 0 12px;font-size:1rem;font-weight:700}.bi-archive-list{margin:0;padding:0;list-style:none}.bi-archive-list li{border-bottom:1px solid var(--blog-rule)}.bi-archive-list a{min-height:48px;color:inherit;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 24px;padding:16px 0;text-decoration:none;display:flex}.bi-archive-title{letter-spacing:-.01em;color:var(--blog-ink);font-size:1.0625rem;font-weight:700}.bi-archive-list a:hover .bi-archive-title{text-underline-offset:4px;text-decoration:underline}.bi-archive .story-meta{margin:0;font-size:.8125rem}.bi-others{margin:80px 0 0}.bi-others h2{border-bottom:2px solid var(--blog-ink);margin:0;padding:0 0 12px;font-size:1rem;font-weight:700}.bi-others ul{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.bi-others li{border-bottom:1px solid var(--blog-rule)}.bi-others a{color:inherit;flex-direction:column;gap:8px;padding:24px 0;text-decoration:none;display:flex}.bi-others-name{color:var(--blog-ink);align-items:center;gap:8px;font-size:1.1875rem;font-weight:700;display:inline-flex}.bi-others a:hover .bi-others-name{color:var(--accent-signal)}.bi-others-dek{font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-muted);font-size:1rem;line-height:1.55}@media (prefers-reduced-motion:reduce){.bi-path-step{transition:none}}.bi-crumb,.bi-mast-count,.bi-kicker,.bi-popular-title,.bi-path-title,.bi-path-head p,.bi-resume-title,.bi-archive-title,.bi-others-name,.bi-card-title,.bi-band h2{font-family:var(--sans)}.wa-wrap{max-width:46rem;margin:32px 0 0}.wa-form{font-family:var(--sans);flex-direction:column;gap:20px;display:flex}.wa-standard{background:var(--blog-wash);font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-ink);border-radius:8px;margin:0;padding:16px 20px;font-size:1.0625rem;line-height:1.6}.wa-note{background:var(--status-warn-bg,var(--blog-wash));color:var(--blog-ink);border-radius:8px;margin:0;padding:12px 16px;font-size:.9375rem;line-height:1.6}.wa-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px;display:grid}.wa-field{flex-direction:column;gap:8px;display:flex}.wa-field label{color:var(--blog-ink);font-size:.9375rem;font-weight:600}.wa-field :is(input,select,textarea){border:1px solid var(--blog-rule);background:var(--blog-bg);width:100%;min-height:48px;color:var(--blog-ink);font:400 1rem/1.5 var(--sans);border-radius:8px;padding:12px 16px;transition:border-color .16s,box-shadow .16s}.wa-field textarea{resize:vertical}.wa-field :is(input,select,textarea)::-moz-placeholder{color:var(--blog-muted)}.wa-field :is(input,select,textarea)::placeholder{color:var(--blog-muted)}.wa-field :is(input,select,textarea):hover{border-color:var(--blog-muted)}.wa-field :is(input,select,textarea):focus-visible{border-color:var(--blog-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--blog-accent) 22%, transparent);outline:none}.wa-field input[readonly]{background:var(--blog-wash);color:var(--blog-muted)}.wa-hint{color:var(--blog-muted);font-size:.8125rem}.wa-error{color:var(--status-err-text);background:var(--status-err-bg);border-radius:8px;margin:0;padding:8px 12px;font-size:.9375rem}.wa-submit{align-self:flex-start}.wa-state{background:var(--blog-wash);color:var(--blog-ink);border-radius:8px;align-items:flex-start;gap:16px;padding:24px;display:flex}.wa-state svg{color:var(--blog-accent);flex-shrink:0;margin-top:2px}.wa-state p{font-family:var(--serif);font-optical-sizing:auto;color:var(--blog-muted);margin:0;font-size:1.0625rem;line-height:1.6}.wa-state .wa-state-title{font-family:var(--sans);color:var(--blog-ink);margin:0 0 8px;font-size:1.125rem;font-weight:700}.wa-signout{margin:40px 0 0}@media (prefers-reduced-motion:reduce){.wa-field :is(input,select,textarea){transition:none}}
