:root,html[data-theme=dark],html.dark-theme{--color-bg-base: #07090d;--color-bg-elevated: #0d1118;--color-bg-surface: #121821;--color-bg-surface-hover: #1a2330;--color-bg-glass: rgba(13, 17, 24, .72);--color-bg-atmosphere: radial-gradient(120% 80% at 50% -10%, rgba(45, 212, 191, .12), transparent 55%), radial-gradient(80% 60% at 100% 20%, rgba(56, 189, 248, .08), transparent 45%), #07090d;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: rgba(148, 163, 184, .14);--color-border-hover: rgba(148, 163, 184, .28);--color-border-strong: rgba(45, 212, 191, .35);--color-primary: #2dd4bf;--color-primary-hover: #5eead4;--color-primary-foreground: #042f2e;--color-primary-soft: rgba(45, 212, 191, .12);--color-accent: #38bdf8;--color-accent-gradient: linear-gradient(135deg, #2dd4bf 0%, #38bdf8 100%);--color-accent-glow: rgba(45, 212, 191, .22);--color-success: #34d399;--color-warning: #fbbf24;--color-danger: #f87171;--font-display: "Outfit", "Segoe UI", sans-serif;--font-sans: "DM Sans", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "Fira Code", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .45);--shadow-xl: 0 28px 80px rgba(0, 0, 0, .55);--shadow-glow: 0 0 40px rgba(45, 212, 191, .18);--motion-fast: .16s;--motion-base: .28s;--motion-slow: .48s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--focus-ring: 0 0 0 2px var(--color-bg-base), 0 0 0 4px var(--color-primary);--ngx-workflow-bg: #07090d;--ngx-workflow-bg-pattern: rgba(45, 212, 191, .18);--ngx-workflow-node-bg: #121821;--ngx-workflow-node-border: rgba(148, 163, 184, .22);--ngx-workflow-node-color: #f1f5f9;--ngx-workflow-edge-stroke: #64748b;--ngx-workflow-controls-bg: #121821;--ngx-workflow-controls-border: rgba(148, 163, 184, .18);--ngx-workflow-controls-color: #f1f5f9;--ngx-workflow-minimap-bg: #07090d;--ngx-workflow-minimap-border: rgba(148, 163, 184, .18);--ngx-workflow-sidebar-bg: #121821;--ngx-workflow-sidebar-border: rgba(148, 163, 184, .18);--ngx-workflow-sidebar-color: #f1f5f9;--ngx-workflow-menu-bg: #121821;--ngx-workflow-menu-border: rgba(148, 163, 184, .18);--ngx-workflow-menu-color: #f1f5f9;--ngx-workflow-search-bg: #121821;--ngx-workflow-search-border: rgba(148, 163, 184, .18);--ngx-workflow-search-color: #f1f5f9;--ngx-workflow-toolbar-bg: #121821;--ngx-workflow-toolbar-border: rgba(148, 163, 184, .18);--ngx-workflow-primary: #2dd4bf;--ngx-workflow-surface: #121821;--ngx-workflow-text-primary: #f1f5f9}html[data-theme=light],html.light-theme{--color-bg-base: #f4f6f8;--color-bg-elevated: #ffffff;--color-bg-surface: #ffffff;--color-bg-surface-hover: #eef2f6;--color-bg-glass: rgba(255, 255, 255, .78);--color-bg-atmosphere: radial-gradient(120% 80% at 50% -10%, rgba(13, 148, 136, .1), transparent 55%), radial-gradient(80% 60% at 100% 10%, rgba(14, 165, 233, .08), transparent 45%), #f4f6f8;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-border: rgba(15, 23, 42, .1);--color-border-hover: rgba(15, 23, 42, .18);--color-border-strong: rgba(13, 148, 136, .35);--color-primary: #0d9488;--color-primary-hover: #0f766e;--color-primary-foreground: #ffffff;--color-primary-soft: rgba(13, 148, 136, .1);--color-accent: #0284c7;--color-accent-gradient: linear-gradient(135deg, #0d9488 0%, #0284c7 100%);--color-accent-glow: rgba(13, 148, 136, .14);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 18px 48px rgba(15, 23, 42, .1);--shadow-xl: 0 28px 80px rgba(15, 23, 42, .12);--shadow-glow: 0 0 40px rgba(13, 148, 136, .15);--ngx-workflow-bg: #f4f6f8;--ngx-workflow-bg-pattern: rgba(13, 148, 136, .2);--ngx-workflow-node-bg: #ffffff;--ngx-workflow-node-border: #cbd5e1;--ngx-workflow-node-color: #0f172a;--ngx-workflow-edge-stroke: #94a3b8;--ngx-workflow-controls-bg: #ffffff;--ngx-workflow-controls-border: #cbd5e1;--ngx-workflow-controls-color: #0f172a;--ngx-workflow-minimap-bg: #ffffff;--ngx-workflow-minimap-border: #cbd5e1;--ngx-workflow-sidebar-bg: #ffffff;--ngx-workflow-sidebar-border: #cbd5e1;--ngx-workflow-sidebar-color: #0f172a;--ngx-workflow-menu-bg: #ffffff;--ngx-workflow-menu-border: #cbd5e1;--ngx-workflow-menu-color: #0f172a;--ngx-workflow-search-bg: #ffffff;--ngx-workflow-search-border: #cbd5e1;--ngx-workflow-search-color: #0f172a;--ngx-workflow-toolbar-bg: #ffffff;--ngx-workflow-toolbar-border: #cbd5e1;--ngx-workflow-primary: #0d9488;--ngx-workflow-surface: #ffffff;--ngx-workflow-text-primary: #0f172a}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}html[data-theme=light],html.light-theme{color-scheme:light}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;padding:0;font-family:var(--font-sans);background:var(--color-bg-atmosphere);background-attachment:fixed;color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media(max-width:768px){.container{padding:0 16px}}.text-center{text-align:center}.text-muted{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-gradient{background:var(--color-accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--color-primary);box-decoration-break:clone;-webkit-box-decoration-break:clone}.glass-panel{background:var(--color-bg-glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--color-border);box-shadow:var(--shadow-md);transition:border-color var(--motion-base) var(--ease-out),box-shadow var(--motion-base) var(--ease-out),transform var(--motion-base) var(--ease-out)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;font-size:.95rem;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--motion-fast) var(--ease-out),opacity var(--motion-fast) var(--ease-out),box-shadow var(--motion-base) var(--ease-out),background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out);text-decoration:none;border:1px solid transparent;will-change:transform}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-accent-gradient);color:var(--color-primary-foreground);box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px var(--color-accent-glow)}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-bg-surface-hover);border-color:var(--color-border-hover);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--color-text-primary);border-color:var(--color-border)}.btn-outline:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.btn-sm{padding:7px 14px;font-size:.85rem;border-radius:var(--radius-sm)}.btn-lg{padding:14px 28px;font-size:1.05rem}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:.72rem;font-weight:650;border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase}.badge-accent{background:var(--color-primary-soft);color:var(--color-primary);border:1px solid var(--color-border-strong)}.badge-success{background:#34d3991f;color:var(--color-success);border:1px solid rgba(52,211,153,.3)}.prose{color:var(--color-text-secondary);line-height:1.75;font-size:1.05rem;max-width:800px}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--color-text-primary);font-family:var(--font-display);font-weight:700;line-height:1.25;margin-top:2.2em;margin-bottom:.8em;letter-spacing:-.02em}.prose h1{font-size:2.4rem;margin-top:0;font-weight:800}.prose h2{font-size:1.7rem;border-bottom:1px solid var(--color-border);padding-bottom:.4em}.prose h3{font-size:1.3rem}.prose h4{font-size:1.1rem}@media(max-width:768px){.prose{font-size:1rem}.prose h1{font-size:1.85rem}.prose h2{font-size:1.4rem}.prose h3{font-size:1.15rem}}.prose code:not(pre code){background:var(--color-bg-surface);color:var(--color-primary);border:1px solid var(--color-border);padding:.15em .45em;border-radius:6px;font-size:.85em;font-family:var(--font-mono);line-height:1.35;word-break:normal;overflow-wrap:anywhere;box-decoration-break:clone;-webkit-box-decoration-break:clone}@media(max-width:640px){.prose .lead code,.prose p code:not(pre code){font-size:.78em}}.prose ul,.prose ol{margin:.65em 0 1.1em;padding-left:1.35rem}.prose li{margin:.28em 0;line-height:1.45;padding-left:.15rem}.prose li+li{margin-top:.35em}.priority-list{list-style:decimal;margin:.5em 0 1em;padding-left:1.35rem;display:flex;flex-direction:column;gap:8px}.priority-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0;line-height:1.35}.priority-list .suffix{color:var(--color-text-secondary);font-size:.95em}.matrix-table-wrap{margin:1rem 0 1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--color-bg-elevated)}.matrix-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed;font-size:.82rem;line-height:1.4}@media(max-width:640px){.matrix-table{min-width:560px;font-size:.78rem}.matrix-table th,.matrix-table td{padding:8px 10px}.matrix-table.cols-3{min-width:480px}}.matrix-table th,.matrix-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}.matrix-table thead th{position:sticky;top:0;background:var(--color-bg-surface);color:var(--color-text-muted);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.matrix-table tbody tr:last-child td{border-bottom:none}.matrix-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.matrix-table.cols-4{--col-prop: 28%;--col-type: 22%;--col-default: 14%;--col-desc: 36%}.matrix-table.cols-4 th:nth-child(1),.matrix-table.cols-4 td:nth-child(1){width:var(--col-prop)}.matrix-table.cols-4 th:nth-child(2),.matrix-table.cols-4 td:nth-child(2){width:var(--col-type)}.matrix-table.cols-4 th:nth-child(3),.matrix-table.cols-4 td:nth-child(3){width:var(--col-default)}.matrix-table.cols-4 th:nth-child(4),.matrix-table.cols-4 td:nth-child(4){width:var(--col-desc)}.matrix-table.cols-3{--col-event: 30%;--col-payload: 34%;--col-desc: 36%}.matrix-table.cols-3 th:nth-child(1),.matrix-table.cols-3 td:nth-child(1){width:var(--col-event)}.matrix-table.cols-3 th:nth-child(2),.matrix-table.cols-3 td:nth-child(2){width:var(--col-payload)}.matrix-table.cols-3 th:nth-child(3),.matrix-table.cols-3 td:nth-child(3){width:var(--col-desc)}.matrix-table .cell-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.prose .matrix-table code.mono,.matrix-table .mono{display:inline-block;max-width:100%;font-family:var(--font-mono);font-size:.78rem;line-height:1.35;color:var(--color-primary);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;padding:2px 6px;word-break:break-word;overflow-wrap:anywhere}.matrix-table .desc{color:var(--color-text-secondary);font-size:.8rem;line-height:1.45}.matrix-table .mini-copy{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:5px;padding:2px 7px;font-size:.65rem;font-weight:650;cursor:pointer;line-height:1.3}.matrix-table .mini-copy:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.matrix-table .mini-copy.copied{background:var(--color-success);color:#042f2e;border-color:var(--color-success)}.prose .matrix-table-wrap{max-width:none}.prose pre{background:var(--color-bg-elevated);color:var(--color-text-primary);padding:1.25em 1.5em;border-radius:var(--radius-md);overflow-x:auto;margin:1.5em 0;font-family:var(--font-mono);font-size:.9em;line-height:1.6;border:1px solid var(--color-border)}.callout{padding:16px 20px;border-radius:var(--radius-md);margin:20px 0;border-left:4px solid var(--color-primary);background:var(--color-bg-surface)}.callout-title{font-weight:700;margin-bottom:6px;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.callout-info{border-left-color:var(--color-accent);background:#38bdf814}.callout-warning{border-left-color:var(--color-warning);background:#fbbf2414}.callout-success{border-left-color:var(--color-success);background:#34d39914}.flex{display:flex}.gap-4{gap:var(--space-4)}.margin-top-8{margin-top:var(--space-8)}.next-steps{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-8)}@keyframes fade-up{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes float-y{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-8px,0)}}.animate-fade-in{animation:fade-up var(--motion-slow) var(--ease-out) both}.reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity var(--motion-slow) var(--ease-out),transform var(--motion-slow) var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateZ(0)}.skip-link{position:absolute;left:16px;top:-48px;z-index:1000;padding:10px 16px;background:var(--color-primary);color:var(--color-primary-foreground);border-radius:var(--radius-sm);text-decoration:none;font-weight:600;transition:top var(--motion-fast) var(--ease-out)}.skip-link:focus{top:16px}.doc-detail{max-width:56rem;margin:0 auto;padding:32px 0}@media(max-width:768px){.doc-detail{padding:16px 0 40px}.doc-detail h1{font-size:1.55rem}.doc-detail .lead{font-size:1.02rem}.doc-detail .preview-frame{height:280px}}.doc-detail .breadcrumb{display:flex;gap:8px;margin-bottom:28px;font-size:.875rem;color:var(--color-text-muted)}.doc-detail .breadcrumb a{color:var(--color-text-secondary);text-decoration:none}.doc-detail .breadcrumb a:hover{color:var(--color-primary)}.doc-detail h1{font-family:var(--font-display);font-size:2rem;font-weight:800;margin:0 0 12px;font-family:var(--font-mono);color:var(--color-text-primary)}.doc-detail .lead{font-size:1.15rem;color:var(--color-text-secondary);margin:0 0 24px}.doc-detail .meta-row{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:32px}.doc-detail .meta-item{display:flex;flex-direction:column;gap:4px}.doc-detail .meta-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.doc-detail .meta-value{font-weight:600;color:var(--color-text-primary)}.doc-detail .meta-code{font-family:var(--font-mono);background:var(--color-primary-soft);color:var(--color-primary);padding:2px 8px;border-radius:6px;font-size:.875rem}.doc-detail .divider{border:none;border-top:1px solid var(--color-border);margin:0 0 32px}.doc-detail .preview-frame{height:400px;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;position:relative;background:var(--color-bg-elevated);box-shadow:var(--shadow-md)}.doc-detail .preview-badge{position:absolute;bottom:8px;right:8px;background:var(--color-bg-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:4px 8px;font-size:.7rem;color:var(--color-text-muted);border-radius:6px;border:1px solid var(--color-border)}
