@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-vietnamese-wdth-normal.BKE08zty.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-ext-wdth-normal.DoS1gVTC.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-wdth-normal.Dtb2a5nO.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}@property --sky-top{syntax:"<color>";inherits:true;initial-value:#0b2a22}@property --sky-bottom{syntax:"<color>";inherits:true;initial-value:#3f7d5c}@property --sun{syntax:"<color>";inherits:true;initial-value:#f4dc8f}@property --bg{syntax:"<color>";inherits:true;initial-value:#0a1a15}:root,[data-theme=forest]{color-scheme:dark;--sky-top:#0b2a22;--sky-bottom:#3f7d5c;--sun:#f4dc8f;--bg:#0a1a15;--surface:#10241d;--card:#142b23;--field:#0d201a;--hover:#1f3d31;--line:#2a4a3c;--primary:#f4dc8f;--on-primary:#10241d;--accent:#a8dab5;--ok:#8fd0a0;--danger:#ff9d94;--text:#f2f5ea;--text-2:#c3d2c4;--text-3:#94a898}[data-theme=midnight]{--sky-top:#070b24;--sky-bottom:#2a3a8f;--sun:#eef0ff;--bg:#070a1c;--surface:#0e1330;--card:#12183a;--field:#0b0f28;--hover:#1e2755;--line:#2a3468;--primary:#cdd6ff;--on-primary:#0b0f28;--accent:#9fb4ff;--text:#eef0fb;--text-2:#c0c8e6;--text-3:#939dc4}[data-theme=warm]{--sky-top:#40204a;--sky-bottom:#e8744c;--sun:#ffd98a;--bg:#1f1024;--surface:#2a1730;--card:#311b37;--field:#25142b;--hover:#47284d;--line:#573360;--primary:#ffd98a;--on-primary:#2a1730;--accent:#ff9f7a;--text:#fdf0e6;--text-2:#dcc4cf;--text-3:#b497aa}[data-theme=aqua]{--sky-top:#083845;--sky-bottom:#56b8b2;--sun:#fff4c9;--bg:#06242d;--surface:#0b303b;--card:#0e3743;--field:#092a34;--hover:#174b59;--line:#215866;--primary:#a9ece2;--on-primary:#06242d;--accent:#fff4c9;--text:#eaf7f5;--text-2:#b9d6d6;--text-3:#8cb4b8}[data-theme=amethyst]{--sky-top:#1a0f3d;--sky-bottom:#8d5fd0;--sun:#ffcfe6;--bg:#130b2b;--surface:#1c1238;--card:#221641;--field:#180f31;--hover:#33215c;--line:#40296e;--primary:#e3c8ff;--on-primary:#1c1238;--accent:#ffcfe6;--text:#f6effd;--text-2:#cfc0e4;--text-3:#a593c2}[data-theme=desert]{--sky-top:#2b2a4a;--sky-bottom:#d9925f;--sun:#ffe2a8;--bg:#1e1712;--surface:#29201a;--card:#30261f;--field:#241b15;--hover:#45362b;--line:#574436;--primary:#ffe2a8;--on-primary:#29201a;--accent:#e8a27a;--text:#fbf1e4;--text-2:#dccab4;--text-3:#b29d86}[data-theme=aurora]{--sky-top:#04121f;--sky-bottom:#1f8f7a;--sun:#d8fff0;--bg:#04101a;--surface:#0a1b28;--card:#0d2231;--field:#071622;--hover:#153549;--line:#1d4257;--primary:#8ef0c8;--on-primary:#04101a;--accent:#b9a5ff;--text:#e9f7f6;--text-2:#b5cfd2;--text-3:#86a6ac}[data-theme=storm]{--sky-top:#1c2530;--sky-bottom:#6d7f8f;--sun:#dfe7ee;--bg:#141a21;--surface:#1b232c;--card:#202a35;--field:#171e26;--hover:#2c3947;--line:#364556;--primary:#dfe7ee;--on-primary:#141a21;--accent:#9fc3dc;--text:#eef2f5;--text-2:#c0cad3;--text-3:#93a1ae}[data-theme=dawn]{color-scheme:light;--sky-top:#8fa3d9;--sky-bottom:#ffc9a8;--sun:#fff0c2;--bg:#fbeee6;--surface:#fff7f1;--card:#fff;--field:#f3e2d8;--hover:#ebd5c8;--line:#dcc3b4;--primary:#7a3b52;--on-primary:#fff;--accent:#a8482a;--ok:#2c7548;--danger:#a33636;--text:#2a1b24;--text-2:#523c48;--text-3:#6f5763}[data-theme=daylight]{color-scheme:light;--sky-top:#7fbbe6;--sky-bottom:#e3f1f6;--sun:#ff9a3d;--bg:#f3f0e4;--surface:#faf8ef;--card:#fff;--field:#ece8da;--hover:#e2ddcb;--line:#d0c9b2;--primary:#1f4f7a;--on-primary:#fff;--accent:#b84f15;--ok:#2c7548;--danger:#a33636;--text:#18222b;--text-2:#3e4a55;--text-3:#5a6672}:root{--font:"Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--radius-sm:12px;--radius-md:20px;--radius-lg:28px;--ease:cubic-bezier(.2, .8, .2, 1);--horizon:52svh;--sun-x:50%;--sun-size:180px;--sun-y:0;transition:--sky-top .9s,--sky-bottom .9s,--sun .9s,--bg .9s}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit;min-width:0}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,input[type=range]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--text);outline-offset:3px}button:disabled{cursor:wait;opacity:.6}svg{flex-shrink:0}::selection{background:var(--primary);color:var(--on-primary)}label{color:var(--text-2);font-size:.85rem;display:block}.hidden,[hidden]{display:none!important}.muted{color:var(--text-3)}h1,h2,h3,.display{font-variation-settings:"wdth" 78;letter-spacing:-.02em;font-weight:700;font-stretch:78%;line-height:1}h3{font-variation-settings:"wdth" 90;letter-spacing:-.01em;font-stretch:90%;line-height:1.15}.sky{z-index:0;width:100%;height:var(--horizon);pointer-events:none;background:linear-gradient(var(--sky-top), var(--sky-bottom));position:absolute;top:0;left:0;overflow:hidden}.sky:after{content:"";opacity:.22;mix-blend-mode:soft-light;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.sky:before{content:"";opacity:calc(.3 + var(--sun-y) * .6);background:radial-gradient(55% 62% at var(--sun-x) 100%, color-mix(in srgb, var(--sun) 60%, transparent), transparent 72%);transition:opacity 1s linear;position:absolute;inset:0}.sun{left:var(--sun-x);top:calc(10% + var(--sun-y) * 90%);width:var(--sun-size);aspect-ratio:1;background:radial-gradient(circle at 50% 46%, color-mix(in oklab, var(--sun) 45%, white) 0%, var(--sun) 58%, color-mix(in oklab, var(--sun) 82%, var(--sky-bottom)) 100%);box-shadow:0 0 calc(var(--sun-size) * .06) color-mix(in srgb, var(--sun) 95%, transparent), 0 0 calc(var(--sun-size) * .28) color-mix(in srgb, var(--sun) 55%, transparent), 0 0 calc(var(--sun-size) * .8) color-mix(in srgb, var(--sun) 32%, transparent), 0 0 calc(var(--sun-size) * 2) color-mix(in srgb, var(--sun) 16%, transparent);transition:top 1s linear, left .9s var(--ease), width .9s var(--ease);border-radius:50%;position:absolute;translate:-50%}.sun-driven .sun,.sun-driven .sky:before{transition:none}.brand{font-variation-settings:"wdth" 80;letter-spacing:-.045em;color:var(--text);align-items:baseline;font-size:2rem;font-weight:800;font-stretch:80%;line-height:1;text-decoration:none;display:inline-flex}.brand i{background:var(--sun);border-radius:50%;width:.2em;height:.2em;margin-left:.05em}.btn{border:1.5px solid color-mix(in srgb, var(--text) 28%, transparent);white-space:nowrap;cursor:pointer;min-height:40px;color:var(--text);transition:background-color .15s, border-color .15s, transform .2s var(--ease);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--text) 10%, transparent);border-color:color-mix(in srgb, var(--text) 55%, transparent)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn-primary:hover{background:color-mix(in srgb, var(--primary) 86%, var(--text));border-color:#0000}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.btn-danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);border-color:var(--danger)}.btn-lg{min-height:52px;padding:12px 28px;font-size:1rem}.btn-block{width:100%}.icon-btn{border:1.5px solid color-mix(in srgb, var(--text) 22%, transparent);width:40px;height:40px;color:var(--text);cursor:pointer;transition:background-color .15s, transform .2s var(--ease);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:color-mix(in srgb, var(--text) 10%, transparent)}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.active{background:var(--primary);color:var(--on-primary);border-color:#0000}.input,select.input{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--field);width:100%;color:var(--text);outline:none;padding:12px 14px;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-3);opacity:1}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent)}select.input{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px) 54%,calc(100% - 13px) 54%;background-repeat:no-repeat;background-size:5px 5px;border-radius:999px;padding:8px 34px 8px 14px}.segmented{background:var(--field);border-radius:999px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--text-3);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:8px 12px;font-size:.8rem;font-weight:600;transition:background-color .15s,color .15s}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--text);color:var(--bg)}.divider{color:var(--text-3);align-items:center;gap:12px;margin:22px 0;font-size:.78rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.inline-error{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);padding:12px 14px;font-size:.84rem}.github-star{min-height:40px;color:var(--text-2);white-space:nowrap;align-items:center;gap:8px;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex}.github-star:hover{color:var(--text);text-decoration:underline}.github-star [data-stars]:not(:empty){background:color-mix(in srgb, var(--text) 14%, transparent);font-variant-numeric:tabular-nums;border-radius:99px;padding:1px 8px;font-size:.74rem}.swatches{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.swatches button{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--text) 7%, transparent);color:var(--text-2);text-align:left;cursor:pointer;transition:transform .2s var(--ease), border-color .15s;border:1.5px solid #0000;flex-direction:column;gap:10px;padding:8px 8px 10px;font-size:.86rem;font-weight:600;display:flex}.swatches button:hover{transform:translateY(-3px)}.swatches button[aria-pressed=true]{border-color:var(--text);color:var(--text)}.swatch{background:linear-gradient(var(--sky-top), var(--sky-bottom));border-radius:8px;height:52px;display:block;position:relative;overflow:hidden}.swatch:after{content:"";background:var(--sun);border-radius:50%;width:24px;height:24px;position:absolute;bottom:-10px;left:62%}.loader{z-index:5000;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;place-content:center;justify-items:center;gap:18px;transition:opacity .3s,visibility 0s linear .3s;display:grid;position:fixed;inset:0}.is-loading .loader{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s}.is-booting:not(.is-loading) .loader{opacity:1;visibility:visible;pointer-events:auto;animation:.3s .65s backwards loader-wait}@keyframes loader-wait{0%{opacity:0}}.loader-scene{flex-direction:column;align-items:center;display:flex}.loader-sky{clip-path:inset(-60px -60px 0);justify-content:center;align-items:flex-end;width:84px;height:46px;display:flex}.loader-sun{background:radial-gradient(circle at 50% 42%, color-mix(in oklab, var(--sun) 45%, white), var(--sun) 62%);width:40px;height:40px;box-shadow:0 0 14px color-mix(in srgb, var(--sun) 70%, transparent), 0 0 34px color-mix(in srgb, var(--sun) 35%, transparent);border-radius:50%;animation:1.9s cubic-bezier(.45,0,.3,1) infinite loader-peek;position:relative;translate:0 26px}.loader-sun:before,.loader-sun:after{content:"";border:2px solid var(--bg);border-color:transparent transparent var(--bg);border-radius:0 0 8px 8px;width:7px;height:4px;animation:1.9s infinite loader-blink;position:absolute;top:15px}.loader-sun:before{left:9px}.loader-sun:after{right:9px}.loader-sun b{border:2px solid var(--bg);border-top:0;border-radius:0 0 9px 9px;width:9px;height:5px;position:absolute;top:23px;left:50%;translate:-50%}.loader-horizon{background:color-mix(in srgb, var(--text) 35%, transparent);border-radius:3px;width:84px;height:3px}.loader p{color:var(--text-2);font-size:.92rem;font-weight:500}@keyframes loader-peek{0%{translate:0 30px}35%{translate:0 4px;scale:1.04 .96}45%,62%{translate:0 6px;scale:1}to{translate:0 30px}}@keyframes loader-blink{0%,44%,52%,to{scale:1}48%{scale:1 .2}}@media (prefers-reduced-motion:reduce){.loader-sun{animation:none;translate:0 6px}.loader-sun:before,.loader-sun:after{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
