﻿@font-face{font-family:"Outfit";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/outfit-regular.woff2") format("woff2")}@font-face{font-family:"Monaspace Neon";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/monaspace_neon_var.woff2") format("woff2")}:root{--font-body: "Outfit", sans-serif;--font-mono: "Monaspace Neon", monospace}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-body);font-size:1.05rem;font-weight:400;line-height:1.6;color:#c9b8d9;background:#201725;overflow-x:hidden;max-width:100%}::selection{background:rgba(146,50,133,.3);color:#e0d5ed}::-webkit-scrollbar{width:.625rem;height:.625rem}::-webkit-scrollbar-track{background:#201725}::-webkit-scrollbar-thumb{background:#3d2952;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#563a74}.container{max-width:45rem;margin:0 auto;padding:0 1rem}nav>div,footer>section>p{max-width:45rem;margin:0 auto;padding:0 1rem}nav{background:#5d1f55;padding:.4rem .5rem;margin-bottom:2rem;border-bottom:1px solid #3d2952;border-radius:8px;position:relative}nav>div>div{display:flex;justify-content:space-between;align-items:center}nav a{color:#c9b8d9;text-decoration:none;transition:color .2s ease}nav a:hover{color:#923285}nav>div>div>a{color:#e0d5ed;font-size:1.15rem;font-weight:600}nav button{background:none;border:none;cursor:pointer;padding:.5rem;display:none}nav button span{display:block;width:1.5625rem;height:2px;background:#c9b8d9;margin:.25rem 0;transition:all .3s ease}nav ul{display:flex;list-style:none;padding:0;margin:0;gap:2rem}nav ul li a{font-size:.95rem;font-weight:400}@media (max-width: 48rem){nav button{display:block}nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:#5d1f55;padding:1rem 0;border-bottom:1px solid #3d2952;z-index:1;flex-direction:column;gap:0}nav ul.is-active{display:flex !important}nav ul li a{display:block;padding:.75rem 2rem}nav ul li a:hover{background:#5d1f55}}.nav-brand{display:flex;align-items:center;gap:.5rem}.nav-logo{width:3rem;height:auto}.hero-icon{width:22rem;max-width:100%;height:auto;display:block;margin:0 auto}footer{margin-top:4rem;padding:1rem 0;border-top:1px solid #3d2952;background:#1a1020;color:#8b7a99;font-size:.85rem}footer a{color:#c9b8d9}footer a:hover{color:#923285}footer p{margin:.25rem 0;font-size:.75rem}@media (max-width: 48rem){footer{margin-top:2rem;padding:.75rem 0;font-size:.8rem}footer p{font-size:.7rem;margin:.2rem 0}}.footer-links{display:flex;margin-bottom:.5rem;max-width:45rem;margin-left:auto;margin-right:auto;padding:0 1rem}@media (max-width: 48rem){.footer-links{gap:1rem;margin-bottom:.4rem}}.social-link{display:inline-flex;align-items:center;gap:.4rem;color:#c9b8d9;text-decoration:none;transition:color .2s ease}.social-link:hover{color:#923285}.github-icon{width:1rem;height:1rem}.search-item{display:flex;align-items:center}#search-input{padding:.5rem .75rem;background:#1a1020;color:#c9b8d9;border:1px solid #3d2952;border-radius:6px;font-family:var(--font-body);transition:all .2s ease;font-size:.9rem;width:12.5rem}#search-input::placeholder{color:#8b7a99}#search-input:hover{border-color:#a855f7}#search-input:focus{outline:none;border-color:#923285;box-shadow:0 0 0 2px rgba(146,50,133,.2)}#search-input:focus{width:15.625rem}@media (max-width: 48rem){#search-input{width:100%;margin:.5rem 1rem}}.search-results{display:none;position:absolute;top:100%;right:1rem;background:#1a1020;border:1px solid #3d2952;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.5);max-width:31.25rem;max-height:25rem;overflow-y:auto;z-index:100;margin-top:.5rem}@media (max-width: 48rem){.search-results{left:1rem;right:1rem;max-width:none}}.search-result-item{display:block;padding:1rem;border-bottom:1px solid #3d2952;text-decoration:none;color:#c9b8d9;transition:background .2s ease}.search-result-item:hover{background:#5d1f55}.search-result-item:last-child{border-bottom:none}.search-result-title{font-weight:600;color:#e0d5ed;margin-bottom:.25rem;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.search-result-version{display:inline-block;padding:.1rem .4rem;background:#a855f7;color:#fff;font-size:.7rem;font-weight:500;border-radius:3px;line-height:1.2}.search-result-snippet{font-size:.85rem;color:#8b7a99;line-height:1.4}.search-no-results{padding:1rem;text-align:center;color:#8b7a99;font-size:.9rem}.version-selector-container{max-width:45rem;padding:1rem;margin:0 auto}.version-selector-wrapper{display:flex;align-items:center;gap:.75rem}.version-selector-wrapper label{font-size:.9rem;color:#c9b8d9;font-weight:500}.version-selector-wrapper select{padding:.5rem .75rem;background:#1a1020;color:#c9b8d9;border:1px solid #3d2952;border-radius:6px;font-family:var(--font-body);transition:all .2s ease;font-size:.9rem;padding:.4rem .7rem;cursor:pointer}.version-selector-wrapper select::placeholder{color:#8b7a99}.version-selector-wrapper select:hover{border-color:#a855f7}.version-selector-wrapper select:focus{outline:none;border-color:#923285;box-shadow:0 0 0 2px rgba(146,50,133,.2)}h1,h2,h3,h4,h5,h6{margin:1.2rem 0 .5rem;line-height:1.1;color:#e0d5ed}h1{font-size:1.6rem}h2{font-size:1.4rem;border-bottom:2px solid #302141;padding-bottom:.7rem}h3{font-size:1.2rem;border-bottom:1px solid #302141;padding-bottom:.5rem}h4,h5,h6{font-size:1rem}h2[id],h3[id],h4[id]{position:relative;cursor:pointer}h2[id]:hover::before,h3[id]:hover::before,h4[id]:hover::before{opacity:1}h2[id]::before,h3[id]::before,h4[id]::before{content:"#";position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);width:1.5rem;text-align:center;opacity:0;transition:opacity .2s ease;color:#a855f7;font-size:.85em}a{color:#923285;text-decoration:none;transition:color .2s ease}a:hover{color:#b83fa8;text-decoration:underline}p,ul,ol{margin:1rem 0}ul,ol{padding-left:1.5rem}li{margin:.5rem 0}strong{font-weight:600;color:#e0d5ed}em{color:#d6c9e2}blockquote{border-left:3px solid #a855f7;background:rgba(168,85,247,.05);padding:.5rem 1.5rem;margin:1.5rem 0;color:#8b7a99;font-style:italic;border-radius:6px}blockquote p{margin:.5rem 0}hr{border:none;border-top:1px solid #3d2952;margin:2rem 0}pre{background:#1a0f20;overflow-x:auto;padding:1rem;border-radius:6px;line-height:1.4;max-width:100%}pre>code{font-family:var(--font-mono);font-variant-ligatures:common-ligatures contextual;font-feature-settings:"liga" 1,"calt" 1,"ss03" 1,"ss05" 1,"ss07" 1,"ss09" 1,"ss10" 1;font-size:.85rem;background:none;padding:0;color:#c9b8d9}code{padding:.2em .4em;border-radius:3px;font-size:.9em;color:#923285;font-family:var(--font-mono)}img{max-width:100%;height:auto}figure{margin:1.5rem auto;text-align:center}figure img{display:block;margin:0 auto;border-radius:6px;max-width:100%;height:auto}figcaption{font-style:italic;font-size:.9em;color:#8b7a99;margin-top:.5rem}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;display:block;overflow-x:auto}th,td{padding:.75rem;text-align:left;border-bottom:1px solid #3d2952;white-space:nowrap}th{background:#1a1020;color:#e0d5ed;font-weight:600}tr:hover{background:rgba(168,85,247,.05)}@media (max-width: 48rem){th,td{padding:.5rem;font-size:.85rem}}article{max-width:50rem;margin:2rem auto;padding:0 1rem;width:100%}main{width:100%;margin:0 auto;overflow-x:hidden}main>section{width:100%;max-width:45rem;margin:0 auto;padding:0 1rem}.content-with-toc{display:grid;grid-template-columns:1fr;gap:3rem;max-width:85rem;margin:0 auto;padding:0 1rem;align-items:start;overflow-x:hidden}.content-with-toc>section{grid-column:1;min-width:0;width:100%;max-width:100%}.content-with-toc>section>div{max-width:100%;margin:0 auto;padding:0 1rem}.content-with-toc>.toc-aside{display:none}@media (min-width: 60rem){.content-with-toc{grid-template-columns:1fr 18.75rem;padding:0 1rem}.content-with-toc>section{max-width:45rem}.content-with-toc>section>div{max-width:45rem;padding:0}.content-with-toc>.toc-aside{display:block;grid-column:2}}.content-no-toc{overflow-x:hidden;width:100%;max-width:100%}.content-no-toc>section{width:100%;max-width:100%;overflow-x:hidden}.content-no-toc>section>div{max-width:45rem;margin:0 auto;padding:0 1rem}@media (max-width: 60rem){.content-no-toc>section>div{max-width:100%}}.toc-aside{position:sticky;top:2rem;background:#1a1020;padding:1.5rem;border-left:2px solid #3d2952;border-radius:6px;max-height:calc(100vh - 4rem);overflow-y:auto}.toc-aside h2{font-size:1rem;margin:0 0 1rem 0;color:#923285;border:none;padding:0}.toc-aside ul{list-style:none;padding-left:0}.toc-aside ul li{margin:.75rem 0}.toc-aside ul li a{color:#c9b8d9;font-size:.9rem;line-height:1.3;text-decoration:none;transition:color .2s ease}.toc-aside ul li a:hover{color:#923285;text-decoration:none}.toc-aside ul li ul{padding-left:1rem;margin-top:.5rem}.toc-aside ul li ul li{margin:.5rem 0}.toc-aside ul li ul li a{color:#8b7a99;font-size:.85rem}.toc-aside ul li ul li a:hover{color:#a855f7}@media (max-width: 60rem){.toc-aside{max-height:none}}.footnote-definition,.footnotes-list{display:flex;margin:.75rem 0;font-size:.85rem;color:#8b7a99}.footnote-definition sup{display:inline-block;margin-right:.5rem;font-size:.7rem;color:#923285;font-weight:600}.footnote-definition p{margin:0}.footnotes-list{margin:1rem 0;padding:1rem 1.5rem;background:#1a1020;border-radius:6px;border:1px solid #3d2952}body section[role=note]{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;margin:.5rem 0;border:1px solid #3d2952;border-radius:6px;font-size:.85rem;line-height:1.4;max-width:100%}body section[role=note]>header,body section[role=note]>div{display:flex;align-items:center;margin:0;padding:0}body section[role=note] svg{width:1rem;height:1rem}body section[role=note] p{margin:0;padding:0}body section[role=note][data-type=coming_soon]{background-color:rgba(168,85,247,.1);border-color:#a855f7;color:#dab6fc}body section[role=note][data-type=unimplemented]{background-color:rgba(239,68,68,.1);border-color:#ef4444;color:#f7a2a2}body section[role=note][data-type=to_review]{background-color:rgba(168,85,247,.1);border-color:#a855f7;color:#cd9efa}body section[role=note][data-type=nerdy]{background-color:rgba(146,50,133,.1);border-color:#923285;color:#c24eb3}.docs-layout{display:flex;gap:2rem;max-width:75rem;margin:0 auto;padding:0 1rem;width:100%;overflow-x:hidden}@media (max-width: 40rem){.docs-layout{max-width:100%;flex-direction:column;gap:1.5rem}}.api-sidebar{flex:0 0 12.5rem;position:sticky;top:1.25rem;height:fit-content;background:#1a1020;border:1px solid #3d2952;border-radius:8px;padding:1rem}@media (max-width: 40rem){.api-sidebar{position:static;width:100%;flex:1 1 auto}}.api-sidebar h2{font-size:.6rem;margin-top:0;margin-bottom:.75rem;color:#e0d5ed}.api-sidebar h3{font-size:.5rem;margin-top:1.25rem;margin-bottom:.5rem;color:#c9b8d9;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.api-sidebar .version-selector label{display:block;font-size:.5rem;color:#8b7a99;margin-bottom:.35rem;text-transform:uppercase}.api-sidebar .version-selector select{width:100%;padding:.4rem;background:#201725;color:#c9b8d9;border:1px solid #3d2952;border-radius:6px;font-size:.85rem;cursor:pointer}.api-sidebar .api-sections li,.api-sidebar .api-sections ul{margin:0}.api-sidebar .api-sections a{font-size:.6rem;text-decoration:none;color:#c9b8d9}.main-content{flex:1;min-width:0;max-width:45rem;overflow-x:hidden}@media (max-width: 40rem){.main-content{max-width:100%;width:100%}}.doc-section,.doc-module{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);padding:.8rem;border-radius:8px;max-width:100%;overflow-x:hidden}.doc-function{background:rgba(255,255,255,.01);padding:.8rem;border-radius:16px;max-width:100%;overflow-x:hidden;box-shadow:1 8px 24px rgba(0,0,0,.12);margin-bottom:2rem}.doc-type{background:rgba(255,255,255,.01);padding:.8rem;border-radius:16px;max-width:100%;overflow-x:hidden;box-shadow:0 8px 24px rgba(0,0,0,.12);margin-bottom:2rem}.doc-section{margin-top:4rem}.api-docs{max-width:100%;overflow-x:hidden;word-wrap:break-word}.api-docs h3{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;color:#e0d5ed;background:rgba(168,85,247,.05);border-radius:6px;border-bottom:none;padding:.7rem 1rem .6rem;margin:4rem 0 1rem;max-width:100%;overflow-wrap:break-word;word-break:break-word}.api-docs h3:first-of-type{margin-top:1rem}.api-docs h3:hover{background:rgba(168,85,247,.08);box-shadow:0 3px 12px rgba(0,0,0,.2)}.api-docs h3[data-type=type]::before,.api-docs h3.api-type::before{content:"type ";color:#cd9efa;font-weight:500;margin-right:.3rem}.api-docs h3[data-type=struct]::before,.api-docs h3.api-struct::before{content:"struct ";color:#a959eb;font-weight:500;margin-right:.3rem}.api-docs h3[data-type=enum]::before,.api-docs h3.api-enum::before{content:"enum ";color:#de52d5;font-weight:500;margin-right:.3rem}.api-docs h4{font-family:var(--font-mono);font-size:.95rem;color:#d6c9e2;margin:1rem 0 .5rem}.api-docs h4[data-type=method]::before{content:"· ";color:#923285;margin-right:.2rem}.module-path{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.95rem;line-height:1.2;margin-bottom:1rem;font-family:var(--font-mono, monospace)}.module-segment{padding:.15rem .45rem;border-radius:.45rem;background:rgba(127,127,127,.08);color:var(--text-strong);font-weight:600;letter-spacing:.01em}.module-separator{color:var(--text-muted);opacity:.65;font-weight:500;user-select:none}.code-block-wrapper{border:1px solid #581455;border-radius:6px;overflow:hidden}.code-filename{background:#271b27;color:#6a646b;padding:.5em 1em;font-family:var(--font-mono);font-size:.6em;border-bottom:1px solid #1e1420}.code-block-group{margin:1rem 0;border-radius:12px}.code-block-group pre.swamp-semantic{margin:0}.code-block-group pre.swamp-semantic:first-child{border-radius:6px 6px 0 0}.code-block-group pre.swamp-semantic:last-child{border-radius:0 0 6px 6px}.code-block-group pre.swamp-semantic:only-child{border-radius:6px}.code-block-group .doc-comment{margin:0;border-radius:0}.swamp-semantic{background:rgba(39,23,49,.5098039216);color:rgba(181,163,197,.4352941176);padding:.6rem;border-radius:8px;overflow-x:auto}.swamp-semantic code{font-family:var(--font-mono);font-size:.9rem;line-height:1.5}.swamp-semantic .token.keyword{color:#d894b3}.swamp-semantic .token.type{color:#a959eb}.swamp-semantic .token.builtin{color:#de52d5}.swamp-semantic .token.function{color:#b3b0ef}.swamp-semantic .token.member{color:#b083df}.swamp-semantic .token.self{color:#bd0bd0}.swamp-semantic .token.property{color:#b997d8}.swamp-semantic .token.capacity{color:#dac38c}.swamp-semantic .token.enum-variant{color:#a88fc4}.swamp-semantic .token.punctuation{color:#78697d}.swamp-semantic .token.operator{color:#b08fa5}.swamp-semantic .token.number{color:#c47b7b}.swamp-semantic .token.string{color:#9b7bc7}.swamp-semantic .token.escape{color:#d894b3}.swamp-semantic .token.comment{color:#9b9f9f;font-style:italic}.swamp-semantic .token.comment.doc{color:#897690}.swamp-semantic .token.variable{color:#b5a3c5}.swamp-semantic .token.constant{color:#d3a0b8}.swamp-semantic .token.parameter{color:#d6c2ef;font-style:italic}.swamp-semantic .token.boolean{color:#c47b7b;font-weight:bold}.doc-comment{background:rgba(39,23,49,.5098039216);color:#a79999;padding:.5rem 1rem;border-left:3px solid #78697d}.doc-comment code{background:#2a1f30;color:#c5b3d4}.doc-comment p{margin:.5rem 0}.doc-comment p:first-child{margin-top:0}.doc-comment p:last-child{margin-bottom:0}.doc-comment a{color:#8a7aa5;text-decoration:none}.doc-comment a:hover{text-decoration:underline}.doc-comment strong,.doc-comment em{color:#aaa}.doc-comment em{font-style:italic}.community-callout{margin-block:1rem 1.5rem;margin-inline:auto;padding:.5rem .85rem;border-radius:.9rem;width:min(100%,34rem);max-width:100%;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center}.community-callout h3{margin:0;padding-bottom:0;border-bottom:0;font-size:.95rem;font-weight:600;line-height:1.2}.social-links{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0}.social-links a{width:2.35rem;height:2.35rem;display:inline-grid;place-items:center;border-radius:999px}.social-links a:hover{background:rgba(255,255,255,.12)}.social-links img{display:block;max-width:1.45rem;max-height:1.45rem;width:auto;height:auto}.social-links a[aria-label=Discord] img{max-width:1.6rem}.community-callout nav.social-links{margin:0;padding:0;background:rgba(0,0,0,0);border:0;border-radius:0;position:static;max-height:none;overflow:visible}