:root{--docs-header:60px;--docs-sidebar:272px;--docs-toc:216px;--docs-article:736px;--docs-line:color-mix(in srgb, var(--foreground) 9%, transparent);--docs-hover:color-mix(in srgb, var(--foreground) 5%, transparent);--docs-active:color-mix(in srgb, var(--foreground) 7%, transparent);--docs-soft:color-mix(in srgb, var(--foreground) 72%, transparent);--docs-code:color-mix(in srgb, var(--foreground) 6%, transparent);--docs-accent:#5866d9;--docs-accent-soft:#6a7bea1f;--docs-mark:#6a7bea38}.dark{--docs-accent:#a3adff;--docs-accent-soft:#8b98ff29;--docs-mark:#8b98ff4d}html{scroll-padding-top:calc(var(--docs-header) + 24px)}.docs-body{background:var(--background);min-height:100dvh}.docs-skip{z-index:100;background:var(--primary);color:var(--primary-foreground);transition:transform .16s var(--ease-out);border-radius:9999px;padding:8px 14px;font-size:14px;text-decoration:none;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.docs-skip:focus-visible{transform:none}.docs-shell{grid-template-columns:var(--docs-sidebar) minmax(0, 1fr);max-width:1480px;margin-inline:auto;display:grid}.docs-main{grid-template-columns:minmax(0, 1fr) var(--docs-toc);gap:56px;min-width:0;padding:40px 48px 96px;display:grid}.docs-main[data-wide]{grid-template-columns:minmax(0,1fr);padding-inline:48px}.docs-article{width:100%;max-width:var(--docs-article);min-width:0;margin-inline:auto}.docs-main[data-wide] .docs-article{max-width:1040px}@media (width<=1199px){.docs-main{grid-template-columns:minmax(0,1fr)}.docs-toc-col{display:none}}@media (width<=959px){.docs-shell{grid-template-columns:minmax(0,1fr)}.docs-main,.docs-main[data-wide]{padding:24px 16px 72px}}.docs-header{z-index:40;height:var(--docs-header);background:var(--glass-bg);border-bottom:1px solid var(--docs-line);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);position:sticky;top:0}.docs-header-row{box-sizing:border-box;align-items:center;gap:16px;max-width:1480px;height:100%;margin-inline:auto;padding-inline:20px 16px;display:flex}.docs-brand{min-width:calc(var(--docs-sidebar) - 36px);color:var(--foreground);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.docs-brand-name{letter-spacing:-.03em;align-items:center;gap:8px;font-size:16px;font-weight:600;display:inline-flex}.docs-brand .logo-mark{flex-shrink:0;width:22px;height:22px}.docs-brand-tag{background:var(--docs-accent-soft);color:var(--foreground);letter-spacing:-.005em;border-radius:9999px;padding:2px 9px;font-size:12px;font-weight:600}.docs-brand-sep{background:var(--docs-line);width:1px;height:18px}.docs-search-trigger{border:1px solid var(--docs-line);background:color-mix(in srgb, var(--background) 70%, transparent);width:min(360px,100%);height:38px;color:var(--muted-foreground);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:0 8px 0 12px;font-size:14px;transition:border-color .15s,background-color .15s,box-shadow .2s;display:inline-flex}.docs-search-trigger span.label{flex:1}@media (hover:hover) and (pointer:fine){.docs-search-trigger:hover{border-color:color-mix(in srgb, var(--foreground) 18%, transparent);box-shadow:0 1px 2px #0000000a}}.docs-search-trigger:active{transform:scale(.99)}.docs-header-mid{flex:1;justify-content:center;min-width:0;display:flex}.docs-header-end{align-items:center;gap:4px;margin-left:auto;display:flex}.docs-icon-btn{width:36px;height:36px;color:var(--foreground);cursor:pointer;opacity:.8;transition:opacity .15s ease, background-color .15s ease, transform .16s var(--ease-out);background:0 0;border:0;border-radius:9999px;place-items:center;display:inline-grid}.docs-icon-btn:hover{opacity:1;background:var(--docs-hover)}.docs-icon-btn:active{transform:scale(.94)}.docs-text-btn{height:36px;color:var(--foreground);opacity:.82;border-radius:9999px;align-items:center;padding:0 12px;font-size:14px;text-decoration:none;transition:opacity .15s,background-color .15s;display:inline-flex}.docs-text-btn:hover{opacity:1;background:var(--docs-hover)}.docs-menu-btn{display:none}.theme-icons{width:18px;height:18px;display:block;position:relative}kbd,.kbd{border:1px solid var(--docs-line);background:var(--background);min-width:20px;height:20px;color:var(--muted-foreground);font:500 11px / 1 var(--font-sans);letter-spacing:0;box-sizing:border-box;border-bottom-width:2px;border-radius:6px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}@media (width<=959px){.docs-brand{min-width:0}.docs-menu-btn{display:inline-grid}.docs-header-mid{justify-content:flex-end}.docs-search-trigger{border-radius:9999px;justify-content:center;width:38px;padding:0}.docs-search-trigger .label,.docs-search-trigger kbd,.docs-hide-sm{display:none}}.docs-sidebar{top:var(--docs-header);height:calc(100dvh - var(--docs-header));border-right:1px solid var(--docs-line);box-sizing:border-box;align-self:start;position:sticky}.docs-sidebar-scroll{overscroll-behavior:contain;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--docs-line) transparent;height:100%;padding:20px 14px 48px;overflow-y:auto}.side-list{margin:0;padding:0;list-style:none;position:relative}.side-group+.side-group{margin-top:22px}.side-group-title{color:var(--foreground);letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 6px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.side-group-title svg{color:var(--muted-foreground);flex-shrink:0}.side-link{z-index:1;min-height:32px;color:var(--muted-foreground);box-sizing:border-box;border-radius:8px;align-items:center;padding:6px 10px 6px 34px;font-size:14px;line-height:1.35;text-decoration:none;transition:color .15s;display:flex;position:relative}.side-link:hover{color:var(--foreground)}@media (hover:hover) and (pointer:fine){.side-link:not([aria-current=page]):hover{background:var(--docs-hover)}}.side-link[aria-current=page]{color:var(--foreground);font-weight:600}.side-home{gap:8px;margin-bottom:18px;padding-left:10px}.side-highlight{z-index:0;background:var(--docs-active);pointer-events:none;opacity:0;border-radius:8px;height:32px;position:absolute;top:0;left:0;right:0}.side-highlight:before{content:"";background:var(--docs-accent);border-radius:9999px;width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;left:16px}.side-highlight[data-ready]{opacity:1;transition:transform .28s var(--ease-in-out), height .28s var(--ease-in-out), opacity .15s ease}.side-foot{border:1px solid var(--docs-line);color:var(--muted-foreground);border-radius:14px;margin-top:28px;padding:14px;font-size:13px;line-height:1.5}.side-foot strong{color:var(--foreground);margin-bottom:4px;font-size:13.5px;display:block}.side-foot a{margin-top:10px;font-size:13px;display:inline-flex}.docs-scrim{display:none}@media (width<=959px){.docs-sidebar{z-index:60;background:var(--background);border-right:1px solid var(--docs-line);visibility:hidden;width:min(320px,86vw);height:100dvh;transition:transform .32s var(--ease-drawer), visibility 0s linear .32s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:20px 0 60px -30px #00000059}.docs-sidebar-scroll{padding-top:16px}html[data-drawer] .docs-sidebar{visibility:visible;transition:transform .36s var(--ease-drawer), visibility 0s;transform:none}.docs-scrim{z-index:55;opacity:0;pointer-events:none;background:#00000052;transition:opacity .26s;display:block;position:fixed;inset:0}html[data-drawer] .docs-scrim{opacity:1;pointer-events:auto}html[data-drawer]{overflow:hidden}}.drawer-head{display:none}@media (width<=959px){.drawer-head{justify-content:space-between;align-items:center;margin:0 0 12px;padding:0 4px 0 10px;display:flex}}.docs-toc-col{position:relative}.docs-toc{top:calc(var(--docs-header) + 40px);max-height:calc(100dvh - var(--docs-header) - 80px);scrollbar-width:none;font-size:13px;position:sticky;overflow-y:auto}.toc-title{color:var(--foreground);align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:500;display:flex}.toc-list{border-left:1px solid var(--docs-line);margin:0;padding:0 0 0 14px;list-style:none;position:relative}.toc-thumb{background:var(--foreground);opacity:0;width:2px;height:20px;transition:transform .22s var(--ease-out), height .22s var(--ease-out), opacity .15s ease;border-radius:2px;position:absolute;top:0;left:-1px}.toc-list a{color:var(--muted-foreground);padding:5px 0;line-height:1.4;text-decoration:none;transition:color .15s;display:block}.toc-list a:hover,.toc-list a[data-active]{color:var(--foreground)}.toc-list .depth-3 a{padding-left:12px;font-size:12.5px}.toc-top{color:var(--muted-foreground);font:inherit;cursor:pointer;opacity:0;transition:opacity .2s ease, transform .2s var(--ease-out), color .15s ease;background:0 0;border:0;align-items:center;gap:6px;margin-top:16px;padding:0;font-size:12.5px;display:inline-flex;transform:translateY(4px)}.toc-top[data-show]{opacity:1;transform:none}.toc-top:hover{color:var(--foreground)}.toc-aside{border-top:1px solid var(--docs-line);margin-top:24px;padding-top:18px}.mobile-toc{border:1px solid var(--docs-line);border-radius:12px;margin:0 0 28px;font-size:14px;display:none}@media (width<=1199px){.mobile-toc{display:block}}.mobile-toc summary{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 14px;font-weight:600;list-style:none;display:flex}.mobile-toc summary::-webkit-details-marker{display:none}.mobile-toc summary svg{transition:transform .2s var(--ease-out)}.mobile-toc[open] summary svg{transform:rotate(180deg)}.mobile-toc ol{color:var(--muted-foreground);margin:0;padding:0 14px 12px 28px}.mobile-toc li{padding:4px 0}.mobile-toc a{color:inherit;text-decoration:none}.mobile-toc .depth-3{margin-left:14px;list-style:circle}.doc-crumbs{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;padding:0;font-size:13px;list-style:none;display:flex}.doc-crumbs a{color:inherit;text-decoration:none;transition:color .15s}.doc-crumbs a:hover{color:var(--foreground)}.doc-crumbs li+li:before{content:"/";opacity:.5;margin-right:6px}.doc-title{letter-spacing:-.035em;margin:0;font-size:clamp(30px,4vw,40px);line-height:1.1}.doc-lead{color:var(--muted-foreground);margin:14px 0 0;font-size:18px;line-height:1.6}.doc-meta{border-bottom:1px solid var(--docs-line);color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:20px 0 0;padding-bottom:28px;font-size:13px;display:flex}.doc-meta>span,.doc-meta>time{align-items:center;gap:5px;display:inline-flex}.doc-meta .dot{opacity:.5;background:currentColor;border-radius:9999px;width:3px;height:3px}.role-badges{align-items:center;gap:6px;display:inline-flex}.role-badge{background:var(--secondary);height:22px;color:var(--foreground);border-radius:9999px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.role-badge:before{content:"";background:var(--role,var(--docs-accent));border-radius:9999px;width:6px;height:6px}.role-badge[data-role=admin]{--role:#6a7bea}.role-badge[data-role=staff]{--role:#2fa897}.role-badge[data-role=teacher]{--role:#f07a5a}.role-badge[data-role=student]{--role:#3e95e8}.prose-docs{color:var(--docs-soft);margin-top:32px;font-size:16px;line-height:1.75}.prose-docs>:first-child{margin-top:0}.prose-docs p,.prose-docs ul,.prose-docs ol,.prose-docs table:not(.dg *),.prose-docs blockquote,.prose-docs pre{margin:0 0 20px}.prose-docs h2,.prose-docs h3,.prose-docs h4{color:var(--foreground);scroll-margin-top:calc(var(--docs-header) + 24px);position:relative}.prose-docs h2{letter-spacing:-.03em;margin:56px 0 16px;font-size:26px;line-height:1.2}.prose-docs h3{letter-spacing:-.02em;margin:36px 0 12px;font-size:19px;line-height:1.3}.prose-docs h4{margin:28px 0 8px;font-size:16px}.prose-docs strong{color:var(--foreground);font-weight:600}.prose-docs a{color:var(--foreground);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--docs-accent) 55%, transparent);text-underline-offset:3px;text-decoration-thickness:1.5px;transition:text-decoration-color .15s}.prose-docs a:hover{text-decoration-color:var(--docs-accent)}.prose-docs ul,.prose-docs ol{padding-left:22px}.prose-docs ul{list-style:outside}.prose-docs ol{list-style:decimal}.prose-docs li{margin:6px 0;padding-left:4px}.prose-docs li::marker{color:color-mix(in srgb, var(--foreground) 40%, transparent)}.prose-docs ol>li::marker{font-variant-numeric:tabular-nums;font-weight:600}.prose-docs code{background:var(--docs-code);color:var(--foreground);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}.prose-docs pre{border:1px solid var(--docs-line);border-radius:14px;padding:18px 20px;font-size:13.5px;line-height:1.65;position:relative;overflow-x:auto}.prose-docs pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose-docs pre.astro-code{background-color:color-mix(in srgb, var(--foreground) 3%, var(--background))!important}.dark .prose-docs pre.astro-code,.dark .prose-docs pre.astro-code span{color:var(--shiki-dark)!important}.prose-docs blockquote{border-left:3px solid var(--docs-line);color:var(--muted-foreground);margin-left:0;padding:2px 0 2px 18px}.prose-docs hr{border:0;border-top:1px solid var(--docs-line);margin:48px 0}.prose-docs table:not(.dg *){border-collapse:separate;border-spacing:0;border:1px solid var(--docs-line);border-radius:14px;width:100%;font-size:14.5px;line-height:1.5;overflow:hidden}.prose-docs table:not(.dg *) thead th{background:color-mix(in srgb, var(--foreground) 3%, transparent);color:var(--foreground);text-align:left;font-weight:600}.prose-docs table:not(.dg *) th,.prose-docs table:not(.dg *) td{border-bottom:1px solid var(--docs-line);vertical-align:top;overflow-wrap:break-word;hyphens:auto;padding:11px 14px}.prose-docs table:not(.dg *) tbody tr:last-child td{border-bottom:0}.prose-docs table:not(.dg *) td:first-child{color:var(--foreground);font-weight:500}@media (width<=640px){.prose-docs table:not(.dg *){font-size:13.5px}.prose-docs table:not(.dg *) th,.prose-docs table:not(.dg *) td{padding:9px 10px}}.heading-anchor{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;place-items:center;margin-top:-11px;transition:opacity .15s,background-color .15s;display:inline-grid;position:absolute;top:50%;left:-28px}.prose-docs h2:hover .heading-anchor,.prose-docs h3:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.heading-anchor:hover{background:var(--docs-hover);color:var(--foreground)}.heading-anchor[data-copied]{color:var(--docs-accent);opacity:1}@media (width<=959px){.heading-anchor{display:none}}.code-copy{border:1px solid var(--docs-line);background:var(--background);height:28px;color:var(--muted-foreground);font:inherit;font-family:var(--font-sans);cursor:pointer;opacity:0;transition:opacity .15s ease, color .15s ease, transform .16s var(--ease-out);border-radius:8px;padding:0 10px;font-size:12px;position:absolute;top:10px;right:10px}.prose-docs pre:hover .code-copy,.code-copy:focus-visible{opacity:1}.code-copy:active{transform:scale(.96)}@media (hover:none){.code-copy{opacity:1}}.doc-end{margin-top:64px}.feedback{border:1px solid var(--docs-line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-size:14px;display:flex}.feedback-q{color:var(--foreground);font-weight:500}.feedback-btns{gap:8px;display:inline-flex}.feedback-btn{border:1px solid var(--docs-line);height:34px;color:var(--foreground);font:inherit;cursor:pointer;transition:background-color .15s ease, border-color .15s ease, transform .16s var(--ease-out);background:0 0;border-radius:9999px;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;display:inline-flex}.feedback-btn:hover{background:var(--docs-hover)}.feedback-btn:active{transform:scale(.96)}.feedback-btn[aria-pressed=true]{border-color:var(--docs-accent);background:var(--docs-accent-soft)}.feedback-thanks{color:var(--muted-foreground)}.feedback[data-done] .feedback-btns,.feedback:not([data-done]) .feedback-thanks{display:none}.feedback[data-done] .feedback-thanks{animation:docs-rise .3s var(--ease-out)}.pager{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.pager a{border:1px solid var(--docs-line);color:var(--foreground);transition:border-color .2s ease, background-color .2s ease, transform .16s var(--ease-out);border-radius:14px;flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;display:flex}.pager a:active{transform:scale(.99)}@media (hover:hover) and (pointer:fine){.pager a:hover{border-color:color-mix(in srgb, var(--foreground) 22%, transparent)}.pager a:hover .pager-arrow{transform:translateX(var(--nudge,3px))}}.pager .next{text-align:right;grid-column:2;align-items:flex-end}.pager-label{color:var(--muted-foreground);align-items:center;gap:6px;font-size:13px;display:inline-flex}.pager .prev .pager-label{--nudge:-3px}.pager-arrow{transition:transform .18s var(--ease-out)}.pager-title{letter-spacing:-.01em;font-size:15px;font-weight:500}@media (width<=600px){.pager{grid-template-columns:1fr}.pager .next{grid-column:1}}.docs-footer{border-top:1px solid var(--docs-line);color:var(--muted-foreground);font-size:13px}.docs-footer-row{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1480px;margin-inline:auto;padding:28px 24px;display:flex}.docs-footer nav{flex-wrap:wrap;gap:6px 20px;display:flex}.docs-footer a{color:inherit;text-decoration:none;transition:color .15s}.docs-footer a:hover{color:var(--foreground)}@keyframes docs-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes docs-fade-out{to{opacity:0}}@keyframes docs-fade-in{0%{opacity:0;filter:blur(2px);transform:translateY(8px)}}::view-transition-old(root),::view-transition-new(root){animation:none}@media (prefers-reduced-motion:no-preference){.docs-article[data-enter]{animation:docs-fade-in .42s var(--ease-out) both}}.dg{--dg-line:color-mix(in srgb, var(--foreground) 14%, transparent);--dg-soft:color-mix(in srgb, var(--foreground) 3.5%, var(--card));--dg-blue:#6a7bea;--dg-teal:#2fa897;--dg-coral:#f07a5a;--dg-sky:#3e95e8;--dg-violet:#9a6bf0;--dg-amber:#d9a514;--dg-amber-ink:#8a6100;border:1px solid var(--docs-line);background:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--foreground) 9%, transparent) 1px, transparent 0) 0 0 / 18px 18px, var(--card);color:var(--foreground);border-radius:20px;margin:32px 0 36px;padding:24px;font-size:14px;line-height:1.45;position:relative;overflow:hidden}.dark .dg{--dg-blue:#8b98ff;--dg-teal:#3fcfb6;--dg-coral:#ff9a7e;--dg-sky:#6cb6ff;--dg-violet:#c4a6ff;--dg-amber:#f5c84a;--dg-amber-ink:#f5c84a}.dg figcaption{border-top:1px solid var(--docs-line);background:color-mix(in srgb, var(--foreground) 2%, var(--card));color:var(--muted-foreground);margin:20px -24px -24px;padding:12px 24px;font-size:13px;line-height:1.5}.dg p{margin:0}.dg-node{border:1px solid var(--docs-line);background:var(--card);border-radius:14px;padding:12px 14px;position:relative;box-shadow:0 1px 2px #0000000a}.dg-node strong,.dg-title{color:var(--foreground);letter-spacing:-.01em;font-size:14px;font-weight:500;display:block}.dg-sub{color:var(--muted-foreground);margin-top:2px;font-size:12.5px;line-height:1.45;display:block}.dg-chip{background:color-mix(in srgb, var(--tone,var(--foreground)) 11%, transparent);color:var(--foreground);white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.dg-chip:before{content:"";background:var(--tone,var(--muted-foreground));border-radius:9999px;width:6px;height:6px}.dg-chip.plain:before{display:none}.dg-label{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px;font-weight:600}.dg-icon{background:color-mix(in srgb, var(--tone,var(--dg-blue)) 13%, transparent);width:32px;height:32px;color:var(--tone,var(--dg-blue));border-radius:10px;flex-shrink:0;place-items:center;display:inline-grid}.dg-flow{align-items:stretch;gap:0;display:flex}.dg-flow>.dg-node{flex:1;min-width:0}.dg-arrow{flex:0 0 28px;align-self:center;height:2px;margin:0 2px;position:relative}.dg-arrow:before{content:"";background:var(--dg-line);border-radius:2px;position:absolute;inset:0}.dg-arrow:after{content:"";border:5px solid #0000;border-left:7px solid var(--dg-line);border-right:0;position:absolute;top:-4px;right:-1px}.dg-arrow>i{background:var(--dg-blue);transform-origin:0;border-radius:2px;position:absolute;inset:0;transform:scaleX(0)}@media (width<=720px){.dg{padding:18px}.dg figcaption{margin:18px -18px -18px;padding:12px 18px}.dg-flow{flex-direction:column}.dg-arrow{flex-basis:22px;width:2px;height:22px;margin:2px 0}.dg-arrow:after{border:5px solid #0000;border-top:7px solid var(--dg-line);border-bottom:0;inset:auto auto -1px -4px}.dg-arrow>i{transform-origin:top;transform:scaleY(0)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.dg [data-rise]{animation:linear both dg-rise view();animation-range:entry calc(5% + var(--i,0) * 5%) cover calc(22% + var(--i,0) * 5%)}.dg-arrow>i{animation:linear both dg-fill view();animation-range:entry calc(20% + var(--i,0) * 5%) cover calc(35% + var(--i,0) * 5%)}.dg [data-draw]{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400);animation:linear both dg-draw view();animation-range:entry 20% cover 45%}}}@keyframes dg-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes dg-fill{to{transform:none}}@keyframes dg-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:no-preference){.dg-pulse:after{content:"";border-radius:inherit;border:2px solid var(--tone,var(--dg-blue));opacity:0;animation:dg-pulse 2.4s var(--ease-out) infinite;position:absolute;inset:-4px}}@keyframes dg-pulse{0%{opacity:.6;transform:scale(.96)}70%,to{opacity:0;transform:scale(1.08)}}.dg-check{color:var(--dg-teal)}.dg-no{color:color-mix(in srgb, var(--foreground) 30%, transparent)}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.keys[data-astro-cid-tjgdqpyj]{gap:3px;display:inline-flex}.theme-icons[data-astro-cid-tjgdqpyj]>span[data-astro-cid-tjgdqpyj]{transition:opacity .2s ease, transform .3s var(--ease-out);place-items:center;display:grid;position:absolute;inset:0}.theme-icons[data-astro-cid-tjgdqpyj] .moon[data-astro-cid-tjgdqpyj],.dark .theme-icons[data-astro-cid-tjgdqpyj] .sun[data-astro-cid-tjgdqpyj]{opacity:0;transform:rotate(-60deg)scale(.7)}.dark .theme-icons[data-astro-cid-tjgdqpyj] .moon[data-astro-cid-tjgdqpyj]{opacity:1;transform:none}.search[data-astro-cid-dxp5fq3e]{border:1px solid var(--docs-line);background:var(--popover);width:min(680px,100vw - 32px);max-width:none;max-height:min(620px,100dvh - 96px);color:var(--foreground);border-radius:18px;flex-direction:column;margin:10vh auto auto;padding:0;overflow:hidden;box-shadow:0 0 0 1px #00000005,0 30px 80px -20px #14183c59}.search[data-astro-cid-dxp5fq3e][open]{display:flex}.search[data-astro-cid-dxp5fq3e]::backdrop{backdrop-filter:blur(3px);background:#0a0c1852}@media (prefers-reduced-motion:no-preference){.search[data-astro-cid-dxp5fq3e][data-anim]{animation:search-in .18s var(--ease-out)}.search[data-astro-cid-dxp5fq3e][data-anim]::backdrop{animation:.18s search-fade}}@keyframes search-in{0%{opacity:0;transform:translateY(-6px)scale(.985)}}@keyframes search-fade{0%{opacity:0}}.search-box[data-astro-cid-dxp5fq3e]{border-bottom:1px solid var(--docs-line);align-items:center;gap:12px;padding:0 14px 0 18px;display:flex}.search-box[data-astro-cid-dxp5fq3e] .search-icon{color:var(--muted-foreground);flex-shrink:0}.search-input[data-astro-cid-dxp5fq3e]{min-width:0;height:58px;color:var(--foreground);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:16px}.search-input[data-astro-cid-dxp5fq3e]::placeholder{color:var(--muted-foreground)}.search-input[data-astro-cid-dxp5fq3e]::-webkit-search-cancel-button{display:none}.search-esc[data-astro-cid-dxp5fq3e]{cursor:pointer;background:0 0;border:0;padding:0}.search-body[data-astro-cid-dxp5fq3e]{overscroll-behavior:contain;flex:1;padding:8px;scroll-padding:8px;overflow-y:auto}.search-section[data-astro-cid-dxp5fq3e]{color:var(--muted-foreground);justify-content:space-between;align-items:center;margin:8px 10px 6px;font-size:12px;font-weight:600;display:flex}.search-clear[data-astro-cid-dxp5fq3e]{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-weight:500}.search-clear[data-astro-cid-dxp5fq3e]:hover{background:var(--docs-hover);color:var(--foreground)}.search-list[data-astro-cid-dxp5fq3e]{margin:0 0 6px;padding:0;list-style:none}.search-list[data-astro-cid-dxp5fq3e] .search-group{color:var(--muted-foreground);margin:10px 10px 4px;font-size:12px;font-weight:600}.search-list[data-astro-cid-dxp5fq3e] .search-item{color:var(--foreground);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;scroll-margin:8px;text-decoration:none;display:flex}.search-list[data-astro-cid-dxp5fq3e] .search-item[data-sub]{padding-left:22px}.search-list[data-astro-cid-dxp5fq3e] .search-item[data-active]{background:var(--docs-active)}.search-list[data-astro-cid-dxp5fq3e] .search-item-icon{border:1px solid var(--docs-line);background:var(--background);width:30px;height:30px;color:var(--muted-foreground);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.search-list[data-astro-cid-dxp5fq3e] .search-item[data-active] .search-item-icon{color:var(--docs-accent);border-color:color-mix(in srgb, var(--docs-accent) 40%, transparent)}.search-list[data-astro-cid-dxp5fq3e] .search-item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-list[data-astro-cid-dxp5fq3e] .search-item-title{font-size:14.5px;font-weight:500;line-height:1.35}.search-list[data-astro-cid-dxp5fq3e] .search-item-crumb{color:var(--muted-foreground);font-size:12px}.search-list[data-astro-cid-dxp5fq3e] .search-item-snippet{-webkit-line-clamp:2;color:var(--muted-foreground);-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.search-list[data-astro-cid-dxp5fq3e] mark{background:var(--docs-mark);color:var(--foreground);border-radius:3px;padding:0 1px}.search-list[data-astro-cid-dxp5fq3e] .search-item-go{color:var(--muted-foreground);opacity:0;flex-shrink:0}.search-list[data-astro-cid-dxp5fq3e] .search-item[data-active] .search-item-go{opacity:1}.search-empty[data-astro-cid-dxp5fq3e]{text-align:center;color:var(--muted-foreground);flex-direction:column;align-items:center;gap:4px;padding:40px 16px;font-size:14px;display:flex}.search-empty[data-astro-cid-dxp5fq3e] p[data-astro-cid-dxp5fq3e]{margin:6px 0 0}.search-empty[data-astro-cid-dxp5fq3e] strong[data-astro-cid-dxp5fq3e]{color:var(--foreground)}.search-empty[data-astro-cid-dxp5fq3e] .muted[data-astro-cid-dxp5fq3e]{margin:0;font-size:13px}.search-status[data-astro-cid-dxp5fq3e]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.search-foot[data-astro-cid-dxp5fq3e]{border-top:1px solid var(--docs-line);color:var(--muted-foreground);gap:16px;padding:10px 16px;font-size:12px;display:flex}.search-foot[data-astro-cid-dxp5fq3e] span[data-astro-cid-dxp5fq3e]{align-items:center;gap:4px;display:inline-flex}@media (width<=640px){.search[data-astro-cid-dxp5fq3e]{border:0;border-radius:0;width:100vw;height:100dvh;max-height:none;margin:0}.search-foot[data-astro-cid-dxp5fq3e]{display:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.side-pages[data-astro-cid-k3qer2ua]{margin:0;padding:0;list-style:none}.side-home[data-astro-cid-k3qer2ua] svg{color:var(--muted-foreground);position:static}.side-search[data-astro-cid-k3qer2ua]{font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-size:13px;font-weight:500}.zoom[data-astro-cid-lpetmyok]{cursor:zoom-out;background:0 0;border:0;max-width:min(1400px,100vw - 48px);max-height:calc(100dvh - 48px);padding:0;overflow:visible}.zoom[data-astro-cid-lpetmyok]::backdrop{backdrop-filter:blur(4px);background:#080a14b8}.zoom[data-astro-cid-lpetmyok] img{border-radius:14px;max-width:100%;max-height:calc(100dvh - 48px);display:block;box-shadow:0 40px 120px -20px #0009}@media (prefers-reduced-motion:no-preference){.zoom[data-astro-cid-lpetmyok][open]{animation:zoom-in .26s var(--ease-out)}.zoom[data-astro-cid-lpetmyok][open]::backdrop{animation:.26s zoom-fade}}@keyframes zoom-in{0%{opacity:0;transform:scale(.96)}}@keyframes zoom-fade{0%{opacity:0}}
