:root{color-scheme:dark;--ink:#101822;--panel:#172431;--line:#354956;--paper:#f3f5ee;--mint:#51e5bc;--muted:#aebdc5;--warning:#ffd38b;--mono:"Cascadia Code",Consolas,monospace;font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-underline-offset:4px}
:focus-visible{outline:2px solid var(--mint);outline-offset:5px}
img{max-width:100%;display:block}
p{line-height:1.65}
.shell{width:min(1180px,calc(100% - 56px));margin-inline:auto}
.skip{position:absolute;top:8px;left:8px;transform:translateY(-160%);background:var(--mint);color:var(--ink);padding:10px;z-index:2}.skip:focus{transform:none}
.top,.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:18px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;white-space:nowrap}
nav{display:flex;gap:clamp(12px,3vw,30px);font-size:.91rem}nav a,.footer>a:last-child{color:var(--muted);text-decoration:none}nav a:hover,.footer>a:last-child:hover{color:var(--mint)}
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,6vw,82px);align-items:center;padding-block:clamp(48px,7vw,88px)}
.eyebrow{font: .75rem/1.5 var(--mono);letter-spacing:.075em;color:var(--mint);margin:0 0 12px}
.eyebrow span{display:inline-block;background:var(--mint);width:8px;height:8px;border-radius:50%;margin-right:8px}
h1,h2,h3{line-height:1.07;margin:0;text-wrap:balance}h1{font-size:clamp(2.8rem,1.6rem + 4vw,5.2rem);letter-spacing:-.065em;max-width:12ch}h2{font-size:clamp(2rem,1.35rem + 2vw,3.4rem);letter-spacing:-.045em}h3{font-size:1.35rem;letter-spacing:-.025em}
.lede{font-size:clamp(1rem,.9rem + .4vw,1.22rem);color:var(--muted);max-width:48ch;margin:22px 0}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:6px;text-decoration:none;font-weight:650;font-size:.92rem}.button:hover{background:var(--panel)}.primary{background:var(--mint);color:var(--ink);border-color:var(--mint)}.primary:hover{background:#96f0d6}
.notice{border-left:3px solid var(--warning);background:#ffd38b0b;padding:12px 15px;margin-top:25px;max-width:53ch}.notice strong{color:var(--warning)}.notice p{color:var(--muted);font-size:.9rem;margin:3px 0 0}
.preview{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0c141d;box-shadow:0 16px 48px #050b1199;max-width:530px}.preview-bar{display:flex;justify-content:space-between;gap:10px;padding:12px 15px;font: .72rem var(--mono);color:var(--muted);border-bottom:1px solid var(--line)}.preview-bar span:last-child{color:var(--mint)}.preview img{width:100%;height:auto}.preview figcaption{padding:10px 15px;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line)}
.section{border-top:1px solid var(--line);padding-block:clamp(38px,6vw,70px);scroll-margin-top:12px}.section-head{max-width:62ch;margin-bottom:25px}.section-head>p:last-child{color:var(--muted)}
.workflow{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.workflow li{padding:20px 22px;border-left:1px solid var(--line)}.workflow li:first-child{border-left:0;padding-left:0}.workflow p,.workspace dd,.limit-list p,.install p,.install li{color:var(--muted)}.workflow p{margin:10px 0 0}.num,.index{color:var(--mint);font:.78rem var(--mono)}.num{display:block;margin-bottom:12px}
.workspaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.workspace{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px}.workspace h3{display:flex;align-items:center;gap:12px}.workspace dl{margin:14px 0 0}.workspace dt{font-weight:700;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.workspace dd{margin:5px 0 0;line-height:1.58}
.limits,.install{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,5vw,64px)}.limit-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:13px 0}summary{cursor:pointer;font-weight:650;min-height:30px}summary::marker{color:var(--mint)}details p{margin:6px 0 2px}
.install ol{margin:0;padding:6px 0 0 25px}.install li{padding:0 0 12px 4px;line-height:1.55}.install li::marker{color:var(--mint);font-family:var(--mono)}code{color:var(--paper);font-family:var(--mono);overflow-wrap:anywhere}
.footer{border-top:1px solid var(--line);border-bottom:0;font-size:.88rem;padding-bottom:24px}
@media(max-width:780px){.hero,.limits,.install{grid-template-columns:1fr}.preview{width:min(100%,460px)}.hero{gap:32px}.workspaces{gap:14px}.workflow li{padding-inline:14px}}
@media(max-width:560px){.shell{width:calc(100% - 32px)}.top,.footer{flex-wrap:wrap;gap:10px}.top{padding-block:12px}nav{gap:18px}.workspaces,.workflow{grid-template-columns:1fr}.workflow li,.workflow li:first-child{border-left:0;padding:16px 0}.workflow li+li{border-top:1px solid var(--line)}.workspace{padding:16px}.preview-bar{font-size:.66rem}}
@media(forced-colors:active){.notice,.primary{border:1px solid ButtonText}}

/* Long-form policy on the same product shell. */
.policy{max-width:76ch;padding-block:clamp(36px,7vw,72px)}
.policy h1{font-size:clamp(2.5rem,1.5rem + 4vw,4rem);max-width:none}
.policy .intro,.policy section p{color:var(--muted)}
.policy section{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.policy h2{font-size:1.35rem;letter-spacing:-.02em;text-wrap:initial}
.policy p{overflow-wrap:anywhere}
.policy a{color:var(--mint)}
nav{flex-wrap:wrap}

.demo-slide{margin:0}
.demo .preview-bar{align-items:center;padding:5px 10px 5px 14px}
.demo-frame{display:grid;grid-template: minmax(0,1fr) / minmax(0,1fr);place-items:center;aspect-ratio:16/10;padding:8px;background:#0c141d}
.demo-frame img{width:100%;height:100%;min-height:0;object-fit:contain}
.demo-frame:focus-visible{outline-offset:-4px}
.demo-controls{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:4px;padding:3px 10px;border-top:1px solid var(--line)}
.demo-controls[hidden]{display:none}
.demo-picks{display:flex;justify-content:center}
.demo-controls button,.demo-toggle{min-width:32px;min-height:32px;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--paper);font:inherit;cursor:pointer}
.demo-toggle{border-color:var(--line);line-height:1}
.demo-controls button:hover,.demo-toggle:hover{border-color:var(--mint)}
.demo-picks button{display:grid;place-items:center}
.demo-picks button::before{content:"";width:8px;height:8px;border:1px solid var(--muted);border-radius:50%}
.demo-picks button[aria-pressed=true]::before{background:var(--mint);border-color:var(--mint)}

.privacy-page{padding-block:clamp(34px,6vw,64px)}
.policy-heading{border-bottom:1px solid var(--line);padding-bottom:22px}
.policy-heading h1{max-width:none;font-size:clamp(2.65rem,1.65rem + 4vw,4.2rem)}
.policy-heading .intro,.policy-date{color:var(--muted)}
.policy-date{font:.78rem var(--mono);margin-bottom:0}
.policy-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start;margin-top:28px}
.policy-nav{display:block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}
.policy-nav h2{font-size:1rem;letter-spacing:0}
.policy-nav ul{list-style:none;padding:0;margin:12px 0 0}
.policy-nav a{display:block;padding:4px 0;line-height:1.4;min-height:26px}
.policy-layout .policy{padding:0}
.policy-layout .policy section{scroll-margin-top:20px}
.policy-layout .policy section:first-child{border-top:0;margin-top:0;padding-top:0}
@media(max-width:700px){.policy-layout{grid-template-columns:1fr}}
