:root{--bg: #f6f7fb;--surface: rgba(255, 255, 255, .78);--surface-2: #f3f3f1;--text: #1c1d1f;--muted: #5f636b;--faint: #8b8f96;--border: #e4e4e0;--accent: #1f6feb;--accent-hover: #1858c4;--accent-soft: #e8f0fe;--ok: #1a7f37;--err: #cf222e;--shadow: 0 1px 2px rgba(15, 17, 21, .04), 0 4px 16px rgba(15, 17, 21, .04);--glow-1: rgba(99, 140, 255, .28);--glow-2: rgba(168, 108, 255, .22);--glow-3: rgba(45, 212, 191, .2);--glow-4: rgba(255, 128, 170, .16);--radius: 12px;--radius-sm: 8px;--maxw: 760px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b1022;--surface: rgba(22, 29, 52, .72);--surface-2: rgba(36, 45, 76, .7);--text: #e6e8eb;--muted: #a2a8b1;--faint: #7b818a;--border: rgba(140, 160, 220, .16);--accent: #6ea8ff;--accent-hover: #8fbcff;--accent-soft: #172437;--ok: #3fb950;--err: #ff7b72;--shadow: none;--glow-1: rgba(70, 120, 255, .5);--glow-2: rgba(150, 80, 255, .44);--glow-3: rgba(20, 200, 180, .34);--glow-4: rgba(255, 90, 150, .22);color-scheme:dark}}:root[data-theme=dark]{--bg: #0b1022;--surface: rgba(22, 29, 52, .72);--surface-2: rgba(36, 45, 76, .7);--text: #e6e8eb;--muted: #a2a8b1;--faint: #7b818a;--border: rgba(140, 160, 220, .16);--accent: #6ea8ff;--accent-hover: #8fbcff;--accent-soft: #172437;--ok: #3fb950;--err: #ff7b72;--shadow: none;--glow-1: rgba(70, 120, 255, .5);--glow-2: rgba(150, 80, 255, .44);--glow-3: rgba(20, 200, 180, .34);--glow-4: rgba(255, 90, 150, .22);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,iframe{max-width:100%}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3{line-height:1.25;letter-spacing:-.015em;margin:0 0 .5em}h1{font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:750}h2{font-size:1.35rem;font-weight:700}h3{font-size:1.08rem;font-weight:650}p{margin:0 0 1em}code,kbd,pre{font-family:var(--mono);font-size:.9em}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.glow{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.glow span{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);will-change:transform}.glow .g1{background:radial-gradient(circle,var(--glow-1),transparent 65%);top:-25vmax;left:-15vmax;animation:drift1 26s ease-in-out infinite alternate}.glow .g2{background:radial-gradient(circle,var(--glow-2),transparent 65%);top:-10vmax;right:-25vmax;animation:drift2 32s ease-in-out infinite alternate}.glow .g3{background:radial-gradient(circle,var(--glow-3),transparent 65%);bottom:-30vmax;left:5vmax;animation:drift3 38s ease-in-out infinite alternate}.glow .g4{background:radial-gradient(circle,var(--glow-4),transparent 65%);bottom:-25vmax;right:-10vmax;width:45vmax;height:45vmax;animation:drift4 30s ease-in-out infinite alternate}@keyframes drift1{to{transform:translate(18vw,14vh) scale(1.15)}}@keyframes drift2{to{transform:translate(-20vw,20vh) scale(.9)}}@keyframes drift3{to{transform:translate(22vw,-18vh) scale(1.1)}}@keyframes drift4{to{transform:translate(-16vw,-22vh) scale(1.2)}}.card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--surface);padding:8px 12px;border-radius:var(--radius-sm)}.skip-link:focus{left:12px}main{padding:48px 0 72px;min-height:60vh}section+section{margin-top:56px}.section-title{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:18px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:.95rem;font-weight:600;line-height:1.2;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.btn:hover{text-decoration:none;border-color:var(--faint);color:var(--text)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .btn-primary:hover{color:#0b1022}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-primary,:root:not([data-theme=light]) .btn-primary:hover{color:#0b1022}}.btn[disabled]{opacity:.6;cursor:progress}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}.tag{display:inline-block;font-size:.75rem;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);padding:2px 9px;border-radius:999px;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.chips li{font-size:.88rem;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.prose{font-size:1.05rem}.prose h2{margin-top:2em}.prose h3{margin-top:1.6em}.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1em}.prose li+li{margin-top:.3em}.prose blockquote{margin:1.5em 0;padding:4px 18px;border-left:3px solid var(--accent);color:var(--muted);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose :not(pre)>code{background:var(--surface-2);border:1px solid var(--border);padding:1px 6px;border-radius:6px}.prose pre{padding:16px 18px;border-radius:var(--radius-sm);overflow-x:auto;border:1px solid var(--border);line-height:1.5}.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left}.prose th{font-weight:650}.prose img{border-radius:var(--radius-sm)}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}@media(max-width:600px){body{font-size:16px}main{padding:32px 0 56px}section+section{margin-top:44px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--border)}.bar[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:20px;height:60px}.brand[data-astro-cid-3ef6ksr2]{font-weight:750;letter-spacing:-.01em;color:var(--text);white-space:nowrap}.brand[data-astro-cid-3ef6ksr2]:hover{text-decoration:none;color:var(--accent)}nav[data-astro-cid-3ef6ksr2]{margin-left:auto}nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;gap:4px;list-style:none;margin:0;padding:0}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:6px 10px;border-radius:8px;color:var(--muted);font-size:.95rem;font-weight:550}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--text);background:var(--surface-2);text-decoration:none}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--text)}.tools[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:6px}.lang[data-astro-cid-3ef6ksr2],.theme[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;justify-content:center;height:34px;min-width:34px;padding:0 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font:600 .78rem var(--font);letter-spacing:.04em;cursor:pointer}.lang[data-astro-cid-3ef6ksr2]:hover,.theme[data-astro-cid-3ef6ksr2]:hover{color:var(--text);text-decoration:none;border-color:var(--faint)}.i-moon[data-astro-cid-3ef6ksr2]{display:none}:root[data-theme=dark] .i-sun[data-astro-cid-3ef6ksr2]{display:none}:root[data-theme=dark] .i-moon[data-astro-cid-3ef6ksr2]{display:inline-flex}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .i-sun[data-astro-cid-3ef6ksr2]{display:none}:root:not([data-theme=light]) .i-moon[data-astro-cid-3ef6ksr2]{display:inline-flex}}.i-sun[data-astro-cid-3ef6ksr2],.i-moon[data-astro-cid-3ef6ksr2]{align-items:center}.i-sun[data-astro-cid-3ef6ksr2]{display:inline-flex}@media(max-width:640px){.bar[data-astro-cid-3ef6ksr2]{height:auto;flex-wrap:wrap;padding-top:10px;padding-bottom:6px;gap:6px 12px}nav[data-astro-cid-3ef6ksr2]{order:3;width:100%;margin-left:-10px}nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{gap:0;overflow-x:auto}.tools[data-astro-cid-3ef6ksr2]{margin-left:auto}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);padding:28px 0 36px}.row[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.social[data-astro-cid-sz7xmlte]{display:flex;gap:4px;list-style:none;padding:0;margin:0 0 0 -8px}.social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:inline-flex;padding:8px;border-radius:8px;color:var(--muted)}.social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text);background:var(--surface-2)}.meta[data-astro-cid-sz7xmlte]{margin:0;font-size:.85rem;color:var(--faint)}.meta[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--muted)}
