@font-face{font-family:spaceGrotesk;src:url(../media/SpaceGrotesk_latin_wght-s.p.092gko6h6levo.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:spaceGrotesk Fallback;src:local(Arial);ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.0%;size-adjust:110.84%}.JE2NMW_className{font-family:spaceGrotesk,spaceGrotesk Fallback}.JE2NMW_variable{--font-space-grotesk:"spaceGrotesk", "spaceGrotesk Fallback"}
@font-face{font-family:inter;src:url(../media/Inter_latin_wght-s.p.0gsaq8ukbf34m.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.m4EerG_className{font-family:inter,inter Fallback}.m4EerG_variable{--font-inter:"inter", "inter Fallback"}
@font-face{font-family:jetbrains;src:url(../media/JetBrainsMono_latin_wght-s.2rmhnsrc80fag.woff2)format("woff2");font-display:swap;font-weight:100 800}@font-face{font-family:jetbrains Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}._3KE2a_className{font-family:jetbrains,jetbrains Fallback}._3KE2a_variable{--font-jetbrains:"jetbrains", "jetbrains Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#060709;--bg-app:#0e0f13;--surface-1:#14161c;--surface-2:#1b1e26;--surface-3:#242833;--line-subtle:#2a2e39;--line-control:#646b7d;--ink:#eceef3;--ink-muted:#a3a9b7;--ink-faint:#8a91a1;--ember:#ff8a3d;--on-ember:#14161c;--ember-text:#ffa366;--ember-soft:#ff8a3d24;--pass:#3dd68c;--fail:#ff6b6b;--run:#5b9bff;--wait:#e8b84a;--pass-soft:#3dd68c24;--fail-soft:#ff6b6b24;--run-soft:#5b9bff24;--wait-soft:#e8b84a24;--focus:#5b9bff;--r-tag:4px;--r-control:6px;--r-card:10px;--r-tile:16px;--r-frame:26px;--r-pill:999px;--max:1200px;--gutter:64px;--section:96px;--t-hover:.12s;--t-panel:.16s;--ease:cubic-bezier(.2, 0, 0, 1);--font-display:var(--font-space-grotesk), "Space Grotesk", system-ui, sans-serif;--font-body:var(--font-inter), "Inter", system-ui, sans-serif;--font-mono:var(--font-jetbrains), "JetBrains Mono", ui-monospace, monospace}@media (max-width:900px){:root{--gutter:32px;--section:72px}}@media (max-width:560px){:root{--gutter:16px;--section:64px}}*,:before,:after{box-sizing:border-box}html{background:var(--ground);-webkit-text-size-adjust:100%;scroll-padding-top:88px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:28px;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:var(--ember-text);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}::selection{background:var(--ember);color:var(--on-ember)}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}code,kbd,.mono{font-family:var(--font-mono);font-variant-ligatures:none}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--surface-2);color:var(--ink);border-radius:var(--r-control);padding:8px 16px;position:absolute;top:-64px;left:16px}.skip:focus{top:16px}.display-hero,.display-1,.display-2,.display-3{font-family:var(--font-display);color:var(--ink);text-wrap:balance;font-weight:600}.display-hero{letter-spacing:-1.5px;font-size:64px;line-height:68px}.display-1{letter-spacing:-1px;font-size:44px;line-height:50px}.display-2{letter-spacing:-.5px;font-size:28px;line-height:34px}.display-3{letter-spacing:-.3px;font-size:20px;line-height:26px}.lead{color:var(--ink-muted);text-wrap:pretty;font-size:20px;line-height:30px}.body{color:var(--ink-muted);text-wrap:pretty}.small{color:var(--ink-faint);font-size:14px;line-height:20px}@media (max-width:900px){.display-hero{letter-spacing:-1.2px;font-size:48px;line-height:52px}.display-1{letter-spacing:-.8px;font-size:36px;line-height:42px}}@media (max-width:560px){.display-hero{letter-spacing:-1px;font-size:38px;line-height:42px}.display-1{letter-spacing:-.6px;font-size:30px;line-height:36px}.display-2{font-size:24px;line-height:30px}.lead{font-size:18px;line-height:28px}body{font-size:16px;line-height:26px}}.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.section-head{gap:16px;max-width:760px;margin-bottom:48px;display:grid}.section-head .lead{max-width:640px}.rule{border:0;border-top:1px solid var(--line-subtle);margin:0}.btn{border-radius:var(--r-control);height:48px;font-family:var(--font-body);white-space:nowrap;cursor:pointer;transition:background-color var(--t-hover) var(--ease), border-color var(--t-hover) var(--ease), color var(--t-hover) var(--ease), transform var(--t-hover) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:600;line-height:1;display:inline-flex}.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ember);color:var(--on-ember)}.btn-primary:hover{background:#ff9a55}.btn-secondary{color:var(--ink);border-color:var(--line-control);background:0 0}.btn-secondary:hover{background:var(--surface-2);border-color:#7d8496}.btn-quiet{background:var(--surface-2);height:36px;color:var(--ink);border-color:var(--line-subtle);padding:0 14px;font-size:14px}.btn-quiet:hover{background:var(--surface-3)}.btn svg{flex:none}.pill{border-radius:var(--r-pill);white-space:nowrap;font-variant-numeric:tabular-nums;height:24px;transition:background-color var(--t-panel) var(--ease), color var(--t-panel) var(--ease);align-items:center;gap:6px;padding:0 10px 0 8px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.pill svg{flex:none;width:12px;height:12px}.pill-pass{background:var(--pass-soft);color:var(--pass)}.pill-fail{background:var(--fail-soft);color:var(--fail)}.pill-run{background:var(--run-soft);color:var(--run)}.pill-wait{background:var(--wait-soft);color:var(--wait)}.pill-idle{background:var(--surface-2);color:var(--ink-faint)}.arc{transform-origin:50%}@media (prefers-reduced-motion:no-preference){.arc{animation:1.2s linear infinite spin}}@keyframes spin{to{transform:rotate(360deg)}}.header{z-index:50;-webkit-backdrop-filter:saturate(140%)blur(14px);transition:border-color var(--t-panel) var(--ease);background:#060709eb;border-bottom:1px solid #2a2e3999;position:sticky;top:0}.header-inner{align-items:center;gap:32px;height:68px;display:flex}.brand{color:var(--ink);font-family:var(--font-display);letter-spacing:-.5px;align-items:center;gap:10px;font-size:21px;font-weight:600;display:inline-flex}.brand:hover{text-decoration:none}.brand svg{width:28px;height:28px}.nav{gap:4px;margin-right:auto;display:flex}.nav a{color:var(--ink-muted);border-radius:var(--r-control);transition:color var(--t-hover) var(--ease), background-color var(--t-hover) var(--ease);padding:6px 12px;font-size:15px}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);background:var(--surface-1);text-decoration:none}.menu{margin-left:auto;display:none;position:relative}.menu summary{border-radius:var(--r-control);border:1px solid var(--line-subtle);cursor:pointer;width:44px;height:44px;color:var(--ink);place-items:center;list-style:none;display:grid}.menu summary::-webkit-details-marker{display:none}.menu-panel{background:var(--surface-1);border:1px solid var(--line-subtle);border-radius:var(--r-card);gap:2px;width:min(280px,100vw - 32px);padding:8px;display:grid;position:absolute;top:52px;right:0;box-shadow:0 24px 48px #00000080}.menu-panel a{color:var(--ink);border-radius:var(--r-control);padding:10px 12px}.menu-panel a:hover{background:var(--surface-2);text-decoration:none}@media (max-width:860px){.nav,.header-cta{display:none}.menu{display:block}}.hero{isolation:isolate;padding-top:88px;padding-bottom:32px;position:relative;overflow-x:clip}.hero-copy{z-index:2;gap:24px;max-width:940px;display:grid;position:relative}.hero-copy .lead{max-width:600px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.hero-note{color:var(--ink-faint);font-size:14px}.hero-gyre{z-index:0;pointer-events:none;color:#1d2029;width:640px;height:640px;position:absolute;top:-40px;right:calc(50% - 720px)}.hero-gyre .g-outer,.hero-gyre .g-inner{stroke-dasharray:1;stroke-dashoffset:0}@media (prefers-reduced-motion:no-preference){.hero-gyre .g-outer{animation:draw 1.6s var(--ease) .1s both}.hero-gyre .g-inner{animation:draw 1.4s var(--ease) .4s both}.hero-gyre .g-dot{animation:dot-in .6s var(--ease) 1.2s both}.hero-copy>*{animation:rise .6s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.22s}}@keyframes draw{0%{stroke-dashoffset:1px}}@keyframes dot-in{0%{opacity:0;transform:scale(.2)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (max-width:900px){.hero{padding-top:56px}.hero-gyre{width:420px;height:420px;top:-170px;right:-200px}}.stage-wrap{perspective:1600px;margin-top:64px}.frame{border-radius:var(--r-frame);border:1px solid var(--line-subtle);background:var(--surface-1);padding:10px;position:relative;box-shadow:0 0 0 1px #0009,0 40px 120px -40px #000000e6}.frame-inner{background:var(--bg-app);border-radius:17px;position:relative;overflow:hidden}.frame-inner img{width:100%;height:auto}.frame-hero{transform-origin:50% 0}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.frame-hero{animation:linear both tilt-in;animation-timeline:view();animation-range:entry cover 45%}.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 60%}}}@keyframes tilt-in{0%{opacity:.6;transform:rotateX(14deg)scale(.94)}to{opacity:1;transform:none}}@keyframes reveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.shot-missing{aspect-ratio:16/10;color:var(--ink-faint);background-color:var(--bg-app);background-image:linear-gradient(var(--surface-1) 1px, transparent 1px), linear-gradient(90deg, var(--surface-1) 1px, transparent 1px);background-position:-1px -1px;background-size:32px 32px;align-content:center;place-items:center;gap:12px;font-size:14px;display:grid}.shot-missing svg{opacity:.7;width:48px;height:48px}.loop{position:relative}.change-bar{border:1px solid var(--line-subtle);border-radius:var(--r-tile) var(--r-tile) 0 0;background:var(--surface-1);border-bottom:0;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 20px;display:flex}.change-title{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.change-branch{font-family:var(--font-mono);color:var(--ink);font-size:14px}.change-meta{font-family:var(--font-mono);color:var(--ink-faint);font-size:13px}.change-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.rail{border:1px solid var(--line-subtle);border-radius:0 0 var(--r-tile) var(--r-tile);background:var(--bg-app);position:relative;overflow:hidden}.rail-list{grid-template-columns:repeat(11,minmax(0,1fr));display:grid;position:relative}.rail-track{z-index:1;background:var(--line-subtle);height:2px;position:absolute;top:54px;left:0;right:0}.rail-fill{background:var(--ember);transform-origin:0;transform:scaleX(max(0, calc((var(--k,11) - 1 + .18) / 11)));transition:transform .4s var(--ease);position:absolute;inset:0}.step{border-left:1px solid var(--line-subtle);min-width:0;transition:background-color var(--t-panel) var(--ease);align-content:start;gap:10px;padding:20px 12px 24px;display:grid;position:relative}.step:first-child{border-left:0}.step[data-group-active=true]{background:#ffffff06}.step-num{font-family:var(--font-mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12px;line-height:16px}.node{z-index:2;background:var(--bg-app);border:2px solid var(--line-control);width:14px;height:14px;transition:background-color var(--t-panel) var(--ease), border-color var(--t-panel) var(--ease), box-shadow var(--t-panel) var(--ease);border-radius:50%;margin:2px 0 4px;position:relative}.step[data-state=run] .node{border-color:var(--ember);box-shadow:0 0 0 6px var(--ember-soft)}.step[data-state=pass] .node{background:var(--ember);border-color:var(--ember)}.step[data-state=fail] .node{background:var(--fail);border-color:var(--fail)}.step-name{color:var(--ink);min-height:40px;font-size:14px;font-weight:600;line-height:20px}.step-providers{color:var(--ink-faint);font-size:12px;line-height:17px}.step .pill{justify-self:start;max-width:100%;padding:0 8px 0 7px;font-size:12px;overflow:hidden}.loop-explain{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px;display:grid}.loop-explain h3{margin-bottom:8px}@media (max-width:1100px){.rail-list{grid-template-columns:minmax(0,1fr)}.rail-track{width:2px;height:auto;inset:0 auto 0 34px}.rail-fill{transform-origin:50% 0;transform:scaleY(max(0, calc((var(--k,11) - .5) / 11)))}.step{border-left:0;border-top:1px solid var(--line-subtle);grid-template-columns:28px 24px minmax(0,1fr) auto;grid-template-areas:"num node name pill"". .prov prov";align-items:center;gap:2px 12px;padding:14px 20px 14px 14px}.step:first-child{border-top:0}.step-num{text-align:right;grid-area:num}.node{grid-area:node;margin:0}.step-name{grid-area:name;min-height:0}.step-providers{grid-area:prov}.step .pill{grid-area:pill;justify-self:end}.loop-explain{grid-template-columns:minmax(0,1fr);gap:24px}}@media (max-width:400px){.change-bar{padding:14px}.step{grid-template-columns:20px 16px minmax(0,1fr) auto;gap:2px 10px;padding:12px 12px 12px 8px}.rail-track{left:41px}}.explorer{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:48px;margin-top:48px;display:grid}.tabs{gap:4px;display:grid}.tab{text-align:left;border-radius:var(--r-card);width:100%;color:var(--ink-muted);font:inherit;cursor:pointer;transition:background-color var(--t-hover) var(--ease), border-color var(--t-hover) var(--ease);background:0 0;border:1px solid #0000;gap:4px;padding:16px 18px;display:grid}.tab:hover{background:var(--surface-1)}.tab[aria-selected=true]{background:var(--surface-1);border-color:var(--line-subtle);color:var(--ink)}.tab-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tab-title{font-family:var(--font-display);letter-spacing:-.3px;color:inherit;font-size:20px;font-weight:600;line-height:26px}.tab-stages{font-family:var(--font-mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12px}.tab-body{color:var(--ink-muted);font-size:15px;line-height:24px;display:none}.tab[aria-selected=true] .tab-body{display:block}.tab-bar{background:var(--surface-3);border-radius:2px;height:2px;margin-top:8px;display:none;overflow:hidden}.tab[aria-selected=true] .tab-bar{display:block}.tab-bar span{background:var(--ember);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.tab-bar[data-auto=true] span{animation:7s linear both tab-progress}@keyframes tab-progress{to{transform:scaleX(1)}}.panel-shot .frame-inner{aspect-ratio:16/10}.panel-shot .frame-inner img{object-fit:cover;object-position:0 0;height:100%}@media (prefers-reduced-motion:no-preference){.panel-shot[data-fresh=true] .frame-inner>*{animation:fade-in .2s var(--ease) both}}@keyframes fade-in{0%{opacity:0}}.panel-caption{color:var(--ink-muted);margin-bottom:16px;display:none}@media (max-width:960px){.explorer{grid-template-columns:minmax(0,1fr);gap:24px}.tabs{scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.tab{padding:10px 14px}.tab-body,.tab[aria-selected=true] .tab-body,.tab-stages,.tab-bar,.tab[aria-selected=true] .tab-bar{display:none}.tab-title{font-size:16px;line-height:22px}.panel-caption{display:block}}.features{gap:120px;display:grid}.feature{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:64px;display:grid}.feature:nth-child(2n){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.feature:nth-child(2n) .feature-copy{order:2}.feature-copy{gap:16px;max-width:460px;display:grid}.feature-points{gap:10px;margin-top:8px;display:grid}.feature-points li{color:var(--ink-muted);grid-template-columns:16px 1fr;gap:12px;font-size:15px;line-height:22px;display:grid}.body code,.feature-points code,.team-list code{white-space:nowrap;border-radius:var(--r-tag);background:var(--surface-2);color:var(--ink);padding:1px 6px;font-size:.88em}.feature-points svg{color:var(--ember-text);margin-top:3px}.crop{border-radius:var(--r-tile);border:1px solid var(--line-subtle);background:var(--surface-1);overflow:hidden}.crop>img,.crop>.shot-missing{width:100%;height:auto}.crop-window{width:100%;position:relative;overflow:hidden}.crop-window img{max-width:none;width:calc(100% / var(--cw));height:calc(100% / var(--ch));left:calc(-100% * var(--cx) / var(--cw));top:calc(-100% * var(--cy) / var(--ch));position:absolute}.crop[data-portrait=true]{background:var(--surface-1);place-items:center;padding:40px 24px 0;display:grid}.crop[data-portrait=true] .crop-window{border-radius:var(--r-card) var(--r-card) 0 0;border:1px solid var(--line-subtle);border-bottom:0;width:min(100%,380px);box-shadow:0 30px 80px -20px #000c}@media (max-width:900px){.features{gap:72px}.feature,.feature:nth-child(2n){grid-template-columns:minmax(0,1fr);gap:32px}.feature:nth-child(2n) .feature-copy{order:0}}.term{border-radius:var(--r-tile);border:1px solid var(--line-subtle);background:var(--bg-app);font-family:var(--font-mono);margin:0;font-size:13px;line-height:22px;overflow:hidden}.term-head{border-bottom:1px solid var(--line-subtle);background:var(--surface-1);color:var(--ink-faint);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.term-body{color:var(--ink-muted);padding:16px;overflow-x:auto}.term-body .k{color:#ff9f5a}.term-body .s{color:#9fd98a}.term-body .f{color:#7cb7ff}.term-body .c{color:var(--ink-faint)}.term-body .i{color:var(--ink)}.term-gap{margin-top:14px}.dora-wrap{margin-top:64px}.team-shot{margin-top:32px}.section-head.flush{align-content:start;margin-bottom:0}.tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;display:grid}.tool{border-radius:var(--r-control);background:var(--surface-1);border:1px solid var(--line-subtle);color:var(--ink);align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.tool code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-dot{background:var(--pass);border-radius:50%;flex:none;width:6px;height:6px}@media (max-width:520px){.term-body{padding:14px 12px;font-size:12px}.tool{gap:8px;padding:8px 10px}}.providers{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.provider{border-radius:var(--r-tile);background:var(--surface-1);min-height:132px;transition:border-color var(--t-hover) var(--ease);border:1px solid #0000;align-content:space-between;gap:20px;padding:22px 22px 18px;display:grid}.provider:hover{border-color:var(--line-subtle)}.provider-name{font-family:var(--font-display);letter-spacing:-.4px;color:var(--ink-muted);font-size:22px;font-weight:600;line-height:28px}.provider-role{color:var(--ink-faint);font-size:13px;line-height:18px}.planned{color:var(--ink-faint);margin-top:24px;font-size:15px}@media (max-width:960px){.providers{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.providers{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.provider{min-height:104px;padding:16px}.provider-name{font-size:18px;line-height:24px}}.teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.team-card{border-radius:var(--r-tile);background:var(--surface-1);border:1px solid var(--line-subtle);align-content:start;gap:16px;padding:32px;display:grid}.team-card .term{margin-top:8px}.team-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:48px;display:grid}.team-list h3{margin-bottom:6px;font-size:16px;font-weight:600;line-height:24px}.team-list p{color:var(--ink-muted);font-size:15px;line-height:24px}@media (max-width:900px){.teams{grid-template-columns:minmax(0,1fr)}.team-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.team-card{padding:22px}.team-list{grid-template-columns:minmax(0,1fr);gap:24px}}.dora{border-radius:var(--r-tile);border:1px solid var(--line-subtle);background:var(--surface-1);overflow:hidden}.dora-head{border-bottom:1px solid var(--line-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.dora-head-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dora-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric{border-left:1px solid var(--line-subtle);gap:6px;min-width:0;padding:24px;display:grid}.metric:first-child{border-left:0}.metric-label{color:var(--ink-muted);font-size:14px;line-height:20px}.metric-value{font-family:var(--font-display);letter-spacing:-1px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:44px}.metric-value small{font-family:var(--font-body);letter-spacing:0;color:var(--ink-faint);margin-left:6px;font-size:15px;font-weight:500}.metric-delta[data-better=false]{color:var(--ink-faint)}.metric-delta{color:var(--pass);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:13px;display:inline-flex}.spark{width:100%;height:40px;margin-top:8px;overflow:visible}.spark path{fill:none;stroke:var(--ember);stroke-width:1.5px;vector-effect:non-scaling-stroke;transition:d .6s var(--ease)}.spark .spark-area{fill:var(--ember-soft);stroke:none}@media (max-width:900px){.dora-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(3){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--line-subtle)}}@media (max-width:420px){.metric{padding:18px 16px}.metric-value{font-size:30px;line-height:36px}}.privacy{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;display:grid}.privacy-points{gap:0;display:grid}.privacy-points li{border-top:1px solid var(--line-subtle);grid-template-columns:24px 1fr;gap:16px;padding:20px 0;display:grid}.privacy-points li:last-child{border-bottom:1px solid var(--line-subtle)}.privacy-points svg{color:var(--ember-text);margin-top:4px}.privacy-points h3{font-size:17px;font-weight:600;line-height:26px}.privacy-points p{color:var(--ink-muted);font-size:15px;line-height:24px}@media (max-width:900px){.privacy{grid-template-columns:minmax(0,1fr);gap:32px}}.plans{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.plan{border-radius:var(--r-tile);background:var(--surface-1);border:1px solid var(--line-subtle);grid-template-rows:auto auto auto auto 1fr auto;gap:16px;padding:28px 24px;display:grid;position:relative}.plan[data-recommended=true]{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember) inset}.plan-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-badge{border-radius:var(--r-pill);background:var(--ember-soft);height:24px;color:var(--ember-text);align-items:center;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.plan-price{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.plan-price strong{font-family:var(--font-display);letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:50px}.plan-price span{color:var(--ink-faint);font-size:15px}.plan-features{border-top:1px solid var(--line-subtle);align-content:start;gap:10px;padding-top:16px;display:grid}.plan-features li{color:var(--ink-muted);grid-template-columns:16px 1fr;gap:10px;font-size:15px;line-height:22px;display:grid}.plan-features svg{color:var(--pass);margin-top:3px}.plan .btn{width:100%}.plan-includes{color:var(--ink);font-size:14px;font-weight:500}.soon{border-radius:var(--r-pill);background:var(--surface-3);height:20px;color:var(--ink-muted);vertical-align:1px;white-space:nowrap;align-items:center;margin-left:8px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.billing-toggle{border:1px solid var(--line-subtle);border-radius:var(--r-pill);background:var(--surface-1);gap:4px;margin:0 0 24px;padding:4px;display:inline-flex}.billing-toggle label{border-radius:var(--r-pill);height:36px;color:var(--ink-muted);cursor:pointer;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:500;transition:background-color .12s,color .12s;display:inline-flex;position:relative}.billing-toggle label[data-active=true]{background:var(--surface-3);color:var(--ink)}.billing-toggle input{opacity:0;pointer-events:none;position:absolute}.billing-toggle label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.billing-toggle .save{color:var(--ember-text);font-size:13px}.plan-addon{border-radius:var(--r-tile);border:1px dashed var(--line-control);background:var(--surface-1);margin-top:16px;padding:24px}.plan-addon .body{color:var(--ink-muted);margin-top:8px}.billing-rules{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 24px;margin-top:24px;display:grid}.billing-rules li{color:var(--ink-muted);grid-template-columns:16px 1fr;gap:10px;font-size:15px;line-height:22px;display:grid}.billing-rules svg{color:var(--pass);margin-top:3px}.pricing-note{color:var(--ink-faint);margin-top:24px;font-size:14px}@media (max-width:1180px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.plans{grid-template-columns:minmax(0,1fr);max-width:520px}}@media (max-width:560px){.plan{padding:24px}}.cta{text-align:center;border-radius:var(--r-frame);border:1px solid var(--line-subtle);background:var(--bg-app);isolation:isolate;justify-items:center;gap:24px;padding:96px 32px;display:grid;position:relative;overflow:hidden}.cta-mark{width:72px;height:72px}@media (prefers-reduced-motion:no-preference){.cta-mark .ring-outer{transform-origin:60px 60px;animation:24s linear infinite spin}.cta-mark .ring-inner{transform-origin:60px 60px;animation:16s linear infinite reverse spin}}.cta .lead{max-width:560px}.cta-others{color:var(--ink-faint);font-size:14px}@media (max-width:560px){.cta{border-radius:var(--r-tile);padding:64px 20px}}.page-head{gap:20px;max-width:800px;padding-top:88px;padding-bottom:56px;display:grid}@media (max-width:560px){.page-head{padding-top:48px;padding-bottom:40px}}.prose{max-width:720px;color:var(--ink-muted);gap:16px;display:grid}.prose h2{color:var(--ink);margin-top:32px}.prose strong{color:var(--ink);font-weight:600}.prose code{border-radius:var(--r-tag);background:var(--surface-2);color:var(--ink);padding:1px 6px;font-size:.88em}.prose ul{gap:8px;display:grid}.prose li{padding-left:20px;position:relative}.prose li:before{content:"";background:var(--line-control);border-radius:50%;width:6px;height:6px;position:absolute;top:12px;left:2px}.split{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:64px;display:grid}.toc{gap:2px;display:grid;position:sticky;top:100px}.toc a{color:var(--ink-faint);padding:6px 0;font-size:14px}.toc a:hover{color:var(--ink);text-decoration:none}@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr);gap:32px}.toc{display:none}}.log{display:grid}.log-entry{border-top:1px solid var(--line-subtle);grid-template-columns:200px minmax(0,1fr);gap:48px;padding:48px 0;display:grid}.log-meta{align-content:start;gap:6px;display:grid}.log-date{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px}.log-body{gap:16px;max-width:720px;display:grid}.log-body ul{gap:10px;display:grid}.log-body li{color:var(--ink-muted);grid-template-columns:16px 1fr;gap:12px;font-size:16px;line-height:26px;display:grid}.log-body li svg{color:var(--pass);margin-top:5px}@media (max-width:760px){.log-entry{grid-template-columns:minmax(0,1fr);gap:16px;padding:36px 0}.log-meta{align-items:baseline;gap:12px;display:flex}}.platforms{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.platform{border-radius:var(--r-tile);background:var(--surface-1);border:1px solid var(--line-subtle);grid-template-rows:auto auto 1fr;gap:16px;padding:28px;scroll-margin-top:100px;display:grid}.platform[data-current=true]{border-color:var(--line-control)}.platform-files{align-content:end;gap:8px;display:grid}.file-link{border-radius:var(--r-control);border:1px solid var(--line-subtle);min-height:48px;color:var(--ink);transition:background-color var(--t-hover) var(--ease), border-color var(--t-hover) var(--ease);justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-size:15px;display:flex}.file-link:hover{background:var(--surface-2);border-color:var(--line-control);text-decoration:none}.file-link span:last-child{color:var(--ink-faint);font-family:var(--font-mono);font-size:13px}.file-link[data-primary=true]{background:var(--ember);color:var(--on-ember);border-color:var(--ember);font-weight:600}.file-link[data-primary=true] span:last-child{color:var(--on-ember)}.file-link[data-primary=true]:hover{background:#ff9a55}.steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.steps li{border-top:1px solid var(--line-subtle);align-content:start;gap:8px;padding-top:20px;display:grid}.steps .step-n{font-family:var(--font-mono);color:var(--ember-text);font-size:13px}.steps p{color:var(--ink-muted);font-size:15px;line-height:24px}@media (max-width:900px){.platforms,.steps{grid-template-columns:minmax(0,1fr)}}.doc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.doc-card{border-radius:var(--r-tile);background:var(--surface-1);border:1px solid var(--line-subtle);color:var(--ink);align-content:start;gap:10px;padding:28px;display:grid}a.doc-card:hover{border-color:var(--line-control);text-decoration:none}.doc-card p{color:var(--ink-muted);font-size:15px;line-height:24px}.doc-card .pill{justify-self:start;margin-top:6px}@media (max-width:900px){.doc-grid{grid-template-columns:minmax(0,1fr)}}.faq{max-width:800px;display:grid}.faq details{border-top:1px solid var(--line-subtle)}.faq details:last-child{border-bottom:1px solid var(--line-subtle)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:17px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{color:var(--ink-faint);transition:transform var(--t-panel) var(--ease);flex:none}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{color:var(--ink-muted);max-width:680px;padding-bottom:20px}.footer{margin-top:var(--section);border-top:1px solid var(--line-subtle);padding-block:56px 40px}.footer-grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:32px;display:grid}.footer h2{color:var(--ink);margin-bottom:12px;font-size:14px;font-weight:600;line-height:20px}.footer ul{gap:8px;display:grid}.footer a{color:var(--ink-muted);font-size:15px}.footer a:hover,.footer .brand{color:var(--ink)}.footer-note{max-width:320px;color:var(--ink-faint);margin-top:12px;font-size:14px;line-height:22px}.footer-base{border-top:1px solid var(--line-subtle);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:24px;font-size:13px;display:flex}@media (max-width:760px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>:first-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-gap]{margin-bottom:32px}
