.container:has(.blog-grid)~.footer{display:none}:root{--header-h: var(--header-height);--content-max: 820px;--bg: var(--color-bg);--panel: var(--color-surface-1);--panel-2: var(--color-surface-2);--panel-3: var(--color-surface-3);--bd: var(--color-border);--bd-soft: var(--color-border-soft);--tx: var(--color-text);--tx-2: var(--color-text-secondary);--muted: var(--color-muted);--muted-2: rgba(139, 139, 147, .9);--ac: var(--color-accent);--ac-soft: var(--color-accent-soft);--ac-soft2: rgba(99, 102, 241, .08);--r8: var(--radius-sm);--r10: var(--radius-md);--r12: 12px;--r14: var(--radius-lg);--r16: 16px;--sh1: var(--shadow-sm);--sh2: 0 18px 36px rgba(0, 0, 0, .45);scroll-padding-top:calc(var(--header-h) + 14px);--fade-top: 16px;--fade-bottom: 18px}::selection{background:#6366f138;color:#fffffffa}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.blog-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 180px;column-gap:clamp(24px,3vw,48px);align-items:start;overflow:visible;transition:grid-template-columns .45s cubic-bezier(.32,.72,0,1)}.container:has(.blog-grid){max-width:1360px}body:has(.blog-grid) .doc-header__inner{max-width:1360px}.blog-mbar,.blog-mdrawer-backdrop{display:none}.blog-mbar__btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#dce1f5bf;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.blog-mbar__btn.is-active{color:#c9caff;background:#8b8fff1f;border-color:#8b8fff4d}@media(max-width:1080px){.blog-grid{grid-template-columns:200px minmax(0,1fr) 0}.blog-right{display:none}}.blog-grid--focus{grid-template-columns:0px minmax(0,1fr) 0px}.blog-grid--focus .blog-main{max-width:840px;margin:0 auto}.blog-grid--focus .blog-left,.blog-grid--focus .blog-right{overflow:hidden;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.32,.72,0,1)}.blog-left--peek,.blog-right--peek{position:fixed!important;top:var(--header-h, 60px);bottom:0;z-index:50;max-height:none!important;background:#0c0d14f7;backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);animation:blog-peek-in .3s cubic-bezier(.32,.72,0,1)}.blog-left--peek{left:0;width:min(240px,84vw);border-right:1px solid rgba(134,145,181,.06);box-shadow:6px 0 32px #00000040;padding:14px 12px max(32px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow-y:auto}.blog-right--peek{right:0;width:min(200px,78vw);border-left:1px solid rgba(134,145,181,.06);box-shadow:-6px 0 32px #00000040;padding:14px max(12px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) 12px;overflow-y:auto}.blog-right--peek .toc__toprow{margin-bottom:8px}.blog-right--peek .toc__title{font-size:10px;margin-bottom:6px}.blog-right--peek .toc__link{font-size:11.5px;padding:3px 8px 3px 10px}.blog-right--peek .blog-mode-toggle{transform:scale(.9);transform-origin:right center}@keyframes blog-peek-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.blog-grid>*{min-height:0}.blog-left{position:sticky;top:var(--header-h);max-height:calc(100dvh - var(--header-h));overflow:auto;padding:14px 12px 32px 8px;border-right:1px solid rgba(134,145,181,.06);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;opacity:1;transition:opacity .4s cubic-bezier(.32,.72,0,1)}.blog-left::-webkit-scrollbar{display:none}.blog-right{position:sticky;top:var(--header-h);max-height:calc(100dvh - var(--header-h));overflow:auto;padding:14px 8px 32px 16px;border-left:1px solid rgba(134,145,181,.06);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;opacity:1;transition:opacity .4s cubic-bezier(.32,.72,0,1)}.blog-right::-webkit-scrollbar{display:none}.blog-main{min-width:0}.blog-article{max-width:var(--content-max);min-height:calc(100dvh - var(--header-h, 60px) - 40px);padding-bottom:60px;margin-inline:auto}.blog-main{min-height:70dvh}.blog-related{margin-top:64px;padding-top:24px;border-top:1px solid rgba(134,145,181,.06)}.blog-related__title{font-size:11px;font-weight:600;color:#b4bcd2c7;letter-spacing:.02em;margin-bottom:12px}.blog-related__list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.blog-related__card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-radius:10px;background:#ffffff05;border:1px solid rgba(134,145,181,.05);text-decoration:none;transition:all .18s cubic-bezier(.32,.72,0,1)}.blog-related__card:hover{background:#ffffff0a;border-color:#8691b51a;transform:translateY(-1px)}.blog-related__name{font-size:13px;font-weight:530;color:#d2d7e8d9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.blog-related__card:hover .blog-related__name{color:#f0f2fcf2}.blog-related__cat{font-size:10px;font-weight:550;color:#b4bcd2b3;white-space:nowrap;flex-shrink:0}@media(max-width:640px){.blog-related__list{grid-template-columns:1fr}}@media(max-width:880px){.blog-grid{grid-template-columns:1fr;gap:0}.blog-main{order:1;min-width:0}.doc-focus-btn{display:none!important}.blog-grid--focus{grid-template-columns:1fr}.blog-grid--focus .blog-main{max-width:none;margin:0}.blog-mbar{display:flex;gap:8px;position:sticky;top:0;z-index:25;margin:0 0 8px;padding:10px 0;background:#0c0c10e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.blog-left,.blog-right{display:none}.blog-article{max-width:100%;padding-bottom:120px}.toc:before,.toc:after,.blog-left:before,.blog-left:after{display:none}}.blog-article .article__head{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:14px 0 0;margin:4px 0 44px;border:0;background:transparent;box-shadow:none}.blog-article .article__title{width:100%;min-width:0;margin:0;font-family:var(--font-sans);font-size:clamp(26px,4.2vw,31px);font-weight:800;letter-spacing:-.028em;line-height:1.24;color:#fafafcfa;overflow-wrap:anywhere;word-break:keep-all;text-wrap:balance}.blog-article .muted{margin:0 0 28px;max-width:65ch;color:#bcc2d4eb;font-size:15px;line-height:1.85}.article__meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.article__meta-left{display:inline-flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.article__date{font-size:13px;color:var(--muted);opacity:.95;letter-spacing:.01em;font-variant-numeric:tabular-nums}.article__meta-right{display:inline-flex;justify-content:flex-end;white-space:nowrap;flex-shrink:0}.article__reading{font-size:12px;font-weight:600;color:#b9c3eeeb;padding:5px 12px;border-radius:999px;border:0;background:#818cf817}@media(max-width:640px){.blog-article .article__head{padding:4px 0 0;gap:12px;margin-bottom:32px}.blog-article .article__title{font-size:24px}.article__meta{flex-direction:column;align-items:flex-start;gap:8px}}.blog-article .article__body{font-family:var(--font-sans);font-size:18px;line-height:1.92;letter-spacing:-.011em;color:#e7eaf4ed;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere}.blog-article .article__body p{margin:0 0 19px;color:var(--tx)}.blog-article .article__body>p:first-of-type{color:#f4f4faf0}.blog-article .article__body h1,.blog-article .article__body h2,.blog-article .article__body h3,.blog-article .article__body h4{font-family:var(--font-sans);color:#fafafcfa;line-height:1.4;margin:30px 0 16px;word-break:keep-all}.blog-article .article__body h2{font-size:25px;font-weight:800;letter-spacing:-.025em;margin-top:68px;margin-bottom:20px;scroll-margin-top:calc(var(--header-h) + 22px)}.blog-article .article__body h3{font-size:20px;font-weight:760;letter-spacing:-.018em;margin-top:46px;margin-bottom:14px;scroll-margin-top:calc(var(--header-h) + 22px)}.blog-article .article__body h4{font-size:18px;font-weight:740;margin-top:34px;margin-bottom:12px;scroll-margin-top:calc(var(--header-h) + 22px)}.blog-article .article__body :is(h2,h3)+:is(h3,h4){margin-top:18px}.blog-article .article__body a{color:#93c5fdf5;text-decoration:none;background:linear-gradient(transparent 76%,#93c5fd21 0);border-radius:4px;padding:0 2px;transition:background .14s ease}.blog-article .article__body a:has(>img){background:none;padding:0}.blog-article .article__body a:hover{background:linear-gradient(transparent 70%,#93c5fd38 0)}.blog-article .article__body a:hover:has(>img){background:none}.blog-article .article__body strong{font-weight:760;color:#fffffffa;background:linear-gradient(transparent 68%,#818cf829 0);padding:0 2px;border-radius:4px}.blog-article .article__body em{font-style:italic;color:#f3e8fff2}.blog-article .article__body code.code-inline{display:inline;padding:2px 7px;margin:0;border-radius:6px;background:#818cf81a;border:0;color:#c9d3f8fa;font:580 .88em var(--font-mono);line-height:inherit;vertical-align:baseline;white-space:break-spaces;word-break:break-word;overflow-wrap:anywhere}.blog-article .article__body strong code.code-inline{padding:2px 6px;border:0;border-radius:5px;background:#818cf82e;color:#e6eaff}.blog-article .article__body pre.codebox{border:1px solid rgba(134,145,181,.1);background:#0d0e14;border-radius:var(--r14);padding:18px 20px;margin:28px 0 32px;overflow:auto;box-shadow:0 12px 32px #00000038}.blog-article .article__body pre code{font-family:var(--font-mono);font-size:13.8px;line-height:1.75}.blog-article .callout{margin:28px 0;border-radius:var(--r14);border:0;background:#6366f114;color:#d8e0fff5;padding:16px 20px;font-size:14.5px;line-height:1.8}.blog-article ul,.blog-article ol{margin:12px 0 22px;padding-left:22px}.blog-article li{margin:8px 0;line-height:1.84}.blog-article .article__body li::marker{color:#94a3ffbf}.blog-article .article__body ol li::marker{font-weight:650;font-variant-numeric:tabular-nums}.blog-article .md-list{margin:12px 0 22px;padding-left:22px}.blog-article .md-list>li{margin:8px 0;line-height:1.84}.blog-article .md-list ul,.blog-article .md-list ol{margin:8px 0 8px 14px}.blog-article .md-list pre.codebox{margin:14px 0}.blog-article .md-list li>p{margin:0}.blog-article .article__body blockquote{position:relative;margin:30px 0;padding:18px 24px 18px 26px;background:linear-gradient(180deg,#818cf80e,#818cf806);border:0;border-radius:var(--r14);color:#dee3f2f2}.blog-article .article__body blockquote:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(180deg,#94a3ff8c,#94a3ff1a)}.blog-article .article__body blockquote p{margin:8px 0}.blog-article .article__body blockquote>:first-child{margin-top:0}.blog-article .article__body blockquote>:last-child{margin-bottom:0}.blog-article .article__body hr{border:0;height:auto;margin:52px 0;background:none;text-align:center}.blog-article .article__body hr:before{content:"· · ·";display:inline-block;color:#94a3ff73;font-size:20px;font-weight:700;line-height:1;letter-spacing:.1em}.blog-article .article__body table{width:100%;border-collapse:collapse;margin:28px 0 34px;font-size:15px;line-height:1.7}.blog-article .article__body th,.blog-article .article__body td{border:0;border-bottom:1px solid rgba(134,145,181,.1);padding:11px 14px;text-align:left;vertical-align:top}.blog-article .article__body th{border-bottom:1px solid rgba(148,163,255,.28);background:transparent;color:#b2bbd6eb;font-size:12.5px;font-weight:700;letter-spacing:.04em}.blog-article .article__body td{color:#e6e9f4e6}.blog-article .article__body tbody tr:hover td{background:#ffffff04}.blog-article .article__body img{display:block;max-width:100%;height:auto;margin:30px auto;border-radius:var(--r14);box-shadow:0 10px 30px #0000003d}.blog-article .article__body figure{text-align:center;margin:34px auto}.blog-article .article__body figure img{max-width:92%;margin:0 auto}.blog-article .article__body figcaption{font-size:13px;color:#9ca3afe6;letter-spacing:.01em;margin-top:12px}.article__body .dup-title--visually-hidden{position:absolute!important;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.leftnav__toolbar{display:flex;justify-content:flex-end;padding:0 4px 6px}.leftnav__expand-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:none;border-radius:5px;background:transparent;color:#b4bcd2b3;font-size:10.5px;font-weight:550;font-family:inherit;cursor:pointer;transition:all .12s ease}.leftnav__expand-btn:hover{color:#c8d0e4b3;background:#ffffff08}.leftnav__expand-btn svg{flex-shrink:0}.doc-focus-btn{position:fixed;top:calc(var(--docs-header-h, var(--header-height, 76px)) + 12px);right:16px;z-index:40;width:32px;height:32px;display:grid;place-items:center;padding:0;border-radius:8px;border:1px solid rgba(134,145,181,.1);background:#0e0f16cc;color:#c8d0e480;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .2s cubic-bezier(.22,1,.36,1)}.doc-focus-btn:hover{color:#dce1f5e6;border-color:#b6c0ff33;background:#141620e6;transform:scale(1.05)}.doc-focus-btn:active{transform:scale(.95)}.doc-focus-btn[aria-pressed=true]{color:#b6c0ffd9;border-color:#b6c0ff2e;background:#b6c0ff14}.leftnav__group{display:grid;row-gap:4px}.leftnav__group+.leftnav__group{margin-top:14px}.leftnav__title{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px;font-size:11px;font-weight:760;letter-spacing:.12em;text-transform:uppercase;color:#a1a1aaeb;background:transparent;border:0;cursor:pointer;border-radius:var(--r10)}.leftnav__title:hover{background:#1f1f2385}.leftnav__title:focus-visible{outline:2px solid rgba(99,102,241,.58);outline-offset:2px}.leftnav__title--sub{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border-radius:var(--r10);color:#e4e4e7e6;background:transparent;border:0;cursor:pointer;text-align:left}.leftnav__title--sub:hover{background:#1f1f2380}.leftnav__collapse{overflow:hidden;max-height:0;opacity:0;transition:max-height .25s ease,opacity .2s ease}.leftnav__collapse.is-open{max-height:1000vh;opacity:1}.leftnav__caret{transition:transform .18s ease;opacity:.9}.leftnav__caret.is-open{transform:rotate(180deg)}.leftnav__list{list-style:none;margin:2px 0 0;padding:0}.leftnav__li{margin:0;padding:0}.leftnav__li+.leftnav__li{margin-top:2px}.leftnav__item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:var(--r10);color:#e4e4e7db;text-decoration:none;font-size:13px;transition:background .2s ease,color .2s ease,transform .16s cubic-bezier(.16,1,.3,1)}.leftnav__item:hover{background:#1f1f2380;color:#fffffff0}.leftnav__item:active{transform:scale(.985)}.leftnav__item.is-current{position:relative;color:#edf0fafa;font-weight:600;background:#8c9eff14}.leftnav__item.is-current:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);transform-origin:center;width:3px;height:18px;border-radius:999px;background:#8c9effe6;animation:leftnavBarIn .34s cubic-bezier(.16,1,.3,1)}.leftnav__item.is-current .leftnav__bullet{background:#8c9efff2;opacity:1}@keyframes leftnavBarIn{0%{opacity:0;transform:translateY(-50%) scaleY(.35)}to{opacity:1;transform:translateY(-50%) scaleY(1)}}@media(prefers-reduced-motion:reduce){.leftnav__item:active{transform:none}.leftnav__item.is-current:before{animation:none}}.leftnav__labelwrap{display:inline-flex;align-items:center;gap:6px;min-width:0}.leftnav__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leftnav__bullet{width:6px;height:6px;border-radius:999px;background:#6b6b78d9;opacity:.65;transition:background .22s ease,opacity .22s ease}.leftnav__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:820;color:#eaeaf1f5;background:#1a1a1feb;border:1px solid rgba(42,42,49,.82)}.leftnav__tag{transform:translateY(-.5px)}.toc__toprow{display:flex;justify-content:flex-end}.toc__topblock{padding:0 0 8px}.toc__title{font-size:11px;font-weight:600;letter-spacing:.01em;color:#9198ac80;margin:0 0 8px 12px}.toc__list{list-style:none;margin:0;padding:0;position:relative}.toc__list--plain{border-left:1px solid rgba(134,145,181,.08);margin-left:1px;padding-left:0}.toc__li{margin:0}.toc__li+.toc__li{margin-top:0}.toc__li--child{margin-left:0;padding-left:12px}.toc__link{display:flex;align-items:flex-start;gap:0;padding:4px 8px 4px 12px;margin-left:-1px;border-left:2px solid transparent;text-decoration:none;color:#b5b5bdc7;font-size:12px;line-height:1.5;font-weight:460;transition:color .15s ease,border-color .2s cubic-bezier(.32,.72,0,1)}.toc__link:hover{color:#e0e0e9eb}.toc__link.is-active,.toc__link[aria-current=true]{color:#f0f0f8fa;font-weight:620;border-left-color:#8c9effbf}.toc__dot{display:none}.toc__text{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.blog-mode-toggle{display:inline-flex;background:#101014f2;border:1px solid rgba(42,42,49,.84);border-radius:var(--r10);padding:4px;gap:4px;box-shadow:var(--sh1)}.blog-mode-btn{padding:6px 12px;font-size:11px;line-height:1.2;color:#a1a1aaeb;background:transparent;border:0;border-radius:var(--r8);cursor:pointer;transition:background .14s ease,color .14s ease}.blog-mode-btn:hover{color:#fffffff5;background:#1f1f2380}.blog-mode-btn.is-active{background:#27272ac7;color:#fffffffa;font-weight:760;box-shadow:0 0 0 1px #6366f11f inset}.blog-blogmode{max-width:960px;margin:0 auto;padding:32px 24px 60px;color:#f0f0f4eb;overflow:visible}.blog-blogmode__hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.05)}.blog-blogmode__hero-left{display:flex;flex-direction:column;gap:6px}.blog-blogmode__heading{margin:0;font-size:clamp(2rem,4vw,2.8rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#fffffff2}.blog-blogmode__sub{margin:0;font-size:13px;color:#ffffff47;font-weight:450;letter-spacing:-.005em}.blog-blogmode__body{overflow:visible}.bloglist-wrapper{width:100%;color:#f0f0f4eb;overflow:visible}.bloglist-controls{display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:10px;column-gap:12px;margin-bottom:20px;overflow:visible}.bloglist-controls__left,.bloglist-controls__right{display:flex;flex-wrap:wrap;align-items:center;row-gap:8px;column-gap:8px;overflow:visible}.control-field{display:flex;flex-direction:column;gap:4px}.control-input{appearance:none;background:#ffffff06;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#ffffffd9;font-size:13px;line-height:1.3;padding:9px 14px;width:min(260px,100%);min-width:160px;box-shadow:none;font-family:inherit;transition:border-color .18s,background .18s}.control-input::placeholder{color:#fff6}.control-input:focus{outline:none;border-color:#6366f14d;background:#ffffff09}.bloglist-count{font-size:12px;color:#ffffff4d;padding:0;border:none;border-radius:0;background:transparent;line-height:1.2;white-space:nowrap;box-shadow:none}.dropdown{position:relative;font-size:13px;line-height:1.3;color:#e4e4e7eb;z-index:20}.dropdown.is-disabled{opacity:.62}.dropdown__button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;color:#ffffffb3;font-size:13px;line-height:1.3;cursor:pointer;text-align:left;box-shadow:none;font-family:inherit;transition:border-color .15s}.dropdown__button:hover{border-color:#ffffff1f}.dropdown.is-open .dropdown__button{outline:none;border-color:#ffffff2e}.dropdown__label{flex:1;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-weight:680}.dropdown__caret{color:#6b6b75eb;font-size:11px;line-height:1}.dropdown__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:3000;background:#0e0e12f5;border:1px solid rgba(255,255,255,.08);border-radius:8px;box-shadow:0 16px 48px #00000080;max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dropdown__item{appearance:none;background:transparent;border:0;width:100%;display:flex;align-items:flex-start;gap:8px;text-align:left;padding:9px 12px;font-size:13px;line-height:1.45;color:#e4e4e7eb;cursor:pointer}.dropdown__item:hover{background:#ffffff0a;color:#ffffffe6}.dropdown__item.is-active{background:#ffffff0f;color:#fffffff2;font-weight:600;box-shadow:none}.dropdown__check{width:16px;color:#6366f1f2;font-size:12px;line-height:1.2}.dropdown__text{flex:1;min-width:0;word-break:break-word}.bloglist{width:100%;font-size:14px;line-height:1.5;color:#f0f0f4eb;overflow:visible;background:transparent}.bloglist__rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.bloglist__row{position:relative;border-radius:10px;transition:background .16s ease}.bloglist__row:hover{background:#ffffff08}.bloglist__left{all:unset;cursor:pointer;width:100%;display:flex;align-items:flex-start;gap:16px;padding:12px 14px;text-align:left;min-width:0;border-radius:10px}.bloglist__num{flex-shrink:0;width:28px;padding-top:1px;font-size:11px;font-weight:600;color:#ffffff1f;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right;-webkit-user-select:none;user-select:none}.bloglist__row:hover .bloglist__num{color:#6366f180}.bloglist__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.bloglist__line1{display:flex;align-items:center;gap:8px;min-width:0}.bloglist__title{font-size:14px;font-weight:560;color:#ffffffc7;line-height:1.4;transition:color .15s ease;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bloglist__row:hover .bloglist__title{color:#fffffff5}.bloglist__badge{flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:#6366f114;color:#9b9effb8;white-space:nowrap}.bloglist__line2{display:flex;align-items:center;gap:6px;font-size:11.5px;line-height:1.3;color:#ffffff75}.bloglist__pathtext{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:500}.bloglist__pathtext:after{content:"·";margin-left:6px;opacity:.5}.bloglist__date{flex-shrink:0;color:#ffffff75;font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.bloglist__row.is-read .bloglist__title{color:#ffffff61}.bloglist__row.is-read .bloglist__num{opacity:.5}.bloglist__empty{padding:48px 16px;text-align:center;font-size:14px;color:#ffffff75;background:transparent}.bloglist__footer{display:flex;flex-wrap:wrap;row-gap:16px;column-gap:24px;align-items:center;justify-content:center;padding:24px 0 40px;font-size:14px;color:#a1a1aaeb}.bloglist__pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pager__navbtn{background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:7px 14px;min-width:0;text-align:center;cursor:pointer;color:#ffffff9e;font-size:12px;font-family:inherit;line-height:1.2;box-shadow:none;transition:all .18s}.pager__navbtn:hover:not(:disabled){background:#ffffff0f;color:#ffffffeb;border-color:#ffffff2e}.pager__navbtn:disabled{opacity:.32;cursor:default}.pager__num{background:transparent;border:none;border-radius:5px;padding:6px 10px;min-width:32px;text-align:center;cursor:pointer;color:#ffffff8f;font-size:12px;font-family:inherit;line-height:1.2;transition:all .15s}.pager__num:hover{background:#ffffff0d;color:#ffffffe0}.pager__num.is-current{background:#ffffff1a;color:#fffffff5;font-weight:700;box-shadow:none;border:none}.pager__meta{font-size:11px;line-height:1.2;color:#ffffff75}.toc{max-height:calc(100dvh - var(--header-h));overflow:auto;padding-top:6px;padding-bottom:18px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;position:relative;-webkit-mask-image:none!important;mask-image:none!important}.blog-left{scrollbar-width:none;-ms-overflow-style:none;position:sticky;top:var(--header-h);-webkit-mask-image:none!important;mask-image:none!important}.toc::-webkit-scrollbar,.blog-left::-webkit-scrollbar{width:0;height:0;display:none}.toc:before,.toc:after,.blog-left:before,.blog-left:after{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:5}.toc:before,.blog-left:before{top:0;height:var(--fade-top);background:linear-gradient(to bottom,#0b0b0feb,#0b0b0f00);opacity:.82}.toc:after,.blog-left:after{bottom:0;height:var(--fade-bottom);background:linear-gradient(to top,#0b0b0feb,#0b0b0f00);opacity:.95}@media(max-width:640px){.blog-blogmode{padding:14px 0 120px}.blog-blogmode__hero{flex-direction:column;align-items:flex-start;gap:16px}.bloglist-controls{flex-direction:column;align-items:stretch}.bloglist-controls__left,.bloglist-controls__right,.control-field,.dropdown{width:100%}.control-input,.dropdown__button{width:100%;min-width:0}.bloglist__num{display:none}.bloglist__left{padding:10px 12px;gap:10px}.bloglist__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.bloglist__line2{flex-wrap:wrap}.bloglist__footer{padding-bottom:28px}.blog-article .article__body pre code{font-size:13.5px;line-height:1.75}.blog-article .article__body{font-size:16.5px}}@media(max-width:380px){.blog-article .article__title{font-size:20px}.blog-article .article__head{padding:4px 0 0}.blog-article .article__body{font-size:16px}.bloglist__left{padding:10px}.bloglist__title{font-size:13.5px}}@media(max-width:768px){.control-input,.dropdown__button{font-size:16px}}@media(hover:none)and (pointer:coarse){.pager__navbtn{min-height:44px;padding:10px 16px}.pager__num{min-width:44px;min-height:44px;padding:10px 12px}.toc__link{min-height:36px;padding:8px}.leftnav__item,.leftnav__title,.leftnav__title--sub{min-height:40px;padding:9px 10px}}@media(max-width:640px){.blog-article .article__body pre.codebox{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;padding:14px 16px}.blog-article .article__body pre.codebox::-webkit-scrollbar{height:6px}.blog-article .article__body pre.codebox::-webkit-scrollbar-track{background:transparent}.blog-article .article__body pre.codebox::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}}
