:root{--bg: #0b0d10;--bg1: #12161b;--bg2: #1a1f26;--bg3: #232a33;--line: #262e38;--line2: #343e4a;--grid: #151a20;--text: #e8ecf1;--text2: #a3adb9;--text3: #7e8894;--accent: #ffc233;--accent-text: #ffc233;--accent-dim: rgba(255, 194, 51, .16);--on-accent: #0b0d10;--bezel: #07090b;--bezel-edge: #343e4a;--shade: rgba(11, 13, 16, .9);--bar: rgba(11, 13, 16, .78);--drop: rgba(0, 0, 0, .6);--sans: "Barlow Semi Condensed", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--gutter: clamp(16px, 4vw, 48px);--wide: 1200px;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #cdd1d5;--bg1: #d8dee5;--bg2: #e4ebf5;--bg3: #f5faff;--line: #b4becb;--line2: #9fabba;--grid: #abb2ba;--text: #010204;--text2: #343c46;--text3: #515b66;--accent: #836000;--accent-text: #745500;--accent-dim: rgba(131, 96, 0, .16);--on-accent: #ffffff;--shade: rgba(205, 209, 213, .9);--bar: rgba(205, 209, 213, .82);--drop: rgba(20, 24, 30, .35);color-scheme:light}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.55 var(--sans);-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}main{flex:1}a{color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}img{display:block;max-width:100%;height:auto}.wrap{max-width:var(--wide);margin:0 auto;padding-inline:var(--gutter)}.eyebrow{font:500 13px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin:0 0 16px}.h2{font-weight:800;font-size:clamp(36px,4.4vw,56px);line-height:.98;letter-spacing:-.01em;margin:0 0 16px;text-wrap:balance}.sub{color:var(--text2);font-size:clamp(17px,1.5vw,20px);max-width:34em;margin:0}.icon{width:1em;height:1em;color:var(--accent);flex:none}.more{font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);text-decoration:none;display:inline-flex;gap:8px;align-items:center}.more:after{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gutter);background:var(--bar);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.bar nav,.foot nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px clamp(14px,2.4vw,26px)}.bar nav a:not(.play-badge),.foot nav a{color:var(--text2);font-weight:600;font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:color .2s}.bar nav a:not(.play-badge):hover,.bar nav a.router-link-active,.foot nav a:hover{color:var(--accent-text)}.foot nav a.mail{text-transform:none;letter-spacing:.02em}.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:700;font-size:24px;text-decoration:none}.wordmark img{border-radius:7px}.wordmark--small{font-size:18px}.wordmark--small img{border-radius:5px}.play-badge{display:inline-block;line-height:0;transition:transform .2s}.play-badge img{width:auto;max-width:none}.play-badge:hover{transform:translateY(-2px)}.bar-badge{margin:-6px -8px}@media(max-width:640px){.bar nav .wide{display:none}.wordmark{font-size:20px}}.pair{position:relative;aspect-ratio:1.5;width:100%;margin:0}.pair img{position:absolute;margin:0;border-radius:12px;object-fit:cover;object-position:left top}.pair .tablet{right:0;top:0;width:86%;aspect-ratio:1600 / 999;box-shadow:0 0 0 6px var(--bezel),0 0 0 7px var(--bezel-edge),0 30px 60px -20px var(--drop)}.pair .phone{left:0;bottom:0;width:27%;aspect-ratio:9 / 20;z-index:1;box-shadow:0 0 0 5px var(--bezel),0 0 0 6px var(--bezel-edge),0 24px 48px -12px var(--drop)}.pair--hero .tablet{transform:perspective(1600px) rotateY(-10deg) rotateX(3deg);transform-origin:right center;box-shadow:0 0 0 6px var(--bezel),0 0 0 7px var(--bezel-edge),0 40px 80px -20px var(--drop),0 0 120px -30px var(--accent-dim)}@media(max-width:640px){.pair{aspect-ratio:1.3}.pair .tablet{width:90%;top:2%}.pair .phone{width:33%}.pair--hero .tablet{transform:none}}.hero{position:relative;isolation:isolate;padding:clamp(40px,7vw,88px) 0 clamp(40px,6vw,72px);overflow:hidden}.scope{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1}.scope-envelope{fill:none;stroke:var(--accent);stroke-opacity:.22;stroke-width:2;stroke-dasharray:6 8}.scope-trace{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linejoin:round;stroke-opacity:.6;stroke-dasharray:1;stroke-dashoffset:0}.scope-trace--glow{stroke-width:9;stroke-opacity:.18}.scope-sweep{fill:var(--accent);opacity:0}.js .scope-trace{animation:trace-draw 2.6s cubic-bezier(.3,.6,.2,1) .2s both}.js .scope-sweep{animation:sweep 2.6s cubic-bezier(.3,.6,.2,1) .2s both}@keyframes trace-draw{0%{stroke-dashoffset:1}}@keyframes sweep{0%{transform:translate(0);opacity:.6}90%{opacity:.6}to{transform:translate(1600px);opacity:0}}.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}.hero-copy{position:relative}.hero-copy:before{content:"";position:absolute;top:-12%;right:-20%;bottom:-12%;left:-30%;z-index:-1;background:radial-gradient(closest-side,var(--shade),transparent)}.hero h1{font-weight:800;font-size:clamp(56px,7vw,92px);line-height:1.04;letter-spacing:-.015em;margin:0 0 18px}.hero-desc{font-size:clamp(22px,2.2vw,28px);font-weight:500;margin:0 0 18px}.lede{color:var(--text2);font-size:clamp(18px,1.6vw,21px);max-width:32em;margin:0 0 32px}.cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.cta .play-badge{margin:-9px -10px}.cta p{margin:0;font:400 13px/1.4 var(--mono);letter-spacing:.04em;color:var(--text2)}@media(max-width:1000px){.hero-in{grid-template-columns:minmax(0,1fr);gap:40px}.hero-in .pair{max-width:680px}}.js .load-1,.js .load-2,.js .load-3,.js .load-4,.js .load-5{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.js .load-2{animation-delay:.12s}.js .load-3{animation-delay:.24s}.js .load-4{animation-delay:.36s}.js .load-5{animation-delay:.5s;animation-duration:1.2s}@keyframes rise{0%{opacity:0;transform:translateY(28px)}}.specs{border-block:1px solid var(--line);background:var(--bg1)}.specs ul{list-style:none;margin:0 auto;padding-block:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}.specs li{font:500 13px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text2);display:flex;gap:10px;align-items:baseline}.specs li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;transform:translateY(-1px)}@media(max-width:640px){.specs ul{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:14px}.specs li{font-size:11px;letter-spacing:.05em}}.studios{padding-block:clamp(56px,8vw,96px) clamp(48px,6vw,72px)}.studios .sub{margin-bottom:36px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--bg1);border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0;color:var(--text);text-decoration:none}.card--shipped{box-shadow:inset 0 3px 0 var(--accent);transition:border-color .2s,transform .2s}.card--shipped:hover{border-color:var(--line2);transform:translateY(-2px)}.card--next{background:transparent;border:1.5px dashed var(--line2)}.card--slot{background:transparent;border:1.5px dashed var(--line);align-items:center;justify-content:center}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mode{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 8px;border-radius:8px;background:var(--bg2);border:1px solid var(--line);font:500 13px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.mode .icon{width:18px;height:18px}.tag{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text2);border:1px solid var(--line2);border-radius:999px;padding:5px 8px}.card-title{font-weight:700;font-size:23px;line-height:1.1;margin:0;text-wrap:balance}.card-meta{margin:0;color:var(--text2);font-size:15px}.thumb{aspect-ratio:16 / 10;width:100%;object-fit:cover;object-position:left top;border-radius:8px;border:1px solid var(--line2)}.card .more{margin-top:auto}.steps{aspect-ratio:16 / 10;border-radius:8px;border:1px dashed var(--line2);display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(4,1fr);gap:5px;padding:10px}.steps i{border-radius:3px;background:var(--bg2)}.steps i.on{background:var(--accent);opacity:var(--v, .8)}.slot-plus{width:44px;height:44px;border-radius:50%;border:1.5px dashed var(--text3);color:var(--text3);display:grid;place-items:center;font:400 24px/1 var(--mono)}.bridge{margin-top:28px;display:grid;grid-template-columns:1fr auto 1.2fr auto 1fr;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--bg1)}.node{border-radius:10px;padding:12px 14px;border:1px solid var(--line);background:var(--bg2);font-size:15px;color:var(--text2)}.node b{display:flex;align-items:center;gap:8px;color:var(--text);font-size:17px}.node--lib{text-align:center}.node--lib b{justify-content:center}.node--next{border-style:dashed;background:transparent}.arrow{height:2px;width:40px;background:var(--text3);position:relative}.arrow:after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:2px solid var(--text3);border-right:2px solid var(--text3);transform:rotate(45deg)}.outs{display:grid;gap:10px}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cards{grid-template-columns:minmax(0,1fr)}.card--slot{flex-direction:row;justify-content:flex-start;padding:14px 18px}.bridge{grid-template-columns:minmax(0,1fr)}.arrow{transform:rotate(90deg);justify-self:center;width:24px;margin:6px 0}}.chapter{padding-bottom:72px}.band{position:relative;padding:clamp(56px,8vw,96px) 0 clamp(28px,4vw,44px);border-bottom:1px solid var(--line2);margin-bottom:clamp(36px,5vw,56px);overflow:hidden}.band-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse at 70% 60%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 60%,#000 10%,transparent 70%)}.band-trace{position:absolute;left:0;right:0;top:6px;height:90px;width:100%}.band-trace path{fill:none;stroke:var(--accent);stroke-width:2;stroke-opacity:.55}.band .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end}.chapter-name{font-weight:800;font-size:clamp(64px,10vw,128px);line-height:.88;margin:0 0 14px;letter-spacing:-.02em;display:flex;align-items:center;gap:.12em}.chapter-name .icon{width:.42em;height:.42em}.pads{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-width:420px;width:100%;justify-self:end;transform:perspective(1400px) rotateY(-14deg) rotateX(4deg);transform-origin:right center}.pad{aspect-ratio:1;border-radius:6px;background:var(--bg2);border:1px solid var(--line2);position:relative;overflow:hidden}.pad:before{content:"";position:absolute;left:12%;right:12%;bottom:10%;height:3px;border-radius:2px;background:var(--accent);opacity:.8}.pad:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);opacity:var(--lit, 0)}.pad--empty{background:transparent;border:1px dashed var(--line)}.pad--empty:before{display:none}.rows{display:grid;gap:clamp(48px,6vw,72px)}.row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}.row:nth-child(2n){grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.row:nth-child(2n) .row-copy{order:2}.row-copy{min-width:0}.row-copy h3{font-weight:700;font-size:clamp(26px,2.6vw,32px);line-height:1.05;margin:0 0 12px;text-wrap:balance}.row-copy p{margin:0;color:var(--text2);font-size:clamp(17px,1.4vw,18px)}.tier{display:inline-block;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);border:1px solid currentColor;border-radius:999px;padding:4px 8px;margin-right:6px;vertical-align:2px}.chapter .more{margin-top:48px}@media(max-width:820px){.row,.row:nth-child(2n){grid-template-columns:minmax(0,1fr);gap:20px}.row .row-copy,.row:nth-child(2n) .row-copy{order:2}}@media(max-width:640px){.band .wrap{grid-template-columns:minmax(0,1fr);gap:24px}.pads{grid-template-columns:repeat(4,minmax(0,1fr));transform:none;justify-self:stretch;max-width:none}.pad[data-off]{display:none}}.shared{padding-block:24px 88px}.shared-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}.shared-items>div{border-top:1px solid var(--line);padding-top:14px}.shared-items h3{font-weight:700;font-size:21px;margin:0 0 8px}.shared-items p{margin:0;color:var(--text2);font-size:16px}@media(max-width:640px){.shared-items{grid-template-columns:minmax(0,1fr)}}.pricing{padding-block:72px 80px;border-top:1px solid var(--line)}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.plan{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--bg1);min-width:0}.plan h3{font-weight:700;font-size:24px;margin:0 0 4px}.plan-sub{margin:0 0 14px;font:400 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text2)}.plan ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.plan li{position:relative;padding-left:22px;font-size:16px}.plan li:before{content:"";position:absolute;left:2px;top:.5em;width:9px;height:5px;border-left:2px solid var(--text2);border-bottom:2px solid var(--text2);transform:rotate(-45deg)}.plan-foot{margin:20px 0 0;color:var(--text2);font-size:16px;max-width:46em}@media(max-width:820px){.plans{grid-template-columns:minmax(0,1fr)}}.closer{text-align:center;padding-block:72px 80px;border-top:1px solid var(--line)}.closer .h2{margin-bottom:24px}.closer .play-badge{margin:-10px}.js .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.js .reveal.is-in{opacity:1;transform:none}.switcher{border-bottom:1px solid var(--line);background:var(--bg1)}.switcher .wrap{padding-block:12px}.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}.seg a,.seg span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:7px;font:500 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text2);text-decoration:none}.seg .icon{width:16px;height:16px}.seg a.router-link-exact-active{background:var(--bg3);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.seg span{color:var(--text3);border:1px dashed var(--line2)}.docs{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding-block:clamp(40px,6vw,72px) 88px}.docs h1{font-weight:800;font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-.015em;margin:0 0 12px;display:flex;align-items:center;gap:.16em}.docs h1 .icon{width:.5em;height:.5em}.docs-intro{color:var(--text2);font-size:20px;max-width:34em;margin:0 0 48px}.toc{position:sticky;top:88px;align-self:start;font-size:15px}.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:14px}.toc ol ol{gap:6px;margin-top:8px;padding-left:12px;border-left:1px solid var(--line)}.toc a{color:var(--text2);text-decoration:none}.toc a:hover{color:var(--accent-text)}.toc>ol>li>a{font:500 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text)}.docs-section{border-top:1px solid var(--line2);padding-top:28px;margin-bottom:56px}.docs-section h2{font:500 13px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin:0 0 24px}.topic{max-width:40em;margin-bottom:36px}.topic h3{font-weight:700;font-size:26px;line-height:1.1;margin:0 0 10px}.topic p{margin:0 0 12px;color:var(--text2)}.cutout{margin:4px 0 16px;display:inline-block;max-width:100%}.cutout img{border-radius:10px;border:1px solid var(--bezel-edge);background:var(--bezel);box-shadow:0 18px 40px -24px var(--drop)}.topic ul{margin:0 0 12px;padding-left:20px;color:var(--text2);display:grid;gap:6px}@media(max-width:820px){.docs{grid-template-columns:minmax(0,1fr);gap:32px}.toc{position:static;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--bg1)}}.policy,.notfound{max-width:760px;margin:0 auto;padding:clamp(48px,8vw,96px) var(--gutter) 64px}.policy h1,.notfound h1{font-weight:800;font-size:clamp(40px,6vw,64px);line-height:1;margin:0 0 16px}.policy h2{font-size:22px;font-weight:700;margin:40px 0 8px}.policy p,.notfound p{margin:0 0 12px;color:var(--text2)}.policy .meta{font:500 13px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}.release-dialog{width:min(480px,calc(100vw - 32px));padding:0;border:1px solid var(--line2);border-radius:14px;background:var(--bg1);color:var(--text);box-shadow:inset 0 3px 0 var(--accent),0 40px 100px -20px var(--drop)}.release-dialog::backdrop{background:var(--shade);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.release-dialog[open]{animation:rise .35s cubic-bezier(.2,.7,.2,1)}.release-body{padding:clamp(24px,5vw,32px);display:grid;gap:14px}.release-body .eyebrow{margin:0}.release-body h2{font-weight:800;font-size:clamp(30px,6vw,38px);line-height:1;margin:0;text-wrap:balance}.release-body p{margin:0;color:var(--text2)}.release-contact{font-size:16px}.release-close{justify-self:start;margin-top:8px;font:700 16px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--on-accent);background:var(--accent);border:0;border-radius:10px;padding:14px 22px;cursor:pointer}.foot{border-top:1px solid var(--line);padding:28px var(--gutter) 36px}.foot-row{max-width:var(--wide);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.foot nav a{font-size:14px}.legal{max-width:var(--wide);margin:18px auto 0;font-family:var(--mono);font-size:11px;color:var(--text3)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .scope-trace,.js .scope-sweep,.js [class*=load-]{animation:none!important}.js .reveal{opacity:1;transform:none;transition:none}.card--shipped,.play-badge{transition:none}.release-dialog[open]{animation:none}}
