/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"Instrument Sans", "Noto Sans TC", "Noto Sans SC", "Noto Sans JP", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#070b14;--color-bg-2:#0b1220;--color-surface:#17243c;--color-surface-2:#1e2e4a;--color-fg:#e8edf5;--color-fg-2:#a9b4c6;--color-fg-3:#8592a8;--color-accent:#f2b84b;--color-accent-ink:#1a1204;--color-tide:#4cc9f0;--color-warn:#ff9f43;--font-display:"Fraunces", Georgia, serif;--radius-chip:6px;--radius-btn:10px;--radius-card:16px;--radius-panel:24px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--hh-line:#e8edf524;--hh-line-card:#e8edf533;--hh-line-control:#e8edf566;--hh-line-hover:#e8edf53d;--hh-ease:cubic-bezier(.2,.7,.2,1);--fs-h1:clamp(40px, 5.4vw, 72px);--fs-h2:clamp(30px, 3.6vw, 44px);--fs-h3:20px;--fs-lead:19px;--fs-body:16px;--fs-small:14px;--fs-eyebrow:12px;--lh-h1:1.02;--ls-h1:-.03em}:lang(zh-Hant),:lang(zh-Hans),:lang(ja),:lang(ko){--fs-h1:clamp(32px, 4.4vw, 56px);--lh-h1:1.25;--ls-h1:0}:lang(zh-Hant) .h1,:lang(zh-Hans) .h1,:lang(ja) .h1,:lang(ko) .h1{word-break:keep-all;font-weight:500}:lang(zh-Hant) .eyebrow,:lang(zh-Hans) .eyebrow,:lang(ja) .eyebrow,:lang(ko) .eyebrow{letter-spacing:.02em}html{scroll-behavior:smooth;color-scheme:dark}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--fs-body);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.65}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);text-wrap:balance;margin:0;font-weight:600}.h2{font-size:var(--fs-h2);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.12}:lang(zh-Hant) .h2,:lang(zh-Hans) .h2,:lang(ja) .h2,:lang(ko) .h2{letter-spacing:0;line-height:1.3}.h3{font-size:var(--fs-h3);margin:0;font-weight:600;line-height:1.3}.lead{font-size:var(--fs-lead);color:var(--color-fg-2);line-height:1.55}.small{font-size:var(--fs-small)}.eyebrow{font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-weight:600}.mono{font-family:var(--font-mono)}.num{font-variant-numeric:tabular-nums}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;font-style:italic;font-weight:500}.container{width:min(1120px,100% - 48px);margin-inline:auto}.section{padding-block:96px}@media (width<=720px){.section{padding-block:64px}}.card{background:var(--color-surface);border:1px solid var(--hh-line-card);border-radius:var(--radius-card);box-shadow:inset 0 1px #ffffff0a}.card--hover{transition:border-color .16s var(--hh-ease), background .16s var(--hh-ease), transform .16s var(--hh-ease)}.card--hover:hover{border-color:var(--hh-line-hover);background:var(--color-surface-2);transform:translateY(-1px)}.hairline{border-color:var(--hh-line)}.btn{border-radius:var(--radius-btn);height:46px;transition:transform .16s var(--hh-ease), box-shadow .16s var(--hh-ease), border-color .16s var(--hh-ease);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn--primary{color:var(--color-accent-ink);background-image:linear-gradient(135deg,#f2b84b,#ff8a3d);box-shadow:0 8px 24px #f2b84b38}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px #f2b84b52}.btn--ghost{color:var(--color-fg);border:1px solid var(--hh-line-control)}.btn--ghost:hover{border-color:var(--color-fg-2)}.btn--sm{height:36px;padding:0 14px;font-size:14px}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn--primary:focus-visible{box-shadow:0 0 0 2px var(--color-accent-ink), 0 0 0 4px var(--color-accent);outline:none}.atmos{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.atmos:before{content:"";background:radial-gradient(55% 40% at 50% 0,#f2b84b38,#0000 70%),radial-gradient(30% 25% at 80% 20%,#4cc9f014,#0000 70%),linear-gradient(#e8edf50a 1px,#0000 1px) 0 0/100% 56px,linear-gradient(90deg,#e8edf50a 1px,#0000 1px) 0 0/56px 100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 75% at 50% 15%,#000 35%,#0000 100%);mask-image:radial-gradient(80% 75% at 50% 15%,#000 35%,#0000 100%)}.atmos:after{content:"";opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@media (prefers-reduced-transparency:reduce){.atmos:after{display:none}}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transition:opacity .4s var(--hh-ease), transform .4s var(--hh-ease);transform:translateY(8px)}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transition:none;transform:none}}.code{background:var(--color-bg-2);border:1px solid var(--hh-line);border-radius:var(--radius-btn);font-family:var(--font-mono);color:var(--color-fg);margin:0;padding:16px 18px;font-size:13px;line-height:1.65;overflow-x:auto}.code .c{color:var(--color-fg-3)}.code .k{color:var(--color-tide)}.code .s{color:var(--color-accent)}details.faq{border-top:1px solid var(--hh-line);padding:20px 0}details.faq:last-child{border-bottom:1px solid var(--hh-line)}details.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;font-size:17px;font-weight:600;list-style:none;display:flex}details.faq summary::-webkit-details-marker{display:none}details.faq summary:after{content:"+";font-family:var(--font-mono);color:var(--color-fg-2);flex-shrink:0;font-size:18px}details.faq[open] summary:after{content:"−"}details.faq p{color:var(--color-fg-2);max-width:64ch;margin:12px 0 0}kbd{font-family:var(--font-mono);border:1px solid var(--hh-line-control);color:var(--color-fg-2);border-bottom-width:2px;border-radius:4px;padding:2px 5px;font-size:11px}:root[data-theme=light]{--color-bg:#f2efe8;--color-bg-2:#f7f5f0;--color-surface:#fff;--color-surface-2:#faf8f4;--color-fg:#0b1220;--color-fg-2:#4b5568;--color-fg-3:#7c8698;--color-accent:#8a5a00;--color-accent-hot:#e5731f;--color-tide:#0b7a6a;--color-ok:#1f9d6a;--color-warn:#b4540a;--color-danger:#d6263a;--color-info:#2563eb;--hh-line:#0b12201f;--hh-line-card:#0b122029;--hh-line-control:#0b122061;--hh-line-hover:#0b122042;color-scheme:light}:root[data-theme=light] .card{box-shadow:0 1px 2px #0b12200a}:root[data-theme=light] .atmos:before{background:radial-gradient(55% 40% at 50% 0,#f2b84b47,#0000 70%),radial-gradient(30% 25% at 80% 20%,#0b7a6a14,#0000 70%),linear-gradient(#0b12200d 1px,#0000 1px) 0 0/100% 56px,linear-gradient(90deg,#0b12200d 1px,#0000 1px) 0 0/56px 100%}:root[data-theme=light] .atmos:after{opacity:.05;mix-blend-mode:multiply}:root[data-theme=light] .code,:root[data-theme=light] kbd{background:#fbf9f5}:root[data-theme=light] .prose :global(code){background:#0b12200f}.theme-btn{border-radius:var(--radius-btn);width:36px;height:36px;color:var(--color-fg-2);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:grid}.theme-btn:hover{color:var(--color-fg);border-color:var(--hh-line)}.theme-btn svg{width:18px;height:18px}.theme-btn [data-when]{display:none}:root:not([data-theme=light]) .theme-btn [data-when=dark],:root[data-theme=light] .theme-btn [data-when=light]{display:block}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.skip:where(.astro-hkbrpulz){background:var(--color-accent);color:var(--color-accent-ink);z-index:100;border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:where(.astro-hkbrpulz):focus{left:8px}.sr-only:where(.astro-hkbrpulz){clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.nav:where(.astro-hkbrpulz){z-index:20;background:color-mix(in srgb, var(--color-bg) 78%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.2);border-bottom:1px solid var(--hh-line);position:sticky;top:0}.nav__in:where(.astro-hkbrpulz){justify-content:space-between;align-items:center;gap:24px;height:64px;display:flex}.brand:where(.astro-hkbrpulz){color:var(--color-fg);align-items:center;gap:10px;text-decoration:none;display:flex}.brand__mark:where(.astro-hkbrpulz){background:var(--color-accent);width:28px;height:28px;color:var(--color-accent-ink);font-family:var(--font-display);border-radius:8px;place-items:center;font-size:18px;font-style:italic;font-weight:500;display:grid}.brand__text:where(.astro-hkbrpulz){font-size:19px}.nav__links:where(.astro-hkbrpulz){gap:28px;font-size:14px;font-weight:600;display:flex}.nav__links:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz){color:var(--color-fg-2);transition:color .16s var(--hh-ease);text-decoration:none}.nav__links:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz):hover,.nav__links:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz).is-on{color:var(--color-fg)}.nav__right:where(.astro-hkbrpulz){align-items:center;gap:10px;display:flex}.lang:where(.astro-hkbrpulz){border-radius:var(--radius-btn);height:36px;color:var(--color-fg-2);font:inherit;-webkit-appearance:none;appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A9B4C6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #0000;padding:0 26px 0 8px;font-size:13px;font-weight:600}.lang:where(.astro-hkbrpulz):hover{color:var(--color-fg);border-color:var(--hh-line)}.btn--console:where(.astro-hkbrpulz){color:var(--color-accent);border:1px solid #f2b84b73}.btn--console:where(.astro-hkbrpulz):hover{border-color:var(--color-accent);background:#f2b84b14}.burger:where(.astro-hkbrpulz){border:1px solid var(--hh-line-control);border-radius:var(--radius-btn);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;display:none}.burger:where(.astro-hkbrpulz) span:where(.astro-hkbrpulz){background:var(--color-fg);width:16px;height:2px;transition:transform .16s var(--hh-ease);display:block}.burger:where(.astro-hkbrpulz).is-open span:where(.astro-hkbrpulz):first-child{transform:translateY(3.5px)rotate(45deg)}.burger:where(.astro-hkbrpulz).is-open span:where(.astro-hkbrpulz):last-child{transform:translateY(-3.5px)rotate(-45deg)}.mnav:where(.astro-hkbrpulz){border-top:1px solid var(--hh-line);flex-direction:column;padding:8px 24px 16px;display:flex}.mnav:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz){color:var(--color-fg);border-bottom:1px solid var(--hh-line);padding:12px 0;font-weight:600;text-decoration:none}@media (width<=720px){.nav__links:where(.astro-hkbrpulz){display:none}.burger:where(.astro-hkbrpulz){display:flex}}@media (width>=721px){.mnav:where(.astro-hkbrpulz){display:none!important}}@media (width<=520px){.nav__in:where(.astro-hkbrpulz){gap:8px}.brand__text:where(.astro-hkbrpulz),.nav__right:where(.astro-hkbrpulz) .btn--console:where(.astro-hkbrpulz){display:none}}.foot:where(.astro-hkbrpulz){border-top:1px solid var(--hh-line);background:var(--color-bg-2);margin-top:96px}.foot__grid:where(.astro-hkbrpulz){grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px;padding:56px 0 40px;display:grid}.foot__grid:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz){color:var(--color-fg-2);margin-bottom:10px;font-size:14px;text-decoration:none;display:block}.foot__grid:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz):hover{color:var(--color-fg)}.foot__h:where(.astro-hkbrpulz){letter-spacing:.08em;text-transform:uppercase;color:var(--color-fg-2);margin:0 0 14px;font-size:12px;font-weight:600}.foot__bottom:where(.astro-hkbrpulz){border-top:1px solid var(--hh-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 0 32px;display:flex}.foot__langs:where(.astro-hkbrpulz){gap:16px;font-size:13px;display:flex}.foot__langs:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz){color:var(--color-fg-2);text-decoration:none}.foot__langs:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz).is-on,.foot__langs:where(.astro-hkbrpulz) a:where(.astro-hkbrpulz):hover{color:var(--color-fg)}@media (width<=960px){.foot__grid:where(.astro-hkbrpulz){grid-template-columns:1fr 1fr}}
