.theme-toggle[data-astro-cid-l6lhmie6]{border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-paper-raised) 68%, transparent);width:2.55rem;height:2.55rem;color:var(--color-ink-soft);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), translate var(--transition-fast);border-radius:.85rem;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden}.theme-toggle[data-astro-cid-l6lhmie6]:before{background:var(--color-ice-100);content:"";opacity:0;width:1.7rem;height:1.7rem;transition:opacity var(--transition-fast), scale var(--transition-base);border-radius:50%;position:absolute;scale:.6}.theme-toggle[data-astro-cid-l6lhmie6]:hover{border-color:var(--color-ice-300);color:var(--color-ice-700);translate:0 -1px}.theme-toggle[data-astro-cid-l6lhmie6]:hover:before{opacity:1;scale:1}.theme-toggle__glyph[data-astro-cid-l6lhmie6]{z-index:1;place-items:center;width:1.15rem;height:1.15rem;font-size:1rem;line-height:1;display:grid;position:relative}.theme-toggle__sun[data-astro-cid-l6lhmie6],.theme-toggle__moon[data-astro-cid-l6lhmie6]{transition:opacity var(--transition-base), rotate var(--transition-base), scale var(--transition-base);grid-area:1/1}.theme-toggle__moon[data-astro-cid-l6lhmie6]{opacity:0;rotate:-30deg;scale:.65}.theme-toggle[data-astro-cid-l6lhmie6][data-active-theme=dark] .theme-toggle__sun[data-astro-cid-l6lhmie6]{opacity:0;rotate:30deg;scale:.65}.theme-toggle[data-astro-cid-l6lhmie6][data-active-theme=dark] .theme-toggle__moon[data-astro-cid-l6lhmie6]{opacity:1;rotate:0deg;scale:1}.language-toggle[data-astro-cid-ra2rg4ph]{border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-paper-raised) 68%, transparent);height:2.35rem;color:var(--color-ink-faint);font-family:var(--font-mono);border-radius:.78rem;align-items:center;gap:.1rem;padding:.18rem;font-size:.65rem;display:inline-flex}.language-toggle[data-astro-cid-ra2rg4ph] button[data-astro-cid-ra2rg4ph]{min-width:2rem;height:1.8rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:.55rem;font-weight:750}.language-toggle[data-astro-cid-ra2rg4ph] button[data-astro-cid-ra2rg4ph][aria-pressed=true]{background:var(--color-ice-100);color:var(--color-ice-700)}@media (width<=34rem){.language-toggle[data-astro-cid-ra2rg4ph]{height:2.2rem}.language-toggle[data-astro-cid-ra2rg4ph] button[data-astro-cid-ra2rg4ph]{min-width:1.65rem}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:var(--header-height);pointer-events:none;padding-inline:.5rem;position:sticky;top:0}.site-header__inner[data-astro-cid-nen7h5rs]{width:100%;max-width:var(--content-width);min-height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-4);border:1px solid color-mix(in srgb, var(--color-line) 64%, transparent);background:var(--color-glass);box-shadow:var(--shadow-float);backdrop-filter:blur(20px)saturate(130%);pointer-events:auto;border-top:0;border-radius:0 0 1rem 1rem;margin-inline:auto;padding:.45rem clamp(.75rem,3vw,2rem);display:flex}.site-brand[data-astro-cid-nen7h5rs]{align-items:center;gap:.72rem;min-width:0;padding-right:.45rem;text-decoration:none;display:inline-flex}.site-brand__mark[data-astro-cid-nen7h5rs]{width:2rem;height:2rem;color:var(--color-ice-500);flex:none;place-items:center;display:grid;position:relative}.site-brand__mark[data-astro-cid-nen7h5rs]:after{display:none}.site-brand__mark[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{z-index:1;font-size:1.35rem;line-height:1;position:relative}.site-brand__copy[data-astro-cid-nen7h5rs]{line-height:1.1;display:grid}.site-brand[data-astro-cid-nen7h5rs] strong[data-astro-cid-nen7h5rs]{font-family:var(--font-display);letter-spacing:.01em;font-size:1.08rem;font-weight:800}.site-brand[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{max-width:16rem;color:var(--color-ink-faint);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;margin-top:.22rem;font-size:.66rem;overflow:hidden}.desktop-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs],.site-header__actions[data-astro-cid-nen7h5rs]{align-items:center;display:flex}.desktop-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.18rem}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.editor-link[data-astro-cid-nen7h5rs]{min-height:2.55rem;color:var(--color-ink-soft);font-size:var(--step--1);transition:background-color var(--transition-fast), color var(--transition-fast), translate var(--transition-fast);border-radius:.75rem;align-items:center;gap:.24rem;padding:0 .86rem;font-weight:720;text-decoration:none;display:inline-flex}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{background:var(--color-ice-100);color:var(--color-ice-700)}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{translate:0 -1px}.nav-external[data-astro-cid-nen7h5rs]{color:var(--color-coral-500);font-size:.72rem}.site-header__actions[data-astro-cid-nen7h5rs]{gap:.38rem}.editor-link[data-astro-cid-nen7h5rs]{background:color-mix(in srgb, var(--color-ice-100) 62%, transparent);border:0;font-size:.76rem}.editor-link[data-astro-cid-nen7h5rs]:hover{border-color:var(--color-ice-300);background:var(--color-ice-100);color:var(--color-ice-700)}.mobile-nav[data-astro-cid-nen7h5rs]{display:none;position:relative}.mobile-nav[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-paper-raised) 68%, transparent);cursor:pointer;border-radius:.85rem;place-items:center;width:2.55rem;height:2.55rem;list-style:none;display:grid}.mobile-nav[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.mobile-nav[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs][aria-hidden=true],.mobile-nav[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs][aria-hidden=true]:before,.mobile-nav[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs][aria-hidden=true]:after{border-radius:var(--radius-pill);background:var(--color-ink);content:"";width:1rem;height:2px;transition:var(--transition-fast);display:block}.mobile-nav[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs][aria-hidden=true]:before{translate:0 -.32rem}.mobile-nav[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs][aria-hidden=true]:after{translate:0 .2rem}.mobile-nav[data-astro-cid-nen7h5rs][open] summary[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs][aria-hidden=true]{background:0 0}.mobile-nav[data-astro-cid-nen7h5rs][open] summary[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs][aria-hidden=true]:before{translate:0;rotate:45deg}.mobile-nav[data-astro-cid-nen7h5rs][open] summary[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs][aria-hidden=true]:after{translate:0 -2px;rotate:-45deg}.mobile-nav[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs]{width:min(18rem, calc(100vw - (var(--page-gutter) * 2)));border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-paper-raised);box-shadow:var(--shadow-soft);padding:.55rem;position:absolute;top:calc(100% + .7rem);right:0}.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-md);min-height:3rem;color:var(--color-ink-soft);justify-content:space-between;align-items:center;padding:.65rem .85rem;font-weight:700;text-decoration:none;display:flex}.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{background:var(--color-ice-100);color:var(--color-ice-700)}@media (width<=48rem){.desktop-nav[data-astro-cid-nen7h5rs],.editor-link[data-astro-cid-nen7h5rs]{display:none}.mobile-nav[data-astro-cid-nen7h5rs]{display:block}}@media (width<=34rem){.site-header[data-astro-cid-nen7h5rs]{padding-inline:.35rem}.site-header__inner[data-astro-cid-nen7h5rs]{border-radius:1.15rem;min-height:3.6rem;padding:.35rem .4rem .35rem .55rem}.site-brand__mark[data-astro-cid-nen7h5rs]{width:2.35rem;height:2.35rem}.site-brand[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{padding-block:var(--space-4) var(--space-5)}.site-footer__card[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-5) var(--space-6);padding:var(--space-4) 0;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.site-footer__intro[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-3);min-width:0;display:flex}.site-footer__mark[data-astro-cid-jo6i4kqk]{background:var(--color-ice-100);width:2.65rem;height:2.65rem;color:var(--color-ice-700);border-radius:50%;flex:none;place-items:center;display:grid}.site-footer__name[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);font-size:var(--step-1);font-weight:800;line-height:1.2}.site-footer__description[data-astro-cid-jo6i4kqk]{max-width:38rem;color:var(--color-ink-soft);font-size:var(--step--1);margin-top:.2rem}.site-footer__links[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk],.site-footer__quiet-links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.site-footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.site-footer__quiet-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border-radius:var(--radius-pill);min-height:2.35rem;color:var(--color-ink-soft);transition:background-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:.2rem;padding:.45rem .78rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.site-footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-paper-raised) 68%, transparent)}.site-footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.site-footer__quiet-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{background:var(--color-ice-100);color:var(--color-ice-700)}.site-footer__links[data-astro-cid-jo6i4kqk] .site-footer__icon{flex:none;width:1rem;height:1rem}.site-footer__links[data-astro-cid-jo6i4kqk] .site-footer__external-icon{color:var(--color-coral-500);flex:none}.site-footer__meta[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--color-line);padding-top:var(--space-4);color:var(--color-ink-faint);grid-column:1/-1;font-size:.75rem;display:flex}.site-footer__quiet-links[data-astro-cid-jo6i4kqk]{justify-content:flex-end}.site-footer__quiet-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:auto;padding:.25rem .52rem}@media (width<=48rem){.site-footer__card[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}.site-footer__meta[data-astro-cid-jo6i4kqk]{grid-column:auto}}@media (width<=34rem){.site-footer__meta[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start}.site-footer__quiet-links[data-astro-cid-jo6i4kqk]{justify-content:flex-start}}.site-banner[data-astro-cid-qoki2s7y]{min-height:clamp(22rem,36vw,28rem);margin-top:calc(var(--header-height) * -1);background:var(--banner-image,linear-gradient(135deg, #eee9e5 0%, #e7e5e9 52%, #f0e3e6 100%));padding-top:var(--header-height);isolation:isolate;background-position:50%;background-repeat:no-repeat;background-size:cover;position:relative;overflow:hidden}.site-banner--full-image[data-astro-cid-qoki2s7y]{background-color:#000;background-image:none;height:clamp(25rem,42vw,38rem);min-height:25rem;padding-top:0}.site-banner__image[data-astro-cid-qoki2s7y]{object-fit:cover;object-position:center;width:100%;max-width:none;height:100%;position:absolute;inset:0}.site-banner--full-image[data-astro-cid-qoki2s7y] .site-banner__content[data-astro-cid-qoki2s7y]{height:100%;min-height:0;padding-top:var(--header-height);position:absolute;inset:0}.site-banner--full-image[data-astro-cid-qoki2s7y] .site-banner__ridge[data-astro-cid-qoki2s7y],.site-banner[data-astro-cid-qoki2s7y]:before{display:none}:root[data-theme=dark] .site-banner[data-astro-cid-qoki2s7y]{background:var(--banner-image,linear-gradient(135deg, #29272d 0%, #353238 52%, #43363b 100%))}@media (prefers-color-scheme:dark){:root:not([data-theme]) .site-banner[data-astro-cid-qoki2s7y]{background:var(--banner-image,linear-gradient(135deg, #29272d 0%, #353238 52%, #43363b 100%))}}.site-banner--compact[data-astro-cid-qoki2s7y]{min-height:clamp(18rem,28vw,22rem)}.site-banner__sky[data-astro-cid-qoki2s7y],.site-banner__moon[data-astro-cid-qoki2s7y],.site-banner__cloud[data-astro-cid-qoki2s7y]{display:none}.site-banner__sky[data-astro-cid-qoki2s7y]{z-index:-4;opacity:.72;background-image:radial-gradient(circle,#ffffffd1 0 1px,#0000 1.45px),radial-gradient(circle,#ffffff85 0 1px,#0000 1.5px),radial-gradient(circle,#ffffff61 0 1.5px,#0000 2px);background-position:0 0,2.5rem 1.8rem,4rem 3.6rem;background-size:7rem 7rem,10rem 10rem,13rem 13rem;position:absolute;inset:0;mask-image:linear-gradient(#000 0 72%,#0000 100%)}.site-banner__moon[data-astro-cid-qoki2s7y]{z-index:-2;top:24%;right:max(8%, calc((100vw - var(--content-width)) / 2 + 3rem));aspect-ratio:1;opacity:.74;background:radial-gradient(circle at 33% 29%,#fffef6,#eeeafd 59%,#c4c8ea 100%);border:1px solid #ffffff80;border-radius:50%;width:clamp(4.5rem,8vw,6.5rem);position:absolute;box-shadow:0 0 0 1rem #ffffff0b,0 0 4rem #e1ddff61}.site-banner__cloud[data-astro-cid-qoki2s7y]{z-index:-1;filter:blur(18px);background:#ffffff2b;border-radius:50%;width:clamp(13rem,29vw,25rem);height:3.6rem;position:absolute}.site-banner__cloud--one[data-astro-cid-qoki2s7y]{top:43%;right:4%;rotate:-5deg}.site-banner__cloud--two[data-astro-cid-qoki2s7y]{opacity:.62;top:27%;left:5%;rotate:4deg;scale:.75}.site-banner__ridge[data-astro-cid-qoki2s7y]{z-index:2;background:linear-gradient(to bottom, transparent 0 56%, var(--color-paper) 57% 100%);height:clamp(5.5rem,10vw,8.5rem);position:absolute;bottom:-1px;left:-4%;right:-4%;overflow:hidden}.site-banner__ridge[data-astro-cid-qoki2s7y]:before,.site-banner__ridge[data-astro-cid-qoki2s7y]:after,.site-banner__ridge[data-astro-cid-qoki2s7y] span[data-astro-cid-qoki2s7y]{content:"";border-radius:50% 50% 0 0/100% 100% 0 0;position:absolute}.site-banner__ridge[data-astro-cid-qoki2s7y]:before{background:color-mix(in srgb, var(--color-paper) 88%, white);width:70%;height:124%;bottom:-52%;left:-8%;rotate:3deg}.site-banner__ridge[data-astro-cid-qoki2s7y]:after{background:var(--color-paper);width:76%;height:120%;bottom:-48%;right:-10%;rotate:-3deg}.site-banner__ridge[data-astro-cid-qoki2s7y] span[data-astro-cid-qoki2s7y]:first-child{background:#ffffff57;width:55%;height:106%;bottom:-45%;left:20%;rotate:-2deg}.site-banner__ridge[data-astro-cid-qoki2s7y] span[data-astro-cid-qoki2s7y]:nth-child(2){background:color-mix(in srgb, var(--color-ice-100) 62%, transparent);width:48%;height:124%;bottom:-66%;right:16%;rotate:5deg}.site-banner__ridge[data-astro-cid-qoki2s7y] span[data-astro-cid-qoki2s7y]:nth-child(3){background:#ffffff38;width:45%;height:128%;bottom:-74%;left:-4%;rotate:-5deg}.site-banner__content[data-astro-cid-qoki2s7y]{z-index:1;min-height:calc(clamp(22rem, 36vw, 28rem) - var(--header-height));color:#fffffff5;text-align:center;text-shadow:0 .15rem .35rem #13183661;place-content:center;justify-items:center;padding-bottom:clamp(5rem,9vw,7.25rem);display:grid;position:relative}.site-banner--compact[data-astro-cid-qoki2s7y] .site-banner__content[data-astro-cid-qoki2s7y]{min-height:calc(clamp(18rem, 28vw, 22rem) - var(--header-height));padding-bottom:clamp(4.5rem,8vw,6rem)}.site-banner__eyebrow[data-astro-cid-qoki2s7y]{margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.12em;opacity:.78;text-transform:uppercase;font-weight:700}.site-banner__title[data-astro-cid-qoki2s7y]{max-width:19ch;color:inherit;font-family:var(--font-display);letter-spacing:-.04em;text-wrap:balance;font-size:clamp(2.25rem,5.2vw,4.25rem);font-weight:760;line-height:1}.site-banner--compact[data-astro-cid-qoki2s7y] .site-banner__title[data-astro-cid-qoki2s7y]{font-size:clamp(2rem,4.2vw,3.5rem)}.site-banner__description[data-astro-cid-qoki2s7y]{max-width:39rem;margin-top:var(--space-3);font-size:var(--step-1);opacity:.88}.site-banner--decorative[data-astro-cid-qoki2s7y]{min-height:clamp(17rem,30vw,22rem)}@media (width<=40rem){.site-banner[data-astro-cid-qoki2s7y],.site-banner__content[data-astro-cid-qoki2s7y]{min-height:21rem}.site-banner--full-image[data-astro-cid-qoki2s7y]{height:26rem;min-height:26rem}.site-banner--full-image[data-astro-cid-qoki2s7y] .site-banner__content[data-astro-cid-qoki2s7y]{height:auto;min-height:18rem;padding-top:var(--header-height);background:linear-gradient(#0000,#000000eb 28%);position:relative;inset:auto}.site-banner--compact[data-astro-cid-qoki2s7y],.site-banner--compact[data-astro-cid-qoki2s7y] .site-banner__content[data-astro-cid-qoki2s7y]{min-height:18rem}.site-banner__moon[data-astro-cid-qoki2s7y]{opacity:.55;top:30%;right:6%}.site-banner__title[data-astro-cid-qoki2s7y]{max-width:12ch;font-size:clamp(2.15rem,9vw,3.25rem)}.site-banner__description[data-astro-cid-qoki2s7y]{max-width:29rem;font-size:.9rem}}@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%;min-width:20rem}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,picture,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}}@layer tokens{:root{color-scheme:light;--color-paper:#f7f6fc;--color-paper-raised:#fff;--color-paper-soft:#fbfaff;--color-glass:#ffffffdb;--color-ink:#302d3a;--color-ink-soft:#666173;--color-ink-faint:#8b8498;--color-line:#ece8f3;--color-line-strong:#dcd5e8;--color-ice-50:#f7f3ff;--color-ice-100:#f0eaff;--color-ice-300:#d1c2f3;--color-ice-500:#a27adb;--color-ice-700:#7954b2;--color-coral-100:#fff0f7;--color-coral-400:#e890b7;--color-coral-500:#d66b9d;--color-coral-700:#9d3d6a;--color-sky-100:#d9e5ff;--color-sky-300:#afc3f5;--color-sky-500:#7789d4;--color-focus:#6555ce;--color-selection:#ded8ff;--color-code:#eeebf8;--shadow-soft:0 1.25rem 3.5rem #4a37691a;--shadow-card:0 .4rem 1.35rem #4a376913;--shadow-float:0 .35rem 1.15rem #4a37691a;--font-display:Raleway, ui-rounded, "SF Pro Rounded", "Nunito Sans", "Segoe UI", sans-serif;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--step--1:clamp(.72rem, .7rem + .1vw, .8rem);--step-0:clamp(.88rem, .85rem + .15vw, .98rem);--step-1:clamp(1.02rem, .97rem + .25vw, 1.2rem);--step-2:clamp(1.22rem, 1.12rem + .45vw, 1.55rem);--step-3:clamp(1.5rem, 1.32rem + .75vw, 2.05rem);--step-4:clamp(1.85rem, 1.55rem + 1.3vw, 2.8rem);--step-5:clamp(2.25rem, 1.8rem + 2vw, 3.8rem);--space-1:.375rem;--space-2:.625rem;--space-3:.875rem;--space-4:1.25rem;--space-5:1.75rem;--space-6:2.5rem;--space-7:3.75rem;--space-8:5.5rem;--space-9:clamp(5.25rem, 8vw, 8rem);--radius-sm:.65rem;--radius-md:1rem;--radius-lg:1rem;--radius-xl:1.35rem;--radius-pill:999px;--content-width:78rem;--reading-width:46rem;--sidebar-width:17rem;--page-gutter:clamp(.75rem, 2.25vw, 1.5rem);--header-height:4.5rem;--transition-fast:.16s ease;--transition-base:.26s cubic-bezier(.2, .75, .25, 1)}:root[data-theme=dark]{color-scheme:dark;--color-paper:#151320;--color-paper-raised:#211e30;--color-paper-soft:#1b1828;--color-glass:#1e1b2dd6;--color-ink:#f1eefb;--color-ink-soft:#c2bcd3;--color-ink-faint:#938ca7;--color-line:#39344d;--color-line-strong:#504967;--color-ice-50:#26213a;--color-ice-100:#30294a;--color-ice-300:#635a91;--color-ice-500:#a99bef;--color-ice-700:#d3caff;--color-coral-100:#392232;--color-coral-400:#db87ae;--color-coral-500:#ed93bc;--color-coral-700:#ffc0dc;--color-sky-100:#2b304b;--color-sky-300:#444f7b;--color-sky-500:#8190d0;--color-focus:#c0b5ff;--color-selection:#4e4675;--color-code:#2a2639;--shadow-soft:0 1.25rem 3.5rem #0000004d;--shadow-card:0 .7rem 2rem #0000003d;--shadow-float:0 .45rem 1.5rem #00000047}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-paper:#151320;--color-paper-raised:#211e30;--color-paper-soft:#1b1828;--color-glass:#1e1b2dd6;--color-ink:#f1eefb;--color-ink-soft:#c2bcd3;--color-ink-faint:#938ca7;--color-line:#39344d;--color-line-strong:#504967;--color-ice-50:#26213a;--color-ice-100:#30294a;--color-ice-300:#635a91;--color-ice-500:#a99bef;--color-ice-700:#d3caff;--color-coral-100:#392232;--color-coral-400:#db87ae;--color-coral-500:#ed93bc;--color-coral-700:#ffc0dc;--color-sky-100:#2b304b;--color-sky-300:#444f7b;--color-sky-500:#8190d0;--color-focus:#c0b5ff;--color-selection:#4e4675;--color-code:#2a2639;--shadow-soft:0 1.25rem 3.5rem #0000004d;--shadow-card:0 .7rem 2rem #0000003d;--shadow-float:0 .45rem 1.5rem #00000047}}}@layer base{html{background:var(--color-paper)}body{background:var(--color-paper);min-height:100vh;color:var(--color-ink);font-family:var(--font-sans);font-size:var(--step-0);text-rendering:optimizelegibility;line-height:1.7}main{display:block;overflow:clip}::selection{background:var(--color-selection);color:var(--color-ink)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}a{color:inherit;text-decoration-color:var(--color-ice-500);text-underline-offset:.18em;text-decoration-thickness:.09em}a:hover{text-decoration-color:var(--color-coral-500)}h1,h2,h3,h4{color:var(--color-ink);font-family:var(--font-display);text-wrap:balance;font-weight:720;line-height:1.18}p{text-wrap:pretty}code,kbd,samp,pre{font-family:var(--font-mono)}code:not(pre code){border:1px solid var(--color-line);background:var(--color-code);border-radius:.4rem;padding:.12em .35em;font-size:.88em}hr{height:1px;margin:var(--space-7) 0;background:var(--color-line);border:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer utilities{.container{width:min(100% - (var(--page-gutter) * 2), var(--content-width));margin-inline:auto}.reading-width{width:min(100%, var(--reading-width))}.section{padding-block:var(--space-8)}.surface-card{border:1px solid color-mix(in srgb, var(--color-line) 88%, transparent);border-radius:var(--radius-lg);background:var(--color-paper-raised);box-shadow:var(--shadow-card)}.eyebrow{color:var(--color-ice-700);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.075em;text-transform:uppercase;font-weight:700;line-height:1.4}.button{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--color-ice-700), var(--color-ice-500));color:#fff;min-height:2.9rem;font-size:var(--step--1);letter-spacing:.01em;transition:translate var(--transition-base), box-shadow var(--transition-base), filter var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.2rem;font-weight:750;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 .45rem 1rem #5748b92e}.button:hover{color:#fff;filter:saturate(1.12);translate:0 -2px;box-shadow:0 .7rem 1.4rem #5748b93d}.button--secondary{border-color:var(--color-line-strong);background:var(--color-paper-raised);box-shadow:none;color:var(--color-ink)}.button--secondary:hover{border-color:var(--color-ice-300);background:var(--color-ice-100);box-shadow:none;color:var(--color-ice-700)}.text-link{color:var(--color-ice-700);font-size:var(--step--1);align-items:center;gap:.45rem;font-weight:750;text-decoration:none;display:inline-flex}.text-link:after{content:"→";transition:translate var(--transition-base)}.text-link:hover:after{translate:.18rem}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:1000;border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-paper);box-shadow:var(--shadow-float);font-size:var(--step--1);padding:.65rem .9rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;translate:0 -200%}.skip-link:focus{translate:0}@media (width<=40rem){.section{padding-block:var(--space-7)}}}html:not([data-language=zh-TW]) .localized-text>[data-locale=zh-TW],html[data-language=zh-TW] .localized-text>[data-locale=en]{display:none}
