.react-flow{direction:ltr;--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: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--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: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--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 rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.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: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--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: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--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: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--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 rgba(0, 0, 0, .08);--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{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.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{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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;-moz-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:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.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:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;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))}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.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))}:root,[data-theme=claude-dark]{--bg: #1a1814;--bg-elevated: #26221c;--sidebar: #141210;--sidebar-hover: #2e2923;--border: #3a342c;--border-strong: #4a4238;--text: #f3efe6;--text-soft: #d8d2c6;--muted: #a39e93;--accent: #d4724f;--accent-soft: #3a2a22;--accent-hover: #e08460;--accent-text: #1a120e;--danger: #f97066;--danger-soft: #3b1c1a;--warn: #f0b429;--warn-soft: #3a2e12;--input-bg: #1f1c18;--placeholder: #7a7468;--code-bg: #0f0e0c;--code-fg: #f4efe6;--glow-a: rgba(212, 114, 79, .12);--glow-b: rgba(80, 60, 30, .18);--shadow: 0 1px 2px rgba(0, 0, 0, .25), 0 12px 32px rgba(0, 0, 0, .35);--shadow-composer: 0 2px 10px rgba(0, 0, 0, .35), 0 18px 40px rgba(0, 0, 0, .28);--radius: 18px;--font-ui: "Sora", system-ui, sans-serif;--font-read: "Source Serif 4", Georgia, "Times New Roman", serif;--brand-grad: linear-gradient(145deg, #e08a68 0%, var(--accent) 55%, #9a4428 100%);color-scheme:dark;font-family:var(--font-ui);font-size:15px;line-height:1.5}[data-theme=claude-light]{--bg: #f5f2eb;--bg-elevated: #fffcf7;--sidebar: #ebe6dc;--sidebar-hover: #e2dcd0;--border: #ddd5c6;--border-strong: #cfc5b3;--text: #1a1915;--text-soft: #3f3e39;--muted: #6f6d64;--accent: #c96442;--accent-soft: #f3e4dc;--accent-hover: #b55535;--accent-text: #fffaf6;--danger: #b42318;--danger-soft: #fdeceb;--warn: #9a6700;--warn-soft: #fff6d8;--input-bg: #ffffff;--placeholder: #9a968c;--code-bg: #1f1e1b;--code-fg: #f4efe6;--glow-a: rgba(201, 100, 66, .08);--glow-b: rgba(120, 100, 70, .05);--shadow: 0 1px 2px rgba(40, 30, 15, .04), 0 8px 28px rgba(40, 30, 15, .08);--shadow-composer: 0 2px 8px rgba(40, 30, 15, .06), 0 18px 40px rgba(40, 30, 15, .1);--font-ui: "Sora", system-ui, sans-serif;--font-read: "Source Serif 4", Georgia, "Times New Roman", serif;--brand-grad: linear-gradient(145deg, #e08a68 0%, var(--accent) 55%, #9a4428 100%);color-scheme:light}[data-theme=cursor]{--bg: #141414;--bg-elevated: #1e1e1e;--sidebar: #181818;--sidebar-hover: #262626;--border: #2a2a2a;--border-strong: #3a3a3a;--text: #ececec;--text-soft: #d0d0d0;--muted: #8b8b8b;--accent: #a8a8a8;--accent-soft: #2a2a2a;--accent-hover: #c4c4c4;--accent-text: #111111;--danger: #f87171;--danger-soft: #3b1d1d;--warn: #e8b84a;--warn-soft: #3a2e12;--input-bg: #1a1a1a;--placeholder: #6e6e6e;--code-bg: #0d0d0d;--code-fg: #e8e8e8;--glow-a: transparent;--glow-b: transparent;--shadow: 0 1px 0 rgba(255, 255, 255, .03), 0 8px 24px rgba(0, 0, 0, .35);--shadow-composer: 0 0 0 1px #2e2e2e, 0 8px 28px rgba(0, 0, 0, .4);--font-ui: "Sora", system-ui, sans-serif;--font-read: "Sora", system-ui, sans-serif;--brand-grad: linear-gradient(145deg, #d0d0d0 0%, #9a9a9a 55%, #5a5a5a 100%);color-scheme:dark}[data-theme=cursor] .sidebar{background:var(--sidebar);-webkit-backdrop-filter:none;backdrop-filter:none;border-right-color:#222}[data-theme=cursor] .conv.active{background:#2a2a2a}[data-theme=cursor] .conv.active .conv-title{color:#fff}[data-theme=cursor] .msg-user .msg-row{flex-direction:row-reverse}[data-theme=cursor] .msg-user .msg-body{display:flex;flex-direction:column;align-items:flex-end}[data-theme=cursor] .msg-user .msg-label,[data-theme=cursor] .msg-user .msg-avatar{display:none}[data-theme=cursor] .msg-user .msg-bubble{background:#2a2a2a;border:0;border-radius:18px;box-shadow:none;max-width:min(520px,85%)}[data-theme=cursor] .msg-assistant .msg-avatar,[data-theme=cursor] .msg-assistant .msg-label{display:none}[data-theme=cursor] .msg-assistant .md{font-size:15px;line-height:1.6;color:#e6e6e6}[data-theme=cursor] .btn-primary{background:#3a3a3a;color:#f0f0f0}[data-theme=cursor] .btn-primary:hover:not(:disabled){background:#4a4a4a}[data-theme=cursor] .topbar{font-family:var(--font-ui);font-weight:500;color:#d4d4d4}[data-theme=cursor] .brand-title{font-family:var(--font-ui)}[data-theme=cursor] .empty h2{font-family:var(--font-ui);font-weight:500}[data-theme=cursor] .theme-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:radial-gradient(1200px 600px at 80% -10%,var(--glow-a),transparent 55%),radial-gradient(900px 500px at 0% 100%,var(--glow-b),transparent 50%),var(--bg);color:var(--text)}button,input,textarea{font:inherit}.center{height:100%;display:grid;place-items:center;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);font-size:13px;background:var(--danger-soft);border-radius:10px;padding:8px 10px}.btn{border:1px solid transparent;background:transparent;color:var(--text);border-radius:999px;padding:8px 14px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.btn:hover:not(:disabled){background:var(--sidebar-hover)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-text);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--sidebar-hover);color:var(--text)}.btn-icon{width:40px;height:40px;padding:0;display:inline-grid;place-items:center;font-size:17px}.wide{width:100%}.login{min-height:100%;display:grid;place-items:center;padding:24px}.login-card{width:min(400px,100%);display:flex;flex-direction:column;gap:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:24px;padding:36px 32px;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}.login-card h1{font-family:var(--font-read);font-size:28px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.2}.login-card .lede{margin:-4px 0 8px;color:var(--muted);font-size:14px}.login-card input{background:var(--input-bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text)}.login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn-sso{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);font-weight:600}.btn-sso:hover:not(:disabled){background:var(--sidebar-hover);border-color:var(--accent)}.btn-sso-key{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;position:relative;flex-shrink:0}.btn-sso-key:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:7px;background:currentColor;transform:translate(-50%)}.login-sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:2px 0}.login-sep:before,.login-sep:after{content:"";flex:1;height:1px;background:var(--border)}.sso-check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text)}.sso-check input{width:16px;height:16px;accent-color:var(--accent)}.sso-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;grid-column:1 / -1}.sso-mappings{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);padding-top:14px}.sso-mappings-head h3{margin:0 0 4px;font-size:15px}.sso-map-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(140px,1fr) minmax(120px,.8fr) 44px;gap:8px;align-items:center}.sso-map-row input,.sso-map-row select{background:var(--input-bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:14px;padding:9px 10px;min-width:0}.sso-map-row input:focus,.sso-map-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.layout{display:flex;height:100%}.sidebar{width:272px;flex-shrink:0;background:color-mix(in srgb,var(--sidebar) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:14px;padding:16px 12px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 4px}.brand-mark{width:28px;height:28px;border-radius:9px;background:var(--brand-grad);box-shadow:inset 0 1px #ffffff40;flex-shrink:0}.brand-mark.lg{width:36px;height:36px;border-radius:12px}.brand-title{font-family:var(--font-read);font-weight:600;font-size:17px;letter-spacing:-.02em}.sidebar-section{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 6px 4px}.sidebar-section-title{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.01em}.sidebar-icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;flex-shrink:0}.sidebar-icon-btn:hover{background:var(--sidebar-hover);color:var(--text)}.conv-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-right:2px}.conv{display:flex;align-items:center;border-radius:10px}.conv.active,.conv:hover{background:var(--sidebar-hover)}.conv-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;background:none;border:0;color:var(--text-soft);padding:8px 8px 8px 10px;cursor:pointer;font-size:13.5px}.conv-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.conv-dot.tone-fresh{background:#60a5fa}.conv-dot.tone-warm{background:#f59e0b}.conv-dot.tone-idle{background:#6b7280}.conv-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time{flex-shrink:0;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.01em}.conv.active .conv-title{color:var(--text);font-weight:500}.conv-del{background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px;padding:0 8px;opacity:0;flex-shrink:0}.conv:hover .conv-del{opacity:1}.conv:hover .conv-time{display:none}.sidebar-footer{border-top:1px solid var(--border);padding-top:8px;display:flex;flex-direction:column;gap:4px}.sidebar-nav-btn{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:10px;color:var(--text-soft);padding:9px 10px;cursor:pointer;font-size:13.5px}.sidebar-nav-btn:hover{background:var(--sidebar-hover);color:var(--text)}.sidebar-nav-btn.active{background:var(--sidebar-hover);color:var(--text);font-weight:500}.me{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 4px;gap:8px}.me-name{font-weight:500;font-size:13.5px}.settings-page{flex:1;min-height:0;overflow-y:auto;padding:20px 28px 40px}.settings-page-head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:28px;max-width:720px}.settings-page-title{margin:0;font-family:var(--font-read);font-size:26px;font-weight:600;letter-spacing:-.03em}.settings-page-sub{margin:4px 0 0;font-size:14px}.settings-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:-8px 0 22px;max-width:960px}.settings-tab{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-soft);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer}.settings-tab:hover{color:var(--text);background:var(--sidebar-hover)}.settings-tab.active{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 2px var(--accent-soft);font-weight:600}.settings-page-body{display:flex;flex-direction:column;gap:28px;max-width:720px}.settings-page-body.wide{max-width:960px}.tools-settings{display:flex;flex-direction:column;gap:14px}.tools-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.tools-server-tabs{display:flex;flex-wrap:wrap;gap:6px}.tools-server-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:10px;padding:8px 12px;cursor:pointer;font-size:13px}.tools-server-tab.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.tools-server-tab.off{opacity:.65}.tools-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.tools-panel{border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated);overflow:hidden}.tools-connect{display:flex;flex-direction:column;gap:14px;padding:16px;border-bottom:1px solid var(--border)}.tools-connect-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.tools-connect-title{font-size:15px;font-weight:600}.tools-connect-form{display:grid;gap:12px}.tools-conn-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}.tools-conn-dot.ok{background:#3d9a6a}.tools-conn-dot.bad{background:#c44}.tools-panel-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.tools-enable{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.ui-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.ui-toggle input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.ui-toggle-track{position:relative;width:36px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,var(--border));border:1px solid var(--border);flex-shrink:0;transition:background .15s ease,border-color .15s ease}.ui-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-soft);box-shadow:0 1px 2px #00000040;transition:transform .15s ease,background .15s ease}.ui-toggle input:checked+.ui-toggle-track{background:color-mix(in srgb,var(--accent) 75%,var(--bg-elevated));border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.ui-toggle input:checked+.ui-toggle-track:after{transform:translate(16px);background:#fff}.ui-toggle input:focus-visible+.ui-toggle-track{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.ui-toggle:hover .ui-toggle-track{filter:brightness(1.06)}.tools-search{min-width:180px;flex:1;max-width:280px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:7px 10px}.tools-table-wrap{overflow:auto;max-height:min(58vh,560px)}.tools-table-wrap.disabled{opacity:.45;pointer-events:none}.tools-table{width:100%;border-collapse:collapse;font-size:13px}.tools-table th,.tools-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.tools-table th{position:sticky;top:0;background:color-mix(in srgb,var(--bg-elevated) 92%,var(--sidebar));z-index:1;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tools-role-col{width:110px;text-align:center!important}.tools-table tr.denied{opacity:.55}.tools-table tr.missing .tools-name code{color:var(--muted)}.tools-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tools-name code{font-size:12.5px;color:var(--text)}.tools-desc{margin-top:4px;line-height:1.4}.tools-badge{font-size:10px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:999px;padding:2px 7px;color:var(--muted)}.tools-badge.danger{border-color:color-mix(in srgb,#c44 45%,var(--border));color:#c44}.prompt-settings{display:flex;flex-direction:column;gap:16px;max-width:820px}.prompt-list{display:flex;flex-direction:column;gap:12px}.prompt-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.prompt-card.collapsed{gap:6px;padding:10px 14px}.prompt-card.off{opacity:.6}.prompt-card-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.prompt-collapse-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text-soft);cursor:pointer;font-size:14px;line-height:1;flex-shrink:0}.prompt-collapse-btn:hover{border-color:var(--border-strong);color:var(--text)}.prompt-title-btn{flex:1;min-width:160px;text-align:left;border:none;background:transparent;color:var(--text);font-size:14px;font-weight:650;padding:4px 0;cursor:pointer}.prompt-title-btn:hover{color:var(--accent)}.prompt-card-badge{font-size:11px;font-weight:650;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 9px}.prompt-card-sum{margin:0;padding-left:38px}.prompt-title-input,.prompt-desc-input{flex:1;min-width:160px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:7px 10px}.prompt-body{width:100%;resize:vertical;min-height:88px;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:13px;line-height:1.45;padding:10px 12px;font-family:var(--font-ui)}.md-rule-body{display:flex;flex-direction:column;gap:8px}.md-rule-tabs{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);align-self:flex-start}.md-rule-tab{border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:650;padding:5px 12px;border-radius:8px;cursor:pointer}.md-rule-tab.active{background:var(--bg-elevated);color:var(--text);box-shadow:0 1px #00000014}.md-rule-textarea{min-height:200px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12.5px;line-height:1.5}.md-rule-preview{min-height:200px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);overflow:auto}.md-rule-preview>:first-child{margin-top:0}.md-rule-preview>:last-child{margin-bottom:0}.md-rule-preview h1,.md-rule-preview h2,.md-rule-preview h3{margin:.8em 0 .35em;font-size:1.05em;font-weight:700}.md-rule-preview ul,.md-rule-preview ol{margin:.4em 0;padding-left:1.3em}.md-rule-preview code{font-size:.9em;padding:.1em .35em;border-radius:4px;background:color-mix(in srgb,var(--border) 55%,transparent)}.md-rule-preview pre{padding:10px 12px;border-radius:8px;overflow:auto;background:color-mix(in srgb,var(--border) 40%,var(--bg))}.md-rule-preview pre code{padding:0;background:transparent}.prompt-body:focus,.prompt-title-input:focus,.prompt-desc-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.bt-kind{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12.5px;padding:6px 8px;max-width:240px}.bt-editor{display:flex;flex-direction:column;gap:10px}.bt-prompt{min-height:56px}.bt-flow-wrap{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:10px;min-height:420px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg)}.bt-flow-wrap.fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;gap:0;min-height:0;height:100vh;height:100dvh;border:none;border-radius:0;background:var(--bg);grid-template-columns:minmax(0,1fr) min(320px,34vw)}.bt-flow-wrap.fullscreen .bt-flow-canvas{min-height:0;height:100%}.bt-flow-wrap.fullscreen .bt-flow-inspector{height:100%;max-height:none}.bt-flow-canvas{min-height:420px;height:480px;position:relative}.bt-flow-canvas .react-flow{background:transparent}.bt-flow-canvas .react-flow__controls{border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:none;background:var(--bg-elevated)}.bt-flow-canvas .react-flow__controls-button{background:var(--bg-elevated);border-bottom:1px solid var(--border);fill:var(--text-soft);color:var(--text-soft)}.bt-flow-canvas .react-flow__controls-button svg{width:14px;height:14px}.bt-flow-canvas .react-flow__controls-button.bt-flow-control-danger{color:var(--danger)}.bt-flow-canvas .react-flow__controls-button.bt-flow-control-danger:disabled{color:var(--muted);opacity:.45}.bt-flow-canvas .react-flow__controls-button:disabled{cursor:not-allowed}.bt-flow-canvas .react-flow__minimap{background:var(--bg-elevated)!important;border:1px solid var(--border);border-radius:10px;overflow:hidden}.bt-flow-palette{display:flex;flex-wrap:wrap;gap:6px;max-width:420px;align-items:center}.bt-flow-palette-label{width:100%;font-size:11px;font-weight:650;color:var(--muted);letter-spacing:.01em}.bt-flow-palette-btn{border:1px solid color-mix(in srgb,var(--bt-color, var(--border)) 55%,var(--border));background:color-mix(in srgb,var(--bt-color, var(--bg-elevated)) 18%,var(--bg-elevated));color:var(--text);border-radius:999px;font-size:12px;font-weight:600;letter-spacing:0;padding:6px 11px;cursor:pointer}.bt-flow-advanced{margin-top:2px}.bt-flow-advanced summary{cursor:pointer;margin-bottom:6px}.bt-flow-help-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.bt-flow-palette-btn:hover{filter:brightness(1.08)}.bt-flow-node{width:200px;min-height:72px;border-radius:12px;border:1px solid color-mix(in srgb,var(--bt-color) 55%,var(--border));background:color-mix(in srgb,var(--bt-color) 12%,var(--bg-elevated));box-shadow:0 1px #00000014;padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px}.bt-flow-node.start{width:140px;min-height:56px;border-radius:999px;align-items:center;text-align:center}.bt-flow-node.decision{width:210px;min-height:96px;background:transparent;border:none;box-shadow:none;padding:18px 28px;position:relative}.bt-flow-diamond{width:100%;min-height:88px;border:1px solid color-mix(in srgb,var(--bt-color) 55%,var(--border));background:color-mix(in srgb,var(--bt-color) 14%,var(--bg-elevated));transform:rotate(0);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 28px;gap:2px}.bt-flow-node.decision.selected .bt-flow-diamond{box-shadow:0 0 0 2px color-mix(in srgb,var(--bt-color) 35%,transparent)}.bt-flow-branch-hint{position:absolute;top:50%;font-size:10px;font-weight:700;color:var(--muted);pointer-events:none}.bt-flow-branch-hint.left{left:0;transform:translate(-8px,-120%)}.bt-flow-branch-hint.right{right:0;transform:translate(8px,-120%)}.bt-flow-node.selected:not(.decision){border-color:var(--bt-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--bt-color) 35%,transparent)}.bt-flow-node-title{font-size:13px;font-weight:650;color:var(--text)}.bt-flow-node-sum{font-size:11.5px;color:var(--muted);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bt-flow-handle{width:8px!important;height:8px!important;background:var(--bt-color)!important;border:2px solid var(--bg)!important}.bt-handle-yes{background:#22c55e!important}.bt-handle-no{background:#ef4444!important}.bt-flow-canvas .react-flow__edge-text{fill:var(--text-soft);font-size:11px}.bt-flow-canvas .bt-edge-yes .react-flow__edge-path{stroke:#22c55e}.bt-flow-canvas .bt-edge-no .react-flow__edge-path{stroke:#ef4444}.bt-legacy-banner{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated)}.bt-flow-inspector{border-left:1px solid var(--border);background:var(--bg-elevated);padding:12px;display:flex;flex-direction:column;gap:8px;overflow:auto}.bt-flow-inspector-head{font-size:13px;font-weight:650}.bt-flow-inspector .bt-kind,.bt-flow-inspector .prompt-desc-input,.bt-flow-inspector .prompt-body{width:100%;max-width:none}@media(max-width:960px){.bt-flow-wrap{grid-template-columns:1fr}.bt-flow-inspector{border-left:none;border-top:1px solid var(--border)}}.settings-section{display:flex;flex-direction:column;gap:14px}.settings-section-head h2{margin:0;font-size:16px;font-weight:600}.settings-section-head p{margin:4px 0 0}.theme-grid{display:flex;flex-direction:column;gap:8px}.theme-grid-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.theme-card:hover{background:var(--sidebar-hover)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.theme-logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;border:1px solid transparent}.theme-card-text{display:flex;flex-direction:column;gap:1px;min-width:0}.theme-card-title{font-size:13px;font-weight:600}.theme-card-hint{font-size:11px;color:var(--muted)}.theme-preview-cursor .theme-logo{background:#1a1a1a;color:#f0f0f0;border-color:#333}.theme-preview-claude-light .theme-logo{background:#f3e4dc;color:#c96442;border-color:#e0cfc3}.theme-preview-claude-dark .theme-logo{background:#3a2a22;color:#e08a68;border-color:#4a3428}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.provider-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.provider-card:hover{background:var(--sidebar-hover)}.provider-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.provider-card-title{font-size:14px;font-weight:600}.provider-card-hint{font-size:12px}.llm-form-page{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.llm-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.llm-field-wide{grid-column:1 / -1}.llm-field input,.llm-field select{background:var(--input-bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:14px;padding:10px 12px}.llm-field input:focus,.llm-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.settings-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.settings-status{font-size:13px;color:var(--muted)}.settings-status.ok{color:#3d9a6a}.settings-status.warn{color:#c9a227}.llm-ok{color:#3d9a6a;font-size:13px}.llm-err{color:#c44;font-size:13px}.badge-btn{border:0;cursor:pointer;font:inherit}.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.topbar{display:flex;align-items:center;gap:12px;padding:14px 22px 8px;font-family:var(--font-read);font-weight:600;font-size:17px;letter-spacing:-.02em;color:var(--text-soft)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.audio-btn{width:40px;height:40px;padding:0;border:0;border-radius:50%;display:inline-grid;place-items:center;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.audio-btn:hover:not(:disabled){background:var(--sidebar-hover);color:var(--text)}.audio-btn:disabled{opacity:.45;cursor:default}.audio-btn.on{color:var(--accent);background:var(--accent-soft)}.audio-btn.busy{color:var(--accent)}.audio-btn.msg-audio{margin-top:8px;width:34px;height:34px}.audio-btn-dots{font-size:14px;line-height:1}.context-meter{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:2px 0;border:0;background:transparent;border-radius:0;color:var(--muted);cursor:default;flex-shrink:0;font-family:var(--font-ui);font-variant-numeric:tabular-nums;transition:color .15s ease}.context-ring{display:block;flex-shrink:0}.context-ring-bg,.context-ring-fg{fill:none;stroke-width:1.6}.context-ring-bg{stroke:color-mix(in srgb,var(--muted) 40%,transparent)}.context-ring-fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .35s ease}.token-request{display:inline-flex;align-items:baseline;gap:8px;font-size:12px;line-height:1;letter-spacing:.01em}.token-total{color:var(--text-soft);font-weight:650}.token-total:after{content:" tok";font-weight:500;color:var(--muted);margin-left:2px}.token-split{display:inline-flex;gap:6px;color:var(--muted);font-weight:500}.token-in,.token-out{font-variant-numeric:tabular-nums}.context-meter.is-empty .context-ring-fg{stroke:color-mix(in srgb,var(--muted) 35%,transparent)}.context-meter.warm .context-ring-fg,.context-meter.warm .context-used{color:var(--warn);stroke:var(--warn)}.context-meter.hot .context-ring-fg{stroke:var(--danger)}.context-meter.hot .context-used{color:var(--danger)}[data-theme=cursor] .context-ring-bg{stroke:#4a4a4a}[data-theme=cursor] .context-ring-fg{stroke:#c8c8c8}[data-theme=cursor] .context-used{color:#d8d8d8}[data-theme=cursor] .context-meter.warm .context-ring-fg,[data-theme=cursor] .context-meter.warm .context-used{stroke:#d4a017;color:#d4a017}[data-theme=cursor] .context-meter.hot .context-ring-fg,[data-theme=cursor] .context-meter.hot .context-used{stroke:#e07070;color:#e07070}.burger{display:none}.badge-warn{font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--warn);background:var(--warn-soft);border-radius:999px;padding:4px 10px}.messages{flex:1;overflow-y:auto;padding:8px max(20px,calc((100% - 760px)/2)) 8px;display:flex;flex-direction:column;gap:22px;scroll-behavior:smooth}.messages .empty{margin:auto;text-align:center;max-width:520px;padding:24px 12px 80px;animation:rise .45s ease both}.messages .empty h2{font-family:var(--font-read);font-size:clamp(28px,4vw,38px);font-weight:600;letter-spacing:-.03em;margin:18px 0 10px;color:var(--text)}.messages .empty p{margin:0 auto;max-width:420px;color:var(--muted);font-size:15px;line-height:1.55}.empty-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.hint-chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-soft);border-radius:999px;padding:8px 14px;font-size:13px;cursor:default}.variants{display:flex;flex-direction:column;margin-top:12px;max-width:620px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);overflow:hidden}.variant-chip{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:9px 12px;font-family:inherit;font-size:13.5px;line-height:1.4;cursor:pointer;transition:background .12s ease,color .12s ease}.variant-chip+.variant-chip{border-top:1px solid var(--border)}.variant-chip:hover:not(:disabled){background:var(--sidebar-hover)}.variant-num{flex-shrink:0;min-width:18px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:1px}.variant-text{flex:1;min-width:0}.variant-chip.picked{background:var(--accent-soft);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.variant-chip.picked .variant-num{color:var(--accent);font-weight:700}.variant-chip:disabled{cursor:default}.variant-chip:disabled:not(.picked){opacity:.45}.variants-hint{padding:6px 12px 7px;border-top:1px solid var(--border);font-size:11.5px;color:var(--muted);background:color-mix(in srgb,var(--sidebar) 45%,var(--bg-elevated))}.msg{max-width:100%;animation:rise .28s ease both}.msg-row{display:flex;gap:14px;align-items:flex-start}.msg-avatar{width:28px;height:28px;border-radius:9px;flex-shrink:0;margin-top:2px}.msg-avatar.assistant{background:var(--brand-grad)}.msg-avatar.user{background:var(--sidebar-hover);border:1px solid var(--border);display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--muted)}.msg-body{flex:1;min-width:0}.msg-label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px;letter-spacing:.01em}.msg-user .msg-bubble{display:inline-block;background:var(--bg-elevated);border:1px solid var(--border);border-radius:18px 18px 6px;padding:12px 16px;box-shadow:0 1px 2px #281e0f08;max-width:100%}.msg-user .text{white-space:pre-wrap;color:var(--text)}.msg-error{color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);border-radius:14px;padding:12px 14px;font-size:14px}.tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.tool{font-size:11.5px;border:1px solid var(--border);background:var(--bg-elevated);border-radius:999px;padding:3px 10px;color:var(--muted)}.tool-running{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--accent);background:var(--accent-soft)}.tool-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:var(--danger-soft)}.tool-tokens{display:inline-flex;align-items:center;gap:6px;border-color:color-mix(in srgb,var(--accent) 30%,var(--border));color:var(--text-soft);background:var(--accent-soft);font-variant-numeric:tabular-nums;font-weight:600}.tool-tokens-split{font-weight:500;color:var(--muted)}.tool-tokens.estimated{opacity:.85}.md{font-family:var(--font-read);font-size:17px;line-height:1.65;color:var(--text);letter-spacing:-.01em}.md p{margin:0 0 12px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 12px;padding-left:1.3em}.md table{border-collapse:collapse;margin:10px 0;display:block;overflow-x:auto;font-family:var(--font-ui);font-size:14px}.md th,.md td{border:1px solid var(--border);padding:7px 11px;text-align:left}.md th{background:var(--sidebar)}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--sidebar);border-radius:6px;padding:1px 6px;font-size:.86em}.md pre{background:var(--code-bg);color:var(--code-fg);padding:14px 16px;border-radius:14px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.5}.md pre code{background:none;color:inherit;padding:0}.md a{color:var(--accent)}.thinking{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-family:var(--font-ui);font-size:14px}.thinking-dots{display:inline-flex;gap:4px}.thinking-dots span{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.35;animation:pulse 1.2s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}.notice{margin:0 max(20px,calc((100% - 760px)/2));color:var(--warn);background:var(--warn-soft);border-radius:12px;padding:8px 12px;font-size:13px}.composer-wrap{padding:8px max(20px,calc((100% - 760px)/2)) calc(14px + env(safe-area-inset-bottom))}.composer{display:flex;gap:6px;align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:8px 8px 8px 10px;box-shadow:var(--shadow-composer);transition:border-color .15s ease,box-shadow .15s ease;min-height:52px}.composer:focus-within{border-color:color-mix(in srgb,var(--text) 18%,var(--border))}.composer-plus{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0;padding:0;transition:background .15s ease,color .15s ease}.composer-plus:hover:not(:disabled){background:var(--sidebar-hover);color:var(--text)}.composer-plus:disabled{opacity:.45;cursor:default}.composer textarea{flex:1;resize:none;border:0;background:transparent;color:var(--text);padding:8px 4px;min-height:24px;max-height:160px;outline:none;line-height:1.45;font-size:14px}.composer textarea::placeholder{color:var(--placeholder)}.composer-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.composer-tts{width:30px;height:30px}.composer .audio-btn{width:32px;height:32px}.composer .audio-btn.primary{width:34px;height:34px;background:#f2f2f2;color:#141414}.composer .audio-btn.primary:hover:not(:disabled){background:#fff;color:#111}.composer-send{width:34px;height:34px;border:0;border-radius:50%;background:#f2f2f2;color:#141414;display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0;padding:0;transition:background .15s ease,transform .1s ease}.composer-send:hover:not(:disabled){background:#fff}.composer-send:disabled{opacity:.55;cursor:default}.composer-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:6px 4px 0;min-height:0;height:auto}[data-theme=cursor] .composer{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:999px;box-shadow:none;padding:7px 8px 7px 10px}[data-theme=cursor] .composer:focus-within{border-color:#333;box-shadow:none}[data-theme=cursor] .composer-plus{border-color:#3a3a3a;color:#9a9a9a}[data-theme=cursor] .composer-plus:hover:not(:disabled){background:#2a2a2a;color:#e0e0e0}[data-theme=cursor] .composer textarea{color:#ececec;font-size:14px}[data-theme=cursor] .composer textarea::placeholder{color:#6e6e6e}[data-theme=cursor] .composer .audio-btn:not(.primary){color:#b0b0b0}[data-theme=cursor] .composer .audio-btn:not(.primary):hover:not(:disabled){background:#2a2a2a;color:#e8e8e8}[data-theme=cursor] .composer .audio-btn.primary,[data-theme=cursor] .composer-send{background:#f3f3f3;color:#111}[data-theme=cursor] .composer .audio-btn.primary:hover:not(:disabled),[data-theme=cursor] .composer-send:hover:not(:disabled){background:#fff}[data-theme=cursor] .composer-footer{padding-top:10px}.voice-recording{display:flex;align-items:center;gap:8px;border:1px solid var(--accent);background:var(--accent-soft);border-radius:999px;padding:4px 6px 4px 12px}.voice-dot{width:9px;height:9px;border-radius:50%;background:var(--danger);transition:transform .08s linear}.voice-timer{font-variant-numeric:tabular-nums;min-width:36px;font-size:13px}.voice-warning{border-color:var(--warn);background:var(--warn-soft)}.voice-warning .voice-timer{color:var(--warn);font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.agent-toggle{align-items:flex-start;gap:10px}.agent-toggle>span:last-child{display:flex;flex-direction:column;gap:2px}.agent-toggle-hint{font-size:11px}.agent-hint{font-size:13px;color:var(--muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.agent-hint code{background:var(--input-bg);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:12px}.compact-controls{display:flex;align-items:center;gap:10px;margin-left:auto}.compact-note{font-size:12px;color:var(--muted)}@media(max-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow)}.sidebar.open{transform:none}.burger{display:inline-grid}.messages,.composer-wrap,.notice{padding-left:16px;padding-right:16px}.md{font-size:16px}.settings-page{padding:16px 16px 32px}.theme-grid-page,.provider-grid,.llm-form-page{grid-template-columns:1fr}}
