.blog{max-width:var(--content-max);margin:0 auto;padding:var(--sp-48,48px) var(--gutter) 0}.blog [hidden]{display:none!important}.blog-head{padding:40px 0 32px}.blog-h1{margin:0;font-size:3.5rem;line-height:64px;font-weight:500;letter-spacing:-.025em;color:var(--ink)}.blog-lede{margin:16px 0 0;max-width:560px;font-size:var(--t-t3);line-height:30px;color:var(--text-secondary)}.blog-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 24px}.blog-chips{display:flex;flex-wrap:wrap;gap:8px}.blog-chips button{height:36px;padding:0 14px;border:1px solid var(--border-button);border-radius:var(--r-full);background:transparent;color:var(--ink-alt);font:inherit;font-size:var(--t-sub);cursor:pointer}.blog-chips button:hover{background:var(--button-secondary-hover-bg)}.blog-chips button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-primary)}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pc{display:flex;flex-direction:column;min-height:300px;border:1px solid var(--border);border-radius:var(--r-m);background:var(--surface);color:var(--ink);text-decoration:none;transition:background var(--dur-fast) var(--ease)}.pc:hover{background:var(--button-secondary-hover-bg)}.pc-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);font-size:var(--t-foot);line-height:var(--l-foot);color:var(--text-secondary)}.pc-kind{display:inline-flex;align-items:center;gap:6px;color:var(--ink-alt)}.pc-body{flex:1;padding:20px 16px 0}.pc-title{margin:0;font-size:var(--t-t3);line-height:27px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.pc-ex{margin:10px 0 0;font-size:var(--t-sub);line-height:22px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pc-tags{display:flex;flex-wrap:wrap;gap:6px 14px;padding:20px 16px 16px;font-size:var(--t-foot);line-height:var(--l-foot);color:var(--ink-alt)}.pc-tags span{display:inline-flex;align-items:center;gap:6px}.pc svg{flex:none}.pc.is-feature{grid-column:span 2;min-height:340px}.pc.is-feature .pc-body{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:24px;align-items:center;padding:28px 24px 0}.pc.is-feature .pc-title{font-size:var(--t-lg);line-height:40px;letter-spacing:-.02em}.pc.is-feature .pc-ex{font-size:var(--t-body);line-height:26px}.pc.is-feature .pc-tags{padding:20px 24px}.blog-more{display:flex;justify-content:center;margin:32px 0 0}.blog-more button{height:44px;padding:0 20px;border:1px solid var(--border-button);border-radius:var(--r-full);background:transparent;color:var(--ink);font:inherit;font-size:var(--t-sub);cursor:pointer}.blog-more button:hover{background:var(--button-secondary-hover-bg)}.post-back{display:inline-flex;align-items:center;gap:6px;margin-top:24px;color:var(--text-secondary);text-decoration:none;font-size:var(--t-sub)}.post-back:hover{color:var(--ink)}.post-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:48px;padding:32px 0 48px}.post-tile{width:96px;margin-bottom:28px}.post-h1{margin:0;font-size:3rem;line-height:56px;font-weight:500;letter-spacing:-.025em;color:var(--ink)}.post-lede{margin:20px 0 0;font-size:var(--t-t3);line-height:30px;color:var(--text-secondary)}.post-meta{margin:0;padding-top:4px;align-self:end}.post-meta div{display:grid;grid-template-columns:16px 1fr;column-gap:10px;margin-bottom:16px}.post-meta .ic{grid-row:1/3;padding-top:2px;color:var(--text-secondary)}.post-meta dt{grid-column:2;font-size:var(--t-foot);line-height:var(--l-foot);color:var(--text-secondary)}.post-meta dd{grid-column:2;margin:0;font-size:var(--t-sub);line-height:22px;color:var(--ink)}.post-meta a,.post-meta button{padding:0;border:0;background:none;font:inherit;color:var(--ink);text-decoration:none;cursor:pointer}.post-meta a:hover,.post-meta button:hover{color:var(--blue)}.post-rule{height:1px;margin:0;border:0;background:var(--border)}.post-body{max-width:680px;padding:48px 0 16px;font-size:var(--doc-fs);line-height:var(--doc-lh);color:var(--ink)}.post-body>p{margin:0 0 20px}.post-body>h2{margin:48px 0 16px;font-size:var(--fs-30);line-height:36px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}.post-body a{color:var(--blue)}.post-body .seo-note{margin:0 0 32px}.post-try{margin:0 0 40px}.post-try-h{margin:0 0 12px;font-size:var(--t-foot);line-height:var(--l-foot);color:var(--text-secondary)}.post-try .composer{max-width:none;margin:0;padding:0}.post-tool{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:40px 0 0;padding:16px 20px;border:1px solid var(--border);border-radius:var(--r-m);text-decoration:none!important;color:var(--ink)!important}.post-tool:hover{background:var(--button-secondary-hover-bg)}.post-tool small{display:block;font-size:var(--t-foot);line-height:var(--l-foot);color:var(--text-secondary)}.post-related{margin:64px 0 0;padding:40px 24px 24px;border-radius:var(--r-l);background:var(--surface)}.post-related .pc{background:var(--bg)}.post-related .pc:hover{background:var(--button-secondary-hover-bg)}.pr-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-bottom:28px}.pr-head h2{margin:0;font-size:var(--t-lg);line-height:40px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}.pr-head p{margin:0;font-size:var(--t-body);line-height:26px;color:var(--text-secondary)}@media(max-width:860px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-hero{grid-template-columns:1fr;gap:28px}.post-meta{display:flex;flex-wrap:wrap;gap:4px 28px}}@media(max-width:600px){.blog{padding:calc(56px + env(safe-area-inset-top,0px) + var(--sp-16)) 20px 0}.blog-head{padding:8px 0 20px}.blog-h1{font-size:2.5rem;line-height:48px}.blog-lede{font-size:var(--t-body);line-height:26px}.blog-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:0 20px;scrollbar-width:none}.blog-chips button{flex:none}.blog-grid{grid-template-columns:1fr}.pc{min-height:0}.pc.is-feature{grid-column:auto}.pc.is-feature .pc-body{grid-template-columns:1fr;padding:20px 16px 0}.pc.is-feature .tile{display:none}.pc.is-feature .pc-title{font-size:var(--t-t1);line-height:32px}.pc.is-feature .pc-tags{padding:20px 16px 16px}.post-h1{font-size:var(--t-lg);line-height:40px}.post-lede{font-size:var(--t-body);line-height:26px}.post-tile{width:72px;margin-bottom:20px}.post-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.post-meta div{margin:0}.post-body{padding-top:32px}.post-body>h2{font-size:var(--fs-24);line-height:30px;margin-top:40px}.post-related{margin:48px -20px 0;padding:32px 20px 20px;border-radius:0}.pr-head{grid-template-columns:1fr;gap:8px}.pr-head h2{font-size:var(--t-t1);line-height:34px}}.plate{display:grid;place-items:center;aspect-ratio:1;border-radius:var(--r-l);color:var(--ink)}.plate svg{width:78%;height:auto;overflow:visible}.plate--clay{background:#e9cdbd}.plate--oat{background:#e6dccb}.plate--sage{background:#cfd8c6}.plate--sky{background:#cbd6de}.plate--rose{background:#e8c9c9}:root[data-theme=dark] .plate--clay{background:#5a4236}:root[data-theme=dark] .plate--oat{background:#4f483d}:root[data-theme=dark] .plate--sage{background:#3f4a3c}:root[data-theme=dark] .plate--sky{background:#3b4750}:root[data-theme=dark] .plate--rose{background:#553c3c}.ill .s{fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.ill .p{fill:var(--bg)}.ill .f{fill:currentColor}.ill.is-run .s{animation:draw .9s var(--ease) both;animation-delay:calc(var(--d,0) * .14s)}.ill.is-run .f,.ill.is-run .p{animation:pop .45s var(--ease) both;animation-delay:calc(var(--d,0) * .14s)}.ill.is-run .loop{animation:draw .9s var(--ease) both,breathe 2.4s ease-in-out infinite;animation-delay:calc(var(--d,0) * .14s),calc(var(--d,0) * .14s + 1s)}.ill.is-run .dot{animation:pop .45s var(--ease) both,hop 1.2s ease-in-out infinite;animation-delay:calc(var(--d,0) * .14s),calc(var(--d,0) * .14s + .6s)}.ill .dot,.ill .f,.ill .p{transform-box:fill-box;transform-origin:center}@keyframes draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.25}}@keyframes hop{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){.ill.is-run *{animation:none!important}}.post-body .faq{margin:0 0 24px;border-top:1px solid var(--border);interpolate-size:allow-keywords}.post-body .faq details{box-shadow:inset 0 -1px 0 var(--border)}.post-body .faq summary{display:flex;justify-content:space-between;gap:var(--sp-16);padding:var(--sp-12) 0;font-size:var(--t-body);line-height:var(--l-body);color:var(--ink);cursor:pointer;list-style:none}.post-body .faq summary::-webkit-details-marker{display:none}.post-body .faq summary:after{content:"+";flex:none;width:24px;text-align:center;color:var(--text-secondary);transition:transform var(--dur-base) var(--ease)}.post-body .faq details[open] summary:after{transform:rotate(45deg)}.post-body .faq details p{margin:0;padding:0 var(--sp-40) var(--sp-16) 0;color:var(--ink-alt);font-size:var(--fs-15);line-height:24px}.post-body .faq details::details-content{block-size:0;overflow:hidden;transition:block-size var(--dur-base) var(--ease),content-visibility var(--dur-base) allow-discrete}.post-body .faq details[open]::details-content{block-size:auto}@media(prefers-reduced-motion:reduce){.post-body .faq summary:after,.post-body .faq details::details-content{transition:none}}.post-body>h3{margin:28px 0 8px;font-size:var(--t-t3);line-height:28px;font-weight:500;color:var(--ink)}.post-body>ul,.post-body>ol:not(.seo-steps){margin:0 0 20px;padding-left:24px}.post-body>blockquote{margin:0 0 20px;padding-left:16px;border-left:3px solid var(--border-button);color:var(--ink-alt)}.post-body .seo-steps{margin:0 0 24px}.post-body .seo-steps h3{margin:0 0 4px;font-size:var(--t-body);line-height:var(--l-body);font-weight:600}.post-body .callout--tip{background:var(--hl-now)}.post-body .callout--warn{background:var(--err-bg);border-color:var(--err-border)}.post-body table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:var(--fs-16)}.post-body th,.post-body td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.post-body th{font-weight:400;font-size:var(--fs-14);color:var(--text-secondary)}.post-body figure{margin:0 0 24px}.post-body figure img{display:block;width:100%;height:auto;border-radius:var(--r-m)}.post-body figcaption{margin-top:8px;font-size:var(--fs-14);color:var(--text-secondary)}.post-cta{margin:32px 0}.post-cta a{display:inline-flex;align-items:center;height:44px;padding:0 22px;border-radius:var(--r-full);background:var(--ink);color:var(--on-primary);text-decoration:none}.blog-empty{padding:80px 0 120px}.blog-chips{margin:8px 0 24px}.blog-chips a{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--border-button);border-radius:var(--r-full);color:var(--ink-alt);font-size:var(--t-sub);text-decoration:none}.blog-chips a:hover{background:var(--button-secondary-hover-bg)}.blog-chips a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--on-primary)}@media(max-width:600px){.blog-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px 20px;padding:0 20px;scrollbar-width:none}.blog-chips a{flex:none}}.blog-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:32px 0 0}.blog-pager a{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 18px;border:1px solid var(--border-button);border-radius:var(--r-full);color:var(--ink);text-decoration:none;justify-self:start}.blog-pager a[rel=next]{justify-self:end}.blog-pager a:hover{background:var(--button-secondary-hover-bg)}.blog-pager-n{font-size:var(--t-foot);color:var(--text-secondary)}.blog-index{padding-bottom:16px}.blog-empty .post-cta-link{color:var(--blue)}.post-author{display:flex;gap:14px;align-items:flex-start;margin:40px 0 0;padding:20px 0 0;border-top:1px solid var(--border)}.post-author-av{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--hl-now);color:var(--ink);font-size:var(--fs-18);object-fit:cover}.post-author p{margin:0}.post-author-by{font-size:var(--t-foot);line-height:var(--l-foot);color:var(--text-secondary)}.post-author-name{font-size:var(--t-body);line-height:var(--l-body);color:var(--ink)}.post-author-name span{color:var(--text-secondary)}.post-author-bio{margin-top:4px!important;font-size:var(--t-sub);line-height:22px;color:var(--ink-alt)}.post-related .pr-head{grid-template-columns:1fr}.yt-lite{position:relative;display:block;border-radius:var(--r-m);overflow:hidden;background:#000}.yt-lite img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;opacity:.92}.yt-play{position:absolute;inset:0;margin:auto;width:68px;height:48px;border-radius:var(--r-m);background:#141413cc}.yt-play:after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff;transform:translate(2px)}
