.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.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:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.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.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;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}.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-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.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:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.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:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform: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:0 solid #3367d9}.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%}:root{--bg:#f4f1ea;--surface:#fbf9f3;--surface-2:#efebe0;--border:#e3ddcf;--text:#1f1d18;--text-muted:#6a6358;--brand:#1ec9ad;--brand-strong:#0d7a68;--brand-text:#07241d;--brand-hover:#17b89e;--accent-dim:#dceee4;--radius:8px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}.app{background:var(--bg);height:100vh;color:var(--text);font-family:var(--sans);flex-direction:column;font-size:14px;display:flex}header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:14px;padding:12px 18px;display:flex}header .brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}header .logo{background:var(--brand);border-radius:3px;width:12px;height:12px}header .sub{color:var(--text-muted);font-size:13px}header .reset{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;margin-left:auto;padding:5px 11px;font-size:12px}header .reset:hover{color:var(--text);border-color:#cfc7b5}.modelbar{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:10px 18px;display:flex}.mb-id{align-items:center;gap:10px;min-width:200px;display:flex}.mb-dot{background:#b8b0a0;border-radius:50%;flex:none;width:8px;height:8px}.modelbar.ready .mb-dot{background:var(--brand);box-shadow:0 0 10px var(--brand)}.modelbar.downloading .mb-dot,.modelbar.initializing .mb-dot{background:#d9a400;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.35}}.mb-name{font-size:13px;font-weight:600}.mb-spec{color:var(--text-muted);font-size:12px;font-weight:400}.mb-repo{font-family:var(--mono);color:var(--text-muted);font-size:11px}.mb-mid{flex:1;min-width:0}.mb-hint{color:var(--text-muted);font-size:12.5px}.mb-ready{color:var(--brand-strong);font-size:12.5px;font-weight:600}.mb-err{color:#c0392b;font-size:12px;font-family:var(--mono)}.mb-progwrap{align-items:center;gap:10px;display:flex}.mb-prog{background:var(--border);border-radius:99px;flex:1;max-width:320px;height:6px;overflow:hidden}.mb-progfill{background:var(--brand);border-radius:99px;height:100%;transition:width .15s}.mb-actions{flex:none}.mb-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);cursor:pointer;padding:7px 14px;font-size:13px}.mb-btn.primary{background:var(--brand);color:var(--brand-text);border-color:#0000;font-weight:600}.mb-btn.primary:hover{background:var(--brand-hover)}.mb-btn.ghost{color:var(--text-muted)}.mb-btn.ghost:hover{color:#c0392b;border-color:#e0b4ae}.mb-btn:disabled{opacity:.6;cursor:default}.cols{flex:1;grid-template-columns:320px 1fr 300px;min-height:0;display:grid}.left{border-right:1px solid var(--border);background:var(--surface);padding:14px;overflow-y:auto}.right{border-left:1px solid var(--border);background:var(--surface);padding:16px 14px;overflow-y:auto}.center{background:var(--bg);min-width:0}.inputCard{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);gap:8px;padding:8px;display:flex}.inputCard.locked{opacity:.6}.inputCard textarea{resize:none;height:56px;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1}.inputCard textarea::placeholder{color:#a49c8c}.inputBtns{flex-direction:column;gap:6px;display:flex}.inputBtns .send{background:var(--brand);color:var(--brand-text);cursor:pointer;border:none;border-radius:6px;padding:8px 12px;font-weight:600}.inputBtns .send:disabled{opacity:.5;cursor:default}.inputBtns .mic{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 10px}.inputBtns .mic.on{color:#fff;background:#dc2626;border-color:#dc2626}.thinking{color:var(--brand-strong);align-items:center;gap:4px;margin-top:12px;font-size:12.5px;font-weight:600;display:flex}.thinking .tdot{background:var(--brand);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite tbounce;display:inline-block}.thinking .tdot:nth-child(2){animation-delay:.15s}.thinking .tdot:nth-child(3){margin-right:5px;animation-delay:.3s}@keyframes tbounce{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.examples{margin-top:12px}.examples .exLabel{color:var(--text-muted);margin-bottom:6px;font-size:12px}.examples button{text-align:left;width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;margin-bottom:6px;padding:7px 9px;font-size:12.5px;display:block}.examples button:hover{border-color:var(--brand)}.heard{flex-direction:column;gap:9px;margin-top:14px;display:flex}.hturn{border-left:2px solid var(--border);padding:2px 0 2px 10px}.hsent{color:var(--text);font-size:13px}.hchips{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.chip{background:var(--accent-dim);color:var(--brand-strong);border-radius:5px;padding:2px 7px;font-size:11.5px;font-weight:500}.chip.muted{color:var(--text-muted);background:#ece8dd}.hraw{font-family:var(--mono);color:#a49c8c;word-break:break-all;margin-top:5px;font-size:10.5px}.right .rLabel{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;font-size:11px}.rEmpty{color:var(--text-muted);font-size:13px;line-height:1.5}.rGuide .rGuideText{color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 12px;padding:12px;font-size:13px;line-height:1.55}.rCaptured{color:var(--text-muted);font-size:12px}.rCaptured>span{text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:10.5px;display:block}.rCaptured .capItem{background:var(--accent-dim);color:var(--brand-strong);border-radius:5px;margin-bottom:4px;padding:3px 8px;font-size:12px}.rec{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin-bottom:10px;padding:12px}.rec.win{border-color:var(--brand);background:var(--accent-dim)}.rec.alt{opacity:.85}.recHead{align-items:center;gap:8px;display:flex}.recName{flex:1;font-size:14px;font-weight:600}.recTag{text-transform:uppercase;letter-spacing:.05em;background:var(--brand);color:var(--brand-text);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.recWhy{color:var(--text-muted);margin-top:6px;font-size:12.5px;line-height:1.45}.recReason{color:var(--brand-strong);margin-top:8px;font-size:12px;font-weight:500;line-height:1.4}.rOver{color:var(--text-muted);border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-size:12px;line-height:1.45}.shareBar{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.shareBar .shareLabel{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:11px}.shareBtn{background:var(--brand);width:100%;color:var(--brand-text);border-radius:var(--radius);cursor:pointer;border:none;padding:9px 12px;font-size:13px;font-weight:600}.shareBtn:hover{background:var(--brand-hover)}.shareBtn:disabled{opacity:.6;cursor:default}.shareBtn.ghost{background:var(--surface);color:var(--brand-strong);border:1px solid var(--border);margin-top:6px}.shareBtn.ghost:hover{border-color:var(--brand);background:var(--surface-2)}.shareUrl{font-family:var(--mono);color:var(--text-muted);word-break:break-all;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;margin-top:8px;padding:6px 8px;font-size:11px}.sharedCard{border:1px solid var(--brand);background:var(--accent-dim);border-radius:var(--radius);padding:14px}.sharedCard .sharedTitle{color:var(--brand-strong);margin-bottom:6px;font-size:14px;font-weight:600}.sharedCard p{color:var(--text);margin:0 0 12px;font-size:12.5px;line-height:1.5}.sharedCard .sharedCta{color:var(--brand-strong);margin-bottom:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.sharedCard .sharedBook{background:var(--brand);width:100%;color:var(--brand-text);border-radius:var(--radius);cursor:pointer;border:none;padding:9px;font-size:13px;font-weight:600;display:block}.detail{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.detailLabel{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px;font-size:11px}.detailSummary{color:var(--text);margin-bottom:10px;font-size:13px;line-height:1.5}.detailSteps{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.detailSteps .step{border:1px solid var(--border);background:var(--surface-2);color:#3f3a30;border-radius:6px;padding:5px 9px;font-size:12px}.detailSteps .step.ai,.detailSteps .step.record{background:var(--accent-dim);border-color:var(--brand);color:var(--brand-strong);font-weight:500}.detailSteps .step.target{color:#1f6b43;background:#e7f6ec;border-color:#86c9a0}.detailSteps .step.source{color:#274b6d;background:#e8f1fb;border-color:#9cc3ea}.detailSteps .step.owner{color:#8a5a12;background:#fdf2e2;border-color:#e6c079}.detailGov{margin:0 0 10px;padding-left:16px}.detailGov li{color:var(--text-muted);margin-bottom:3px;font-size:11.5px;line-height:1.5}.preQ{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin-top:8px;padding:10px}.preQq{margin-bottom:7px;font-size:12.5px;font-weight:600}.preQopts{flex-wrap:wrap;gap:6px;display:flex}.preQopts button{border:1px solid var(--brand);background:var(--surface);color:var(--brand-strong);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px}.preQopts button:hover{background:var(--brand);color:var(--brand-text)}footer{border-top:1px solid var(--border);background:var(--surface-2);align-items:center;gap:14px;padding:7px 18px;display:flex}footer .devToggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:11.5px;display:flex}footer .engineTag{font-family:var(--mono);color:var(--brand-strong);margin-left:auto;font-size:11px}
