:root{color-scheme:light dark}html[data-theme=light]{color-scheme:light only}html[data-theme=dark]{color-scheme:dark only}.dark-only{display:none}@media(prefers-color-scheme:dark){.light-only{display:none}.dark-only{display:block}}html[data-theme=light] .light-only{display:block}html[data-theme=light] .dark-only,html[data-theme=dark] .light-only{display:none}html[data-theme=dark] .dark-only{display:block}:root{--site-width: 1500px;--color-brand: #046be8;--color-brand-light: #63acf6;--color-brand-dark: #013e8a;--color-brand2: #c04000;--color-brand2-light: #fa9548;--color-brand2-dark: #a03300;--color-bg-primary: light-dark(#ffffff, #0a0a0a);--color-bg-secondary: light-dark(#f8f9fa, #232323);--color-bg-tertiary: light-dark(#ebebeb, #454545);--color-bg-elevated: light-dark(#ffffff, #1e1e1e);--color-bg-brand-light: light-dark(rgb(230, 245, 250), rgb(0, 37, 67));--color-bg-card: light-dark(#ffffff, #1e1e1e);--color-bg-link-active: light-dark(color-mix(in srgb, var(--color-brand) 10%, transparent), #c0e0f7);--color-button-bg-secondary: light-dark(#f0f0f0, #1f1f1f);--color-button-bg-secondary-hover: light-dark(#d6e4f1, #1d3d4f);--color-button-bg-secondary-active: light-dark(#d0d0d0, #3a3a3a);--color-button-bg-secondary-disabled: light-dark(#c0c0c0, #4a4a4a);--color-button-bg-secondary-disabled-hover: light-dark(#b0b0b0, #5a5a5a);--color-button-bg-secondary-disabled-active: light-dark(#a0a0a0, #6a6a6a);--color-button-bg-secondary-disabled-disabled: light-dark(#909090, #7a7a7a);--color-button-bg-secondary-disabled-disabled-hover: light-dark(#808080, #8a8a8a);--color-button-bg-secondary-disabled-disabled-active: light-dark(#707070, #9a9a9a);--color-text-primary: light-dark(#1a1a1a, #f5f5f5);--color-text-secondary: light-dark(#4a4a4a, #c5c5c5);--color-text-tertiary: light-dark(#6a6a6a, #707070);--color-text-muted: light-dark(#8a8a8a, #b0b0b0);--color-text-inverse: light-dark(#f5f5f5, #1a1a1a);--color-text-light: light-dark(#f5f5f5, #f5f5f5);--color-border: light-dark(rgba(0, 0, 0, .1), #434343);--color-border-subtle: light-dark(#f0f0f0, #1f1f1f);--color-border-brand: light-dark(#d6e6fb, #103c68);--color-overlay: light-dark(rgba(0, 0, 0, .5), rgba(0, 0, 0, .7));--color-code-bg: light-dark(#f4f4f5, #18181b);--color-code-text: light-dark(#27272a, #e4e4e7);--color-success: light-dark(#059669, #10b981);--color-warning: light-dark(#d97706, #fbbf24);--color-error: light-dark(#dc2626, #ef4444);--color-info: light-dark(#2563eb, #3b82f6);--shadow-sm: light-dark(0 1px 2px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .3));--shadow-md: light-dark(0 4px 6px -1px rgba(0, 0, 0, .1), 0 4px 6px -1px rgba(0, 0, 0, .4));--shadow-lg: light-dark(0 10px 15px -3px rgba(0, 0, 0, .1), 0 10px 15px -3px rgba(0, 0, 0, .5));--shadow-xl: light-dark(0 20px 25px -5px rgba(0, 0, 0, .1), 0 20px 25px -5px rgba(0, 0, 0, .5));--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Monaco, Consolas, "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:auto}body{font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--color-text-primary)}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{color:var(--color-text-secondary);line-height:1.625}a{color:light-dark(var(--color-brand),var(--color-brand-light));text-decoration:none}a:hover{color:var(--color-brand-light);text-decoration:underline}code,pre{font-family:var(--font-mono)}code{background:var(--color-code-bg);color:var(--color-code-text);padding:.125em .375em;border-radius:4px;font-size:.9em}pre{background:var(--color-code-bg);color:var(--color-code-text);padding:1rem;border-radius:8px;overflow-x:auto}pre code{background:transparent;padding:0}img{max-width:100%;height:auto;display:block}ul,ol{padding-left:1.5rem}li{color:var(--color-text-secondary);margin-bottom:.25rem}.container{width:100%;max-width:var(--site-width);margin:0 auto;padding:0 1rem}@media(min-width:768px){.container{padding:0 2rem}}.section{background:var(--color-bg-primary);padding:4rem 0}@media(min-width:768px){.section{padding:4rem 0}}.section-alt{background:var(--color-bg-secondary)}.grid{display:grid;gap:1.5rem}.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(1,1fr)}@media(min-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.5rem;font-size:1rem;font-weight:500;border-radius:5px;border:none;cursor:pointer;text-decoration:none}@supports (corner-shape: squircle){.btn{border-radius:12px;corner-shape:squircle}}.btn:hover{text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.btn-primary{background:var(--color-brand);color:#fff}.btn-primary:hover{background:var(--color-brand-light);color:#fff}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--color-button-bg-secondary-hover);color:var(--color-brand-primary)}.btn-outline{background:transparent;color:var(--color-brand);border:1px solid var(--color-brand)}.btn-outline:hover{background:var(--color-brand);color:#fff}.btn-lg{border-radius:8px;padding:.7rem 1.4rem;font-size:1.125rem}@supports (corner-shape: squircle){.btn-lg{border-radius:20px;corner-shape:squircle}}.btn-sm{padding:.25rem 1rem;font-size:.875rem}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.card-elevated{background:var(--color-bg-elevated);box-shadow:var(--shadow-md);border:none}.badge{display:inline-flex;align-items:center;padding:.1rem .7rem;font-size:.9em;font-weight:500;border-radius:9999px;background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.badge-brand{background:color-mix(in srgb,var(--color-brand) 15%,transparent);color:var(--color-brand)}.badge-success{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.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}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-brand) 30%,transparent);color:var(--color-text-primary)}@media(max-width:640px){h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .25s ease-out}.animate-slide-up{animation:slideUp .35s ease-out}.skip-link.svelte-12qhfyh{position:absolute;top:-100px;left:1rem;z-index:500;padding:.5rem 1rem;background:var(--color-brand);color:#fff;border-radius:8px;font-weight:500;text-decoration:none;transition:top .15s ease}.skip-link.svelte-12qhfyh:focus{top:1rem;outline:2px solid white;outline-offset:2px}.app.svelte-12qhfyh{display:flex;flex-direction:column;min-height:100vh}.main.svelte-12qhfyh{flex:1}.main.svelte-12qhfyh:focus{outline:none}
