.projects-shell[data-astro-cid-aid3sr62]{width:100vw;min-height:100vh;margin:0;padding:0;display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:0;align-items:stretch}.projects-side[data-astro-cid-aid3sr62]{position:sticky;top:0;height:100vh;overflow:auto;padding:2rem 1.2rem;background:transparent;z-index:2}.side-title[data-astro-cid-aid3sr62]{font-size:clamp(1.6rem,2.5vw,2.1rem);line-height:1.05;margin-bottom:1.2rem;letter-spacing:-.02em}.project-search[data-astro-cid-aid3sr62]{display:flex;align-items:center;gap:.55rem;border-bottom:1px solid rgba(255,255,255,.32);padding:.55rem .2rem;margin-bottom:1rem;background:transparent}.project-search[data-astro-cid-aid3sr62] svg[data-astro-cid-aid3sr62]{color:var(--gray-500);flex-shrink:0}.project-search[data-astro-cid-aid3sr62] input[data-astro-cid-aid3sr62]{width:100%;border:0;background:transparent;color:var(--white);font-family:var(--font-body);font-size:.86rem}.project-search[data-astro-cid-aid3sr62] input[data-astro-cid-aid3sr62]:focus{outline:none}.project-search[data-astro-cid-aid3sr62] input[data-astro-cid-aid3sr62]::placeholder{color:var(--gray-600)}.menu-empty[data-astro-cid-aid3sr62]{display:none;font-size:.74rem;color:var(--gray-500);margin-bottom:.75rem}.menu-empty[data-astro-cid-aid3sr62].is-visible{display:block}.project-menu[data-astro-cid-aid3sr62]{display:grid;gap:.3rem;max-height:68vh;overflow:auto;padding-right:.2rem}.menu-link[data-astro-cid-aid3sr62]{display:grid;gap:.26rem;border:0;border-left:1px solid transparent;background:transparent;padding:.45rem .55rem;text-decoration:none;transition:border-color .25s ease,opacity .25s ease}.menu-link[data-astro-cid-aid3sr62]:hover{border-color:#ebebeb5c;opacity:1}.menu-link[data-astro-cid-aid3sr62].is-active{border-color:#f4f4f4d9;background:transparent}.menu-name[data-astro-cid-aid3sr62]{font-size:.92rem;color:var(--white);line-height:1.3}.menu-meta[data-astro-cid-aid3sr62]{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500)}.menu-link[data-astro-cid-aid3sr62][hidden]{display:none}.projects-main[data-astro-cid-aid3sr62]{display:block;height:100vh;overflow:hidden}.readme-stage[data-astro-cid-aid3sr62]{position:relative;overflow:hidden;height:100vh}.showcase-bg[data-astro-cid-aid3sr62]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.13;border-radius:28px 0 0 28px;filter:contrast(1.05)}.readme-overlay[data-astro-cid-aid3sr62]{position:absolute;inset:0;background:none;pointer-events:none}.readme-surface[data-astro-cid-aid3sr62]{position:relative;z-index:1;height:100vh;padding:0;overflow-y:auto;overflow-x:hidden}.readme-body[data-astro-cid-aid3sr62]{padding:clamp(1.2rem,2.4vw,2.2rem);border:0;background:transparent;backdrop-filter:none;box-shadow:none}.media-preview-panel[data-astro-cid-aid3sr62]{margin:clamp(1rem,2vw,1.6rem) clamp(1rem,2.4vw,2.2rem) 0;padding:clamp(1rem,1.8vw,1.4rem);border:1px solid rgba(255,255,255,.18);border-radius:16px;background:linear-gradient(135deg,#ffffff14,#ffffff05),#0a0a0a8a;box-shadow:0 18px 45px #00000059;backdrop-filter:blur(6px)}.media-preview-header[data-astro-cid-aid3sr62]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.media-preview-kicker[data-astro-cid-aid3sr62]{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-400);margin-bottom:.2rem}.media-preview-title[data-astro-cid-aid3sr62]{font-family:var(--font-display);font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.1;color:var(--white)}.media-preview-actions[data-astro-cid-aid3sr62]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.media-action-button[data-astro-cid-aid3sr62]{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:#ffffff0f;color:var(--white);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;padding:.68rem 1rem;cursor:pointer;text-decoration:none;transition:transform .24s ease,background-color .24s ease,border-color .24s ease}.media-action-button[data-astro-cid-aid3sr62]:hover:not(:disabled){transform:translateY(-1px);background:#ffffff1f;border-color:#fff9;color:var(--white)}.media-action-button[data-astro-cid-aid3sr62]:disabled{opacity:.45;cursor:not-allowed}.media-main-frame[data-astro-cid-aid3sr62]{position:relative;margin:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.16);aspect-ratio:16 / 10;background:#00000059}#media-active-image[data-astro-cid-aid3sr62]{width:100%;height:100%;object-fit:cover;transition:opacity .25s ease,transform .4s ease;opacity:1}.media-thumb-grid[data-astro-cid-aid3sr62]{margin-top:.75rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:.5rem}.media-thumb[data-astro-cid-aid3sr62]{border:1px solid rgba(255,255,255,.18);border-radius:10px;overflow:hidden;padding:0;background:#ffffff05;cursor:pointer;transition:border-color .24s ease,transform .24s ease,box-shadow .24s ease}.media-thumb[data-astro-cid-aid3sr62] img[data-astro-cid-aid3sr62]{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.media-thumb[data-astro-cid-aid3sr62]:hover{transform:translateY(-2px);border-color:#ffffff73}.media-thumb[data-astro-cid-aid3sr62].is-active{border-color:#ffffffe6;box-shadow:0 0 0 1px #ffffff8c}.video-preview-modal[data-astro-cid-aid3sr62]{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:1.25rem}.video-preview-modal[data-astro-cid-aid3sr62][hidden]{display:none}.video-preview-backdrop[data-astro-cid-aid3sr62]{position:absolute;inset:0;background:#000000b8;backdrop-filter:blur(2px)}.video-preview-dialog[data-astro-cid-aid3sr62]{position:relative;width:min(980px,94vw);border-radius:16px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(160deg,#191919f2,#080808eb);padding:.9rem;box-shadow:0 25px 60px #00000080;z-index:1}.video-preview-close[data-astro-cid-aid3sr62]{border:1px solid rgba(255,255,255,.35);background:#ffffff14;color:var(--white);border-radius:999px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:.48rem .86rem;margin-bottom:.72rem;cursor:pointer}#video-preview-player[data-astro-cid-aid3sr62]{width:100%;max-height:min(78vh,720px);border-radius:10px;display:block;background:#000}.showcase-empty[data-astro-cid-aid3sr62]{display:none;color:var(--gray-300);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:1rem}.showcase-empty[data-astro-cid-aid3sr62].is-visible{display:block}.mobile-tabs-container[data-astro-cid-aid3sr62]{display:none}@media(max-width:1060px){.projects-shell[data-astro-cid-aid3sr62]{grid-template-columns:1fr}.projects-side[data-astro-cid-aid3sr62]{position:relative;top:0;height:auto;overflow:visible}.project-menu[data-astro-cid-aid3sr62]{max-height:none}}@media(max-width:768px){.mobile-tabs-container[data-astro-cid-aid3sr62]{display:flex;position:sticky;top:0;z-index:100;width:100%;padding:0;background:linear-gradient(180deg,#0a0a0afa,#0a0a0aeb);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 12px #0006;gap:0}.mobile-tab[data-astro-cid-aid3sr62]{flex:1;border:0;background:transparent;color:var(--gray-500);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;padding:.9rem 1rem;cursor:pointer;position:relative;transition:color .3s ease,background .3s ease;border-bottom:2px solid transparent}.mobile-tab[data-astro-cid-aid3sr62]:hover{color:var(--gray-300);background:#ffffff0a}.mobile-tab[data-astro-cid-aid3sr62].active{color:var(--white);border-bottom-color:#f4f4f4d9;background:#ffffff0f}.projects-shell[data-astro-cid-aid3sr62]{width:100vw;min-height:100dvh;padding:0;gap:0;grid-template-columns:1fr}.projects-side[data-astro-cid-aid3sr62]{position:fixed;top:0;left:0;right:0;width:100%;height:100vh;padding:4rem 1rem 1rem;background:linear-gradient(135deg,#0a0a0afa,#080808f5);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);z-index:50;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .4s cubic-bezier(.32,.72,0,1),opacity .4s ease,pointer-events .4s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.projects-side[data-astro-cid-aid3sr62].active{transform:translateY(0);opacity:1;pointer-events:auto}.side-title[data-astro-cid-aid3sr62]{font-size:1.4rem;margin-bottom:1.5rem;color:var(--white)}.project-search[data-astro-cid-aid3sr62]{margin-bottom:1.2rem}.project-menu[data-astro-cid-aid3sr62]{max-height:calc(100vh - 12rem);gap:.5rem}.menu-link[data-astro-cid-aid3sr62]{padding:.65rem .7rem;border-radius:8px;background:#ffffff0a;transition:all .25s ease;border:1px solid transparent}.menu-link[data-astro-cid-aid3sr62]:hover{background:#ffffff14;border-color:#ebebeb80;transform:translate(4px)}.menu-link[data-astro-cid-aid3sr62].is-active{background:#ffffff1f;border-color:#f4f4f4d9}.readme-surface[data-astro-cid-aid3sr62]{padding:0}.readme-body[data-astro-cid-aid3sr62]{padding:1rem}.media-preview-panel[data-astro-cid-aid3sr62]{margin:1rem;padding:.9rem}.media-preview-header[data-astro-cid-aid3sr62]{flex-direction:column;align-items:stretch}.media-preview-actions[data-astro-cid-aid3sr62]{justify-content:stretch}.media-action-button[data-astro-cid-aid3sr62]{width:100%;justify-self:stretch}}@media(max-width:480px){.projects-side[data-astro-cid-aid3sr62]{padding:3.5rem .75rem 1rem}.side-title[data-astro-cid-aid3sr62]{font-size:1.2rem;margin-bottom:1rem}.media-preview-panel[data-astro-cid-aid3sr62]{margin:.75rem;padding:.75rem}.media-preview-header[data-astro-cid-aid3sr62]{gap:.75rem}.media-preview-title[data-astro-cid-aid3sr62]{font-size:1.15rem}.media-thumb-grid[data-astro-cid-aid3sr62]{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}}.markdown-body{color-scheme:dark;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;font-weight:400;color:#f0f6fc;background-color:#0d1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body a{text-decoration:underline;text-underline-offset:.2rem}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:#0000;color:#4493f8;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #3d444db3}.markdown-body mark{background-color:#bb800926;color:#f0f6fc}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 2.5rem}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:#0000;border-bottom:1px solid #3d444db3;height:.25em;padding:0;margin:1.5rem 0;background-color:#3d444d;border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#9198a1;opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px rgba(0,0,0,0)}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:.25rem;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#f0f6fc;vertical-align:middle;background-color:#151b23;border:solid 1px var(--borderColor-muted);border-bottom-color:var(--borderColor-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #3d444db3}.markdown-body h3{font-weight:600;font-size:1.25em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:#9198a1}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:#9198a1;border-left:.25em solid #3d444d}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:.5rem!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#f85149}.markdown-body .anchor{float:left;padding-right:.25rem;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:1rem}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#f0f6fc;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:1rem}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:1rem;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 1rem;margin-bottom:1rem}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #3d444d}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#0d1117;border-top:1px solid #3d444db3}.markdown-body table tr:nth-child(2n){background-color:#151b23}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:#0000}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #3d444d}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#f0f6fc}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#656c7633;border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:#0000;border:0}.markdown-body .highlight{margin-bottom:1rem}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:1rem;overflow:auto;font-size:85%;line-height:1.45;color:#f0f6fc;background-color:#151b23;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:#0000;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px .5rem 9px;text-align:right;background:#0d1117;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#151b23;border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:#9198a1;border-top:1px solid #3d444d}.markdown-body .footnotes ol{padding-left:1rem}.markdown-body .footnotes ol ul{display:inline-block;padding-left:1rem;margin-top:1rem}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;inset:-.5rem -.5rem -.5rem -1.5rem;pointer-events:none;content:"";border:2px solid #1f6feb;border-radius:6px}.markdown-body .footnotes li:target{color:#f0f6fc}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:#9198a1}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#79c0ff}.markdown-body .pl-e,.markdown-body .pl-en{color:#d2a8ff}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:#f0f6fc}.markdown-body .pl-ent{color:#7ee787}.markdown-body .pl-k{color:#ff7b72}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#a5d6ff}.markdown-body .pl-v,.markdown-body .pl-smw{color:#ffa657}.markdown-body .pl-bu{color:#f85149}.markdown-body .pl-ii{color:var(--fgColor-danger);background-color:var(--bgColor-danger-muted)}.markdown-body .pl-c2{color:#f0f6fc;background-color:#b62324}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#7ee787}.markdown-body .pl-ml{color:#f2cc60}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#1f6feb}.markdown-body .pl-mi{font-style:italic;color:#f0f6fc}.markdown-body .pl-mb{font-weight:700;color:#f0f6fc}.markdown-body .pl-md{color:#ffdcd7;background-color:#67060c}.markdown-body .pl-mi1{color:#aff5b4;background-color:#033a16}.markdown-body .pl-mc{color:#ffdfb6;background-color:#5a1e02}.markdown-body .pl-mi2{color:#f0f6fc;background-color:#1158c7}.markdown-body .pl-mdr{font-weight:700;color:#d2a8ff}.markdown-body .pl-ba{color:#9198a1}.markdown-body .pl-sg{color:#3d444d}.markdown-body .pl-corl{text-decoration:underline;color:#a5d6ff}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip-path:none}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:.5rem 1rem;margin-bottom:1rem;color:inherit;border-left:.25em solid #3d444d}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#1f6feb}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#4493f8}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8957e5}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#ab7df8}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9e6a03}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#d29922}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#238636}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#3fb950}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#da3633}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#f85149}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}html,body{height:100%;overflow:hidden}.page-content{height:100vh;overflow:hidden}#dot-canvas{opacity:.62;filter:blur(.25px)}#float-objects{opacity:1;filter:blur(.2px)}.markdown-body.readme-body{background:transparent;color:var(--white);width:100%;max-width:none;margin:0}.markdown-body.readme-body pre{background:#0000009e;border:1px solid rgba(255,255,255,.12)}.markdown-body.readme-body code{background:#0000008a}.markdown-body.readme-body hr{border-bottom-color:#ffffff38}.markdown-body.readme-body table tr{background-color:#ffffff08}.markdown-body.readme-body table tr:nth-child(2n){background-color:#ffffff12}.markdown-body.readme-body blockquote{color:var(--gray-300);border-left-color:#ffffff59}.markdown-body.readme-body img{background-color:transparent}
