.qapi{--tangelo:#f25c14;--tangelo-2:#F15A24;--tangelo-600:#e23d14;--ink:#2a2a2a;--ink-2:#232325;--ink-card:#1b1b1d;--ink-line:#3a3a40;--t-hi:#ffffff;--t-body:rgba(255,255,255,.74);--t-mute:rgba(255,255,255,.6);--green:#2bbb6e;--sky:#65b6cb;--citron:#f0c419;--ease:cubic-bezier(.2,.7,.2,1);--d1:.15s;--d2:.25s;--d3:.4s;--sans:var(--font-body,"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);--display:var(--font-display,"Poppins",sans-serif);--mono:"SFMono-Regular",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;font-family:var(--sans);color:var(--t-hi);-webkit-font-smoothing:antialiased;line-height:1.55;background-color:var(--ink);background-image:radial-gradient(circle,rgba(255,255,255,.056) 1px,transparent 1.4px),radial-gradient(ellipse 1000px 560px at 50% 300px,rgba(242,92,20,.07),transparent 70%);background-size:40px 40px,100% 1400px;background-repeat:repeat,no-repeat;overflow-x:hidden}.qapi *,.qapi *:before,.qapi *:after{box-sizing:border-box}.qapi :is(h1,h2,h3,p,ul,ol,li,figure,pre){margin:0;padding:0}.qapi ul{list-style:none}.qapi a{color:inherit;text-decoration:none}.qapi :is(h1,h2,h3){font-family:var(--display);font-weight:600;letter-spacing:-.02em;color:var(--t-hi)}.qapi code{font-family:var(--mono);font-size:.92em}.qapi .wrap{max-width:1180px;margin:0 auto;padding:0 16px}@media (min-width:640px){.qapi .wrap{padding:0 24px}}.qapi .eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tangelo)}.qapi .sec{padding:80px 0}@media (min-width:900px){.qapi .sec{padding:104px 0}}.qapi .sec.alt{background:var(--ink-2)}.qapi .sec.line{border-top:1px solid rgba(255,255,255,.06)}.qapi .sec-head{text-align:center;max-width:820px;margin:0 auto 48px}.qapi .sec-head h2{font-size:clamp(28px,4vw,46px);line-height:1.12;margin-top:12px}.qapi .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font-weight:600;font-size:16px;padding:12px 26px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background-color var(--d1) ease,border-color var(--d1) ease}.qapi .btn-primary{background:var(--tangelo);color:#fff}.qapi .btn-primary:hover{background:var(--tangelo-600)}.qapi .btn-ghost{background:transparent;color:#fff;border-color:#ffffff59}.qapi .btn-ghost:hover{border-color:#fff}.qapi .btn:focus-visible,.qapi a:focus-visible,.qapi summary:focus-visible{outline:2px solid var(--tangelo);outline-offset:3px}.qapi .text-link{display:inline-flex;align-items:center;gap:6px;margin-top:22px;color:var(--tangelo);font-weight:600;font-size:15px;transition:color var(--d1) ease}.qapi .text-link:hover{color:#ff8a52;text-decoration:underline}.qapi .reveal{opacity:0;transform:translateY(18px);transition:opacity var(--d3) var(--ease),transform var(--d3) var(--ease)}.qapi .reveal.in{opacity:1;transform:none}.qapi .hero{padding:56px 0 72px}@media (min-width:960px){.qapi .hero{padding:88px 0 96px}}.qapi .hero-grid{display:grid;gap:44px;align-items:center}.qapi .hero-grid>*,.qapi .feat>*,.qapi .vid-grid>*{min-width:0}@media (min-width:960px){.qapi .hero-grid{grid-template-columns:1fr 1fr;gap:56px}}.qapi .hero h1{margin-top:16px;font-size:clamp(30px,4.2vw,50px);line-height:1.1}.qapi .hero h1 .h-line{display:block;margin-top:14px;color:var(--tangelo);font-size:.72em;line-height:1.18}.qapi .hero .sub{margin-top:22px;color:var(--t-body);font-size:clamp(16px,1.5vw,19px);max-width:600px}.qapi .hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}.qapi .hero-cta .text-link{margin-top:0;margin-left:6px}.qapi .mock-stage{position:relative}.qapi .glow{position:absolute;inset:-40px;border-radius:40px;background:radial-gradient(closest-side,#f25c1438,#f25c1400 72%);pointer-events:none}.qapi .mock{position:relative;background:#141416;border:1px solid #2c2c32;border-radius:18px;box-shadow:0 30px 70px #00000073;overflow:hidden;text-align:left;font-size:14px}.qapi .mock-bar{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid #242429;background:#111113;min-width:0}.qapi .mock-bar .dot{width:10px;height:10px;border-radius:50%;flex:none;background:#3a3a40}.qapi .mock-bar .ttl{margin-left:4px;font-size:12.5px;font-weight:600;color:var(--t-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qapi .mock-body{padding:16px;transition:opacity var(--d3) ease}@media (min-width:520px){.qapi .mock-body{padding:20px}}.qapi [data-mock].fade .mock-body{opacity:0}.qapi .mock-cap{margin-top:14px;text-align:center;font-size:13px;color:var(--t-mute)}.qapi .code{font-family:var(--mono);font-size:12.5px;line-height:1.7;color:#d8dade;white-space:pre;overflow-x:auto;background:#0e0e10;border:1px solid #26262c;border-radius:12px;padding:14px 16px}.qapi .code .ln{display:block}.qapi .code .kw{color:#ff9d6e}.qapi .code .fn{color:var(--sky)}.qapi .code .s{color:#b6e3a8}.qapi .code .c{color:#9aa0a8}.qapi .code .p{color:var(--t-mute)}.qapi .code .ok{color:var(--green)}.qapi .tenants{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}@media (min-width:460px){.qapi .tenants{grid-template-columns:1fr 1fr}}.qapi .tenant{border:1px solid #2a2a30;background:#18181b;border-radius:12px;padding:12px 14px}.qapi .tenant .tl{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t-mute)}.qapi .tenant .tl b{color:#ffd9c6;font-weight:600}.qapi .tenant .q{margin-top:8px;font-size:13px;color:#eef0f2;background:#24252c;border-radius:10px 10px 3px;padding:7px 10px}.qapi .tenant .a{margin-top:8px;font-size:13px;color:#eef0f2}.qapi .tenant .bars{display:flex;align-items:flex-end;gap:5px;height:40px;margin-top:8px}.qapi .tenant .bars i{display:block;flex:1;border-radius:3px 3px 0 0;background:var(--sky);transform-origin:bottom}.qapi .tenant .bars i.hot{background:var(--tangelo)}.qapi .tenant .rn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:11.5px;font-weight:600;color:var(--green)}.qapi .tenant .rn:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}.qapi .armed:not(.run) :is(.ln,.tenant,.fd-line,.fd-gate,.fd-data,.cs-step,.cs-pol,.cs-surf,.lib-item,.ag-step,.ag-done,.key-field,.key-secret,.log-row){opacity:0}.qapi .armed.run .ln{animation:qaLine var(--d2) ease calc(.15s + var(--i) * .22s) both}.qapi .armed.run .tenant{animation:qaRise var(--d3) var(--ease) calc(2.6s + var(--i) * .45s) both}.qapi .armed.run .tenant .bars i{animation:qaBar .6s var(--ease) calc(3.1s + var(--i) * .45s) both}@keyframes qaLine{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@keyframes qaRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes qaPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes qaBar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes qaNew{0%{opacity:0;transform:translateY(-8px);background:#f25c1424}30%{opacity:1;transform:none;background:#f25c1424}to{opacity:1;background:transparent}}.qapi .vid-grid{display:grid;gap:36px;align-items:center}@media (min-width:860px){.qapi .vid-grid{grid-template-columns:1.2fr 1fr;gap:64px}}.qapi .vid-copy h2{margin-top:12px;font-size:clamp(28px,3.6vw,42px);line-height:1.12}.qapi .vid-copy p{margin-top:18px;color:var(--t-body);font-size:17px}.qapi .ticks{margin-top:22px;display:grid;gap:12px}.qapi .ticks li{display:flex;gap:12px;align-items:flex-start;color:var(--t-body);font-size:15.5px}.qapi .ticks li:before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:6px;background:#f25c1424 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f25c14' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center/12px no-repeat}.qapi .ticks.bb-card{margin-top:0;gap:18px;padding:28px;border-radius:20px;background:var(--ink-card);border:1px solid var(--ink-line);box-shadow:0 30px 70px #00000059}.qapi .ticks.bb-card li{font-size:17px;color:#e6e7ea}.qapi .feat{display:grid;gap:40px;align-items:center}@media (min-width:960px){.qapi .feat{grid-template-columns:1fr 1fr;gap:64px}.qapi .feat.rev .feat-copy{order:2}}.qapi .feat-copy h2{margin-top:12px;font-size:clamp(26px,3.4vw,40px);line-height:1.14}.qapi .feat-copy>p{margin-top:16px;color:var(--t-body);font-size:17px}.qapi .fd{display:grid;gap:12px}.qapi .fd-callers{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qapi .fd-caller{position:relative;padding:10px 12px;border:1px solid #2f2f35;background:#1a1a1d;border-radius:10px;font-size:13px;font-weight:600;color:#e9eaec;text-align:center}.qapi .fd-line{height:34px;position:relative}.qapi .fd-line:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background:repeating-linear-gradient(to bottom,var(--tangelo) 0 6px,transparent 6px 12px);background-size:2px 12px}.qapi .armed.run .fd-line:before{animation:qaFlow .8s linear infinite}@keyframes qaFlow{0%{background-position:0 0}to{background-position:0 12px}}.qapi .fd-gate{padding:14px;border-radius:12px;border:1px solid rgba(242,92,20,.6);background:#f25c141a;text-align:center}.qapi .fd-gate code{display:block;color:#ffd9c6;font-size:13px}.qapi .fd-gate span{display:block;margin-top:4px;font-size:12.5px;font-weight:600;color:#fff}.qapi .fd-data{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:12px;border:1px solid rgba(43,187,110,.45);background:#2bbb6e14;font-size:13px;font-weight:600;color:#c9f2db}.qapi .fd-data svg{width:18px;height:18px;stroke:var(--green);fill:none;stroke-width:1.8}.qapi .armed.run .fd-caller{animation:qaPulse 2.4s ease calc(var(--i) * .6s) infinite}@keyframes qaPulse{0%,to{border-color:#2f2f35}20%{border-color:#f25c14cc}}.qapi .armed.run .fd-line{animation:qaLine var(--d3) ease .2s both}.qapi .armed.run .fd-gate{animation:qaPop var(--d3) var(--ease) .5s both}.qapi .armed.run .fd-data{animation:qaRise var(--d3) var(--ease) .9s both}.qapi .cs{display:grid;gap:10px}.qapi .cs-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.qapi .cs-be{padding:6px 12px;border-radius:999px;border:1px solid #34343b;background:#1c1c20;font-size:12.5px;font-weight:600}.qapi .cs-call{font-family:var(--mono);font-size:12px;color:var(--sky)}.qapi .cs-step{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--t-body)}.qapi .cs-step .n{flex:none;width:22px;height:22px;border-radius:50%;background:#f25c1424;color:var(--tangelo);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.qapi .cs-pol{display:inline-flex;margin-left:32px;font-family:var(--mono);font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid rgba(242,92,20,.5);background:#f25c141a;color:#ffd9c6;width:-moz-fit-content;width:fit-content}.qapi .cs-al{margin-top:6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t-mute)}.qapi .cs-surfs{display:flex;gap:6px;flex-wrap:wrap}.qapi .cs-surf{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#2bbb6e1f;border:1px solid rgba(43,187,110,.45);color:#c9f2db}.qapi .cs-surf:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}.qapi .armed.run .cs-step{animation:qaRise var(--d3) var(--ease) calc(.4s + var(--i) * .8s) both}.qapi .armed.run .cs-pol{animation:qaPop var(--d3) var(--ease) 1.5s both}.qapi .armed.run .cs-surf{animation:qaPop var(--d2) var(--ease) calc(3s + var(--i) * .25s) both}.qapi .lib-grid{display:grid;gap:12px}.qapi .lib-panel{border:1px solid #2a2a30;background:#18181b;border-radius:12px;padding:12px 14px}.qapi .lib-panel .lt{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t-mute);margin-bottom:8px}.qapi .lib-item{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:13px;color:#eef0f2}.qapi .lib-item .k{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:#65b6cb24;color:#cdeaf2;margin-top:1px}.qapi .lib-item:nth-child(3) .k{background:#f25c1424;color:#ffd9c6}.qapi .armed.run .lib-item{animation:qaNew 1.2s var(--ease) calc(var(--d) * 1s) both}.qapi .term .ln{white-space:pre-wrap;word-break:break-word}.qapi .armed.run .term .ln{animation-delay:calc(.2s + var(--i) * .4s)}.qapi .ag-step.ag-code{display:block}.qapi .ag-code .code{white-space:pre-wrap;word-break:break-word}.qapi .roles-head h2{font-size:clamp(24px,3.2vw,38px)}.qapi .ag-task{margin-left:auto;max-width:90%;width:-moz-fit-content;width:fit-content;background:#24252c;color:#eef0f2;border-radius:14px 14px 4px;padding:10px 14px;font-size:14px}.qapi .ag-step{margin-top:12px;display:flex;gap:9px;align-items:center;font-size:12.5px;color:var(--t-body)}.qapi .ag-step .ic{flex:none;width:18px;height:18px;border-radius:5px;background:#f25c1429;display:flex;align-items:center;justify-content:center}.qapi .ag-step .ic svg{width:11px;height:11px;stroke:var(--tangelo);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.qapi .ag-code{margin-top:10px}.qapi .ag-done{margin-top:12px;background:#1a1b20;border:1px solid #2a2c34;border-radius:14px 14px 14px 4px;padding:11px 14px;font-size:14px;color:#eef0f2}.qapi .armed.run .ag-step{animation:qaRise var(--d3) var(--ease) calc(.9s + var(--i) * 1s) both}.qapi .armed.run .ag-done{animation:qaRise var(--d3) var(--ease) 4.4s both}.qapi .key-name{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600;font-size:14.5px;margin-bottom:12px}.qapi .key-name code{font-size:11.5px;color:var(--t-mute);font-weight:400}.qapi .key-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qapi .key-field{border:1px solid #2a2a30;background:#18181b;border-radius:10px;padding:9px 11px}.qapi .key-field .l{display:block;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t-mute)}.qapi .key-field .v{display:block;margin-top:2px;font-size:13px;font-weight:600;color:#fff}.qapi .key-secret{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:9px 11px;border-radius:10px;border:1px dashed rgba(240,196,25,.5);background:#f0c4190f}.qapi .key-secret code{color:#f6e2a0}.qapi .key-secret span{font-size:12px;color:#f6e2a0;font-weight:600}.qapi .log{margin-top:14px;border-top:1px solid #26262c;padding-top:12px}.qapi .log .lt{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tangelo);margin-bottom:6px}.qapi .log-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:7px 8px;border-radius:8px;font-size:12.5px}.qapi .log-row .e{color:#fff;font-weight:600}.qapi .log-row .t{color:var(--t-mute);font-feature-settings:"tnum" 1}.qapi .log-row .m{grid-column:1 / -1;color:var(--t-mute);font-family:var(--mono);font-size:11.5px}.qapi .armed.run .key-field{animation:qaPop var(--d3) var(--ease) calc(.2s + var(--i) * .2s) both}.qapi .armed.run .key-secret{animation:qaRise var(--d3) var(--ease) 1.2s both}.qapi .armed.run .log-row{animation:qaNew 1.2s var(--ease) calc(2.2s + var(--i) * .9s) both}.qapi .steps{display:grid;gap:16px}@media (min-width:820px){.qapi .steps{grid-template-columns:repeat(3,1fr)}}.qapi .step{background:var(--ink-card);border:1px solid var(--ink-line);border-radius:16px;padding:24px;transition:border-color var(--d1) ease}.qapi .step:hover{border-color:#fff3}.qapi .step .n{width:32px;height:32px;border-radius:50%;background:#f25c1424;color:var(--tangelo);font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-family:var(--display)}.qapi .step h3{font-size:18px;line-height:1.25}.qapi .step p{margin-top:8px;color:var(--t-body);font-size:15px}.qapi .roles{display:grid;gap:16px}@media (min-width:820px){.qapi .roles{grid-template-columns:repeat(3,1fr)}}.qapi .role{border-radius:16px;padding:24px;background:var(--ink-card);border:1px solid var(--ink-line);border-top:3px solid var(--tangelo)}.qapi .role:nth-child(2){border-top-color:var(--sky)}.qapi .role:nth-child(3){border-top-color:var(--green)}.qapi .role h3{font-size:18px}.qapi .role p{margin-top:10px;color:var(--t-body);font-size:15px}.qapi .faq{max-width:820px;margin:0 auto;display:grid;gap:10px}.qapi .faq details{background:var(--ink-card);border:1px solid var(--ink-line);border-radius:14px;transition:border-color var(--d1) ease}.qapi .faq details[open]{border-color:#f25c1473}.qapi .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;font-weight:600;font-size:16.5px;color:#fff}.qapi .faq summary::-webkit-details-marker{display:none}.qapi .faq summary:after{content:"+";flex:none;font-size:22px;line-height:1;color:var(--tangelo);transition:transform var(--d2) ease}.qapi .faq details[open] summary:after{transform:rotate(45deg)}.qapi .faq .ans{padding:0 20px 18px;color:var(--t-body);font-size:15.5px}.qapi .rel{display:grid;gap:14px}@media (min-width:640px){.qapi .rel{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.qapi .rel{grid-template-columns:repeat(4,1fr)}}.qapi .rel a{display:flex;flex-direction:column;gap:8px;height:100%;padding:20px;border-radius:14px;background:var(--ink-card);border:1px solid var(--ink-line);transition:border-color var(--d1) ease,transform var(--d1) ease}.qapi .rel a:hover{border-color:#f25c148c;transform:translateY(-2px)}.qapi .rel h3{font-size:16.5px;display:flex;justify-content:space-between;gap:8px}.qapi .rel h3:after{content:"→";color:var(--tangelo);font-family:var(--sans)}.qapi .rel p{color:var(--t-body);font-size:14.5px}.qapi :is(p,li) a:not([class]){color:var(--tangelo);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color var(--d1) ease}.qapi :is(p,li) a:not([class]):hover{color:#ff8a52}.qapi .closing{background:linear-gradient(180deg,#f25c14,#e23d14);text-align:center;padding:88px 0}.qapi .closing h2{font-size:clamp(28px,4.2vw,50px);line-height:1.1;max-width:860px;margin:0 auto}.qapi .closing p{margin:18px auto 0;max-width:620px;color:#ffffffeb;font-size:18px}.qapi .closing .cta{margin-top:30px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.qapi .closing .btn-primary{background:#fff;color:var(--tangelo-600)}.qapi .closing .btn-primary:hover{background:#f4f4f4}.qapi .closing .btn-ghost{border-color:#ffffffbf}@media (prefers-reduced-motion: reduce){.qapi *,.qapi *:before,.qapi *:after{animation:none!important;transition:none!important}.qapi .reveal{opacity:1!important;transform:none!important}}
