:root{color-scheme:dark;--brand:#818cf8;--brand-600:#a5b4fc;--brand-700:#c7d2fe;--brand-50:#1e1b4b;--brand-100:#312e81;--accent-hover:#6366f1;--nav:#0b0f1a;--nav-fg:#e5e9f2;--orange:#fb923c;--bg:#0b0f1a;--bg-app:#0b0f1a;--strong:#f8fafc;--fg:#dbe2ee;--muted:#8b96ab;--line:#1f2a3d;--line-strong:#2c3a52;--card:#111827;--soft:#172033;--accent:#6366f1;--accent-fg:#fff;--link:#a5b4fc;--ok:#4ade80;--ok-bg:rgba(34,197,94,.12);--warn:#fbbf24;--warn-bg:rgba(245,158,11,.12);--err:#f87171;--err-bg:rgba(239,68,68,.12);--info-bg:rgba(99,102,241,.12);--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6);--ring:0 0 0 3px rgba(99,102,241,.35);--radius:10px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--link);text-underline-offset:2px}h1{font-size:1.5rem;line-height:1.25;margin:1.25rem 0 .9rem;font-weight:600}h2{margin:0 0 .75rem}h2,h3{font-size:1rem;font-weight:600}h3{margin:0 0 .25rem}code,kbd,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}code{padding:.1em .4em;border-radius:4px;border:1px solid var(--line)}code,kbd{background:var(--soft)}kbd{border:solid var(--line-strong);border-width:1px 1px 2px;border-radius:4px;padding:.05em .4em}pre{background:#0f172a;color:#e2e8f0;border-radius:var(--radius);padding:.85rem 1rem;overflow-x:auto;margin:0;border:1px solid #1e293b}pre code{background:none;border:0;padding:0;color:inherit}.logs{max-height:360px;overflow:auto}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:420px}.row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.row.center{justify-content:center}.row.inline input{flex:1 1 160px}.spacer{flex:1 1}.stack{display:flex;flex-direction:column;gap:.85rem}.muted-text{color:var(--muted)}.site-header{border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:30}.site-header nav{padding:0 20px;height:60px}.site-header a{text-decoration:none;color:var(--fg)}.site-header a.btn{color:var(--accent-fg)}.site-header nav>a:not(.brand):not(.btn){padding:.4rem .7rem;border-radius:6px;font-weight:500;color:var(--muted)}.site-header nav>a:not(.brand):not(.btn):hover{color:var(--fg);background:var(--soft)}.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:1.15rem;letter-spacing:-.01em;color:var(--brand)!important}.brand-mark{width:28px;height:28px;display:inline-grid;place-items:center;color:#fff}.brand-mark svg{width:16px;height:16px}.site-footer{padding:2.5rem 20px;margin-top:3rem;font-size:.9rem}.site-footer,.site-footer a{color:var(--muted)}.topbar{background:var(--card);border-bottom:1px solid var(--line);z-index:30}.topbar-in{display:flex;align-items:center;gap:.25rem;height:56px;max-width:1180px;margin:0 auto;padding:0 20px}.topbar .brand{margin-right:1rem}.topbar a.nav{text-decoration:none;font-weight:500;padding:.4rem .75rem;border-radius:6px}.topbar a.nav:hover{color:var(--fg);background:var(--soft)}.topbar a.nav.on{color:var(--brand);background:var(--brand-50)}.topbar .who{font-size:.88rem}.pill{display:inline-flex;align-items:center;padding:.15rem .65rem;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid var(--line-strong);background:var(--soft)}.page{max-width:1180px;margin:0 auto;padding:0 20px 3rem}.page-head{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin:1.6rem 0 1.1rem}.page-head h1{margin:0}.crumb{font-size:.9rem;margin-top:1.25rem}.crumb,.crumb a{color:var(--muted)}.hero-in{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:3rem;gap:3rem;align-items:center;max-width:1180px;margin:0 auto;padding:5rem 20px 5.5rem}@media (max-width:900px){.hero-in{grid-template-columns:1fr;padding:3rem 20px;gap:2rem}}.hero-band h1{font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.08;margin:0 0 1.1rem;letter-spacing:-.025em;font-weight:700}.hero-band p.lead{color:#cbd5e1;margin:0 0 1.75rem;font-size:1.15rem;max-width:34rem}.hero-band .eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;margin-bottom:1rem;font-weight:600}.btn.light{border-color:#fff}.btn.light:hover{background:#e5e7eb;color:#111827;border-color:#e5e7eb}.btn.outline-light{background:transparent;color:#fff;border-color:#ffffff88}.btn.outline-light:hover{background:#ffffff1a}.btn.big{padding:.75rem 1.4rem;font-size:1rem}.term{background:#0b1220;border:1px solid #1e293b;border-radius:8px;overflow:hidden;text-align:left}.term-bar{display:flex;gap:.4rem;padding:.6rem .8rem;background:#111c2e;border-bottom:1px solid #1e293b}.term-bar i{width:11px;height:11px;border-radius:50%;background:#4b3c75;display:block}.term pre{white-space:pre;background:none;border:0;color:#e2e8f0;padding:1rem 1.2rem;font-size:.9rem;line-height:1.7}.term .p{color:#60a5fa}.term .g{color:#4ade80}.term .d{color:#94a3b8}.section{max-width:1180px;margin:0 auto;padding:4.5rem 20px 0}.section-title{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em;margin:0 0 .6rem;font-weight:700}.section-sub{color:var(--muted);max-width:40rem;margin:0 0 2.2rem;font-size:1.05rem}.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1.25rem;gap:1.25rem}.feat{padding:1.4rem;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:border-color .15s}.feat .ico{width:42px;height:42px;border-radius:10px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;margin-bottom:.9rem}.feat .ico svg{width:22px;height:22px}.feat p{margin:0;color:var(--muted)}.steps-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.5rem;gap:1.5rem;counter-reset:s}.step{position:relative;padding-top:3rem}.step:before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:34px;height:34px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:700}.step p{color:var(--muted);margin:.25rem 0 0}.cta-band{margin:5rem auto 0;max-width:1180px;padding:0 20px}.cta-box{border-radius:12px;padding:3rem 2rem;text-align:center;color:#fff}.cta-box h2{font-size:1.8rem;margin:0 0 .6rem}.cta-box p{color:#dbeafe;margin:0 0 1.5rem}.hero{text-align:center;padding:4rem 16px 3rem}.lead{color:var(--muted);max-width:640px;margin:0 auto 1.5rem;font-size:1.1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2.5rem}.card{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.3rem}.card p{margin:0;color:var(--muted)}.card>h2:first-child{padding-bottom:.65rem;border-bottom:1px solid var(--line);margin:-.1rem -1.3rem .35rem;padding-left:1.3rem;padding-right:1.3rem}a.card{text-decoration:none;color:inherit}a.card:hover{border-color:var(--brand)}.steps{padding-left:1.2rem}.steps li{margin-bottom:.75rem}.steps span{display:block;color:var(--muted)}.prose{max-width:740px;padding-bottom:2rem}.prose h2{margin-top:2rem;font-size:1.3rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--accent);color:var(--accent-fg);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.3;transition:background .12s,border-color .12s}.btn.ghost:hover{color:var(--fg)}.btn.small{padding:.3rem .7rem;font-size:.88rem}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-600);outline-offset:1px}.danger-btn{color:#fff}.danger-btn:hover{background:#8f1a10;border-color:#8f1a10}.danger{border-color:var(--err)}input,select,textarea{padding:.5rem .7rem;border-radius:6px;border:1px solid var(--line-strong);background:var(--card);color:var(--fg);font:inherit;min-width:0}input::placeholder{color:var(--muted);opacity:.75}input:focus,select:focus{border-color:var(--brand-600)}label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.92rem}label>span{font-weight:400}.list{list-style:none;padding:0;margin:.5rem 0}.list li{padding:.7rem 0;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.12rem .6rem;font-size:.78rem;font-weight:600;background:var(--soft);color:var(--muted);border:1px solid var(--line)}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.ok{color:var(--ok);background:var(--ok-bg)}.badge.ok,.badge.warn{border-color:transparent}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.err{color:var(--err);background:var(--err-bg);border-color:transparent}.badge.muted{color:var(--muted)}a.badge{text-decoration:none}.alert{padding:.65rem .95rem;border-radius:6px;border:1px solid;white-space:pre-wrap;margin:.25rem 0}.alert.ok{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.alert.err{color:var(--err);background:var(--err-bg);border-color:color-mix(in srgb,var(--err) 35%,transparent)}.alert.warn{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}fieldset.plans{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem}fieldset.plans legend{font-weight:600;margin-bottom:.6rem;padding:0}.plan{cursor:pointer;font-weight:400;gap:.25rem;transition:border-color .12s,box-shadow .12s}.plan:hover{border-color:var(--line-strong)}.plan input{align-self:flex-start;accent-color:var(--brand)}.plan ul{padding-left:1.1rem;margin:.5rem 0 0;color:var(--muted)}.price{font-size:1.6rem;font-weight:700;color:var(--fg)!important;margin:0;letter-spacing:-.01em}.price small{font-size:.85rem;font-weight:400;color:var(--muted)}.lead-left{color:var(--muted);margin-bottom:1.5rem}.info{display:grid;grid-template-columns:auto 1fr;grid-gap:.3rem 1.25rem;gap:.3rem 1.25rem;margin:0}.info dt{color:var(--muted)}.info dd{margin:0;font-weight:600}table{width:100%;font-size:.92rem}th{letter-spacing:.04em}td,th{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--line)}.num{text-align:right}.pos{color:var(--ok)}.neg{color:var(--err)}.card.stack{align-items:stretch}.deploy-log{min-height:260px;max-height:70vh;white-space:pre-wrap;word-break:break-word}details summary{cursor:pointer;color:var(--link)}td .stack{gap:.4rem}label.check{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:400}label.check input{margin-top:.3rem;accent-color:var(--brand)}ul{padding-left:1.2rem}.prose ul li{margin-bottom:.35rem}.toast{position:fixed;top:1rem;right:1rem;z-index:50;max-width:min(92vw,420px);background:var(--card);color:var(--ok);border:1px solid var(--ok);border-radius:8px;padding:.75rem 1rem;box-shadow:0 8px 28px rgba(0,0,0,.18);font-weight:600}.spinner{display:inline-block;width:.9em;height:.9em;border:2px solid;border-right:2px solid transparent;border-radius:50%;vertical-align:-.12em;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}button:disabled{opacity:.65;cursor:progress}.pending-hint{display:block;flex-basis:100%;color:var(--muted);font-size:.9rem}.field-error{color:var(--err);font-weight:600}input[aria-invalid=true]{border-color:var(--err)}code.token{display:block;padding:.5rem .75rem;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}details{margin:.25rem 0}.app-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.app-item{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;flex-wrap:wrap}.app-item:last-child{border-bottom:0}.app-item:hover{background:var(--brand-50)}.app-ico{width:34px;height:34px;border-radius:8px;color:var(--brand);display:grid;place-items:center;flex:none;font-weight:700}.app-ico svg{width:18px;height:18px}.app-name{font-weight:600;color:var(--fg)}.app-meta{color:var(--muted);font-size:.88rem}.empty{text-align:center;padding:3rem 1rem;background:var(--card);border:1px dashed var(--line-strong);border-radius:var(--radius)}.empty h2{margin-bottom:.4rem}.empty p{margin:0 auto 1.2rem;max-width:34rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin:0 0 1.25rem;overflow-x:auto}.tab{all:unset;box-sizing:border-box;cursor:pointer;padding:.65rem .9rem;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.tab:focus-visible{outline:2px solid var(--brand-600);border-radius:4px}.tab-panel[hidden]{display:none}.tab-panel{display:flex;flex-direction:column;gap:1rem}.kv{display:grid;grid-template-columns:180px 1fr;grid-gap:.55rem 1rem;gap:.55rem 1rem;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}@media (max-width:600px){.kv{grid-template-columns:1fr}}.ide-bleed{width:100%}.ide{--ide-bg:#1e1e1e;--ide-side:#252526;--ide-bar:#333333;--ide-tab:#2d2d2d;--ide-line:#3c3c3c;--ide-fg:#cccccc;--ide-dim:#8b8b8b;--ide-sel:#37373d;--ide-accent:#007acc;display:flex;flex-direction:column;height:calc(100vh - 210px);min-height:520px;background:var(--ide-bg);color:var(--ide-fg);border:1px solid var(--ide-line);border-radius:8px;overflow:hidden;font-size:13px}.ide button{font:inherit}.ide-bar{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;background:var(--ide-bar);flex-wrap:wrap}.ide-bar .btn{font-size:12px;padding:.25rem .7rem}.ide-bar .btn.ghost{color:var(--ide-fg);border-color:#555;background:transparent}.ide-message{flex:1 1 240px;background:#3c3c3c;color:var(--ide-fg);border:1px solid #555;border-radius:4px;padding:.25rem .5rem;font-size:12px}.ide-bar .spacer{flex:1 1}.ide .muted-text,.ide-bar .muted-text{color:var(--ide-dim)}.ide .alert{margin:0;border-radius:0;padding:.3rem .75rem;font-size:12px}.ide-body{flex:1 1;display:grid;grid-template-columns:240px 1fr;min-height:0}.ide-body.no-side{grid-template-columns:1fr}.ide-side{overflow:auto;border-right:1px solid var(--ide-line);min-width:0}.ide-side,.ide-side-head{background:var(--ide-side)}.ide-side-head{display:flex;align-items:center;gap:.15rem;padding:.4rem .5rem .4rem .75rem;text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:var(--ide-dim);position:-webkit-sticky;position:sticky;top:0;z-index:1}.ide-side-head .spacer{flex:1 1}.ide-ico{all:unset;cursor:pointer;padding:0 .35rem;border-radius:4px;color:var(--ide-fg);font-size:14px;line-height:20px}.ide-ico:hover:not(:disabled){background:#4a4a4a}.ide-ico:disabled{opacity:.35;cursor:default}.ide-tree{list-style:none;margin:0;padding:0}.ide-tree .ide-tree{padding-left:12px;border-left:1px solid #3a3a3a;margin-left:11px}.ide-row{display:flex;align-items:center;gap:.35rem;padding:0 .5rem 0 .6rem;height:22px;cursor:pointer;white-space:nowrap;overflow:hidden}.ide-row:hover{background:#2a2d2e}.ide-row.active{background:var(--ide-sel);color:#fff}.ide-row .name{overflow:hidden;text-overflow:ellipsis;flex:1 1}.ide-row .acts{display:none;gap:.1rem}.ide-row:hover .acts{display:inline-flex}.ide-chev{width:12px;text-align:center;color:var(--ide-dim);font-size:10px}.ide-badge{display:inline-block;min-width:18px;text-align:center;font-size:9px;font-weight:700;border-radius:3px;padding:1px 2px;color:#1e1e1e;background:#9aa}.ide-dot{color:#e2c08d;font-size:11px}.ide-new{color:#73c991;font-size:11px}.ide-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--ide-bg)}.ide-tabs{overflow-x:auto;flex:none;scrollbar-width:thin}.ide-tab,.ide-tabs{display:flex;background:var(--ide-tab)}.ide-tab{align-items:center;gap:.45rem;padding:0 .5rem 0 .8rem;height:35px;cursor:pointer;border-right:1px solid var(--ide-bg);color:var(--ide-dim);white-space:nowrap;border-top:1px solid transparent}.ide-tab.active{background:var(--ide-bg);color:#fff;border-top-color:var(--ide-accent)}.ide-tab .x{all:unset;cursor:pointer;width:18px;height:18px;text-align:center;line-height:18px;border-radius:4px;font-size:14px}.ide-tab .x:hover{background:#4a4a4a}.ide-crumb{padding:.2rem .9rem;color:var(--ide-dim);font-size:12px;flex:none}.ide-editor{flex:1 1;min-height:0;position:relative}.ide-empty,.ide-note{padding:1.2rem 1.5rem;color:var(--ide-dim)}.ide-empty h2{color:var(--ide-fg);margin-top:0}.ide-empty .btn{font-size:13px}.ide-status{display:flex;gap:1rem;align-items:center;padding:0 .75rem;height:22px;background:var(--ide-accent);color:#fff;font-size:12px;flex:none}.ide-status .spacer{flex:1 1}.ide-modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;z-index:50}.ide-quick{width:min(560px,92vw);background:#252526;border:1px solid #454545;border-radius:6px;box-shadow:0 8px 30px rgba(0,0,0,.5);overflow:hidden;color:var(--ide-fg)}.ide-quick input{width:100%;box-sizing:border-box;background:#3c3c3c;color:var(--ide-fg);border:0;border-bottom:1px solid #454545;border-radius:0;padding:.55rem .8rem;font-size:14px;outline:none}.ide-quick ul{list-style:none;margin:0;padding:0;max-height:40vh;overflow:auto}.ide-quick li{padding:.3rem .8rem;cursor:pointer;display:flex;gap:.6rem}.ide-quick li.on{background:#04395e;color:#fff}.ide-history{position:fixed;right:24px;top:90px;width:min(560px,92vw);max-height:70vh;overflow:auto;z-index:40}@media (max-width:720px){.ide-body{grid-template-columns:1fr}.ide-side{max-height:30vh}}form.stack>.btn,form.stack>.row,form.stack>button.btn{align-self:flex-start}.gl-avatar{width:40px;height:40px;background:#f97316;color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.1rem}.gl-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.gl-tab{padding:.6rem .95rem;color:var(--muted);text-decoration:none;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.gl-tab.on,.gl-tab:hover{color:var(--fg)}.gl-tab.on{border-bottom-color:#fc6d26;font-weight:600}.gl-toolbar{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem;flex-wrap:wrap}.gl-branch{font-weight:600}.gl-dropdown{position:relative;margin:0}.gl-dropdown summary{list-style:none;color:var(--fg)}.gl-dropdown summary::-webkit-details-marker{display:none}.gl-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(420px,90vw);background:var(--card);border:1px solid var(--line-strong);border-radius:8px;padding:.9rem 1rem;box-shadow:0 10px 30px rgba(0,0,0,.18)}.gl-pop p{margin:0 0 .4rem}.gl-crumbs{margin-bottom:.6rem;font-weight:500}.gl-crumbs a{text-decoration:none}.gl-table{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}.gl-thead{display:flex;align-items:center;gap:.8rem;padding:.6rem 1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.gl-thead a{color:var(--fg);font-weight:600}.gl-row,.gl-thead a{text-decoration:none}.gl-row{display:grid;grid-template-columns:minmax(160px,1fr) 2fr 80px 110px;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--line);color:inherit}.gl-row:last-child{border-bottom:0}.gl-row:hover{background:var(--brand-50)}.gl-name{font-weight:500;color:var(--fg);text-decoration:none}.gl-msg,.gl-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-msg a{color:var(--muted);text-decoration:none}.gl-msg a:hover{color:var(--link);text-decoration:underline}.gl-size,.gl-when{text-align:right;font-size:.88rem;white-space:nowrap}@media (max-width:720px){.gl-row{grid-template-columns:1fr auto}.gl-msg,.gl-size{display:none}}.gl-readme{margin-bottom:1.5rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}.gl-plain{background:none;color:var(--fg);border:0;white-space:pre-wrap;padding:1rem 1.2rem;font-family:inherit;font-size:.95rem}.gl-note{padding:1rem;margin:0;color:var(--muted)}.gl-code{overflow:auto;max-height:75vh;background:var(--card)}.gl-code table,.gl-diff table{width:100%;border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem}.gl-code td,.gl-diff td{padding:0 .75rem;border:0;white-space:pre;line-height:1.55}.gl-code .ln{color:var(--muted);text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1%;background:var(--soft);border-right:1px solid var(--line)}.gl-day h3{font-size:.95rem;color:var(--muted);font-weight:600;margin:1rem 0 .5rem}.gl-commit{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.gl-commit:last-child{border-bottom:0}.gl-subject{color:var(--fg);font-weight:600;text-decoration:none}.gl-subject:hover{text-decoration:underline}.gl-commit-head{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:1rem}.gl-commit-head h2{font-size:1.2rem;margin-bottom:.6rem}.gl-stat{margin:.5rem 0 1rem}.gl-diff{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem;background:var(--card)}.gl-diff-head{padding:.55rem 1rem;background:var(--soft);border-bottom:1px solid var(--line)}.gl-diff{overflow-x:auto}.gl-diff tr.add td{background:#e6ffed;color:#0b4a1f}.gl-diff tr.del td{background:#ffeef0;color:#7a1020}.gl-diff tr.hunk td{background:var(--info-bg);color:var(--muted)}.gl-diff tr.add td{background:#11301d;color:#9be3b2}.gl-diff tr.del td{background:#36161b;color:#ffb3bd}.brand{color:var(--fg)!important;font-weight:600;font-size:1.05rem;letter-spacing:0}.brand-mark{border-radius:6px;background:#f97316;width:26px;height:26px}.topbar{background:var(--nav);border-bottom:0;position:-webkit-sticky;position:sticky;top:0;z-index:40}.topbar-in{max-width:none;gap:.5rem}.topbar .brand{color:#fff!important;margin-right:.75rem}.topbar a.nav{color:var(--nav-fg);border-radius:4px}.topbar a.nav:hover{background:#ffffff1f;color:#fff}.topbar a.nav.on{background:#ffffff2e;color:#fff}.topbar .who{color:#c7c6cc}.topbar .btn.ghost{background:transparent;color:#fff;border-color:#ffffff66}.topbar .badge,.topbar .btn.ghost:hover{background:#ffffff1f}.topbar .badge{color:#fff;border-color:transparent}.topbar .badge:before{display:none}.shell{display:grid;min-height:calc(100vh - 48px)}.sidebar{background:var(--soft);border-right:1px solid var(--line);padding:.75rem .5rem 2rem;position:-webkit-sticky;position:sticky;align-self:start;overflow-y:auto}.sb-title{display:flex;align-items:center;gap:.6rem;padding:.35rem .6rem .75rem;font-weight:600;border-bottom:1px solid var(--line);margin-bottom:.5rem}.sb-title .gl-avatar{width:32px;height:32px;font-size:.95rem;border-radius:4px;flex:none}.sb-title span.n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-sec{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.9rem .6rem .25rem}.sb-link{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border-radius:4px;color:var(--fg);text-decoration:none;font-weight:500}.sb-link:hover{background:#f1f3f6;background:#3a393f}.sb-link.on{background:#f1f3f6;box-shadow:inset 3px 0 0 var(--brand);background:#3a393f}.sb-link svg{width:16px;height:16px;flex:none;color:var(--muted)}.sb-link.on svg{color:var(--brand)}.sb-back{color:var(--muted);font-size:.85rem;padding:.25rem .6rem .5rem;display:block;text-decoration:none}.sb-back:hover{color:var(--fg)}.page{max-width:1100px;padding:0 24px 3rem}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:flex;gap:.25rem;overflow-x:auto;padding:.4rem;border-right:0;border-bottom:1px solid var(--line)}.sb-back,.sb-sec,.sb-title{display:none}.sb-link{white-space:nowrap}.page{padding:0 14px 3rem}}.page-head{margin:1.1rem 0 .9rem}.btn{border-radius:4px;padding:.45rem .8rem}.btn.ghost:hover{background:#3a393f}.danger-btn{background:var(--err);border-color:var(--err)}.danger-btn:hover{background:#c91c00;border-color:#c91c00}.card{border-radius:4px;box-shadow:none;background:var(--card)}.card>h2:first-child{font-size:1rem}input,select,textarea{border-radius:4px}th{text-transform:none;letter-spacing:0;font-size:.85rem;background:transparent;color:var(--fg);border-bottom:2px solid var(--line)}.alert,.app-list,.badge{border-radius:4px}.app-list{box-shadow:none}.app-item:hover{background:var(--soft)}.app-ico{background:var(--brand-50)}.app-ico,.empty{border-radius:4px}.empty{background:var(--soft)}.gl-tab.on{border-bottom-color:var(--orange)}.crumb{margin-top:1rem}.btn.light{background:#fff;color:#292961}.cta-box{background:#2563eb}.cta-box,.feat{border-radius:8px}.feat:hover{border-color:var(--brand)}.step:before{background:var(--brand)}.site-header{background:var(--bg)}.site-header nav>a.btn{color:#fff}.brand,.brand:hover{text-decoration:none}body:has(.topbar){background:var(--bg-app)}.topbar{background:transparent}.topbar-in{height:48px;padding:0 16px}.topbar .brand,.topbar .brand:hover{color:var(--strong)!important}.topbar a.nav{color:var(--muted)}.topbar a.nav:hover{background:#e5e7eb;color:var(--strong)}.topbar .who{color:var(--muted)}.topbar .btn.ghost{background:var(--card);color:var(--fg)}.topbar .btn.ghost:hover{background:#f1f3f6}.topbar .badge{background:var(--card);color:var(--fg);border:1px solid var(--line-strong)}.topbar-search{flex:0 1 460px;margin:0 auto;position:relative}.topbar-search input{width:100%;height:32px;border-radius:8px;background:var(--card);border:1px solid var(--line-strong);padding:0 2.2rem 0 2rem;color:var(--muted)}.topbar-search svg{position:absolute;left:10px;top:8px;width:16px;height:16px;color:var(--muted)}.topbar-search kbd{position:absolute;right:8px;top:5px;font-size:.75rem;padding:0 .4rem}.topbar-search-wrap{flex:0 1 460px;margin:0 auto;position:relative}.topbar-search-wrap .topbar-search{flex:none;width:100%;margin:0}@media (max-width:900px){.topbar-search,.topbar-search-wrap{display:none}}.shell{grid-template-columns:240px minmax(0,1fr);padding-right:8px}.sidebar{background:transparent;border-right:0;top:48px;height:calc(100vh - 48px);padding:.25rem .5rem 1rem}.sb-title{border-bottom:0;padding:.25rem .5rem .6rem;color:var(--strong)}.sb-sec{text-transform:none;letter-spacing:0;font-size:.8rem;color:var(--muted);padding:.8rem .5rem .2rem;font-weight:600}.sb-link{padding:.3rem .5rem;font-weight:400}.sb-link.on,.sb-link:hover{background:#e5e7eb}.sb-link.on{font-weight:600;box-shadow:none}.sb-link.on,.sb-link.on svg{color:var(--strong)}.sb-link.on,.sb-link:hover{background:#3a393f}.page{background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;margin:0;max-width:none;min-height:calc(100vh - 48px);padding:0 32px 3rem}@media (max-width:900px){.shell{padding-right:0}.page{border-radius:0;padding:0 14px 3rem}}.page-head h1{font-size:1.5rem}.btn{height:32px;padding:0 .85rem;font-weight:500}.btn.small{height:28px;padding:0 .65rem;font-size:.85rem}.btn.big{height:40px}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn.ghost{background:var(--card);color:var(--fg)}.btn.ghost,.btn.ghost:hover{border-color:var(--line-strong)}.btn.ghost:hover{background:#f1f3f6;color:var(--strong);background:#374151;color:#fff}.btn.light{color:#111827}input,select,textarea{height:32px;padding:0 .65rem}textarea{height:auto;padding:.5rem .65rem}.card{border-radius:8px}th{background:var(--soft);color:var(--strong);font-weight:700;border-bottom:1px solid var(--line)}.app-list,.gl-table{border-radius:8px}.app-item:hover,.gl-row:hover{background:var(--soft)}.plan:has(input:checked){background:var(--brand-50);box-shadow:0 0 0 2px var(--brand)}.badge{border-radius:999px}.gl-thead{background:var(--soft)}.gl-name,.gl-thead a{color:var(--fg)}.gl-colhead{display:grid;grid-template-columns:minmax(160px,1fr) 2fr 130px;grid-gap:.8rem;gap:.8rem;padding:.55rem 1rem;background:var(--soft);border-bottom:1px solid var(--line);font-weight:700;color:var(--strong)}.gl-row{grid-template-columns:minmax(160px,1fr) 2fr 130px}.gl-size{display:none}.gl-commitbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border:1px solid var(--line);border-radius:8px;margin-bottom:1rem;background:var(--card);flex-wrap:wrap}.gl-commitbar .subj{font-weight:600;color:var(--strong);text-decoration:none}.gl-commitbar .subj:hover{text-decoration:underline}.gl-pillsha{font-family:ui-monospace,monospace;border:1px solid var(--line-strong);padding:0 .5rem;height:28px;display:inline-flex;align-items:center;background:var(--card)}.gl-avatar,.gl-pillsha{border-radius:8px}@media (max-width:720px){.gl-colhead,.gl-row{grid-template-columns:1fr auto}.gl-colhead span:nth-child(2){display:none}}.auth{display:grid;grid-template-columns:minmax(340px,5fr) 6fr;min-height:100vh}.auth-side{background:#0f172a;color:#e2e8f0;padding:2rem 3rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem}.auth-side .brand,.auth-side .brand:hover{color:#fff!important;font-size:1.2rem}.auth-pitch h2{color:#fff;font-size:1.9rem;line-height:1.25;font-weight:700;margin:0 0 1.5rem;letter-spacing:-.01em}.auth-pitch ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.auth-pitch li{display:flex;gap:.8rem;color:#94a3b8;line-height:1.45}.auth-pitch li strong{color:#f1f5f9;font-weight:600}.auth-pitch .tick{flex:none;width:22px;height:22px;border-radius:50%;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:.75rem;margin-top:.15rem}.auth-foot{margin:0;color:#64748b;font-size:.85rem}.auth-foot a{color:#94a3b8}.auth-main{background:#fff;display:flex;align-items:center;justify-content:center}.auth-card{width:100%;max-width:380px}.auth-card h1{font-size:1.6rem;margin:0 0 1.25rem}.auth-card .btn{height:40px;justify-content:center;width:100%}.auth-card input{height:40px}.auth-card form.stack{gap:1rem}.auth-card .muted-text{text-align:center;margin-top:1.25rem}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-side{padding:1.25rem}.auth-foot,.auth-pitch{display:none}}.bar{display:inline-block;width:120px;height:8px;background:var(--line);border-radius:4px;overflow:hidden;vertical-align:middle;margin-right:.5rem}.bar-fill{display:block;height:100%}.bar-fill.ok{background:var(--ok)}.bar-fill.warn{background:#d97706}.bar-fill.err{background:var(--err)}.metrics td{vertical-align:middle}.inline-num{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.inline-num input{width:80px}@media (max-width:900px){.shell{grid-template-columns:minmax(0,1fr);padding-right:0}.page{border-radius:0;padding:0 14px 3rem}.sidebar{position:static;top:auto;height:auto;display:flex;flex-direction:row;gap:.25rem;overflow-x:auto;padding:.4rem;border-bottom:1px solid var(--line)}.sb-link{white-space:nowrap;flex:none}.auth{grid-template-rows:auto 1fr;min-height:100vh}.metrics{display:block;overflow-x:auto}}.brand-mark{width:30px;height:30px;border-radius:7px;background:#2563eb}.brand-mark svg{width:20px;height:20px}.wordmark{letter-spacing:-.01em;font-weight:500}.wordmark b{font-weight:800}.brand,.brand:hover{gap:.5rem;font-size:1.15rem}.auth-side .brand-mark,.topbar .brand-mark{background:#2563eb}@media (max-width:640px){.hide-sm{display:none}.hero-band .row,.site-header nav{gap:.5rem}.hero-band .btn.big{padding:0 1rem}}.hero-band{background:#0f172a;color:#fff}.hero-band h1{color:#fff}.hero-band .btn.light{background:#fff;color:#111827;border-color:#fff}.hero-band .btn.light:hover{background:#e2e8f0;color:#111827;border-color:#e2e8f0}.hero-band .btn.outline-light{background:transparent;color:#fff;border-color:#94a3b8}.hero-band .btn.outline-light:hover{background:#1e293b;color:#fff;border-color:#e2e8f0}.cta-box h2{color:#fff}.trial-tag{margin:.5rem 0 0;color:var(--ok);font-weight:600}.bell{position:relative;display:inline-flex;align-items:center;padding:.35rem;border-radius:6px;color:var(--muted)}.bell:hover{background:var(--soft);color:var(--text,inherit)}.bell svg{width:18px;height:18px}.bell-n{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#dc2626;color:#fff;font-size:.68rem;font-weight:700;line-height:16px;text-align:center}@media print{.no-print,.sidebar,.topbar{display:none!important}.shell{display:block!important}.page{border:0!important;box-shadow:none!important}}.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:#111827;color:#fff;padding:.6rem 1rem;border-radius:0 0 6px 0}.skip-link:focus{left:0}:focus-visible{outline:2px solid var(--brand-600,#2563eb);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page table,.table-wrap,main table{max-width:100%}.page .card>table,.page main>table,.page section>table{width:100%}@media (max-width:800px){.page .card>table,.page main>table,.page section>table{display:block;overflow-x:auto;white-space:nowrap}}.btn,button,input,select{min-height:36px}@media (max-width:600px){.btn,button{min-height:44px}.row.inline{flex-wrap:wrap}.row.inline>input,.row.inline>select{flex:1 1 100%;max-width:100%!important}.grid{grid-template-columns:1fr!important}.topbar .who{display:none}}.badge:after{content:""}.prose{line-height:1.7;max-width:760px}.prose h2,.prose h3,.prose h4{margin:1.6rem 0 .5rem}.prose pre{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:.8rem 1rem;overflow-x:auto;font-size:.88rem}.prose code{background:var(--soft);padding:.05rem .35rem;border-radius:4px;font-size:.9em}.prose pre code{background:none;padding:0}.prose ol,.prose ul{padding-left:1.4rem}.container.narrow{max-width:1080px;margin:0 auto;padding:2rem 20px 4rem}.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.compare td,.compare th{vertical-align:top}html{background:var(--bg)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:"cv11","ss01";letter-spacing:-.005em}body:before{content:"";position:fixed;inset:0 0 auto 0;height:520px;z-index:-1;pointer-events:none;background:radial-gradient(60% 100% at 50% 0,rgba(99,102,241,.16),transparent 70%),radial-gradient(40% 80% at 90% 0,rgba(14,165,233,.08),transparent 70%)}h1,h2,h3{color:var(--strong);letter-spacing:-.015em}::selection{background:rgba(99,102,241,.45);color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.site-header,.topbar{background:rgba(11,15,26,.72);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}.brand-mark{background:linear-gradient(135deg,#6366f1,#8b5cf6 55%,#ec4899);box-shadow:0 4px 14px -4px rgba(139,92,246,.7)}.brand,.topbar .brand{color:var(--strong)!important}.btn{border-radius:8px;background:linear-gradient(180deg,#6d70f5,#5558e8);border-color:#6366f1;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 16px -8px rgba(99,102,241,.8)}.btn:hover{background:linear-gradient(180deg,#7b7ef8,#6366f1);border-color:#818cf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 20px -8px rgba(99,102,241,.9)}.btn.ghost,.btn.outline-light{background:rgba(255,255,255,.03);color:var(--fg);border-color:var(--line-strong)}.btn.ghost:hover,.btn.outline-light:hover{background:rgba(255,255,255,.07);border-color:#3b4c6b;color:var(--strong)}.btn.light{background:var(--strong);color:#0b0f1a;border-color:var(--strong);box-shadow:none}.btn.light:hover{background:#fff;color:#0b0f1a}.danger-btn{background:linear-gradient(180deg,#ef4444,#dc2626);border-color:#ef4444}.danger-btn:hover{background:#dc2626;border-color:#f87171}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ring)}input,select,textarea{background:#0d1424;border-color:var(--line-strong);border-radius:8px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:#6366f1}.card,.feat,.term{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0) 60%),var(--card);border-color:var(--line);box-shadow:var(--shadow)}.card{border-radius:12px}.feat:hover,a.card:hover{border-color:#4f55c9;box-shadow:0 0 0 1px rgba(99,102,241,.25),var(--shadow);transform:translateY(-1px)}.feat,a.card{transition:border-color .15s,box-shadow .15s,transform .15s}.feat .ico{background:rgba(99,102,241,.14);color:#a5b4fc}.step:before{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.hero-band{background:transparent!important;border-bottom:1px solid var(--line)}.hero-band h1{background:linear-gradient(180deg,#fff 30%,#a5b4fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-band p.lead{color:var(--muted)}.hero-band .eyebrow{color:#a5b4fc}.cta-box{background:radial-gradient(80% 140% at 50% 0,rgba(99,102,241,.5),rgba(99,102,241,.08) 70%),var(--card);border:1px solid #2f3b6b}.cta-box p{color:var(--fg)}.sb-link{border-radius:8px;color:var(--muted)}.sb-link:hover{background:rgba(255,255,255,.05);color:var(--strong)}.sb-link.on{background:rgba(99,102,241,.14);color:#c7d2fe;box-shadow:inset 2px 0 0 #818cf8}.topbar a.nav:hover{background:rgba(255,255,255,.06)}.topbar a.nav.on{background:rgba(99,102,241,.16);color:#c7d2fe}.topbar .btn.ghost{border-color:var(--line-strong)}.topbar .badge{background:var(--soft);border-color:var(--line)}table{border-collapse:collapse}th{color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}tbody tr:hover{background:rgba(255,255,255,.025)}.gl-diff tr.add td{background:rgba(34,197,94,.14);color:#86efac}.gl-diff tr.del td{background:rgba(239,68,68,.14);color:#fca5a5}pre{background:#070b14;border-color:var(--line)}.site-footer{border-top:1px solid var(--line)}@media (prefers-reduced-motion:reduce){.btn,.feat,a.card{transition:none;transform:none!important}}.sb-group{margin:.1rem 0}@media (max-width:800px){.sb-group{display:flex;gap:.25rem}.sb-group>.sb-sec{display:none}}.carousel{position:relative;display:flex;align-items:stretch;gap:.5rem;margin:1rem 0 1.5rem}fieldset.plans .carousel{margin:0}fieldset.plans{display:block;min-width:0}.carousel-track{--gap:1rem;display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;flex:1 1;min-width:0;padding:.5rem .25rem 1rem;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.carousel-track>*{flex:0 0 calc((100% - 2 * var(--gap)) / 3);scroll-snap-align:start;min-width:0}@media (max-width:960px){.carousel-track>*{flex-basis:calc((100% - var(--gap)) / 2)}}@media (max-width:600px){.carousel-track>*{flex-basis:86%}}.carousel-track:focus-visible{outline:none;box-shadow:var(--ring);border-radius:12px}.carousel-btn{align-self:center;flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:var(--card);color:var(--strong);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .12s,border-color .12s,opacity .12s}.carousel-btn:hover:not(:disabled){background:var(--soft);border-color:#4f55c9}.carousel-btn:disabled{opacity:.3;cursor:default}.carousel-btn:focus-visible{outline:none;box-shadow:var(--ring)}@media (max-width:600px){.carousel-btn{width:34px;height:34px}}.plan-card,.plan-list{display:flex;flex-direction:column}.plan-list{list-style:none;padding:0!important;margin:.9rem 0 1rem!important;gap:.5rem;flex:1 1;color:var(--fg)!important}.plan-list li{position:relative;padding-left:1.5rem;font-size:.92rem;line-height:1.4}.plan-list li:before{content:"";position:absolute;left:.1rem;top:.35em;width:6px;height:11px;border-right:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(40deg)}.trial-tag{color:var(--warn);font-size:.85rem;margin:0 0 .75rem}.plan-actions{display:flex;gap:.5rem;margin-top:auto}.plan-actions .btn{flex:1 1}.plan.featured{border-color:#4f55c9;box-shadow:0 0 0 1px rgba(99,102,241,.35),var(--shadow)}.or-sep{display:flex;align-items:center;gap:.75rem;color:#fff;font-size:.85rem;margin:1.25rem 0 .25rem}.or-sep:after,.or-sep:before{content:"";flex:1 1;border-top:1px dashed #fff}body:before{display:none}.brand-mark,.btn{background:var(--accent);box-shadow:none}.btn{border-color:var(--accent);border-radius:6px}.btn:hover{background:var(--brand-700);border-color:var(--brand-700);box-shadow:none}.btn.ghost,.btn.outline-light{background:transparent;box-shadow:none}.btn.ghost:hover{background:var(--soft)}.danger-btn{background:#dc2626;border-color:#dc2626;box-shadow:none}.danger-btn:hover{background:#b91c1c;border-color:#b91c1c}.plan:has(input:checked){box-shadow:none;border-color:var(--brand);border-width:2px}.gl-pop,.toast{box-shadow:none;border:1px solid var(--line-strong)}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;min-height:0;padding:0;margin:0;background:transparent;border:2px solid var(--line-strong);border-radius:4px;display:inline-grid;place-content:center;cursor:pointer;vertical-align:middle}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--brand)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:checked:after{content:"";width:5px;height:9px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}input[type=radio]:checked:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--bg)}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.45;cursor:not-allowed}.skel{background:var(--soft);border-color:var(--line);animation:skel 1.2s ease-in-out infinite}@keyframes skel{50%{opacity:.55}}.top-progress{position:fixed;top:0;left:0;height:4px;z-index:9999;background:var(--brand);transition:width .2s ease-out,opacity .25s;pointer-events:none}.pl-head{display:flex;align-items:center;gap:.6rem;color:var(--fg)}.pl-bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden;position:relative}.pl-bar i{position:absolute;inset:0 auto 0 0;width:35%;background:var(--brand);border-radius:2px;animation:pl-run 1.1s ease-in-out infinite}@keyframes pl-run{0%{left:-35%}to{left:100%}}.skel-line{height:12px;border-radius:4px;background:var(--soft);animation:skel 1.2s ease-in-out infinite}.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.foot-cols nav{display:flex;flex-direction:column;gap:.5rem}.foot-cols h4{margin:0 0 .25rem;color:var(--strong);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.foot-cols a{color:var(--muted);text-decoration:none}.foot-cols a:hover{color:var(--fg)}.foot-copy{margin:2rem 0 0;padding-top:1rem;border-top:1px solid var(--line)}@media (max-width:600px){.foot-cols{grid-template-columns:1fr;gap:1.25rem}}html{scroll-behavior:smooth}.lp section[id]{scroll-margin-top:70px}.lp-wrap{width:80%;max-width:none;margin:0 auto;padding:0 20px}.lp-wrap.lp-narrow{width:100%;max-width:780px}.lp svg{width:1em;height:1em}.lp-ico{display:inline-flex;font-size:1.1em}.lp-hero{padding:4.5rem 0 3.5rem;position:relative;overflow:hidden}.lp-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.35;-webkit-mask-image:radial-gradient(70% 80% at 50% 0,#000,transparent);mask-image:radial-gradient(70% 80% at 50% 0,#000,transparent);pointer-events:none}.lp-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}.lp-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .85rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);font-size:.85rem;background:var(--card)}.lp-badge i{width:8px;height:8px;border-radius:50%;background:#22c55e}.lp-hero h1{font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.08;margin:1.1rem 0;color:var(--strong);letter-spacing:-.02em}.lp-hero h1 em{font-style:normal;color:var(--brand)}.lp-lead{font-size:1.15rem;color:var(--muted);max-width:34rem;margin:0 0 1.75rem}.lp-cta{display:flex;gap:.75rem;flex-wrap:wrap}.lp-cta .btn.big{height:48px;padding:0 1.5rem}.lp-trust{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;list-style:none;padding:0;margin:1.6rem 0 0;color:var(--muted);font-size:.92rem}.lp-trust li{display:flex;align-items:center;gap:.4rem}.lp-trust .lp-ico{color:#22c55e}.lp-stage{position:relative;padding:0 0 2.2rem}.lp-term{background:#070b14;border:1px solid var(--line-strong);border-radius:12px;overflow:hidden}.lp-term-bar{display:flex;align-items:center;gap:.4rem;padding:.65rem .9rem;border-bottom:1px solid var(--line)}.lp-term-bar i{width:11px;height:11px;border-radius:50%;background:#334155}.lp-term-bar i:first-child{background:#ef4444}.lp-term-bar i:nth-child(2){background:#f59e0b}.lp-term-bar i:nth-child(3){background:#22c55e}.lp-term-bar span{margin-left:.6rem;color:var(--muted);font-size:.8rem}.lp-term pre{margin:0;padding:1.1rem 1.2rem 1.3rem;background:transparent;border:0;font-size:.88rem;line-height:1.7;min-height:190px}.lp-term code{background:none;border:0;padding:0;color:#e2e8f0}.lp-term .d{color:#7c8aa5}.lp-term .g{color:#4ade80}.lp-term .p{color:#a5b4fc}.lp-term code span{opacity:0;animation:lp-line .01s forwards}.lp-term .l1{animation-delay:.3s!important}.lp-term .l2{animation-delay:1.1s!important}.lp-term .l3{animation-delay:1.8s!important}.lp-term .l4{animation-delay:2.5s!important}.lp-term .l5{animation-delay:3.3s!important}.lp-term .l6{animation-delay:3.6s!important}@keyframes lp-line{to{opacity:1}}.lp-card{position:absolute;display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;background:var(--card);border:1px solid var(--line-strong);border-radius:10px;font-size:.85rem}.lp-card strong{display:block;color:var(--strong)}.lp-card span{color:var(--muted);font-size:.78rem}.lp-card svg{font-size:1.4rem;color:var(--brand)}.lp-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;animation:lp-pulse 1.6s infinite}@keyframes lp-pulse{50%{opacity:.35}}.lp-float{left:-1.5rem;bottom:0;animation:lp-bob 5s ease-in-out infinite}.lp-float2{right:-.5rem;bottom:3.2rem;animation:lp-bob 6s ease-in-out infinite reverse}@keyframes lp-bob{50%{transform:translateY(-6px)}}.lp-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card)}.lp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;padding-top:1.6rem;padding-bottom:1.6rem;text-align:center}.lp-stats strong{display:block;font-size:1.7rem;color:var(--strong)}.lp-stats span{color:var(--muted);font-size:.88rem}.lp-sec{padding:5rem 0}.lp-sec.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lp-eyebrow{color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;margin:0 0 .6rem;text-align:center}.lp-sec h2{text-align:center;font-size:clamp(1.7rem,3.5vw,2.4rem);margin:0 0 .8rem;color:var(--strong);letter-spacing:-.01em}.lp-sub{text-align:center;color:var(--muted);max-width:40rem;margin:0 auto 2.5rem;font-size:1.05rem}.lp-sub.left{text-align:left;margin:0}.lp-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}.lp-feat{padding:1.5rem;background:var(--card);border:1px solid var(--line);border-radius:12px;transition:border-color .15s,transform .15s}.lp-feat:hover{border-color:var(--brand);transform:translateY(-3px)}.lp-feat.wide{grid-column:span 2}.lp-feat h3{margin:.9rem 0 .4rem;color:var(--strong);font-size:1.1rem}.lp-feat p{margin:0;color:var(--muted);font-size:.95rem}.lp-fico{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--brand-50);color:var(--brand);font-size:1.3rem}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem;gap:1.25rem;margin-top:2.5rem;position:relative}.lp-step{padding:1.6rem;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.lp-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700}.lp-step h3{margin:1rem 0 .4rem;color:var(--strong)}.lp-step p{margin:0;color:var(--muted)}.lp-db{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}.lp-db .lp-eyebrow,.lp-db h2{text-align:left}.lp-chips{display:flex;flex-wrap:wrap;gap:.6rem}.lp-chip{padding:.55rem 1.1rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--card);color:var(--fg);font-weight:600}.lp #pricing .carousel{margin-top:.5rem}.lp-faq{margin-top:2rem;display:flex;flex-direction:column;gap:.6rem}.lp-faq details{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 1.2rem}.lp-faq summary{cursor:pointer;padding:1rem 0;font-weight:600;color:var(--strong);list-style:none;display:flex;justify-content:space-between;gap:1rem}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";color:var(--brand);font-size:1.3rem;line-height:1}.lp-faq details[open] summary:after{content:"−"}.lp-faq p{margin:0 0 1rem;color:var(--muted)}.lp-more{text-align:center;margin-top:1.5rem}.lp-final{padding:5rem 0;text-align:center;background:var(--accent)}.lp-final h2{color:#fff;font-size:clamp(1.7rem,3.5vw,2.4rem);margin:0 0 .6rem}.lp-final p{color:#e0e7ff;margin:0 0 1.6rem;font-size:1.1rem}.lp-final .btn.big{background:#fff;border-color:#fff;color:#1e1b4b;height:48px;padding:0 1.6rem}.lp-final .btn.big:hover{background:#e0e7ff;border-color:#e0e7ff;color:#1e1b4b}@media (max-width:960px){.lp-db,.lp-hero-grid{grid-template-columns:1fr}.lp-bento,.lp-stats-grid{grid-template-columns:repeat(2,1fr)}.lp-float{left:0}.lp-float2{right:0}}@media (max-width:600px){.lp-hero{padding:2.5rem 0}.lp-sec{padding:3rem 0}.lp-bento,.lp-steps{grid-template-columns:1fr}.lp-feat.wide{grid-column:auto}.lp-card{display:none}}@media (prefers-reduced-motion:reduce){.lp-term code span{animation:none;opacity:1}.lp-dot,.lp-float,.lp-float2{animation:none}html{scroll-behavior:auto}}.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line)}.foot-bottom p{margin:0}.lang-menu{position:relative}.lang-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);padding:.35rem .7rem;border:1px solid var(--line-strong);border-radius:6px}.lang-menu summary::-webkit-details-marker{display:none}.lang-menu summary:hover{color:var(--fg)}.lang-menu summary svg{width:18px;height:18px}.lang-menu form{position:absolute;right:0;bottom:calc(100% + 6px);display:flex;flex-direction:column;min-width:150px;background:var(--card);border:1px solid var(--line-strong);border-radius:8px;padding:.3rem;z-index:5}.lang-menu button{background:none;border:0;color:var(--fg);text-align:left;padding:.5rem .7rem;border-radius:6px;cursor:pointer;font:inherit}.lang-menu button:hover{background:var(--soft)}.lang-menu button.on{color:var(--brand);font-weight:700}.auth{grid-template-columns:minmax(380px,5fr) 6fr}.auth-side{position:relative;background:var(--card);border-right:1px solid var(--line);overflow:hidden}.auth-side:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.4;-webkit-mask-image:radial-gradient(80% 70% at 20% 10%,#000,transparent);mask-image:radial-gradient(80% 70% at 20% 10%,#000,transparent);pointer-events:none}.auth-side>*{position:relative}.auth-pitch h2{font-size:2rem}.auth-pitch .tick{background:var(--accent)}.auth-term{margin-top:2rem;background:#070b14;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;max-width:420px}.auth-term-bar{display:flex;gap:.35rem;padding:.55rem .8rem;border-bottom:1px solid var(--line)}.auth-term-bar i{width:10px;height:10px;border-radius:50%;background:#334155}.auth-term-bar i:first-child{background:#ef4444}.auth-term-bar i:nth-child(2){background:#f59e0b}.auth-term-bar i:nth-child(3){background:#22c55e}.auth-term pre{margin:0;padding:.9rem 1rem;background:transparent;border:0;color:#cbd5e1;font-size:.82rem;line-height:1.7}.auth-term .g{color:#4ade80}.auth-main{background:var(--bg);padding:2rem 1.25rem}.auth-card{max-width:400px}.auth-back{display:inline-block;color:var(--muted);font-size:.88rem;text-decoration:none;margin-bottom:1.6rem}.auth-back:hover{color:var(--fg)}.auth-card h1{font-size:1.9rem;margin:0 0 .4rem;color:var(--strong);letter-spacing:-.01em}.auth-sub{color:var(--muted);margin:0 0 1.5rem}.auth-card label{font-weight:600;font-size:.9rem;color:var(--fg)}.auth-card input:not([type=checkbox]){height:44px;border-radius:8px;font-size:.95rem}.auth-card .btn{height:44px;border-radius:8px}.auth-card .check{font-weight:400;color:var(--muted);font-size:.88rem;display:flex;gap:.6rem;align-items:flex-start}.auth-card .check input{margin-top:.15rem}.auth-card .or-sep{margin:1.25rem 0 .25rem}.oauth{gap:.6rem}.oauth-btn{gap:.6rem;font-weight:600}.oauth-btn svg{width:18px;height:18px;flex:none}.pw{position:relative;display:block;margin-top:.35rem}.pw input{width:100%;padding-right:4.5rem}.pw-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);min-height:0!important;height:32px;padding:0 .6rem;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600}.pw-toggle:hover{color:var(--fg);background:var(--soft)}.pw-meter{display:flex;align-items:center;gap:.6rem;margin-top:.45rem;font-weight:400}.pw-bars{display:flex;gap:4px;flex:1 1}.pw-bars i{flex:1 1;height:4px;border-radius:2px;background:var(--line-strong)}.pw-bars i.on.s1{background:#ef4444}.pw-bars i.on.s2{background:#f59e0b}.pw-bars i.on.s3{background:#84cc16}.pw-bars i.on.s4{background:#22c55e}.pw-text{color:var(--muted);font-size:.8rem;min-width:7.5rem;text-align:right}.auth-links{text-align:center;margin:1.1rem 0 0!important;font-size:.9rem}.auth-switch{margin:1.5rem 0 0!important;padding-top:1.25rem;border-top:1px solid var(--line)}.auth-fine,.auth-switch{text-align:center;color:var(--muted)}.auth-fine{font-size:.78rem!important;margin:1rem 0 0!important}.container.prose{max-width:1080px}.ai-fab{position:fixed;right:16px;bottom:64px;z-index:80;display:inline-flex;align-items:center;gap:.5rem;height:42px;padding:0 1rem;border-radius:999px;border:0;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.ai-fab:hover{background:var(--brand-700);color:#1e1b4b}.ai-fab svg{width:20px;height:20px}.ai-panel{position:fixed;right:16px;bottom:16px;z-index:85;width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 32px));display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-strong);border-radius:14px;overflow:hidden}.ai-head{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid var(--line);color:var(--strong)}.ai-link{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;font-size:.82rem;min-height:0!important}.ai-link:hover{color:var(--fg)}.ai-x{background:none;border:0;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;min-height:0!important}.ai-body{flex:1 1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem}.ai-msg{margin:0;padding:.65rem .85rem;border-radius:12px;max-width:92%;font-size:.92rem;line-height:1.5;overflow-wrap:anywhere}.ai-msg.me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}.ai-msg.bot{align-self:flex-start;background:var(--soft);color:var(--fg);border-bottom-left-radius:4px}.ai-msg.bot>:first-child{margin-top:0}.ai-msg.bot>:last-child{margin-bottom:0}.ai-msg.bot pre{font-size:.8rem}.ai-typing{color:var(--muted);animation:skel 1.2s ease-in-out infinite}.ai-chips{display:flex;flex-direction:column;gap:.4rem}.ai-chips button{text-align:left;background:transparent;border:1px solid var(--line-strong);border-radius:10px;color:var(--fg);padding:.5rem .75rem;cursor:pointer;font:inherit;font-size:.88rem;min-height:0!important}.ai-chips button:hover{border-color:var(--brand);color:var(--brand)}.ai-form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid var(--line);align-items:flex-end}.ai-form textarea{flex:1 1;resize:none;height:auto!important;padding:.5rem .7rem;border-radius:8px}.ai-hint{margin:0;padding:0 .9rem .6rem;font-size:.74rem;color:var(--muted)}@media (max-width:600px){.ai-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100vh - 16px)}}.lp-ai{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}.lp-ai .lp-eyebrow,.lp-ai h2{text-align:left}.lp-ai-list{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-direction:column;gap:.6rem;color:var(--fg)}.lp-ai-list li{display:flex;gap:.55rem;align-items:flex-start}.lp-ai-list .lp-ico{color:#22c55e;margin-top:.2rem}.lp-chat{background:var(--bg);border:1px solid var(--line-strong);border-radius:14px;padding:1.1rem;display:flex;flex-direction:column;gap:.7rem}.lp-chat-head{display:flex;align-items:center;gap:.5rem;color:var(--strong);font-weight:600;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.lp-chat-head .lp-ico{color:var(--brand)}.lp-bub{margin:0;padding:.7rem .95rem;border-radius:12px;max-width:92%;font-size:.93rem;line-height:1.55}.lp-bub.me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.lp-bub.bot{align-self:flex-start;background:var(--soft);color:var(--fg);border-bottom-left-radius:4px}@media (max-width:960px){.lp-ai{grid-template-columns:1fr}}.lang-menu .lang-list{position:absolute;right:0;bottom:calc(100% + 6px);display:flex;flex-direction:column;min-width:150px;background:var(--card);border:1px solid var(--line-strong);border-radius:8px;padding:.3rem;z-index:5}.lang-menu .lang-list a{color:var(--fg);text-decoration:none;padding:.5rem .7rem;border-radius:6px}.lang-menu .lang-list a:hover{background:var(--soft)}.lang-menu .lang-list a.on{color:var(--brand);font-weight:700}.lang-suggest{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.55rem 1rem;background:var(--brand-50);border-bottom:1px solid var(--line-strong);font-size:.9rem}.lang-suggest a{color:var(--brand);font-weight:600}.lang-suggest button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:1.2rem;line-height:1;min-height:0!important}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-side{padding:1.25rem}.auth-foot,.auth-pitch{display:none}}.ai-quota{font-size:.75rem;color:var(--muted)}.app-row{display:flex;align-items:stretch;border-bottom:1px solid var(--line)}.app-row:last-child{border-bottom:0}.app-row .app-item{flex:1 1;border-bottom:0;min-width:0}.app-del{flex:none;width:48px;display:grid;place-items:center;background:transparent;border:0;border-left:1px solid var(--line);color:var(--muted);cursor:pointer;min-height:0!important}.app-del:hover{color:#ef4444;background:var(--soft)}.app-del svg{width:18px;height:18px}.modal-back{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;z-index:100;padding:1rem}.modal{width:min(440px,100%);background:var(--card);border:1px solid var(--line-strong);border-radius:12px;padding:1.4rem}.modal h2{margin:0}.nowrap{flex-wrap:nowrap!important}.table-card{padding:0;overflow-x:auto}.table-card table{margin:0}.table-card td,.table-card th{padding:.75rem 1rem}.table-card td.actions{white-space:nowrap}.kv-table td.val{max-width:0;width:100%;word-break:break-all}.kv-table summary{cursor:pointer;color:var(--brand)}.notice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.notice{display:flex;align-items:flex-start;gap:.9rem;padding:.9rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:10px;position:relative}.notice.unread{border-color:var(--line-strong);box-shadow:inset 3px 0 0 var(--brand)}.notice.read{opacity:.65}.notice:hover{background:var(--soft)}.notice-ico{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--muted)}.notice-ico svg{width:18px;height:18px}.notice-ico.ok{background:rgba(34,197,94,.15);color:#4ade80}.notice-ico.warn{background:rgba(245,158,11,.15);color:#fbbf24}.notice-ico.err{background:rgba(239,68,68,.15);color:#f87171}.notice-main{flex:1 1;min-width:0}.notice-title{color:var(--strong);font-weight:600;text-decoration:none}a.notice-title:after{content:"";position:absolute;inset:0}.notice-body{margin:.15rem 0 0;color:var(--muted);font-size:.92rem;overflow-wrap:anywhere}.notice-time{flex:none;color:var(--muted);font-size:.82rem;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.notice-dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}@media (max-width:600px){.notice{flex-wrap:wrap}.notice-time{width:100%;padding-left:3rem}}table.card{width:100%;padding:0;border-collapse:separate;border-spacing:0}table.card thead th:first-child{border-top-left-radius:var(--radius)}table.card thead th:last-child{border-top-right-radius:var(--radius)}table.card tbody tr:last-child td{border-bottom:0}table.card tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius)}table.card tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius)}table.card td,table.card th{padding:.75rem 1rem}.header-user{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.flow{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;position:relative}.flow:before{content:"";position:absolute;top:31px;left:12.5%;right:12.5%;height:2px;background:var(--line)}.flow-step{position:relative;text-align:center;padding:0 .5rem}.flow-step h3{margin:1rem 0 .35rem;color:var(--strong);font-size:1.05rem}.flow-step h3 code{font-size:.95rem}.flow-step p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.flow-node{position:relative;width:62px;height:62px;margin:0 auto;border-radius:18px;display:grid;place-items:center;background:var(--card,var(--soft));border:1px solid var(--line);color:var(--muted);animation:flow-dim 8s infinite}.flow-node svg{width:26px;height:26px}.flow-node b{position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:50%;font-size:.72rem;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.flow-pulse{position:absolute;top:25px;left:12.5%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--brand,#7c83ff);box-shadow:0 0 0 6px color-mix(in srgb,var(--brand,#7c83ff) 25%,transparent),0 0 18px var(--brand,#7c83ff);animation:flow-move 8s infinite}.flow-step.s0 .flow-node{animation-name:lit0}.flow-step.s1 .flow-node{animation-name:lit1}.flow-step.s2 .flow-node{animation-name:lit2}.flow-step.s3 .flow-node{animation-name:lit3}@keyframes flow-move{0%{left:12.5%;opacity:1}75%{left:87.5%;opacity:1}90%,to{left:87.5%;opacity:0}}@keyframes lit0{0%,90%{color:#fff;background:var(--brand,#7c83ff);border-color:var(--brand,#7c83ff);box-shadow:0 8px 24px color-mix(in srgb,var(--brand,#7c83ff) 40%,transparent);transform:translateY(-3px)}95%,to{color:var(--muted);background:var(--soft);border-color:var(--line);box-shadow:none;transform:none}}@keyframes lit1{0%,22%{color:var(--muted);background:var(--soft);border-color:var(--line);transform:none}27%,90%{color:#fff;background:var(--brand,#7c83ff);border-color:var(--brand,#7c83ff);box-shadow:0 8px 24px color-mix(in srgb,var(--brand,#7c83ff) 40%,transparent);transform:translateY(-3px)}95%,to{color:var(--muted);background:var(--soft);border-color:var(--line);box-shadow:none;transform:none}}@keyframes lit2{0%,47%{color:var(--muted);background:var(--soft);border-color:var(--line);transform:none}52%,90%{color:#fff;background:var(--brand,#7c83ff);border-color:var(--brand,#7c83ff);box-shadow:0 8px 24px color-mix(in srgb,var(--brand,#7c83ff) 40%,transparent);transform:translateY(-3px)}95%,to{color:var(--muted);background:var(--soft);border-color:var(--line);box-shadow:none;transform:none}}@keyframes lit3{0%,72%{color:var(--muted);background:var(--soft);border-color:var(--line);transform:none}77%,90%{color:#fff;background:var(--ok,#22c55e);border-color:var(--ok,#22c55e);box-shadow:0 8px 24px color-mix(in srgb,var(--ok,#22c55e) 40%,transparent);transform:translateY(-3px)}95%,to{color:var(--muted);background:var(--soft);border-color:var(--line);box-shadow:none;transform:none}}@media (max-width:760px){.flow{grid-template-columns:1fr;gap:1.6rem}.flow-pulse,.flow:before{display:none}}@media (prefers-reduced-motion:reduce){.flow-pulse{display:none}.flow-node,.flow-step .flow-node{animation:none;color:#fff;background:var(--brand,#7c83ff);border-color:var(--brand,#7c83ff)}}.lp-hero{padding:5rem 0 4rem}.lp-hero:after{content:"";position:absolute;inset:-20% -10% auto -10%;height:90%;pointer-events:none;z-index:0;background:radial-gradient(40% 50% at 18% 30%,color-mix(in srgb,var(--brand) 32%,transparent),transparent 70%),radial-gradient(35% 45% at 82% 20%,rgba(34,197,94,.14),transparent 70%),radial-gradient(40% 50% at 70% 80%,rgba(168,85,247,.16),transparent 70%);filter:blur(30px)}.lp-hero-grid{z-index:1}.lp-badge{background:color-mix(in srgb,var(--card) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 10%,transparent)}.lp-badge i{box-shadow:0 0 0 3px rgba(34,197,94,.25);animation:lp-pulse 1.6s infinite}.lp-hero h1{font-size:clamp(2.4rem,5.4vw,4.1rem);line-height:1.04;letter-spacing:-.035em;font-weight:800}.lp-hero h1 em{background:linear-gradient(100deg,#a5b4fc,#818cf8 35%,#c084fc 70%,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.05em}.lp-lead{font-size:1.2rem;line-height:1.6}.lp-cta .btn.big{box-shadow:0 10px 30px -8px color-mix(in srgb,var(--brand) 70%,transparent);transition:transform .15s,box-shadow .15s}.lp-cta .btn.big:hover{transform:translateY(-2px)}.lp-price{margin:1.1rem 0 0;color:var(--muted);font-size:.95rem}.lp-price strong{color:var(--strong);font-size:1.05rem}.lp-price span{margin:0 .35rem;opacity:.5}.lp-stage{padding:4.6rem 1.6rem 3.4rem 0}.lp-stage:before{content:"";position:absolute;inset:8% 0 6% 6%;border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 45%,transparent),rgba(168,85,247,.25));filter:blur(46px);opacity:.55;z-index:0}.lp-term{position:relative;z-index:1;border-radius:14px;box-shadow:0 30px 70px -20px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.04);transform:perspective(1400px) rotateY(-4deg) rotateX(2deg);transition:transform .4s}.lp-stage:hover .lp-term{transform:none}.lp-term pre{font-size:.92rem;min-height:215px}.lp-card{z-index:2;background:color-mix(in srgb,var(--card) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 40px -12px rgba(0,0,0,.6)}.lp-float{left:-1.2rem;bottom:.3rem}.lp-float2{right:0;bottom:5rem}.lp-float3{right:-.4rem;top:0;max-width:270px;align-items:flex-start;animation:lp-bob 7s ease-in-out infinite}.lp-float3 strong{font-size:.84rem}.lp-float3 span:not(.lp-aibub){display:block;margin-top:.15rem;line-height:1.4}.lp-aibub{display:grid!important;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff!important;font-size:1rem!important}.lp-aibub svg{color:#fff;font-size:1rem}.lp-stack{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem .9rem;padding-top:0;padding-bottom:2.4rem;color:var(--muted);font-size:.9rem}.lp-stack b{padding:.3rem .8rem;border:1px solid var(--line);border-radius:999px;color:var(--fg);font-weight:600;font-size:.85rem;background:var(--card)}.lp-stats{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 70%,var(--bg)))}.lp-stats-grid{padding-top:2.2rem;padding-bottom:2.2rem}.lp-stats strong{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.02em;background:linear-gradient(180deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-stats-grid>div+div{border-left:1px solid var(--line)}.lp-sec{padding:6rem 0}.lp-eyebrow{display:table;margin:0 auto 1rem;padding:.3rem .8rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent)}.lp-db .lp-eyebrow{margin-left:0}.lp-sec h2{letter-spacing:-.025em;font-weight:800}.lp-feat{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 100%,#fff 3%),var(--card));position:relative;overflow:hidden}.lp-feat:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--brand),transparent);opacity:0;transition:opacity .2s}.lp-feat:hover:before{opacity:1}.lp-feat:hover{box-shadow:0 18px 40px -18px color-mix(in srgb,var(--brand) 60%,transparent)}.lp-feat.ai{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));background:radial-gradient(120% 90% at 0 0,color-mix(in srgb,var(--brand) 22%,transparent),var(--card))}.lp-feat.ai .lp-fico{background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff}.lp #pricing .plan-card{position:relative;transition:transform .2s,box-shadow .2s}.lp #pricing .plan-card:hover{transform:translateY(-4px)}.lp #pricing .plan-card .price{font-size:2.1rem;font-weight:800;letter-spacing:-.02em;color:var(--strong)}.lp #pricing .plan-card .price small{font-size:.9rem;font-weight:500;color:var(--muted)}.lp #pricing .plan-card.featured{box-shadow:0 24px 60px -20px color-mix(in srgb,var(--brand) 70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 12%,var(--card)),var(--card))}.plan-pop{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:.22rem .8rem;border-radius:999px;background:linear-gradient(90deg,#6366f1,#a855f7);color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.03em;white-space:nowrap}.lp-final{background:radial-gradient(60% 120% at 50% 0,#4f46e5,#312e81 70%,#1e1b4b);position:relative;overflow:hidden}.lp-final:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:radial-gradient(60% 100% at 50% 0,#000,transparent);mask-image:radial-gradient(60% 100% at 50% 0,#000,transparent)}.lp-final .lp-wrap,.lp-final>*{position:relative}.lp-final h2{font-size:clamp(2rem,4.2vw,3rem);letter-spacing:-.03em;font-weight:800}@keyframes lp-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){.flow-step,.lp #pricing .plan-card,.lp-ai>*,.lp-card-rise,.lp-db>*,.lp-faq details,.lp-feat,.lp-step{animation:lp-rise linear both;animation-timeline:view();animation-range:entry 0 entry 35%}}@media (max-width:960px){.lp-stage{padding:2.4rem 0 3rem}.lp-term{transform:none}.lp-float{left:0}.lp-float3{right:0;max-width:240px}.lp-stats-grid>div+div{border-left:0}}@media (max-width:560px){.lp-float2{display:none}.lp-hero{padding:3rem 0 2.5rem}}@media (prefers-reduced-motion:reduce){.lp-term{transform:none;transition:none}.flow-step,.lp #pricing .plan-card,.lp-ai>*,.lp-db>*,.lp-faq details,.lp-feat,.lp-step{animation:none!important}}.lp #pricing .carousel-track{padding-top:18px}.lp-hero-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}.lp-hero-center .lp-cta{justify-content:center;margin-top:1.4rem}.lp-hero-center .lp-trust{justify-content:center}.lp-h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}.lp-lead-m,.lp-stage-m{display:none}.pd{width:100%;margin-top:1.8rem;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35))}.pd svg{width:100%;height:auto;display:block;overflow:visible;font-family:inherit}.pd-project{fill:color-mix(in srgb,var(--brand) 6%,transparent);stroke:var(--brand);stroke-width:1.5;stroke-dasharray:7 6;animation:pd-dash 24s linear infinite}@keyframes pd-dash{to{stroke-dashoffset:-260}}.pd-card{fill:var(--card);stroke:var(--line-strong);stroke-width:1}.pd-card.ai{stroke:color-mix(in srgb,var(--brand) 60%,var(--line));fill:color-mix(in srgb,var(--brand) 10%,var(--card))}.pd-term{fill:#070b14;stroke:var(--line-strong)}.pd-ico{fill:color-mix(in srgb,var(--brand) 22%,transparent)}.pd-ai-ico{fill:url(#none);fill:#7c6af7}.pd-stroke{stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pd-ok{fill:#22c55e;animation:lp-pulse 1.8s infinite}.pd-link{stroke:color-mix(in srgb,var(--brand) 55%,var(--line));stroke-width:1.6}.pd-link.dashed{stroke-dasharray:4 5}.pd-dot{filter:drop-shadow(0 0 5px currentColor)}.pd-t1{fill:var(--strong);font-size:15px;font-weight:700}.pd-t2{fill:var(--fg);font-size:13px;font-weight:600}.pd-t3{fill:var(--muted);font-size:12px}.pd-t3.q{fill:var(--strong);font-weight:600}.pd-mono{fill:#e2e8f0;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.pd-mono.dim{fill:#7c8aa5}.pd-mono.ok{fill:#4ade80}.pd-pill-brand{fill:var(--brand)}.pd-pill-text{fill:#fff;font-size:13px;font-weight:700}.pd-chip{fill:var(--card);stroke:var(--line-strong)}.pd-chip.ok{fill:rgba(34,197,94,.12);stroke:rgba(34,197,94,.4)}.pd .okc{fill:#4ade80;font-size:11.5px}.pd-price{fill:color-mix(in srgb,var(--brand) 18%,var(--card));stroke:color-mix(in srgb,var(--brand) 60%,transparent)}.pd-price-text{fill:var(--strong);font-size:14px;font-weight:800}.pd-bubble{fill:var(--bg);stroke:var(--line)}.pd-globe{fill:color-mix(in srgb,#22c55e 14%,var(--card));stroke:rgba(34,197,94,.55);stroke-width:1.5}.pd-globe+g{stroke:#4ade80;stroke-width:1.6;stroke-linecap:round}.pd-users{fill:var(--muted)}.pd-m{display:none;width:100%;margin-top:.6rem;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}.pd-m svg{width:100%;max-width:420px;height:auto;display:block;margin:0 auto;overflow:visible;font-family:inherit}@media (max-width:760px){.pd{display:none}.pd-m{display:block}.lp-hero{padding:1.2rem 0 1.6rem}}@media (prefers-reduced-motion:reduce){.pd-ok,.pd-project{animation:none}.pd-dot{display:none}}.pd-t3.sm{font-size:10.5px}.sb-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-count{font-size:.72rem;font-weight:600;color:var(--muted);background:rgba(255,255,255,.06);border-radius:999px;padding:0 .45rem}.sb-app{margin-left:1.55rem;padding-left:.8rem;border-left:1px solid var(--line);border-radius:0 8px 8px 0;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.sb-new{color:var(--brand);font-weight:600}.sb-sub{margin:.5rem 0 .1rem;padding:0 .6rem;font-size:.75rem;color:var(--muted)}.site-footer.container.home,.site-header.home nav.container{width:80%;max-width:none}@media (max-width:1100px){.lp-wrap,.site-footer.container.home,.site-header.home nav.container{width:100%}}.sb-add{color:var(--brand);font-size:.85rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.grid-3 .card{display:block}.stat{margin:.25rem 0 0;font-size:1.9rem;font-weight:800;letter-spacing:-.02em;color:var(--strong)}@media (max-width:760px){.grid-3{grid-template-columns:1fr}}.todo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.todo-list li{display:flex;align-items:center;gap:.8rem;padding:.55rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.todo-list li.done .todo-text{text-decoration:line-through;color:var(--muted)}.todo-text{flex:1 1;overflow-wrap:anywhere}.todo-check{all:unset;cursor:pointer;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line-strong);color:var(--muted);font-size:.9rem}.todo-list li.done .todo-check{background:var(--ok,#22c55e);border-color:var(--ok,#22c55e);color:#fff}.todo-check:hover{border-color:var(--brand)}pre.code{margin:0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:10px;background:#070b14;overflow-x:auto;font-size:.88rem}label.radio{display:flex;align-items:center;gap:.5rem;font-weight:400;color:var(--fg);cursor:pointer;width:auto;margin:.15rem 0}label.radio input[type=radio]{width:18px;height:18px;flex:none;margin:0;padding:0;accent-color:var(--brand)}.sb-sec-row{justify-content:space-between}.sb-prow,.sb-sec-row{display:flex;align-items:center}.sb-prow{gap:.15rem}.sb-prow .sb-link{flex:1 1;min-width:0}.sb-plus{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:7px;color:var(--muted);text-decoration:none}.sb-plus svg{width:14px;height:14px}.sb-plus.on,.sb-plus:hover{background:color-mix(in srgb,var(--brand) 22%,transparent);color:#fff}.sb-sec.sb-sec-row{padding-right:0;padding-top:.55rem;padding-bottom:.15rem}.ctx-back{position:fixed;inset:0;z-index:90}.ctx-menu{position:fixed;z-index:91;min-width:210px;padding:.35rem;border:1px solid var(--line-strong);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,#000);box-shadow:0 18px 50px -10px rgba(0,0,0,.7)}.ctx-title{padding:.35rem .6rem .45rem;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.ctx-menu button{all:unset;box-sizing:border-box;display:block;width:100%;padding:.42rem .6rem;border-radius:8px;cursor:pointer;color:var(--fg);font-size:.9rem}.ctx-menu button:focus-visible,.ctx-menu button:hover{background:color-mix(in srgb,var(--brand) 22%,transparent);color:#fff}.ctx-menu hr{border:0;border-top:1px solid var(--line);margin:.3rem 0}.sb-app{display:flex;align-items:center;gap:.5rem}.sb-app .sb-name{flex:1 1;min-width:0}.sb-app.warn{color:#fbbf24}.sb-warn{flex:none;width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.25);animation:lp-pulse 1.4s infinite}.sb-pending .sb-name{font-style:italic;opacity:.85}.lp-flow-in{width:100%;margin-top:1.2rem}.lp-flow-in .flow{margin-top:0}.lp-flow-in .flow-step h3{margin-top:.8rem;font-size:1rem}.lp-flow-in .flow-step p{font-size:.86rem}.lp-hero-center .lp-cta{margin-top:2rem}.pd-ci{fill:color-mix(in srgb,var(--brand) 12%,var(--card));stroke:color-mix(in srgb,var(--brand) 55%,var(--line));stroke-width:1.2}.pd-ci-label{fill:var(--brand);font-size:15px;font-weight:800;letter-spacing:.02em}.pd-stage{fill:var(--card);stroke:var(--line-strong)}.pd-tick{stroke:#22c55e;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.lp-hero .lp-wrap.lp-hero-center{width:90%;max-width:1600px}@media (max-width:1100px){.lp-hero .lp-wrap.lp-hero-center{width:100%}}.site-header.home nav.container{width:90%;max-width:1600px}@media (max-width:1100px){.site-header.home nav.container{width:100%}}.container.narrow.blog-wide{width:90%;max-width:1600px}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:1.2rem;gap:1.2rem;align-items:start}.blog-grid .card h2{font-size:1.2rem;margin:0}@media (max-width:1100px){.container.narrow.blog-wide{width:100%}}.auth-side .brand-mark,.brand-mark,.topbar .brand-mark{background:none;box-shadow:none;width:30px;height:30px;border-radius:9px}.brand-mark svg{width:100%;height:100%;display:block}@media (min-width:761px){.lp-hero{padding:1rem 0 1.4rem}.pd{margin-top:0}.pd svg{max-height:calc(100vh - 235px);min-height:340px}.lp-hero-center .lp-cta{margin-top:.6rem}.lp-hero .lp-price{margin-top:.7rem}.lp-stack{padding-bottom:1.6rem}}.ctx-menu button.danger{color:#f87171}.ctx-menu button.danger:focus-visible,.ctx-menu button.danger:hover{background:rgba(239,68,68,.2);color:#fecaca}