:root{--diagravo-client:#93a1b5;--diagravo-backend:#5b8def;--diagravo-database:#4caf7d;--diagravo-objectStorage:#e8823a;--diagravo-cache:#e0a336;--diagravo-loadBalancer:#b06bec;--diagravo-proxy:#4fc0c9;--diagravo-queue:#e0687d;--diagravo-microcontroller:#38bdf8;--diagravo-plc:#818cf8;--diagravo-turnstile:#fb7185;--diagravo-badgeReader:#f43f5e;--diagravo-doorLock:#e11d48;--diagravo-secretsManager:#a78bfa;--diagravo-memoryChip:#8b5cf6;--diagravo-monitoring:#c4b5fd;--diagravo-cdn:#22d3ee;--diagravo-dnsResolver:#0ea5e9;--diagravo-adc:#2dd4bf;--diagravo-dac:#14b8a6;--diagravo-communicationBus:#65a30d;--diagravo-amplifier:#a3e635;--diagravo-analogFilter:#84cc16;--diagravo-realTimeClock:#67e8f9;--diagravo-cctvCamera:#fca5a5;--diagravo-hmiPanel:#facc15;--diagravo-alarmPanel:#ef4444;--diagravo-apiGateway:#22c55e;--diagravo-authService:#10b981;--diagravo-searchIndex:#9333ea;--diagravo-serverlessFunction:#f59e0b;--diagravo-emailService:#ec4899;--diagravo-smsNotification:#d946ef;--diagravo-paymentGateway:#2563eb;--diagravo-edgeGateway:#0891b2;--docs-bg:#0f1115;--docs-panel:#151820;--docs-panel-2:#1b1f29;--docs-border:#262b36;--docs-text:#e6e8ec;--docs-dim:#9aa1af;--docs-faint:#8a91a0;--docs-accent:#5b8def;--docs-accent-soft:#5b8def24;--docs-ok:#4caf7d;--docs-warn:#e0a84a;--docs-bad:#e0645c;--docs-header-h:56px;--docs-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--docs-header-h) + 16px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--docs-bg);color:var(--docs-text);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.65}.docs-root a{color:var(--docs-accent)}.docs-root a:hover{text-decoration:underline}.docs-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.docs-skip{z-index:100;background:var(--docs-accent);border-radius:6px;padding:8px 14px;font-weight:600;position:absolute;top:-48px;left:8px;color:#0f1115!important}.docs-skip:focus{top:8px}.docs-header{z-index:40;height:var(--docs-header-h);box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--docs-border);background:#0f1115eb;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.docs-root .docs-brand{color:var(--docs-text);align-items:center;gap:9px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}.docs-brand-mark{border-radius:6px;flex:none}.docs-root .docs-brand-docs{color:var(--docs-dim);border-left:1px solid var(--docs-border);padding-left:14px;font-size:14px;text-decoration:none}.docs-topnav{flex:auto;gap:18px;margin-left:12px;display:flex}.docs-root .docs-topnav a{color:var(--docs-dim);font-size:14px;text-decoration:none}.docs-root .docs-topnav a:hover{color:var(--docs-text)}.docs-search-btn{background:var(--docs-panel);min-width:210px;color:var(--docs-dim);border:1px solid var(--docs-border);font:inherit;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px 7px 12px;font-size:13px;display:inline-flex}.docs-search-btn[hidden],.docs-nav-toggle[hidden]{display:none}.docs-search-btn:hover{color:var(--docs-text);border-color:#3a4152}.docs-root .docs-cta{background:var(--docs-accent);color:#0f1115;white-space:nowrap;border-radius:6px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none}.docs-root .docs-cta:hover{filter:brightness(1.08);text-decoration:none}.docs-nav-toggle{border:1px solid var(--docs-border);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:none}.docs-nav-toggle-bars,.docs-nav-toggle-bars:before,.docs-nav-toggle-bars:after{background:var(--docs-text);content:"";border-radius:1px;width:16px;height:2px;display:block;position:relative}.docs-nav-toggle-bars:before{position:absolute;top:-5px}.docs-nav-toggle-bars:after{position:absolute;top:5px}.docs-shell{max-width:1440px;min-height:calc(100vh - var(--docs-header-h));grid-template-columns:264px minmax(0,1fr);margin:0 auto;display:grid}.docs-sidebar{top:var(--docs-header-h);height:calc(100vh - var(--docs-header-h));border-right:1px solid var(--docs-border);box-sizing:border-box;align-self:start;padding:24px 16px 40px 24px;position:sticky;overflow-y:auto}.docs-side-group{margin-top:22px}.docs-side-label{font-family:var(--docs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--docs-faint);margin:0 0 6px;padding:0 10px;font-size:11px}.docs-sidebar ul{margin:0;padding:0;list-style:none}.docs-root .docs-side-link{color:var(--docs-dim);border-radius:6px;padding:6px 10px;font-size:14px;line-height:1.4;text-decoration:none;display:block}.docs-root .docs-side-link:hover{color:var(--docs-text);background:var(--docs-panel);text-decoration:none}.docs-root .docs-side-link.is-current{color:var(--docs-text);background:var(--docs-accent-soft);box-shadow:inset 2px 0 0 var(--docs-accent)}.docs-main{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 220px;gap:48px;min-width:0;padding:40px 40px 80px 56px;display:grid}.docs-article{min-width:0;max-width:760px}.docs-breadcrumb{color:var(--docs-faint);margin:0 0 10px;font-size:13px}.docs-root .docs-breadcrumb a{color:var(--docs-dim)}.docs-h1{letter-spacing:-.02em;margin:0 0 12px;font-size:38px;line-height:1.15}.docs-lede{color:var(--docs-dim);margin:0 0 8px;font-size:18px;line-height:1.55}.docs-body{margin-top:28px}.docs-body p,.docs-body li{font-size:16px}.docs-body>p,.docs-body>ul,.docs-body>ol{margin:0 0 16px}.docs-body ul,.docs-body ol{padding-left:22px}.docs-body li{margin:4px 0}.docs-h2,.docs-h3{letter-spacing:-.01em;line-height:1.3;position:relative}.docs-h2{border-top:1px solid var(--docs-border);margin:48px 0 14px;padding-top:28px;font-size:26px}.docs-body>.docs-h2:first-child{border-top:0;margin-top:0;padding-top:0}.docs-h3{margin:30px 0 10px;font-size:19px}.docs-root .docs-anchor{color:var(--docs-faint);opacity:0;margin-left:8px;font-weight:400;text-decoration:none;transition:opacity .12s}.docs-h2:hover .docs-anchor,.docs-h3:hover .docs-anchor,.docs-anchor:focus{opacity:1}.docs-body code{font-family:var(--docs-mono);background:var(--docs-panel-2);border:1px solid var(--docs-border);border-radius:4px;padding:1px 5px;font-size:.88em}.docs-kbd{font-family:var(--docs-mono);color:var(--docs-text);background:var(--docs-panel-2);white-space:nowrap;border:1px solid #343a49;border-bottom-width:2px;border-radius:5px;padding:3px 6px;font-size:12px;line-height:1;display:inline-block}.docs-code{border:1px solid var(--docs-border);font-family:var(--docs-mono);tab-size:2;background:#0a0c10;border-radius:8px;margin:16px 0 20px;padding:16px 18px;font-size:13.5px;line-height:1.6;position:relative;overflow-x:auto}.docs-body .docs-code code{font-size:inherit;white-space:pre;background:0 0;border:0;padding:0}.docs-copy-btn{font:inherit;color:var(--docs-dim);background:var(--docs-panel);border:1px solid var(--docs-border);cursor:pointer;border-radius:5px;padding:3px 9px;font-size:12px;position:absolute;top:8px;right:8px}.docs-copy-btn:hover{color:var(--docs-text)}.docs-callout{border:1px solid var(--docs-border);background:var(--docs-panel);border-left-width:3px;border-radius:8px;margin:20px 0;padding:12px 16px 4px}.docs-callout-note{border-left-color:var(--docs-accent)}.docs-callout-tip{border-left-color:var(--docs-ok)}.docs-callout-warn{border-left-color:var(--docs-warn)}.docs-callout-title{font-family:var(--docs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--docs-dim);margin:0 0 4px;font-size:11px}.docs-callout p{margin:0 0 10px;font-size:15px}.docs-steps{counter-reset:docs-step;list-style:none;margin:20px 0!important;padding:0!important}.docs-steps>li{counter-increment:docs-step;min-height:30px;margin:0 0 14px;padding:2px 0 2px 44px;position:relative}.docs-steps>li:before{content:counter(docs-step);background:var(--docs-accent-soft);width:30px;height:30px;color:var(--docs-accent);border:1px solid #5b8def66;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;left:0}.docs-figure{background:var(--docs-panel);border:1px solid var(--docs-border);border-radius:10px;margin:24px 0;padding:16px}.docs-figure-svg{width:100%;height:auto;max-height:260px;display:block}.docs-figure figcaption{color:var(--docs-dim);margin-top:12px;font-size:14px}.docs-figure figcaption strong{color:var(--docs-text)}.docs-tryit{margin:8px 0 20px}.docs-root .docs-tryit-link{background:var(--docs-accent-soft);border:1px solid #5b8def80;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.docs-root .docs-tryit-link:hover{background:#5b8def3d;text-decoration:none}.docs-table-wrap{border:1px solid var(--docs-border);border-radius:8px;margin:20px 0 24px;overflow-x:auto}.docs-table{border-collapse:collapse;width:100%;font-size:14px}.docs-table caption{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.docs-table th,.docs-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--docs-border);padding:9px 12px}.docs-table thead th{background:var(--docs-panel);color:var(--docs-dim);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600}.docs-table tbody th{white-space:nowrap;font-weight:600}.docs-table tbody tr:last-child th,.docs-table tbody tr:last-child td{border-bottom:0}.docs-hub-section{margin:36px 0 0}.docs-hub-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;list-style:none;display:grid;padding:0!important}.docs-hub-cards>li{margin:0}.docs-root .docs-card{box-sizing:border-box;background:var(--docs-panel);border:1px solid var(--docs-border);height:100%;color:var(--docs-text);border-radius:10px;padding:16px 18px;text-decoration:none;transition:border-color .12s,background .12s;display:block}.docs-root .docs-card:hover{background:var(--docs-panel-2);border-color:#3a4152;text-decoration:none}.docs-card-tag{font-family:var(--docs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--docs-accent);margin-bottom:6px;font-size:11px;display:block}.docs-card-title{margin-bottom:4px;font-size:16px;font-weight:600;display:block}.docs-card-text{color:var(--docs-dim);font-size:14px;line-height:1.5;display:block}.docs-hub-start{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:8px;display:grid}.docs-hub-start .docs-card{background:linear-gradient(180deg, var(--docs-accent-soft), var(--docs-panel));border-color:#5b8def66;padding:20px}.docs-pager{grid-template-columns:1fr 1fr;gap:14px;margin-top:56px;display:grid}.docs-root .docs-pager-link{border:1px solid var(--docs-border);color:var(--docs-text);border-radius:10px;padding:14px 16px;text-decoration:none;display:block}.docs-root .docs-pager-link:hover{background:var(--docs-panel);border-color:#3a4152;text-decoration:none}.docs-pager-next{text-align:right}.docs-pager-dir{color:var(--docs-faint);font-size:12px;display:block}.docs-pager-title{color:var(--docs-accent);font-weight:600;display:block}.docs-updated{color:var(--docs-faint);margin:28px 0 0;font-size:13px}.docs-toc{top:calc(var(--docs-header-h) + 32px);max-height:calc(100vh - var(--docs-header-h) - 64px);align-self:start;font-size:13px;position:sticky;overflow-y:auto}.docs-toc-label{font-family:var(--docs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--docs-faint);margin:0 0 8px;font-size:11px}.docs-toc ul{border-left:1px solid var(--docs-border);margin:0;padding:0 0 0 1px;list-style:none}.docs-root .docs-toc a{color:var(--docs-dim);border-left:2px solid #0000;margin-left:-1px;padding:4px 0 4px 12px;line-height:1.4;text-decoration:none;display:block}.docs-root .docs-toc a:hover{color:var(--docs-text)}.docs-root .docs-toc a.is-active{color:var(--docs-accent);border-left-color:var(--docs-accent)}.docs-footer{border-top:1px solid var(--docs-border);color:var(--docs-faint);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:20px 32px;font-size:13px;display:flex}.docs-footer-brand{align-items:center;gap:8px;display:inline-flex}.docs-footer-brand img{border-radius:5px}.docs-footer-links{flex-wrap:wrap;gap:18px;display:flex}.docs-root .docs-footer a{color:var(--docs-dim)}.docs-search-dialog{width:min(640px,100vw - 32px);max-height:min(70vh,560px);color:var(--docs-text);background:var(--docs-panel);border:1px solid #343a49;border-radius:12px;margin:12vh auto 0;padding:0;overflow:hidden;box-shadow:0 24px 60px #0000008c}.docs-search-dialog::backdrop{background:#05060999}.docs-search-input{box-sizing:border-box;width:100%;font:inherit;color:var(--docs-text);border:0;border-bottom:1px solid var(--docs-border);background:0 0;outline:none;padding:16px 18px;font-size:16px;display:block}.docs-search-results{max-height:calc(min(70vh,560px) - 58px);margin:0;padding:6px;list-style:none;overflow-y:auto}.docs-search-result a{border-radius:8px;padding:10px 12px;display:block;color:var(--docs-text)!important;text-decoration:none!important}.docs-search-result.is-selected a,.docs-search-result a:hover{background:var(--docs-accent-soft)}.docs-search-result-title{font-size:14px;font-weight:600;display:block}.docs-search-result-page{color:var(--docs-faint);font-weight:400}.docs-search-result-snippet{color:var(--docs-dim);margin-top:2px;font-size:13px;line-height:1.45;display:block}.docs-search-result mark{color:inherit;background:#5b8def4d;border-radius:2px}.docs-search-empty{color:var(--docs-dim);padding:18px;font-size:14px}@media (width<=1180px){.docs-main{grid-template-columns:minmax(0,1fr);padding-right:32px}.docs-toc{display:none}}@media (width<=860px){.docs-header{gap:10px;padding:0 14px}.docs-topnav,.docs-search-btn span{display:none}.docs-search-btn{min-width:0;margin-left:auto}.docs-search-btn .docs-kbd{display:none}.docs-search-btn:before{content:"Search"}.docs-shell{grid-template-columns:minmax(0,1fr)}.docs-sidebar{border-right:0;border-bottom:1px solid var(--docs-border);height:auto;padding:16px;position:static}.docs-main{padding:28px 16px 64px}.docs-h1{font-size:30px}.docs-pager{grid-template-columns:1fr}.docs-pager-next{text-align:left}.docs-js .docs-nav-toggle,.docs-js .docs-nav-toggle[hidden]{display:inline-flex}.docs-js .docs-sidebar{z-index:30;top:var(--docs-header-h);background:var(--docs-bg);border-right:1px solid var(--docs-border);border-bottom:0;width:min(300px,86vw);height:auto;transition:transform .18s ease-out;position:fixed;bottom:0;left:0;transform:translate(-102%)}.docs-js.docs-nav-open .docs-sidebar{transform:none}.docs-js.docs-nav-open body{overflow:hidden}}@media (prefers-reduced-motion:reduce){.docs-js .docs-sidebar{transition:none}}.docs-cta-short,.docs-brand-name-short{display:none}@media (width<=860px){.docs-nav-toggle{flex:none}.docs-root .docs-brand{min-height:36px}.docs-side-label,.docs-card-tag{font-size:12px}.docs-root code{font-size:max(12px,.85em)}.docs-copy-btn{padding:6px 11px}}@media (width<=440px){.docs-header{gap:8px;padding:0 10px}.docs-brand-name{display:none}.docs-root .docs-brand-docs{padding-left:10px}.docs-cta-long{display:none}.docs-cta-short{display:inline}.docs-root .docs-cta{padding:8px 12px}}@media (width<=860px){.docs-root .docs-brand-docs{padding-top:7px;padding-bottom:7px}.docs-footer-links{flex-wrap:wrap;gap:2px 16px}.docs-root .docs-footer a{padding:8px 0;display:inline-block}}.blog-shell{max-width:1180px;min-height:calc(100vh - var(--docs-header-h));margin:0 auto}.blog-meta{color:var(--docs-faint);margin:0 0 14px;font-size:14px}.blog-list{margin:36px 0 0;padding:0;list-style:none}.blog-list-item{border-top:1px solid var(--docs-border);padding:24px 0}.blog-list-item:last-child{border-bottom:1px solid var(--docs-border)}.blog-list-item .blog-meta{margin-bottom:6px}.blog-list-title{margin:0 0 8px;font-size:22px;font-weight:650;line-height:1.3}.docs-root .blog-list-title a{color:var(--docs-text);text-decoration:none}.docs-root .blog-list-title a:hover{color:var(--docs-accent);text-decoration:none}.blog-list-summary{color:var(--docs-dim);max-width:68ch;margin:0}.blog-main{grid-template-columns:minmax(0,1fr)}.blog-quote{border-left:3px solid var(--docs-accent);color:var(--docs-dim);margin:22px 0;padding:2px 0 2px 18px}.blog-quote>:first-child{margin-top:0}.blog-quote>:last-child{margin-bottom:0}
