:root{--font-text:"Lato", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif;--font:var(--font-text);--font-mono-base:"JetBrains Mono", "Cascadia Code", Consolas, Menlo, Monaco, "Liberation Mono", monospace;--font-mono:var(--font-mono-base);--body-background:#dfe1e8;--body-text-color:#565a6e;--accent-color:#2e7de9;--accent-color-darker:#2463c4;--accent-color-text:#fff;--card-background:#eef0f5;--card-background-selected:#d5d9e6;--card-border-color:#c4c8da;--card-separator-color:rgb(52 59 88 / 0.12);--card-text-color-main:#2a2f45;--card-text-color-secondary:#565a6e;--card-text-color-tertiary:#6c7086;--card-radius:10px;--card-padding:30px;--shadow:0 0 1px rgb(0 0 0 / 0.04), 0 2px 6px rgb(0 0 0 / 0.04), 0 10px 20px rgb(0 0 0 / 0.04);--code-background:rgb(52 59 88 / 0.09);--code-text-color:#b15c00;--pre-background:#e1e2e7;--table-stripe:rgb(52 59 88 / 0.04);--gap:40px;color-scheme:light}[data-scheme=dark]{--body-background:#16161e;--body-text-color:#a9b1d6;--accent-color:#7aa2f7;--accent-color-darker:#5d7fd6;--accent-color-text:#16161e;--card-background:#1f2335;--card-background-selected:#292e42;--card-border-color:#3b4261;--card-separator-color:rgb(192 202 245 / 0.1);--card-text-color-main:#c0caf5;--card-text-color-secondary:#a9b1d6;--card-text-color-tertiary:#828bb8;--shadow:0 0 1px rgb(0 0 0 / 0.3), 0 2px 6px rgb(0 0 0 / 0.25), 0 10px 20px rgb(0 0 0 / 0.2);--code-background:rgb(192 202 245 / 0.1);--code-text-color:#ff9e64;--pre-background:#1a1b26;--table-stripe:rgb(192 202 245 / 0.04);color-scheme:dark}@font-face{font-family:twemoji country flags;src:url(/fonts/TwemojiCountryFlags.woff2)format("woff2");unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;font-display:swap}.needs-flags{--font:"Twemoji Country Flags", var(--font-text);--font-mono:"Twemoji Country Flags", var(--font-mono-base)}@font-face{font-family:lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lato;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lato-latin-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*::before,*::after{box-sizing:border-box}html{font-size:62.5%;scroll-behavior:smooth;scroll-padding-top:20px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--body-background);color:var(--body-text-color);font-family:var(--font);font-size:1.6rem;line-height:1.15;overflow-wrap:break-word}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}svg{flex-shrink:0}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}input:focus,input:focus-visible,textarea:focus,textarea:focus-visible{outline:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}.card{background:var(--card-background);border-radius:var(--card-radius);box-shadow:var(--shadow)}.section-title{margin:0 0 10px;font-size:1.6rem;font-weight:700;text-transform:uppercase;color:var(--body-text-color)}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:var(--gap);max-width:1536px;margin:0 auto;padding:0 20px}.footer-area{grid-column:2;padding-bottom:30px}.main{grid-column:2;padding:50px 0 40px;min-width:0;display:flex;flex-direction:column;gap:var(--gap)}.sidebar-right{grid-column:2;padding-bottom:40px;display:flex;flex-direction:column;gap:var(--gap);min-width:0}.sidebar-right--page{display:none}@media(min-width:1280px){.layout:has(.sidebar-right){grid-template-columns:220px minmax(0,1fr)336px}.sidebar-right,.sidebar-right--page{display:flex;grid-column:3;grid-row:1;position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;scrollbar-width:none;padding:50px 0}}.sidebar-left{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;scrollbar-width:none;padding:50px 0 40px;display:flex;flex-direction:column}.site-header{position:relative}.site-avatar{position:relative;width:120px;height:120px;margin:0 0 22px}.site-avatar .site-logo{display:block;width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow)}.site-avatar .emoji{position:absolute;right:0;bottom:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;font-family:var(--font-mono);font-size:1.5rem;font-weight:900;line-height:1;letter-spacing:-1px;color:#fff;background:rgb(26 26 26/.85);border:2px solid rgb(60 60 60/.9);border-radius:6px;text-shadow:0 0 6px rgb(255 255 255/.9),0 0 14px rgb(255 255 255/.6);box-shadow:inset 0 0 12px rgb(0 0 0/.8),0 0 10px rgb(255 255 255/.15)}.site-avatar .emoji::after{content:"_";animation:blink 1.1s steps(1)infinite}@keyframes blink{50%{opacity:0}}.site-name{margin:0 0 8px;font-size:2rem;font-weight:700;color:var(--accent-color);line-height:1.25}.site-description{margin:0;font-size:1.6rem;line-height:1.3}.site-bio{display:flex;flex-wrap:wrap;gap:6px}.bio-topics{display:contents;list-style:none;margin:0;padding:0}.bio-tagline,.bio-topics li{margin:0;padding:4px 8px;font-family:var(--font-mono);font-size:1.25rem;line-height:1.3;color:var(--card-text-color-secondary);border:1px solid var(--card-border-color);border-radius:4px}.bio-tagline{margin-right:100%;white-space:nowrap}.menu-social{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.menu-social a{display:block;padding:2px;color:var(--body-text-color);transition:color .15s}.menu-social a:hover{color:var(--accent-color)}.menu-social svg{display:block;width:24px;height:24px;stroke-width:1.33}.main-menu{margin-top:26px;flex:1;display:flex;flex-direction:column}.main-menu ul{list-style:none;margin:0;padding:0}.main-menu a,.scheme-toggle{display:flex;align-items:center;gap:40px;width:100%;padding:12px 0;font-size:1.4rem;color:var(--body-text-color);background:0 0;border:0;cursor:pointer;text-align:left;transition:color .15s}.main-menu a:hover,.scheme-toggle:hover{color:var(--accent-color)}.main-menu li.current a{color:var(--accent-color);font-weight:700}.main-menu svg{width:20px;height:20px;stroke-width:1.33}.scheme-toggle{margin-top:auto}.scheme-toggle span{display:inline-flex}.scheme-toggle .icon-dark,[data-scheme=dark] .scheme-toggle .icon-light{display:none}[data-scheme=dark] .scheme-toggle .icon-dark{display:inline-flex}.menu-toggle{display:none}.article-list{display:flex;flex-direction:column;gap:var(--gap)}.article-card,.article{overflow:hidden}.article-card{transition:box-shadow .2s}.article-image{display:block}.article-card .article-image img{display:block;width:100%;height:250px;object-fit:cover}.article>.article-image img{display:block;width:100%;height:auto;max-height:50vh;min-height:250px;object-fit:cover}.article-details{padding:var(--card-padding);display:flex;flex-direction:column;gap:15px}.article-category{display:flex;flex-wrap:wrap;gap:10px}.article-category a{padding:8px 16px;font-size:1.4rem;line-height:1.2;color:hsl(var(--hue,210) 60% 15%);background:hsl(var(--hue,210) 60% 84%);border-radius:3px;transition:filter .15s}.article-category a:hover{filter:brightness(.94)}[data-scheme=dark] .article-category a{color:hsl(var(--hue,210) 75% 86%);background:hsl(var(--hue,210) 35% 24%)}[data-scheme=dark] .article-category a:hover{filter:brightness(1.15)}.article-title{margin:0;font-size:2.4rem;font-weight:600;line-height:1.15;color:var(--card-text-color-main)}.article-title a:hover{color:var(--accent-color)}.article-subtitle{margin:0;font-size:1.75rem;font-weight:400;line-height:1.4;color:var(--card-text-color-secondary)}.article-meta{display:flex;align-items:center;gap:15px;font-size:1.4rem;color:var(--card-text-color-tertiary)}.article-meta svg{width:20px;height:20px;stroke-width:1.33}.article-details{color:var(--card-text-color-main)}.article-content{padding:0 var(--card-padding)var(--card-padding);color:var(--card-text-color-main);font-size:1.7rem;line-height:1.85}.article-content>*:first-child{margin-top:0}.article-content>*:last-child{margin-bottom:0}.article-content p{margin:1em 0}.article-content>p{margin:1.5em 0}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin-left:calc(var(--card-padding) * -1);padding-left:calc(var(--card-padding) - 4px);border-left:4px solid var(--accent-color);font-weight:700;color:var(--card-text-color-main)}.article-content h1{font-size:2em;margin-top:.67em;margin-bottom:.67em}.article-content h2{font-size:1.5em;margin-top:.83em;margin-bottom:.83em}.article-content h3{font-size:1.17em;margin-top:1em;margin-bottom:1em}.article-content h4{font-size:1em;margin-top:1.33em;margin-bottom:1.33em}.article-content h5{font-size:.83em;margin-top:1.67em;margin-bottom:1.67em}.article-content h6{font-size:.67em;margin-top:2.33em;margin-bottom:2.33em}.article-content a{color:var(--accent-color);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent-color) 30%,transparent);transition:text-decoration-color .15s}.article-content a:hover{text-decoration-color:var(--accent-color)}.article-content ul,.article-content ol{margin:1em 0;padding-left:40px}.article-content li>ul,.article-content li>ol{margin:0}.article-content hr{border:0;border-top:2px solid var(--card-separator-color);margin:2em 0}.article-content blockquote{margin:1.5em 0;padding:12px 20px;border-left:4px solid var(--card-separator-color);background:var(--table-stripe);color:var(--card-text-color-secondary)}.article-content blockquote>:first-child{margin-top:0}.article-content blockquote>:last-child{margin-bottom:0}.article-content img{display:block;margin:0 auto;border-radius:4px}.article-content img.zoomable,.article>.article-image img.zoomable{cursor:zoom-in}.article-content a img.zoomable{cursor:pointer}.article-content .footnotes{margin-top:2em;font-size:1.4rem;color:var(--card-text-color-secondary)}.article-content figure.image{margin:1.5em calc(var(--card-padding) * -1)}.article-content figure.image img{border-radius:0}.article-content figcaption,.article-content .image .caption{display:block;padding:4px var(--card-padding)0;font-size:1.4rem;line-height:1.6;text-align:center;color:var(--card-text-color-secondary)}.article-content span.image{display:inline-block;max-width:100%;vertical-align:middle}.article-content span.image .caption{display:none}.article-content p:has(>span.image+span.image){display:flex;flex-wrap:wrap;gap:4px;margin:1.5em calc(var(--card-padding) * -1)}.article-content p:has(>span.image+span.image)>br{display:none}.article-content p:has(>span.image+span.image)>span.image{flex:var(--ar,1)1 0;min-width:140px}.article-content p:has(>span.image+span.image)>span.image img{width:100%;border-radius:0}.article-content p:has(>span.image+span.image)>span.image .caption{display:block;padding:4px 8px 0}.article-content .table-wrapper{margin:1.5em 0;overflow-x:auto}.article-content table:not(.lntable){width:100%;margin:1.5em 0;border-collapse:collapse;font-size:.96em;line-height:1.5}.article-content .table-wrapper>table{margin:0}.article-content table:not(.lntable) th,.article-content table:not(.lntable) td{padding:8px 14px;border:1px solid var(--card-separator-color);text-align:left}.article-content table:not(.lntable) th{font-weight:700;background:var(--table-stripe)}.article-content table:not(.lntable) tr:nth-child(even) td{background:var(--table-stripe)}.article-content code{font-family:var(--font-mono);font-size:.875em}.article-content pre code{font-size:inherit}.article-content :not(pre)>code{padding:2px 5px;border-radius:4px;background:var(--code-background);color:var(--code-text-color);overflow-wrap:anywhere}.article-content pre{margin:0;padding:16px 18px;overflow-x:auto;font-family:var(--font-mono);font-size:1.4rem;line-height:1.55;background:var(--pre-background);tab-size:4}.article-content>pre{margin:1.5em 0;border-radius:6px}.highlight{position:relative;margin:1.5em 0;border-radius:6px;overflow:hidden;background:var(--pre-background)}.highlight .chroma{background:0 0}.highlight>.chroma{overflow-x:auto}.highlight .lntable{display:table;width:100%;border-spacing:0}.highlight .lntd{padding:0}.highlight .lntd:first-child{width:1%;user-select:none}.highlight .lntd:first-child pre{padding-right:4px;overflow:hidden}.highlight .lntd:last-child pre{padding-left:10px}.highlight .lntd:last-child{width:99%;max-width:0}.copy-code{position:absolute;top:8px;right:8px;padding:4px 10px;font-size:1.2rem;line-height:1.4;color:var(--card-text-color-secondary);background:var(--card-background);border:1px solid var(--card-border-color);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s}.highlight:hover .copy-code,.copy-code:focus-visible{opacity:1}@media(hover:none){.copy-code{opacity:.85}}.article-footer{padding:0 var(--card-padding)var(--card-padding)}.article-tags,.tagCloud-tags{display:flex;flex-wrap:wrap;gap:10px}.article-tags a{padding:8px 16px;font-size:1.4rem;line-height:1.2;color:var(--card-text-color-main);background:var(--body-background);border-radius:3px;transition:background .15s}.article-tags a:hover{background:var(--card-background-selected)}.related-list{display:flex;gap:15px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}.related-list article{position:relative;flex:0 0 250px;height:150px;overflow:hidden;border-radius:var(--card-radius);box-shadow:var(--shadow);background:var(--card-background);scroll-snap-align:start}.related-list a{display:flex;align-items:flex-end;height:100%}.related-list img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.related-list a:hover img{transform:scale(1.04)}.related-list .article-title{position:relative;width:100%;margin:0;padding:14px 16px;font-size:1.6rem;line-height:1.25}.related-list .has-image .article-title{color:#fff;padding-top:50px;background:linear-gradient(to top,rgb(0 0 0/.8),transparent)}.related-list .no-image{background:linear-gradient(135deg,hsl(var(--hue) 45% 36%),hsl(var(--hue) 50% 22%))}.related-list .no-image .article-title{color:#fff}.related-list .tile-icon{position:absolute;top:12px;right:12px;line-height:0;color:hsl(var(--hue) 60% 84%);opacity:.55;transition:transform .3s}.related-list .tile-icon svg{width:64px;height:64px;stroke-width:1.25}.related-list a:hover .tile-icon{transform:scale(1.08)}.comments{position:relative;min-height:60px;padding:20px var(--card-padding);overflow:hidden;isolation:isolate}.comments::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--card-background);mix-blend-mode:color;opacity:.65}.section-card{padding:20px var(--card-padding);border-left:4px solid var(--accent-color)}.section-count{margin:0 0 4px;font-size:1.4rem;color:var(--card-text-color-tertiary)}.section-term{margin:0;font-size:2.2rem;font-weight:600;color:var(--card-text-color-main)}.section-description{margin-top:10px;line-height:1.5;color:var(--card-text-color-secondary)}.article-list--compact{overflow:hidden}.article-list--compact article+article{border-top:1px solid var(--card-separator-color)}.article-list--compact a{display:flex;align-items:center;gap:20px;padding:18px var(--card-padding);transition:background .15s}.article-list--compact a:hover{background:var(--table-stripe)}.article-list--compact .article-details{padding:0;gap:6px;flex:1;min-width:0}.article-list--compact .article-title{font-size:1.7rem;font-weight:600;line-height:1.3}.article-list--compact .article-meta{font-size:1.4rem}.article-list--compact .article-image img{display:block;width:60px;height:60px;object-fit:cover;border-radius:6px}.article-list--compact .article-preview{margin:0;font-size:1.4rem;line-height:1.5;color:var(--card-text-color-secondary)}mark{background:#ffe58a;color:#000;padding:0 2px;border-radius:2px}.pagination{display:flex;flex-wrap:wrap;align-self:flex-start;background:var(--card-background);border-radius:var(--card-radius);box-shadow:var(--shadow);overflow:hidden}.page-link{display:flex;align-items:center;justify-content:center;min-width:48px;padding:14px 16px;font-size:1.5rem;color:var(--card-text-color-secondary);transition:background .15s}a.page-link:hover{background:var(--table-stripe);color:var(--card-text-color-main)}.page-link.current{font-weight:700;color:var(--card-text-color-main);background:var(--card-background-selected)}.page-link svg{width:20px;height:20px}.widget-icon{color:var(--body-text-color);line-height:0;margin-bottom:4px}.widget-icon svg{width:32px;height:32px;stroke-width:1.33}.tagCloud-tags a,.tagCloud-tags>span{padding:8px 20px;font-size:1.4rem;line-height:1.3;color:var(--card-text-color-main);background:var(--card-background);border-radius:3px;box-shadow:var(--shadow);transition:background .15s}.tagCloud-tags a:hover{background:var(--card-background-selected)}.term-tree{display:block;padding:12px 14px;font-family:var(--font-mono);font-size:1.25rem;line-height:1.45;color:var(--card-text-color-secondary);background:var(--pre-background);border:1px solid var(--card-border-color);border-radius:8px;overflow-x:auto}.term-tree::before{content:"$ " attr(data-cmd);display:block;margin-bottom:8px;color:var(--card-text-color-tertiary)}.term-tree>a,.term-tree>span{display:flex;white-space:pre}.term-tree .t-root,.term-tree .t-dir{color:var(--card-text-color-tertiary)}.term-tree .t-branch{color:var(--card-text-color-tertiary);font-weight:400}.term-tree .t-name{color:var(--accent-color)}.term-tree a:hover .t-name{text-decoration:underline}.term-tree .t-count{margin-left:auto;padding-left:12px;color:var(--card-text-color-tertiary)}.recent-comments{padding:12px 14px;font-family:var(--font-mono);font-size:1.2rem;line-height:1.5;color:var(--card-text-color-secondary);background:var(--pre-background);border:1px solid var(--card-border-color);border-radius:8px}.recent-comments::before{content:"$ " attr(data-cmd);display:block;overflow-wrap:anywhere;margin-bottom:8px;color:var(--card-text-color-tertiary)}.recent-comments a,.recent-comments>span{display:block;margin-bottom:8px}.recent-comments>:last-child{margin-bottom:0}.recent-comments a{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.recent-comments .rc-date{color:var(--card-text-color-tertiary)}.recent-comments .rc-date::before{content:"["}.recent-comments .rc-date::after{content:"] "}.recent-comments .rc-author{color:var(--accent-color);font-weight:700}.recent-comments .rc-author::after{content:": ";font-weight:400;color:var(--card-text-color-tertiary)}.recent-comments a:hover .rc-text{color:var(--card-text-color-main)}.term-search{display:flex;align-items:center;gap:8px;padding:12px 14px;font-family:var(--font-mono);font-size:1.25rem;line-height:1.45;color:var(--card-text-color-secondary);background:var(--pre-background);border:1px solid var(--card-border-color);border-radius:8px}.term-search .ts-prompt{white-space:nowrap;color:var(--card-text-color-tertiary)}.term-search input{flex:1;min-width:0;padding:0;margin:0;font:inherit;color:var(--accent-color);background:0 0;border:0;border-radius:0;appearance:none}.term-search input,.term-session .ts-search input{caret-color:var(--accent-color);caret-shape:block}.term-search input::placeholder,.term-session .ts-search input::placeholder{color:var(--card-text-color-tertiary);opacity:.8}.term-search input:focus::placeholder,.term-session .ts-search input:focus::placeholder{color:transparent}.term-search input::-webkit-search-cancel-button{display:none}.term-search button{padding:0 2px;font:inherit;line-height:1;color:var(--card-text-color-tertiary);background:0 0;border:0;cursor:pointer}.term-search button:hover{color:var(--accent-color)}.term-search--page{padding:16px 18px;font-size:1.5rem}.search-result-title{margin-bottom:15px}.toc-card{background:var(--card-background);border-radius:var(--card-radius);box-shadow:var(--shadow);padding:12px 0;font-size:1.5rem}.toc-card ol,.toc-card ul{margin:0;padding:0;list-style:none;counter-reset:toc}.toc-card li{counter-increment:toc}.toc-card a{display:block;line-height:1.4;padding:7px 20px 7px 25px;color:var(--card-text-color-secondary);border-left:3px solid transparent;transition:color .15s}.toc-card ol>li>a::before{content:counters(toc,".")". ";font-weight:700;margin-right:4px}.toc-card li li a{padding-left:45px;font-size:1.4rem}.toc-card li li li a{padding-left:65px}.toc-card a:hover{color:var(--card-text-color-main)}.toc-card a.active{color:var(--card-text-color-main);font-weight:600;border-left-color:var(--accent-color)}.article-toc{margin:0 var(--card-padding)var(--card-padding);border-radius:var(--card-radius);box-shadow:var(--shadow);background:var(--card-background)}.article-toc summary{display:flex;align-items:center;gap:12px;padding:16px 20px;font-size:1.6rem;font-weight:700;text-transform:uppercase;color:var(--body-text-color);cursor:pointer;list-style:none}.article-toc summary::-webkit-details-marker{display:none}.article-toc summary svg{width:20px;height:20px;transition:transform .15s}.article-toc[open] summary svg{transform:rotate(90deg)}.article-toc .toc-card{box-shadow:none;background:0 0;padding:0 0 12px;font-size:1.6rem}@media(min-width:1280px){.article-toc{display:none}}.error-404{max-width:760px}.error-code{margin:0 0 20px;font-family:var(--font-mono);font-size:9rem;font-weight:800;line-height:1;letter-spacing:-2px;color:var(--accent-color)}.term-session{padding:18px 20px;font-family:var(--font-mono);font-size:1.4rem;line-height:1.6;color:var(--card-text-color-secondary);background:var(--pre-background);border:1px solid var(--card-border-color);border-radius:8px;overflow-wrap:anywhere}.term-session p,.term-session ul{margin:0;padding:0;list-style:none}.term-session .ts-line{margin-top:14px;color:var(--card-text-color-main)}.term-session .ts-line:first-child{margin-top:0}.term-session .ts-prompt{color:var(--card-text-color-tertiary)}.term-session .ts-error{color:var(--code-text-color)}.term-session .ts-comment,.term-session .ts-date{color:var(--card-text-color-tertiary)}.term-session a{color:var(--accent-color)}.term-session a:hover{text-decoration:underline}.term-session .ts-list li{display:flex;gap:12px}.term-session .ts-date{flex-shrink:0}.term-session .ts-search{display:flex;align-items:center;gap:8px}.term-session .ts-search input{flex:1;min-width:0;padding:0;font:inherit;color:var(--accent-color);background:0 0;border:0;border-radius:0;appearance:none}.term-session .ts-search input::-webkit-search-cancel-button{display:none}.term-session .ts-search button{padding:0 2px;font:inherit;line-height:1;color:var(--card-text-color-tertiary);background:0 0;border:0;cursor:pointer}.term-session .ts-search button:hover{color:var(--accent-color)}@media(max-width:767px){.error-code{font-size:6.4rem}.term-session{padding:14px;font-size:1.25rem}.term-session .ts-list li{flex-direction:column;gap:0;margin-bottom:4px}}.site-footer{font-size:1.4rem;line-height:1.75;color:var(--body-text-color)}.site-footer .powerby{font-size:1.2rem}.site-footer .copyright{font-weight:700;color:var(--accent-color);margin-bottom:4px}.site-footer a{color:var(--accent-color)}.build-info summary{display:inline-flex;align-items:center;gap:10px;margin-top:6px;padding:4px 8px;font-family:var(--font-mono);font-size:1.2rem;line-height:1.3;color:var(--card-text-color-secondary);border:1px solid var(--card-border-color);border-radius:4px;cursor:pointer;list-style:none;user-select:none;transition:color .15s,border-color .15s}.build-info summary::-webkit-details-marker{display:none}.build-info summary:hover,.build-info[open] summary{color:var(--accent-color);border-color:var(--accent-color)}.build-info-more{display:inline-flex;align-items:center;gap:2px;padding-left:10px;border-left:1px solid var(--card-border-color);font-weight:700;color:var(--accent-color)}.build-info-more svg{width:14px;height:14px;stroke-width:2;transition:transform .15s}.build-info[open] .build-info-more svg{transform:rotate(90deg)}.build-info-box{display:block;width:fit-content;max-width:100%;margin-top:8px;padding:12px 16px;font-family:var(--font-mono);font-size:1.2rem;line-height:1.6;color:var(--card-text-color-secondary);border:1px solid var(--card-border-color);border-radius:6px}.build-info-head{margin:0 0 6px;padding-bottom:6px;border-bottom:1px dashed var(--card-border-color)}.build-info-head span{color:var(--accent-color);font-weight:700}.build-info dl{display:grid;grid-template-columns:auto 1fr;column-gap:16px;margin:0}.build-info dt{color:var(--accent-color);font-weight:700}.build-info dd{margin:0;min-width:0;overflow-wrap:anywhere}.build-info [hidden]{display:none}.lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgb(0 0 0/.9);cursor:zoom-out}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:rgb(0 0 0/.9)}.lightbox img{max-width:96vw;max-height:92vh;object-fit:contain}.lightbox figcaption{position:absolute;left:0;right:0;bottom:10px;padding:0 20px;text-align:center;font-size:1.4rem;color:rgb(255 255 255/.85)}.lightbox figure{margin:0}.lightbox button{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:72px;font-size:3rem;line-height:1;color:#fff;background:rgb(0 0 0/.35);border:0;cursor:pointer}.lightbox .lb-prev{left:0;border-radius:0 6px 6px 0}.lightbox .lb-next{right:0;border-radius:6px 0 0 6px}.lightbox .lb-close{top:0;right:0;transform:none;height:48px;border-radius:0 0 0 6px;font-size:2.4rem}.lightbox button[hidden]{display:none}@media(max-width:767px){:root{--gap:25px;--card-padding:20px}.layout{display:block;padding:0 15px}.sidebar-left{position:static;height:auto;overflow:visible;padding:25px 0 0}.main{padding-top:25px}.sidebar-right{padding-bottom:30px}.site-avatar{width:80px;height:80px;margin-bottom:14px}.site-avatar .site-logo{width:80px;height:80px}.site-avatar .emoji{width:30px;height:30px;font-size:1.1rem}.site-name{font-size:1.8rem}.menu-social{margin-top:16px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;position:absolute;top:10px;right:0;width:44px;height:44px;padding:8px 6px;background:0 0;border:0;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--card-text-color-main);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(9px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}.main-menu{display:none;margin-top:16px;padding:6px 20px;background:var(--card-background);border-radius:var(--card-radius);box-shadow:var(--shadow)}.main-menu.open{display:block}.main-menu a,.scheme-toggle{gap:20px}.scheme-toggle{margin-top:0;border-top:1px solid var(--card-separator-color)}.article-card .article-image img{height:150px}.article>.article-image img{min-height:150px}.article-title{font-size:2rem}.article-content{font-size:1.6rem}.related-list article{flex-basis:200px;height:130px}}.chroma{color:#3760bf;background-color:#e1e2e7;-webkit-text-size-adjust:none}.chroma .x{color:#3760bf}.chroma .err{color:#c64343}.chroma .cl{color:#3760bf}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#a1a6c5}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6172b0}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6172b0}.chroma .line{display:flex}.chroma .k{color:#9854f1}.chroma .kc{color:#8c6c3e}.chroma .kd{color:#9d7cd8}.chroma .kn{color:#007197}.chroma .kp{color:#9854f1}.chroma .kr{color:#9854f1}.chroma .kt{color:#0db9d7}.chroma .na{color:#2e7de9}.chroma .nc{color:#b15c00}.chroma .no{color:#b15c00}.chroma .nd{color:#2e7de9;font-weight:700}.chroma .ni{color:#007197}.chroma .ne{color:#8c6c3e}.chroma .nl{color:#587539}.chroma .nn{color:#8c6c3e}.chroma .nx{color:#3760bf}.chroma .py{color:#8c6c3e}.chroma .nt{color:#9854f1}.chroma .nb{color:#587539}.chroma .bp{color:#587539}.chroma .vc{color:#3760bf}.chroma .vg{color:#3760bf}.chroma .vi{color:#3760bf}.chroma .vm{color:#3760bf}.chroma .nf{color:#2e7de9}.chroma .fm{color:#2e7de9}.chroma .ld{color:#3760bf}.chroma .s{color:#587539}.chroma .sa{color:#9d7cd8}.chroma .sb{color:#587539}.chroma .sc{color:#587539}.chroma .dl{color:#2e7de9}.chroma .sd{color:#a1a6c5}.chroma .s2{color:#587539}.chroma .se{color:#2e7de9}.chroma .sh{color:#a1a6c5}.chroma .si{color:#587539}.chroma .sx{color:#587539}.chroma .sr{color:#007197}.chroma .s1{color:#587539}.chroma .ss{color:#587539}.chroma .m{color:#8c6c3e}.chroma .mb{color:#8c6c3e}.chroma .mf{color:#8c6c3e}.chroma .mh{color:#8c6c3e}.chroma .mi{color:#8c6c3e}.chroma .il{color:#8c6c3e}.chroma .mo{color:#8c6c3e}.chroma .o{color:#587539;font-weight:700}.chroma .ow{color:#587539;font-weight:700}.chroma .or{color:#587539;font-weight:700}.chroma .c{color:#a1a6c5;font-style:italic}.chroma .ch{color:#a1a6c5;font-style:italic}.chroma .cm{color:#a1a6c5;font-style:italic}.chroma .c1{color:#a1a6c5;font-style:italic}.chroma .cs{color:#a1a6c5;font-style:italic}.chroma .cp{color:#a1a6c5;font-style:italic}.chroma .cpf{color:#a1a6c5;font-weight:700;font-style:italic}.chroma .gd{color:#c64343;background-color:#e9e9ed}.chroma .ge{font-style:italic}.chroma .gr{color:#c64343}.chroma .gh{color:#8c6c3e;font-weight:700}.chroma .gi{color:#587539;background-color:#e9e9ed}.chroma .go{color:#3760bf}.chroma .gp{color:#3760bf}.chroma .gs{font-weight:700}.chroma .gu{color:#8c6c3e;font-weight:700}.chroma .gt{color:#c64343}.chroma .gl{text-decoration:underline}[data-scheme=dark] .chroma span{color:inherit;background-color:transparent;font-weight:inherit;font-style:inherit}[data-scheme=dark] .chroma{color:#c0caf5;background-color:#1a1b26;-webkit-text-size-adjust:none}[data-scheme=dark] .chroma .x{color:#c0caf5}[data-scheme=dark] .chroma .err{color:#db4b4b}[data-scheme=dark] .chroma .cl{color:#c0caf5}[data-scheme=dark] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}[data-scheme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-scheme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}[data-scheme=dark] .chroma .hl{background-color:#414868}[data-scheme=dark] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#a9b1d6}[data-scheme=dark] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#a9b1d6}[data-scheme=dark] .chroma .line{display:flex}[data-scheme=dark] .chroma .k{color:#bb9af7}[data-scheme=dark] .chroma .kc{color:#e0af68}[data-scheme=dark] .chroma .kd{color:#9d7cd8}[data-scheme=dark] .chroma .kn{color:#7dcfff}[data-scheme=dark] .chroma .kp{color:#bb9af7}[data-scheme=dark] .chroma .kr{color:#bb9af7}[data-scheme=dark] .chroma .kt{color:#41a6b5}[data-scheme=dark] .chroma .na{color:#7aa2f7}[data-scheme=dark] .chroma .nc{color:#ff9e64}[data-scheme=dark] .chroma .no{color:#ff9e64}[data-scheme=dark] .chroma .nd{color:#7aa2f7;font-weight:700}[data-scheme=dark] .chroma .ni{color:#7dcfff}[data-scheme=dark] .chroma .ne{color:#e0af68}[data-scheme=dark] .chroma .nl{color:#9ece6a}[data-scheme=dark] .chroma .nn{color:#e0af68}[data-scheme=dark] .chroma .nx{color:#c0caf5}[data-scheme=dark] .chroma .py{color:#e0af68}[data-scheme=dark] .chroma .nt{color:#bb9af7}[data-scheme=dark] .chroma .nb{color:#9ece6a}[data-scheme=dark] .chroma .bp{color:#9ece6a}[data-scheme=dark] .chroma .vc{color:#c0caf5}[data-scheme=dark] .chroma .vg{color:#c0caf5}[data-scheme=dark] .chroma .vi{color:#c0caf5}[data-scheme=dark] .chroma .vm{color:#c0caf5}[data-scheme=dark] .chroma .nf{color:#7aa2f7}[data-scheme=dark] .chroma .fm{color:#7aa2f7}[data-scheme=dark] .chroma .ld{color:#c0caf5}[data-scheme=dark] .chroma .s{color:#9ece6a}[data-scheme=dark] .chroma .sa{color:#9d7cd8}[data-scheme=dark] .chroma .sb{color:#9ece6a}[data-scheme=dark] .chroma .sc{color:#9ece6a}[data-scheme=dark] .chroma .dl{color:#7aa2f7}[data-scheme=dark] .chroma .sd{color:#414868}[data-scheme=dark] .chroma .s2{color:#9ece6a}[data-scheme=dark] .chroma .se{color:#7aa2f7}[data-scheme=dark] .chroma .sh{color:#414868}[data-scheme=dark] .chroma .si{color:#9ece6a}[data-scheme=dark] .chroma .sx{color:#9ece6a}[data-scheme=dark] .chroma .sr{color:#7dcfff}[data-scheme=dark] .chroma .s1{color:#9ece6a}[data-scheme=dark] .chroma .ss{color:#9ece6a}[data-scheme=dark] .chroma .m{color:#e0af68}[data-scheme=dark] .chroma .mb{color:#e0af68}[data-scheme=dark] .chroma .mf{color:#e0af68}[data-scheme=dark] .chroma .mh{color:#e0af68}[data-scheme=dark] .chroma .mi{color:#e0af68}[data-scheme=dark] .chroma .il{color:#e0af68}[data-scheme=dark] .chroma .mo{color:#e0af68}[data-scheme=dark] .chroma .o{color:#9ece6a;font-weight:700}[data-scheme=dark] .chroma .ow{color:#9ece6a;font-weight:700}[data-scheme=dark] .chroma .or{color:#9ece6a;font-weight:700}[data-scheme=dark] .chroma .c{color:#414868;font-style:italic}[data-scheme=dark] .chroma .ch{color:#414868;font-style:italic}[data-scheme=dark] .chroma .cm{color:#414868;font-style:italic}[data-scheme=dark] .chroma .c1{color:#414868;font-style:italic}[data-scheme=dark] .chroma .cs{color:#414868;font-style:italic}[data-scheme=dark] .chroma .cp{color:#414868;font-style:italic}[data-scheme=dark] .chroma .cpf{color:#414868;font-weight:700;font-style:italic}[data-scheme=dark] .chroma .gd{color:#db4b4b;background-color:#15161e}[data-scheme=dark] .chroma .ge{font-style:italic}[data-scheme=dark] .chroma .gr{color:#db4b4b}[data-scheme=dark] .chroma .gh{color:#e0af68;font-weight:700}[data-scheme=dark] .chroma .gi{color:#9ece6a;background-color:#15161e}[data-scheme=dark] .chroma .go{color:#c0caf5}[data-scheme=dark] .chroma .gp{color:#c0caf5}[data-scheme=dark] .chroma .gs{font-weight:700}[data-scheme=dark] .chroma .gu{color:#e0af68;font-weight:700}[data-scheme=dark] .chroma .gt{color:#db4b4b}[data-scheme=dark] .chroma .gl{text-decoration:underline}