@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Mono:wght@400;500&display=swap";:root{--bg:#0a0d12;--surface:#11171e;--plate:#0e131a;--rule:#ffffff1a;--rule-soft:#ffffff0d;--accent:#5b9ce8;--text:#e7eaef;--text-2:#8b95a3;--text-3:#565f6c;--sans:"DM Sans", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;--measure:62ch;--pad:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}#app{min-height:100vh}@media (width<=900px){:root{--pad:24px}}.stage.svelte-1yx0xoq{aspect-ratio:1;border:1px solid var(--rule-soft);background:var(--plate);place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.stage.orbit.svelte-1yx0xoq{cursor:grab}.stage.orbit.svelte-1yx0xoq:active{cursor:grabbing}.stage.svelte-1yx0xoq canvas{display:block}.note.svelte-1yx0xoq{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);pointer-events:none;font-size:.6rem;position:absolute}.site.svelte-1n46o8q{max-width:1240px;padding:0 var(--pad);margin:0 auto}.masthead.svelte-1n46o8q{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:32px;padding:22px 0 20px;display:flex}.wordmark.svelte-1n46o8q{letter-spacing:-.01em;font-size:.94rem;font-weight:700}.masthead.svelte-1n46o8q nav:where(.svelte-1n46o8q){gap:26px;display:flex}.masthead.svelte-1n46o8q nav:where(.svelte-1n46o8q) a:where(.svelte-1n46o8q){color:var(--text-2);font-size:.78rem;transition:color .12s linear}.masthead.svelte-1n46o8q nav:where(.svelte-1n46o8q) a:where(.svelte-1n46o8q):hover{color:var(--text)}.hero.svelte-1n46o8q{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:64px;padding:92px 0 96px;display:grid}.meta.svelte-1n46o8q{font-family:var(--mono);color:var(--text-3);padding-bottom:22px;font-size:.68rem}h1.svelte-1n46o8q{letter-spacing:-.032em;max-width:17ch;margin-bottom:26px;font-size:clamp(2.3rem,4.4vw,3.5rem);font-weight:700;line-height:1.08}.lead.svelte-1n46o8q{color:var(--text-2);max-width:48ch;margin-bottom:34px;font-size:1.02rem;line-height:1.7}.actions.svelte-1n46o8q{flex-wrap:wrap;align-items:center;gap:26px;display:flex}.primary.svelte-1n46o8q{background:var(--accent);color:#07101c;letter-spacing:-.005em;padding:11px 24px;font-size:.85rem;font-weight:700;transition:background .12s linear;display:inline-block}.primary.svelte-1n46o8q:hover{background:#77afee}.secondary.svelte-1n46o8q{color:var(--text-2);border-bottom:1px solid var(--rule);padding-bottom:2px;font-size:.85rem;transition:color .12s linear,border-color .12s linear}.secondary.svelte-1n46o8q:hover{color:var(--text);border-color:var(--text-3)}.spec.svelte-1n46o8q{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:46px;padding-top:20px;display:grid}.spec.svelte-1n46o8q dt:where(.svelte-1n46o8q){font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:5px;font-size:.6rem}.spec.svelte-1n46o8q dd:where(.svelte-1n46o8q){color:var(--text-2);font-size:.82rem}.hero-plate.svelte-1n46o8q{margin:0}.section.svelte-1n46o8q{border-bottom:1px solid var(--rule);padding:86px 0}.sec-head.svelte-1n46o8q{grid-template-columns:88px minmax(0,1fr);gap:0 24px;margin-bottom:52px;display:grid}.sec-n.svelte-1n46o8q{font-family:var(--mono);color:var(--accent);padding-top:9px;font-size:.72rem}h2.svelte-1n46o8q{letter-spacing:-.022em;max-width:24ch;font-size:clamp(1.4rem,2.5vw,1.95rem);font-weight:700;line-height:1.2}.sec-lead.svelte-1n46o8q{color:var(--text-2);max-width:var(--measure);margin-top:14px;font-size:.92rem;line-height:1.72}.sec-lead.svelte-1n46o8q code:where(.svelte-1n46o8q){font-family:var(--mono);color:var(--text);font-size:.86em}.plates.svelte-1n46o8q{gap:28px;display:grid}.plates.four.svelte-1n46o8q{grid-template-columns:repeat(4,minmax(0,1fr))}.plates.second.svelte-1n46o8q{border-top:1px solid var(--rule-soft);margin-top:36px;padding-top:36px}.plates.three.svelte-1n46o8q{grid-template-columns:repeat(3,minmax(0,1fr))}figure.svelte-1n46o8q{margin:0}figure.svelte-1n46o8q img:where(.svelte-1n46o8q){border:1px solid var(--rule-soft);background:var(--plate);width:100%;display:block}.plates.four.svelte-1n46o8q figure:where(.svelte-1n46o8q) img:where(.svelte-1n46o8q){aspect-ratio:1;object-fit:cover}figcaption.svelte-1n46o8q{color:var(--text-2);padding-top:12px;font-size:.78rem;line-height:1.62;display:block}.fig.svelte-1n46o8q{font-family:var(--mono);letter-spacing:.1em;color:var(--text-3);margin-bottom:5px;font-size:.62rem;display:block}figcaption.svelte-1n46o8q b:where(.svelte-1n46o8q){color:var(--text);font-size:.86rem;font-weight:600;display:block}.stat.svelte-1n46o8q{font-family:var(--mono);color:var(--text-3);margin-top:3px;font-size:.66rem;display:block}figcaption.svelte-1n46o8q .body:where(.svelte-1n46o8q){margin-top:8px;display:block}.hero-plate.svelte-1n46o8q figcaption:where(.svelte-1n46o8q){max-width:44ch}.note.svelte-1n46o8q{border-top:1px solid var(--rule);grid-template-columns:88px minmax(0,1fr);gap:0 24px;margin-top:48px;padding-top:22px;display:grid}.note-label.svelte-1n46o8q{font-family:var(--mono);letter-spacing:.1em;color:var(--text-3);font-size:.62rem;line-height:1.9}.note.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--text-2);max-width:76ch;font-size:.82rem;line-height:1.78}.rows.svelte-1n46o8q{flex-direction:column;display:flex}.row.svelte-1n46o8q{border-top:1px solid var(--rule-soft);grid-template-columns:88px minmax(0,1fr);gap:0 24px;padding:26px 0;display:grid}.row.svelte-1n46o8q:first-child{border-top:none;padding-top:0}.row-n.svelte-1n46o8q{font-family:var(--mono);color:var(--text-3);grid-column:1;padding-top:4px;font-size:.72rem}.row-h.svelte-1n46o8q{flex-wrap:wrap;grid-column:2;align-items:baseline;gap:14px;margin-bottom:8px;display:flex}.row.svelte-1n46o8q>p:where(.svelte-1n46o8q){grid-column:2}.row.svelte-1n46o8q h3:where(.svelte-1n46o8q){letter-spacing:-.012em;font-size:1rem;font-weight:700}.row-eng.svelte-1n46o8q{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-size:.62rem}.row.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--text-2);max-width:var(--measure);font-size:.88rem;line-height:1.75}.pair.svelte-1n46o8q{border-top:1px solid var(--rule-soft);grid-template-columns:1fr 1fr;gap:28px;margin-top:34px;padding-top:34px;display:grid}.pair.svelte-1n46o8q:first-of-type{border-top:none;margin-top:0;padding-top:0}.pair.svelte-1n46o8q img:where(.svelte-1n46o8q){aspect-ratio:1;object-fit:cover}.install.svelte-1n46o8q{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.code.svelte-1n46o8q{border:1px solid var(--rule)}.code-head.svelte-1n46o8q{border-bottom:1px solid var(--rule);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;padding:9px 16px;font-size:.62rem;display:flex}.code-head.svelte-1n46o8q button:where(.svelte-1n46o8q){font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:0;transition:color .12s linear}.code-head.svelte-1n46o8q button:where(.svelte-1n46o8q):hover{color:var(--accent)}.code.svelte-1n46o8q pre:where(.svelte-1n46o8q){font-family:var(--mono);color:var(--text-2);white-space:pre;padding:18px 16px;font-size:.73rem;line-height:1.95;overflow-x:auto}table.svelte-1n46o8q{border-collapse:collapse;text-align:left;width:100%}.spec-table.svelte-1n46o8q th:where(.svelte-1n46o8q),.spec-table.svelte-1n46o8q td:where(.svelte-1n46o8q){border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:11px 0}.spec-table.svelte-1n46o8q tr:where(.svelte-1n46o8q):last-child th:where(.svelte-1n46o8q),.spec-table.svelte-1n46o8q tr:where(.svelte-1n46o8q):last-child td:where(.svelte-1n46o8q){border-bottom:none}.spec-table.svelte-1n46o8q th:where(.svelte-1n46o8q){width:92px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding-top:14px;font-size:.6rem;font-weight:400}.spec-table.svelte-1n46o8q td:where(.svelte-1n46o8q){color:var(--text-2);font-size:.84rem}.matrix.svelte-1n46o8q{margin-top:56px}.matrix.svelte-1n46o8q h3:where(.svelte-1n46o8q){letter-spacing:-.012em;margin-bottom:18px;font-size:1rem;font-weight:700}.matrix.svelte-1n46o8q thead:where(.svelte-1n46o8q) th:where(.svelte-1n46o8q){font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--rule);padding:0 16px 10px 0;font-size:.6rem;font-weight:400}.matrix.svelte-1n46o8q tbody:where(.svelte-1n46o8q) th:where(.svelte-1n46o8q),.matrix.svelte-1n46o8q tbody:where(.svelte-1n46o8q) td:where(.svelte-1n46o8q){border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:15px 16px 15px 0;font-weight:400}.matrix.svelte-1n46o8q tbody:where(.svelte-1n46o8q) th:where(.svelte-1n46o8q) b:where(.svelte-1n46o8q){color:var(--text);font-size:.87rem;font-weight:600;display:block}.matrix.svelte-1n46o8q tbody:where(.svelte-1n46o8q) th:where(.svelte-1n46o8q) span:where(.svelte-1n46o8q){color:var(--text-3);margin-top:3px;font-size:.76rem;display:block}.matrix.svelte-1n46o8q tbody:where(.svelte-1n46o8q) td:where(.svelte-1n46o8q){font-family:var(--mono);color:var(--text-2);white-space:nowrap;width:108px;font-size:.72rem}.matrix.svelte-1n46o8q tbody:where(.svelte-1n46o8q) td.off:where(.svelte-1n46o8q){color:var(--text-3)}.matrix-note.svelte-1n46o8q{color:var(--text-3);max-width:72ch;margin-top:18px;font-size:.8rem;line-height:1.72}.road.svelte-1n46o8q th:where(.svelte-1n46o8q),.road.svelte-1n46o8q td:where(.svelte-1n46o8q){border-bottom:1px solid var(--rule-soft);vertical-align:baseline;padding:13px 16px 13px 0}.road.svelte-1n46o8q tr:where(.svelte-1n46o8q):last-child th:where(.svelte-1n46o8q),.road.svelte-1n46o8q tr:where(.svelte-1n46o8q):last-child td:where(.svelte-1n46o8q){border-bottom:none}.road.svelte-1n46o8q th:where(.svelte-1n46o8q){width:108px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-size:.62rem;font-weight:400}.road.svelte-1n46o8q td:where(.svelte-1n46o8q){color:var(--text-2);font-size:.88rem}.road.svelte-1n46o8q tr.done:where(.svelte-1n46o8q) th:where(.svelte-1n46o8q){color:var(--text-2)}.road.svelte-1n46o8q tr.done:where(.svelte-1n46o8q) td:where(.svelte-1n46o8q){color:var(--text)}.road.svelte-1n46o8q tr.far:where(.svelte-1n46o8q) td:where(.svelte-1n46o8q){color:var(--text-3)}footer.svelte-1n46o8q{padding:92px 0 0}.foot-main.svelte-1n46o8q{max-width:46ch;padding-bottom:84px}.foot-main.svelte-1n46o8q h2:where(.svelte-1n46o8q){margin-bottom:12px}.foot-main.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--text-2);margin-bottom:28px;font-size:.92rem}.colophon.svelte-1n46o8q{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--text-3);flex-wrap:wrap;align-items:baseline;gap:28px;padding:22px 0 40px;font-size:.62rem;display:flex}.colophon.svelte-1n46o8q a:where(.svelte-1n46o8q){color:var(--text-2);transition:color .12s linear}.colophon.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{color:var(--text)}.rights.svelte-1n46o8q{text-align:right;max-width:56ch;margin-left:auto;line-height:1.8}@media (width<=1080px){.plates.four.svelte-1n46o8q{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.hero.svelte-1n46o8q{grid-template-columns:1fr;gap:44px;padding:56px 0 64px}.section.svelte-1n46o8q{padding:60px 0}.sec-head.svelte-1n46o8q,.note.svelte-1n46o8q,.row.svelte-1n46o8q{grid-template-columns:56px minmax(0,1fr);gap:0 16px}.plates.three.svelte-1n46o8q{grid-template-columns:1fr}.install.svelte-1n46o8q{grid-template-columns:1fr;gap:32px}.pair.svelte-1n46o8q{grid-template-columns:1fr}.masthead.svelte-1n46o8q nav:where(.svelte-1n46o8q){gap:16px}.masthead.svelte-1n46o8q nav:where(.svelte-1n46o8q) a:where(.svelte-1n46o8q):not(:last-child){display:none}.rights.svelte-1n46o8q{text-align:left;margin-left:0}}@media (width<=560px){.plates.four.svelte-1n46o8q{grid-template-columns:1fr}.spec.svelte-1n46o8q{grid-template-columns:1fr 1fr;gap:18px}}
