:root{--bg:#f7f3ea;--bg2:#f2ece0;--fg:#181410;--muted:#6c6357;--faint:#938a7b;--line:#e7ddcd;--line2:#ddd1bd;--card:#fffdf8;--accent:#5546e6;--accentfg:#ffffff;--ink-accent:#4a3fd6;--accent-soft:#efecfc;--accent-deep:#3a2f9e;--warm:#e0683c;--warm-soft:#f7e3d6;--gold:#caa53a;--radius:16px;--shadow-sm:0 1px 2px rgba(40,30,80,.05), 0 6px 16px rgba(40,30,80,.06);--shadow-md:0 2px 4px rgba(40,30,80,.05), 0 22px 48px rgba(40,30,80,.1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit}h1,h2,h3,h4{font-family:Space Grotesk;letter-spacing:-.025em;line-height:1.04}.wrap{width:100%;max-width:1160px;margin:0 auto;padding-inline:1.5rem}@media(max-width:640px){.wrap{padding-inline:1.1rem}}.hl{color:var(--ink-accent)}.mono{font-family:JetBrains Mono}::selection{background:#d9d3f7;color:var(--fg)}header{position:sticky;top:0;z-index:40;background:#f7f3ead1;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}header .wrap{display:flex;align-items:center;gap:1rem;height:62px}.brand{display:flex;align-items:center;gap:.55rem;font-family:Space Grotesk;font-weight:700;font-size:18px;text-decoration:none}.brand .spark{color:var(--accent)}nav.top{margin-left:auto;display:flex;gap:1.6rem;align-items:center;font-size:14.5px;color:var(--muted)}nav.top a{transition:color .15s;text-decoration:none}nav.top a:not(.btn):not(.appstore):hover{color:var(--fg)}@media(max-width:680px){nav.top a:not(.btn):not(.appstore){display:none}}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:Space Grotesk;font-weight:600;text-decoration:none;cursor:pointer;padding:.6rem 1.1rem;border-radius:11px;background:var(--accent);color:var(--accentfg);font-size:14.5px;border:none;box-shadow:0 8px 22px #5546e633;transition:transform .15s,box-shadow .15s,background .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px #5546e640;background:#4a3fd6}.btn:active{transform:translateY(0)}.btn.lg{padding:.95rem 1.7rem;font-size:16.5px;border-radius:13px}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line2);box-shadow:none}.btn.ghost:hover{background:var(--card);box-shadow:var(--shadow-sm)}.appstore{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;cursor:pointer;background:var(--accent);color:var(--accentfg);border:none;border-radius:13px;padding:.7rem 1.3rem}.appstore svg{flex:none}.appstore .as-txt{display:flex;flex-direction:column;line-height:1.05;text-align:left}.appstore .as-txt small{font-size:11px;font-weight:500;opacity:.82;letter-spacing:.01em}.appstore .as-txt strong{font-family:Space Grotesk;font-weight:600;font-size:17px;letter-spacing:-.01em}.appstore.sm{padding:.5rem .95rem;border-radius:11px}.appstore.sm svg{width:20px;height:20px}.appstore.sm .as-txt small{font-size:9.5px}.appstore.sm .as-txt strong{font-size:14px}.appstore.dark{background:#fff;color:var(--fg)}.pressable{position:relative;display:inline-flex;isolation:isolate}.pressable:before{content:"";position:absolute;inset:0;border-radius:13px;background:var(--accent-deep);transform:translate(4px,4px);z-index:0}.pressable>a{position:relative;z-index:1;transition:transform .13s ease}.pressable:hover>a,.pressable:active>a{transform:translate(4px,4px)}.pressable.sm{border-radius:11px}.pressable.sm:before{border-radius:11px;transform:translate(3px,3px)}.pressable.sm:hover>a,.pressable.sm:active>a{transform:translate(3px,3px)}.pressable.ink:before{background:var(--ink-accent)}.pressable.light:before{background:var(--accent)}.cbtn{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;font-family:Space Grotesk;font-weight:600;font-size:14.5px;padding:.7rem 1.15rem;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--fg);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s;border-bottom:1px solid var(--line2)}.cbtn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);opacity:1}.cbtn svg{flex:none;color:var(--ink-accent)}.cbtn.primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 8px 22px #5546e633}.cbtn.primary svg{color:#fff}.cbtn.primary:hover{background:#4a3fd6}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-accent);font-weight:600;margin-bottom:1.1rem}.eyebrow:before{content:"";width:22px;height:1px;background:var(--ink-accent);opacity:.55}.doc-hero{padding:4.5rem 0 1.5rem;position:relative;overflow:hidden}.doc-hero:after{content:"";position:absolute;width:520px;height:520px;right:-200px;top:-200px;border-radius:50%;background:radial-gradient(circle,#5546e615,transparent 65%);pointer-events:none}.doc-hero h1{font-weight:700;font-size:clamp(2.4rem,6vw,3.6rem)}.doc-hero .lede{margin-top:1.1rem;font-size:1.16rem;color:var(--muted);max-width:62ch;line-height:1.55}.doc-body{min-width:0;max-width:760px;margin:0 auto;padding:.6rem 0 5rem}.doc-meta{font-family:JetBrains Mono;font-size:12.5px;letter-spacing:.04em;color:var(--faint);padding-bottom:1.6rem;margin-bottom:1.8rem;border-bottom:1px solid var(--line)}.doc-body h2{font-weight:700;font-size:clamp(1.4rem,2.7vw,1.8rem);margin-top:2.8rem;line-height:1.12;scroll-margin-top:84px}.doc-body h2:first-of-type{margin-top:.5rem}.doc-body h2 .h2num{font-family:JetBrains Mono;font-size:.62em;color:var(--ink-accent);margin-right:.6rem;font-weight:500;vertical-align:.1em}.doc-body h3{font-family:Space Grotesk;font-weight:600;font-size:1.14rem;margin-top:1.8rem;color:var(--fg);scroll-margin-top:84px}.doc-body p{color:var(--muted);font-size:1.04rem;line-height:1.7;margin-top:.92rem;max-width:68ch}.doc-body p:first-child{margin-top:1.1rem}.doc-body ul{list-style:none;margin:1.05rem 0 0;max-width:68ch;display:flex;flex-direction:column;gap:.58rem}.doc-body li{position:relative;padding-left:1.5rem;color:var(--muted);font-size:1.04rem;line-height:1.6}.doc-body li:before{content:"";position:absolute;left:.15rem;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.55}.doc-body code{font-family:JetBrains Mono;font-size:.86em;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:.08rem .38rem;color:var(--fg)}.doc-body hr{border:none;border-top:1px solid var(--line);margin:0}.doc-body :is(p,li) strong{color:var(--fg);font-weight:600}.doc-body :is(p,li) a{color:var(--ink-accent);text-decoration:none;border-bottom:1px dotted var(--ink-accent)}.doc-body :is(p,li) a:hover{opacity:.75}.doc-lead{border-left:2px solid var(--line2);padding-left:1.3rem;margin:1.4rem 0 1.2rem;font-size:1.1rem;color:var(--fg);line-height:1.6}.doc-lead p{margin-top:.7rem;color:var(--fg)}.doc-lead p:first-child{margin-top:0}footer{padding:3rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}footer .wrap{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}footer nav{margin-left:auto;display:flex;gap:1.4rem}footer nav a{text-decoration:none}footer nav a:hover{color:var(--fg)}@media(max-width:640px){footer .wrap{justify-content:center;text-align:center}footer nav{margin-left:0;flex-basis:100%;justify-content:center;flex-wrap:wrap;gap:1.1rem 1.4rem}}
