.btn[data-astro-cid-ekguhzzh]{white-space:nowrap;transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out), background-color .3s;border-radius:999px;justify-content:center;align-items:center;gap:.5em;font-weight:600;display:inline-flex}.btn[data-astro-cid-ekguhzzh]:hover{transform:translateY(-2px)}.btn-disabled[data-astro-cid-ekguhzzh]{cursor:not-allowed;opacity:.6;border:0;font-family:inherit}.btn-disabled[data-astro-cid-ekguhzzh].btn:hover{background-position:0 0;transform:none}.btn-md[data-astro-cid-ekguhzzh]{font-size:var(--fs-sm);padding:10px 20px}.btn-lg[data-astro-cid-ekguhzzh]{font-size:var(--fs-md);padding:14px 28px}.btn-primary[data-astro-cid-ekguhzzh]{color:#fff;background:linear-gradient(110deg, var(--blue-500), var(--sakura-400) 70%, var(--coral-400));transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out), background-position .6s var(--ease-out);background-size:160% 100%;box-shadow:0 10px 24px -10px #5b8acbb3}.btn-primary[data-astro-cid-ekguhzzh]:hover{background-position:100% 0;box-shadow:0 14px 30px -10px #ee93aacc}.btn-secondary[data-astro-cid-ekguhzzh]{color:var(--ink-900);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border), var(--shadow-card)}.btn-ghost[data-astro-cid-ekguhzzh]{color:var(--blue-600);padding-inline:4px}.email-at[data-astro-cid-pq4ue42j]:before{content:"@"}.logo[data-astro-cid-f7espo7c]{align-items:center;line-height:0;display:inline-flex}.logo[data-astro-cid-f7espo7c] svg{height:var(--logo-h);width:auto}.site-footer[data-astro-cid-jo6i4kqk]{background:linear-gradient(180deg, var(--bg), var(--blue-50));border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--ink-500);padding-top:80px;position:relative}.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:2fr repeat(3,1fr);gap:40px;display:grid}.brand[data-astro-cid-jo6i4kqk]{align-content:start;gap:12px;display:grid}.brand[data-astro-cid-jo6i4kqk] .mail{justify-self:start}.brand[data-astro-cid-jo6i4kqk] .mail:hover,.group[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.icp[data-astro-cid-jo6i4kqk]:hover{color:var(--blue-600)}h3[data-astro-cid-jo6i4kqk]{font-size:var(--fs-sm);color:var(--ink-900);margin-bottom:16px}ul[data-astro-cid-jo6i4kqk]{gap:10px;margin:0;padding:0;list-style:none;display:grid}.bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);font-size:var(--fs-xs);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-block:24px;display:flex}@media (width<=760px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:var(--header-h);transition:background-color .4s,box-shadow .4s,backdrop-filter .4s;position:fixed;inset:0 0 auto}.site-header[data-astro-cid-nen7h5rs].is-scrolled,.site-header[data-astro-cid-nen7h5rs].is-open{-webkit-backdrop-filter:saturate(1.6)blur(16px);box-shadow:0 1px 0 var(--border);background:#fbfcfec7}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.nav[data-astro-cid-nen7h5rs]{align-items:center;gap:32px;display:flex}.nav[data-astro-cid-nen7h5rs]>ul[data-astro-cid-nen7h5rs]{gap:28px;margin:0;padding:0;list-style:none;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.btn){font-size:var(--fs-sm);color:var(--ink-700);font-weight:500;transition:color .2s}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.btn):hover,.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--blue-600)}.has-children[data-astro-cid-nen7h5rs]{position:relative}.submenu[data-astro-cid-nen7h5rs]{border-radius:var(--radius-md);background:var(--surface);min-width:200px;box-shadow:var(--shadow-soft), inset 0 0 0 1px var(--border);opacity:0;visibility:hidden;transition:opacity .25s, transform .35s var(--ease-out), visibility .25s;margin:0;padding:8px;list-style:none;position:absolute;top:calc(100% + 12px);left:-16px;transform:translateY(-6px)}.submenu[data-astro-cid-nen7h5rs]:before{content:"";height:12px;position:absolute;inset:-12px 0 auto}.has-children[data-astro-cid-nen7h5rs]:hover .submenu[data-astro-cid-nen7h5rs],.has-children[data-astro-cid-nen7h5rs]:focus-within .submenu[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;transform:none}.submenu[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);padding:10px 12px;display:block}.submenu[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:var(--blue-50)}.progress[data-astro-cid-nen7h5rs]{background:var(--gradient-brand);height:2px;position:absolute;bottom:0;left:0;right:0}.menu-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;background:0 0;border:0;width:44px;height:44px;display:none;position:relative}.bars[data-astro-cid-nen7h5rs],.bars[data-astro-cid-nen7h5rs]:before,.bars[data-astro-cid-nen7h5rs]:after{background:var(--ink-900);width:20px;height:2px;transition:transform .35s var(--ease-out), opacity .2s;border-radius:2px;position:absolute;left:12px}.bars[data-astro-cid-nen7h5rs]{top:21px}.bars[data-astro-cid-nen7h5rs]:before,.bars[data-astro-cid-nen7h5rs]:after{content:"";left:0}.bars[data-astro-cid-nen7h5rs]:before{transform:translateY(-6px)}.bars[data-astro-cid-nen7h5rs]:after{transform:translateY(6px)}.is-open[data-astro-cid-nen7h5rs] .bars[data-astro-cid-nen7h5rs]{background:0 0}.is-open[data-astro-cid-nen7h5rs] .bars[data-astro-cid-nen7h5rs]:before{transform:rotate(45deg)}.is-open[data-astro-cid-nen7h5rs] .bars[data-astro-cid-nen7h5rs]:after{transform:rotate(-45deg)}@media (width<=860px){.menu-toggle[data-astro-cid-nen7h5rs]{display:block}.nav[data-astro-cid-nen7h5rs]{inset:var(--header-h) 0 0;padding:24px var(--gutter) 40px;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .3s, transform .4s var(--ease-out), visibility .3s;flex-direction:column;align-items:stretch;gap:24px;position:fixed;overflow-y:auto;transform:translateY(-8px)}.is-open[data-astro-cid-nen7h5rs] .nav[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;transform:none}.nav[data-astro-cid-nen7h5rs]>ul[data-astro-cid-nen7h5rs]{flex-direction:column;gap:4px}.nav[data-astro-cid-nen7h5rs]>ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{font-size:var(--fs-lg);padding:12px 0;display:block}.submenu[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;box-shadow:none;background:0 0;padding:0 0 8px 12px;position:static;transform:none}}:root{color-scheme:light;--blue-50:#f2f7fd;--blue-100:#e3edf9;--blue-200:#c6daf2;--blue-300:#a3c2e8;--blue-400:#7ea6db;--blue-500:#5b8acb;--blue-600:#406fb0;--blue-700:#2f5486;--sakura-50:#fff5f7;--sakura-100:#fde7ec;--sakura-200:#facfd9;--sakura-300:#f5b3c3;--sakura-400:#ee93aa;--sakura-500:#d9678a;--coral-50:#fff6f2;--coral-100:#ffe8de;--coral-200:#fdd0be;--coral-300:#fab59a;--coral-400:#f59a78;--coral-500:#de7552;--ink-900:#1c2638;--ink-700:#3a465c;--ink-500:#66728a;--ink-300:#a6afc0;--ink-100:#e7eaf0;--bg:#fbfcfe;--surface:#fff;--text:var(--ink-900);--text-muted:var(--ink-500);--border:var(--ink-100);--gradient-brand:linear-gradient(120deg, var(--blue-400) 0%, var(--sakura-300) 55%, var(--coral-300) 100%);--gradient-text:linear-gradient(100deg, var(--blue-600) 0%, var(--sakura-500) 55%, var(--coral-500) 100%);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--fs-xs:.8125rem;--fs-sm:.9375rem;--fs-md:1.0625rem;--fs-lg:clamp(1.125rem, 1rem + .5vw, 1.375rem);--fs-xl:clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);--fs-2xl:clamp(2rem, 1.4rem + 2.6vw, 3.5rem);--fs-3xl:clamp(2.5rem, 1.6rem + 4.2vw, 5.25rem);--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--radius-xl:40px;--shadow-soft:0 24px 60px -28px #2f548647;--shadow-card:0 1px 2px #1c26380a, 0 12px 32px -16px #2f548638;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--container:1200px;--gutter:clamp(16px, 4vw, 40px);--header-h:72px;--section-y:clamp(80px, 12vw, 160px)}[data-accent=blue]{--accent:var(--blue-500);--accent-strong:var(--blue-700);--accent-soft:var(--blue-100);--accent-tint:var(--blue-50)}[data-accent=sakura]{--accent:var(--sakura-400);--accent-strong:var(--sakura-500);--accent-soft:var(--sakura-100);--accent-tint:var(--sakura-50)}[data-accent=coral]{--accent:var(--coral-400);--accent-strong:var(--coral-500);--accent-soft:var(--coral-100);--accent-tint:var(--coral-50)}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out), filter .9s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform}.js [data-reveal=up]{transform:translateY(32px)}.js [data-reveal=down]{transform:translateY(-32px)}.js [data-reveal=left]{transform:translate(40px)}.js [data-reveal=right]{transform:translate(-40px)}.js [data-reveal=scale]{transform:scale(.94)}.js [data-reveal=blur]{filter:blur(12px)}.js [data-reveal].is-visible{opacity:1;filter:none;transform:none}[data-reveal-stagger]>[data-reveal]{--reveal-delay:calc(var(--stagger-index,0) * var(--stagger-step,90ms))}[data-parallax]{transform:translate3d(0, var(--parallax-y,0px), 0);will-change:transform}.counter{font-variant-numeric:tabular-nums}[data-page-progress]{transform-origin:0;transform:scaleX(var(--page-progress,0))}@keyframes float{0%,to{transform:translate3d(0, 0, 0) rotate(var(--float-rotate,0deg))}50%{transform:translate3d(0, -14px, 0) rotate(var(--float-rotate,0deg))}}@keyframes pulse-glow{0%,to{opacity:.55}50%{opacity:1}}@keyframes blob-drift{0%,to{transform:translate(0,0)scale(1)}33%{transform:translate(4%,-6%)scale(1.06)}66%{transform:translate(-5%,4%)scale(.96)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-parallax]{transform:none}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.65;overflow-x:hidden}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.15}p{text-wrap:pretty;margin:0}:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px;border-radius:4px}::selection{background:var(--sakura-200)}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y);position:relative}.eyebrow{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong,var(--blue-600));align-items:center;gap:.5em;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--gradient-brand);border-radius:2px;width:18px;height:2px}.gradient-text{background:var(--gradient-text);color:#0000;-webkit-background-clip:text;background-clip:text}.lead{font-size:var(--fs-lg);color:var(--text-muted);max-width:38em}.section-head{gap:16px;max-width:720px;margin-bottom:clamp(40px,6vw,72px);display:grid}.section-head h2{font-size:var(--fs-2xl)}.section-head.center{text-align:center;justify-items:center;margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.prose{max-width:720px;color:var(--ink-700)}.prose>*+*{margin-top:1.1em}.prose h2{font-size:var(--fs-xl);color:var(--text);margin-top:2em}.prose h3{font-size:var(--fs-lg);color:var(--text);margin-top:1.6em}.prose a{color:var(--blue-600);text-underline-offset:3px;text-decoration:underline}.prose ol,.prose ul{padding-left:1.4em}.prose li+li{margin-top:.5em}.prose strong{color:var(--text)}.prose blockquote{border-left:3px solid var(--coral-300);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--coral-50);font-size:var(--fs-sm);margin-inline:0;padding:16px 20px}.prose code{font-family:var(--font-mono);background:var(--blue-50);border-radius:6px;padding:.15em .4em;font-size:.9em}.skip-link[data-astro-cid-z4jru4n3]{z-index:100;background:var(--ink-900);color:#fff;border-radius:8px;padding:8px 14px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link[data-astro-cid-z4jru4n3]:focus{transform:none}
