@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #303446;--text: #c6d0f5;--accent: #89b4fa;--accent-color: #89b4fa}html,body{margin:0;padding:0;min-height:100%;background:var(--bg);font-family:JetBrains Mono,monospace;font-size:106%;color:var(--text);overflow-x:hidden}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}main{margin-left:auto;margin-right:auto}:root main:not(main main){view-transition-name:tebian-main}::view-transition-group(tebian-main){animation:none}::view-transition-image-pair(tebian-main){isolation:isolate}::view-transition-old(tebian-main){animation:tebianWarpOut .3s cubic-bezier(.4,0,1,1) both}::view-transition-new(tebian-main){animation:tebianWarpIn .34s cubic-bezier(0,0,.2,1) .14s both}@keyframes tebianWarpOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.78)}}@keyframes tebianWarpIn{0%{opacity:0;transform:scale(1.22)}to{opacity:1;transform:scale(1)}}html[data-theme=dark] body,html[data-theme=dark]{--bg: #1e1e2e;background:#1e1e2e;color:#cdd6f4;--accent: #89b4fa;--accent-color: #89b4fa;--neutron-vt-bg: #1e1e2e}html[data-theme=light] body,html[data-theme=light]{--bg: #eff1f5;background:#eff1f5;color:#4c4f69;--accent: #1e66f5;--accent-color: #1e66f5;--neutron-vt-bg: #eff1f5}html[data-theme=frappe] body,html[data-theme=frappe]{--bg: #303446;background:#303446;color:#c6d0f5;--accent: #8caaee;--accent-color: #8caaee;--neutron-vt-bg: #303446}.global-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);font-size:.85rem;background:var(--bg)}@media(max-width:420px){.global-nav{gap:.35rem .6rem;padding:.65rem .75rem;font-size:.78rem}}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.page-content{flex:1;width:100%}.global-nav a{color:#6c7086;text-decoration:none;transition:color .2s}.global-nav a:hover{color:var(--accent)}.global-nav a[href="/"]{color:#45475a}.global-nav a[href="/"]:hover{color:#6c7086}.nav-div{color:#313244}html[data-theme=light] .global-nav{border-bottom-color:#0000000f}html[data-theme=light] .global-nav a{color:#9ca0b0}html[data-theme=light] .global-nav a:hover{color:#1e66f5}html[data-theme=light] .global-nav a[href="/"]{color:#bcc0cc}html[data-theme=light] .nav-div{color:#dce0e8}html[data-theme=frappe] .global-nav a{color:#626880}html[data-theme=frappe] .global-nav a:hover{color:#8caaee}html[data-theme=frappe] .global-nav a[href="/"]{color:#51576d}html[data-theme=frappe] .nav-div{color:#414559}.global-nav a.nav-mark{display:inline-flex;align-items:center;color:#6c7086}.global-nav a.nav-mark:hover{color:var(--accent)}.nav-mark svg{display:block;width:1.15rem;height:1.15rem}html[data-theme=light] .global-nav a.nav-mark{color:#9ca0b0}html[data-theme=frappe] .global-nav a.nav-mark{color:#626880}.global-footer{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;border-top:1px solid rgba(255,255,255,.05);margin-top:2rem}.footer-nav{display:flex;align-items:center;gap:1rem;font-size:.85rem}.footer-nav a{color:#45475a;text-decoration:none;transition:color .2s}.footer-nav a:hover{color:var(--accent)}.footer-extended{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.footer-extended a{color:#313244;text-decoration:none;transition:color .2s}.footer-extended a:hover{color:#45475a}.ext-sep{color:#313244}html[data-theme=light] .global-footer{border-top-color:#0000000f}html[data-theme=light] .footer-nav a{color:#bcc0cc}html[data-theme=light] .footer-nav a:hover{color:#1e66f5}html[data-theme=light] .footer-extended a{color:#dce0e8}html[data-theme=light] .footer-extended a:hover{color:#9ca0b0}html[data-theme=light] .ext-sep{color:#dce0e8}html[data-theme=frappe] .footer-nav a{color:#51576d}html[data-theme=frappe] .footer-nav a:hover{color:#8caaee}html[data-theme=frappe] .footer-extended a{color:#414559}html[data-theme=frappe] .footer-extended a:hover{color:#626880}html[data-theme=frappe] .ext-sep{color:#414559}.theme-toggle{position:fixed;top:1rem;right:1rem;background:#ffffff0d;border:1px solid rgba(137,180,250,.2);border-radius:6px;padding:.25rem .5rem;cursor:pointer;color:#89b4fa;font-size:.85rem;transition:all .2s;z-index:1000;font-family:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.theme-toggle:hover{background:#89b4fa1a;border-color:#89b4fa66}html[data-theme=light] .theme-toggle{color:#1e66f5;border-color:#1e66f533;background:#1e66f50d}html[data-theme=light] .theme-toggle:hover{background:#1e66f514;border-color:#1e66f566}html[data-theme=frappe] .theme-toggle{color:#8caaee;border-color:#8caaee33}html[data-theme=frappe] .theme-toggle:hover{background:#8caaee1a;border-color:#8caaee66}html[data-theme=light] article h2{color:#4c4f69}html[data-theme=light] article h3{color:#5c5f77}html[data-theme=light] article p,html[data-theme=light] article li{color:#5c5f77}html[data-theme=light] article .lead{color:#6c6f85}html[data-theme=light] article code{color:#40a02b;background:#0000000f}html[data-theme=light] article strong{color:#4c4f69}html[data-theme=light] article section{border-color:#00000014}html[data-theme=light] article blockquote{background:#00000008}html[data-theme=light] article blockquote p{color:#4c4f69}html[data-theme=light] article blockquote cite{color:#8c8fa1}html[data-theme=frappe] article h2{color:#c6d0f5}html[data-theme=frappe] article h3{color:#b5bfe2}html[data-theme=frappe] article p,html[data-theme=frappe] article li{color:#a5adce}html[data-theme=frappe] article .lead{color:#838ba7}html[data-theme=frappe] article code{color:#a6d189;background:#ffffff0d}html[data-theme=frappe] article strong{color:#c6d0f5}html[data-theme=frappe] article section{border-color:#ffffff0f}html[data-theme=frappe] article blockquote{background:#ffffff08}html[data-theme=frappe] article blockquote p{color:#c6d0f5}html[data-theme=frappe] article blockquote cite{color:#838ba7}
