:root,:root[data-theme=dark]{--bg:#0f1116;--surface:#171a21;--surface-2:#1d212a;--field:#0c0e13;--line:#262b35;--line-soft:#1f242d;--line-strong:#39404e;--text:#e7eaf0;--muted:#8f97a8;--faint:#666e7e;--placeholder:#565e6d;--arrow:#3d4451;--accent:#5b8cff;--on-accent:#fff;--accent-soft:#b18ef2;--trigger:#6a7dd6;--ok:#4caf7d;--warn:#d8a24a;--ko:#e0655c;--ko-text:#f0b0ab;--ok-bg:#4caf7d26;--ko-bg:#e0655c26;--warn-bg:#d8a24a1a;--accent-bg:#5b8cff24;--js-border:#9d7bea66;--veil-strong:#ffffff0a;--veil:#ffffff04;--veil-faint:#ffffff03;--bg-fade:#0f1116d9;--r-sm:6px;--r-md:9px;--r-lg:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:SF Pro Text,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px}:root[data-theme=light]{--bg:#f4f5f8;--surface:#fff;--surface-2:#f0f2f6;--field:#fff;--line:#d9dde5;--line-soft:#e6e9ef;--line-strong:#b9c0cd;--text:#1b2028;--muted:#5d6675;--faint:#656d7a;--placeholder:#8b93a2;--arrow:#a8b0be;--accent:#2f6bdb;--on-accent:#fff;--accent-soft:#7a52c8;--trigger:#4b5fbe;--ok:#1f8a54;--warn:#9a6a12;--ko:#c8352b;--ko-text:#8f2a22;--ok-bg:#1f8a541f;--ko-bg:#c8352b1f;--warn-bg:#9a6a121f;--accent-bg:#2f6bdb1f;--js-border:#7a52c873;--veil-strong:#1b20280d;--veil:#1b202806;--veil-faint:#1b202804;--bg-fade:#f4f5f8d9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:13px;line-height:1.45}h1,h2,h3{margin:0;font-weight:600}button{font-family:inherit}code{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:5px;padding:1px 5px;font-family:ui-monospace,Menlo,monospace;font-size:11.5px}pre{background:var(--field);border:1px solid var(--line-soft);border-radius:var(--r-sm);margin:8px 0 0;padding:9px 11px;font-size:11.5px;line-height:1.5;overflow:auto}.app{max-width:1320px;margin:0 auto;padding:0 20px 56px}.topbar{z-index:20;background:linear-gradient(var(--bg) 70%, var(--bg-fade));border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 0 13px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:9px;display:flex}.brand h1{letter-spacing:-.1px;font-size:14px}.brand .brand-sub{color:var(--faint);font-size:11.5px}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);gap:2px;padding:2px;display:flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 13px;font-size:12.5px}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.segmented .count{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:4px}.topbar-ctx{color:var(--faint);align-items:center;gap:8px;font-size:11.5px;display:flex}.sess{align-items:center;gap:8px;display:flex}.sess-user{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.sess-org{align-items:center;gap:6px;display:flex;position:relative}.sess-org-label{text-transform:uppercase;letter-spacing:.6px;color:var(--faint);font-size:10px}.sess-org-btn{cursor:pointer;border-radius:var(--r-md);background:var(--accent-bg);border:1px solid var(--accent);color:var(--text);align-items:center;gap:7px;padding:5px 10px;font-family:inherit;font-size:12px;display:flex}.sess-org-btn code{color:var(--muted);background:0 0;border:none;padding:0}.sess-org.vide .sess-org-btn{background:var(--warn-bg);border-color:var(--warn)}.sess-caret{color:var(--muted)}.sess-menu{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:2px;min-width:240px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000002e}.sess-menu-item{text-align:left;cursor:pointer;border-radius:var(--r-sm);color:var(--text);background:0 0;border:none;align-items:baseline;gap:8px;padding:7px 9px;font-family:inherit;font-size:12px;display:flex}.sess-menu-item:hover{background:var(--surface-2)}.sess-menu-item.active{background:var(--accent-bg)}.sess-menu-item code{color:var(--muted);background:0 0;border:none;padding:0}.sess-vide{flex-direction:column;gap:4px;max-width:300px;padding:8px 9px;display:flex}.sess-vide .hint{white-space:normal;line-height:1.45}.error-bar{color:var(--ko-text);border-radius:var(--r-md);background:#e0655c1a;border:1px solid #e0655c73;margin-bottom:16px;padding:9px 13px;font-size:12.5px}.layout{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:20px;display:grid}.page{max-width:880px}.console{max-width:940px}.editor{flex-direction:column;gap:16px;min-width:0;display:flex}.sidebar{flex-direction:column;gap:4px;display:flex;position:sticky;top:74px}.side-label{text-transform:uppercase;letter-spacing:.7px;color:var(--faint);padding:4px 4px 6px;font-size:10.5px}.conn-item{border-radius:var(--r-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:9px;min-width:0;padding:8px 10px;display:flex}.conn-item:hover{background:var(--surface)}.conn-item.active{background:var(--surface-2);border-color:var(--line)}.conn-name{font-size:12.5px;font-weight:500}.conn-sub{color:var(--faint);font-size:11px}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dot.on{background:var(--ok)}.dot.off{background:var(--faint)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.card-head{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;display:flex}.card-head h3{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:12px}.card-body{padding:15px}.card-foot{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:11px 15px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 0;display:flex}.section-head h2{font-size:13px}.section-head .hint{margin:0}label{color:var(--muted);flex-direction:column;gap:5px;min-width:0;font-size:11.5px;display:flex}label.check{color:var(--text);white-space:nowrap;flex-direction:row;align-items:center;gap:7px;font-size:12px}input,select,textarea{background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;min-width:0;padding:7px 9px;font-family:inherit;font-size:12.5px}input[type=checkbox]{width:auto;accent-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #5b8cff38}input::placeholder,textarea::placeholder{color:var(--placeholder)}textarea{resize:vertical}textarea.code,textarea.payload{font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.55}.fields{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.fields.two{grid-template-columns:1fr 1fr}.span2{grid-column:1/-1}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.row .grow{flex:1;min-width:140px}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:7px;padding:6px 12px;font-size:12.5px}.btn:hover{border-color:var(--line-strong)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--ko)}.btn.danger:hover{border-color:#e0655c80}.btn.ghost{background:0 0}.btn.sm{padding:4px 9px;font-size:12px}.btn.block{justify-content:center;width:100%}.btn.dashed{color:var(--muted);background:0 0;border-style:dashed}.btn.dashed:hover{color:var(--text);border-color:var(--accent)}.btn.icon{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 5px;font-size:12px;line-height:1.2}.btn.icon:hover{color:var(--text);background:var(--surface-2)}.btn.icon:disabled{opacity:.3;cursor:default;background:0 0}.btn.icon.danger:hover{color:var(--ko)}.btn.link{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:11.5px;text-decoration:underline}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.status{color:var(--muted);font-size:11.5px}.hint{color:var(--faint);font-size:11.5px}.muted{color:var(--muted);font-size:11.5px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:11.5px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.empty{color:var(--faint);text-align:center;border:1px dashed var(--line);border-radius:var(--r-lg);padding:72px 20px;font-size:12.5px}.chip,.flow-chip{background:var(--veil-strong);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:20px;align-items:center;gap:3px;padding:1px 7px;font-size:10.5px;display:inline-flex}.chip.req,.flow-chip.req{color:var(--ko);border-color:#e0655c59}.chip.block,.flow-chip.block{color:var(--warn);border-color:#d8a24a59}.chip.js,.flow-chip.js{color:var(--accent-soft);border-color:var(--js-border)}.chip.warn,.flow-chip.warn{color:var(--warn);border-color:#d8a24a59}.chip.key,.flow-chip.key{color:var(--accent);border-color:#5b8cff66}.chip.on{color:var(--ok);border-color:#4caf7d59}.act{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.act.open{border-color:var(--line-strong)}.act-head{cursor:pointer;align-items:center;gap:10px;min-width:0;padding:11px 14px;display:flex}.act-head:hover{background:var(--veil)}.act.open .act-head{border-bottom:1px solid var(--line-soft)}.act-caret{color:var(--faint);flex-shrink:0;width:10px;font-size:10px}.act-title{font-size:13px;font-weight:600}.act-when{color:var(--faint);font-size:11.5px}.act-body{flex-direction:column;gap:14px;padding:14px;display:flex}.chain{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.chain-item{color:var(--muted);background:var(--surface-2);border:1px solid var(--line-soft);border-radius:20px;align-items:center;gap:5px;padding:2px 9px 2px 6px;font-size:11px;display:inline-flex}.chain-sep{color:var(--arrow);font-size:11px}.chain-glyph{font-size:11px;font-weight:700}.steps{flex-direction:column;gap:10px;display:flex}.stp{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);position:relative}.stp+.stp:before{content:"";background:var(--line);width:1px;height:11px;position:absolute;top:-11px;left:23px}.stp-head{align-items:center;gap:10px;min-width:0;padding:9px 11px;display:flex}.stp-num{background:var(--surface);border:1px solid var(--line);width:25px;height:25px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;margin-left:-1px;font-size:12px;font-weight:700;display:grid}.stp-title{align-items:center;gap:7px;min-width:0;font-size:12.5px;font-weight:500;display:flex}.stp-glyph{font-size:13px;font-weight:700}.stp-sum{color:var(--faint);flex:1;min-width:0;font-size:11px}.stp-tools{flex-shrink:0;align-items:center;gap:1px;display:flex}.stp-body{flex-direction:column;gap:12px;padding:0 11px 12px 47px;display:flex}.stp-opts{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.stp-opts label:not(.check){flex:1;min-width:150px}.maps{flex-direction:column;gap:5px;display:flex}.map-legend{text-transform:uppercase;letter-spacing:.6px;color:var(--faint);grid-template-columns:minmax(130px,1fr) 16px minmax(190px,1.15fr) 62px;gap:9px;padding:0 2px 1px;font-size:10.5px;display:grid}.map{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--veil-faint);padding:7px 8px}.map.warn{background:#e0655c0d;border-color:#e0655c59}.map-main{grid-template-columns:minmax(130px,1fr) 16px minmax(190px,1.15fr) 62px;align-items:center;gap:9px;display:grid}.map-arrow{color:var(--arrow);text-align:center}.map-tools{justify-content:flex-end;align-items:center;gap:1px;display:flex}.map-meta{flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;display:flex}.map-detail{border-top:1px dashed var(--line);grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:11px;margin-top:9px;padding-top:10px;display:grid}.map-detail .checks{flex-direction:column;justify-content:center;gap:7px;display:flex}.target-hint{color:var(--faint);font-size:10.5px}.result{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);border-left-width:3px;margin-bottom:8px;padding:9px 11px}.result.ok{border-left-color:var(--ok)}.result.ko{border-left-color:var(--ko)}.result-head{align-items:center;gap:10px;font-size:12.5px;display:flex}.badge{border-radius:20px;padding:1px 8px;font-size:10.5px;font-weight:700}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.ko{background:var(--ko-bg);color:var(--ko)}.badge:not(.ok):not(.ko){background:var(--surface-2);color:var(--muted)}.cond{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2);margin:10px 0;padding:9px 11px}.cond-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.cond-head select{width:auto}.cond-row{align-items:center;gap:6px;margin-bottom:5px;display:flex}.cond-field{flex:34%;min-width:0}.cond-op{flex:none;width:auto;min-width:148px}.cond-value{flex:34%;min-width:0}.resp .cond-row{grid-template-columns:minmax(0,1fr) 14px minmax(0,1.1fr) minmax(0,1fr) auto 26px;align-items:center;gap:8px;display:grid}.resp .cond-row>*{min-width:0}.resp .cond-op{width:100%;min-width:0}.resp .cond-value{grid-column:4}.resp .cond-row>.chip{grid-column:5}.resp .cond-row>button{grid-column:6}.cond-arrow{color:var(--muted);text-align:center;font-size:13px}.gate{justify-content:center;padding:48px 0;display:flex}.gate-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:520px;padding:26px 28px}.gate-card h2{margin-bottom:8px;font-size:15px}.gate-card .hint{line-height:1.55}.gate-list{flex-direction:column;gap:6px;margin:18px 0 14px;display:flex}.gate-org{text-align:left;cursor:pointer;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);color:var(--text);align-items:baseline;gap:10px;padding:12px 14px;font-family:inherit;font-size:13px;display:flex}.gate-org:hover{border-color:var(--accent);background:var(--accent-bg)}.gate-org code{color:var(--muted);background:0 0;border:none;padding:0}.gate-actions{gap:8px;margin-top:16px;display:flex}.xport{margin:10px 0 2px}.xport-head{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.xport-code{cursor:text;white-space:pre-wrap;word-break:break-all;max-height:320px;margin-top:8px;font-size:11.5px;line-height:1.55;overflow:auto}.xport-jeton{align-items:center;gap:6px;margin-left:auto;display:flex}.xport-jeton select{width:auto}.xport-cle{width:190px}.xchg{margin:10px 0 4px}.xchg-cols{align-items:stretch;gap:8px;display:flex}.xchg-col{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;flex:1 1 0;min-width:0;padding:9px 11px;display:flex}.xchg-head{align-items:center;gap:7px;margin-bottom:7px;font-size:12px;display:flex}.xchg-step{border:1px solid var(--line);width:18px;height:18px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.xchg-col:last-of-type{flex:1.7 1 0}.xchg-arrow{color:var(--muted);flex:none;align-self:center}.xchg-json{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--text);margin:0;font-size:11.5px;line-height:1.55}.xchg-line{align-items:baseline;gap:10px;display:flex}.xchg-line>span:first-child{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.xchg-origin{color:var(--muted);font-size:10.5px;font-family:var(--sans,inherit);white-space:nowrap;flex:none;margin-left:auto}.xchg-step-block{border-left:2px solid var(--line);margin-bottom:8px;padding-left:8px}.xchg-step-title{align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.xchg-map{align-items:center;gap:5px;margin:2px 0;font-size:11.5px;display:flex}.xchg-map .mono{min-width:0}.xchg-map .strong{color:var(--text);font-weight:500}.xchg-mode{margin-bottom:6px}.xchg-foot{margin-top:8px}.flow-node.end{min-width:240px}.flow-node.end .xchg-json{font-size:11px}@media (width<=1100px){.xchg-cols{flex-direction:column}.xchg-arrow{align-self:flex-start;transform:rotate(90deg)}}.auth{border-top:1px dashed var(--line);margin-top:10px;padding-top:9px}.trace{border-top:1px solid var(--line);margin-top:12px;padding-top:11px}.trace-head{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:9px;font-size:12.5px;display:flex}.trace-line{flex-wrap:wrap;align-items:center;gap:7px;padding:3px 0;font-size:11.5px;display:flex}.trace-line code,.trace-field code,.trace-chain code{background:var(--field);border-radius:4px;padding:1px 6px;font-size:11px}.pill{background:var(--surface-2);color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:20px;padding:1px 7px;font-size:10px}.arrow{color:var(--faint);margin:0 5px}.chevron{color:var(--faint);margin-left:auto}label.inline{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}label.inline input{width:auto}.trace-step{border:1px solid var(--line);border-left:3px solid var(--faint);border-radius:var(--r-md);background:var(--surface);margin-bottom:7px}.trace-step.ok{border-left-color:var(--ok)}.trace-step.ko{border-left-color:var(--ko)}.trace-step.skipped{opacity:.55;border-left-style:dashed}.trace-step-head{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 11px;font-size:12.5px;display:flex}.trace-rank{background:var(--surface-2);min-width:18px;height:18px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:inline-flex}.trace-glyph{color:var(--accent);text-align:center;width:14px}.trace-step-body{padding:2px 12px 11px 40px}.trace-fields{flex-direction:column;gap:6px;margin:7px 0;display:flex}.trace-field{border-left:2px solid var(--line);padding:3px 0 3px 9px}.trace-field.rejected{border-left-color:var(--ko)}.trace-field-head{flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.trace-chain{color:var(--muted);margin-top:3px;font-size:11px}.trace-reject{color:var(--ko);margin-top:4px;font-size:11.5px}.trace-payload{margin-top:8px}.trace-payload summary{cursor:pointer;color:var(--muted);align-items:center;gap:8px;font-size:11.5px;display:flex}.trace-payload-grid{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.trace-payload-grid>div{flex:260px;min-width:0}.trace-payload-grid pre{max-height:220px;overflow:auto}.trace-outbound{border-top:1px dashed var(--line);margin-top:10px;padding-top:8px}.trace-notes{margin-top:8px}.flow-entry{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.flow-badge{letter-spacing:.6px;background:var(--accent-bg);color:var(--accent);border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:700}.flow-lane-card{padding:15px;overflow-x:auto}.flow-lane{align-items:flex-start;min-width:max-content;display:flex}.flow-group{align-items:flex-start;display:flex}.flow-arrow{color:var(--arrow);-webkit-user-select:none;user-select:none;padding:24px 9px 0;font-size:15px}.flow-node{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-md);background:var(--surface-2);min-width:186px;max-width:290px}.flow-node.trigger{border-left-color:var(--trigger)}.flow-node.outbound{border-left-color:var(--ok)}.flow-node.end{border-left-color:var(--faint)}.flow-node-head{align-items:center;gap:6px;padding:8px 11px 5px;font-size:12.5px;font-weight:500;display:flex}.flow-node-body{flex-direction:column;gap:4px;padding:0 11px 9px;font-size:11.5px;display:flex}.flow-cond{color:var(--warn);background:var(--warn-bg);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;width:fit-content;max-width:100%;padding:2px 7px;font-size:10.5px;overflow:hidden}.flow-map{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.flow-script{white-space:pre;background:#9d7bea14;border-color:#9d7bea33;border-radius:5px;max-width:100%;margin:0;padding:6px 8px;font-size:10.5px;overflow-x:hidden}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;padding-bottom:4px;position:static;overflow-x:auto}.side-label{display:none}.fields.two,.map-main,.map-legend{grid-template-columns:1fr}.map-arrow{display:none}.stp-body{padding-left:14px}}
