@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.wf-overlay{background:var(--bg-0);border-left:1px solid var(--border);flex-direction:column;flex:1;min-width:400px;height:100%;display:flex}.wf-toolbar{background:var(--bg-1);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:6px 12px;display:flex}.wf-toolbar-left,.wf-toolbar-center,.wf-toolbar-right{align-items:center;gap:6px;display:flex}.wf-toolbar-name{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-0);font-family:var(--font-body);outline:none;width:200px;padding:4px 10px;font-size:13px}.wf-toolbar-name:focus{border-color:var(--accent)}.wf-toolbar-btn{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-1);cursor:pointer;font-size:12px;font-family:var(--font-body);align-items:center;gap:4px;padding:5px 10px;transition:all .15s;display:flex}.wf-toolbar-btn:hover{background:var(--bg-4);color:var(--text-0)}.wf-run-btn{color:var(--c-emerald);border-color:var(--c-emerald)}.wf-run-btn:hover{background:oklch(78% .14 155/.15)}.wf-stop-btn{color:var(--c-rose);border-color:var(--c-rose)}.wf-stop-btn:hover{background:oklch(72% .18 22/.15)}.wf-close-btn{color:var(--text-2)}.wf-close-btn:hover{color:var(--c-rose)}.wf-toolbar-toggle{color:var(--text-2);cursor:pointer;align-items:center;gap:4px;font-size:11px;display:flex}.wf-toolbar-toggle input{accent-color:var(--accent)}.wf-layout{flex:1;grid-template-rows:1fr 200px;grid-template-columns:260px 1fr;min-height:0;display:grid}.wf-sidebar{background:var(--bg-1);border-right:1px solid var(--border);flex-direction:column;grid-row:1/3;display:flex;overflow-y:auto}.wf-canvas-area{min-height:0;position:relative}.wf-bottom{border-top:1px solid var(--border);overflow:hidden}.wf-palette{border-bottom:1px solid var(--border)}.wf-palette-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);padding:8px 12px;font-size:11px;font-weight:600}.wf-palette-search{background:var(--bg-2);border:none;border-bottom:1px solid var(--border-subtle);width:100%;color:var(--text-0);font-size:12px;font-family:var(--font-body);box-sizing:border-box;outline:none;padding:6px 12px}.wf-palette-search::placeholder{color:var(--text-3)}.wf-palette-list{padding:4px 0}.wf-palette-category{width:100%;color:var(--text-1);cursor:pointer;text-align:left;font-size:12px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;display:flex}.wf-palette-category:hover{background:var(--bg-2)}.wf-palette-count{color:var(--text-3);margin-left:auto;font-size:10px;font-weight:400}.wf-palette-item{cursor:grab;align-items:center;gap:8px;padding:6px 12px 6px 24px;transition:background .1s;display:flex}.wf-palette-item:hover{background:var(--bg-2)}.wf-palette-item:active{cursor:grabbing}.wf-palette-icon{flex-shrink:0;font-size:16px}.wf-palette-info{flex-direction:column;min-width:0;display:flex}.wf-palette-name{color:var(--text-0);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.wf-palette-desc{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.wf-props{padding:0}.wf-props-empty{text-align:center;padding:16px 12px}.wf-props-header{color:var(--text-0);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.wf-props-delete{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px;font-weight:700}.wf-props-delete:hover{color:var(--c-rose);background:var(--bg-3)}.wf-props-section{border-bottom:1px solid var(--border-subtle);padding:8px 12px}.wf-props-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin-bottom:4px;font-size:10px;font-weight:600}.wf-props-value{color:var(--text-1);font-size:12px}.wf-props-input{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text-0);font-size:12px;font-family:var(--font-mono);resize:vertical;box-sizing:border-box;outline:none;padding:6px 8px}.wf-props-input:focus{border-color:var(--accent)}.wf-logs{flex-direction:column;height:100%;display:flex}.wf-logs-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);border-bottom:1px solid var(--border-subtle);background:var(--bg-1);align-items:center;gap:8px;padding:6px 12px;font-size:11px;font-weight:600;display:flex}.wf-logs-running{color:var(--c-amber);animation:1.5s ease-in-out infinite wf-pulse}@keyframes wf-pulse{0%,to{opacity:1}50%{opacity:.5}}.wf-logs-count{color:var(--text-3);margin-left:auto;font-size:10px;font-weight:400}.wf-logs-list{font-family:var(--font-mono);background:var(--bg-0);flex:1;padding:4px 0;font-size:11px;line-height:1.6;overflow-y:auto}.wf-log-line{white-space:pre-wrap;word-break:break-all;padding:1px 12px}.wf-modal-overlay{background:var(--veil-bg);z-index:10000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wf-modal{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-m);width:400px;max-height:500px;box-shadow:var(--shadow-pop);flex-direction:column;display:flex}.wf-modal-header{color:var(--text-0);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.wf-modal-header button{color:var(--text-2);cursor:pointer;background:0 0;border:none;font-size:18px;font-weight:700}.wf-modal-body{flex:1;overflow-y:auto}.wf-modal-item{border:none;border-bottom:1px solid var(--border-subtle);width:100%;color:var(--text-0);cursor:pointer;text-align:left;font-size:13px;font-family:var(--font-body);background:0 0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.wf-modal-item:hover{background:var(--bg-2)}.wf-canvas-area .react-flow__attribution{display:none}.wf-canvas-area .react-flow__controls{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-s)}.wf-canvas-area .react-flow__controls-button{background:var(--bg-2);border-bottom:1px solid var(--border-subtle);fill:var(--text-1)}.wf-canvas-area .react-flow__controls-button:hover{background:var(--bg-3)}.wf-canvas-area .react-flow__minimap{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-s)}:root{--font-body:"Geist", "Söhne", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", ui-monospace, monospace;--accent:#f5c04a;--accent-soft:color-mix(in oklch, var(--accent) 18%, transparent);--accent-edge:color-mix(in oklch, var(--accent) 30%, transparent);--c-emerald:oklch(78% .14 155);--c-amber:oklch(84% .14 80);--c-blue:oklch(78% .14 250);--c-violet:oklch(76% .14 295);--c-rose:oklch(72% .18 22);--danger:#e53e3e;--radius-xs:5px;--radius-s:7px;--radius-m:10px;--radius-l:14px;--radius-xl:20px}:root,.theme-dark{--bg-0:#08090b;--bg-1:#0e0f12;--bg-2:#14161b;--bg-3:#1b1d23;--bg-4:#23262e;--border-subtle:#1e2026;--border:#292c34;--border-strong:#353944;--text-0:#eceef2;--text-1:#adb1bc;--text-2:#7a7f8b;--text-3:#4d5260;--text-4:#353944;--user-bg:#1a1c22;--code-bg:#0b0c0f;--shadow-card:0 1px 0 #ffffff06 inset, 0 8px 28px #00000059;--shadow-pop:0 1px 0 #ffffff0a inset, 0 24px 60px #0000008c, 0 8px 16px #00000073;--veil-bg:#0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-light{--bg-0:#fafaf7;--bg-1:#fff;--bg-2:#f4f4f0;--bg-3:#ebebe5;--bg-4:#deded7;--border-subtle:#ecece6;--border:#deded5;--border-strong:#c8c8be;--text-0:#1a1a17;--text-1:#4a4a45;--text-2:#7b7b72;--text-3:#a9a99e;--text-4:#d2d2c8;--user-bg:#f2f2ec;--code-bg:#f5f5ef;--shadow-card:0 1px 0 #ffffffb3 inset, 0 4px 14px #281e0a0f;--shadow-pop:0 1px 0 #ffffffb3 inset, 0 24px 60px #281e0a2e;--veil-bg:#14120c80;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.theme-ocean{--bg-0:#0a0e14;--bg-1:#0d1520;--bg-2:#131b28;--bg-3:#1a2435;--bg-4:#222e42;--border-subtle:#1c2840;--border:#283752;--border-strong:#354868;--text-0:#e2e8f0;--text-1:#a8b8cc;--text-2:#728ba8;--text-3:#4a6080;--text-4:#334766;--user-bg:#152030;--code-bg:#0a111c;--shadow-card:0 1px 0 #64a0ff08 inset, 0 8px 28px #0006;--shadow-pop:0 1px 0 #64a0ff0d inset, 0 24px 60px #0009, 0 8px 16px #00000080;--veil-bg:#00050f99;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,.theme-dark,.theme-light,.theme-ocean{--bg:var(--bg-0);--bg-surface:var(--bg-2);--bg-hover:var(--bg-3);--bg-raised:var(--bg-3);--text:var(--text-0);--text-muted:var(--text-2);--font:var(--font-mono);--radius:var(--radius-m);--green:var(--c-emerald);--green-dim:color-mix(in oklch, var(--c-emerald) 14%, var(--bg-2));--red:var(--c-rose);--red-dim:color-mix(in oklch, var(--c-rose) 14%, var(--bg-2));--orange:var(--c-amber);--purple:var(--c-violet);--yellow:var(--accent);--yellow-dim:color-mix(in oklch, var(--accent) 14%, var(--bg-2));--accent-dim:var(--accent-soft)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--text-0);background:var(--bg-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:13.5px;line-height:1.5;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:inherit}.app{background:var(--bg-1);height:100vh;color:var(--text-0);flex-direction:column;display:flex;overflow:hidden}.topbar{background:var(--bg-0);border-bottom:1px solid var(--border-subtle);flex:0 0 52px;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex}.topbar-left{align-items:center;gap:14px;display:flex}.topbar-right{align-items:center;gap:4px;display:flex}.logo{font-family:var(--font-body);letter-spacing:-.02em;color:var(--text-0);font-size:17px;font-weight:600}.logo-sub{color:var(--text-2);margin-left:1px;font-size:13px;font-weight:400}.folder-badge{font-family:var(--font-mono);color:var(--text-0);background:var(--bg-2);border:1px solid var(--border-subtle);border-radius:var(--radius-s);align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.storage-indicator{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600}.storage-local{color:#4caf50;background:#4caf5026}.storage-opfs{color:#2196f3;background:#2196f326}.close-project-btn{opacity:.5;margin-left:-4px;padding:2px 4px}.close-project-btn:hover{opacity:1;color:var(--danger)}.icon-btn{border-radius:var(--radius-s);width:28px;height:28px;color:var(--text-1);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.icon-btn:hover{background:var(--bg-2);color:var(--text-0)}.icon-btn.danger:hover{color:var(--c-rose)}.text-btn{border:1px solid var(--border);border-radius:var(--radius-s);height:28px;color:var(--text-1);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.text-btn:hover{background:var(--bg-2);color:var(--text-0)}.chat-area{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:2px;width:100%;max-width:920px;min-height:0;margin:0 auto;padding:0 28px 24px;display:flex;overflow-y:auto}.chat-area::-webkit-scrollbar{width:10px}.chat-area::-webkit-scrollbar-thumb{background:0 0;border-radius:4px}.chat-area:hover::-webkit-scrollbar-thumb{background:var(--border)}.msg{grid-template-columns:28px 1fr;align-items:start;gap:14px;padding:8px 0;animation:.15s stepIn;display:grid;position:relative}@keyframes stepIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.msg:after{content:"";background:var(--border-subtle);width:1px;position:absolute;top:36px;bottom:-2px;left:13px}.msg:last-child:after{display:none}.msg-icon{z-index:1;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;display:flex;position:relative}.user-icon{background:linear-gradient(135deg, var(--accent), color-mix(in oklch, var(--accent) 60%, #ff7a00));color:#1a1500}.assistant-icon{background:var(--accent);border-color:var(--accent);color:#1a1500;box-shadow:0 0 0 3px var(--accent-soft)}.tool-icon{background:color-mix(in oklch, var(--c-emerald) 12%, var(--bg-2));border:1px solid color-mix(in oklch, var(--c-emerald) 30%, var(--border-subtle));color:var(--c-emerald)}.tool-error .tool-icon{background:color-mix(in oklch, var(--c-rose) 14%, var(--bg-2));border:1px solid color-mix(in oklch, var(--c-rose) 35%, var(--border-subtle));color:var(--c-rose)}.msg-body{flex:1;min-width:0}.msg-label{color:var(--text-2);align-items:center;gap:6px;margin-bottom:4px;font-size:11.5px;display:flex}.msg-label .role{color:var(--text-0);font-weight:500}.msg-content{color:var(--text-0);word-wrap:break-word;text-wrap:pretty;max-width:72ch;font-size:14px;line-height:1.6}.msg-user{padding-top:14px}.msg-user .msg-content{color:var(--text-0);font-size:14.5px;line-height:1.6}.msg-user .msg-label{color:var(--text-0);font-weight:500}.msg-assistant{background:0 0}.msg-assistant .msg-label{color:var(--text-0);font-weight:600}.msg-tool{background:0 0;padding:4px 0}.msg-tool .msg-icon{width:24px;height:24px}.tool-label{font-family:var(--font-mono);color:var(--text-1);align-items:center;gap:6px;font-size:12px;display:flex}.tool-args{color:var(--text-2);margin-left:2px;font-size:11px}.tool-arg-key{color:var(--text-2)}.tool-arg-val{color:var(--text-1)}.tool-arg-sep{color:var(--text-3)}.nudge-label{color:var(--c-amber);font-style:italic;font-family:var(--font-body)}.tool-details{border:1px solid var(--border-subtle);background:var(--bg-2);border-radius:var(--radius-m);margin-top:6px;overflow:hidden}.tool-details summary{font-size:12px;font-family:var(--font-mono);color:var(--text-1);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:10px;padding:7px 12px;transition:background .12s;display:flex}.tool-details summary:hover{background:var(--bg-3);color:var(--text-0)}.tool-details[open] summary{border-bottom:1px solid var(--border-subtle)}.tool-output{font-family:var(--font-mono);background:var(--code-bg);white-space:pre-wrap;word-break:break-all;max-height:300px;color:var(--text-1);border:none;border-radius:0;margin:0;padding:10px 12px;font-size:12px;line-height:1.55;overflow:auto}.markdown p{margin-bottom:8px}.markdown p:last-child{margin-bottom:0}.markdown code{font-family:var(--font-mono);background:var(--bg-3);border-radius:var(--radius-xs);color:var(--text-1);padding:2px 6px;font-size:12.5px}.markdown pre{background:var(--code-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-m);margin:8px 0;padding:12px;overflow-x:auto}.markdown pre code{color:var(--text-1);background:0 0;padding:0}.markdown strong{color:var(--text-0);background:linear-gradient(transparent 60%, var(--accent-soft) 60%);border-radius:2px;padding:0 2px;font-weight:600}.markdown ul,.markdown ol{margin:4px 0;padding-left:20px}.markdown li{color:var(--text-1);margin:2px 0}.markdown h1,.markdown h2,.markdown h3{font-family:var(--font-body);letter-spacing:-.01em;color:var(--text-0);margin:14px 0 6px;font-weight:600}.markdown h1{font-size:18px}.markdown h2{font-size:16px}.markdown h3{font-size:14px}.markdown table{border-collapse:collapse;margin:8px 0}.markdown th,.markdown td{border:1px solid var(--border);padding:5px 10px;font-size:12.5px}.markdown th{background:var(--bg-2);color:var(--text-1);font-weight:500}.markdown blockquote{border-left:2px solid var(--accent-edge);color:var(--text-2);margin:8px 0;padding-left:12px}.markdown a{color:var(--accent);text-decoration:none}.markdown a:hover{text-decoration:underline}.chat-input-container{background:linear-gradient(to top, var(--bg-1), transparent);flex:none;padding:12px 28px 18px;position:relative}.chat-input-row{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-l);max-width:920px;box-shadow:var(--shadow-card);align-items:flex-end;gap:10px;margin:0 auto;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.chat-input-row:focus-within{border-color:var(--accent-edge);box-shadow:var(--shadow-card), 0 0 0 4px var(--accent-soft)}.chat-input-row textarea{color:var(--text-0);font-size:14px;font-family:var(--font-body);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:200px;line-height:1.55}.chat-input-row textarea::placeholder{color:var(--text-3)}.send-btn{background:var(--accent);color:#1a1500;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .12s,transform .12s;display:inline-flex}.send-btn:hover{transform:translateY(-1px)}.send-btn:disabled{background:var(--bg-3);color:var(--text-3);cursor:not-allowed;transform:none}.stop-btn{background:var(--c-rose);color:#fff}.stop-btn:hover{transform:translateY(-1px)}.completions-bar{flex-wrap:wrap;gap:4px;max-width:920px;margin:0 auto;padding:6px 0 8px;display:flex}.completion-item{background:var(--bg-3);border:1px solid var(--border-subtle);font-size:12px;font-family:var(--font-mono);cursor:pointer;color:var(--text-1);border-radius:99px;padding:3px 10px;transition:border-color .12s,background .12s}.completion-item:hover{border-color:var(--border);color:var(--text-0)}.completion-item.active{background:var(--accent-soft);border-color:var(--accent-edge);color:var(--text-0)}.folder-permission-banner{background:var(--bg-2);border-bottom:1px solid var(--border);color:var(--text-1);flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex}.folder-permission-banner span{flex:1}.empty-state{height:100%;color:var(--text-1);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.empty-state h1{font-family:var(--font-body);letter-spacing:-.03em;color:var(--text-0);margin:0 0 6px;font-size:26px;font-weight:600}.empty-state p{color:var(--text-2);margin:0 0 18px;font-size:14px}.empty-steps{flex-direction:column;gap:10px;margin-top:8px;display:flex}.step{color:var(--text-2);align-items:center;gap:10px;font-size:13px;display:flex}.step-num{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);font-family:var(--font-mono);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.model-badge{font-family:var(--font-mono);color:var(--text-2);background:var(--bg-2);border:1px solid var(--border-subtle);border-radius:99px;margin-top:6px;padding:4px 10px;font-size:11px}.compliance-group{margin:4px 0}.compliance-group-toggle{border:1px solid color-mix(in oklch, var(--c-amber) 30%, var(--border-subtle));border-radius:var(--radius-s);color:var(--text-2);cursor:pointer;font-size:11px;font-family:var(--font-mono);opacity:.6;background:0 0;padding:3px 10px}.compliance-group-toggle:hover{opacity:1}.compliance-group-expanded{border-left:2px solid color-mix(in oklch, var(--c-amber) 40%, var(--border-subtle));background:color-mix(in oklch, var(--c-amber) 3%, var(--bg-1));border-radius:var(--radius-s);margin-top:4px;padding:8px}.msg-hidden{opacity:.5;font-size:11px;font-family:var(--font-mono);gap:8px;padding:3px 0;display:flex}.msg-hidden-role{text-transform:uppercase;flex-shrink:0;width:60px;font-size:9px;font-weight:700}.msg-hidden-content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.system-prompt-banner{margin:4px 0 8px}.system-prompt-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-s);color:var(--text-2);cursor:pointer;opacity:.7;background:0 0;padding:4px 10px}.system-prompt-toggle:hover{opacity:1}.system-prompt-content{font-size:11px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--text-2);background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-m);max-height:400px;margin-top:6px;padding:12px;overflow:auto}.error-bar{background:color-mix(in oklch, var(--c-rose) 10%, var(--bg-2));border:1px solid color-mix(in oklch, var(--c-rose) 35%, var(--border-subtle));color:var(--c-rose);border-radius:var(--radius-m);font-size:13px;font-family:var(--font-mono);margin:8px 0;padding:8px 14px}.ext-status-bar{background:color-mix(in oklch, var(--c-blue) 8%, var(--bg-2));border:1px solid color-mix(in oklch, var(--c-blue) 25%, var(--border-subtle));color:var(--c-blue);border-radius:var(--radius-m);font-size:12px;font-family:var(--font-mono);align-items:center;gap:8px;margin:4px 0;padding:6px 14px;animation:.2s ext-fade-in;display:flex}.ext-status-dot{background:var(--c-blue);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite ext-pulse}@keyframes ext-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes ext-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.settings-overlay{z-index:100;background:var(--veil-bg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:flex-start;padding-top:10vh;animation:.12s ease-out veilIn;display:flex;position:fixed;inset:0}@keyframes veilIn{0%{opacity:0}to{opacity:1}}.settings-panel{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-l);width:min(720px,95vw);box-shadow:var(--shadow-pop);flex-direction:column;max-height:80vh;transition:width .2s;animation:.18s cubic-bezier(.2,.7,.3,1) popIn;display:flex}.settings-panel.wide{background:var(--bg-2);width:min(1100px,95vw)}.settings-panel>:not(.settings-header):not(.settings-footer){padding:0 22px}.settings-panel>.settings-header{padding:22px 22px 0}.settings-panel .settings-section:last-of-type{padding-bottom:10px}.settings-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:0 22px;overflow-y:auto}.settings-tabs{background:var(--bg-0);border-bottom:1px solid var(--border);flex-shrink:0;padding:0 12px;display:flex}.settings-tab{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 18px;font-size:12.5px;font-weight:500;transition:all .15s}.settings-tab:hover{color:var(--text-0);background:var(--bg-2)}.settings-tab.active{color:var(--c-blue);border-bottom-color:var(--c-blue)}.tpl-split{grid-template-columns:55% 45%;gap:0;height:100%;min-height:0;display:grid}@media (width<=700px){.tpl-split{grid-template-columns:1fr}}.tpl-left,.tpl-right{scrollbar-width:thin;padding:0 2px;overflow-y:auto}.tpl-left{padding-right:10px}.tpl-right{border-left:1px solid var(--border-subtle);padding-left:14px}@media (width<=700px){.tpl-right{border-left:none;border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:12px;padding-left:2px}}.tpl-sticky-bar{z-index:2;background:var(--bg-2);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:8px 0 10px;display:flex;position:sticky;top:0}.tpl-sticky-bar select{background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-s);color:var(--text-0);font-size:12px;font-family:var(--font-mono);padding:5px 10px}.tpl-sticky-bar .tpl-prompt-chars{color:var(--text-3);font-size:11px;font-family:var(--font-mono);margin-left:auto}.tpl-group{margin-bottom:14px}.tpl-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:4px 0 6px;display:flex}.tpl-group-header h4{text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:11.5px;font-weight:600}.tpl-group-header.roleplay h4{color:var(--c-violet)}.tpl-group-header.format h4{color:var(--c-blue)}.tpl-group-header.context h4{color:var(--c-emerald)}.tpl-group-header.behavioral h4{color:var(--c-amber,#f59e0b)}.tpl-group.machinery-divider{border-top:1px solid color-mix(in srgb, var(--text-3) 25%, transparent);margin-top:18px;padding-top:14px}.tpl-group-header .tpl-group-chevron{color:var(--text-3);font-size:10px;transition:transform .15s}.tpl-group-header .tpl-group-chevron.open{transform:rotate(90deg)}.tpl-group-line{background:var(--border-subtle);flex:1;height:1px}.tpl-var-card{border:1px solid var(--border-subtle);border-radius:var(--radius-s);margin-bottom:5px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.tpl-var-card.highlighted{border-color:var(--accent-edge);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent)}.tpl-var-card.empty{opacity:.7;border-style:dashed}.tpl-var-header{background:var(--bg-0);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:6px 10px;display:flex}.tpl-var-header:hover{background:var(--bg-1)}.tpl-var-name{font-family:var(--font-mono);color:var(--text-1);font-size:11px;font-weight:600}.tpl-var-badge{letter-spacing:.02em;border-radius:10px;padding:1px 6px;font-size:9px;font-weight:500}.tpl-var-badge.roleplay{background:color-mix(in srgb, var(--c-violet) 15%, transparent);color:var(--c-violet)}.tpl-var-badge.format{background:color-mix(in srgb, var(--c-blue) 15%, transparent);color:var(--c-blue)}.tpl-var-badge.context{background:color-mix(in srgb, var(--c-emerald) 15%, transparent);color:var(--c-emerald)}.tpl-var-badge.behavioral{background:color-mix(in srgb, var(--c-amber,#f59e0b) 15%, transparent);color:var(--c-amber,#f59e0b)}.tpl-var-badge.override{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.tpl-var-icons{align-items:center;gap:6px;margin-left:auto;display:flex}.tpl-var-icon{color:var(--text-3);opacity:0;cursor:pointer;transition:opacity .12s}.tpl-var-header:hover .tpl-var-icon{opacity:1}.tpl-var-icon.lock{opacity:.4;cursor:default}.tpl-var-sizebar{background:var(--border-subtle);border-radius:2px;width:40px;height:3px;overflow:hidden}.tpl-var-sizebar-fill{border-radius:2px;height:100%;transition:width .3s}.tpl-var-sizebar-fill.roleplay{background:var(--c-violet)}.tpl-var-sizebar-fill.format{background:var(--c-blue)}.tpl-var-sizebar-fill.context{background:var(--c-emerald)}.tpl-var-sizebar-fill.override{background:var(--accent)}.tpl-var-chars{color:var(--text-3);font-size:9.5px;font-family:var(--font-mono);text-align:right;min-width:28px}.tpl-var-preview{font-family:var(--font-mono);color:var(--text-3);white-space:pre;text-overflow:ellipsis;background:var(--bg-0);border-top:1px solid color-mix(in srgb, var(--border-subtle) 50%, transparent);max-height:2.8em;padding:3px 10px 5px;font-size:10.5px;line-height:1.4;animation:.15s ease-out tpl-fade-in;overflow:hidden}@keyframes tpl-fade-in{0%{opacity:0}to{opacity:1}}.tpl-var-empty-label{color:var(--text-3);background:var(--bg-0);border-top:1px solid color-mix(in srgb, var(--border-subtle) 50%, transparent);padding:3px 10px 5px;font-size:10px;font-style:italic}.tpl-var-body{border-top:1px solid var(--border-subtle);max-height:0;transition:max-height .15s ease-out;overflow:hidden}.tpl-var-body.expanded{max-height:600px;transition:max-height .2s ease-in}.tpl-var-original{background:color-mix(in srgb, var(--bg-0) 60%, var(--bg-1));opacity:.6;padding:6px 10px}.tpl-var-original-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:3px;font-size:9px}.tpl-var-body pre{font-size:10.5px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--text-2);scrollbar-width:thin;max-height:150px;margin:0;overflow-y:auto}.tpl-var-override-input{width:100%;min-height:50px;font-family:var(--font-mono);background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-s);box-sizing:border-box;width:calc(100% - 20px);color:var(--text-0);resize:vertical;outline:none;margin:6px 10px 8px;padding:8px 10px;font-size:11px;transition:border-color .12s}.tpl-var-override-input:focus{border-color:var(--accent-edge)}.tpl-layer-cascade{padding:4px 10px 8px}.tpl-layer{align-items:flex-start;gap:6px;padding:3px 0;font-size:11px;line-height:1.4;display:flex}.tpl-layer.na{opacity:.4}.tpl-layer.has-value:not(.winner){opacity:.55}.tpl-layer-dot{border:1.5px solid var(--text-3);background:0 0;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:3px}.tpl-layer-dot.active{background:var(--accent);border-color:var(--accent)}.tpl-layer-dot.pulse{animation:.2s ease-out tpl-dot-pulse}@keyframes tpl-dot-pulse{0%{box-shadow:none;transform:scale(1)}50%{box-shadow:0 0 6px var(--accent);transform:scale(1.4)}to{box-shadow:none;transform:scale(1)}}.tpl-layer-name{width:50px;color:var(--text-2);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;font-size:10px;font-weight:500}.tpl-layer-value{min-width:0;font-family:var(--font-mono);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10.5px;overflow:hidden}.tpl-layer-value.na{color:var(--text-3);font-style:italic}.tpl-layer-value.struck{opacity:.6;text-decoration:line-through}.tpl-layer-override-editor{flex:1;min-width:0}.tpl-layer-override-editor .tpl-var-override-input{width:100%;margin:2px 0 0}.tpl-layer-override-editor .tpl-var-override-input.code{font-family:var(--font-mono);font-size:11px}.tpl-layer-code{min-width:0;font-family:var(--font-mono);color:var(--c-amber,#f59e0b);background:color-mix(in srgb, var(--bg-0) 80%, transparent);white-space:pre-wrap;word-break:break-all;border-radius:3px;flex:1;max-height:60px;margin:0;padding:3px 6px;font-size:10px;line-height:1.35;overflow-y:auto}.tpl-layer-code.struck{opacity:.45;text-decoration:line-through}.tpl-override-redundant{color:var(--text-3);opacity:.5;margin-top:2px;font-size:10px;font-style:italic;display:block}.tpl-parser-test{border-top:1px solid color-mix(in srgb, var(--text-3) 15%, transparent);padding:6px 10px 8px}.tpl-parser-test-input{width:100%;font-family:var(--font-mono);background:var(--bg-0);border:1px solid var(--border);color:var(--text-1);resize:vertical;border-radius:4px;padding:4px 6px;font-size:11px}.tpl-parser-test-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:3px;margin-top:4px;padding:2px 10px;font-size:10px}.tpl-parser-test-btn:hover{opacity:.85}.tpl-parser-test-output{font-family:var(--font-mono);background:var(--bg-0);border:1px solid var(--border);color:var(--c-emerald);white-space:pre-wrap;border-radius:4px;max-height:120px;margin-top:4px;padding:4px 6px;font-size:10px;overflow-y:auto}.tpl-var-override-select{background:var(--bg-0);width:100%;color:var(--text-0);border:1px solid var(--border-subtle);border-radius:var(--radius-s);outline:none;margin:2px 0 0;padding:4px 8px;font-size:11px}.tpl-var-override-select:focus{border-color:var(--accent-edge)}.tpl-var-reset{color:var(--text-3);cursor:pointer;background:var(--bg-1);border:1px solid var(--border-subtle);border-radius:var(--radius-s);padding:1px 7px;font-size:11px;line-height:1.4;position:absolute;top:6px;right:10px}.tpl-var-reset:hover{color:var(--text-0);border-color:var(--accent-edge)}.tpl-var-override-wrap{position:relative}.tpl-preview-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:8px;font-size:11px;font-weight:600}.tpl-preview-section{border-radius:var(--radius-s);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--text-1);cursor:default;border-left:2px solid #0000;margin-bottom:2px;padding:4px 8px;font-size:10.5px;line-height:1.45;transition:background .15s}.tpl-preview-section:hover,.tpl-preview-section.highlighted{background:color-mix(in srgb, var(--text-3) 6%, transparent)}.tpl-preview-section.roleplay{border-left-color:var(--c-violet)}.tpl-preview-section.format{border-left-color:var(--c-blue)}.tpl-preview-section.context{border-left-color:var(--c-emerald)}.tpl-preview-section.override{border-left-color:var(--accent)}.tpl-preview-section .tpl-section-label{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;margin-bottom:2px;padding:0 5px;font-size:8.5px;font-weight:500;display:inline-block}.tpl-preview-section.roleplay .tpl-section-label{background:color-mix(in srgb, var(--c-violet) 12%, transparent);color:var(--c-violet)}.tpl-preview-section.format .tpl-section-label{background:color-mix(in srgb, var(--c-blue) 12%, transparent);color:var(--c-blue)}.tpl-preview-section.context .tpl-section-label{background:color-mix(in srgb, var(--c-emerald) 12%, transparent);color:var(--c-emerald)}.tpl-preview-section.override .tpl-section-label{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.tpl-preview-empty{color:var(--text-3);text-align:center;padding:20px 0;font-size:12px;font-style:italic}.settings-footer{border-top:1px solid var(--border);gap:10px;padding:12px 22px;display:flex}.settings-footer button{flex:1}@keyframes popIn{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.settings-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.settings-header h2{font-family:var(--font-body);letter-spacing:-.01em;color:var(--text-0);font-size:17px;font-weight:600}.settings-section{margin-bottom:20px}.settings-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin-bottom:12px;font-size:10.5px;font-weight:600}.theme-switcher{flex-wrap:wrap;gap:6px;display:flex}.theme-option{background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-s);min-width:fit-content;color:var(--text-1);flex:auto;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:flex}.theme-option:hover{border-color:var(--border);background:var(--bg-3);color:var(--text-0)}.theme-option.active{border-color:var(--accent-edge);background:var(--accent-soft);color:var(--accent)}.settings-hint{color:var(--text-3);margin-bottom:8px;font-size:11.5px}.settings-section label{color:var(--text-2);flex-direction:column;gap:4px;margin-bottom:12px;font-size:12px;display:flex}.settings-section select,.settings-section input[type=text],.settings-section input[type=password],.settings-section input[type=number],.settings-section input:not([type]){background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-s);color:var(--text-0);font-size:13px;font-family:var(--font-mono);outline:none;padding:8px 10px;transition:border-color .12s}.settings-section select:focus,.settings-section input:focus{border-color:var(--accent-edge)}.btn-primary{background:var(--accent);color:#1a1500;border-radius:var(--radius-s);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 18px;font-size:13px;font-weight:600;transition:filter .12s,transform .12s;display:inline-flex}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-secondary{background:var(--bg-1);border:1px solid var(--border-subtle);height:30px;color:var(--text-1);cursor:pointer;border-radius:99px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;transition:border-color .12s,background .12s;display:inline-flex}.btn-secondary:hover{border-color:var(--border);background:var(--bg-3);color:var(--text-0)}.reminder-input-row{gap:6px;margin-bottom:10px;display:flex}.reminder-input-row input{flex:1}.reminder-list{flex-direction:column;gap:4px;list-style:none;display:flex}.reminder-list li{background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-s);color:var(--text-1);justify-content:space-between;align-items:center;padding:6px 10px;font-size:12.5px;display:flex}.reminder-list li.empty{color:var(--text-3);background:0 0;border:none;justify-content:center;font-style:italic}.spin{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.diff-output{white-space:pre;font-family:var(--font-mono)}.diff-add{color:var(--c-emerald);background:color-mix(in oklch, var(--c-emerald) 8%, transparent);display:block}.diff-del{color:var(--c-rose);background:color-mix(in oklch, var(--c-rose) 8%, transparent);display:block}.diff-hunk{color:var(--c-blue);font-weight:600;display:block}.diff-meta{color:var(--text-2);font-style:italic;display:block}.diff-ctx{display:block}.pause-bar{background:var(--accent-soft);border:1px solid var(--accent-edge);border-radius:var(--radius-m);color:var(--accent);text-align:center;margin:8px 0;padding:8px 16px;font-size:12.5px}.engine-badge{background:var(--bg-2);color:var(--text-1);font-family:var(--font-mono);border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);padding:2px 7px;font-size:9.5px;font-weight:700}.conn-badge{font-family:var(--font-mono);border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);align-items:center;gap:4px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-flex}.conn-dot{border-radius:50%;width:6px;height:6px}.conn-connected{color:var(--c-emerald)}.conn-connected .conn-dot{background:var(--c-emerald)}.conn-connecting,.conn-reconnecting{color:var(--c-amber)}.conn-connecting .conn-dot,.conn-reconnecting .conn-dot{background:var(--c-amber);animation:1s infinite conn-pulse}.conn-disconnected{color:var(--text-3)}.conn-disconnected .conn-dot{background:var(--text-3)}@keyframes conn-pulse{0%,to{opacity:1}50%{opacity:.3}}.proxy-status-btn{font-family:var(--font-mono);border-radius:var(--radius-xs);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border:none;align-items:center;gap:5px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.proxy-dot{border-radius:50%;width:8px;height:8px}.proxy-on{color:#22c55e;background:#22c55e26}.proxy-on .proxy-dot{background:#22c55e;box-shadow:0 0 6px 2px #22c55e99}.proxy-off{color:#ef4444;background:#ef444426}.proxy-off .proxy-dot{background:#ef4444;animation:1.5s ease-in-out infinite proxy-glow;box-shadow:0 0 6px 2px #ef444499}@keyframes proxy-glow{0%,to{box-shadow:0 0 6px 2px #ef444499}50%{box-shadow:0 0 12px 4px #ef4444e6}}.yolo-badge{background:var(--c-rose);color:#fff;font-family:var(--font-mono);border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;font-size:9.5px;font-weight:700}.conversation-actions{gap:8px;margin-bottom:10px;display:flex}.conversation-list{flex-direction:column;gap:4px;list-style:none;display:flex}.conversation-item{background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-s);cursor:pointer;width:100%;color:var(--text-1);text-align:left;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12.5px;transition:border-color .12s,background .12s;display:flex}.conversation-item:hover{border-color:var(--accent-edge);background:var(--bg-3);color:var(--text-0)}.conversation-date{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10.5px}.call-record{border:1px solid var(--border);border-radius:6px;margin-bottom:6px;overflow:hidden}.call-record-summary{cursor:pointer;background:var(--bg-2);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 10px;font-size:12px;list-style:none;display:flex}.call-record-summary::-webkit-details-marker{display:none}.call-record-summary:hover{background:var(--bg-3)}.call-record-index{color:var(--text-3);min-width:20px;font-size:11px}.call-record-engine{background:var(--accent);color:#fff;text-transform:uppercase;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.call-record-model{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.call-record-time{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10.5px}.call-record-body{background:var(--bg-1);flex-direction:column;gap:4px;padding:6px 10px 8px;display:flex}.call-record-sub{border:1px solid var(--border);border-radius:4px;overflow:hidden}.call-record-sub>summary{cursor:pointer;color:var(--text-2);background:var(--bg-2);-webkit-user-select:none;user-select:none;padding:4px 8px;font-size:11px;list-style:none}.call-record-sub>summary::-webkit-details-marker{display:none}.call-record-sub>summary:hover{color:var(--text-1)}.call-record-pre{color:var(--text-2);white-space:pre-wrap;word-break:break-all;background:var(--bg-1);max-height:300px;margin:0;padding:8px;font-size:10.5px;line-height:1.5;overflow-y:auto}.checkbox-label{cursor:pointer;color:var(--text-1);align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:15px;height:15px;accent-color:var(--accent)}.folder-gate{flex:1;justify-content:center;align-items:center;min-height:300px;display:flex}.folder-gate-inner{color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:40px;display:flex}.folder-gate-inner svg{color:var(--accent);opacity:.7}.folder-gate-inner h2{color:var(--text-0);font-family:var(--font-body);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.folder-gate-inner p{max-width:320px;color:var(--text-2);margin:0;font-size:13.5px}.folder-gate-btn{border-radius:var(--radius-m);align-items:center;gap:8px;width:auto;margin-top:8px;padding:10px 24px;font-size:14px;display:inline-flex}.project-list{flex-direction:column;gap:8px;width:100%;max-width:380px;max-height:40vh;margin-top:12px;padding-right:4px;display:flex;overflow-y:auto}.project-list .btn-secondary{border-radius:var(--radius-m);justify-content:flex-start;height:auto;padding:12px 16px}.project-item{align-items:center;gap:12px;display:flex}.project-name{font-size:13.5px;font-weight:500}.project-type-badge{border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-flex}.project-type-opfs{background:color-mix(in oklch, var(--c-blue) 12%, var(--bg-1));color:var(--c-blue);border-color:color-mix(in oklch, var(--c-blue) 25%, transparent)}.project-type-local{background:color-mix(in oklch, var(--c-emerald) 12%, var(--bg-1));color:var(--c-emerald);border-color:color-mix(in oklch, var(--c-emerald) 25%, transparent)}.project-create{gap:8px;width:100%;max-width:320px;margin-top:8px;display:flex}.project-create input{border-radius:var(--radius-m);border:1px solid var(--border);background:var(--bg-0);flex:1;padding:8px 12px}.project-create .btn-primary{width:auto;padding:0 16px}.folder-gate-divider{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin:16px 0;font-size:13px}.shell-setup-prompt{margin:6px 0;background:color-mix(in oklch, var(--accent) 5%, var(--bg-1))!important;border:1px solid var(--accent-edge)!important;border-radius:var(--radius-m)!important;padding:14px!important}.shell-setup-prompt .tool-icon{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-edge)}.shell-setup-content{color:var(--text-1);margin:8px 0;font-size:13px}.shell-setup-content p{margin:4px 0}.shell-setup-buttons{gap:8px;margin-top:12px;display:flex}.shell-setup-buttons .btn-primary{border-radius:99px;width:auto;padding:7px 22px;font-size:13px}.shell-setup-buttons .btn-secondary{padding:7px 22px;font-size:13px}.shell-setup-polling{flex-direction:column;align-items:flex-start;gap:12px;margin-top:12px;display:flex}.shell-setup-status{color:var(--accent);align-items:center;gap:8px;font-size:13px;display:flex}.shell-setup-status code{background:var(--bg-0);border-radius:var(--radius-xs);font-size:12px;font-family:var(--font-mono);padding:1px 6px}.shell-setup-notfound{margin-top:8px}.shell-setup-notfound p{color:var(--text-1);margin-bottom:10px;font-size:13px}.shell-setup-result{color:var(--text-3);margin-top:8px;font-size:12px;font-style:italic}.shell-setup-result.connected{color:var(--c-emerald);align-items:center;gap:6px;font-style:normal;font-weight:500;display:flex}.editor-overlay{background:var(--bg-0);border-right:1px solid var(--border);flex-direction:column;flex:1;min-width:300px;height:100%;display:flex}@keyframes editorSlideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.editor-header{background:var(--bg-1);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:42px;padding:0 12px;display:flex}.editor-header-left{align-items:center;gap:8px;font-size:13px;display:flex}.editor-header-left .tree-active{background:color-mix(in oklch, var(--accent) 15%, transparent)!important;color:var(--accent)!important}.editor-header-left .diff-output{background:var(--code-bg);border-radius:var(--radius-s);font-family:var(--font-mono);padding:12px;font-size:12px;line-height:1.45;overflow-x:auto}.editor-header-left .diff-add{color:oklch(72% .22 145);background:oklch(72% .22 145/.12);width:100%;display:inline-block}.editor-header-left .diff-del{color:oklch(72% .18 22);background:oklch(72% .18 22/.12);width:100%;display:inline-block}.editor-header-left .diff-hunk{color:var(--accent);font-weight:500}.editor-header-left .diff-meta{color:var(--text-3);font-style:italic}.editor-header-left .diff-ctx{color:var(--text-2)}.editor-header-left{align-items:center;gap:4px;display:flex}.editor-saving{color:var(--accent);font-size:11px;font-weight:400}.editor-body{flex:1;min-height:0;display:flex}.editor-sidebar{border-right:1px solid var(--border);background:var(--bg-1);flex-direction:column;flex-shrink:0;width:220px;display:flex}.editor-sidebar-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);border-bottom:1px solid var(--border-subtle);padding:8px 12px;font-size:10px;font-weight:700}.editor-tree{flex:1;padding:4px 0;overflow-y:auto}.editor-tree-empty{color:var(--text-3);padding:16px 12px;font-size:12px}.tree-item{font-size:12.5px;font-family:var(--font-mono);color:var(--text-1);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-xs);align-items:center;gap:4px;margin:0 4px;padding:3px 8px;display:flex}.tree-item:hover{background:var(--bg-2);color:var(--text-0)}.tree-active{background:color-mix(in oklch, var(--accent) 15%, transparent)!important;color:var(--accent)!important}.tree-dir{font-weight:500}.tree-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-main{flex-direction:column;flex:1;min-width:0;display:flex}.editor-tabs{background:var(--bg-1);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;overflow-x:auto}.editor-tabs::-webkit-scrollbar{height:0}.editor-tab{font-size:12px;font-family:var(--font-mono);color:var(--text-2);cursor:pointer;border-right:1px solid var(--border-subtle);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;display:flex}.editor-tab:hover{background:var(--bg-2);color:var(--text-0)}.editor-tab.active{background:var(--bg-0);color:var(--text-0);border-bottom:2px solid var(--accent)}.editor-tab-name{align-items:center;gap:4px;display:flex}.editor-tab-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.pending-images{background:var(--bg-1);border-top:1px solid var(--border);gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.pending-image-item{flex-shrink:0;width:60px;height:60px;position:relative}.pending-image-item img{object-fit:cover;border-radius:var(--radius-s);border:1px solid var(--border);width:100%;height:100%}.remove-image-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:flex;position:absolute;top:-4px;right:-4px}.msg-images{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.msg-image{border-radius:var(--radius-m);border:1px solid var(--border);cursor:zoom-in;max-width:200px;max-height:200px;transition:opacity .2s}.msg-image:hover{opacity:.9}.attach-btn{color:var(--text-3);cursor:pointer;border-radius:var(--radius-s);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.attach-btn:hover:not(:disabled){background:var(--bg-2);color:var(--text-0)}.attach-btn:disabled{opacity:.5;cursor:not-allowed}.editor-tab-close{color:var(--text-3);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;display:flex}.editor-tab:hover .editor-tab-close{opacity:1}.editor-tab-close:hover{background:var(--bg-2);color:var(--text-0)}.editor-monaco{flex:1;min-height:0}.editor-empty{height:100%;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.chat-sidebar{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;width:280px;min-width:280px;animation:.2s ease-out slideInLeft;display:flex}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.sidebar-header-actions{align-items:center;gap:6px;display:flex}.sidebar-header h3{margin:0;font-size:14px;font-weight:600}.chat-list-vertical{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.chat-item-v{border-radius:var(--radius-s);width:100%;color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;transition:background .15s;display:flex}.chat-item-v:hover{background:var(--bg-3)}.chat-item-v.active{color:var(--c-blue);box-shadow:inset 3px 0 0 var(--c-blue);background:#2196f31f;font-weight:600}.chat-item-v.active .chat-item-name{color:var(--c-blue);font-weight:600}.chat-item-v.active .chat-item-meta{color:var(--c-blue);opacity:.7}.chat-item-name{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:13px;font-weight:500;overflow:hidden}.chat-item-meta{opacity:.5;font-size:11px}.empty-chat-list{text-align:center;opacity:.5;padding:20px;font-size:12px}.btn-sm{padding:4px 8px;font-size:11px}.rotate-90{transform:rotate(90deg)}.topbar .icon-btn.active{color:var(--c-blue)}.modal-overlay{z-index:300;background:var(--veil-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;animation:.15s ease-out veilIn;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-l);width:min(720px,95vw);box-shadow:var(--shadow-pop);flex-direction:column;max-height:85vh;animation:.2s cubic-bezier(.2,.7,.3,1) popIn;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-body{flex:1;padding:0;overflow-y:auto}.modal-tabs{background:var(--bg-0);border-bottom:1px solid var(--border);padding:0 12px;display:flex}.modal-tab{color:var(--text-2);cursor:pointer;border-bottom:2px solid #0000;padding:12px 20px;font-size:13px;font-weight:500;transition:all .15s}.modal-tab:hover{color:var(--text-0);background:var(--bg-2)}.modal-tab.active{color:var(--c-blue);border-bottom-color:var(--c-blue)}.audit-section{padding:24px}.session-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-m);margin-bottom:16px;overflow:hidden}.session-header{background:var(--bg-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.session-url{font-family:var(--font-mono);color:var(--c-blue);white-space:nowrap;text-overflow:ellipsis;max-width:400px;font-size:11px;overflow:hidden}.session-time{color:var(--text-3);font-size:11px}.session-body{padding:16px}.session-msg-link{color:var(--text-2);align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.timestamp-label{font-family:var(--font-mono);color:var(--text-3);background:var(--bg-0);border-radius:4px;padding:2px 6px;font-size:10px}.chat-item-v{position:relative}.chat-item-actions{gap:4px;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.chat-item-v:hover .chat-item-actions{display:flex}.reopen-modal{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-pop);width:90vw;max-width:420px;padding:24px;animation:.2s cubic-bezier(.2,.7,.3,1) popIn}.reopen-modal h3{color:var(--fg);align-items:center;gap:8px;margin:0 0 12px;font-size:16px;display:flex}.reopen-modal p{color:var(--fg-2);margin:0 0 16px;font-size:13px;line-height:1.5}.reopen-error{color:#f87171;border-radius:var(--radius);background:#dc26261f;border:1px solid #dc26264d;margin-bottom:16px;padding:8px 12px;font-size:12px}.reopen-actions{justify-content:flex-end;gap:8px;display:flex}.floating-nav{z-index:8000;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-user-select:none;user-select:none;align-items:center;gap:2px;padding:4px 6px;transition:box-shadow .15s;display:flex;position:fixed;box-shadow:0 4px 20px #0006,0 0 0 1px #ffffff0a}.floating-nav-dragging{box-shadow:0 8px 32px #0009, 0 0 0 2px var(--accent);cursor:grabbing}.floating-nav-grip{color:var(--text-3);cursor:grab;align-items:center;padding:4px 2px;display:flex}.floating-nav-dragging .floating-nav-grip{cursor:grabbing}.floating-nav-btn{border-radius:var(--radius-l);color:var(--text-2);font-size:12px;font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:6px 12px;font-weight:500;transition:all .15s;display:flex}.floating-nav-btn:hover{background:var(--bg-3);color:var(--text-0)}.floating-nav-btn-active{background:var(--accent-soft);color:var(--accent)}.floating-nav-btn-active:hover{background:var(--accent-edge)}.floating-nav-sep{background:var(--border);width:1px;height:20px;margin:0 4px}.floating-nav-btn-mode{padding:6px 8px}.floating-nav-btn-settings{color:var(--text-3);padding:6px}.floating-nav-btn-settings:hover{color:var(--text-1)}.floating-nav-label{pointer-events:none}.floating-nav-settings{z-index:8001;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-m);min-width:220px;padding:10px 14px;position:fixed;box-shadow:0 4px 16px #0006}.floating-nav-setting-row{color:var(--text-1);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.floating-nav-setting-row input{accent-color:var(--accent)}.floating-nav-setting-hint{color:var(--text-3);margin-top:8px;font-size:11px}
