:root{--hl-red:#f7768e;--hl-orange:#ff9e64;--hl-yellow:#e0af68;--hl-light-green:#9ece6a;--hl-green:#73daca;--hl-aqua:#2ac3de;--hl-teal:#1abc9c;--hl-turquoise:#89ddff;--hl-light-cyan:#b4f9f8;--hl-cyan:#7dcfff;--hl-blue:#7aa2f7;--hl-purple:#9d7cd8;--hl-magenta:#bb9af7;--hl-comment:#565f89;--hl-fg:#c0caf5;--hl-fg-dark:#a9b1d6;--hl-bg:#1a1b26;--hl-bg-menu:#16161e}.hl-keyword{color:var(--hl-purple);font-style:italic}.hl-keyword-control,.hl-keyword-control-conditional,.hl-keyword-control-repeat{color:var(--hl-magenta)}.hl-keyword-control-import{color:var(--hl-cyan)}.hl-keyword-control-return{color:var(--hl-purple);font-style:italic}.hl-keyword-control-exception,.hl-keyword-function,.hl-keyword-operator{color:var(--hl-magenta)}.hl-keyword-directive{color:var(--hl-cyan)}.hl-keyword-storage,.hl-keyword-storage-type,.hl-keyword-storage-modifier{color:var(--hl-magenta)}.hl-function{color:var(--hl-blue);font-style:italic}.hl-function-builtin{color:var(--hl-aqua)}.hl-function-method{color:var(--hl-blue);font-style:italic}.hl-function-macro,.hl-function-special{color:var(--hl-cyan)}.hl-type,.hl-type-builtin{color:var(--hl-aqua)}.hl-type-enum-variant,.hl-constant{color:var(--hl-orange)}.hl-constant-builtin,.hl-constant-builtin-boolean{color:var(--hl-aqua)}.hl-constant-character{color:var(--hl-light-green)}.hl-constant-character-escape{color:var(--hl-magenta)}.hl-constant-numeric,.hl-constant-numeric-integer,.hl-constant-numeric-float{color:var(--hl-orange)}.hl-string{color:var(--hl-light-green)}.hl-string-regexp{color:var(--hl-light-cyan)}.hl-string-special,.hl-string-special-path,.hl-string-special-url,.hl-string-special-symbol{color:var(--hl-aqua)}.hl-variable{color:var(--hl-fg)}.hl-variable-builtin{color:var(--hl-red)}.hl-variable-parameter{color:var(--hl-yellow);font-style:italic}.hl-variable-other{color:var(--hl-fg)}.hl-variable-other-member{color:var(--hl-green)}.hl-comment,.hl-comment-line,.hl-comment-block{color:var(--hl-comment);font-style:italic}.hl-comment-block-documentation,.hl-comment-line-documentation{color:var(--hl-yellow)}.hl-punctuation,.hl-punctuation-bracket,.hl-punctuation-delimiter,.hl-punctuation-special,.hl-operator{color:var(--hl-turquoise)}.hl-attribute{color:var(--hl-cyan)}.hl-label{color:var(--hl-blue)}.hl-namespace{color:var(--hl-cyan)}.hl-constructor,.hl-special{color:var(--hl-aqua)}.hl-tag{color:var(--hl-magenta)}.hl-markup-heading{color:var(--hl-blue);font-weight:700}.hl-markup-bold{font-weight:700}.hl-markup-italic{font-style:italic}.hl-markup-strikethrough{text-decoration:line-through}.hl-markup-link{color:var(--hl-blue);text-decoration:underline}.hl-markup-link-text{color:var(--hl-teal)}.hl-markup-link-url{text-decoration:underline}.hl-markup-link-label{color:var(--hl-teal)}.hl-markup-list{color:var(--hl-orange);font-weight:700}.hl-markup-quote,.hl-markup-raw{color:var(--hl-teal)}.hl-diff-plus{color:var(--hl-green)}.hl-diff-minus{color:var(--hl-red)}.hl-diff-delta{color:var(--hl-blue)}@layer reset{html,body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,pre,code,table,th,td,blockquote,figure,aside,header,footer,main,nav,article,section{box-sizing:border-box;margin:0;padding:0}img{block-size:auto;max-inline-size:100%;display:block}}@layer base{:root{--h:220;--bg-light:hsl(var(--h), 20%, 99%);--bg-sidebar-light:hsl(var(--h), 14%, 96%);--fg-light:hsl(var(--h), 28%, 12%);--fg-muted-light:hsl(var(--h), 16%, 42%);--border-light:hsl(var(--h), 15%, 88%);--accent-light:#4827ec;--accent-hover-light:#3719cc;--accent-subtle-light:#eeebff;--code-bg-light:hsl(var(--h), 15%, 92%);--bg-dark:hsl(var(--h), 22%, 9%);--bg-sidebar-dark:hsl(var(--h), 20%, 6%);--fg-dark:hsl(var(--h), 25%, 88%);--fg-muted-dark:hsl(var(--h), 16%, 60%);--border-dark:hsl(var(--h), 18%, 16%);--accent-dark:#3b83f7;--accent-hover-dark:#1d6ced;--accent-subtle-dark:#081f45;--code-bg-dark:hsl(var(--h), 20%, 14%);--bg:var(--bg-light);--bg-sidebar:var(--bg-sidebar-light);--fg:var(--fg-light);--fg-muted:var(--fg-muted-light);--border:var(--border-light);--accent:var(--accent-light);--accent-hover:var(--accent-hover-light);--accent-subtle:var(--accent-subtle-light);--code-bg:var(--code-bg-light);color-scheme:light dark;scrollbar-color:var(--border) transparent;scrollbar-width:thin}@media (prefers-color-scheme:dark){:root{--bg:var(--bg-dark);--bg-sidebar:var(--bg-sidebar-dark);--fg:var(--fg-dark);--fg-muted:var(--fg-muted-dark);--border:var(--border-dark);--accent:var(--accent-dark);--accent-hover:var(--accent-hover-dark);--accent-subtle:var(--accent-subtle-dark);--code-bg:var(--code-bg-dark)}}:root[data-theme=light]{--bg:var(--bg-light);--bg-sidebar:var(--bg-sidebar-light);--fg:var(--fg-light);--fg-muted:var(--fg-muted-light);--border:var(--border-light);--accent:var(--accent-light);--accent-hover:var(--accent-hover-light);--accent-subtle:var(--accent-subtle-light);--code-bg:var(--code-bg-light)}:root[data-theme=dark]{--bg:var(--bg-dark);--bg-sidebar:var(--bg-sidebar-dark);--fg:var(--fg-dark);--fg-muted:var(--fg-muted-dark);--border:var(--border-dark);--accent:var(--accent-dark);--accent-hover:var(--accent-hover-dark);--accent-subtle:var(--accent-subtle-dark);--code-bg:var(--code-bg-dark)}@supports (color:light-dark(white, black)){:root{--bg:light-dark(var(--bg-light),var(--bg-dark));--bg-sidebar:light-dark(var(--bg-sidebar-light),var(--bg-sidebar-dark));--fg:light-dark(var(--fg-light),var(--fg-dark));--fg-muted:light-dark(var(--fg-muted-light),var(--fg-muted-dark));--border:light-dark(var(--border-light),var(--border-dark));--accent:light-dark(var(--accent-light),var(--accent-dark));--accent-hover:light-dark(var(--accent-hover-light),var(--accent-hover-dark));--accent-subtle:light-dark(var(--accent-subtle-light),var(--accent-subtle-dark));--code-bg:light-dark(var(--code-bg-light),var(--code-bg-dark))}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}}@supports not (scrollbar-color:auto){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}}html{scroll-behavior:smooth;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.625}body{background-color:var(--bg);color:var(--fg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;transition:background-color .25s}a{color:var(--accent);text-decoration:none;transition:color .15s ease-in-out}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}p{text-wrap:pretty;margin-block-end:1.25rem}h1,h2,h3,h4,h5,h6{color:var(--fg);text-wrap:balance;letter-spacing:-.015em;border-left:3px solid #0000;margin-block:2rem 1rem;padding-left:0;font-family:Outfit,sans-serif;font-weight:700;line-height:1.2;transition:padding-left .15s,border-left-color .15s}h1{letter-spacing:-.02em;margin-block-start:0;font-size:clamp(2rem,5cqi,2.75rem);font-weight:800}h2{border-block-end:1px solid var(--border);padding-block-end:.4rem;font-size:1.65rem}h3{font-size:1.3rem}h4{font-size:1.1rem}.heading-anchor{visibility:hidden;color:var(--fg-muted);opacity:.5;margin-left:.5em;font-size:.75em;transition:opacity .15s,color .15s}.heading-anchor:hover{color:var(--accent);opacity:1}h1:hover .heading-anchor,h2:hover .heading-anchor,h3:hover .heading-anchor,h4:hover .heading-anchor{visibility:visible}h1:target,h2:target,h3:target,h4:target{border-left-color:var(--accent);padding-left:.6rem;scroll-margin-top:1.5rem}h1:target .heading-anchor,h2:target .heading-anchor,h3:target .heading-anchor,h4:target .heading-anchor{visibility:visible;color:var(--accent)}ul,ol{margin-block-end:1.25rem;padding-inline-start:1.5rem}li{margin-block-end:.5rem}li::marker{color:var(--accent)}code{background-color:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:.2em .4em;font-family:Fira Code,ui-monospace,SFMono-Regular,monospace;font-size:.85em;transition:background-color .25s}pre{color-scheme:dark;border:1px solid var(--border);border-radius:8px;margin-block-end:1.5rem;padding:1.25rem;overflow-x:auto;box-shadow:0 4px 12px #00000026;background-color:var(--hl-bg)!important}pre code{color:var(--hl-fg);background-color:#0000;border:none;border-radius:0;padding:0;font-size:.9em}blockquote:not(.alert){border-inline-start:4px solid var(--border);color:var(--fg-muted);margin-block-end:1.5rem;padding-inline-start:1.25rem;font-style:italic}table{border-collapse:collapse;inline-size:100%;margin-block-end:1.5rem;font-size:.925rem}th,td{border:1px solid var(--border);text-align:start;padding:.75rem 1rem}th,thead td{background-color:var(--bg-sidebar);color:var(--fg);font-family:Outfit,sans-serif;font-weight:600}tr:nth-child(2n){background-color:color-mix(in srgb, var(--bg-sidebar) 50%, transparent)}}@layer layout{body{grid-template-columns:290px 1fr;min-block-size:100dvh;display:grid}.sidebar{background-color:var(--bg-sidebar);border-inline-end:1px solid var(--border);flex-direction:column;justify-content:space-between;block-size:100dvh;padding:2rem 0;transition:background-color .25s,border-color .25s;display:flex;position:sticky;inset-block-start:0;overflow:hidden}main{justify-content:center;inline-size:100%;max-inline-size:100%;padding:3rem 4rem;display:flex}.page-content-wrapper,.section-index-wrapper{width:100%;max-width:104ch}.prose-content{max-width:96ch}.prose-content>p,.prose-content>ul,.prose-content>ol,.prose-content>blockquote:not(.alert),.prose-content>h3,.prose-content>h4,.prose-content>h5,.prose-content>h6,.page-description-lead{max-width:76ch}@media (width<=960px){main{padding:2.5rem 2rem}}@media (width<=768px){body{grid-template-columns:1fr}body:has(.nav-toggle:checked){overflow:hidden}.sidebar{z-index:1000;background-color:color-mix(in srgb, var(--bg-sidebar) 92%, transparent);-webkit-backdrop-filter:blur(12px);width:100%;max-width:100vw;border-inline-end:none;border-block-end:1px solid var(--border);block-size:auto;scrollbar-gutter:auto;flex-direction:column;max-height:100dvh;padding:.85rem 1.5rem;transition:background-color .25s,border-color .25s;display:flex;position:sticky;top:0;overflow-y:auto}main{max-width:100%;padding:2rem 1.25rem;overflow-x:hidden}.page-content-wrapper,.section-index-wrapper{max-width:100%}table{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;display:block;overflow-x:auto}pre{max-width:100%;overflow-x:auto}}}@layer components{.sidebar-header{margin-block-end:2rem;padding-inline:1.5rem;position:relative}.logo{letter-spacing:-.02em;color:var(--fg);align-items:center;gap:.65rem;font-family:Outfit,sans-serif;font-size:1.45rem;font-weight:800;display:flex}.logo:hover{color:var(--accent)}.logo-icon{font-size:1.6rem;animation:3s ease-in-out infinite anchor-float}@keyframes anchor-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.tagline{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;margin-block-start:.25rem;font-size:.8rem;font-weight:500;display:block}.nav-toggle{display:none}.hamburger{cursor:pointer;user-select:none;flex-direction:column;justify-content:space-between;block-size:18px;inline-size:24px;display:none}.hamburger span{background-color:var(--fg);border-radius:1px;block-size:2px;inline-size:100%;transition:transform .3s,opacity .3s;display:block}@media (width<=768px){.sidebar-header{min-block-size:40px;justify-content:space-between;align-items:center;width:100%;margin-block-end:0;padding-inline:0;display:flex;position:relative}.tagline{display:none}.hamburger{flex-shrink:0;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}}.sidebar-nav{scrollbar-gutter:stable;flex-direction:column;flex:auto;gap:.35rem;min-block-size:0;margin-block-end:2rem;padding-inline:1.5rem;display:flex;overflow-y:auto}.nav-item{color:var(--fg);border-radius:6px;padding:.45rem .75rem;font-size:.95rem;font-weight:500;transition:background-color .2s,color .2s,transform .15s;display:block}.nav-item:hover{background-color:color-mix(in srgb, var(--border) 40%, transparent);color:var(--accent);transform:translate(2px)}.nav-item.active{background-color:var(--accent-subtle);color:var(--accent);box-shadow:inset 3px 0 0 0 var(--accent);font-weight:600}.nav-children{border-inline-start:1px solid var(--border);flex-direction:column;gap:.25rem;margin-block-end:.75rem;margin-inline-start:1rem;padding-inline-start:.75rem;display:none}.nav-children.expanded{display:flex}.nav-child-item{color:var(--fg-muted);border-radius:4px;padding:.3rem .5rem;font-size:.875rem;transition:background-color .2s,color .2s,transform .15s}.nav-child-item:hover{background-color:color-mix(in srgb, var(--border) 30%, transparent);color:var(--accent);transform:translate(2px)}.nav-child-item.active{color:var(--accent);background-color:color-mix(in srgb, var(--accent-subtle) 40%, transparent);font-weight:600}.nav-anchors{border-inline-start:1px solid var(--border);scroll-target-group:auto;flex-direction:column;gap:.25rem;margin-block:.35rem .5rem;margin-inline-start:.75rem;padding-inline-start:.75rem;display:flex}.anchor-link{color:var(--fg-muted);padding:.15rem 0;font-size:.8rem;transition:color .15s,padding-left .15s}.anchor-link:hover{color:var(--accent);padding-left:2px}.anchor-link.active{color:var(--accent);padding-left:2px;font-weight:600}.anchor-link:target-current{color:var(--accent);padding-left:2px;font-weight:600}.anchor-link.level-3{margin-inline-start:.5rem}.anchor-link.level-4{margin-inline-start:1rem}@media (width<=768px){.sidebar-nav{scrollbar-gutter:auto;opacity:0;flex:none;max-height:0;padding-inline:0;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s,margin-block-start .3s;overflow:hidden}.sidebar:has(.nav-toggle:checked) .sidebar-nav{opacity:1;border-block-start:1px solid var(--border);max-height:80dvh;margin-block-start:1rem;padding-block-start:1rem;overflow-y:auto}.nav-toggle:checked~.hamburger span:first-child{transform:translateY(8px)rotate(45deg)}.nav-toggle:checked~.hamburger span:nth-child(2){opacity:0}.nav-toggle:checked~.hamburger span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}}.section-grid-links{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin-block-start:2rem;display:grid}.section-card-link{background-color:var(--bg-sidebar);border:1px solid var(--border);border-radius:8px;flex-direction:column;padding:1.25rem;transition:border-color .2s,transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex}.section-card-link:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 6px 20px #0000000f}.card-title{color:var(--fg);margin-block-end:.5rem;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:600}.card-desc{color:var(--fg-muted);font-size:.85rem;line-height:1.45}.sidebar-footer{border-block-start:1px solid var(--border);color:var(--fg-muted);flex-direction:column;gap:.4rem;margin-block-start:auto;padding-block-start:1.25rem;padding-inline:1.5rem;font-size:.775rem;display:flex}.sidebar-footer a{color:var(--fg-muted);font-weight:500}.sidebar-footer a:hover{color:var(--accent)}.sidebar-footer span{opacity:.8;margin-block-start:.5rem}@media (width<=768px){.sidebar-footer{padding-inline:0;display:none}.sidebar:has(.nav-toggle:checked) .sidebar-footer{border-block-start:1px solid var(--border);flex-flow:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-block-start:1.5rem;padding-block-start:1.25rem;display:flex}.sidebar:has(.nav-toggle:checked) .sidebar-footer span{text-align:center;opacity:.6;width:100%;margin-block-start:.5rem}}.mermaid-diagram{background-color:var(--bg-sidebar);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;max-width:100%;margin-block-end:2rem;padding:1.5rem;display:flex;position:relative;overflow-x:auto}.mermaid-diagram svg{max-width:100%;display:block;height:auto!important}@media (width<=768px){.mermaid-diagram{justify-content:flex-start;padding:1rem}.mermaid-diagram svg{flex-shrink:0;max-width:none}}.mermaid-controls{opacity:0;pointer-events:none;z-index:5;gap:8px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:12px;right:12px;transform:translateY(-4px)}.mermaid-diagram:hover .mermaid-controls{opacity:1;pointer-events:auto;transform:translateY(0)}.mermaid-control-btn{color:var(--text);backdrop-filter:blur(8px);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);background-color:light-dark(#ffffffd9,#1e293bd9);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:500;transition:background-color .2s,border-color .2s;display:inline-flex}.mermaid-control-btn:hover{border-color:var(--accent);background-color:light-dark(#fff,#334155)}.mermaid-modal{z-index:2000;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:none;position:fixed;top:0;left:0}.mermaid-modal-overlay{backdrop-filter:blur(4px);background-color:#0f172abf;width:100%;height:100%;position:absolute;top:0;left:0}.mermaid-modal-content{background-color:var(--bg-card);border:1px solid var(--border);width:90vw;height:85vh;box-shadow:var(--shadow-lg);z-index:2001;border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.mermaid-modal-header{border-bottom:1px solid var(--border);background-color:var(--bg-sidebar);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.mermaid-modal-title{font-family:var(--font-header);color:var(--text-heading);font-size:1.1rem;font-weight:600}.mermaid-modal-instructions{color:var(--text-muted);font-size:.75rem}.mermaid-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .2s,background-color .2s;display:flex}.mermaid-modal-close:hover{color:var(--text);background-color:var(--bg-hover)}.mermaid-modal-body{background-color:var(--bg);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.mermaid-modal-pan-container{cursor:grab;transform-origin:50%;user-select:none;justify-content:center;align-items:center;padding:100px;transition:transform 50ms ease-out;display:flex}.mermaid-modal-pan-container:active{cursor:grabbing}.mermaid-modal-pan-container svg{transform:translate(0,0);max-width:none!important;height:auto!important;max-height:none!important}.mermaid-modal-footer{border-top:1px solid var(--border);background-color:var(--bg-sidebar);justify-content:center;align-items:center;gap:12px;padding:16px;display:flex}.mermaid-modal-btn{color:var(--text);background-color:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:background-color .2s,border-color .2s}.mermaid-modal-btn:hover{background-color:var(--bg-hover);border-color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.theme-toggle-btn{border:1px solid var(--border);background-color:var(--bg);color:var(--fg);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;width:fit-content;margin-block:.5rem .25rem;padding:.4rem .75rem;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.theme-toggle-btn:hover{background-color:var(--bg-sidebar);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.theme-toggle-btn svg{transition:transform .3s}.theme-toggle-btn:hover svg{transform:rotate(15deg)}.alert{border-left:4px solid var(--alert-color);background-color:var(--alert-bg);border-radius:0 8px 8px 0;flex-direction:column;gap:.4rem;margin-block:1.5rem;padding:1rem 1.25rem;display:flex}.alert-note{--alert-color:light-dark(#0969da,#2f81f7);--alert-bg:light-dark(#0969da0d,#2f81f714)}.alert-tip{--alert-color:light-dark(#1a7f37,#3fb950);--alert-bg:light-dark(#1a7f370d,#3fb95014)}.alert-important{--alert-color:light-dark(#8250df,#bc8cff);--alert-bg:light-dark(#8250df0d,#bc8cff14)}.alert-warning{--alert-color:light-dark(#9a6700,#d29922);--alert-bg:light-dark(#9a67000d,#d2992214)}.alert-caution{--alert-color:light-dark(#cf222e,#f85149);--alert-bg:light-dark(#cf222e0d,#f8514914)}.alert-header{color:var(--alert-color);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.45rem;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;display:flex}.alert p{color:var(--fg);margin-block-end:0;font-size:.925rem}.scroll-progress-bar{background:linear-gradient(to right, var(--accent) 0%, var(--accent-hover) 100%);z-index:9999;transform-origin:0;width:100%;height:3px;animation-name:grow-scroll-progress;animation-timing-function:linear;animation-fill-mode:forwards;animation-timeline:scroll(root y);position:fixed;top:0;left:0;transform:scaleX(0)}@keyframes grow-scroll-progress{to{transform:scaleX(1)}}.sidebar-search{border:1px solid var(--border);background-color:var(--bg);color:var(--fg-muted);cursor:pointer;user-select:none;border-radius:6px;align-items:center;gap:.5rem;margin-block-end:1.5rem;margin-inline:1.5rem;padding:.5rem .75rem;font-size:.875rem;transition:all .2s;display:flex}.sidebar-search:hover{border-color:var(--accent);color:var(--fg);background-color:var(--bg-sidebar)}.sidebar-search svg{flex-shrink:0}.sidebar-search span{flex-grow:1}.sidebar-search .search-key{background-color:var(--code-bg);border:1px solid var(--border);color:var(--fg-muted);border-radius:4px;padding:.1rem .3rem;font-family:inherit;font-size:.75rem}.search-modal{z-index:10000;justify-content:center;align-items:flex-start;padding-block-start:10vh;padding-inline:1rem;display:flex;position:fixed;inset:0}.search-modal-overlay{backdrop-filter:blur(4px);background-color:#0f1117b3;transition:opacity .2s;position:absolute;inset:0}.search-modal-container{background-color:var(--bg);border:1px solid var(--border);z-index:10001;border-radius:12px;flex-direction:column;width:100%;max-width:600px;max-height:70dvh;animation:.2s cubic-bezier(.16,1,.3,1) modal-enter;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}@keyframes modal-enter{0%{opacity:0;transform:scale(.97)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.search-modal-header{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.search-modal-icon{color:var(--accent);flex-shrink:0}.search-modal-header input{color:var(--fg);background:0 0;border:none;outline:none;flex-grow:1;padding:0;font-family:inherit;font-size:1rem}.search-modal-header input::placeholder{color:var(--fg-muted)}.search-close-btn{cursor:pointer;background:0 0;border:none;padding:0}.search-close-btn kbd{background-color:var(--code-bg);border:1px solid var(--border);color:var(--fg-muted);border-radius:4px;padding:.15rem .4rem;font-family:inherit;font-size:.75rem}.search-modal-body{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-grow:1;min-height:150px;padding:1rem 1.25rem;overflow-y:auto}.search-results-list{flex-direction:column;gap:.5rem;display:flex}.search-result-item{border:1px solid #0000;border-radius:8px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;text-decoration:none;transition:all .15s;display:flex}.search-result-item:hover,.search-result-item.selected{background-color:var(--bg-sidebar);border-color:var(--border);outline:none}.search-result-item.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.search-result-meta{align-items:center;gap:.5rem;display:flex}.search-result-category{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background-color:var(--accent-subtle);border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.search-result-title{color:var(--fg);font-family:Outfit,sans-serif;font-size:1rem;font-weight:600}.search-result-excerpt{color:var(--fg-muted);text-wrap:pretty;font-size:.825rem;line-height:1.4}.search-result-excerpt mark{color:var(--fg);background-color:#facc1533;border-radius:2px;padding-inline:.1rem;font-weight:500}.dark .search-result-excerpt mark{background-color:#facc1559}.search-empty,.search-loading{height:150px;color:var(--fg-muted);text-align:center;justify-content:center;align-items:center;font-size:.95rem;display:flex}.search-empty.error{color:#ef4343}.search-modal-footer{border-top:1px solid var(--border);color:var(--fg-muted);background-color:var(--bg-sidebar);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.75rem;display:flex}.search-help{gap:1rem;display:flex}.search-help kbd{background-color:var(--bg);border:1px solid var(--border);border-radius:3px;padding:.05rem .25rem;font-family:inherit;font-size:.7rem}.search-powered a{color:var(--fg-muted);font-weight:500}.search-powered a:hover{color:var(--accent)}@media (width<=768px){.sidebar-search{margin-block-end:1rem;margin-inline:0;display:none}.sidebar:has(.nav-toggle:checked) .sidebar-search{display:flex}}}@layer utilities;