@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.03f_1bxrvnkfd.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(../media/bricolage-grotesque-latin-ext-wght-normal.37g1whwfgt7kp.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(../media/bricolage-grotesque-latin-wght-normal.1iqnhac4m3hwo.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-ext-wght-normal.1o60yhwqd7ueg.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-wght-normal.0n0q_nh7u2mrm.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-vietnamese-wght-normal.0nt7ek_nfk5a4.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-ext-wght-normal.39q78sztp1ci5.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-wght-normal.20f3xrkj613ah.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-ext-wght-normal.2ij5maosbedmv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-wght-normal.33c6-jfmyetfr.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-symbols2-wght-normal.0peao-xekk45v.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-vietnamese-wght-normal.3lyzf0uofk1_2.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-ext-wght-normal.18_jyrw-ln1dm.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-wght-normal.1t7tphccnfzmb.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{--ground:#f6f9fe;--surface:#fff;--tint:#ecf0ff;--tint-teal:#e3f6f8;--line:#dfe6f3;--line-strong:#c9d3ea;--ink:#0b1226;--ink-2:#2a3350;--muted:#4a5470;--brand:#3346ff;--brand-2:#2a5bff;--brand-ink:#2a3ad0;--teal:#0b7c86;--cyan:#27c7d6;--good:#10794a;--good-bg:#e3f6f4;--warn:#8a4b00;--night:#0b1226;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--font-body:"Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, monospace;--r-sm:12px;--r-md:20px;--r-lg:28px;--r-xl:36px;--shadow:0 24px 60px #283c781a;--shadow-sm:0 8px 22px #283c7814;--wrap:1240px;--gutter:clamp(16px, 4vw, 40px);--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--ground);color:var(--ink);font:400 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:6px}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;margin:0}.wrap{max-width:var(--wrap);padding-inline:var(--gutter);margin:0 auto}.narrow{max-width:820px;padding-inline:var(--gutter);margin:0 auto}.section{padding-block:clamp(64px,9vw,104px)}.section-white{background:var(--surface);border-block:1px solid var(--line)}.skip{z-index:100;background:var(--brand);color:#fff;border-radius:999px;padding:10px 16px;position:absolute;top:8px;left:-9999px}.skip:focus{left:16px}.eyebrow{font:500 12px/1.2 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);align-items:center;gap:10px;display:inline-flex}.pill-eyebrow{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 16px}.h1{letter-spacing:-.035em;font-size:clamp(42px,6.2vw,76px);font-weight:800;line-height:1}.h2{letter-spacing:-.035em;font-size:clamp(32px,4.2vw,50px);font-weight:800;line-height:1.04}.h3{letter-spacing:-.02em;font-size:clamp(21px,2vw,26px);font-weight:700;line-height:1.15}.lede{color:var(--muted);max-width:640px;font-size:clamp(18px,1.6vw,21px);line-height:1.55}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}.grad{background:linear-gradient(92deg, var(--brand), #0e8fb5);color:#0000;-webkit-background-clip:text;background-clip:text}.stack-sm>*+*{margin-top:12px}.stack>*+*{margin-top:20px}.section-head{max-width:780px}.section-head .h2{margin-top:16px}.section-head .lede{margin-top:18px}.btn{min-height:52px;font:600 16px/1.2 var(--font-body);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(95deg, var(--brand), var(--brand-2));color:#fff}.btn-primary:hover{box-shadow:0 14px 34px #3346ff66}.btn-ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink);font-weight:500}.btn-dark{background:var(--night);color:#fff}.btn-white{color:var(--ink);background:#fff}.btn-lg{min-height:58px;padding:17px 30px;font-size:17px}.btn-row{flex-wrap:wrap;gap:14px;display:flex}.link-arrow{color:var(--brand);font-weight:600}.link-arrow:hover{text-decoration:underline}.site-header{z-index:50;-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);background:#f6f9fedb;border-bottom:1px solid #0000;transition:border-color .3s;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--line)}.header-row{justify-content:space-between;align-items:center;gap:16px;min-height:76px;display:flex}.brand{font:800 29px/1 var(--font-display);letter-spacing:-.045em;align-items:center;gap:11px;display:inline-flex}.nav{align-items:center;gap:4px;display:flex}.nav>a,.nav-drop>button{color:var(--ink-2);font:500 15px var(--font-body);background:0 0;border:0;border-radius:999px;padding:10px 14px}.nav>a:hover,.nav-drop>button:hover,.nav a[aria-current=page]{background:var(--tint);color:var(--ink)}.nav-drop{position:relative}.nav-drop>button{align-items:center;gap:6px;display:inline-flex}.nav-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);width:340px;box-shadow:var(--shadow);opacity:0;pointer-events:none;padding:10px;transition:opacity .2s,transform .2s;position:absolute;top:calc(100% + 10px);left:-12px;transform:translateY(6px)}.nav-drop.open .nav-panel{opacity:1;pointer-events:auto;transform:none}.nav-panel:before{content:"";height:14px;position:absolute;top:-14px;left:0;right:0}.nav-panel a{border-radius:14px;padding:12px 14px;display:block}.nav-panel a:hover{background:var(--tint)}.nav-panel strong{font-size:15px;font-weight:600;display:block}.nav-panel span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.nav>a.nav-cta{color:#fff;background:linear-gradient(95deg, var(--brand), var(--brand-2));min-height:46px;margin-left:8px;padding:11px 22px;font-size:15px;font-weight:600}.nav>a.nav-cta:hover{color:#fff;background:linear-gradient(95deg, var(--brand), var(--brand-2))}.menu-btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:50%;width:48px;height:48px;display:none}.mobile-nav{display:none}@media (max-width:1020px){.nav{display:none}.menu-btn{justify-content:center;align-items:center;display:inline-flex}.mobile-nav.open{background:var(--ground);padding:20px var(--gutter) 40px;border-top:1px solid var(--line);display:block;position:fixed;inset:76px 0 0;overflow-y:auto}.mobile-nav a{font:600 20px var(--font-display);border-bottom:1px solid var(--line);padding:14px 4px;display:block}.mobile-nav .sub a{font:500 17px var(--font-body);padding-left:16px}.mobile-nav .btn{width:100%;font:600 17px var(--font-body);border:0;margin-top:24px;padding:17px;display:flex}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,34px)}.card-tint{background:linear-gradient(135deg, var(--tint), var(--tint-teal));border-color:#0000}.lift{transition:transform .3s var(--ease), box-shadow .3s, border-color .3s}.lift:hover{border-color:var(--brand);transform:translateY(-4px);box-shadow:0 18px 40px #283c781f}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.split{flex-wrap:wrap;align-items:center;gap:clamp(32px,5vw,56px);display:flex}.split>*{flex:420px;min-width:0}.checks{gap:12px;margin:0;padding:0;list-style:none;display:grid}.checks li{align-items:flex-start;gap:12px;font-weight:500;display:flex}.checks li:before{content:"✓";background:var(--good-bg);width:24px;height:24px;color:var(--teal);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:1px;font-size:13px;display:inline-flex}.chip{border:1px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--ink);font:500 15px var(--font-body);border-radius:999px;align-items:center;padding:10px 18px;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.chip:hover{border-color:var(--brand);transform:translateY(-2px)}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.chips{flex-wrap:wrap;gap:10px;display:flex}.tag{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.label{font:500 12px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.price{font:800 clamp(30px, 3vw, 38px)/1 var(--font-display);letter-spacing:-.03em;color:var(--brand)}.icon-tile{background:var(--tint);width:52px;height:52px;color:var(--brand);border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.page-hero{padding-block:clamp(40px,7vw,84px) clamp(48px,7vw,88px);position:relative;overflow:hidden}.page-hero .h1{max-width:920px;margin-top:20px}.page-hero .lede{margin-top:22px}.page-hero .btn-row{margin-top:30px}.facts{color:var(--ink-2);flex-wrap:wrap;gap:12px 28px;margin-top:28px;font-size:15px;font-weight:500;display:flex}.facts span:before{content:"✓";color:var(--good);margin-right:8px}.blob{pointer-events:none;border-radius:50%;animation:16s ease-in-out infinite floaty;position:absolute}.blob-a{background:radial-gradient(circle,#3346ff26,#0000 66%);width:640px;height:640px;top:-160px;right:-180px}.blob-b{background:radial-gradient(circle,#27c7d62b,#0000 66%);width:560px;height:560px;animation-duration:21s;animation-direction:reverse;top:300px;left:-220px}@keyframes floaty{0%,to{transform:translate(0)scale(1)}50%{transform:translate(34px,-42px)scale(1.1)}}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:14px;display:flex}.breadcrumbs a:hover{color:var(--brand)}.steps{counter-reset:s;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;display:grid}.step{counter-increment:s;position:relative}.step:before{content:counter(s, decimal-leading-zero);font:500 12px var(--font-mono);letter-spacing:.14em;color:var(--brand);margin-bottom:12px;display:block}.plan{flex-direction:column;gap:14px;display:flex;position:relative}.plan.featured{border:2px solid var(--brand);box-shadow:0 24px 54px #3346ff29}.plan .badge{background:var(--brand);color:#fff;font:600 12px var(--font-mono);letter-spacing:.06em;border-radius:999px;padding:6px 14px;position:absolute;top:-14px;right:22px}.plan .btn{margin-top:auto}.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}.table-wrap th,.table-wrap td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:14px 18px}.table-wrap th{background:var(--tint);font-weight:600}.table-wrap tr:last-child td{border-bottom:0}.faq{gap:12px;display:grid}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-size:18px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";border:1px solid var(--line-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;font-weight:400;transition:transform .3s;display:inline-flex}.faq details[open] summary:after{transform:rotate(45deg)}.faq details>div{color:var(--muted);max-width:760px;padding:0 24px 22px}.cta-band{border-radius:var(--r-xl);background:linear-gradient(120deg, var(--brand), #2e78ff 60%, #1fa9c9);color:#fff;flex-wrap:wrap;align-items:center;gap:40px;padding:clamp(32px,6vw,64px);display:flex;position:relative;overflow:hidden}.cta-band>*{flex:400px;min-width:0;position:relative}.cta-band .h2{color:#fff}.cta-band p{color:#eaf0ff;font-size:19px}.cta-band .glow{background:radial-gradient(circle,#ffffff4d,#0000 66%);border-radius:50%;flex:none;width:420px;height:420px;position:absolute;top:-120px;right:-100px}.form{gap:12px;display:grid}.form label{font-size:15px;font-weight:600}.form input,.form textarea,.form select{border:1px solid var(--line-strong);background:var(--ground);width:100%;font:400 16px var(--font-body);color:var(--ink);border-radius:14px;padding:15px 18px}.form textarea{resize:vertical;min-height:130px}.form .note{color:var(--muted);font-size:13px}.form .error{color:#b42318;font-size:14px;font-weight:500}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.site-footer{background:var(--surface);border-top:1px solid var(--line);color:var(--muted);padding-block:64px 36px;font-size:15px}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:36px;display:grid}.footer-grid h2{font:500 12px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}.footer-grid ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer-grid a:hover{color:var(--brand)}.footer-base{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;display:flex}@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}.article-head{padding-block:clamp(36px,6vw,72px) 24px}.article-meta{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin-top:22px;font-size:15px;display:flex}.article-cover{border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow);margin-block:8px 40px;overflow:hidden}.prose{color:#1d2540;font-size:18px;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{letter-spacing:-.025em;margin-top:2em;scroll-margin-top:100px;font-size:clamp(27px,3vw,34px);line-height:1.12}.prose h3{letter-spacing:-.015em;margin-top:1.6em;scroll-margin-top:100px;font-size:22px;line-height:1.25}.prose a{color:var(--brand);text-underline-offset:3px;text-decoration:underline}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.45em}.prose strong{color:var(--ink)}.prose figure{margin:2em 0}.prose figure img{border-radius:var(--r-md);border:1px solid var(--line);background:#fff}.prose figcaption{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.5}.prose table{border-collapse:collapse;background:#fff;width:100%;font-size:15px;line-height:1.5}.prose figure:has(table){border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto}.prose figure:has(table) table{min-width:620px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.prose th{background:var(--tint);font-weight:600}.prose>p:first-child{font-size:20px;line-height:1.6}.toc{position:sticky;top:100px}.toc ol{gap:4px;margin:12px 0 0;padding:0;list-style:none;display:grid}.toc a{color:var(--muted);border-left:2px solid var(--line);border-radius:10px;padding:6px 12px;font-size:14px;display:block}.toc a:hover,.toc a.active{color:var(--brand);border-left-color:var(--brand);background:var(--tint)}.article-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:56px;display:grid}@media (max-width:1020px){.article-layout{grid-template-columns:1fr}.toc{display:none}}.author-box{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);align-items:center;gap:18px;margin-top:48px;padding:24px;display:flex}.avatar{background:linear-gradient(135deg, var(--cyan), var(--brand));color:#fff;width:56px;height:56px;font:800 22px var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.progress{background:linear-gradient(90deg, var(--brand), var(--cyan));z-index:60;transform-origin:0;height:3px;position:fixed;top:0;left:0}.reveal{animation:rise .8s var(--ease) both}.reveal-1{animation-delay:80ms}.reveal-2{animation-delay:.2s}.reveal-3{animation-delay:.32s}.reveal-4{animation-delay:.44s}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.pulse-dot{background:var(--good);border-radius:50%;width:8px;height:8px;animation:1.8s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #10794a80}to{box-shadow:0 0 0 12px #10794a00}}.swap{animation:swapin .6s var(--ease)}@keyframes swapin{0%{opacity:.15;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.tool{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;gap:20px;margin-top:40px;display:grid}@media (max-width:860px){.tool{grid-template-columns:1fr}}.tool-inputs{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);align-content:start;gap:18px;padding:clamp(20px,3vw,30px);display:grid}.tool-field{gap:8px;display:grid}.tool-row{justify-content:space-between;align-items:baseline;gap:12px;font-weight:600;display:flex}.tool-value{font:800 26px var(--font-display);color:var(--brand);letter-spacing:-.02em}.tool-toggle{text-align:left;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--ground);width:100%;min-height:64px;color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex}.tool-toggle:hover{border-color:var(--brand)}.tool-toggle.layer:hover{transform:translate(4px);box-shadow:0 12px 28px #3346ff1a}.switch{background:var(--line-strong);border-radius:999px;flex:none;width:52px;height:30px;transition:background .3s;position:relative}.switch i{width:24px;height:24px;transition:left .3s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000040}.tool-toggle[aria-checked=true] .switch{background:var(--brand)}.tool-toggle[aria-checked=true] .switch i{left:25px}.tool-result{color:#fff;border-radius:var(--r-lg);background:linear-gradient(150deg,#3346ff 0%,#2f62ff 50%,#1c9fd0 100%);flex-direction:column;gap:4px;padding:clamp(22px,3vw,32px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 70px #3346ff4d}.tool-result:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff2e 1.2px,#0000 1.3px);background-size:24px 24px;position:absolute;inset:0}.tool-result>*{position:relative}.tool-lines{gap:10px;margin:18px 0 22px;padding:0;list-style:none;display:grid}.tool-lines li:before{content:"✓";color:#9cf3f7;margin-right:10px}.quote-lines{gap:10px;margin:16px 0;display:grid}.quote-lines>div{border-bottom:1px solid #ffffff40;justify-content:space-between;gap:12px;padding-bottom:10px;display:flex}.quote-lines b{font:800 22px var(--font-display)}.quote-lines .total b{font-size:clamp(30px,3.4vw,40px)}.saving{background:#ffffff2e;border-radius:12px;margin:0 0 6px;padding:8px 12px;font-size:14px;font-weight:600}.stack-stage{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);perspective:1100px;justify-content:center;align-items:center;height:420px;display:flex;overflow:hidden}.stack-3d{width:240px;height:240px;transform-style:preserve-3d;animation:9s ease-in-out infinite tilt;position:relative;transform:rotateX(58deg)rotate(-32deg)}@keyframes tilt{0%,to{transform:rotateX(58deg)rotate(-32deg)}50%{transform:rotateX(54deg)rotate(-24deg)}}.slab{font:700 20px var(--font-display);transition:transform .6s var(--ease), background .4s, box-shadow .4s;border-radius:24px;align-items:flex-end;padding:18px;display:flex;position:absolute;inset:0}.path-line{background:var(--line);height:2px;margin:30px 0 24px;position:relative}.path-line i{background:var(--brand);border-radius:50%;width:14px;height:14px;animation:6s ease-in-out infinite travel;position:absolute;top:-6px;left:0;box-shadow:0 0 0 6px #3346ff2e}@keyframes travel{0%{left:0}to{left:calc(100% - 14px)}}.path-stop{border-radius:var(--r-md);border:1px solid var(--line);background:#fff;padding:16px;transition:all .4s}.path-stop.gap{background:#fffbf2;border:2px dashed #c98a2b;animation:1.8s ease-in-out infinite gapPulse}@keyframes gapPulse{0%,to{box-shadow:0 0 #8a4b004d}50%{box-shadow:0 0 0 7px #8a4b0000}}.badge-mini{color:#7a4300;background:#fff1d6;border-radius:10px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.35;display:inline-block}.badge-mini.ok{background:var(--good-bg);color:#0b6b4a}
