@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.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}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.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{--page-bg:linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);--page-solid:#16213e;--paper:#121a33;--surface:#1e2140b8;--sunken:#ffffff0f;--ink:#eef0fb;--steel:#aab1cc;--rule:#a78bfa3d;--cobalt:#b79cff;--cobalt-ink:#d8c9ff;--on-cobalt:#fff;--primary-bg:linear-gradient(135deg, #7c3aed, #db2777);--marker:#f59e0b;--marker-soft:#f59e0b2e;--marker-band:#ec489973;--ok:#4ade80;--danger:#fb8a8a;--checker-a:#2a2f52;--checker-b:#1c2140;--shadow:0 1px 0 #00000040, 0 20px 50px -20px #050514cc;--footer-bg:#0a0c1e8c;--footer-fg:#e6e8f5;--glow-opacity:.26;--panel-glow:0 0 0 1px #a78bfa47, 0 0 45px -8px #8b5cf68c, 0 0 90px -20px #ec489973;--btn-glow:0 0 18px #ec48998c, 0 0 42px #8b5cf673;--shimmer:linear-gradient(90deg, #fff, #c4b5fd, #f472b6, #fbbf24, #22d3ee, #a78bfa, #fff);--shimmer-logo:linear-gradient(90deg, #8b5cf6, #ec4899, #f59e0b, #06b6d4, #8b5cf6);--text-grad:linear-gradient(100deg, #fff 10%, #c4b5fd 55%, #f9a8d4 95%);--text-glow:drop-shadow(0 0 12px #c4b5fd8c) drop-shadow(0 0 36px #8b5cf699);--text-glow-strong:drop-shadow(0 0 10px #d8c9ffe6) drop-shadow(0 0 30px #ec4899b3);--display:"Bricolage Grotesque Variable", "Arial Narrow", system-ui, sans-serif;--text:"Instrument Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--code:ui-monospace, "SFMono-Regular", "Cascadia Code", Menlo, Consolas, monospace;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.625rem;--step-3:clamp(1.9rem, 3.2vw, 2.4rem);--step-4:clamp(2.4rem, 5.5vw, 3.6rem);--step-5:clamp(2.9rem, 8.4vw, 6.4rem);--gutter:clamp(1rem, 4vw, 2.5rem);--measure:66ch;--wide:78rem;--r-panel:22px;--r-ctl:999px;--r-small:10px;color-scheme:dark}:root[data-theme=light]{--page-bg:linear-gradient(135deg, #f6f4ff 0%, #f3f5f9 50%, #eef3fb 100%);--page-solid:#f3f5f7;--paper:#f3f5f7;--surface:#ffffffd1;--sunken:#e9edf1;--ink:#141b24;--steel:#5b6878;--rule:#d6dce3;--cobalt:#6d28d9;--cobalt-ink:#4c1d95;--on-cobalt:#fff;--primary-bg:linear-gradient(135deg, #6d28d9, #be185d);--marker:#ffd23f;--marker-soft:#fff3c2;--marker-band:#ffd23f;--ok:#17845a;--danger:#c2412d;--checker-a:#e3e8ee;--checker-b:#fff;--shadow:0 1px 0 #141b240a, 0 12px 32px -12px #141b242e;--footer-bg:#141b24;--footer-fg:#f3f5f7;--glow-opacity:.2;--panel-glow:0 0 0 1px #8b5cf62e, 0 0 40px -10px #8b5cf659;--btn-glow:0 6px 22px -6px #be185d80;--shimmer:linear-gradient(90deg, #6d28d9, #be185d, #b45309, #0e7490, #6d28d9);--shimmer-logo:linear-gradient(90deg, #7c3aed, #db2777, #d97706, #0891b2, #7c3aed);--text-grad:linear-gradient(100deg, #6d28d9 10%, #9333ea 55%, #be185d 95%);--text-glow:none;--text-glow-strong:drop-shadow(0 0 12px #9333ea59);color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--page-bg) fixed var(--page-solid);min-height:100vh;color:var(--ink);font-family:var(--text);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}img,canvas,video{max-width:100%;height:auto}a{color:var(--cobalt);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--cobalt-ink);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}::selection{color:#fff;background:#8b5cf6}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.08}p{margin:0 0 1em}code,kbd{font-family:var(--code);font-size:.92em}kbd{border:1px solid var(--rule);background:var(--surface);border-bottom-width:2px;border-radius:6px;padding:.05em .4em}.wrap{max-width:var(--wide);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{background:var(--ink);color:var(--paper);z-index:50;border-radius:8px;padding:.5rem 1rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}[hidden]{display:none!important}.site-header{z-index:20;background:color-mix(in srgb, var(--page-solid) 72%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);position:sticky;top:0}.site-header .wrap{align-items:center;gap:1.5rem;min-height:4.5rem;display:flex}.brand{letter-spacing:0;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1.5rem;font-weight:700;line-height:1.2;text-decoration:none}.brand svg{flex:none;width:1.75rem;height:1.75rem}.nav{align-items:center;gap:clamp(.9rem,2.4vw,1.75rem);margin-left:auto;font-weight:550;display:flex}.nav a{color:var(--ink);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{text-underline-offset:.35em;text-decoration:underline 2px}@media (width<=34rem){.nav .nav-optional{display:none}}.theme-toggle{background:var(--surface);border:1px solid var(--rule);color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;width:2.4rem;height:2.4rem;display:grid}.theme-toggle:hover{border-color:var(--ink)}.theme-toggle svg{width:1.1rem;height:1.1rem}.site-footer{background:var(--footer-bg);-webkit-backdrop-filter:blur(10px);color:var(--footer-fg);border-top:1px solid var(--rule);margin-top:7rem;position:relative}.site-footer a{color:var(--footer-fg);text-decoration:none}.site-footer a:hover{color:var(--footer-fg);text-decoration:underline}.footer-grid{grid-template-columns:1fr;gap:2.5rem;padding-block:3.5rem 2.5rem;display:grid}@media (width>=48rem){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.footer-claim{font-family:var(--display);font-weight:700;font-size:var(--step-2);letter-spacing:-.02em;max-width:18ch;margin:0 0 .75rem;line-height:1.15}.footer-note{color:color-mix(in srgb, var(--footer-fg) 70%, transparent);max-width:36ch;font-size:var(--step--1)}.footer-h{font-family:var(--display);margin:0 0 .6rem;font-weight:700}.footer-list{gap:.4rem;margin:0;padding:0;font-size:.98rem;list-style:none;display:grid}.footer-base{font-size:var(--step--1);color:color-mix(in srgb, var(--footer-fg) 65%, transparent);background:linear-gradient(color-mix(in srgb, var(--footer-fg) 18%, transparent), color-mix(in srgb, var(--footer-fg) 18%, transparent)) center top / min(calc(100% - 2 * var(--gutter)), calc(var(--wide) - 2 * var(--gutter))) 1px no-repeat;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.25rem 2rem;display:flex}.btn{--bg:var(--ink);--fg:var(--paper);border-radius:var(--r-ctl);background:var(--bg);min-height:2.9rem;color:var(--fg);border:1.5px solid var(--bg);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.35rem;font-size:1rem;font-weight:650;line-height:1.1;text-decoration:none;transition:transform .12s,background-color .12s;display:inline-flex}.btn:hover{color:var(--fg);filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none;transform:none}.btn-primary{--bg:#7c3aed;--fg:var(--on-cobalt);background:var(--primary-bg);box-shadow:var(--btn-glow);border-color:#0000;transition:transform .12s,box-shadow .25s}.btn-primary:hover:not(:disabled){box-shadow:var(--btn-glow), 0 0 60px #ec489973}.btn-quiet{--bg:transparent;--fg:var(--ink);border-color:var(--rule)}.btn-quiet:hover{border-color:var(--ink);filter:none}.btn svg{width:1.1rem;height:1.1rem}.field{gap:.35rem;display:grid}.field>span,.field>label{font-size:.95rem;font-weight:600}.field small{color:var(--steel);font-size:var(--step--1)}.input,select.input,textarea.input{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--rule);border-radius:var(--r-small);min-height:2.75rem;padding:.6rem .8rem}.input:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px color-mix(in srgb, var(--cobalt) 25%, transparent);outline:none}input[type=range]{accent-color:var(--cobalt);width:100%}input[type=checkbox],input[type=radio]{accent-color:var(--cobalt);width:1.1rem;height:1.1rem}.segmented{background:var(--sunken);border-radius:var(--r-ctl);flex-wrap:wrap;gap:2px;padding:4px;display:inline-flex}.segmented label{position:relative}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented span{border-radius:var(--r-ctl);color:var(--steel);padding:.45rem 1rem;font-size:.95rem;font-weight:600;display:block}.segmented input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}.segmented input:focus-visible+span{outline:3px solid var(--cobalt);outline-offset:1px}.status{color:var(--steel);align-items:center;gap:.75rem;min-height:1.5rem;font-size:.95rem;display:flex}.status[data-tone=error]{color:var(--danger);font-weight:600}.status[data-tone=ok]{color:var(--ok);font-weight:600}.meter{background:var(--sunken);border-radius:999px;height:8px;overflow:hidden}.meter>i{background:var(--primary-bg);border-radius:inherit;width:0;height:100%;transition:width .2s;display:block}.meter[data-indeterminate]>i{width:35%;animation:1.1s ease-in-out infinite slide}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}.spinner{border:2px solid var(--rule);border-top-color:var(--cobalt);border-radius:50%;flex:none;width:1rem;height:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.checker{background-color:var(--checker-b);background-image:conic-gradient(var(--checker-a) 25%, transparent 0 50%, var(--checker-a) 0 75%, transparent 0);background-size:20px 20px}.prose{max-width:var(--measure)}.prose h2{font-size:var(--step-2);margin:2.5rem 0 .75rem}.prose h3{font-size:var(--step-1);margin:1.75rem 0 .5rem}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.25rem}.prose li{margin-bottom:.4rem}.glows{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.glows i{filter:blur(90px);opacity:var(--glow-opacity);will-change:transform, opacity;border-radius:50%;animation:20s ease-in-out infinite drift,8s ease-in-out infinite pulse;position:absolute}.glows i:first-child{background:linear-gradient(45deg,#9333ea,#ec4899);width:600px;height:600px;top:-12%;left:-12%}.glows i:nth-child(2){background:linear-gradient(45deg,#3b82f6,#8b5cf6);width:520px;height:520px;animation-delay:-5s,-2s;top:35%;right:-10%}.glows i:nth-child(3){background:linear-gradient(45deg,#ec4899,#f59e0b);width:560px;height:560px;animation-delay:-10s,-4s;bottom:-15%;left:28%}.glows i:nth-child(4){background:#06b6d4;width:420px;height:420px;animation-delay:-14s,-6s;top:55%;left:-12%}@keyframes pulse{0%,to{opacity:var(--glow-opacity)}50%{opacity:calc(var(--glow-opacity) * 1.45)}}@keyframes drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-50px)scale(1.1)}66%{transform:translate(-20px,20px)scale(.9)}}:root:not([data-theme=light]) .site-header{box-shadow:0 1px #a78bfa26,0 8px 30px -12px #8b5cf673}.shimmer,.brand,.hero h1,.tool-head h1,.legal-head h1,.how-intro h2,.footer-claim{background-image:var(--shimmer);-webkit-text-fill-color:transparent;color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:8s linear infinite shimmer}.brand{background-image:var(--shimmer-logo);animation-duration:6s}@keyframes shimmer{0%{background-position:0%}to{background-position:300%}}@media (prefers-reduced-motion:reduce){.glows i{animation:none}:is(.shimmer,.brand,.hero h1,.tool-head h1,.legal-head h1,.how-intro h2,.footer-claim,.group-tools a:hover .t-name){animation-duration:16s!important;animation-iteration-count:infinite!important}html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
