:root{--color-bg:#f6f9fc;--color-bg-subtle:#eaf1f7;--color-surface-sunken:#f1f6fa;--color-surface:#ffffff;--color-surface-raised:#ffffff;--color-fg:#0d1b2a;--color-fg-muted:#4a5c72;--color-border:#d5e0ea;--color-border-strong:#b9c9d8;--color-primary:#0e6ba8;--color-primary-hover:#0a5583;--color-primary-active:#084468;--color-primary-fg:#ffffff;--color-primary-subtle:#dbeefb;--color-accent:#1f9d8f;--color-accent-subtle:#d8f2ee;--color-focus-ring:#7cc4ec;--color-danger:#c02626;--color-danger-bg:#fde8e6;--color-success:#15803d;--color-success-bg:#dcfce7;--color-warning:#b45309;--color-warning-bg:#fef3c7;--color-info:#1d4ed8;--color-info-bg:#dbeafe;--color-neutral:#475569;--color-neutral-bg:#e2e8f0;--color-danger-solid:#c02626;--color-danger-solid-fg:#ffffff;--color-flow-code:#7c3aed;--color-flow-code-bg:#ede9fe;--color-flow-trigger:#be185d;--color-flow-trigger-bg:#fce7f3;--color-flow-net:#0369a1;--color-flow-net-bg:#e0f2fe;--color-flow-var:#0f766e;--color-flow-var-bg:#ccfbf1;--color-flow-ai:#4338ca;--color-flow-ai-bg:#e0e7ff;--color-syntax-tag:#7c3aed;--color-syntax-attr:#b45309;--color-syntax-value:#15803d;--color-highlight-bg:#fef08a;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.875rem;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(13,27,42,0.06);--shadow-md:0 4px 12px rgba(13,27,42,0.09);--shadow-lg:0 16px 40px rgba(13,27,42,0.14);--dur-fast:120ms;--dur-base:200ms;--dur-slow:420ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-std:cubic-bezier(0.4,0,0.2,1);--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--sidebar-width:15rem}@media (prefers-color-scheme:dark){:root{--color-bg:#0a1220;--color-bg-subtle:#111c2c;--color-surface-sunken:#132030;--color-surface:#152235;--color-surface-raised:#1b2b41;--color-fg:#e8f0f8;--color-fg-muted:#93a7bd;--color-border:#22344b;--color-border-strong:#31485f;--color-primary:#4cb2e8;--color-primary-hover:#7ecbf3;--color-primary-active:#a5dcf7;--color-primary-fg:#06121f;--color-primary-subtle:#123449;--color-accent:#4fd6c4;--color-accent-subtle:#0f3b38;--color-focus-ring:#4cb2e8;--color-danger:#f38b83;--color-danger-bg:#3b1a17;--color-success:#6ee7a8;--color-success-bg:#0e2f22;--color-warning:#fbbf24;--color-warning-bg:#3a2a0c;--color-info:#93c5fd;--color-info-bg:#152a4d;--color-neutral:#94a3b8;--color-neutral-bg:#1e293b;--color-danger-solid:#b3211f;--color-danger-solid-fg:#ffffff;--color-flow-code:#c4b5fd;--color-flow-code-bg:#2c2150;--color-flow-trigger:#f9a8d4;--color-flow-trigger-bg:#4a1030;--color-flow-net:#7dd3fc;--color-flow-net-bg:#0c2c40;--color-flow-var:#5eead4;--color-flow-var-bg:#0c3330;--color-flow-ai:#a5b4fc;--color-flow-ai-bg:#211f52;--color-syntax-tag:#c4b5fd;--color-syntax-attr:#fbbf24;--color-syntax-value:#86efac;--color-highlight-bg:#4d3f0a;--shadow-sm:0 1px 2px rgba(0,0,0,0.45);--shadow-md:0 4px 12px rgba(0,0,0,0.55);--shadow-lg:0 16px 40px rgba(0,0,0,0.7)}html{color-scheme:dark}}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--color-fg);background:var(--color-bg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}html{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}@supports not (scrollbar-width:thin){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--color-fg-muted);background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}}.hx-scroll--slim{scrollbar-width:thin}@supports not (scrollbar-width:thin){.hx-scroll--slim::-webkit-scrollbar{width:7px;height:7px}}@keyframes hx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hx-scale-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes hx-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes hx-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.hx-btn{transition:background-color var(--dur-fast) var(--ease-std),border-color var(--dur-fast) var(--ease-std),box-shadow var(--dur-fast) var(--ease-std),transform var(--dur-fast) var(--ease-std)}.hx-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.hx-btn:not(:disabled):active{transform:translateY(0);box-shadow:none}.hx-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.hx-btn--primary:not(:disabled):hover{background:var(--color-primary-hover)}.hx-btn--primary:not(:disabled):active{background:var(--color-primary-active)}.hx-btn--secondary:not(:disabled):hover{background:var(--color-surface);border-color:var(--color-border-strong)}.hx-btn--danger:not(:disabled):hover{filter:brightness(1.1)}.hx-field{transition:border-color var(--dur-fast) var(--ease-std),box-shadow var(--dur-fast) var(--ease-std)}.hx-field:hover:not(:disabled){border-color:var(--color-border-strong)}.hx-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.hx-field:disabled{opacity:.6;cursor:not-allowed}.hx-checkbox:hover input:not(:disabled){accent-color:var(--color-primary-hover)}.hx-checkbox input{accent-color:var(--color-primary)}.hx-iconbtn{border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease-std),color var(--dur-fast) var(--ease-std)}.hx-iconbtn:not(:disabled):hover{background:var(--color-bg-subtle);color:var(--color-fg)}.hx-iconbtn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.hx-navlink{position:relative;transition:color var(--dur-fast) var(--ease-std)}.hx-navlink:hover{color:var(--color-primary)}.hx-navlink:after{content:"";position:absolute;left:0;bottom:-.25rem;height:2px;width:100%;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}.hx-navlink:hover:after{transform:scaleX(1)}.hx-sidebar-link{transition:background-color var(--dur-fast) var(--ease-std),color var(--dur-fast) var(--ease-std)}.hx-sidebar-link:hover{background:var(--color-bg-subtle);color:var(--color-fg)}.hx-sidebar-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.hx-card{transition:border-color var(--dur-base) var(--ease-std),box-shadow var(--dur-base) var(--ease-std),transform var(--dur-base) var(--ease-std)}.hx-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.hx-card--selected,.hx-card--selected:hover{border-color:var(--color-primary)}.hx-tab{position:relative;transition:color var(--dur-fast) var(--ease-std)}.hx-tab:hover{color:var(--color-fg)}.hx-tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--dur-base) var(--ease-out)}.hx-tab--active:after{transform:scaleX(1)}.hx-table tbody tr{transition:background-color var(--dur-fast) var(--ease-std)}.hx-table tbody tr:hover{background:var(--color-bg-subtle)}.hx-modal-backdrop{animation:hx-fade-in var(--dur-base) var(--ease-std);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hx-modal-panel{animation:hx-scale-in var(--dur-base) var(--ease-out);box-shadow:var(--shadow-lg)}.hx-reveal{opacity:0;transform:translateY(20px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.hx-reveal--in{opacity:1;transform:none}.hx-pulse{animation:hx-pulse 1.6s var(--ease-std) infinite}.hx-flow-agent-new{animation:hx-pulse 1.1s var(--ease-std) 2;box-shadow:0 0 0 2px var(--color-primary);border-radius:var(--radius-md)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hx-reveal{opacity:1;transform:none}}.session-detail-page{height:100vh;box-sizing:border-box}.session-detail-layout{flex:1 1;min-height:0;display:flex;gap:.25rem}.session-detail-canvas-col{flex:2 1 28rem;min-width:0;height:100%;display:flex;flex-direction:column}.session-detail-devtools-col{flex:1 1 24rem;min-width:0;max-width:32rem;height:100%}.session-grid-page{height:100vh;box-sizing:border-box;min-height:0}.session-grid-layout{flex:1 1;min-height:0;display:flex;gap:.75rem}.session-grid-cells{flex:1 1;min-width:0;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));grid-auto-rows:min-content;grid-gap:.75rem;gap:.75rem;align-content:start}.session-grid-layout--docked>.session-grid-dock{flex:1 1 24rem;max-width:32rem;min-width:0}@media (max-width:860px){.session-grid-page{height:auto;min-height:100vh;overflow-y:auto}.session-grid-layout{flex:none;flex-direction:column}.session-grid-cells{overflow-y:visible;grid-template-columns:1fr;grid-auto-rows:min-content}.session-grid-layout--docked>.session-grid-dock{max-width:none;height:32rem}.session-detail-page{height:auto;min-height:100vh;overflow-y:auto}.session-detail-layout{flex:none;min-height:0;flex-direction:column}.session-detail-canvas-col{max-width:none;height:60vh}.session-detail-devtools-col{max-width:none;height:32rem}.hx-resize-handle{display:none}}.hx-resize-handle{transition:background-color var(--dur-fast) var(--ease-std)}.hx-resize-handle:hover{background:var(--color-primary-subtle)}.hx-flow{--xy-background-color:var(--color-surface-sunken);--xy-background-pattern-color:var(--color-border-strong);--xy-edge-stroke:var(--color-border-strong);--xy-edge-stroke-width:2;--xy-edge-stroke-selected:var(--color-primary);--xy-connectionline-stroke:var(--color-primary);--xy-connectionline-stroke-width:2;--xy-handle-background-color:var(--color-surface);--xy-handle-border-color:var(--color-border-strong);--xy-selection-background-color:var(--color-primary-subtle);--xy-selection-border:1px dashed var(--color-primary);--xy-controls-button-background-color:var(--color-surface);--xy-controls-button-background-color-hover:var(--color-bg-subtle);--xy-controls-button-color:var(--color-fg-muted);--xy-controls-button-color-hover:var(--color-fg);--xy-controls-button-border-color:var(--color-border);--xy-controls-box-shadow:var(--shadow-md);--xy-minimap-background-color:var(--color-surface);--xy-minimap-mask-background-color:color-mix(in srgb,var(--color-bg-subtle) 55%,transparent);--xy-minimap-node-background-color:var(--color-border-strong);--xy-attribution-background-color:transparent}.hx-flow .react-flow__controls{overflow:hidden}.hx-flow .react-flow__controls,.hx-flow .react-flow__minimap{border-radius:var(--radius-md);border:1px solid var(--color-border)}.hx-flow .react-flow__attribution a{color:var(--color-fg-muted);opacity:.55}.hx-flow .react-flow__node{border:none;background:none;padding:0;border-radius:0;width:auto;font-size:inherit;color:inherit}.hx-flow .react-flow__handle{width:.7rem;height:.7rem;border-width:2px;transition:transform var(--dur-fast) var(--ease-std),box-shadow var(--dur-fast) var(--ease-std)}.hx-flow .react-flow__handle:hover,.hx-flow .react-flow__node:hover .react-flow__handle{transform:scale(1.25);box-shadow:0 0 0 3px var(--color-primary-subtle)}.hx-flow-edge__btn{display:flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-fg-muted);font-size:.6rem;line-height:1;cursor:pointer;opacity:.35;transition:opacity var(--dur-fast) var(--ease-std),color var(--dur-fast) var(--ease-std),border-color var(--dur-fast) var(--ease-std),transform var(--dur-fast) var(--ease-std)}.hx-flow-edge--selected .hx-flow-edge__btn,.hx-flow-edge:hover .hx-flow-edge__btn,.hx-flow-edge__btn:focus-visible{opacity:1}.hx-flow-edge__btn:focus-visible,.hx-flow-edge__btn:hover{border-color:var(--color-danger);color:var(--color-danger);transform:scale(1.15)}.hx-flow-edge__btn--add:focus-visible,.hx-flow-edge__btn--add:hover{border-color:var(--color-primary);color:var(--color-primary)}.hx-flow-handle--true{background:var(--color-success)!important;border-color:var(--color-success)!important}.hx-flow-handle--false{background:var(--color-danger)!important;border-color:var(--color-danger)!important}.hx-flow-handle--classify{background:var(--color-flow-ai)!important;border-color:var(--color-flow-ai)!important}.hx-flow-node{border:1px solid var(--color-border);border-left:3px solid var(--hx-node-accent,var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-std),border-color var(--dur-base) var(--ease-std),transform var(--dur-base) var(--ease-std)}.hx-flow-node:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong);border-left-color:var(--hx-node-accent,var(--color-border-strong))}.hx-flow-node--selected{border-color:var(--hx-node-accent,var(--color-primary));box-shadow:var(--shadow-md),0 0 0 3px var(--color-primary-subtle)}.hx-flow-node--running{border-color:var(--color-info);box-shadow:var(--shadow-md),0 0 0 3px var(--color-info-bg);animation:hx-pulse 1.6s var(--ease-std) infinite}.hx-flow-node__delete{opacity:0;transition:opacity var(--dur-fast) var(--ease-std)}.hx-flow-node:hover .hx-flow-node__delete,.hx-flow-node__delete:focus-visible{opacity:1}.hx-context-menu{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-lg);animation:hx-scale-in var(--dur-fast) var(--ease-out);transform-origin:top left}.hx-context-menu__item{transition:background-color var(--dur-fast) var(--ease-std)}.hx-context-menu__item:hover{background:var(--color-bg-subtle)}.hx-context-menu__item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.hx-context-menu__item--danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}