@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f1ff;--bg-2:#ebe6ff;--surface:#ffffffc7;--surface-solid:#fff;--line:#281e5a24;--text:#17142e;--muted:#565275;--accent:#5645d4;--accent-ink:#fff;--star:#ff9d2e;--focus:#ff5fa2;--shadow:0 10px 30px -12px #281e5a59;--space-grad:linear-gradient(180deg, #cfc6f7 0%, #e6defc 50%, #d3dcfa 100%);--radius:14px;--font-display:"Space Grotesk Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#05060f;--bg-2:#0b0d20;--surface:#101228c7;--surface-solid:#10122a;--line:#aaaaff29;--text:#eceaff;--muted:#a3a1c6;--accent:#8b7cf0;--accent-ink:#0b0a1f;--star:#ffb347;--focus:#ff7dbb;--shadow:0 10px 30px -12px #000000b3;--space-grad:radial-gradient(120% 90% at 50% 40%, #14163a 0%, #090a1e 50%, #03040b 100%);color-scheme:dark}}:root[data-theme=dark]{--bg:#05060f;--bg-2:#0b0d20;--surface:#101228c7;--surface-solid:#10122a;--line:#aaaaff29;--text:#eceaff;--muted:#a3a1c6;--accent:#8b7cf0;--accent-ink:#0b0a1f;--star:#ffb347;--focus:#ff7dbb;--shadow:0 10px 30px -12px #000000b3;--space-grad:radial-gradient(120% 90% at 50% 40%, #14163a 0%, #090a1e 50%, #03040b 100%);color-scheme:dark}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--font-body);margin:0;overflow-x:hidden}a{color:inherit}img,svg{max-width:100%}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.6rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:1.15rem}p{margin:0 0 1em}code,pre{font-family:var(--font-mono);font-size:.88em}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:8px 14px;text-decoration:none;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}.wrap{width:min(1180px,100% - 32px);margin-inline:auto}.section{padding:clamp(48px,8vw,96px) 0}.lede{color:var(--muted);max-width:62ch;font-size:1.08rem}.eyebrow{font:600 .78rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);font:600 .95rem/1 var(--font-display);cursor:pointer;backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;padding:11px 18px;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(12px);padding:20px}.grid>*,.two>*{min-width:0}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;display:grid}.badge{border:1px solid var(--line);font:600 .75rem/1.2 var(--font-display);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.badge.preview{border-style:dashed;border-color:color-mix(in srgb, var(--star) 70%, transparent);color:color-mix(in srgb, var(--star) 75%, var(--text))}.dot{background:var(--kit,var(--accent));width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--kit,var(--accent)) 25%, transparent);border-radius:50%;flex:none;display:inline-block}.kit-light{--kit:var(--kit-l)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .kit-light{--kit:var(--kit-d)}}:root[data-theme=dark] .kit-light{--kit:var(--kit-d)}.top[data-astro-cid-nen7h5rs]{z-index:50;backdrop-filter:blur(14px)saturate(1.2);background:color-mix(in srgb, var(--bg) 72%, transparent);border-bottom:1px solid var(--line);position:sticky;top:0}.top-in[data-astro-cid-nen7h5rs]{align-items:center;gap:16px;width:min(1400px,100% - 32px);height:60px;margin-inline:auto;display:flex}.logo[data-astro-cid-nen7h5rs]{font:700 1.05rem/1 var(--font-display);white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:flex}nav[data-astro-cid-nen7h5rs]{flex:1;gap:4px;min-width:0;margin-left:12px;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--muted);font:500 .92rem/1 var(--font-display);white-space:nowrap;border-radius:999px;padding:8px 12px;text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text);background:var(--surface)}.tools[data-astro-cid-nen7h5rs]{align-items:center;gap:8px;display:flex}.progress[data-astro-cid-nen7h5rs],.icon[data-astro-cid-nen7h5rs],.lang[data-astro-cid-nen7h5rs]{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--text);font:600 .85rem/1 var(--font-display);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;text-decoration:none;display:inline-flex}.progress[data-astro-cid-nen7h5rs]{color:var(--accent)}.progress[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{color:var(--text)}.icon[data-astro-cid-nen7h5rs]{justify-content:center;width:36px;padding:0}.moon[data-astro-cid-nen7h5rs]{display:none}[data-theme-resolved=dark] .moon[data-astro-cid-nen7h5rs]{display:block}[data-theme-resolved=dark] .sun[data-astro-cid-nen7h5rs]{display:none}@media (width<=860px){nav[data-astro-cid-nen7h5rs] .ext[data-astro-cid-nen7h5rs]{display:none}}@media (width<=700px){nav[data-astro-cid-nen7h5rs]{display:none}.logo[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{font-size:.98rem}.top-in[data-astro-cid-nen7h5rs]{justify-content:space-between}}.foot[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);background:var(--bg-2);padding:48px 0 56px;font-size:.92rem}.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1.4fr 1.2fr 1fr 1fr;gap:32px;display:grid}.brand[data-astro-cid-jo6i4kqk]{font:700 1.1rem/1 var(--font-display)}.h[data-astro-cid-jo6i4kqk]{font:600 .78rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.muted[data-astro-cid-jo6i4kqk]{color:var(--muted)}ul[data-astro-cid-jo6i4kqk]{gap:6px;margin:0;padding:0;list-style:none;display:grid}.planets[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,auto);justify-content:start;column-gap:18px}a[data-astro-cid-jo6i4kqk]{color:var(--muted);text-decoration:none}a[data-astro-cid-jo6i4kqk]:hover{color:var(--text);text-decoration:underline}@media (width<=820px){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}}@media (width<=480px){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}
