:root{--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-950: #030712;--slate-800: #1e293b;--slate-900: #0f172a;--emerald-600: #059669;--emerald-50: #ecfdf5;--emerald-200: #a7f3d0;--amber-600: #d97706;--amber-50: #fffbeb;--amber-200: #fde68a;--red-600: #dc2626;--red-50: #fef2f2;--red-200: #fecaca;--blue-600: #2563eb;--font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box}body{margin:0;background:var(--gray-50);color:var(--gray-800);font:400 14px/1.5 var(--font);-webkit-font-smoothing:antialiased}.mono{font-family:var(--mono)}.dim{color:var(--gray-500);font-weight:400}a{color:var(--blue-600);text-decoration:none}a:hover{text-decoration:underline}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;height:56px;background:#fff;border-bottom:1px solid var(--gray-200)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:26px;height:25px;flex:none}.brand-text{display:flex;align-items:baseline;gap:10px;min-width:0}.brand-name{font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--slate-900)}.brand-sub{font-size:13px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:10px}.modes{display:flex;padding:3px;gap:2px;background:var(--gray-100);border-radius:10px}.modes button{border:0;background:transparent;color:var(--gray-500);font:500 12.5px var(--font);padding:5px 14px;border-radius:7px;cursor:pointer;transition:color .15s,background .15s}.modes button:hover{color:var(--gray-800)}.modes button.on{background:#fff;color:var(--gray-800);box-shadow:0 1px 2px #00000014}button{font:500 13px var(--font);cursor:pointer;color:var(--gray-700);background:#fff;border:1px solid var(--gray-300);border-radius:8px;padding:6px 12px;transition:background .15s,border-color .15s,color .15s}button:hover{background:var(--gray-50);border-color:var(--gray-400)}button:disabled{background:var(--gray-100);color:var(--gray-400);cursor:default}button.ghost{border-color:var(--gray-200);color:var(--gray-500);background:#fff}button.ghost:hover{color:var(--gray-800)}.actions button:last-child,#load{background:var(--slate-800);border-color:var(--slate-800);color:#fff;font-weight:500}.actions button:last-child:hover,#load:hover{background:var(--slate-900);border-color:var(--slate-900)}.actions button.ghost{background:#fff;border-color:var(--gray-300);color:var(--gray-600)}.actions button.ghost:hover{color:var(--gray-800);background:var(--gray-50)}#connect{display:inline-flex;align-items:center;gap:7px;border-radius:999px;font-size:12px;font-weight:500;padding:6px 14px;background:var(--slate-800);border-color:var(--slate-800);color:#fff}#connect:hover{background:var(--slate-900)}#connect.connected{background:var(--gray-100);border-color:var(--gray-100);color:var(--gray-700);font-family:var(--mono)}#connect.connected:before{content:"";width:16px;height:16px;border-radius:50%;flex:none;background:linear-gradient(135deg,#f472b6,#fb923c)}.shell{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;max-width:1280px;margin:0 auto;padding:24px 24px 90px;align-items:start}.side{position:sticky;top:76px;display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:16px;max-height:calc(100vh - 100px);overflow-y:auto}.side-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gray-400)}.main{display:flex;flex-direction:column;gap:14px;min-width:0}@media (max-width: 960px){.shell{grid-template-columns:1fr}.side{position:static;max-height:none}}label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500;color:var(--gray-600)}label .dim{font-size:11.5px}input,select,textarea{width:100%;font:400 13px/1.4 var(--mono);color:var(--gray-800);background:#fff;border:1px solid var(--gray-300);border-radius:8px;padding:7px 11px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--gray-400)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--slate-800);box-shadow:0 0 0 3px #1e293b14}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239ca3af' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}input[type=checkbox]{width:auto;accent-color:var(--slate-800);margin:0}#load{margin-top:4px;padding:8px 14px;width:100%}.block{width:100%}.paste{border:1px dashed var(--gray-300);border-radius:10px;padding:9px 12px;background:var(--gray-50)}.paste summary{cursor:pointer;font-size:12.5px;font-weight:500;color:var(--gray-600);-webkit-user-select:none;user-select:none}.paste summary:hover{color:var(--gray-800)}.paste textarea{min-height:120px;margin:10px 0 8px;resize:vertical;font-size:12px}.paste button{width:100%}.presetrow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.presetrow label{flex:1;min-width:180px}.presetrow>button{font-size:12px;padding:6px 10px;margin-bottom:1px}.statusbar{font-size:12.5px;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:10px 14px}.statusbar:empty{display:none}.statusbar b{color:var(--gray-800);font-weight:600}.statusbar .mono{font-size:12px;background:var(--gray-100);padding:1px 6px;border-radius:5px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--gray-200);border-radius:999px;padding:4px 12px;font-size:12px}.chip-k{color:var(--gray-400);font-weight:500}.chip-v{font-family:var(--mono);font-size:11.5px;color:var(--gray-800)}.card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:16px}.card.flow{border-left:3px solid var(--slate-800)}.card.test{border-style:dashed}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.title{font-weight:500;font-size:14px;color:var(--gray-800)}.meta{color:var(--gray-500);font-size:11.5px;font-family:var(--mono);margin:4px 0 10px;word-break:break-all;line-height:1.5}.card input{margin-bottom:10px}.card .cb{margin:8px 0 12px}.actions{display:flex;gap:8px}.status{margin-top:10px;font-size:12.5px;word-break:break-all;color:var(--gray-600)}.status:empty{display:none}.status.ok{color:var(--emerald-600)}.status.err{color:var(--red-600)}.badge,.pill{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;color:var(--gray-500);background:var(--gray-100);border:1px solid var(--gray-200);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.badge.ok{color:var(--emerald-600);background:var(--emerald-50);border-color:var(--emerald-200)}.badge.todo{color:var(--amber-600);background:var(--amber-50);border-color:var(--amber-200)}.badge.err{color:var(--red-600);background:var(--red-50);border-color:var(--red-200)}h3.grp{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gray-400);margin:12px 0 0}h3.grp .dim{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px}#cards{display:flex;flex-direction:column;gap:12px}fieldset.perms{border:1px solid var(--gray-200);border-radius:12px;background:#fff;padding:10px 16px 14px;margin:0}fieldset.perms legend{padding:0 6px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gray-400)}.cb{display:flex;align-items:center;gap:8px;flex-direction:row;font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--gray-700);cursor:pointer;margin:7px 0}.cb .dim{font-size:12px}fieldset.perms label:not(.cb){margin-top:10px}.userrow{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:14px 16px}.flowlog{margin:12px 0 0;max-height:480px;overflow:auto;background:var(--gray-950);color:var(--gray-100);border-radius:10px;padding:12px 14px;font:400 12px/1.55 var(--mono);white-space:pre-wrap;word-break:break-word}.flowlog:empty{display:none}.flowlog::-webkit-scrollbar{width:8px}.flowlog::-webkit-scrollbar-thumb{background:var(--gray-600);border-radius:4px}.flowlog::-webkit-scrollbar-track{background:transparent}.hint{color:var(--gray-500);font-size:13px}.hint.err{color:var(--red-600)}.parse-msg{margin-top:8px;font-size:12px}.statusbar.live{border-color:var(--amber-200);border-left:3px solid var(--amber-600);background:var(--amber-50);color:var(--gray-700)}.actions button.live{background:var(--amber-600);border-color:var(--amber-600)}.actions button.live:hover{background:#b45309;border-color:#b45309}.card.needs{border-left:3px solid var(--amber-600)}.statusbar .steps{display:block;margin:6px 0;line-height:2}.statusbar .steps button{font-size:12px;padding:4px 10px}
