@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-full-normal.7BpKI3vF.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-full-normal.YHFkNujK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-full-normal.CFFu7zhK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f7f8fa;--fg: #1c1f2a;--muted: #5e6478;--accent: #4a5fb8;--accent-ink: #ffffff;--card: #ffffff;--border: #e2e5ec;--input-bg: #ffffff;--well: #eef0f5;--accent-shadow: #36459a;--danger: #c0392b;--success: #2d7a3f;--accent-tint: rgba(74, 95, 184, .1);--accent-tint-strong: rgba(74, 95, 184, .2);--radius: 20px;--pill: 9999px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;color-scheme:light}:root[data-theme=dark]{--bg: #11131a;--fg: #e3e5ec;--muted: #8e94a8;--accent: #8b9ce6;--accent-ink: #11131a;--card: #1a1d27;--border: #2a2e3b;--input-bg: #14171f;--well: #1f2330;--accent-shadow: #5a6bc0;--danger: #ff6b6b;--success: #6ccb7a;--accent-tint: rgba(139, 156, 230, .1);--accent-tint-strong: rgba(139, 156, 230, .22);color-scheme:dark}@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg: #11131a;--fg: #e3e5ec;--muted: #8e94a8;--accent: #8b9ce6;--accent-ink: #11131a;--card: #1a1d27;--border: #2a2e3b;--input-bg: #14171f;--well: #1f2330;--accent-shadow: #5a6bc0;--danger: #ff6b6b;--success: #6ccb7a;--accent-tint: rgba(139, 156, 230, .1);--accent-tint-strong: rgba(139, 156, 230, .22);color-scheme:dark}}:root[data-scope=client]{--bg: #faf6f1;--fg: #2a1f1a;--muted: #7a6457;--accent: #b85c3a;--accent-ink: #fff8ef;--card: #fffdf9;--border: #ead9c8;--input-bg: #fffdf9;--well: #f2e8db;--accent-shadow: #8a4128;--accent-tint: rgba(184, 92, 58, .1);--accent-tint-strong: rgba(184, 92, 58, .2)}:root[data-scope=client][data-theme=dark]{--bg: #1a1310;--fg: #ede2d3;--muted: #a89484;--accent: #d97a55;--accent-ink: #1a1310;--card: #241a14;--border: #3a2a20;--input-bg: #1f1611;--well: #2c1f18;--accent-shadow: #b85c3a;--accent-tint: rgba(217, 122, 85, .1);--accent-tint-strong: rgba(217, 122, 85, .22)}@media(prefers-color-scheme:dark){:root[data-scope=client][data-theme=system]{--bg: #1a1310;--fg: #ede2d3;--muted: #a89484;--accent: #d97a55;--accent-ink: #1a1310;--card: #241a14;--border: #3a2a20;--input-bg: #1f1611;--well: #2c1f18;--accent-shadow: #b85c3a;--accent-tint: rgba(217, 122, 85, .1);--accent-tint-strong: rgba(217, 122, 85, .22)}}:root{--ctl-h-sm: 28px;--ctl-h-md: 36px;--ctl-h-lg: 44px;--ctl-px-sm: .625rem;--ctl-px-md: .875rem;--ctl-px-lg: 1.125rem;--ctl-fs-sm: .75rem;--ctl-fs-md: .875rem;--ctl-fs-lg: 1rem;--ctl-icon-sm: 14px;--ctl-icon-md: 16px;--ctl-icon-lg: 20px;--ctl-gap: .5rem}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{font-family:inherit;font-size:16px;line-height:1.4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ctl-gap);height:var(--ctl-h-md);padding:0 var(--ctl-px-md);border-radius:var(--pill);border:1px solid var(--border);background:var(--card);color:var(--fg);font-family:inherit;font-size:var(--ctl-fs-md);font-weight:600;line-height:1;cursor:pointer;transition:background .12s,border-color .12s,color .12s,filter .12s,transform .12s,box-shadow .12s;white-space:nowrap}.btn:hover{background:var(--accent-tint);border-color:var(--accent);text-decoration:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600;box-shadow:inset 0 1px #ffffff1f,0 1px 2px #00000014}.btn-primary:hover{filter:brightness(1.06);background:var(--accent);border-color:transparent}.btn-primary:active:not(:disabled){box-shadow:inset 0 1px 2px #0003}.btn-lg{height:var(--ctl-h-lg);padding:0 var(--ctl-px-lg);font-size:var(--ctl-fs-lg)}.btn-sm{height:var(--ctl-h-sm);padding:0 var(--ctl-px-sm);font-size:var(--ctl-fs-sm)}.brand{display:flex;align-items:center;gap:.375rem;color:var(--fg);font-weight:600;font-size:1rem}.brand:hover{text-decoration:none}.brand-icon{width:36px;height:36px;flex:none;background-image:url(/icn.svg);background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:8px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:target{scroll-margin-top:1.5rem}.padded{padding-inline:2rem}.cta-row{display:flex;gap:.75rem;margin-top:2rem;flex-wrap:wrap}.mkt-header{background:var(--bg);border-bottom:1px solid var(--border)}.mkt-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1080px;margin-inline:auto;padding:.8rem 2rem}.mkt-header__right{display:flex;align-items:center;gap:1rem}.mkt-signin{font-weight:650;font-size:.9rem;color:var(--fg);text-decoration:none}.mkt-signin:hover{color:var(--accent);text-decoration:none}.theme-toggle{display:inline-flex;gap:.1rem;padding:3px;border-radius:var(--pill);background:var(--well);border:1px solid var(--border)}.theme-toggle button{display:inline-grid;place-items:center;width:28px;height:28px;border:none;border-radius:var(--pill);background:none;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.theme-toggle button:hover{color:var(--fg)}.theme-toggle button.is-active{background:var(--card);color:var(--accent);box-shadow:0 1px 2px #0000001f}.theme-toggle svg{width:15px;height:15px}.mkt-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;max-width:1080px;margin:0 auto;padding:2rem;border-top:1px solid var(--border);color:var(--muted);font-size:.8rem}.mkt-footer a{color:var(--muted);text-decoration:none}.mkt-footer a:hover{color:var(--accent);text-decoration:none}.mkt-header a,.landing-lang a,.landing-lang a:hover{text-decoration:none}@media(max-width:560px){.mkt-header__inner,.mkt-footer{padding-inline:1.25rem}}.landing{--landing-display: "Fraunces Variable", Georgia, "Times New Roman", serif;overflow-x:clip}.landing-wrap{max-width:1080px;margin-inline:auto}.landing-wrap--narrow{max-width:720px}.landing-title,.landing-h2{font-family:var(--landing-display);font-variation-settings:"SOFT" 30,"WONK" 1,"opsz" 72;font-weight:560;letter-spacing:-.015em;text-wrap:balance}.landing-title{font-size:clamp(2.5rem,6.5vw,4.25rem);line-height:1.02;margin:0 0 1.1rem}.landing-h2{font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.1;margin:0 0 2rem}.landing-lede{color:var(--muted);font-size:1.15rem;line-height:1.55;max-width:46ch;margin:0}.landing-eyebrow{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1.25rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.landing-lang{display:inline-flex;gap:.1rem}.landing-lang__btn{background:none;border:none;cursor:pointer;font:inherit;letter-spacing:inherit;color:var(--muted);padding:.1rem .35rem;border-radius:var(--pill)}.landing-lang__btn:hover{color:var(--fg)}.landing-lang__btn.is-active{color:var(--accent);background:var(--accent-tint)}.landing-cta-btn{min-height:var(--ctl-h-lg);padding-inline:var(--ctl-px-lg)}.landing-hero{position:relative;padding-block:clamp(3rem,9vh,6.5rem) clamp(3rem,8vh,5.5rem);background:radial-gradient(52rem 30rem at 82% -8%,var(--accent-tint-strong),transparent 68%),radial-gradient(38rem 26rem at -12% 105%,var(--accent-tint),transparent 70%)}.landing-hero:before{content:"";position:absolute;inset:1.1rem 0 auto;height:6px;background-image:radial-gradient(circle 3px,var(--accent-tint-strong) 97%,transparent);background-size:26px 6px;background-repeat:repeat-x;pointer-events:none}.landing-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2rem,5vw,4.5rem)}@media(max-width:880px){.landing-hero__grid{grid-template-columns:minmax(0,1fr)}}.landing-hero__copy>*{animation:landing-rise .7s cubic-bezier(.22,.8,.3,1) both}.landing-hero__copy>:nth-child(1){animation-delay:.05s}.landing-hero__copy>:nth-child(2){animation-delay:.14s}.landing-hero__copy>:nth-child(3){animation-delay:.24s}.landing-hero__copy>:nth-child(4){animation-delay:.34s}.lmock{position:relative;display:grid;gap:0;max-width:26rem;margin-inline:auto}.landing-hero__visual{min-width:0}.lmock__card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1.5px #ffffff8c inset,0 24px 48px -24px #48241059,0 6px 16px -8px #48241038;padding-block:1.1rem;animation:landing-rise .8s cubic-bezier(.22,.8,.3,1) both}:root[data-theme=dark] .lmock__card{box-shadow:0 24px 48px -24px #0009}@media(prefers-color-scheme:dark){:root[data-theme=system] .lmock__card{box-shadow:0 24px 48px -24px #0009}}.lmock__lock{rotate:-1.6deg;z-index:1;animation-delay:.3s}.lmock__log{rotate:1.8deg;margin-top:-.6rem;margin-left:clamp(1rem,12%,3rem);animation-delay:.5s}.lmock__row{display:flex;align-items:center;gap:.5rem;padding-inline:1.1rem}.lmock__lock-icon{width:18px;height:18px;color:var(--accent);flex:none}.lmock__name{font-weight:650;font-size:.95rem;min-width:0}.lmock__status{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--well);border:1px solid var(--border);border-radius:var(--pill);padding:.25rem .6rem}.lmock__status-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 22%,transparent)}.lmock__code{display:grid;gap:.55rem;padding-inline:1.1rem;margin-top:1rem}.lmock__code-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted)}.lmock__code-label svg{width:14px;height:14px;flex:none}.lmock__digits{display:flex;gap:.4rem}.lmock__digit{display:inline-grid;place-items:center;width:2.1rem;height:2.6rem;font-family:var(--landing-display);font-size:1.35rem;font-weight:620;color:var(--accent);background:var(--well);border:1px solid var(--border);border-radius:10px;animation:landing-pop .45s cubic-bezier(.3,1.4,.5,1) both}.lmock__openbtn{display:block;margin:1.1rem 1.1rem 0;text-align:center;font-weight:700;font-size:.95rem;color:var(--accent-ink);background:var(--accent);border-radius:var(--pill);padding-block:.65rem;box-shadow:0 2px 0 var(--accent-shadow)}.lmock__log-title{display:flex;align-items:center;gap:.45rem;padding-inline:1.1rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lmock__log-title svg{width:15px;height:15px;flex:none}.lmock__entries{list-style:none;margin:.6rem 0 0;padding:0}.lmock__entries li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.5rem 1.1rem;font-size:.85rem;border-top:1px solid var(--border);animation:landing-rise .5s ease-out both}.lmock__entries time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.landing-section{padding-block:clamp(3rem,8vh,5.5rem)}.landing-section--tint{background:var(--well);border-block:1px solid var(--border)}.landing-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem)}@media(max-width:780px){.landing-steps{grid-template-columns:minmax(0,1fr)}}.landing-step{position:relative}.landing-step__num{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;font-family:var(--landing-display);font-size:1.2rem;font-weight:620;color:var(--accent);background:var(--accent-tint);border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent)}@media(min-width:781px){.landing-step:not(:last-child):after{content:"";position:absolute;top:1.2rem;left:3.2rem;right:calc(-1*clamp(1.5rem,4vw,3rem) + .8rem);border-top:1px dashed color-mix(in srgb,var(--accent) 40%,transparent)}}.landing-step h3{font-size:1.15rem;margin:.9rem 0 .4rem}.landing-step p{margin:0;color:var(--muted);line-height:1.55}.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.75rem,4vw,2.75rem) clamp(1.5rem,3.5vw,2.5rem)}@media(max-width:880px){.landing-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.landing-features{grid-template-columns:minmax(0,1fr)}}.landing-feature__icon{width:2.4rem;height:2.4rem;padding:.5rem;box-sizing:border-box;color:var(--accent);background:var(--accent-tint);border-radius:12px}.landing-feature h3{font-size:1.05rem;margin:.75rem 0 .35rem}.landing-feature p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}.landing-band{background:radial-gradient(44rem 24rem at 90% 0%,rgba(217,122,85,.18),transparent 70%),#241610;color:#f2e6d8;border-block:1px solid rgba(251,243,231,.12);padding-block:clamp(3rem,8vh,5rem)}.landing-band__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,5vw,4rem);align-items:center}@media(max-width:780px){.landing-band__grid{grid-template-columns:minmax(0,1fr)}}.landing-band__title{color:#fbf3e7;margin-bottom:1rem}.landing-band__body{margin:0;color:#cfb9a5;line-height:1.6;max-width:52ch}.landing-band__points{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.landing-band__points li{display:flex;align-items:center;gap:.7rem;font-weight:650;padding:.8rem 1.1rem;background:#fbf3e70f;border:1px solid rgba(251,243,231,.14);border-radius:var(--pill)}.landing-band__points svg{width:1.15rem;height:1.15rem;flex:none;color:#d97a55}.landing-faq{border-top:1px solid var(--border)}.landing-faq__item{border-bottom:1px solid var(--border)}.landing-faq__item summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:1.05rem;font-weight:650}.landing-faq__item summary::-webkit-details-marker{display:none}.landing-faq__item summary:after{content:"+";font-family:var(--landing-display);font-size:1.3rem;line-height:1;color:var(--accent);transition:rotate .18s ease;flex:none}.landing-faq__item[open] summary:after{rotate:45deg}.landing-faq__item>p{margin:0 0 1.15rem;color:var(--muted);line-height:1.6;max-width:60ch}.landing-final{text-align:center}.landing-final .landing-lede{margin-inline:auto}.landing-final__cta{justify-content:center}@keyframes landing-rise{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes landing-pop{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@media(prefers-reduced-motion:reduce){.landing *,.landing *:before,.landing *:after{animation:none!important;transition:none!important}}.lform{display:grid;gap:1rem;max-width:34rem;margin:2rem auto 0;text-align:left}.lform__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:520px){.lform__row{grid-template-columns:minmax(0,1fr)}}.lform__field{display:grid;gap:.35rem}.lform__field>span{font-size:.8rem;font-weight:650;color:var(--muted)}.lform input,.lform textarea{width:100%;font-family:inherit;font-size:16px;line-height:1.4;color:var(--fg);background:var(--input-bg);border:1px solid var(--border);border-radius:12px;padding:.6rem .8rem;transition:border-color .12s,box-shadow .12s}.lform textarea{resize:vertical;min-height:6.5rem}.lform input:focus-visible,.lform textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint-strong)}.lform__submit{justify-self:stretch;width:100%;margin-top:.25rem;box-shadow:inset 0 1px #ffffff24,0 2px 0 var(--accent-shadow),0 6px 14px -6px #48241066}.lform__submit:active:not(:disabled){box-shadow:inset 0 1px 2px #0003}.lform__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.lform__status{margin:.1rem 0 0;font-size:.9rem;font-weight:600}.lform__status.is-ok{color:var(--success)}.lform__status.is-err{color:var(--danger)}
