@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--bg:#fafaf9;--surface:#fff;--surface-2:#f5f5f4;--surface-3:#eeedeb;--border:#e7e5e4;--border-strong:#d6d3d1;--text:#1c1917;--text-2:#57534e;--text-3:#6f6964;--accent:#4338ca;--accent-hover:#3730a3;--accent-soft:#eef0fd;--accent-text:#3730a3;--on-accent:#fff;--focus:#6366f1;--success:#15803d;--success-soft:#ecfdf3;--warning:#a16207;--warning-soft:#fef9e8;--danger:#b91c1c;--danger-hover:#991b1b;--danger-soft:#fef2f2;--info-soft:#f0f4ff;--chart-1:#4338ca;--chart-2:#a5b4fc;--chart-grid:#ebe9e7;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-overlay:0 12px 32px -8px #1c19172e, 0 2px 6px #1c19170f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--sidebar-width:248px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141210;--surface:#1c1a18;--surface-2:#24211e;--surface-3:#2d2a26;--border:#33302c;--border-strong:#46423d;--text:#f5f5f4;--text-2:#c4bfba;--text-3:#a29c96;--accent:#818cf8;--accent-hover:#a5b4fc;--accent-soft:#24234a;--accent-text:#c7d2fe;--on-accent:#12112a;--focus:#a5b4fc;--success:#4ade80;--success-soft:#132a1c;--warning:#facc15;--warning-soft:#2b2512;--danger:#f87171;--danger-hover:#fca5a5;--danger-soft:#2f1616;--info-soft:#1c2036;--chart-1:#818cf8;--chart-2:#3f437a;--chart-grid:#2d2a26;--shadow-overlay:0 12px 32px -8px #0009}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text);background:var(--bg);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}a{color:var(--accent-text);text-underline-offset:2px}a:hover{color:var(--accent-hover)}code,kbd,.mono{font-family:var(--font-mono);font-size:.92em}img,svg{display:block}hr{border:0;border-top:1px solid var(--border);margin:var(--space-6) 0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);z-index:100;background:var(--surface);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);position:absolute;top:-48px}.skip-link:focus{top:var(--space-4)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{--btn-bg:var(--surface);--btn-fg:var(--text);--btn-border:var(--border-strong);justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);font:inherit;font-weight:500;font-size:var(--text-base);white-space:nowrap;color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--radius);cursor:pointer;line-height:1;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{--btn-bg:var(--surface-2);color:var(--btn-fg)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{--btn-bg:var(--accent);--btn-fg:var(--on-accent);--btn-border:var(--accent)}.btn-primary:hover{--btn-bg:var(--accent-hover);--btn-border:var(--accent-hover)}.btn-danger{--btn-bg:var(--danger);--btn-fg:#fff;--btn-border:var(--danger)}.btn-danger:hover{--btn-bg:var(--danger-hover);--btn-border:var(--danger-hover)}.btn-ghost{--btn-border:transparent;--btn-bg:transparent}.btn-ghost:hover{--btn-bg:var(--surface-2)}.btn-sm{height:30px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-icon{width:36px;padding:0}.btn-sm.btn-icon{width:30px}.btn-block{width:100%}.btn svg{flex:none;width:16px;height:16px}.btn .spinner{display:none}.btn[aria-busy=true] .spinner{display:block}.btn[aria-busy=true]{cursor:progress}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form{gap:var(--space-5);display:grid}.field{gap:6px;display:grid}.field-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.label{font-weight:500;font-size:var(--text-base);color:var(--text);justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.label .optional{color:var(--text-3);font-weight:400;font-size:var(--text-sm)}.hint{font-size:var(--text-sm);color:var(--text-3)}.field-error{font-size:var(--text-sm);color:var(--danger);align-items:flex-start;gap:6px;display:flex}.input,.select,.textarea{width:100%;min-height:38px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 12px;font-size:16px;transition:border-color .12s,box-shadow .12s}@media (width>=720px){.input,.select,.textarea{font-size:var(--text-base)}}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 20%, transparent)}.input:disabled{background:var(--surface-2);color:var(--text-3)}.textarea{resize:vertical;min-height:88px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2378716c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.input-group{display:flex;position:relative}.input-group .input{padding-right:44px}.input-group .input-addon{position:absolute;top:50%;right:3px;transform:translateY(-50%)}.input-prefix{align-items:stretch;display:flex}.input-prefix>span{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius) 0 0 var(--radius);color:var(--text-3);font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap;border-right:0;align-items:center;padding:0 10px;display:flex}.input-prefix>.input{border-radius:0 var(--radius) var(--radius) 0}.checkbox{gap:var(--space-2);align-items:center;display:flex}.checkbox input{width:16px;height:16px;accent-color:var(--accent)}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);align-items:flex-start;display:flex}.alert svg{flex:none;width:18px;height:18px;margin-top:1px}.alert-title{font-weight:600}.alert-danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.alert-danger svg{color:var(--danger)}.alert-success{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.alert-success svg{color:var(--success)}.alert-warning{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 35%, transparent)}.alert-warning svg{color:var(--warning)}.alert-info{background:var(--info-soft);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.alert-info svg{color:var(--accent)}.badge{height:22px;font-size:var(--text-xs);background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex}.badge:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.badge-plain:before{display:none}.badge-success{color:var(--success);background:var(--success-soft);border-color:#0000}.badge-warning{color:var(--warning);background:var(--warning-soft);border-color:#0000}.badge-danger{color:var(--danger);background:var(--danger-soft);border-color:#0000}.badge-accent{color:var(--accent-text);background:var(--accent-soft);border-color:#0000}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.panel-body{padding:var(--space-5)}.panel-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--space-2);display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-header p{color:var(--text-2);margin-top:var(--space-1)}.page-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.section-title{font-size:var(--text-md);margin-bottom:var(--space-3);font-weight:600}.muted{color:var(--text-2)}.subtle{color:var(--text-3)}.stack{gap:var(--space-4);display:grid}.stack-lg{gap:var(--space-6);display:grid}.stack-tight{gap:6px;display:grid}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.spacer{flex:1}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table th{text-align:left;font-weight:500;font-size:var(--text-sm);color:var(--text-3);background:var(--surface);padding:10px var(--space-4);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0}.table td{padding:12px var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .actions{text-align:right;white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:32ch;display:inline-block;overflow:hidden}.empty{text-align:center;justify-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);display:grid}.empty-icon{border-radius:var(--radius-lg);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);place-items:center;display:grid}.empty-icon svg{width:22px;height:22px}.empty p{color:var(--text-2);max-width:44ch}.stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.stat-label{font-size:var(--text-sm);color:var(--text-2)}.stat-value{font-size:var(--text-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;font-weight:600}.stat-delta{font-size:var(--text-sm);color:var(--text-3);margin-top:2px}.stat-delta.up{color:var(--success)}.stat-delta.down{color:var(--danger)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-6);display:flex;overflow-x:auto}.tab{padding:10px var(--space-3);color:var(--text-2);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500;text-decoration:none}.tab:hover{color:var(--text)}.tab[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}dialog.dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(480px,100vw - 32px);color:var(--text);box-shadow:var(--shadow-overlay);padding:0}dialog.dialog::backdrop{background:#1c191766}.dialog-body{padding:var(--space-6);gap:var(--space-3);display:grid}.dialog-body p{color:var(--text-2)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex}.kbd{border:1px solid var(--border-strong);font-size:var(--text-xs);color:var(--text-2);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:0 6px;display:inline-block}.code-box{align-items:center;gap:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere;padding:6px 6px 6px 12px;display:flex}.code-box>span{flex:1;min-width:0}.env-badge{letter-spacing:.04em;text-transform:uppercase;height:20px;color:var(--warning);background:var(--warning-soft);border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);border-radius:4px;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.dl{gap:var(--space-2) var(--space-6);grid-template-columns:max-content 1fr;display:grid}.dl dt{color:var(--text-3)}.dl dd{margin:0}.toast{right:var(--space-4);bottom:var(--space-4);z-index:60;gap:var(--space-2);padding:10px var(--space-4);background:var(--text);color:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-overlay);opacity:0;pointer-events:none;align-items:center;font-weight:500;transition:opacity .16s,transform .16s;display:flex;position:fixed;transform:translateY(8px)}.toast[data-visible=true]{opacity:1;transform:none}.toast svg{width:16px;height:16px}.logo[data-astro-cid-vxtagyxe]{color:var(--text);align-items:center;gap:10px;display:inline-flex}.logo-tile[data-astro-cid-vxtagyxe]{fill:var(--accent)}.logo-slash[data-astro-cid-vxtagyxe]{stroke:var(--on-accent);stroke-width:3.4px;stroke-linecap:round;fill:none}.logo-dot[data-astro-cid-vxtagyxe]{fill:var(--on-accent)}.logo-word[data-astro-cid-vxtagyxe]{letter-spacing:-.02em;font-size:1.0625rem;font-weight:650}.logo-word[data-astro-cid-vxtagyxe] span[data-astro-cid-vxtagyxe]{color:var(--text-2);font-weight:500}
