*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--ink:#111827;--ink2:#4b5068;--ink3:#8b90a8;--surface:#faf9f7;--white:#ffffff;--purple:#371b53;--purple-hover:#4a2570;--purple-soft:#5e3a85;--purple-light:rgba(55,27,83,0.06);--purple-border:rgba(55,27,83,0.18);--border:rgba(0,0,0,0.12);--border-fine:#efeee9;--max-w:1200px;--pad:28px}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--surface);color:var(--ink);overflow-x:hidden}.promo-bar{position:fixed;top:0;left:0;right:0;z-index:510;height:50px;overflow:hidden;background:linear-gradient(270deg,#1a0a2e,#2d1450,#1e0f3a,#371b53,#1a0a2e);background-size:400% 100%;animation:promo-gradient 12s ease infinite;display:flex;align-items:center}@keyframes promo-gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.promo-track{flex:1;overflow:hidden;display:flex;mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 60px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 60px),transparent)}.promo-scroll{display:flex;align-items:center;flex-shrink:0;animation:promo-marquee 100s linear infinite}@keyframes promo-marquee{0%{transform:translateX(0)}to{transform:translateX(-100%)}}.promo-item{gap:0;white-space:nowrap}.promo-dot,.promo-item{display:flex;align-items:center}.promo-dot{justify-content:center;width:28px;color:rgba(255,255,255,.3);flex-shrink:0}.promo-text{font-size:12px;font-weight:500;color:rgba(255,255,255,.85);letter-spacing:.02em}.promo-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:rgba(255,255,255,.4);padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:2}.promo-close:hover{color:rgba(255,255,255,.8)}.promo-spacer{height:50px}.navbar{position:fixed;top:0;left:0;right:0;z-index:500;height:72px;display:flex;align-items:center;padding:0 48px;background:transparent;transition:background .3s,box-shadow .3s,border-color .3s,top .3s;border-bottom:1px solid transparent}.navbar.has-promo{top:50px}.navbar.scrolled{background:var(--white);border-bottom-color:rgba(0,0,0,.06);box-shadow:0 1px 8px rgba(0,0,0,.04)}.navbar-inner{width:100%;max-width:var(--max-w);margin:0 auto;gap:0}.nav-logo,.navbar-inner{display:flex;align-items:center}.nav-logo{gap:9px;text-decoration:none;flex-shrink:0;padding-right:28px}.nav-logo img{width:auto;height:34px;object-fit:contain;border-radius:8px}.nav-logo-text{font-size:19px;font-weight:600;letter-spacing:-.4px;color:var(--ink)}.nav-center{gap:0}.nav-center,.nav-link{display:flex;align-items:center}.nav-link{gap:5px;font-size:14px;font-weight:400;color:var(--ink2);text-decoration:none;padding:10px 14px;border-radius:4px;transition:color .15s,background .15s;cursor:pointer;position:relative}.nav-link[data-dropdown]:after{content:"";position:absolute;bottom:-14px;left:0;right:0;height:14px}.nav-link.active,.nav-link:hover{color:var(--purple)}.nav-link .caret{width:10px;height:10px;transition:transform .2s;opacity:.5}.nav-link.active .caret{transform:rotate(180deg);opacity:.8}.nav-right{display:flex;align-items:center;gap:16px;margin-left:auto;flex-shrink:0}.nav-tagline{font-size:12px;font-weight:500;color:var(--ink3);padding:5px 12px;border:1px solid var(--border-fine);border-radius:100px;white-space:nowrap;user-select:none;letter-spacing:.01em}.nav-signin{font-size:14px;font-weight:400;color:var(--ink2);text-decoration:none;padding:8px 12px;transition:color .15s}.nav-signin:hover{color:var(--purple)}.btn{display:inline-flex;align-items:center;gap:0;font-family:inherit;font-size:14px;font-weight:500;padding:5px;border-radius:4px;text-decoration:none;cursor:pointer;transition:all .28s cubic-bezier(.22,1,.36,1);border:1px solid rgba(0,0,0,.5);background:transparent;color:var(--ink)}.btn-text{padding:0 14px;white-space:nowrap;transition:color .2s}.btn-icon{width:34px;height:34px;border-radius:3px;background:rgba(0,0,0,.045);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-icon svg{width:14px;height:14px;color:var(--ink2);transition:color .2s}.btn:hover{border-color:var(--purple);background:var(--purple);color:#fff;box-shadow:0 4px 16px rgba(55,27,83,.2)}.btn:hover .btn-text{color:#fff}.btn:hover .btn-icon{background:rgba(255,255,255,1)}.btn:hover .btn-icon svg{color:var(--purple)}.btn-filled{border-color:var(--purple);background:var(--purple);color:#fff}.btn-filled .btn-text{color:#fff}.btn-filled .btn-icon{background:rgba(255,255,255,.13)}.btn-filled .btn-icon svg{color:#fff}.btn-filled:hover{background:var(--purple-hover);border-color:var(--purple-hover);box-shadow:0 6px 24px rgba(55,27,83,.3)}.btn-filled:hover .btn-icon{background:rgba(255,255,255,1)}.btn-filled:hover .btn-icon svg{color:var(--purple-hover)}.btn-ghost{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-ghost .btn-icon{background:rgba(255,255,255,.3)}.btn-ghost:hover{background:var(--white);border-color:var(--white);color:var(--ink);box-shadow:0 4px 16px rgba(55,27,83,.2)}.btn-ghost:hover .btn-text{color:var(--ink)}.btn-ghost:hover .btn-icon{background:var(--purple)}.btn-ghost:hover .btn-icon svg{color:#fff}.nav-cta-main{border-color:transparent!important}.navbar.scrolled .nav-cta-main{border-color:var(--purple);background:var(--purple);color:#fff}.navbar.scrolled .nav-cta-main .btn-text{color:#fff}.navbar.scrolled .nav-cta-main .btn-icon{background:rgba(255,255,255,.13)}.navbar.scrolled .nav-cta-main .btn-icon svg{color:#fff}.navbar.scrolled .nav-cta-main:hover{background:var(--purple-hover);border-color:var(--purple-hover)!important;box-shadow:0 4px 16px rgba(55,27,83,.25)}.navbar.scrolled .nav-cta-main:hover .btn-icon{background:rgba(255,255,255,1)}.navbar.scrolled .nav-cta-main:hover .btn-icon svg{color:var(--purple-hover)}.navbar--dark .nav-link{color:rgba(255,255,255,.7)}.navbar--dark .nav-link.active,.navbar--dark .nav-link:hover{color:#fff}.navbar--dark .nav-signin{color:rgba(255,255,255,.7)}.navbar--dark .nav-signin:hover{color:#fff}.navbar--dark .nav-cta-main{border-color:rgba(255,255,255,.25)!important}.navbar--dark .nav-cta-main .btn-text{color:rgba(255,255,255,.9)}.navbar--dark .nav-cta-main .btn-icon{background:rgba(255,255,255,.1)}.navbar--dark .nav-cta-main .btn-icon svg{color:rgba(255,255,255,.8)}.navbar--dark .nav-cta-main:hover{border-color:var(--purple)!important;background:var(--purple);box-shadow:0 4px 16px rgba(55,27,83,.3)}.navbar--dark .nav-cta-main:hover .btn-text{color:#fff}.navbar--dark .nav-cta-main:hover .btn-icon{background:rgba(255,255,255,1)}.navbar--dark .nav-cta-main:hover .btn-icon svg{color:var(--purple)}.navbar--dark .nav-tagline{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.15)}.navbar--dark .mob-toggle{color:rgba(255,255,255,.8)}.navbar--dark.scrolled .nav-tagline{color:var(--ink3);border-color:var(--border-fine)}.navbar--dark.scrolled .nav-link{color:var(--ink2)}.navbar--dark.scrolled .nav-link.active,.navbar--dark.scrolled .nav-link:hover{color:var(--purple)}.navbar--dark.scrolled .nav-signin{color:var(--ink2)}.navbar--dark.scrolled .nav-signin:hover{color:var(--purple)}.navbar--dark.scrolled .nav-cta-main{border-color:var(--purple)!important;background:var(--purple);color:#fff}.navbar--dark.scrolled .nav-cta-main .btn-text{color:#fff}.navbar--dark.scrolled .nav-cta-main .btn-icon{background:rgba(255,255,255,.13)}.navbar--dark.scrolled .nav-cta-main .btn-icon svg{color:#fff}.navbar--dark.scrolled .mob-toggle{color:var(--ink)}.dropdown-overlay{position:fixed;top:72px;left:50%;width:85%;max-width:1060px;transform:translateX(-50%) translateY(-12px);background:var(--white);border:1px solid rgba(0,0,0,.08);border-radius:4px;box-shadow:0 16px 48px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.04);opacity:0;visibility:hidden;overflow:hidden;transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),visibility .3s,top .3s;pointer-events:none;z-index:499}.dropdown-overlay.has-promo{top:130px}.dropdown-overlay:before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}.dropdown-overlay.open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}.dropdown-inner{max-width:var(--max-w);margin:0 auto;padding:0 32px}.dd-panel{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows .25s ease,opacity .2s ease}.dd-panel>.dropdown-inner{min-height:0;padding-top:0;padding-bottom:0;transition:padding .25s ease}.dd-panel-active{grid-template-rows:1fr;opacity:1}.dd-panel-active>.dropdown-inner{width:100%;padding-top:28px;padding-bottom:28px}.dd-product{display:grid;grid-template-columns:33.33% 33.33% 33.34%;gap:0}.dd-col{display:flex;flex-direction:column;padding:0 28px}.dd-col:first-child{padding-left:0}.dd-col:last-child{padding-right:0}.dd-col-bordered{border-left:1px solid var(--border-fine)}.dd-col-heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--purple);margin-bottom:16px}.dd-col-item{display:flex;flex-direction:column;gap:2px;text-decoration:none;padding:8px 10px;border-radius:6px;transition:background .2s;margin:1px 0}.dd-col-item:hover{background:var(--purple)}.dd-col-item:hover .dd-col-item-title{color:#fff}.dd-col-item:hover .dd-col-item-desc{color:rgba(255,255,255,.65)}.dd-col-item-title{font-size:14px;font-weight:500;color:var(--ink);transition:color .2s}.dd-col-item-desc{font-size:12.5px;color:var(--ink3);line-height:1.4;transition:color .2s}.dd-col-viewall{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--purple);text-decoration:none;padding:12px 0 0;margin-top:auto;transition:gap .2s}.dd-col-viewall:hover{gap:8px}.dd-resources{display:grid;grid-template-columns:280px 1fr;gap:0}.dd-res-links{padding-right:28px;border-right:1px solid var(--border-fine)}.dd-res-link,.dd-res-links{display:flex;flex-direction:column}.dd-res-link{gap:1px;text-decoration:none;padding:7px 10px;margin:0 -10px;border-radius:6px;transition:background .2s}.dd-res-link:hover{background:var(--purple)}.dd-res-link:hover .dd-res-link-title{color:#fff}.dd-res-link:hover .dd-res-link-desc{color:rgba(255,255,255,.65)}.dd-res-link-title{font-size:14px;font-weight:500;color:var(--ink);transition:color .2s}.dd-res-link-desc{font-size:12px;color:var(--ink3);transition:color .2s}.dd-res-sep{height:1px;background:var(--border-fine);margin:8px 0}.dd-res-blog{padding-left:28px;display:flex;flex-direction:column}.dd-res-blog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dd-res-blog-all{font-size:12px;font-weight:500;color:var(--purple);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:gap .2s}.dd-res-blog-all:hover{gap:8px}.dd-blog-list{display:flex;flex-direction:column;gap:2px;flex:1}.dd-blog-item{display:flex;flex-direction:column;gap:2px;text-decoration:none;padding:20px 10px;margin:0 -10px;border-radius:6px;transition:background .2s;cursor:pointer}.dd-blog-item:hover{background:var(--purple)}.dd-blog-item:hover .dd-blog-item-meta{color:rgba(255,255,255,.5)}.dd-blog-item:hover .dd-blog-item-title{color:#fff}.dd-blog-item:hover .dd-blog-item-summary{color:rgba(255,255,255,.65)}.dd-blog-item:hover .dd-blog-item-tag{background:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}.dd-blog-item-meta{font-size:11px;font-weight:400;color:var(--muted);font-family:JetBrains Mono,DM Sans,monospace;transition:color .2s}.dd-blog-item-title{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.01em}.dd-blog-item-summary,.dd-blog-item-title{line-height:1.4;transition:color .2s;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.dd-blog-item-summary{font-size:12.5px;color:var(--ink3)}.dd-blog-item-tags{display:flex;flex-wrap:wrap;gap:5px}.dd-blog-item-tag{font-size:10px;padding:2px 7px;border-radius:100px;background:var(--purple-light);color:var(--purple);transition:all .2s}.mob-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:8px;color:var(--ink)}.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:var(--white);z-index:498;padding:20px 24px;overflow-y:auto;flex-direction:column;gap:4px;transition:top .3s}.mobile-menu.has-promo{top:108px}.mobile-menu.open{display:flex}.mobile-menu a,.mobile-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:inherit;font-size:16px;font-weight:400;color:var(--ink);text-decoration:none;padding:14px 0;border:none;background:none;cursor:pointer;border-bottom:1px solid var(--border-fine)}.mobile-menu a:hover,.mobile-menu button:hover{color:var(--purple)}.mob-submenu{display:none;flex-direction:column;padding:0 0 8px 16px}.mob-submenu.open{display:flex}.mob-submenu a{font-size:14px;color:var(--ink2);border-bottom:none;padding:10px 0}.mob-ctas{display:flex;flex-direction:column;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-fine)}.mob-ctas .btn{width:100%;justify-content:space-between}.hero-wrapper{position:relative;overflow:hidden;background:var(--surface)}.hero-canvas-wrap{pointer-events:none;z-index:0}.hero-canvas-wrap,.hero-canvas-wrap canvas{position:absolute;top:0;right:0;width:100%;height:100%}.hero{position:relative;z-index:2;max-width:var(--max-w);margin:0 auto;padding:140px var(--pad) 100px;display:flex;flex-direction:column;align-items:flex-start;min-height:calc(100vh - 60px);justify-content:center}.hero h1{font-size:clamp(36px,4.8vw,62px);font-weight:300;line-height:1.12;letter-spacing:-.035em;max-width:780px;margin-bottom:44px;color:#1a1a1a}.hero h1 em{font-style:normal;font-weight:400;color:#1a1a1a}.hero h1 em .hl{color:var(--purple)}.hero-sub{display:flex;flex-wrap:wrap;gap:6px 6px;margin-top:18px;max-width:640px}.hero-sub span{font-size:clamp(17px,1.7vw,20px);font-weight:300;line-height:1.55;letter-spacing:-.01em;color:var(--ink2);opacity:0;transform:translateY(8px);animation:sentence-in .5s cubic-bezier(.22,1,.36,1) forwards}.hero-sub span:first-child{animation-delay:.2s}.hero-sub span:nth-child(2){animation-delay:.6s}.hero-sub span:nth-child(3){animation-delay:1s}.hero-sub span:nth-child(4){animation-delay:1.4s}@keyframes sentence-in{to{opacity:1;transform:translateY(0)}}.hero-ctas{display:flex;align-items:center;gap:14px;margin-top:8px}.btn-lg{font-size:17px;padding:6px;border-radius:4px}.btn-lg .btn-text{padding:0 20px}.btn-lg .btn-icon{width:42px;height:42px}.btn-lg .btn-icon svg{width:16px;height:16px}.trust{position:relative;z-index:2;max-width:var(--max-w);margin:0 auto;padding:44px var(--pad) 40px;border-top:1px solid var(--border-fine)}.trust-label{font-size:12px;font-weight:500;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;text-align:center;margin-bottom:24px}.trust-stats{justify-content:center;gap:56px;flex-wrap:wrap}.trust-stat,.trust-stats{display:flex;align-items:center}.trust-stat{flex-direction:column;gap:4px}.trust-stat-value{font-size:28px;font-weight:700;color:var(--purple);letter-spacing:-.02em;line-height:1}.trust-stat-label{font-size:12.5px;font-weight:500;color:var(--ink3);letter-spacing:.02em}.trust-sep{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}.trust-sep hr{border:none;height:1px;background:var(--border-fine)}.problem-section{padding:80px 0;background:var(--surface)}.problem-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.section-tag{display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--purple);margin-bottom:20px}.section-h2{font-size:clamp(28px,3.5vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.03em;color:var(--ink);margin-bottom:24px}.section-p{font-size:16px;line-height:1.7;color:var(--ink2);max-width:480px}.section-p.dim{margin-top:16px;opacity:.6}.page-header{text-align:center;margin-bottom:56px}.page-header-tag{display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--purple);margin-bottom:16px}.page-header-title{font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}.page-header-sub{font-size:17px;color:var(--ink3);margin-top:12px;line-height:1.55}.page-section-title{font-size:22px;font-weight:500;color:var(--ink);letter-spacing:-.02em;margin-bottom:28px}.receipt{padding-top:8px}.receipt-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin-bottom:20px}.receipt-line{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-fine);font-family:JetBrains Mono,DM Sans,monospace;font-size:13px;opacity:0;transform:translateY(6px)}.receipt-line .svc{color:var(--ink2)}.receipt-line .cost{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.problem-section.visible .receipt-line{animation:receipt-in .4s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * .15s + .25s)}@keyframes receipt-in{to{opacity:1;transform:translateY(0)}}.receipt-total{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0 0;margin-top:4px;opacity:0}.problem-section.visible .receipt-total{animation:receipt-in .4s cubic-bezier(.22,1,.36,1) forwards;animation-delay:1.2s}.receipt-total-label{font-size:13px;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.05em;font-family:JetBrains Mono,DM Sans,monospace}.receipt-total-price{font-size:clamp(36px,4vw,52px);font-weight:700;color:#dc2626;font-family:DM Sans,sans-serif;letter-spacing:-.03em;animation:price-ping 2s ease-in-out infinite}@keyframes price-ping{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.04)}}.receipt-note{font-size:11px;color:rgba(255,255,255,.25);margin-top:12px;text-align:center}.model-section{background:#0b0614;padding:80px 0;overflow:hidden;position:relative}.model-section:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:800px;height:400px;background:radial-gradient(ellipse at center,rgba(55,27,83,.2) 0,transparent 70%);pointer-events:none}.model-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad);text-align:center}.model-tag{display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(155,114,207,.8);margin-bottom:20px}.model-h2{font-size:clamp(32px,4.5vw,56px);font-weight:400;line-height:1.1;letter-spacing:-.035em;color:#fff;margin-bottom:20px}.model-desc{font-size:17px;line-height:1.6;color:rgba(255,255,255,.45);max-width:540px;margin:0 auto 64px}.model-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);max-width:720px;margin:0 auto}.model-stat{padding:40px 20px;position:relative}.model-stat+.model-stat:before{content:"";position:absolute;left:0;top:20%;height:60%;width:1px;background:rgba(255,255,255,.06)}.model-stat-val{font-size:clamp(36px,5vw,56px);font-weight:300;letter-spacing:-.03em;color:#fff;margin-bottom:8px;line-height:1}.model-stat-label{font-size:13px;color:rgba(255,255,255,.4);font-weight:400;letter-spacing:.01em}.model-section .model-header{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.model-section .model-stats{opacity:0;transform:translateY(20px);transition:opacity .7s .15s,transform .7s .15s}.model-section.visible .model-header,.model-section.visible .model-stats{opacity:1;transform:translateY(0)}.problem-left{transition:opacity .7s ease,transform .7s ease}.problem-left,.problem-right{opacity:0;transform:translateY(20px)}.problem-right{transition:opacity .7s ease .12s,transform .7s ease .12s}.problem-section.visible .problem-left,.problem-section.visible .problem-right{opacity:1;transform:translateY(0)}.prod-section{padding:80px 0;background:var(--surface)}.prod-section-alt{background:var(--white)}.prod-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}.prod-header{margin-bottom:56px}.prod-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}.prod-grid-4{grid-template-columns:repeat(4,1fr)}.prod-item{padding:32px 28px;border-top:1px solid var(--border-fine);position:relative;opacity:0;transform:translateY(12px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),background .3s,color .3s;transition-delay:calc(var(--i) * .06s);cursor:default}.prod-item--mg{background:var(--white)}.prod-section.visible .prod-item{opacity:1;transform:translateY(0)}.prod-item:hover{background:var(--purple)}.prod-item:hover .prod-item-num{color:rgba(255,255,255,.5)}.prod-item:hover .prod-item-title{color:#fff}.prod-item:hover .prod-item-desc,.prod-item:hover .prod-item-points li{color:rgba(255,255,255,.65)}.prod-item:hover .prod-item-points li:before{background:rgba(255,255,255,.35)}.prod-item:nth-child(3n+2),.prod-item:nth-child(3n+3){border-left:1px solid var(--border-fine)}.prod-grid-4 .prod-item:nth-child(3n+2),.prod-grid-4 .prod-item:nth-child(3n+3){border-left:none}.prod-grid-4 .prod-item+.prod-item{border-left:1px solid var(--border-fine)}.prod-item-num{font-size:11px;font-weight:600;color:var(--purple);font-family:JetBrains Mono,DM Sans,monospace;margin-bottom:14px;transition:color .3s}.prod-item-title{font-size:16px;font-weight:500;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em;transition:color .3s}.prod-item-desc{font-size:13.5px;line-height:1.6;color:var(--ink2);transition:color .3s}.prod-item-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.prod-item-points li{font-size:13.5px;line-height:1.5;color:var(--ink2);padding-left:14px;position:relative;transition:color .3s}.prod-item-points li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--purple);opacity:.45;transition:background .3s,opacity .3s}.dx-section{padding:80px 0;background:var(--white)}.dx-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}.dx-header{margin-bottom:48px}.dx-tabs{display:flex;gap:0;margin-bottom:0;border-bottom:1px solid var(--border-fine)}.dx-tab{padding:14px 28px;font-size:14px;font-weight:500;color:var(--ink3);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;font-family:inherit}.dx-tab:hover{color:var(--ink)}.dx-tab.active{color:var(--purple);border-bottom-color:var(--purple)}.dx-stage{position:relative}.dx-panel{display:none;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:48px 0 0}.dx-panel.active{display:grid}.dx-title{font-size:22px;font-weight:400;color:var(--ink);letter-spacing:-.02em;margin-bottom:14px;line-height:1.25}.dx-desc{font-size:15px;line-height:1.65;color:var(--ink2);margin-bottom:24px}.dx-detail{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink2);padding:6px 0}.dx-detail-dot{width:5px;height:5px;border-radius:50%;background:var(--purple);opacity:.5;flex-shrink:0}.dx-code{background:#0b0614;border-radius:8px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.12)}.dx-code-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)}.dx-code-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.1)}.dx-code-file{margin-left:auto;font-size:11px;color:rgba(255,255,255,.3)}.dx-code-file,.dx-pre{font-family:JetBrains Mono,DM Sans,monospace}.dx-pre{padding:20px 22px;margin:0;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.55);overflow-x:auto}.dx-k{color:rgba(155,114,207,.9)}.dx-p{color:rgba(255,255,255,.75)}.dx-s{color:rgba(110,231,160,.8)}.dx-n{color:rgba(251,191,36,.8)}.dx-c{color:rgba(255,255,255,.25)}.dx-section .dx-header{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.dx-section .dx-tabs{opacity:0;transition:opacity .5s .1s}.dx-section .dx-stage{opacity:0;transform:translateY(12px);transition:opacity .6s .2s,transform .6s .2s}.dx-section.visible .dx-header{opacity:1;transform:translateY(0)}.dx-section.visible .dx-tabs{opacity:1}.dx-section.visible .dx-stage{opacity:1;transform:translateY(0)}.oss-section{background:#0b0614}.oss-inner{padding:0 var(--pad)}.oss-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:48px}.oss-program{display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:24px;opacity:0;transition:opacity .5s .2s}.oss-section.visible .oss-program{opacity:1}.oss-program-icon{width:36px;height:36px;border-radius:8px;background:rgba(155,114,207,.1);display:flex;align-items:center;justify-content:center;color:rgba(155,114,207,.8);flex-shrink:0}.oss-program-title{font-size:15px;font-weight:500;color:#fff;margin-bottom:6px}.oss-program-desc{font-size:13px;line-height:1.55;color:rgba(255,255,255,.4);margin-bottom:12px}.oss-program-link{font-size:13px;font-weight:500;color:rgba(155,114,207,.8);text-decoration:none;transition:color .2s}.oss-program-link:hover{color:rgba(155,114,207,1)}.oss-repos{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.06)}.oss-repo{padding:28px 24px;background:none;border-radius:0;border:none;border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;display:flex;flex-direction:column;transition:background .3s;opacity:0;transform:translateY(10px);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),background .3s;transition-delay:calc(var(--i) * .06s)}.oss-section.visible .oss-repo{opacity:1;transform:translateY(0)}.oss-repo:nth-child(odd){border-right:1px solid rgba(255,255,255,.06)}.oss-repo:hover{background:rgba(155,114,207,.08)}.oss-repo:hover .oss-repo-name{color:rgba(155,114,207,1)}.oss-repo:hover .oss-repo-desc{color:rgba(255,255,255,.5)}.oss-repo-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.oss-repo-icon{color:rgba(255,255,255,.25);flex-shrink:0}.oss-repo-name{font-size:14px;font-weight:600;color:rgba(155,114,207,.8);font-family:JetBrains Mono,DM Sans,monospace}.oss-repo-lang{margin-left:auto;font-size:11px;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:5px}.oss-lang-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.oss-repo-desc{font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.35);flex:1}.oss-section .oss-header{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.oss-section.visible .oss-header{opacity:1;transform:translateY(0)}.tech-section{padding:80px 0;background:var(--surface)}.tech-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}.tech-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.tech-header{max-width:540px}.tech-nav{display:flex;gap:10px;flex-shrink:0;margin-bottom:6px}.tech-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink2);transition:all .2s;font-family:inherit;border-radius:4px}.tech-arrow:hover{border-color:var(--purple);background-color:var(--purple);color:var(--white)}.tech-carousel{display:flex;gap:8px;height:340px;overflow:hidden}.tech-card{flex-shrink:1;flex-grow:0;min-width:0;border-radius:12px;background:var(--card-bg);position:relative;overflow:hidden;cursor:pointer;transition:flex-basis .65s cubic-bezier(.22,1,.36,1),border-radius .4s,box-shadow .3s}.tech-card-active{border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.1)}.tech-card-light{border:1px solid var(--border-fine)}.tech-card:not(.tech-card-active):hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.tech-card-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.tech-card-logo img{max-width:60%;max-height:50%;object-fit:contain;opacity:.85;transition:opacity .3s;filter:brightness(0) invert(1)}.tech-card-active .tech-card-logo img{opacity:1}.tech-card-light .tech-card-logo img,.tech-card-nofilter .tech-card-logo img{filter:none}.tech-info{margin-top:32px;min-height:68px}.tech-info-text{animation:tech-info-in .4s cubic-bezier(.22,1,.36,1)}@keyframes tech-info-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tech-info-name{font-size:20px;font-weight:500;color:var(--ink);letter-spacing:-.02em;margin-bottom:6px}.tech-info-desc{font-size:15px;line-height:1.6;color:var(--ink2);max-width:640px}.tech-section .tech-header{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.tech-section .tech-nav{opacity:0;transition:opacity .5s .1s}.tech-section .tech-carousel{opacity:0;transform:translateY(12px);transition:opacity .6s .15s,transform .6s .15s}.tech-section .tech-info{opacity:0;transition:opacity .5s .25s}.tech-section.visible .tech-header{opacity:1;transform:translateY(0)}.tech-section.visible .tech-nav{opacity:1}.tech-section.visible .tech-carousel{opacity:1;transform:translateY(0)}.tech-section.visible .tech-info{opacity:1}.testi-section{padding:64px 0;background:var(--white);border-top:1px solid var(--border-fine)}.testi-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}.testi-header{margin-bottom:40px}.testi-track{gap:0}.testi-card,.testi-track{display:flex;overflow:hidden}.testi-card{flex-shrink:0;padding:0;border-left:1px solid var(--border-fine);cursor:pointer;transition:flex .6s cubic-bezier(.22,1,.36,1);position:relative;flex-direction:column}.testi-card:first-child{border-left:none}.testi-card{flex:1}.testi-card.active{flex:2.5}.testi-card-inner{padding:28px 28px 20px;opacity:0;max-height:0;overflow:hidden;transition:opacity .4s ease .15s,max-height .6s cubic-bezier(.22,1,.36,1)}.testi-card.active .testi-card-inner{opacity:1;max-height:400px}.testi-quote-collapsed{padding:28px 28px 20px;font-size:13.5px;line-height:1.55;color:var(--ink3);font-style:italic;transition:opacity .3s}.testi-card.active .testi-quote-collapsed{opacity:0;max-height:0;padding:0 28px;overflow:hidden;transition:opacity .2s,max-height .4s,padding .4s}.testi-quote{font-size:15px;line-height:1.65;color:var(--ink2);margin-bottom:24px}.testi-footer{gap:12px}.testi-avatar,.testi-footer{display:flex;align-items:center}.testi-avatar{width:36px;height:36px;border-radius:50%;background:rgba(55,27,83,.08);color:var(--purple);font-size:12px;font-weight:600;justify-content:center;flex-shrink:0}.testi-name{font-size:13px;font-weight:500;color:var(--ink)}.testi-role{font-size:12px;color:var(--ink3)}.testi-progress{height:2px;margin-top:auto;background:rgba(0,0,0,.04)}.testi-progress-fill{height:100%;width:0;background:var(--purple);transition:none}.testi-card.active .testi-progress-fill{animation:testi-fill 7s linear forwards}@keyframes testi-fill{0%{width:0}to{width:100%}}.blog-section{padding:40px 0 80px;background:var(--white)}.blog-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.blog-view-all{font-size:13px;font-weight:500;color:var(--purple);text-decoration:none;transition:opacity .2s}.blog-view-all:hover{opacity:.7}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border-fine);border-radius:8px;overflow:hidden}.blog-featured{display:flex;flex-direction:column;text-decoration:none;border-right:1px solid var(--border-fine);position:relative;overflow:hidden}.blog-featured-visual{position:absolute;inset:0;background:linear-gradient(135deg,rgba(55,27,83,.06),rgba(155,114,207,.1));transition:opacity .3s;opacity:1}.blog-featured:hover .blog-featured-visual{opacity:.7}.blog-featured-badge{position:absolute;top:16px;left:16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--purple);background:rgba(55,27,83,.1);padding:4px 10px;border-radius:4px;z-index:1}.blog-featured-body{padding:24px 24px 28px;flex:1;display:flex;flex-direction:column;position:relative;z-index:1}.blog-featured-title{font-size:18px;font-weight:500;color:var(--ink);line-height:1.35;margin-bottom:10px;letter-spacing:-.01em}.blog-featured-desc{font-size:13.5px;line-height:1.6;color:var(--ink2);margin-bottom:16px;flex:1}.blog-read{font-size:13px;font-weight:500;color:var(--purple);display:inline-flex;align-items:center;gap:4px}.blog-side{display:flex;flex-direction:column}.blog-card{padding:20px 24px;text-decoration:none;flex:1;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--border-fine);transition:background .3s}.blog-card:last-child{border-bottom:none}.blog-card:hover{background:rgba(55,27,83,.02)}.blog-card-title{font-size:15px;font-weight:500;color:var(--ink);line-height:1.4;letter-spacing:-.01em}.blog-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.blog-tag-pill{font-size:11px;font-weight:500;color:var(--purple);background:rgba(55,27,83,.06);padding:3px 8px;border-radius:3px}.blog-date{font-size:11px;color:var(--ink3)}.blog-section .blog-header{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.blog-section .blog-grid{opacity:0;transform:translateY(12px);transition:opacity .6s .15s,transform .6s .15s}.blog-section.visible .blog-grid,.blog-section.visible .blog-header{opacity:1;transform:translateY(0)}.switch-section{padding:80px 0;background:var(--surface);border-top:1px solid var(--border-fine)}.switch-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.switch-compat{display:flex;flex-direction:column;gap:0}.switch-compat-item{display:flex;align-items:center;gap:14px;padding:16px 20px;margin:0 -20px;border-bottom:1px solid var(--border-fine);font-size:14px;color:var(--ink2);opacity:0;transform:translateY(12px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),background .3s,color .3s;transition-delay:calc(var(--i) * .06s);cursor:default}.switch-section.visible .switch-compat-item{opacity:1;transform:translateY(0)}.switch-compat-item:hover{background:var(--purple);color:#fff}.switch-compat-item:hover svg{color:#fff}.switch-compat-item svg{color:var(--purple);flex-shrink:0;transition:color .3s}.switch-cta{margin-top:32px;padding:24px;background:rgba(55,27,83,.03);border-radius:8px;opacity:0;transition:opacity .5s .35s}.switch-section.visible .switch-cta{opacity:1}.switch-cta-title{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:6px}.switch-cta-desc{font-size:13.5px;color:var(--ink2);line-height:1.5;margin-bottom:16px}.switch-left{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.switch-section.visible .switch-left{opacity:1;transform:translateY(0)}.quote-section{padding:0;background:var(--white)}.quote-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}.quote-card{background:#0b0614;border-radius:8px;padding:0;position:relative;overflow:hidden}#quoteCanvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.quote-card-content{position:relative;z-index:1;padding:48px 48px 40px}.quote-text{font-size:clamp(32px,4.5vw,56px);font-weight:300;line-height:1.15;letter-spacing:-.03em;color:#fff;margin:0 0 28px;border:none;padding:0}.quote-rotate{color:rgba(255,255,255,.7);font-weight:400;display:inline-block;min-width:140px;transition:opacity .4s ease}.quote-rotate.hide{opacity:0}.quote-author{display:flex;align-items:center;justify-content:flex-end;gap:8px}.quote-author-name{font-size:14px;font-weight:500;color:#fff}.quote-author-sep{font-size:14px;color:rgba(255,255,255,.5)}.quote-author-role{font-size:13px;color:rgba(255,255,255,.5)}.quote-section .quote-card{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.quote-section.visible .quote-card{opacity:1;transform:translateY(0)}.footer-headline-wrap{text-align:center;padding-bottom:56px;border-bottom:1px solid var(--border-fine);margin-bottom:56px}.footer-headline{font-size:clamp(32px,5vw,56px);font-weight:300;line-height:1.12;letter-spacing:-.03em;color:var(--ink)}.footer{position:relative;overflow:hidden;padding:0;background:linear-gradient(to bottom,var(--surface) 0,rgba(55,27,83,.2) 100%)}.footer-inner{max-width:var(--max-w);margin:0 auto;padding:80px var(--pad) 48px}.footer-top{justify-content:space-between}.footer-logo,.footer-top{display:flex;align-items:center}.footer-logo{gap:8px}.footer-logo-img{width:100px;border-radius:4px;opacity:.9}.footer-logo-text{font-size:17px;font-weight:600;color:var(--ink)}.footer-socials{display:flex;gap:10px}.footer-social{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--ink3);border:1px solid rgba(55,27,83,.2);background:none;text-decoration:none;transition:color .2s,border-color .2s,background .2s}.footer-social:hover{color:#fff;border-color:var(--purple);background:var(--purple)}.footer-mid{display:grid;grid-template-columns:280px 1fr;gap:64px;padding:56px 0}.footer-nl-title{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:20px;line-height:1.4}.footer-nl-form{display:flex;align-items:center;border:none;border-radius:4px;overflow:hidden;margin-bottom:14px}.footer-nl-input{flex:1;padding:11px 14px;border:1px solid var(--purple);border-right:none;border-radius:4px 0 0 4px;color:var(--surface);outline:none;background:var(--color-purple-light2)}.footer-nl-btn,.footer-nl-input{font-size:13px;font-family:inherit}.footer-nl-btn{padding:11px 16px;font-weight:500;background:var(--purple);color:#fff;border:1px solid var(--purple);border-radius:0 4px 4px 0;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:opacity .2s}.footer-nl-btn:hover{opacity:.85}.footer-nl-turnstile{margin:10px 0 4px}.footer-nl-discount{font-size:12px;line-height:1.5;color:var(--purple);margin-bottom:6px}.footer-nl-discount strong{font-weight:600}.footer-nl-consent{font-size:11.5px;line-height:1.5;color:var(--ink3)}.footer-nl-consent a{color:var(--ink2);text-decoration:underline}.footer-nl-btn:disabled,.footer-nl-input:disabled{opacity:.5;cursor:not-allowed}.footer-nl-error{font-size:12px;line-height:1.5;color:#c0392b;margin-bottom:8px}.footer-nl-subscribed{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--purple);border-radius:4px;margin-bottom:14px;font-size:13px;line-height:1.5;color:var(--ink2)}.footer-nl-subscribed-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--purple);color:#fff;margin-top:1px}.footer-nl-subscribed-email{font-weight:600;color:var(--purple);overflow-wrap:anywhere}.footer-nl-unsub{background:none;border:none;font-size:11.5px;color:var(--ink3);text-decoration:underline;cursor:pointer;font-family:inherit;padding:0;transition:color .2s}.footer-nl-unsub:hover{color:var(--ink2)}.footer-nl-unsub:disabled{opacity:.5;cursor:not-allowed}.footer-links{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.footer-col{display:flex;flex-direction:column;gap:0}.footer-col-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:16px}.footer-col a{font-size:13px;color:var(--ink2);text-decoration:none;padding:4px 0;transition:color .2s}.footer-col a:hover{color:var(--ink)}.footer-bottom{padding-top:40px;border-top:1px dashed var(--purple);display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-legal-text{font-size:11px;line-height:1.6;color:var(--ink3)}.footer-bottom iframe{flex-shrink:0}@media(max-width:1100px){.nav-tagline{display:none}}@media(max-width:960px){.navbar{padding:0 24px}.nav-center{display:none}.mob-toggle{display:block}.dropdown-overlay{display:none!important}.problem-inner{gap:48px}.model-stats,.problem-inner{grid-template-columns:1fr}.model-stat+.model-stat:before{display:none}.prod-grid,.prod-grid-4{grid-template-columns:1fr 1fr}.prod-grid-4 .prod-item+.prod-item,.prod-item:nth-child(3n+2),.prod-item:nth-child(3n+3){border-left:none}.prod-grid-4 .prod-item:nth-child(2n){border-left:1px solid var(--border-fine)}.dx-panel.active{grid-template-columns:1fr;gap:32px}.dx-tabs{flex-wrap:wrap}.dx-tab{padding:12px 16px;font-size:13px}.switch-inner{gap:48px}.oss-repos,.oss-top,.switch-inner{grid-template-columns:1fr}.oss-repo:nth-child(odd){border-right:none}.tech-carousel{height:220px}.blog-grid{grid-template-columns:1fr}.blog-featured{border-right:none;border-bottom:1px solid var(--border-fine)}.footer-mid{grid-template-columns:1fr;gap:40px}.footer-links{grid-template-columns:repeat(2,1fr);gap:24px}.footer-top{align-items:flex-start;gap:24px}.footer-top,.testi-track{flex-direction:column}.testi-card{border-left:none;border-top:1px solid var(--border-fine)}.testi-card:first-child{border-top:none}.testi-card.active{flex:auto}}@media(max-width:640px){:root{--pad:20px}.navbar{padding:0 16px}.hero{padding-top:100px;padding-bottom:56px}.hero-ctas{flex-direction:column;width:100%;max-width:420px}.hero-ctas .btn{width:100%;justify-content:space-between}.trust-stats{gap:24px 32px}.trust-stat-value{font-size:22px}.nav-cta-main .btn-icon,.nav-signin{display:none}.prod-grid,.prod-grid-4{grid-template-columns:1fr}.prod-grid-4 .prod-item:nth-child(2n){border-left:none}.legal-inner{padding-top:100px}.legal-title{font-size:28px}}.legal-page{min-height:100vh;background:var(--surface)}.legal-page,.page-glow{position:relative}.page-glow:after,.page-glow:before{content:"";position:absolute;inset:0;height:800px;pointer-events:none}.page-glow:before{background:radial-gradient(ellipse 80% 100% at 100% 20%,rgba(55,27,83,.24) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 65% 10%,rgba(55,27,83,.1) 0,transparent 50%);animation:glowA 10s ease-in-out infinite}.page-glow:after{background:radial-gradient(ellipse 80% 100% at 100% 20%,rgba(130,45,170,.26) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 65% 10%,rgba(100,30,150,.14) 0,transparent 50%);animation:glowB 10s ease-in-out infinite}@keyframes glowA{0%,to{opacity:1}50%{opacity:.3}}@keyframes glowB{0%,to{opacity:0}50%{opacity:1}}.legal-inner{max-width:var(--max-w);margin:0 auto;padding:140px var(--pad) 80px;position:relative;z-index:1}.legal-title{font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.15;letter-spacing:-.03em;color:var(--ink);margin-bottom:8px}.legal-updated{font-size:13px;color:var(--ink3);margin-bottom:48px}.legal-body{gap:40px}.legal-body,.legal-body section{display:flex;flex-direction:column}.legal-body section{gap:12px}.legal-body h2{font-size:22px;letter-spacing:-.02em}.legal-body h2,.legal-body h3{font-weight:500;color:var(--ink);margin-top:8px}.legal-body h3{font-size:16px}.legal-body p{font-size:15px;line-height:1.7;color:var(--ink2);max-width:720px}.legal-body ul{list-style:none;display:flex;flex-direction:column;gap:6px;padding-left:0;max-width:720px}.legal-body ul li{font-size:14px;line-height:1.6;color:var(--ink2);padding-left:18px;position:relative}.legal-body ul li:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--purple);opacity:.4}.legal-body a{color:var(--purple);text-decoration:none;transition:opacity .2s}.legal-body a:hover{opacity:.7}.cc-btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:13px;font-weight:500;padding:9px 18px;border-radius:4px;border:none;cursor:pointer;white-space:nowrap;transition:all .2s}.cc-btn-primary{background:var(--purple);color:#fff}.cc-btn-primary:hover{background:var(--purple-hover);box-shadow:0 4px 12px rgba(55,27,83,.25)}.cc-btn-secondary{background:var(--white);color:var(--ink);border:1px solid var(--border)}.cc-btn-secondary:hover{border-color:var(--purple-border);color:var(--purple)}.cc-banner{position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--white);border-top:1px solid var(--border-fine);box-shadow:0 -4px 24px rgba(0,0,0,.06);animation:cc-slide-up .35s cubic-bezier(.22,1,.36,1)}@keyframes cc-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cc-banner-inner{max-width:var(--max-w);margin:0 auto;padding:20px var(--pad);display:flex;align-items:center;gap:24px}.cc-banner-text{flex:1}.cc-banner-title{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:4px}.cc-banner-desc{font-size:13px;line-height:1.55;color:var(--ink2)}.cc-link{color:var(--purple);text-decoration:none;font-weight:500}.cc-link:hover{text-decoration:underline}.cc-banner-actions{display:flex;gap:8px;flex-shrink:0}.cc-overlay{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:cc-fade-in .2s ease}@keyframes cc-fade-in{0%{opacity:0}to{opacity:1}}.cc-modal{background:var(--white);border-radius:8px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:cc-modal-in .3s cubic-bezier(.22,1,.36,1);margin:16px}@keyframes cc-modal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cc-modal-body{padding:28px 28px 20px;overflow-y:auto;flex:1}.cc-modal-title{font-size:20px;font-weight:500;color:var(--ink);letter-spacing:-.02em;margin-bottom:8px}.cc-modal-desc{font-size:13.5px;line-height:1.6;color:var(--ink2);margin-bottom:24px}.cc-modal-footer{padding:16px 28px;border-top:1px solid var(--border-fine);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.cc-toggles{display:flex;flex-direction:column;gap:8px}.cc-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:6px;background:rgba(0,0,0,.02);border:1px solid var(--border-fine)}.cc-toggle-label{font-size:14px;font-weight:500;color:var(--ink)}.cc-toggle-desc{font-size:12px;line-height:1.5;color:var(--ink3);margin-top:2px}.cc-always-on{font-size:11px;font-weight:500;color:var(--ink3);background:rgba(0,0,0,.04);padding:4px 10px;border-radius:4px;white-space:nowrap;flex-shrink:0}.cc-switch{position:relative;width:40px;height:22px;border-radius:11px;border:none;cursor:pointer;background:var(--border);transition:background .2s;flex-shrink:0;padding:0}.cc-switch-on{background:var(--purple)}.cc-switch-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .2s cubic-bezier(.22,1,.36,1)}.cc-switch-on .cc-switch-thumb{transform:translateX(18px)}.cc-dns-status{margin-bottom:20px}.cc-dns-badge{margin-top:8px;padding:12px 14px;border-radius:6px;background:rgba(0,0,0,.02);border:1px solid var(--border-fine);font-size:13px;line-height:1.55;color:var(--ink2)}.cc-dns-info{margin-bottom:8px}.cc-dns-list{list-style:none;padding:0;margin-top:8px;display:flex;flex-direction:column;gap:4px}.cc-dns-list li{font-size:13px;line-height:1.5;color:var(--ink2);padding-left:16px;position:relative}.cc-dns-list li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--purple);opacity:.4}@media(max-width:640px){.cc-banner-inner{align-items:stretch}.cc-banner-actions,.cc-banner-inner{flex-direction:column}.cc-banner-actions .cc-btn{width:100%}.cc-modal{margin:8px}.cc-modal-body{padding:20px}.cc-modal-footer{padding:14px 20px}}.plans-page{min-height:100vh;background:var(--surface);position:relative}.plans-inner{max-width:var(--max-w);margin:0 auto;padding:140px var(--pad) 80px;position:relative;z-index:1}.plans-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px}.plans-card{position:relative;background:var(--surface);border:1px solid var(--border-fine);border-radius:8px;padding:32px 28px;text-align:left;cursor:pointer;transition:border-color .25s,box-shadow .25s;display:flex;flex-direction:column}.plans-card.active,.plans-card:hover{border-color:var(--purple)}.plans-card.active{box-shadow:0 0 0 2px var(--purple)}.plans-card-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 16px;background:var(--purple);color:#fff;font-size:12px;font-weight:500;border-radius:20px;white-space:nowrap}.plans-card-title{font-size:22px;font-weight:500;color:var(--ink);letter-spacing:-.02em}.plans-card-desc{font-size:14px;color:var(--ink3);margin-top:4px}.plans-card-price{font-size:16px;font-weight:500;color:var(--ink);margin-top:12px}.plans-card-benefits{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column;gap:8px;flex-grow:1}.plans-card-benefits li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5;color:var(--ink2)}.plans-check{flex-shrink:0;color:var(--purple);margin-top:1px}.plans-card-cta{display:block;margin-top:24px;padding:10px 0;text-align:center;font-size:14px;font-weight:500;border-radius:4px;color:var(--ink2);background:var(--border-fine);transition:background .2s,color .2s}.plans-card.active .plans-card-cta,.plans-card:hover .plans-card-cta{background:var(--purple);color:#fff}.plans-table-wrap{border:1px solid var(--border-fine);border-radius:8px;overflow:hidden;margin-bottom:56px}.plans-table-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border-fine);background:var(--purple-light)}.plans-table-header span{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3)}.plans-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border-fine);align-items:center;transition:background .15s}.plans-table-row:last-child{border-bottom:none}.plans-table-row:hover{background:rgba(55,27,83,.03)}.plans-table-row.highlighted{background:rgba(55,27,83,.05);border-left:3px solid var(--purple)}.plans-col-cpu{display:flex;flex-direction:column;gap:2px}.plans-row-value{font-size:15px;font-weight:500;color:var(--ink)}.plans-row-sub{font-size:13px;color:var(--ink3)}.plans-row-price{font-size:17px;font-weight:600;color:var(--ink)}.plans-popular{display:inline-block;padding:2px 10px;font-size:11px;font-weight:500;color:#fff;background:var(--purple);border-radius:20px;width:fit-content}.plans-col{display:flex;flex-direction:column}.plans-col-label{display:none;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin-bottom:2px}.plans-col-action{display:flex;align-items:center}.plans-get-started{padding:8px 20px;font-size:13px;font-weight:500;border-radius:4px;color:var(--ink2);background:var(--border-fine);text-decoration:none;transition:background .2s,color .2s}.plans-get-started:hover,.plans-table-row.highlighted .plans-get-started{background:var(--purple);color:#fff}.plans-addons{border:1px solid var(--border-fine);border-radius:8px;padding:32px 28px;text-align:center;margin-bottom:56px}.plans-section-desc{font-size:14px;color:var(--ink3);margin-top:4px;margin-bottom:24px}.plans-addon-rows{display:flex;flex-direction:column;gap:0}.plans-addon-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-fine);font-size:14px;color:var(--ink2)}.plans-addon-row:last-child{border-bottom:none}.plans-addon-price{font-size:16px;font-weight:500;color:var(--ink)}.plans-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px}.plans-feature-card{border:1px solid var(--border-fine);border-radius:8px;padding:28px 24px;text-align:center}.plans-feature-icon{width:28px;height:28px;color:var(--purple);margin:0 auto 12px;display:block}.plans-feature-card h4{font-size:16px;font-weight:500;color:var(--ink);margin-bottom:6px}.plans-disclaimer,.plans-feature-card p{font-size:13px;line-height:1.6;color:var(--ink3)}.plans-disclaimer{text-align:center;max-width:720px;margin:0 auto}@media(max-width:960px){.plans-categories,.plans-features{grid-template-columns:1fr}}@media(max-width:768px){.plans-table-header{display:none}.plans-table-row{grid-template-columns:1fr 1fr;gap:16px;padding:20px}.plans-col-action,.plans-col-cpu{grid-column:1/-1}.plans-col-label{display:block}.plans-get-started{width:100%;text-align:center}}.compare-page{min-height:100vh;background:var(--surface)}.compare-inner{max-width:var(--max-w);margin:0 auto;padding:140px var(--pad) 80px;position:relative;z-index:1}.compare-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px}.compare-stat{text-align:center;padding:28px 16px;position:relative}.compare-stat+.compare-stat:before{content:"";position:absolute;left:-13px;top:20%;height:60%;width:1px;background:var(--purple-border)}.compare-stat-value{display:block;font-size:clamp(28px,3.5vw,40px);font-weight:600;letter-spacing:-.03em;color:var(--purple)}.compare-stat-label{display:block;font-size:14px;color:var(--ink3);margin-top:4px}.compare-cost{margin-bottom:56px}.compare-bars{gap:20px}.compare-bar-row,.compare-bars{display:flex;flex-direction:column}.compare-bar-row{gap:6px}.compare-bar-meta{display:flex;justify-content:space-between;align-items:baseline}.compare-bar-name{font-size:15px;font-weight:500;color:var(--ink2)}.compare-bar-name.highlight{color:var(--purple);font-weight:600}.compare-bar-price{font-size:15px;font-weight:500;color:var(--ink2)}.compare-bar-track{height:14px;background:var(--border-fine);border-radius:8px;overflow:hidden}.compare-bar-fill{height:100%;border-radius:8px;background:var(--ink3);opacity:.35;transition:width .6s ease}.compare-bar-fill.highlight{background:var(--purple);opacity:1}.compare-bar-note{font-size:13px;color:var(--ink3);margin-top:16px}.compare-features{margin-bottom:56px}.compare-table-header{display:grid;grid-template-columns:2.5fr repeat(4,1fr);gap:12px;padding:14px 20px;background:var(--purple-light);border-radius:8px}.compare-feat-col-name{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3)}.compare-feat-col-provider{font-size:13px;font-weight:500;color:var(--ink3);text-align:center}.compare-feat-col-provider.highlight{color:var(--purple);font-weight:600;border-radius:8px 8px 0 0;padding:14px 8px;margin:-14px -8px}.compare-table-body{display:flex;flex-direction:column}.compare-feat-row{display:grid;grid-template-columns:2.5fr repeat(4,1fr);gap:12px;padding:18px 20px;align-items:stretch;transition:background .15s;border-bottom:1px solid var(--border-fine)}.compare-feat-row:last-child{border-bottom:none}.compare-feat-row:hover{background:rgba(55,27,83,.03)}.compare-feat-name{display:flex;flex-direction:column;gap:2px}.compare-feat-name strong{font-size:15px;font-weight:500;color:var(--ink)}.compare-feat-name span{font-size:13px;color:var(--ink3);line-height:1.5}.compare-feat-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}.compare-feat-cell.highlight{background:var(--purple-light);padding:18px 8px;margin:-18px -8px}.compare-feat-row:last-child .compare-feat-cell.highlight{border-radius:0 0 8px 8px}.compare-feat-cell-label{display:none;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin-bottom:2px}.compare-feat-status{font-size:13px;font-weight:500;color:var(--ink2)}.compare-feat-status.positive{color:var(--purple)}.compare-feat-status.negative{color:#c0392b;opacity:.7}.compare-feat-note{font-size:11px;color:var(--ink3);line-height:1.4}.compare-vs{margin-bottom:56px}.compare-vs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.compare-vs-card{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--border-fine);border-radius:8px;text-decoration:none;background:var(--purple-light);transition:border-color .2s,background .2s,box-shadow .2s}.compare-vs-card:hover{border-color:var(--purple);background:var(--purple);box-shadow:0 4px 16px rgba(55,27,83,.2)}.compare-vs-label{font-size:15px;font-weight:500;color:var(--ink);transition:color .2s}.compare-vs-card:hover .compare-vs-label{color:#fff}.compare-vs-arrow{width:14px;height:14px;color:var(--ink3);transition:color .2s,transform .2s}.compare-vs-card:hover .compare-vs-arrow{color:#fff;transform:translateX(3px)}.compare-cta{text-align:center;padding-top:8px}@media(max-width:960px){.compare-stats{grid-template-columns:1fr}.compare-stat+.compare-stat:before{display:none}.compare-vs-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.compare-table-header{display:none}.compare-feat-row{grid-template-columns:1fr 1fr;gap:16px}.compare-feat-name{grid-column:1/-1}.compare-feat-cell-label{display:block}.compare-feat-cell.highlight{padding:0;margin:0;border-radius:0}}.faq-page{min-height:100vh;background:var(--surface)}.faq-inner{max-width:780px;margin:0 auto;padding:140px var(--pad) 80px;position:relative;z-index:1}.faq-list{display:flex;flex-direction:column;gap:0}.faq-item{border-bottom:1px solid var(--border-fine)}.faq-item:first-child{border-top:1px solid var(--border-fine)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;font-size:16px;font-weight:500;color:var(--ink);line-height:1.4;transition:color .2s}.faq-question:hover{color:var(--purple)}.faq-chevron{flex-shrink:0;color:var(--ink3);transition:transform .3s ease,color .2s}.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--purple)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-answer>p{overflow:hidden;font-size:15px;line-height:1.7;color:var(--ink2);padding:0 0 20px;margin:0;transition:padding .3s ease}.faq-item:not(.open) .faq-answer>p{padding:0}.faq-contact{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:48px;padding:14px 24px;border:1px solid var(--border-fine);border-radius:100px;width:fit-content;margin-left:auto;margin-right:auto;font-size:14px}.faq-contact span{color:var(--ink3)}.faq-contact a{color:var(--purple);font-weight:500;text-decoration:none;transition:opacity .2s}.faq-contact a:hover{opacity:.7}.roadmap-page{min-height:100vh;background:var(--surface)}.roadmap-inner{max-width:var(--max-w);margin:0 auto;padding:140px var(--pad) 80px;position:relative;z-index:1}.roadmap-board{display:flex;flex-direction:column}.roadmap-row{display:grid;grid-template-columns:220px 1fr;gap:0;border-top:1px solid var(--border-fine);padding:36px 0}.roadmap-row:last-child{border-bottom:1px solid var(--border-fine)}.roadmap-row-header{display:flex;align-items:flex-start;gap:10px;padding-top:4px}.roadmap-row-header h2{font-size:16px;font-weight:500;color:var(--ink);letter-spacing:-.01em;margin:0}.roadmap-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}.roadmap-status-backlog{background:var(--ink3)}.roadmap-status-wip{background:var(--purple)}.roadmap-status-done{background:#22c55e}.roadmap-row-items{display:flex;flex-direction:column;gap:8px}.roadmap-item{padding:14px 18px;border-radius:8px;border:1px solid var(--border-fine);background:var(--white);transition:border-color .2s,box-shadow .2s}.roadmap-item:hover{border-color:rgba(130,70,200,.25);box-shadow:0 2px 8px rgba(130,70,200,.06)}.roadmap-item strong{display:block;font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.01em}.roadmap-item p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--ink3)}.roadmap-changelog-btn{margin-top:4px;align-self:flex-start}@media(max-width:768px){.roadmap-row{grid-template-columns:1fr;gap:16px}.roadmap-row-header{padding-top:0}}.mp-page{min-height:100vh;background:var(--surface)}.mp-inner{max-width:var(--max-w);margin:0 auto;padding:140px var(--pad) 80px;position:relative;z-index:1}.mp-hero{margin-bottom:56px}.mp-hero-ctas{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:32px}.mp-explainer{max-width:640px;margin:0 auto 56px;padding:24px 28px;border:1px solid var(--border-fine);border-radius:8px;background:var(--white)}.mp-explainer p{font-size:15px;line-height:1.7;color:var(--ink2)}.mp-explainer strong{color:var(--ink);font-weight:500}.mp-section{margin-bottom:56px}.mp-lang-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;max-width:640px;margin:0 auto}.mp-lang-chip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1px solid var(--border-fine);border-radius:8px;background:var(--white);transition:border-color .2s,box-shadow .2s}.mp-lang-chip:hover{border-color:var(--purple-border);box-shadow:0 2px 8px rgba(55,27,83,.08)}.mp-lang-abbr{font-size:12px;font-weight:600;font-family:JetBrains Mono,DM Sans,monospace;color:var(--purple)}.mp-lang-name{font-size:11px;color:var(--ink3)}.mp-code{background:#0b0614;border-radius:8px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.12);max-width:640px;margin:0 auto}.mp-code-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)}.mp-code-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.1)}.mp-code-file{margin-left:auto;font-size:11px;color:rgba(255,255,255,.3)}.mp-code-file,.mp-pre{font-family:JetBrains Mono,DM Sans,monospace}.mp-pre{padding:20px 22px;margin:0;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.7);overflow-x:auto;white-space:pre}.mp-code-caption{text-align:center;font-size:13px;color:var(--ink3);margin-top:14px}.compare-feat-row-6,.compare-table-header-6{grid-template-columns:2fr repeat(5,1fr)}.mp-cta-card{border:1px solid var(--border-fine);border-radius:8px;padding:40px 36px;text-align:center;background:rgba(55,27,83,.03);margin-bottom:40px}.mp-cta-card h2{font-size:22px;font-weight:500;color:var(--ink);letter-spacing:-.02em;margin-bottom:10px}.mp-cta-card p{font-size:15px;line-height:1.6;color:var(--ink2);max-width:480px;margin:0 auto 24px}.mp-cta-btns{display:flex;align-items:center;justify-content:center;gap:12px}.mp-oss-note{text-align:center}.mp-oss-note p{font-size:14px;color:var(--ink3);margin-bottom:10px}.mp-oss-note a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--purple);text-decoration:none;transition:opacity .2s}.mp-oss-note a:hover{opacity:.7}@media(max-width:960px){.mp-lang-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:640px){.mp-hero-ctas{flex-direction:column;width:100%;max-width:360px;margin-left:auto;margin-right:auto}.mp-hero-ctas .btn{width:100%;justify-content:space-between}.mp-cta-btns{flex-direction:column;width:100%;max-width:360px;margin-left:auto;margin-right:auto}.mp-cta-btns .btn{width:100%;justify-content:space-between}.mp-lang-grid{grid-template-columns:repeat(3,1fr)}.compare-table-header-6{display:none}.compare-feat-row-6{grid-template-columns:1fr 1fr;gap:16px}.compare-feat-row-6 .compare-feat-name{grid-column:1/-1}.compare-feat-row-6 .compare-feat-cell-label{display:block}}.mp-page{background:#0f0a18}.mp-page.page-glow:before{background:radial-gradient(ellipse 80% 100% at 100% 20%,rgba(90,40,150,.35) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 65% 10%,rgba(75,30,130,.18) 0,transparent 50%)}.mp-page.page-glow:after{background:radial-gradient(ellipse 80% 100% at 100% 20%,rgba(160,60,220,.3) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 65% 10%,rgba(130,45,180,.2) 0,transparent 50%)}.mp-page .page-header-tag{color:rgba(180,140,255,.9)}.mp-page .page-header-title{color:#fff}.mp-page .page-header-sub{color:rgba(255,255,255,.5);max-width:560px;margin-left:auto;margin-right:auto}.mp-page .page-section-title{color:#fff}.mp-page .btn{border-color:rgba(255,255,255,.2)}.mp-page .btn,.mp-page .btn .btn-text{color:rgba(255,255,255,.9)}.mp-page .btn .btn-icon{background:rgba(255,255,255,.08)}.mp-page .btn .btn-icon svg{color:rgba(255,255,255,.7)}.mp-page .btn:hover{border-color:var(--purple);background:var(--purple)}.mp-page .btn:hover .btn-text{color:#fff}.mp-page .btn:hover .btn-icon{background:rgba(255,255,255,1)}.mp-page .btn:hover .btn-icon svg{color:var(--purple)}.mp-page .btn-filled{border-color:var(--purple);background:var(--purple)}.mp-page .btn-filled .btn-text{color:#fff}.mp-page .btn-filled .btn-icon{background:rgba(255,255,255,.13)}.mp-page .btn-filled .btn-icon svg{color:#fff}.mp-page .btn-filled:hover{background:var(--purple-hover);border-color:var(--purple-hover)}.mp-page .mp-explainer{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}.mp-page .mp-explainer p{color:rgba(255,255,255,.6)}.mp-page .mp-explainer strong{color:rgba(255,255,255,.9)}.mp-page .mp-lang-chip{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}.mp-page .mp-lang-chip:hover{border-color:rgba(130,60,200,.4);box-shadow:0 2px 12px rgba(100,40,180,.15)}.mp-page .mp-lang-abbr{color:rgba(180,140,255,.9)}.mp-page .mp-lang-name{color:rgba(255,255,255,.5)}.mp-page .mp-code-caption{color:rgba(255,255,255,.4)}.mp-page .prod-item{border-top-color:rgba(255,255,255,.06)}.mp-page .prod-item--mg{background:rgba(255,255,255,.03)}.mp-page .prod-item:nth-child(3n+2),.mp-page .prod-item:nth-child(3n+3){border-left-color:rgba(255,255,255,.06)}.mp-page .prod-item-num{color:rgba(180,140,255,.7)}.mp-page .prod-item-title{color:rgba(255,255,255,.9)}.mp-page .prod-item-desc{color:rgba(255,255,255,.5)}.mp-page .prod-item:hover{background:var(--purple)}.mp-page .prod-item:hover .prod-item-title{color:#fff}.mp-page .prod-item:hover .prod-item-desc{color:rgba(255,255,255,.65)}.mp-page .compare-table-header{background:rgba(255,255,255,.05)}.mp-page .compare-feat-col-name{color:rgba(255,255,255,.45)}.mp-page .compare-feat-col-provider{color:rgba(255,255,255,.5)}.mp-page .compare-feat-col-provider.highlight{color:rgba(180,140,255,.95)}.mp-page .compare-feat-row{border-bottom-color:rgba(255,255,255,.06)}.mp-page .compare-feat-row:hover{background:rgba(255,255,255,.03)}.mp-page .compare-feat-name strong{color:rgba(255,255,255,.9)}.mp-page .compare-feat-name span{color:rgba(255,255,255,.45)}.mp-page .compare-feat-status{color:rgba(255,255,255,.55)}.mp-page .compare-feat-status.positive{color:rgba(180,140,255,.95)}.mp-page .compare-feat-status.negative{color:rgba(255,100,100,.7)}.mp-page .compare-feat-note{color:rgba(255,255,255,.35)}.mp-page .compare-feat-cell.highlight{background:rgba(255,255,255,.05)}.mp-page .mp-cta-card{background:rgba(255,255,255,.03);border-color:rgba(130,60,200,.2)}.mp-page .mp-cta-card h2{color:#fff}.mp-page .mp-cta-card p{color:rgba(255,255,255,.55)}.mp-page .mp-oss-note p{color:rgba(255,255,255,.35)}.mp-page .mp-oss-note a{color:rgba(255,255,255,.5)}.mp-page .mp-oss-note a:hover{opacity:.8}.oss-page{min-height:100vh;background:#0f0a18}.oss-page.page-glow:before{background:radial-gradient(ellipse 80% 100% at 100% 20%,rgba(90,40,150,.35) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 65% 10%,rgba(75,30,130,.18) 0,transparent 50%)}.oss-page.page-glow:after{background:radial-gradient(ellipse 80% 100% at 100% 20%,rgba(160,60,220,.3) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 65% 10%,rgba(130,45,180,.2) 0,transparent 50%)}.oss-inner{max-width:var(--max-w);margin:0 auto;padding:140px var(--pad) 80px;position:relative;z-index:1}.oss-hero{margin-bottom:56px}.oss-page .page-header-tag{color:rgba(180,140,255,.9)}.oss-page .page-header-title{color:#fff}.oss-page .page-header-sub{color:rgba(255,255,255,.5);max-width:540px;margin-left:auto;margin-right:auto}.oss-hero-ctas{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px}.oss-page .btn{border-color:rgba(255,255,255,.2)}.oss-page .btn,.oss-page .btn .btn-text{color:rgba(255,255,255,.9)}.oss-page .btn .btn-icon{background:rgba(255,255,255,.08)}.oss-page .btn .btn-icon svg{color:rgba(255,255,255,.7)}.oss-page .btn:hover{border-color:var(--purple);background:var(--purple)}.oss-page .btn:hover .btn-text{color:#fff}.oss-page .btn:hover .btn-icon{background:rgba(255,255,255,1)}.oss-page .btn:hover .btn-icon svg{color:var(--purple)}.oss-page .btn-filled{border-color:var(--purple);background:var(--purple)}.oss-page .btn-filled .btn-text{color:#fff}.oss-page .btn-filled .btn-icon{background:rgba(255,255,255,.13)}.oss-page .btn-filled .btn-icon svg{color:#fff}.oss-page .btn-filled:hover{background:var(--purple-hover);border-color:var(--purple-hover)}.oss-section{margin-bottom:56px}.oss-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.oss-benefit{padding:28px 24px;transition:background .3s}.oss-benefit+.oss-benefit{border-left:1px solid rgba(255,255,255,.06)}.oss-benefit:hover{background:rgba(255,255,255,.03)}.oss-benefit h3{font-size:15px;font-weight:500;color:rgba(255,255,255,.9);margin-bottom:6px;letter-spacing:-.01em}.oss-benefit p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.4)}.oss-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:56px;border-top:1px solid rgba(255,255,255,.06)}.oss-col-left{padding:36px 36px 36px 0;border-right:1px solid rgba(255,255,255,.06)}.oss-col-right{padding:36px 0 36px 36px}.oss-col-title{font-size:18px;font-weight:500;color:#fff;margin-bottom:24px;letter-spacing:-.02em}.oss-steps{display:flex;flex-direction:column;gap:0}.oss-step{display:flex;align-items:flex-start;gap:16px;padding:16px 0}.oss-step+.oss-step{border-top:1px solid rgba(255,255,255,.04)}.oss-step-num{flex-shrink:0;font-size:11px;font-weight:600;font-family:JetBrains Mono,DM Sans,monospace;color:rgba(180,140,255,.7);padding-top:2px}.oss-step-body strong{display:block;font-size:14px;font-weight:500;color:rgba(255,255,255,.9);margin-bottom:3px}.oss-step-body p{font-size:13px;line-height:1.5;color:rgba(255,255,255,.4)}.oss-apply-btn{margin-top:24px}.oss-detail-block{margin-bottom:32px}.oss-detail-block:last-child{margin-bottom:0}.oss-license-row{display:flex;flex-wrap:wrap;gap:8px}.oss-license-pill{padding:6px 14px;font-size:12px;font-weight:500;color:rgba(255,255,255,.6);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:100px;transition:background .2s,color .2s,border-color .2s}.oss-license-pill:hover{background:var(--purple);border-color:var(--purple);color:#fff}.oss-ask-block p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.45)}.oss-ask-block a{color:rgba(180,140,255,.9);text-decoration:none;font-weight:500;transition:opacity .2s}.oss-ask-block a:hover{opacity:.7}.oss-bottom{text-align:center;display:flex;align-items:center;justify-content:center;gap:16px}.oss-bottom p{font-size:15px;color:rgba(255,255,255,.35)}@media(max-width:960px){.oss-benefits-grid{grid-template-columns:1fr 1fr}.oss-benefit:nth-child(odd):not(:first-child){border-top:1px solid rgba(255,255,255,.06)}.oss-benefit:nth-child(2n){border-left:1px solid rgba(255,255,255,.06)}.oss-two-col{grid-template-columns:1fr}.oss-col-left{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.oss-col-left,.oss-col-right{padding:36px 0}}@media(max-width:640px){.oss-benefits-grid{grid-template-columns:1fr}.oss-benefit+.oss-benefit{border-left:none}.oss-hero-ctas{flex-direction:column;width:100%;max-width:360px;margin-left:auto;margin-right:auto}.oss-hero-ctas .btn{width:100%;justify-content:space-between}.oss-bottom{flex-direction:column}}.fs-page{min-height:100vh;background:#0f0a18}.fs-page.page-glow:before{background:radial-gradient(ellipse 80% 100% at 100% 20%,rgba(90,40,150,.35) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 65% 10%,rgba(75,30,130,.18) 0,transparent 50%)}.fs-page.page-glow:after{background:radial-gradient(ellipse 80% 100% at 100% 20%,rgba(160,60,220,.3) 0,transparent 60%),radial-gradient(ellipse 60% 80% at 65% 10%,rgba(130,45,180,.2) 0,transparent 50%)}.fs-inner{max-width:var(--max-w);margin:0 auto;padding:140px var(--pad) 80px;position:relative;z-index:1}.fs-hero{margin-bottom:56px}.fs-page .page-header-tag{color:rgba(180,140,255,.9)}.fs-page .page-header-title{color:#fff}.fs-page .page-header-sub{color:rgba(255,255,255,.5);max-width:560px;margin-left:auto;margin-right:auto}.fs-hero-ctas{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px}.fs-page .btn{border-color:rgba(255,255,255,.2)}.fs-page .btn,.fs-page .btn .btn-text{color:rgba(255,255,255,.9)}.fs-page .btn .btn-icon{background:rgba(255,255,255,.08)}.fs-page .btn .btn-icon svg{color:rgba(255,255,255,.7)}.fs-page .btn:hover{border-color:var(--purple);background:var(--purple)}.fs-page .btn:hover .btn-text{color:#fff}.fs-page .btn:hover .btn-icon{background:rgba(255,255,255,1)}.fs-page .btn:hover .btn-icon svg{color:var(--purple)}.fs-page .btn-filled{border-color:var(--purple);background:var(--purple)}.fs-page .btn-filled .btn-text{color:#fff}.fs-page .btn-filled .btn-icon{background:rgba(255,255,255,.13)}.fs-page .btn-filled .btn-icon svg{color:#fff}.fs-page .btn-filled:hover{background:var(--purple-hover);border-color:var(--purple-hover)}.fs-section{margin-bottom:56px}.fs-section-title{font-size:22px;font-weight:500;color:#fff;letter-spacing:-.02em;margin-bottom:12px}.fs-section-desc{font-size:15px;line-height:1.6;color:rgba(255,255,255,.45);max-width:540px;margin-bottom:32px}.fs-viz{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden}.fs-viz-canvas-wrap{padding:24px 0 16px}.fs-viz-canvas{display:block;width:100%;height:180px}.fs-viz-scenarios{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.06)}.fs-viz-scenario{padding:16px 20px;background:none;border:none;border-right:1px solid rgba(255,255,255,.06);cursor:pointer;text-align:left;font-family:inherit;transition:background .2s}.fs-viz-scenario:last-child{border-right:none}.fs-viz-scenario:hover{background:rgba(255,255,255,.03)}.fs-viz-scenario.active{background:rgba(130,70,200,.1)}.fs-viz-scenario-label{display:block;font-size:13px;font-weight:500;color:rgba(255,255,255,.7);margin-bottom:4px;transition:color .2s}.fs-viz-scenario.active .fs-viz-scenario-label{color:rgba(180,140,255,.95)}.fs-viz-scenario-desc{display:block;font-size:12px;line-height:1.45;color:rgba(255,255,255,.3)}.fs-how-grid{display:flex;flex-direction:column;gap:0}.fs-how-block{display:flex;align-items:flex-start;gap:16px;padding:20px 0}.fs-how-block+.fs-how-block{border-top:1px solid rgba(255,255,255,.06)}.fs-how-num{flex-shrink:0;font-size:11px;font-weight:600;font-family:JetBrains Mono,DM Sans,monospace;color:rgba(180,140,255,.7);padding-top:2px}.fs-how-body strong{display:block;font-size:15px;font-weight:500;color:rgba(255,255,255,.9);margin-bottom:4px}.fs-how-body p{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.4)}.fs-objectives{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.06)}.fs-objective{padding:28px 24px;transition:background .3s}.fs-objective+.fs-objective{border-left:1px solid rgba(255,255,255,.06)}.fs-objective:hover{background:rgba(255,255,255,.03)}.fs-objective h3{font-size:15px;font-weight:500;color:rgba(255,255,255,.9);margin-bottom:6px;letter-spacing:-.01em}.fs-objective p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.4)}.fs-table{border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden}.fs-table-header{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;padding:14px 24px;background:rgba(255,255,255,.05)}.fs-table-header span{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.4)}.fs-table-row{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.06);transition:background .15s}.fs-table-row:hover{background:rgba(255,255,255,.03)}.fs-table-cell{font-size:14px;color:rgba(255,255,255,.6);font-family:JetBrains Mono,DM Sans,monospace}.fs-table-result{font-family:DM Sans,sans-serif;color:rgba(255,255,255,.5)}.fs-quote{font-size:clamp(18px,2.5vw,24px);font-weight:300;line-height:1.5;letter-spacing:-.01em;color:rgba(255,255,255,.55);border-left:3px solid rgba(130,70,200,.5);padding-left:28px;max-width:640px;font-style:italic}.fs-bottom{text-align:center;display:flex;align-items:center;justify-content:center;gap:16px}.fs-bottom p{font-size:15px;color:rgba(255,255,255,.35)}@media(max-width:960px){.fs-objectives{grid-template-columns:1fr}.fs-objective+.fs-objective{border-left:none;border-top:1px solid rgba(255,255,255,.06)}.fs-viz-scenarios{grid-template-columns:1fr 1fr}.fs-viz-scenario:nth-child(2){border-right:none}.fs-viz-scenario:nth-child(3),.fs-viz-scenario:nth-child(4){border-top:1px solid rgba(255,255,255,.06)}}@media(max-width:640px){.fs-hero-ctas{flex-direction:column;width:100%;max-width:360px;margin-left:auto;margin-right:auto}.fs-hero-ctas .btn{width:100%;justify-content:space-between}.fs-viz-scenarios{grid-template-columns:1fr}.fs-viz-scenario{border-right:none}.fs-viz-scenario+.fs-viz-scenario{border-top:1px solid rgba(255,255,255,.06)}.fs-table-header,.fs-table-row{grid-template-columns:1fr}.fs-table-header span:not(:first-child){display:none}.fs-bottom{flex-direction:column}}.blog-page{padding:120px 0 80px;min-height:100vh;background:var(--surface);position:relative}.blog-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}.blog-hero{margin-bottom:48px}.blog-layout{display:grid;grid-template-columns:1fr 240px;gap:48px;align-items:start}.blog-main{min-width:0}.blog-listing-featured{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:0}.blog-listing-featured .blog-item{border-left:none!important}.blog-listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.blog-empty{padding:80px 0;text-align:center;color:var(--muted);grid-column:1/-1}.blog-item{display:block;text-decoration:none;color:inherit;padding:28px 24px;border-top:1px solid var(--border-fine);position:relative;transition:background .3s,color .3s;cursor:pointer}.blog-item:hover{background:var(--purple)}.blog-item:hover .blog-item-num{color:rgba(255,255,255,.5)}.blog-item:hover .blog-item-title{color:#fff}.blog-item:hover .blog-item-desc{color:rgba(255,255,255,.65)}.blog-item:hover .blog-item-tag{background:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}.blog-item:nth-child(3n+2),.blog-item:nth-child(3n+3){border-left:1px solid var(--border-fine)}.blog-item:hover+.blog-item{border-left-color:transparent}.blog-item-num{font-size:11px;font-weight:600;color:var(--muted);font-family:JetBrains Mono,DM Sans,monospace;margin-bottom:12px;transition:color .3s}.blog-item-title{font-size:15px;font-weight:600;line-height:1.4;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em;-webkit-line-clamp:2}.blog-item-desc,.blog-item-title{transition:color .3s;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.blog-item-desc{font-size:13px;line-height:1.55;color:var(--ink2);-webkit-line-clamp:3;margin-bottom:14px}.blog-item-tags{display:flex;flex-wrap:wrap;gap:5px}.blog-item-tag{font-size:10px;padding:2px 7px;border-radius:100px;background:var(--purple-light);color:var(--purple);transition:all .3s}.blog-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:40px;padding-top:24px;border-top:1px solid var(--border-fine)}.blog-page-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--muted);background:none;border:1px solid var(--border-fine);border-radius:4px;cursor:pointer;transition:all .15s}.blog-page-btn:hover:not(:disabled){border-color:var(--purple-border);color:var(--ink)}.blog-page-btn:disabled{opacity:.4;cursor:default}.blog-page-nums{display:flex;gap:4px}.blog-page-num{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;color:var(--muted);background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s}.blog-page-num:hover{border-color:var(--border-fine);color:var(--ink)}.blog-page-num.active{background:var(--purple);color:#fff;border-color:var(--purple)}.blog-sidebar{min-width:0}.blog-sidebar-sticky{position:sticky;top:100px}.blog-sidebar-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}.blog-sidebar-cats{display:flex;flex-direction:column;gap:2px}.blog-sidebar-cat{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:13px;color:var(--ink);background:none;border:none;border-radius:4px;cursor:pointer;transition:all .15s;text-align:left}.blog-sidebar-cat:hover{background:var(--purple-light)}.blog-sidebar-cat.active{background:var(--purple);color:#fff}.blog-sidebar-cat.active .blog-sidebar-count{color:rgba(255,255,255,.7)}.blog-sidebar-count{font-size:11px;color:var(--muted);font-weight:500}.blog-sidebar-more{display:block;width:100%;padding:8px 12px;margin-top:4px;font-size:12px;font-weight:500;color:var(--purple);background:none;border:none;cursor:pointer;text-align:left;transition:color .15s}.blog-sidebar-more:hover{color:var(--ink)}.blog-post-page{padding:120px 0 0;min-height:100vh;background:var(--surface);position:relative}.blog-article-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad) 80px}.blog-article-topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:32px;margin-bottom:32px;border-bottom:1px dashed var(--border-fine)}.blog-article-breadcrumb{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.blog-article-breadcrumb a{color:var(--muted);text-decoration:none;transition:color .15s}.blog-article-breadcrumb a:hover{color:var(--purple)}.blog-article-sep{margin:0 6px;color:var(--border-fine)}.blog-article-topright{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.blog-article-date{font-size:12px}.blog-article-dot{font-size:10px}.blog-article-header{margin-bottom:48px}.blog-article-title{font-size:clamp(28px,4vw,48px);font-weight:700;line-height:1.15;color:var(--ink);margin-bottom:16px;letter-spacing:-.025em}.blog-article-byline{font-size:13px;color:var(--muted)}.blog-article-author-name{font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.blog-article-body{display:grid;grid-template-columns:1fr 220px;gap:56px}.blog-toc-sidebar{min-width:0}.blog-toc-sticky{position:sticky;top:140px;max-height:calc(100vh - 140px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-fine) transparent}.blog-toc{margin-bottom:32px}.blog-toc-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}.blog-toc-nav{display:flex;flex-direction:column;gap:0}.blog-toc-link{display:block;font-size:12px;line-height:1.5;color:var(--muted);text-decoration:none;transition:color .15s;border-left:2px solid transparent;padding:5px 0 5px 12px}.blog-toc-link:hover{color:var(--ink)}.blog-toc-link.active{color:var(--purple);border-left-color:var(--purple)}.blog-toc-link--sub{padding-left:24px;font-size:11px}.blog-toc-share{padding-top:20px;border-top:1px solid var(--border-fine)}.blog-toc-share-btns{display:flex;gap:8px;margin-top:10px}.blog-toc-share-btns .blog-share-btn{width:36px;height:36px}.blog-share{display:flex;gap:6px;margin-left:auto}.blog-share-btn{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--ink3);border:1px solid rgba(55,27,83,.2);background:none;text-decoration:none;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.blog-share-btn:hover{color:#fff;border-color:var(--purple);background:var(--purple)}.blog-article-content{font-size:16px;line-height:1.75;color:var(--ink);min-width:0}.blog-article-content h1{font-size:32px;font-weight:700;margin:48px 0 16px;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}.blog-article-content h2{font-size:24px;font-weight:700;margin:40px 0 16px;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}.blog-article-content h3{font-size:20px;font-weight:600;margin:32px 0 12px;line-height:1.35;color:var(--ink)}.blog-article-content h4{font-size:17px;font-weight:600;margin:24px 0 10px;color:var(--ink)}.blog-article-content p{margin:0 0 20px}.blog-article-content a{color:var(--purple);text-decoration:underline;text-underline-offset:3px;transition:color .15s}.blog-article-content a:hover{color:var(--ink)}.blog-article-content strong{font-weight:600;color:var(--ink)}.blog-article-content ul{margin:0 0 24px;padding:0;list-style:none}.blog-article-content ol{margin:0 0 24px;padding-left:24px}.blog-article-content ul li{position:relative;padding-left:20px;margin-bottom:10px;font-size:15px;line-height:1.7;color:var(--ink)}.blog-article-content ul li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--purple)}.blog-article-content ol li{margin-bottom:10px;font-size:15px;line-height:1.7;color:var(--ink);padding-left:4px}.blog-article-content ol li::marker{color:var(--purple);font-weight:600;font-size:14px}.blog-article-content li p{margin-bottom:8px}.blog-article-content blockquote{margin:24px 0;padding:16px 24px;border-left:3px solid var(--purple);background:var(--purple-light);border-radius:0 8px 8px 0;font-style:italic;color:var(--ink)}.blog-article-content blockquote p:last-child{margin-bottom:0}.blog-article-content pre{margin:24px 0;padding:20px 24px;background:#1a1028;color:#e8e0f0;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.65;font-family:JetBrains Mono,Fira Code,monospace}.blog-article-content code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.875em}.blog-article-content :not(pre)>code{padding:2px 6px;background:var(--purple-light);color:var(--purple);border-radius:3px;font-size:.85em}.blog-article-content img{max-width:100%;height:auto;border-radius:8px;margin:24px 0}.blog-article-content hr{border:none;border-top:1px solid var(--border-fine);margin:40px 0}.blog-article-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}.blog-article-content th{text-align:left;padding:10px 14px;border-bottom:2px solid var(--border-fine);font-weight:600;color:var(--ink)}.blog-article-content td{padding:10px 14px;border-bottom:1px solid var(--border-fine)}.blog-article-footer{margin-top:56px;padding-top:20px;border-top:1px solid var(--border-fine)}.blog-back{text-align:center;margin-top:48px}.blog-related{margin-bottom:40px}.blog-related-title{font-size:18px;font-weight:600;color:var(--ink);margin-bottom:20px}.blog-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.blog-related-item{display:block;text-decoration:none;color:inherit;padding:28px 24px;border-top:1px solid var(--border-fine);transition:background .3s,color .3s;cursor:pointer}.blog-related-item+.blog-related-item{border-left:1px solid var(--border-fine)}.blog-related-item:hover{background:var(--purple)}.blog-related-item:hover .blog-item-num{color:rgba(255,255,255,.5)}.blog-related-item:hover .blog-item-title{color:#fff}.blog-related-item:hover .blog-item-desc{color:rgba(255,255,255,.65)}.blog-alert{display:flex;gap:12px;padding:16px 20px;margin:24px 0;border-radius:8px;border:1px solid;font-size:14px;line-height:1.6}.blog-alert--info{background:rgba(59,130,246,.06);border-color:rgba(59,130,246,.2);color:#2563eb}.blog-alert--warning{background:rgba(245,158,11,.06);border-color:rgba(245,158,11,.2);color:#d97706}.blog-alert--error{background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.2);color:#dc2626}.blog-alert--success{background:rgba(34,197,94,.06);border-color:rgba(34,197,94,.2);color:#16a34a}.blog-alert-icon{flex-shrink:0;margin-top:2px}.blog-alert-body{flex:1}.blog-alert-body p{margin:0}.blog-img-text{display:flex;gap:24px;margin:32px 0;align-items:center}.blog-img-text--left,.blog-img-text--right{flex-direction:row}.blog-img-text-img{flex-shrink:0;width:50%}.blog-img-text-img img{border-radius:8px;width:100%}.blog-img-text-body{flex:1}@media(max-width:960px){.blog-layout{grid-template-columns:1fr;gap:32px}.blog-sidebar{order:-1}.blog-sidebar-sticky{position:static}.blog-sidebar-cats{flex-direction:row;flex-wrap:wrap;gap:6px}.blog-sidebar-cat{padding:6px 12px;border:1px solid var(--border-fine);border-radius:100px;font-size:12px}.blog-sidebar-cat.active{border-color:var(--purple)}.blog-sidebar-count{display:none}.blog-sidebar-more{text-align:center}.blog-listing-grid{grid-template-columns:repeat(2,1fr)}.blog-listing-grid .blog-item:nth-child(3n+2),.blog-listing-grid .blog-item:nth-child(3n+3){border-left:none}.blog-listing-grid .blog-item:nth-child(2n){border-left:1px solid var(--border-fine)}.blog-related-grid{grid-template-columns:repeat(2,1fr)}.blog-related-item:nth-child(3){border-left:none;border-top:1px solid var(--border-fine)}.blog-article-title{font-size:28px}.blog-article-body{grid-template-columns:1fr;gap:0}.blog-toc-sidebar{order:-1}.blog-toc-sticky{position:static}.blog-toc{margin-bottom:24px;padding:16px;background:var(--white);border:1px solid var(--border-fine);border-radius:8px}.blog-toc-nav{flex-direction:row;flex-wrap:wrap;gap:4px 12px}.blog-toc-link{border-left:none;padding:4px 0}.blog-toc-link--sub{padding-left:0}.blog-toc-share{border-top:none;padding-top:0;margin-top:12px}}@media(max-width:640px){.blog-listing-grid{grid-template-columns:1fr}.blog-listing-grid .blog-item:nth-child(2n){border-left:none}.blog-related-grid{grid-template-columns:1fr}.blog-related-item+.blog-related-item{border-left:none}.blog-article-title{font-size:24px}.blog-article-topbar{flex-direction:column;align-items:flex-start;gap:8px}.blog-pagination{flex-wrap:wrap}.blog-img-text{flex-direction:column}.blog-img-text-img{width:100%}.blog-article-content pre{padding:14px 16px;font-size:12px}}