@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&display=swap";.site-header[data-astro-cid-nen7h5rs]{z-index:50;border-bottom:1px solid var(--color-border-light);-webkit-backdrop-filter:blur(12px);background:#ffffffeb;position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;height:68px;display:flex}.logo-link[data-astro-cid-nen7h5rs]{flex-shrink:0}.logo-img[data-astro-cid-nen7h5rs]{width:auto;height:26px}.main-nav[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-2);display:flex}.nav-list[data-astro-cid-nen7h5rs]{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.nav-link[data-astro-cid-nen7h5rs]{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);align-items:center;font-weight:500;transition:color .2s,background .2s;display:inline-flex}.nav-link[data-astro-cid-nen7h5rs]:hover,.nav-link[data-astro-cid-nen7h5rs].active{color:var(--color-primary);background:var(--color-primary-light)}.nav-cta[data-astro-cid-nen7h5rs]{margin-left:var(--space-3)}.mobile-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;padding:var(--space-2);background:0 0;border:none;display:none}.hamburger[data-astro-cid-nen7h5rs],.hamburger[data-astro-cid-nen7h5rs]:before,.hamburger[data-astro-cid-nen7h5rs]:after{background:var(--color-text);border-radius:1px;width:22px;height:2px;transition:all .3s;display:block}.hamburger[data-astro-cid-nen7h5rs]{position:relative}.hamburger[data-astro-cid-nen7h5rs]:before,.hamburger[data-astro-cid-nen7h5rs]:after{content:"";position:absolute;left:0}.hamburger[data-astro-cid-nen7h5rs]:before{top:-7px}.hamburger[data-astro-cid-nen7h5rs]:after{top:7px}@media (width<=960px){.mobile-toggle[data-astro-cid-nen7h5rs]{display:block}.main-nav[data-astro-cid-nen7h5rs]{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--space-6);gap:var(--space-3);flex-direction:column;display:none;position:absolute;top:68px;left:0;right:0}.main-nav[data-astro-cid-nen7h5rs].open{display:flex}.nav-list[data-astro-cid-nen7h5rs]{flex-direction:column;width:100%}.nav-link[data-astro-cid-nen7h5rs]{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base)}.nav-cta[data-astro-cid-nen7h5rs]{text-align:center;width:100%;margin-left:0}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--color-text);color:#c9d1d9;padding:var(--space-16) 0 var(--space-8)}.footer-grid[data-astro-cid-jo6i4kqk]{gap:var(--space-10);margin-bottom:var(--space-12);grid-template-columns:1.5fr 1fr 1fr 1fr;display:grid}.footer-logo[data-astro-cid-jo6i4kqk]{width:auto;height:22px;margin-bottom:var(--space-4);filter:brightness(0)invert()}.footer-tagline[data-astro-cid-jo6i4kqk]{font-size:var(--font-size-sm);margin-bottom:var(--space-3);line-height:1.6}.footer-note[data-astro-cid-jo6i4kqk]{font-size:var(--font-size-xs);color:#8b949e;line-height:1.6}.footer-note[data-astro-cid-jo6i4kqk] strong[data-astro-cid-jo6i4kqk]{color:#c9d1d9}.footer-col[data-astro-cid-jo6i4kqk] .footer-heading[data-astro-cid-jo6i4kqk]{color:#fff;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-4);font-weight:600}.footer-col[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{padding:0;list-style:none}.footer-col[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{margin-bottom:var(--space-2)}.footer-col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#8b949e;font-size:var(--font-size-sm);transition:color .2s}.footer-col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff}.footer-sibling[data-astro-cid-jo6i4kqk]{padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid #ffffff14}.footer-sibling[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:#c9d1d9;font-size:var(--font-size-sm);margin:0}.footer-sibling[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#fff;text-decoration:underline}.footer-disclaimer[data-astro-cid-jo6i4kqk]{padding:var(--space-4) 0;margin-bottom:var(--space-4);border-top:1px solid #ffffff0f}.footer-disclaimer[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{font-size:var(--font-size-xs);color:#6e7681;max-width:680px;line-height:1.6}.footer-disclaimer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#8b949e}.footer-disclaimer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff}.footer-bottom[data-astro-cid-jo6i4kqk]{padding-top:var(--space-6);font-size:var(--font-size-sm);color:#6e7681;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex}.footer-bottom[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#8b949e}.footer-bottom[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff}.footer-legal-links[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-2);display:flex}.footer-sep[data-astro-cid-jo6i4kqk]{color:#4a5568}@media (width<=768px){.footer-grid[data-astro-cid-jo6i4kqk]{gap:var(--space-8);grid-template-columns:1fr 1fr}.footer-brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}.footer-bottom[data-astro-cid-jo6i4kqk]{gap:var(--space-2);text-align:center;flex-direction:column}}:root{--color-primary:#1f5d86;--color-primary-deep:#153f5c;--color-primary-light:#e8f0f6;--color-primary-lighter:#f0f6fa;--color-primary-glow:#1f5d8640;--color-accent:#0f8b8d;--color-accent-light:#e6f5f5;--color-green:#22a652;--color-green-light:#ecfdf3;--color-amber:#d97706;--color-amber-light:#fef9ec;--color-red:#dc2626;--color-red-light:#fef2f2;--color-dark:#0c1b2a;--color-dark-surface:#122236;--color-dark-border:#ffffff14;--color-bg:#f4f7fa;--color-surface:#fff;--color-text:#1a2332;--color-text-secondary:#52616e;--color-text-muted:#8896a4;--color-border:#d5e0e6;--color-border-light:#e4ebf0;--font-heading:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Fira Code", "Consolas", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--shadow-sm:0 1px 3px #1a23320f;--shadow-md:0 4px 16px #1a233214;--shadow-lg:0 12px 40px #1a23321f;--shadow-xl:0 20px 60px #1a233229;--shadow-glow:0 4px 24px var(--color-primary-glow);--max-width:1200px;--max-width-narrow:900px;--max-width-wide:1400px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color .2s,text-decoration-color .2s}a:hover{color:var(--color-primary-deep)}:where(main,article,.blog-body,.prose,.sheetlink-wrap) a:not([class]){color:var(--color-primary);text-decoration:underline;text-decoration-color:var(--color-primary);text-underline-offset:3px;font-weight:500;text-decoration-thickness:1.5px}:where(main,article,.blog-body,.prose,.sheetlink-wrap) a:not([class]):hover{color:var(--color-primary-deep);text-decoration-color:var(--color-primary-deep);text-decoration-thickness:2px}footer a:not([class]),.site-footer a:not([class]){font-weight:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);letter-spacing:-.02em;font-weight:700;line-height:1.2}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}.container{max-width:var(--max-width);padding:0 var(--space-6);margin:0 auto}.container--narrow{max-width:var(--max-width-narrow);padding:0 var(--space-6);margin:0 auto}.section{padding:var(--space-20) 0}.section--alt{background:var(--color-surface)}.section--tinted{background:var(--color-primary-lighter)}.section--dark{background:var(--color-dark);color:#c9d1d9}.section--dark h2,.section--dark h3{color:#fff}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-heading);font-size:var(--font-size-base);cursor:pointer;border:none;font-weight:700;line-height:1.4;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-glow)}.btn--primary:hover{background:var(--color-primary-deep);color:#fff;box-shadow:0 6px 32px var(--color-primary-glow);transform:translateY(-2px)}.btn--secondary{background:var(--color-surface);color:var(--color-primary);border:1.5px solid var(--color-border)}.btn--secondary:hover{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);transform:translateY(-1px)}.btn--ghost{color:#ffffffd9;background:0 0;border:1.5px solid #fff3}.btn--ghost:hover{color:#fff;background:#ffffff14;border-color:#fff6}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg);border-radius:var(--radius-lg)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);letter-spacing:.03em;text-transform:uppercase;border-radius:100px;font-weight:700;display:inline-flex}.badge--shipped{background:var(--color-green-light);color:var(--color-green)}.badge--progress{background:var(--color-primary-light);color:var(--color-primary)}.badge--next{background:var(--color-accent-light);color:var(--color-accent)}.badge--planned{background:var(--color-amber-light);color:var(--color-amber)}.badge--exploring{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border-light)}.grid{gap:var(--space-6);display:grid}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}@media (width<=1024px){.grid--4,.grid--3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid--4,.grid--3,.grid--2{grid-template-columns:1fr}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-lg)}.section{padding:var(--space-12) 0}.container{padding:0 var(--space-4)}}.section-header{text-align:center;max-width:720px;margin:0 auto var(--space-12)}.section-header h2{margin-bottom:var(--space-4)}.section-header p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.7}.check-list{padding:0;list-style:none}.check-list li{margin-bottom:var(--space-3);padding-left:1.75em;line-height:1.5;position:relative}.check-list li:before{content:"✓";color:var(--color-green);font-weight:700;position:absolute;left:0}.divider{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-8) 0}.skip-link{background:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-4);z-index:100;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.dot-pattern{background-image:radial-gradient(circle,#1f5d860f 1px,#0000 1px);background-size:20px 20px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{opacity:.4}50%{opacity:.7}}.fade-in-up{animation:.6s ease-out both fadeInUp}
