@import "https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--font-sans:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-mono:"Fira Code", "JetBrains Mono", "SF Mono", Menlo, Consolas, Monaco, "Liberation Mono", "Courier New", monospace;--color-primary:#3b6fa0;--color-secondary:#6db58a;--color-primary-dark:#2d5a82;--color-primary-light:#e4eef8;--color-secondary-light:#e8f5ee;--color-accent:#c9a84c;--color-accent-light:#faf3e0;--color-success:#2d7a5f;--color-success-bg:#ecf9f4;--color-success-border:#b8e6d5;--color-error:#b91c1c;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-dark-hover:#334155;--color-dark-border:#334155;--color-dark-text:#e2e8f0;--color-dark-loading:#475569;--color-text:#0f172a;--color-text-light:#475569;--color-background:#f5f5f7;--color-background-hover:#e0e0e2;--color-background-alt:#e0e0e2;--color-border:#d1d5db;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:4rem;--shadow-sm:0 1px 3px #0f172a1a;--shadow-md:0 4px 6px #0f172a1a;--shadow-lg:0 10px 15px -3px #0f172a1a;--shadow-card:0 4px 12px #0000001a;--shadow-card-hover:0 12px 24px #00000026;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.5rem;color-scheme:light}[data-theme=light]{--color-primary:#3b6fa0;--color-secondary:#6db58a;--color-primary-dark:#2d5a82;--color-primary-light:#e4eef8;--color-secondary-light:#e8f5ee;--color-accent:#c9a84c;--color-accent-light:#faf3e0;--color-success:#2d7a5f;--color-success-bg:#ecf9f4;--color-success-border:#b8e6d5;--color-error:#b91c1c;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-dark-hover:#334155;--color-dark-border:#334155;--color-dark-text:#e2e8f0;--color-dark-loading:#475569;--color-text:#0f172a;--color-text-light:#475569;--color-background:#f5f5f7;--color-background-hover:#e0e0e2;--color-background-alt:#fff;--color-border:#d1d5db;color-scheme:light}[data-theme=dark]{--color-background:#282c34;--color-background-hover:#3c424a;--color-background-alt:#3c424a;--color-text:#fff;--color-text-light:#e2e8f0;--color-border:#434c56;--color-primary:#5a9abf;--color-primary-dark:#4a85a8;--color-primary-light:#5a9abf1a;--color-secondary:#7ecf9a;--color-secondary-dark:#1e3a2a;--color-accent:#d4b95f;--color-accent-light:#d4b95f1a;--color-success:#5fd4a9;--color-success-bg:#5fd4a926;--color-success-border:#5fd4a94d;--color-error:#f87171;--color-error-bg:#f8717126;--color-error-border:#f871714d;color-scheme:dark}@media (prefers-color-scheme:dark){[data-theme=system]{--color-background:#282c34;--color-background-hover:#3c424a;--color-background-alt:#3c424a;--color-text:#fff;--color-text-light:#e2e8f0;--color-border:#434c56;--color-primary:#5a9abf;--color-primary-dark:#4a85a8;--color-primary-light:#5a9abf1a;--color-secondary:#7ecf9a;--color-secondary-dark:#1e3a2a;--color-accent:#d4b95f;--color-accent-light:#d4b95f1a;--color-success:#5fd4a9;--color-success-bg:#5fd4a926;--color-success-border:#5fd4a94d;--color-error:#f87171;--color-error-bg:#f8717126;--color-error-border:#f871714d;color-scheme:dark}}html{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-background);font-size:16px;line-height:1.5}body{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{margin-bottom:var(--space-lg);letter-spacing:-.5px;font-size:2.5rem;font-weight:700}h2{margin-bottom:var(--space-md);font-size:2rem}h3{margin-bottom:var(--space-md);font-size:1.5rem}p{margin-bottom:var(--space-lg)}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark);text-decoration:underline}img{max-width:100%;height:auto}ul,ol{margin-left:2rem;margin-bottom:var(--space-md)}li{margin-bottom:.5rem}.container{width:100%;max-width:800px;padding:var(--space-lg);text-align:left;margin:0 auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-container{max-width:800px;padding:0 var(--space-lg);justify-content:end;align-items:center;margin:0 auto;display:flex}.logo{color:var(--color-text);letter-spacing:-.5px;font-size:1.5rem;font-weight:700}.social-links{gap:1.5rem;display:flex}.social-links a{color:var(--color-text-light);transition:color .2s}.social-links a:hover{color:var(--color-primary)}.btn-link{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-light), #ffffff0d);border:1px solid var(--color-primary);color:var(--color-text);align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 2px 4px #0000001a}.btn-link:hover{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;border-color:var(--color-primary-dark);text-decoration:none;box-shadow:0 4px 12px #3b6fa04d}.btn-link-external:after{content:"↗";opacity:.7;margin-left:.5rem;font-size:.8rem;transition:all .3s}.btn-link-external:hover:after{opacity:1}.btn-link.small{padding:.6rem 1.2rem;font-size:.9rem}.btn-link.list{text-align:left;width:100%;margin-bottom:.75rem;display:block}@media (prefers-color-scheme:dark){.btn-link{background:linear-gradient(135deg, var(--color-primary-light), #5a9abf0d);border-color:var(--color-primary);color:var(--color-text)}.btn-link:hover{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));box-shadow:0 4px 12px #5a9abf66}}@media (width<=768px){.btn-link{padding:.65rem 1.25rem;font-size:.95rem}.btn-link.small{padding:.5rem 1rem;font-size:.85rem}}pre{font-family:var(--font-mono);padding:var(--space-lg);border-radius:var(--radius-md);margin:var(--space-lg) 0;tab-size:2;background-color:#1e1e1e;overflow-x:auto}.code-block,.code-block code{tab-size:2!important}code{font-family:var(--font-mono);tab-size:2;font-size:.9em}:not(pre)>code{background-color:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-sm);padding:.2em .4em}@media (width<=768px){html{font-size:14px}.container{padding:1.5rem}h1{font-size:2rem}}@media print{.container{padding:0}h1,h2,h3,h4,h5,h6,p{margin-bottom:.5rem}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}::view-transition-old(root){animation:.4s cubic-bezier(.4,0,.2,1) both fade-out}::view-transition-new(root){animation:.4s cubic-bezier(.4,0,.2,1) both fade-in}.page-transitioning{cursor:wait}.page-transitioning *{pointer-events:none}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.loading-indicator[data-astro-cid-f2fqehlv]{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));z-index:9999;height:3px;animation:1s ease-in-out infinite loading-progress;position:fixed;top:0;left:0;right:0}.loading-spinner[data-astro-cid-f2fqehlv]{background:inherit;width:100%;height:100%;animation:1s ease-in-out infinite loading-slide}@keyframes loading-progress{0%{transform:translate(-100%)}50%{transform:translate(0%)}to{transform:translate(100%)}}@keyframes loading-slide{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@media (prefers-reduced-motion:reduce){.loading-indicator[data-astro-cid-f2fqehlv],.loading-spinner[data-astro-cid-f2fqehlv]{animation:none}}#themeToggle[data-astro-cid-l6lhmie6]{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}svg[data-astro-cid-l6lhmie6]{transition:transform .3s cubic-bezier(.4,0,.2,1)}.sun[data-astro-cid-l6lhmie6],.moon[data-astro-cid-l6lhmie6]{fill:#0000;stroke:#0000;transform-origin:50%;transition:all .3s cubic-bezier(.4,0,.2,1)}.js-loaded .sun[data-astro-cid-l6lhmie6]{fill:currentColor;stroke:currentColor;opacity:1;transform:scale(1)rotate(0)}.js-loaded.dark .sun[data-astro-cid-l6lhmie6]{fill:#0000;stroke:#0000;opacity:0;transform:scale(.8)rotate(180deg)}.js-loaded.dark .moon[data-astro-cid-l6lhmie6]{fill:#fff;stroke:#fff;opacity:1;transform:scale(1)rotate(0)}.js-loaded:not(.dark) .moon[data-astro-cid-l6lhmie6]{opacity:0;transform:scale(.8)rotate(-180deg)}@keyframes sunRayRotate{0%{transform:scale(1)rotate(0)}to{transform:scale(1)rotate(360deg)}}.js-loaded:not(.dark) .sun[data-astro-cid-l6lhmie6]{animation:20s linear infinite sunRayRotate}.sr-only[data-astro-cid-l6lhmie6]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.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}.main-nav[data-astro-cid-ju4pidww]{align-items:center;gap:1.5rem;height:44px;display:flex}.main-nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]{color:var(--color-text);padding:var(--space-sm);font-weight:500;transition:color .2s}.main-nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]:hover{text-decoration:none}.main-nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww].active{border-bottom:3px solid var(--color-primary)}.main-nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]:not(.active):hover{border-radius:var(--radius-sm);background-color:var(--color-background-hover)}.site-footer[data-astro-cid-ju4pidww]{border-top:1px solid var(--color-border);background-color:var(--color-background-hover);margin-top:auto;padding:2rem 0}.site-header[data-astro-cid-ju4pidww]{border-bottom:1px solid var(--color-border);background-color:var(--color-background);padding:1rem 0}.footer-container[data-astro-cid-ju4pidww]{max-width:800px;padding:0 var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.footer-container[data-astro-cid-ju4pidww] p[data-astro-cid-ju4pidww]{color:var(--color-text-light);margin-bottom:0}@media print{.site-header[data-astro-cid-ju4pidww],.site-footer[data-astro-cid-ju4pidww]{display:none}}@media (prefers-color-scheme:dark){.site-footer[data-astro-cid-ju4pidww]{background-color:var(--color-background)}}.social-links[data-astro-cid-ju4pidww]{gap:1.5rem;display:flex}.social-links[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]{color:var(--color-text-light);transition:color .2s}.social-links[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]:hover{color:var(--color-primary)}@media (width<=768px){.main-nav[data-astro-cid-ju4pidww]{justify-content:center}.header-container[data-astro-cid-ju4pidww],.footer-container[data-astro-cid-ju4pidww]{text-align:center;flex-direction:column;gap:1rem}.social-links[data-astro-cid-ju4pidww]{justify-content:center}}
