pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#222832;--muted:#747b85;--soft-ink:#505966;--line:#e7e9ed;--bg:#fff;--paper:#fff;--wash:#f7f8fa;--hover:#f0f2f6;--green:#315bd6;--accent-soft:#eef3ff;--code:#f6f7f9;--radius:9px;--text:var(--ink);--text-dim:var(--muted);--border-dim:var(--line);--bg-component:var(--paper);--primary:var(--green);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,sans-serif;font-size:15px;line-height:1.6}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e5e7ed;--muted:#929aa9;--soft-ink:#b0b7c4;--line:#2a303a;--bg:#16191f;--paper:#16191f;--wash:#1c2027;--hover:#242a34;--green:#91afff;--accent-soft:#202d48;--code:#1d222b}*,:before,:after{box-sizing:border-box}body{overflow-wrap:anywhere;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,summary,select{cursor:pointer}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}input{min-width:0}button,input,select{border-radius:6px}a,button,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:4px}img,video{max-width:100%;height:auto}iframe{color-scheme:normal;border:0;width:100%}[hidden],[data-hidden]{display:none!important}h1,h2,h3,h4,p{margin:0}h1,h2,h3{color:var(--ink);letter-spacing:-.025em;text-wrap:pretty;font-weight:650;line-height:1.3}.icon{vertical-align:middle;flex:none;width:19px;height:19px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--paper);border:1px solid var(--green);border-radius:6px;padding:10px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:10px}.site-header{z-index:30;border-bottom:1px solid var(--line);background:var(--paper);height:65px;position:sticky;top:0}.header-inner{align-items:center;gap:20px;max-width:1536px;height:100%;margin:auto;padding:0 32px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:10px;min-width:0;font-size:19px;font-weight:680;display:flex}.brand>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:210px;overflow:hidden}.brand-mark{color:#fff;background:#315bd6;border-radius:8px;place-items:center;width:30px;height:32px;display:grid}.brand-mark .icon{width:21px;height:21px}.header-label{color:var(--muted);border-left:1px solid var(--line);padding-left:20px;font-size:13px}.header-search{border:1px solid var(--line);background:var(--wash);width:282px;height:35px;color:var(--muted);border-radius:7px;align-items:center;gap:9px;margin-left:auto;padding:0 10px;font-size:12px;display:flex}.header-search:hover{border-color:var(--muted)}.header-search .icon{width:16px;height:16px}kbd{border:1px solid var(--line);white-space:nowrap;border-radius:3px;margin-left:auto;padding:0 4px;font:10px inherit}.header-tools{align-items:center;gap:9px;display:flex}.icon-button{width:34px;height:34px;color:var(--soft-ink);background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--hover)}.theme-toggle .sun,[data-theme=dark] .theme-toggle .moon{display:none}[data-theme=dark] .theme-toggle .sun{display:block}.language-menu{font-size:12px;position:relative}.language-menu summary{border-radius:6px;align-items:center;gap:10px;padding:7px;list-style:none;display:flex}.language-menu summary::-webkit-details-marker{display:none}.language-menu summary .icon{width:13px;height:13px}.language-menu summary:hover{background:var(--hover)}.language-options{border:1px solid var(--line);background:var(--paper);z-index:40;border-radius:8px;min-width:150px;padding:5px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 35px #00000012}.language-options a{border-radius:5px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.language-options a:hover{background:var(--hover)}.language-options a[aria-current]{color:var(--green)}.language-options .icon{width:14px;height:14px}.mobile-menu,.compact-search{display:none}.site-layout{grid-template-columns:246px minmax(0,820px) 216px;justify-content:center;align-items:start;max-width:1440px;margin:auto;padding:0 20px;display:grid}.left-rail{border-right:1px solid var(--line);flex-direction:column;height:calc(100dvh - 65px);padding:30px 18px 18px 0;display:flex;position:sticky;top:65px}.side-nav{scrollbar-width:thin;min-height:0;font-size:13px;overflow-y:auto}.nav-item{color:var(--soft-ink);border-radius:6px;align-items:center;gap:10px;padding:7px 11px;display:flex}.nav-item:hover,.nav-post:hover{background:var(--wash);color:var(--ink)}.nav-item[aria-current=page],.nav-post[aria-current=page]{background:var(--accent-soft);color:var(--green);font-weight:550}.nav-item .icon{width:16px;height:16px;color:var(--muted)}.nav-item[aria-current] .icon{color:inherit}.count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.nav-caption{color:var(--muted);letter-spacing:.08em;margin:28px 11px 8px;font-size:10px;font-weight:650}.nav-group{margin-bottom:12px}.nav-collection>summary,.nav-group>summary{align-items:center;list-style:none;display:flex}.nav-collection>summary::-webkit-details-marker{display:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-collection>summary .icon,.nav-group>summary .nav-chevron{width:13px;height:13px;margin-left:auto;transform:rotate(-90deg)}.nav-collection[open]>summary .icon,.nav-group[open]>summary .nav-chevron{transform:rotate(0)}.nav-collection>summary:hover{color:var(--ink)}.category-all{font-size:11px}.nav-group ul{border-left:1px solid var(--line);margin:2px 0 0 19px;padding:0 0 0 12px;list-style:none}.category-link{font-weight:550}.nav-post{color:var(--muted);border-radius:5px;align-items:start;gap:6px;padding:6px 10px;font-size:12px;line-height:1.5;display:flex}.nav-post .icon{width:12px;height:12px;margin-top:3px}.nav-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:15px;margin-top:28px;padding:15px 10px 5px;font-size:11px;display:flex}.nav-bottom a{align-items:center;gap:6px;display:inline-flex}.nav-bottom .icon{width:13px;height:13px}.powered{color:var(--muted);margin-top:auto;padding:22px 11px 0;font-size:11px}.powered a{color:var(--soft-ink);font-weight:650}.main-content{min-width:0;padding:34px 48px 0}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;min-height:20px;margin-bottom:30px;font-size:12px;display:flex}.breadcrumb .icon{width:15px;height:15px}.breadcrumb a{align-items:center;gap:7px;display:inline-flex}.breadcrumb a:hover{color:var(--green)}.page-heading{margin-bottom:38px}.page-heading h1{letter-spacing:-.045em;white-space:pre-line;font-size:clamp(30px,3.2vw,42px);line-height:1.18}.page-heading>p{color:var(--muted);margin-top:17px;font-size:16px;line-height:1.8}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:13px;font-size:11px;font-weight:600;display:block}.topics-section,.latest-section{margin-top:38px;scroll-margin-top:90px}.topics-section h2,.section-heading h2{font-size:20px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.topic-card{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:11px;padding:17px 16px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.topic-card>.icon:first-child{color:var(--green);width:18px}.topic-card>.icon:last-child{color:var(--muted);width:14px}.topic-card strong{font-weight:550}.topic-card:hover{border-color:var(--green);background:var(--accent-soft)}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;display:flex}.section-heading>a{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.section-heading .icon{width:13px;height:13px}.post-card{border-bottom:1px solid var(--line);align-items:center;gap:28px;padding:28px 0;display:flex}.post-card-copy{flex:1;min-width:0}.post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:10px;font-weight:450;display:flex}.post-meta>span:first-child{color:var(--green)}.post-meta .icon{width:12px;height:12px}.meta-dot{background:var(--muted);border-radius:50%;flex:none;width:2px;height:2px}.post-card h3{margin:8px 0;font-size:19px;line-height:1.4}.post-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.8;display:-webkit-box;overflow:hidden}.post-card img{object-fit:cover;border:1px solid var(--line);border-radius:7px;width:122px;height:94px}.read-link{color:var(--soft-ink);align-items:center;gap:6px;margin-top:14px;font-size:11px;display:flex}.read-link .icon{width:13px;height:13px;transition:transform .15s}.post-card:hover h3{color:var(--green)}.post-card:hover .read-link .icon{transform:translate(3px)}.subscribe-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--wash);align-items:center;gap:14px;margin-top:36px;padding:20px;display:flex}.subscribe-card:hover{border-color:var(--muted)}.subscribe-icon{background:var(--paper);border:1px solid var(--line);width:34px;height:34px;color:var(--green);border-radius:8px;place-items:center;display:grid}.subscribe-card strong{font-size:13px;font-weight:550;display:block}.subscribe-card>span:nth-child(2)>span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.subscribe-card>.icon{width:16px;color:var(--muted);margin-left:auto}.right-rail{scrollbar-width:thin;max-height:calc(100dvh - 65px);padding:37px 0 30px 17px;font-size:11px;position:sticky;top:65px;overflow-y:auto}.rail-caption{color:var(--soft-ink);margin-bottom:13px;font-weight:600}.toc-list{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.toc-list a{color:var(--muted);border-left:1px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;line-height:1.7;display:block}.toc-list .nested a{padding-left:25px}.toc-list a[aria-current],.toc-list a:hover{border-color:var(--green);color:var(--green)}.rail-about{border-top:1px solid var(--line);color:var(--muted);margin-top:40px;padding-top:20px;line-height:1.85}.rail-about a{color:var(--soft-ink);align-items:center;gap:7px;margin-top:16px;display:flex}.rail-about .icon{width:13px;height:13px}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:56px;padding:22px 0 28px;font-size:10px;display:flex}.empty-state{padding:35px 0}.empty-icon{border:1px solid var(--line);width:48px;height:48px;color:var(--muted);border-radius:12px;place-items:center;margin-bottom:20px;display:grid}.empty-state h2{font-size:23px}.empty-state p{max-width:460px;color:var(--muted);margin:12px 0 20px;font-size:14px}.subtle-link{color:var(--green);align-items:center;gap:8px;font-size:13px;display:inline-flex}.article-header{margin-bottom:26px}.mobile-toc{border:1px solid var(--line);color:var(--soft-ink);border-radius:7px;margin-bottom:24px;font-size:12px;display:none}.mobile-toc summary{justify-content:space-between;align-items:center;padding:11px 14px;list-style:none;display:flex}.mobile-toc summary::-webkit-details-marker{display:none}.mobile-toc summary .icon{width:14px}.mobile-toc ol{margin:0;padding:0 14px 12px;list-style:none}.mobile-toc a{padding:5px 0;display:block}.mobile-toc .nested{padding-left:12px}.article-header h1{font-size:clamp(29px,3vw,38px)}.article-byline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin-top:22px;font-size:11px;display:flex}.avatar{background:var(--accent-soft);width:25px;height:25px;color:var(--green);border-radius:50%;place-items:center;font-size:10px;font-weight:600;display:grid}.reading-time{margin-left:auto}.article-cover{aspect-ratio:1.92;object-fit:cover;border:1px solid var(--line);border-radius:8px;width:100%;margin:0 0 28px}.prose{color:var(--soft-ink);font-size:15px;line-height:1.95}.prose>*+*{margin-top:20px}.prose h2{border-bottom:1px solid var(--line);margin:38px 0 16px;padding-bottom:10px;font-size:24px}.prose h3{margin:28px 0 14px;font-size:19px}.prose :is(h2,h3,h4){scroll-margin-top:90px}.prose a{color:var(--green);text-underline-offset:3px;text-decoration:underline}.prose strong{color:var(--ink);font-weight:650}.prose ul,.prose ol{padding-left:24px}.prose li+li{margin-top:6px}.prose blockquote{border-left:3px solid var(--green);background:var(--wash);color:var(--soft-ink);border-radius:0 6px 6px 0;margin-inline:0;padding:14px 20px}.prose blockquote p+p{margin-top:12px}.prose code{border:1px solid var(--line);background:var(--code);color:var(--ink);border-radius:4px;padding:2px 5px;font-size:.84em}.prose .code-block{background:var(--code);border:1px solid var(--line);border-radius:8px;overflow:hidden}.code-label{border-bottom:1px solid var(--line);color:var(--muted);padding:7px 15px;font-size:10px;display:block}.prose pre{margin:0;padding:16px;font-size:13px;line-height:1.8;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.hljs{color:var(--ink);background:0 0}[data-theme=dark] .hljs-keyword,[data-theme=dark] .hljs-selector-tag{color:#e9a8bb}[data-theme=dark] .hljs-string,[data-theme=dark] .hljs-title{color:#a1c9f9}[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-built_in{color:#b9a3f5}.table-scroll{border:1px solid var(--line);border-radius:7px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:13px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:10px 14px}.prose th{background:var(--wash);color:var(--ink);font-weight:600}.prose tr:last-child td{border-bottom:0}.prose hr{border:0;border-top:1px solid var(--line);margin:30px 0}.prose img{border-radius:7px}.article-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding-top:28px;font-size:11px;display:flex}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags a{background:var(--wash);border:1px solid var(--line);border-radius:5px;padding:3px 8px}.markdown-link{align-items:center;gap:6px;display:inline-flex}.markdown-link .icon{width:14px}.updated-note{color:var(--muted);margin-top:16px;font-size:11px}.comments{border-top:1px solid var(--line);margin-top:40px;padding-top:25px}.comments h2{margin-bottom:20px;font-size:21px}.related-panel,.membership-embed{margin:28px 0}.member-label{color:var(--green);background:var(--accent-soft);border-radius:5px;align-items:center;gap:6px;margin-bottom:15px;padding:4px 8px;font-size:11px;display:inline-flex}.member-label .icon{width:13px;height:13px}.member-message{color:var(--muted)}.article-pagination{grid-template-columns:1fr 1fr;gap:12px;margin-top:38px;display:grid}.article-pagination a{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;min-width:0;padding:18px;display:flex}.article-pagination a:last-child{text-align:right;justify-content:flex-end}.article-pagination small{color:var(--muted);margin-bottom:4px;font-size:10px;display:block}.article-pagination strong{font-size:12px;font-weight:550;display:block}.article-pagination .icon{width:16px;color:var(--muted)}.article-pagination a:hover{border-color:var(--green);color:var(--green)}.search-form{gap:12px;display:flex}.search-input{border:1px solid var(--line);min-width:0;color:var(--muted);border-radius:7px;flex:1;align-items:center;gap:10px;padding:0 12px;display:flex}.search-input:focus-within{border-color:var(--green)}.search-input input{width:100%;height:44px;color:var(--ink);outline-offset:0;background:0 0;border:0;font-size:14px}.category-select{max-width:40%;position:relative}.category-select select{appearance:none;border:1px solid var(--line);background:var(--wash);width:100%;height:46px;padding:0 34px 0 13px;font-size:12px}.category-select .icon{pointer-events:none;width:14px;height:14px;position:absolute;top:16px;right:12px}.search-status{color:var(--muted);margin:23px 0 5px;font-size:11px}.search-result{border-bottom:1px solid var(--line);padding:24px 0}.search-result h2{margin:7px 0 10px;font-size:21px}.search-result h2 a{justify-content:space-between;align-items:center;gap:15px;display:flex}.search-result h2 a:hover{color:var(--green)}.search-result h2 .icon{width:16px;color:var(--muted)}.search-result>p:last-child{color:var(--muted);font-size:13px}.mobile-drawer{background:var(--paper);color:var(--ink);border:0;border-right:1px solid var(--line);width:min(320px,90vw);max-width:none;height:100dvh;max-height:none;margin:0;padding:0 18px 22px;position:fixed;inset:0 auto 0 0}.mobile-drawer::backdrop{background:#0e162650}.mobile-drawer[open]{flex-direction:column;display:flex}.drawer-heading{border-bottom:1px solid var(--line);flex:0 0 65px;justify-content:space-between;align-items:center;height:65px;margin-bottom:20px;display:flex}.drawer-heading .brand{font-size:17px}@media (width>=1440px){.main-content{padding-inline:60px}}@media (width<=1150px){.site-layout{grid-template-columns:224px minmax(0,820px);padding-right:0}.right-rail{display:none}.main-content{padding-inline:44px}.mobile-toc{display:block}}@media (width<=800px){.left-rail{display:none}.site-layout{padding:0;display:block}.main-content{max-width:750px;margin:auto;padding:26px 28px 0}.mobile-menu{display:inline-flex}.header-inner{gap:13px;padding:0 18px}.header-label{display:none}.header-search{width:230px}.brand{font-size:17px}.page-heading h1{font-size:36px}.article-header h1{font-size:32px}}@media (width<=540px){.site-header{height:59px}.header-inner{gap:7px;padding:0 12px}.header-search{display:none}.header-tools{gap:2px;margin-left:auto}.compact-search{display:inline-flex}.brand{gap:8px;font-size:16px}.brand>span:last-child{max-width:140px}.brand-mark{border-radius:7px;width:26px;height:28px}.brand-mark .icon{width:18px;height:18px}.main-content{padding:23px 22px 0}.breadcrumb{gap:8px;margin-bottom:25px;font-size:11px}.page-heading{margin-bottom:28px}.page-heading h1{font-size:31px}.page-heading>p{font-size:14px}.article-header h1{font-size:29px}.eyebrow{font-size:10px}.topics-section h2,.section-heading h2{font-size:18px}.topic-grid{gap:8px}.topic-card{gap:8px;padding:13px 10px;font-size:12px}.topic-card .count{display:none}.topic-card>.icon:last-child{width:12px;margin-left:auto}.post-card{align-items:flex-start;gap:17px;padding:23px 0}.post-card h3{font-size:17px}.post-card img{width:83px;height:70px;margin-top:24px}.post-card p{font-size:12px}.post-meta{gap:6px;font-size:9px}.read-link{margin-top:10px}.subscribe-card{gap:11px;padding:16px 12px}.subscribe-card strong{font-size:12px}.subscribe-card>span:nth-child(2)>span{font-size:10px}.subscribe-icon{flex:none;width:30px;height:30px}.article-byline{gap:7px;font-size:10px}.reading-time{margin-left:0}.prose{font-size:14px}.prose h2{font-size:22px}.prose h3{font-size:18px}.article-pagination{gap:9px}.article-pagination a{gap:7px;padding:13px 10px}.article-pagination strong{font-size:11px}.search-form{flex-direction:column;gap:8px}.category-select{align-self:start;max-width:none}.search-input input{font-size:16px}.search-result h2{font-size:18px}.site-footer{margin-top:38px;font-size:9px}}@media (width<=360px){.main-content{padding-inline:16px}.brand>span:last-child{max-width:95px}.header-inner{gap:4px;padding-inline:7px}.header-tools{gap:0}.language-menu summary{padding:7px 4px}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media print{.site-header,.left-rail,.right-rail,.comments,.related-panel,.article-audio,.article-pagination{display:none}.site-layout{display:block}.main-content{max-width:none;padding:0}}.gitblog-answer{border-inline-start:3px solid;margin-block:1.5rem 2rem;padding-inline-start:1.2rem}.gitblog-answer>h2{margin-top:0}.gitblog-data-as-of{opacity:.8;margin-top:2rem;font-size:.9em}.gitblog-sources,.gitblog-faq{margin-block:2rem}.gitblog-sources a{overflow-wrap:anywhere}@scope(.article-audio){.article-audio{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;margin:0 0 1.5rem;padding:8px 12px}[hidden],[data-hidden]{display:none!important}audio{width:100%;height:34px;display:block}.audio-controls{align-items:center;gap:12px;display:flex}.audio-play{background:var(--green);width:36px;height:36px;color:var(--bg);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.audio-play:hover{opacity:.85}.audio-play svg{fill:currentColor;width:17px;height:17px}[data-pause-icon]{fill:none;stroke:currentColor;stroke-width:4px}.audio-timeline{flex:1;min-width:0}input{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0;padding:0;display:block}input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--green) var(--progress), var(--line) var(--progress));border-radius:3px;height:3px}input::-moz-range-track{background:var(--line);border-radius:3px;height:3px}input::-moz-range-progress{background:var(--green);height:3px}input::-webkit-slider-thumb{appearance:none;background:var(--green);border:0;border-radius:50%;width:10px;height:10px;margin-top:-3.5px}input::-moz-range-thumb{background:var(--green);border:0;border-radius:50%;width:10px;height:10px}input:disabled{opacity:.5;cursor:default}.audio-time{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.625rem;line-height:1;display:flex}.audio-speed{font-variant-numeric:tabular-nums;flex-shrink:0;position:relative}.audio-speed button{font:inherit;color:var(--ink);cursor:pointer;font-size:.75rem}.speed-trigger{border:1px solid var(--line);background:var(--paper);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-width:78px;height:34px;padding:0 10px;display:flex}.speed-trigger:hover,.speed-trigger[aria-expanded=true]{background:var(--surface)}.audio-speed svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:12px;height:12px}.speed-trigger svg{color:var(--muted)}.speed-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.speed-menu{z-index:20;top:calc(100% + 6px);border:1px solid var(--line);background:var(--paper);border-radius:8px;min-width:112px;padding:4px;position:absolute;inset-inline-end:0;box-shadow:0 8px 24px #0000001f}.speed-menu button{text-align:start;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:36px;padding:0 10px;display:flex}.speed-menu button:hover,.speed-menu button:focus-visible{background:var(--green-soft)}.speed-menu button[aria-checked=true]{font-weight:600}.speed-menu svg{visibility:hidden}.speed-menu button[aria-checked=true] svg{visibility:visible}button:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}.speed-menu button:focus-visible{outline-offset:-2px}.audio-feedback:not(.sr-only){color:var(--muted);margin-top:.75rem;font-size:.75rem;line-height:1.5;display:block}@media (width<=480px){.article-audio{padding:8px 10px}.audio-controls{gap:10px}}}
