.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))}.pf-root{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);overflow:hidden}.pf-flow{width:100%;height:100%}.pf-flow .react-flow__background{background:radial-gradient(120% 120% at 30% 0%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 55%),var(--bg)}.pf-flow .react-flow__node-zone,.pf-flow .react-flow__node-user,.pf-flow .react-flow__node-agent,.pf-flow .react-flow__node-os,.pf-flow .react-flow__node-llm,.pf-flow .react-flow__node-ext,.pf-flow .react-flow__node-subagent{padding:0;border:none;border-radius:0;background:none;box-shadow:none;width:auto;color:var(--text);font-family:inherit;font-size:12px;cursor:default}.pf-flow .react-flow__handle{opacity:0;pointer-events:none;border:none;min-width:1px;min-height:1px;width:1px;height:1px}.pf-flow .react-flow__attribution{display:none}.pf-flow .react-flow__controls{border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #0006;border:1px solid var(--border-strong)}.pf-flow .react-flow__controls-button{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-dim);fill:var(--text-dim)}.pf-flow .react-flow__controls-button:hover{background:var(--surface-3);color:var(--text);fill:var(--text)}.pf-flow .react-flow__minimap{border-radius:10px;border:1px solid var(--border-strong);background:var(--surface)!important;overflow:hidden}.pf-flow .react-flow__minimap-mask{fill:color-mix(in srgb,var(--bg) 72%,transparent)}.pf-zone{width:100%;height:100%;border-radius:20px;border:1px solid var(--border);background:radial-gradient(140% 90% at 20% 0%,color-mix(in srgb,var(--surface-2) 55%,transparent),transparent 70%),color-mix(in srgb,var(--surface) 40%,transparent);box-sizing:border-box;position:relative;overflow:hidden}.pf-zone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--border-strong) 1px,transparent 1px);background-size:22px 22px;opacity:.14;pointer-events:none}.pf-zone--outside{border-style:dashed;background:color-mix(in srgb,var(--surface) 22%,transparent)}.pf-zone--os{border-radius:16px;background:color-mix(in srgb,var(--surface) 55%,transparent)}.pf-zone__eyebrow{position:absolute;top:14px;left:18px;display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--text-dim)}.pf-zone--outside .pf-zone__eyebrow{color:var(--text-faint)}.pf-diamond{width:9px;height:9px;transform:rotate(45deg);background:var(--sand);box-shadow:0 0 14px var(--sand-glow)}.pf-boundary{width:100%;height:100%;position:relative}.pf-boundary:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1.5px dashed var(--border-strong)}.pf-boundary__tag{position:absolute;left:50%;top:8px;transform:translate(-50%);font-size:10px;letter-spacing:.14em;color:var(--text-faint);background:var(--bg);padding:2px 6px;white-space:nowrap}.pf-card{box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 12px 34px #00000057;transition:border-color .16s ease,box-shadow .22s ease,transform .22s ease}.pf-card--active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 34px var(--accent-glow),0 12px 34px #00000057}.pf-card--error.pf-card--active{border-color:var(--error);box-shadow:0 0 0 1px var(--error),0 0 30px var(--error-soft),0 12px 34px #00000057}.pf-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--text-faint);text-transform:uppercase}.pf-mono{font-family:var(--font-mono)}.pf-agent{width:336px;padding:14px 16px 12px}.pf-agent__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pf-agent__title{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13px;letter-spacing:.04em}.pf-avatar{width:22px;height:22px;border-radius:7px;background:color-mix(in srgb,var(--agent-root) 26%,var(--surface-3));border:1px solid color-mix(in srgb,var(--agent-root) 55%,transparent);display:grid;place-items:center;font-size:11px}.pf-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:3px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border);max-width:190px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pf-status__dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.pf-pulse{animation:pf-pulse 1.2s ease-in-out infinite}@keyframes pf-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.5)}}.pf-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;margin-top:7px;border-radius:9px;background:var(--surface);border:1px solid var(--border);font-size:12px}.pf-row--lit{border-color:var(--accent)}.pf-row__label{display:flex;align-items:center;gap:8px;font-weight:600}.pf-row__note{font-size:11px;color:var(--text-dim)}.pf-lock{width:12px;height:11px;border-radius:2px;border:1.4px solid currentColor;border-top:none;position:relative}.pf-lock:before{content:"";position:absolute;left:1.5px;top:-5px;width:7px;height:6px;border:1.4px solid currentColor;border-bottom:none;border-radius:5px 5px 0 0}.pf-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.pf-chip{font-family:var(--font-mono);font-size:11px;padding:6px 9px;border-radius:7px;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .14s ease}.pf-chip--on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.pf-disc{margin-top:10px;border-top:1px dashed var(--border);padding-top:9px}.pf-disc__btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.04em;color:var(--text-dim);width:100%}.pf-disc__btn:hover{color:var(--text)}.pf-disc__chev{transition:transform .18s ease;font-size:9px;color:var(--accent)}.pf-disc__btn[aria-expanded=true] .pf-disc__chev{transform:rotate(90deg)}.pf-disc__body{margin-top:9px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-width:100%;max-height:300px;overflow-y:auto;animation:pf-reveal .2s ease}@keyframes pf-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.pf-kv{font-size:11px;color:var(--text-dim)}.pf-kv b{color:var(--text);font-weight:600}.pf-ctx{display:grid;gap:6px}.pf-ctx__row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:10.5px}.pf-ctx__bar{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.pf-ctx__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--sand),color-mix(in srgb,var(--sand) 40%,var(--accent)))}.pf-ctx__tok{font-family:var(--font-mono);color:var(--text-faint);font-size:10px}.pf-panelbox{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:9px 10px;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.pf-panelbox__label{font-size:10px;letter-spacing:.12em;color:var(--sand);margin-bottom:6px;text-transform:uppercase}.pf-prose{font-size:11px;line-height:1.5;color:var(--text-dim);max-height:120px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.pf-json{overflow-x:auto}.pf-user{width:116px;padding:12px;text-align:center}.pf-user__avatar{width:40px;height:40px;margin:0 auto 8px;border-radius:50%;background:var(--surface);border:1px solid var(--border-strong);display:grid;place-items:center;font-size:15px}.pf-user__name{font-weight:700;font-size:13px}.pf-user__sub{font-size:10px;color:var(--text-faint);letter-spacing:.08em;margin-top:2px}.pf-os{width:152px;padding:11px 12px;text-align:center}.pf-os--shell{width:200px}.pf-os--mcp{width:190px}.pf-os--net{width:104px}.pf-os__head{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px}.pf-os__line{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.pf-os__line--on{color:var(--sand)}.pf-disk{display:grid;place-items:center;height:56px}.pf-disk svg{overflow:visible}.pf-platter{transform-box:fill-box;transform-origin:center}.pf-disk[data-disk=read] .pf-platter,.pf-disk[data-disk=write] .pf-platter{animation:pf-spin 1.6s linear infinite}@keyframes pf-spin{to{transform:rotate(360deg)}}.pf-arm{transform-box:fill-box;transform-origin:92% 30%;transition:transform .3s ease}.pf-disk[data-disk=read] .pf-arm{transform:rotate(-16deg)}.pf-disk[data-disk=write] .pf-arm{transform:rotate(-24deg)}.pf-ripple{opacity:0}.pf-disk[data-disk=read] .pf-ripple,.pf-disk[data-disk=write] .pf-ripple{animation:pf-ripple 1.4s ease-out infinite}@keyframes pf-ripple{0%{r:12px;opacity:.55}to{r:26px;opacity:0}}.pf-filepill{margin-top:8px;text-align:center;font-family:var(--font-mono);font-size:10.5px;padding:3px 8px;border-radius:999px;border:1px solid var(--ok);color:var(--sand);background:var(--surface)}.pf-filepill--write{border-color:var(--accent)}.pf-globe{display:grid;place-items:center;height:44px;color:var(--text-dim)}.pf-globe--on{color:var(--accent)}.pf-globe svg{overflow:visible}.pf-globe__rim,.pf-globe__lat,.pf-globe__axis,.pf-globe__mer{fill:none;stroke:currentColor;stroke-width:1.1}.pf-globe__lat,.pf-globe__axis{opacity:.45}.pf-globe__mer{opacity:.7}.pf-globe__packet{fill:currentColor;opacity:0}.pf-globe--on .pf-globe__rim{filter:drop-shadow(0 0 3px var(--accent-glow))}.pf-globe--on .pf-globe__packet{opacity:1}.pf-globe--on .pf-globe__mer1{animation:pf-globe-spin 2.6s ease-in-out infinite}.pf-globe--on .pf-globe__mer2{animation:pf-globe-spin 2.6s ease-in-out infinite;animation-delay:-1.3s}.pf-globe__orbit{transform-box:view-box;transform-origin:22px 22px}.pf-globe--on .pf-globe__orbit{animation:pf-orbit 2.1s linear infinite}@keyframes pf-globe-spin{0%,to{rx:15px}50%{rx:1.5px}}@keyframes pf-orbit{to{transform:rotate(360deg)}}.pf-shell{display:flex;align-items:center;justify-content:center;gap:3px;font-family:var(--font-mono);font-size:11px;color:var(--text-faint);white-space:nowrap}.pf-shell--on{color:var(--sand)}.pf-shell__prompt{color:var(--accent);font-weight:700}.pf-shell__idle{color:var(--text-faint)}.pf-shell__cmd{display:inline-block;vertical-align:bottom}.pf-shell--on .pf-shell__cmd{overflow:hidden;white-space:nowrap;width:calc(var(--n, 1) * 1ch);animation:pf-type 1.05s steps(20,end) both}.pf-shell__cursor{display:inline-block;width:6px;height:12px;background:currentColor;vertical-align:-2px;animation:pf-blink 1.05s steps(1,end) infinite}@keyframes pf-type{0%{width:0}}@keyframes pf-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.pf-kbd{display:grid;place-items:center;margin:0 auto 6px;color:var(--text-dim)}.pf-kbd--on{color:var(--accent)}.pf-kbd__key{fill:var(--surface-3);stroke:var(--border-strong);stroke-width:.5;transform-box:fill-box;transform-origin:center}.pf-kbd__space{fill:var(--surface-2)}.pf-kbd--on .pf-kbd__key{animation:pf-key 1.5s ease-in-out infinite}@keyframes pf-key{0%,to{fill:var(--surface-3);transform:translateY(0)}8%{fill:var(--accent);transform:translateY(1px)}22%{fill:var(--surface-3);transform:translateY(0)}}.pf-router{display:grid;place-items:center;margin:0 auto 6px;color:var(--text-dim)}.pf-router--on{color:var(--accent)}.pf-router__body{fill:var(--surface-3);stroke:currentColor;stroke-width:1}.pf-router__ant{stroke:currentColor;stroke-width:1.2;stroke-linecap:round}.pf-router__tip{fill:currentColor}.pf-router__port{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:.5}.pf-router__led{fill:var(--border-strong)}.pf-router--on .pf-router__led{fill:var(--ok);animation:pf-led 1s steps(1,end) infinite}.pf-router__wave{fill:none;stroke:currentColor;stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center}.pf-router--on .pf-router__wave{animation:pf-wave 1.8s ease-out infinite}@keyframes pf-led{0%,50%{opacity:1}50.01%,to{opacity:.2}}@keyframes pf-wave{0%{opacity:.55;transform:scale(.35)}to{opacity:0;transform:scale(1.25)}}.pf-alu{display:grid;place-items:center;margin:0 auto 6px;color:var(--text-dim)}.pf-alu--on{color:var(--accent)}.pf-alu__chip{fill:var(--surface-3);stroke:currentColor;stroke-width:1}.pf-alu__pin{stroke:var(--border-strong);stroke-width:1.2;stroke-linecap:round}.pf-alu__cell{fill:var(--border-strong)}.pf-alu--on .pf-alu__cell{animation:pf-crunch .6s steps(1,end) infinite}@keyframes pf-crunch{0%{fill:var(--border-strong)}33%{fill:var(--sand)}66%{fill:var(--accent)}to{fill:var(--border-strong)}}.pf-ext--center{text-align:center}.pf-ext--center .pf-ext__head{justify-content:center}.pf-llm{width:440px;padding:16px 14px;text-align:center;position:relative}.pf-llm__halo{position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow),transparent 68%);opacity:0;transition:opacity .26s ease;pointer-events:none}.pf-llm--active .pf-llm__halo{opacity:1;animation:pf-breathe 2.4s ease-in-out infinite}@keyframes pf-breathe{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.12);opacity:1}}.pf-llm__net{width:116px;height:62px;margin:0 auto 8px;border-radius:14px;background:color-mix(in srgb,var(--surface-3) 70%,transparent);border:1px solid var(--border-strong);display:grid;place-items:center;position:relative;overflow:hidden;transition:border-color .2s ease}.pf-llm--active .pf-llm__net{border-color:var(--accent)}.pf-nn{display:block}.pf-nn__edges line{stroke:var(--border-strong);stroke-width:.8;opacity:.4}.pf-nn__nodes circle{fill:var(--text-dim);transition:fill .2s ease}.pf-nn__nodes .pf-nn__out{fill:var(--text-dim)}.pf-nn--active .pf-nn__edges line{stroke:var(--accent);opacity:.55;stroke-dasharray:3 7;animation:pf-nn-flow .9s linear infinite}.pf-nn--active .pf-nn__nodes circle{fill:var(--accent);animation:pf-nn-pulse 1.5s ease-in-out infinite;filter:drop-shadow(0 0 2px var(--accent-glow))}.pf-nn--active .pf-nn__nodes .pf-nn__out{fill:var(--sand)}@keyframes pf-nn-flow{to{stroke-dashoffset:-10}}@keyframes pf-nn-pulse{0%,to{opacity:1}50%{opacity:.45}}.pf-llm__name{font-weight:700;font-size:15px;letter-spacing:.04em}.pf-llm__model{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-top:2px}.pf-llm__loc{font-size:10px;letter-spacing:.08em;margin-top:6px;color:var(--text-faint)}.pf-llm__loc b{color:var(--sand)}.pf-llm__streams{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.pf-llm__stream{min-width:0}.pf-llm__stream.is-sub{margin-left:12px;padding-left:9px;border-left:2px solid var(--agent-worker, var(--sand))}.pf-llm__agent{display:inline-block;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:3px;padding:1px 6px;border:1px solid var(--border-strong);border-radius:999px}.pf-llm__stream.is-sub .pf-llm__agent{color:var(--agent-worker, var(--sand));border-color:color-mix(in srgb,var(--agent-worker, var(--sand)) 50%,transparent)}.pf-llm__stream.is-sub .pf-prose{color:color-mix(in srgb,var(--agent-worker, var(--sand)) 28%,var(--text))}.pf-ext{width:150px;padding:12px}.pf-ext__head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px}.pf-ext__glyph{width:26px;height:26px;border-radius:8px;background:var(--surface-3);border:1px solid var(--border-strong);display:grid;place-items:center;font-size:13px}.pf-ext__sub{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-ext__sub--on{color:var(--sand)}.pf-sub{width:216px;padding:12px 13px}.pf-sub__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pf-sub__id{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:600}.pf-sub__dot{width:8px;height:8px;border-radius:50%;flex:none}.pf-badge{font-size:9.5px;letter-spacing:.08em;padding:2px 8px;border-radius:999px;border:1px solid currentColor;text-transform:uppercase;white-space:nowrap}.pf-sub__task{font-size:11px;color:var(--text-dim);margin-top:8px;line-height:1.45;max-height:46px;overflow:hidden}.pf-sub__status{font-family:var(--font-mono);font-size:11px;margin-top:8px;display:flex;align-items:center;gap:7px}.pf-rail{fill:none;stroke:var(--border-strong);stroke-width:1.6px}.pf-rail--net{stroke-dasharray:3 6}.pf-rail--active{stroke:var(--accent);stroke-width:2.4px;filter:drop-shadow(0 0 6px var(--accent-glow))}.pf-rail--active.pf-rail--flow{stroke-dasharray:5 9;animation:pf-dash .55s linear infinite}.pf-rail--err{stroke:var(--error);filter:drop-shadow(0 0 6px var(--error-soft))}@keyframes pf-dash{to{stroke-dashoffset:-14}}.pf-comet{fill:var(--accent);filter:drop-shadow(0 0 6px var(--accent))}.pf-comet--err{fill:var(--error);filter:drop-shadow(0 0 6px var(--error))}.pf-comet-glow{fill:var(--accent-glow)}.pf-panel-tl{margin:14px}.pf-brand{display:flex;align-items:center;gap:12px}.pf-brand__mark{width:34px;height:34px;border-radius:9px;background:var(--bg);border:1px solid var(--border-strong);display:grid;place-items:center}.pf-brand__mark span{width:15px;height:15px;background:var(--accent);transform:rotate(45deg)}.pf-brand__title{font-weight:800;font-size:16px;letter-spacing:.02em}.pf-brand__sub{font-size:10px;letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase;margin-top:1px}.pf-bar{margin:14px;background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-strong);border-radius:14px;padding:12px 14px;box-shadow:0 14px 40px #0006;min-width:288px}.pf-bar__group{display:flex;align-items:center;gap:8px}.pf-bar__group+.pf-bar__group{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.pf-bar__label{font-size:10px;letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;margin-bottom:8px}.pf-btn{all:unset;cursor:pointer;display:inline-grid;place-items:center;min-width:36px;height:34px;padding:0 10px;border-radius:9px;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-dim);font-size:14px;transition:all .13s ease}.pf-btn:hover{background:var(--surface-3);color:var(--text);border-color:var(--text-faint)}.pf-btn:disabled{opacity:.4;cursor:default}.pf-btn--primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);font-weight:700}.pf-btn--primary:hover{background:var(--accent-hover);color:var(--text-on-accent)}.pf-seg{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:3px;gap:3px}.pf-seg button{all:unset;cursor:pointer;padding:5px 11px;border-radius:6px;font-size:11px;color:var(--text-dim)}.pf-seg button[data-on=true]{background:var(--surface-3);color:var(--text)}.pf-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23A8A79E' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--border-strong);border-radius:9px;color:var(--text);font-family:inherit;font-size:12px;padding:8px 28px 8px 11px;cursor:pointer}.pf-range{accent-color:var(--accent);width:128px}.pf-progress{margin-top:12px}.pf-progress__track{height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden}.pf-progress__fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--sand));transition:width .2s ease}.pf-progress__meta{display:flex;justify-content:space-between;margin-top:7px;font-size:10.5px;color:var(--text-faint);font-family:var(--font-mono)}.pf-progress__ev{color:var(--sand)}.pf-legend{margin:14px;display:flex;gap:16px;flex-wrap:wrap;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:12px;padding:9px 14px;font-size:10.5px;color:var(--text-dim)}.pf-legend span{display:inline-flex;align-items:center;gap:6px}.pf-legend i{width:20px;height:0;border-top:2px solid var(--border-strong)}.pf-legend i.on{border-top-color:var(--accent)}.pf-legend i.net{border-top-style:dashed}.pf-legend b{width:8px;height:8px;border-radius:50%}.pf-json{font-family:var(--font-mono);font-size:11px;line-height:1.55}.pf-json__row{white-space:pre}.pf-json__toggle{cursor:pointer;color:var(--accent);-webkit-user-select:none;user-select:none}.pf-json__key{color:var(--sand)}.pf-json__str{color:var(--text)}.pf-json__num{color:color-mix(in srgb,var(--ok) 80%,var(--text));font-variant-numeric:tabular-nums}.pf-json__bool{color:var(--warn)}.pf-json__punct{color:var(--text-faint)}@media(prefers-reduced-motion:reduce){.pf-rail--active.pf-rail--flow{animation:none;stroke-dasharray:none}.pf-platter,.pf-ripple,.pf-llm--active .pf-llm__halo,.pf-pulse,.pf-nn--active .pf-nn__edges line,.pf-nn--active .pf-nn__nodes circle,.pf-globe--on .pf-globe__mer,.pf-globe--on .pf-globe__orbit,.pf-shell--on .pf-shell__cmd,.pf-kbd--on .pf-kbd__key,.pf-router--on .pf-router__led,.pf-router--on .pf-router__wave,.pf-alu--on .pf-alu__cell{animation:none!important}.pf-shell--on .pf-shell__cmd{width:auto}.pf-comet,.pf-comet-glow{display:none}}:root{color-scheme:dark;--bg: #17120D;--surface: #201913;--surface-2: #292019;--surface-3: #2E251C;--border: #33291F;--border-strong: #5C5142;--scrim: rgba(23, 18, 13, .72);--glint: rgba(237, 231, 220, .03);--glint-bright: rgba(237, 231, 220, .1);--hairline: rgba(237, 231, 220, .05);--shade: rgba(0, 0, 0, .18);--text: #EDE7DC;--text-dim: #A2988A;--text-faint: #5C5142;--text-on-accent: #2A1B08;--accent: #CE9440;--accent-hover: #E0A855;--accent-pressed: #B8823A;--accent-soft: rgba(206, 148, 64, .13);--accent-glow: rgba(206, 148, 64, .22);--sand: #8B7CF0;--sand-glow: rgba(139, 124, 240, .2);--sp-red: #C05A4C;--sp-amber: #CE9440;--sp-teal: #2DD4A7;--sp-ocean: #2CB1C4;--sp-violet: #8B7CF0;--ev-token: var(--sp-teal);--ev-tool: var(--sp-amber);--ev-gate: var(--sp-red);--ev-subagent: var(--sp-ocean);--ev-lifecycle: var(--text-faint);--ev-pending: var(--sp-violet);--ev-reasoning: var(--sp-violet);--ok: #2DD4A7;--warn: #CE9440;--warn-soft: rgba(206, 148, 64, .1);--error: #C05A4C;--error-soft: rgba(192, 90, 76, .13);--agent-root: #2DD4A7;--agent-explore: #2CB1C4;--agent-worker: #8B7CF0;--agent-extra: #CE9440;--font-ui: "Inter Variable", Inter, Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-20: 20px;--fs-28: 28px;--lh-body: 1.55;--track-eyebrow: .18em;--track-heading: -.01em;--track-display: -.015em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--radius-chip: 7px;--radius-control: 10px;--radius-card: 10px;--radius-modal: 10px;--sidebar-w: 280px;--content-max: 860px;--z-sticky: 10;--z-dropdown: 100;--z-modal: 1000;--z-toast: 1100;--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .14s cubic-bezier(.2, 0, 0, 1);--t-med: .24s cubic-bezier(.2, 0, 0, 1);--t-slow: .34s cubic-bezier(.16, 1, .3, 1);--shadow-card: none;--shadow-raised: none;--shadow-modal: none}[data-design=paper]{color-scheme:light;--bg: #F6F4EE;--surface: #EFECE3;--surface-2: #E9E5D8;--surface-3: #E2DCCC;--border: #DDD8CB;--border-strong: #C4BCAD;--scrim: rgba(246, 244, 238, .78);--glint: rgba(255, 255, 255, .5);--glint-bright: rgba(255, 255, 255, .85);--hairline: rgba(23, 22, 26, .1);--shade: rgba(23, 22, 26, .07);--text: #17161A;--text-dim: #6A665D;--text-faint: #A39E92;--text-on-accent: #F6F4EE;--accent: #2E7EA6;--accent-hover: #276C8F;--accent-pressed: #205B79;--accent-soft: rgba(46, 126, 166, .14);--accent-glow: rgba(46, 126, 166, .2);--sand: #6C5CE7;--sand-glow: rgba(108, 92, 231, .18);--sp-red: #C24B3E;--sp-amber: #A9762A;--sp-teal: #0F9D77;--sp-ocean: #0B8799;--sp-violet: #6C5CE7;--ok: #0F9D77;--warn: #A9762A;--warn-soft: rgba(169, 118, 42, .1);--error: #C24B3E;--error-soft: rgba(194, 75, 62, .12);--agent-root: #0F9D77;--agent-explore: #0B8799;--agent-worker: #6C5CE7;--agent-extra: #A9762A}:where(a,button,[role=button],input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-chip)}@keyframes spectroscope-pulse{0%,to{opacity:1}50%{opacity:.45}}.pulse{animation:spectroscope-pulse 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.pulse{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tabular{font-variant-numeric:tabular-nums}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations")}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations")}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1100px 480px at 50% -160px,var(--glint),transparent 70%) var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-14);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:var(--text-on-accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-faint)}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot.accent{background:var(--accent)}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.error{background:var(--error)}.dot.faint{background:var(--text-faint)}.dot.pulse{box-shadow:0 0 0 3px var(--accent-soft),0 0 12px var(--accent-glow)}.eyebrow{font-size:var(--fs-11);font-weight:500;text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--text-faint)}.eyebrow.sand{color:var(--sand)}.eyebrow.sand:before{content:"◆";font-size:8px;margin-right:var(--sp-2);vertical-align:1px}.soft-primary{background-color:var(--surface-2);background-image:linear-gradient(var(--glint),transparent 55%),linear-gradient(var(--accent-soft),var(--accent-soft)),linear-gradient(var(--shade),var(--shade));border:1px solid var(--accent-glow);border-radius:var(--radius-control);box-shadow:inset 0 1px 0 var(--glint);color:var(--text);cursor:pointer;font:inherit;font-weight:600;letter-spacing:.01em;padding:9px var(--sp-4);transition:background-color var(--t-fast),border-color var(--t-fast),background-image var(--t-fast)}.soft-primary:hover:not(:disabled){background-image:linear-gradient(var(--glint),transparent 55%),linear-gradient(var(--accent-glow),var(--accent-glow));border-color:var(--accent)}.soft-primary:active:not(:disabled){background-image:linear-gradient(var(--accent-soft),var(--accent-soft)),linear-gradient(var(--shade),var(--shade))}.soft-primary:disabled{opacity:.5;cursor:default}.primary{background-color:var(--accent);background-image:linear-gradient(var(--glint-bright),transparent 60%);border:0;border-radius:var(--radius-control);box-shadow:inset 0 1px 0 var(--glint-bright),0 6px 18px -10px var(--accent-glow);color:var(--text-on-accent);cursor:pointer;font:inherit;font-weight:700;letter-spacing:.01em;padding:9px var(--sp-4);transition:background-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.primary:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:inset 0 1px 0 var(--glint-bright),0 8px 22px -10px var(--accent-glow);transform:translateY(-1px)}.primary:active:not(:disabled){background-color:var(--accent-pressed);box-shadow:inset 0 1px 0 transparent,0 3px 10px -8px var(--accent-glow);transform:translateY(0)}.primary:disabled{background-color:var(--surface-3);background-image:none;box-shadow:none;color:var(--text-faint);cursor:default}.ghost{background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text);cursor:pointer;font:inherit;padding:8px var(--sp-4);transition:background var(--t-fast),border-color var(--t-fast)}.ghost:hover{background:var(--surface-2);border-color:var(--text-faint)}.ghost:active{background:var(--surface-3)}.link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color var(--t-fast),text-decoration-color var(--t-fast)}.link:hover{color:var(--accent-hover);text-decoration-color:var(--accent-hover)}.icon-button{display:grid;place-items:center;width:32px;height:32px;background:none;border:0;border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.icon-button:hover{background:var(--surface-2);color:var(--text)}.icon-button:active{transform:scale(.94)}.lab-row{display:flex;flex:1;min-height:0;--lab-chat-w: 340px;--lab-trace-w: 300px}.lab-row .chat{min-width:0;flex:0 0 var(--lab-chat-w)}.lab-row--chat-collapsed .chat,.lab-row--trace-collapsed .lab-trace{display:none}.lab-center{display:flex;flex-direction:column;flex:1 1 auto;min-width:320px;padding:var(--sp-4);gap:var(--sp-3);overflow:auto}.lab-controls{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.lab-step{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-14)}.lab-step-next{font-size:var(--fs-11);opacity:.8}.lab-grain{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-control);overflow:hidden}.lab-grain-opt{background:none;border:0;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-12);color:var(--text-dim);cursor:pointer}.lab-grain-opt--on{background:var(--accent-soft);color:var(--text)}.lab-queue{flex:1;font-size:var(--fs-12);color:var(--text-dim)}.lab-reset{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-12)}.lab-hint{margin:0;font-size:var(--fs-12);color:var(--text-faint)}.lab-flowmap{position:relative;flex:1 1 auto;min-height:540px;border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;background:var(--bg)}.lab-net{width:100%;height:auto;flex:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.lab-place{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1.5}.lab-place--occupied{stroke:var(--accent);stroke-width:2}.lab-plabel{fill:var(--text-dim);font-size:13px;font-family:var(--font-ui)}.lab-count{fill:var(--sand);font-size:13px;font-family:var(--font-mono)}.lab-edge{fill:none;stroke:var(--border-strong);stroke-width:1.5}.lab-edge--fired{stroke:var(--accent)}.lab-edge--log{stroke:var(--border);stroke-dasharray:4 5}.lab-arrowhead{fill:var(--border-strong)}.lab-bar{fill:var(--text-faint)}.lab-bar--fired{animation:lab-bar-flash .7s var(--ease-out);fill:var(--accent)}.lab-bar--error{animation:lab-bar-flash .7s var(--ease-out);fill:var(--error)}@keyframes lab-bar-flash{0%{fill:var(--text)}}.lab-tlabel{fill:var(--text-faint);font-size:10.5px;font-family:var(--font-mono);letter-spacing:.04em}.lab-tlabel--fired{fill:var(--accent)}.lab-tlabel--log{fill:var(--text-faint)}.lab-pulse{fill:none;stroke:var(--accent);animation:lab-pulse .7s var(--ease-out) forwards}@keyframes lab-pulse{0%{stroke-width:2;opacity:.9;transform:scale(1);transform-origin:center;transform-box:fill-box}to{stroke-width:1;opacity:0;transform:scale(1.35);transform-origin:center;transform-box:fill-box}}.lab-token{transition:transform .42s var(--ease-out)}.lab-token circle{fill:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow))}.lab-token--error circle{fill:var(--error)}.lab-trace{display:flex;flex-direction:column;flex:0 0 var(--lab-trace-w);min-width:0;background:var(--surface)}.lab-trace-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.lab-trace-meta{font-size:var(--fs-12);color:var(--text-dim)}.lab-trace-all{margin-left:var(--sp-2);margin-right:auto;background:none;border:1px solid var(--border-strong);border-radius:var(--radius-chip);color:var(--text-dim);font:inherit;font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.08em;padding:1px var(--sp-2);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.lab-trace-all:hover{color:var(--text);border-color:var(--text-faint)}.lab-trace-all--on{color:var(--accent);border-color:var(--accent)}.lab-trace-scroll{flex:1;overflow-y:auto;padding:var(--sp-2) 0}.lab-line{border-left:2px solid transparent}.lab-line-head{display:flex;align-items:baseline;gap:var(--sp-2);width:100%;background:none;border:0;padding:3px var(--sp-3);color:inherit;font:inherit;font-size:var(--fs-12);text-align:left;cursor:pointer}.lab-line-head:hover{background:var(--surface-2)}.lab-line-seq{color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-11);min-width:3ch}.lab-line-type{color:var(--text-dim);font-size:var(--fs-11)}.lab-line-sum{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.lab-line--current{border-left-color:var(--accent);background:var(--accent-soft)}.lab-line--current .lab-line-type{color:var(--text)}.lab-line--queued{opacity:.45}.lab-line--gap{padding:2px var(--sp-3);font-size:var(--fs-11);color:var(--text-faint)}.lab-line-body{padding:var(--sp-1) var(--sp-3) var(--sp-2) calc(var(--sp-3) + 3ch);font-size:var(--fs-12)}.lab-dam{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.lab-dam-line{flex:1;height:1px;background:var(--warn);opacity:.5}.lab-dam-label{font-size:var(--fs-11);color:var(--warn)}.sys{width:100%;height:auto;flex:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.sys-eye{fill:var(--text-dim);font-family:var(--font-ui);font-weight:500;font-size:11px;letter-spacing:.14em}.sys-sub{fill:var(--text-faint);font-family:var(--font-ui);font-size:10.5px}.sys-lab{fill:var(--text);font-family:var(--font-ui);font-weight:500;font-size:12.5px}.sys-mono{fill:var(--text-dim);font-family:var(--font-mono);font-weight:500;font-size:11px}.sys-node{fill:var(--text);font-family:var(--font-ui);font-weight:500;font-size:12.5px;text-anchor:middle}.sys-nsub{fill:var(--text-faint);font-family:var(--font-mono);font-size:10px;text-anchor:middle}.sys-legend{fill:var(--text-faint);font-family:var(--font-ui);font-size:10.5px}.sys-mini{fill:var(--text-dim);font-family:var(--font-ui);font-size:9.5px}.sys-leg{fill:none;stroke:var(--border-strong);stroke-width:1.6}.sys-leg--net{stroke-dasharray:5 6}.sys-leg--on{stroke:var(--accent);stroke-width:2.6;stroke-dasharray:7 8;animation:sys-flow .9s linear infinite}@keyframes sys-flow{to{stroke-dashoffset:-30}}.sys-chip{transition:fill .3s var(--ease-out),stroke .3s var(--ease-out)}.sys-packet{transition:transform .42s var(--ease-out)}.sys-packet-core{fill:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow))}.sys-packet-glow{fill:var(--accent);opacity:.3;animation:sys-breathe 1.7s ease-in-out infinite}.sys[data-error="1"] .sys-packet-core{fill:var(--error)}.sys-arm line{stroke:var(--border-strong)}.sys-arm circle{fill:var(--border-strong)}.sys-disk-glow,.sys-disk-ripple{opacity:0}.sys[data-disk=write] .sys-platter-rim{stroke:var(--accent)}.sys[data-disk=write] .sys-arm line{stroke:var(--accent)}.sys[data-disk=write] .sys-arm circle{fill:var(--accent)}.sys[data-disk=write] .sys-disk-glow{opacity:1;animation:sys-breathe 2s ease-in-out infinite}.sys[data-disk=write] .sys-disk-ripple{animation:sys-ripple 2s ease-out infinite}.sys[data-disk=write] .sys-platter{animation:sys-spin 9s linear infinite;transform-box:fill-box;transform-origin:center}.sys[data-disk=read] .sys-platter-rim{stroke:var(--ok)}.sys[data-disk=read] .sys-arm line{stroke:var(--ok)}.sys[data-disk=read] .sys-arm circle{fill:var(--ok)}.sys[data-disk=read] .sys-platter{animation:sys-spin 14s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes sys-spin{to{transform:rotate(360deg)}}@keyframes sys-breathe{0%,to{opacity:.4}50%{opacity:.92}}@keyframes sys-ripple{0%{r:11px;opacity:.55}to{r:30px;opacity:0}}.sys[data-llm=remote] .sys-local-only,.sys[data-llm=local] .sys-remote-only{display:none}.sys[data-llm=local] .sys-llm-title{fill:var(--text-faint)}.sys-llm-halo{animation:sys-breathe 1.7s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.sys-leg--on,.sys-packet-glow,.sys-disk-glow,.sys-disk-ripple,.sys-platter,.sys-llm-halo{animation:none}.sys-packet{transition:none}}.lab-view-toggle{margin-left:calc(-1 * var(--sp-1))}.lab-speed{display:inline-flex;align-items:center;gap:var(--sp-2)}.lab-speed-label{font-size:var(--fs-11);color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em}.lab-speed input[type=range]{width:96px;accent-color:var(--accent);cursor:pointer}.lab-speed-rate{font-size:var(--fs-11);color:var(--text-dim);min-width:5ch}.lab-back{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-20);line-height:1}.sys-node--sm{font-size:11px}.sys-bubble rect{transition:stroke .3s var(--ease-out)}.sum-str{color:var(--sand)}.sum-text{color:var(--text)}.sum-punct{color:var(--text-faint);opacity:.85}.sum-num{color:var(--text-dim);font-variant-numeric:tabular-nums}.sum-err{color:var(--error);font-weight:500}.sys-subloops{animation:sys-sub-pop .35s var(--ease-out)}.sys-subnode-g--active{animation:sys-subnode-pulse .8s var(--ease-out)}@keyframes sys-subnode-pulse{0%{opacity:.55}to{opacity:1}}@media(prefers-reduced-motion:reduce){.sys-subloops,.sys-subnode-g--active{animation:none}}.sys-subs{display:flex;flex-wrap:wrap;gap:var(--sp-3);animation:sys-sub-pop .35s var(--ease-out)}.sys-sub-card{flex:1 1 240px;min-width:0;max-width:420px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-card);padding:var(--sp-2) var(--sp-3);animation:sys-sub-pop .35s var(--ease-out)}.sys-sub-card--working{border-color:var(--warn)}.sys-sub-card--completed{border-color:var(--ok)}.sys-sub-card--failed{border-color:var(--error)}.sys-sub-card--active{animation:sys-sub-pulse .7s var(--ease-out)}.sys-sub-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:2px}.sys-sub-badge{font-size:var(--fs-11);padding:1px var(--sp-2);border-radius:999px;border:1px solid var(--border-strong);color:var(--text-faint);white-space:nowrap}.sys-sub-badge--working{color:var(--warn);border-color:var(--warn);animation:sys-breathe 2s ease-in-out infinite}.sys-sub-badge--completed{color:var(--ok);border-color:var(--ok)}.sys-sub-badge--failed{color:var(--error);border-color:var(--error)}.sys-sub-id{font-size:var(--fs-11);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-sub-task{font-size:var(--fs-12);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-sub-status{font-size:var(--fs-11);color:var(--sand);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes sys-sub-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes sys-sub-pulse{0%{box-shadow:0 0 0 0 var(--accent-glow)}to{box-shadow:0 0 0 10px transparent}}@media(prefers-reduced-motion:reduce){.sys-subs,.sys-sub-card,.sys-sub-card--active,.sys-sub-badge--working{animation:none}}.right-panel{display:flex;flex-direction:column;flex:none;width:var(--right-panel-w, 360px);min-width:0;min-height:0;background-color:var(--surface);background-image:linear-gradient(var(--glint),transparent 120px);border-left:1px solid var(--border)}.right-panel-head{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border)}.rp-tabs{display:flex;gap:2px;flex:1;min-width:0}.rp-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:var(--radius-control);color:var(--text-faint);cursor:pointer;font:inherit;font-size:var(--fs-12);padding:var(--sp-1) var(--sp-2);display:inline-flex;align-items:center;gap:var(--sp-1);transition:color var(--t-fast),background var(--t-fast)}.rp-tab:hover{color:var(--text-dim)}.rp-tab--active{color:var(--text);background:var(--surface-2)}.rp-close{flex:none}.right-panel-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-3)}.ws{display:flex;flex-direction:column;height:100%;min-height:0;gap:var(--sp-2)}.ws-head{display:flex;align-items:center;gap:var(--sp-2)}.ws-root{font-size:var(--fs-12);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-session-note{flex-shrink:0;font-size:var(--fs-11);color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:1px var(--sp-2)}.ws-refresh,.ws-pick{background:none;border:1px solid var(--border-strong);border-radius:var(--radius-chip);color:var(--text-dim);font:inherit;font-size:var(--fs-12);padding:0 var(--sp-2);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.ws-refresh{margin-left:auto}.ws-pick{flex-shrink:0;white-space:nowrap}.ws-refresh:hover,.ws-pick:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.ws-pick:disabled{opacity:.45;cursor:not-allowed}.ws-tree{flex:0 1 40%;min-height:90px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--shade);padding:var(--sp-1) 0}.ws-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:none;border:0;color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-12);padding:2px var(--sp-2);text-align:left;transition:background var(--t-fast)}.ws-row:hover{background:var(--surface-2)}.ws-row--active{background:var(--accent-soft)}.ws-row-glyph{flex:none;width:12px;color:var(--text-faint)}.ws-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-row-size{margin-left:auto;flex:none;font-size:var(--fs-11);color:var(--text-faint)}.ws-preview{flex:1 1 60%;min-height:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-control);overflow:hidden}.ws-preview-head{flex:none;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border);background:var(--surface-2)}.ws-preview-path{display:block;font-size:var(--fs-11);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-frame{flex:1;width:100%;border:0;background:#fff}.ws-image{flex:1;overflow:auto;display:grid;place-items:center;padding:var(--sp-2)}.ws-image img{max-width:100%;height:auto}.ws-text{flex:1;margin:0;padding:var(--sp-2) var(--sp-3);overflow:auto;font-family:var(--font-mono);font-size:var(--fs-11);line-height:1.55;white-space:pre-wrap;word-break:break-word}.ws-md{flex:1;overflow-y:auto;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-12)}.ws-note{margin:var(--sp-2);font-size:var(--fs-12);color:var(--text-dim)}.agents-empty,.ctx-empty{margin:0;padding:var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--radius-control);font-size:var(--fs-12);line-height:1.5;color:var(--text-faint)}.agents-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.agent-card{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-control);padding:var(--sp-2) var(--sp-3);cursor:pointer;font:inherit;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.agent-card:hover{border-color:var(--border-strong)}.agent-card--working{border-left-color:var(--warn)}.agent-card--completed{border-left-color:var(--ok)}.agent-card--failed{border-left-color:var(--error)}.agent-card--in_progress{border-left-color:var(--accent)}.agent-card--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.agent-card-head{display:flex;align-items:center;gap:var(--sp-2)}.agent-dot{width:7px;height:7px;border-radius:999px;background:var(--text-faint);flex:none}.agent-dot--working{background:var(--warn)}.agent-dot--completed{background:var(--ok)}.agent-dot--failed{background:var(--error)}.agent-dot--in_progress{background:var(--accent);animation:spectroscope-pulse 1.2s ease-in-out infinite}.agent-card-name{font-size:var(--fs-12);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-role-tag{font-size:var(--fs-11);color:var(--sand);border:1px solid var(--border-strong);border-radius:999px;padding:0 var(--sp-1)}.agent-badge{margin-left:auto;font-size:var(--fs-11);color:var(--text-faint);white-space:nowrap}.agent-badge--working{color:var(--warn)}.agent-badge--completed{color:var(--ok)}.agent-badge--failed{color:var(--error)}.agent-badge--in_progress{color:var(--accent)}.agent-card-task{font-size:var(--fs-12);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-card-status{font-size:var(--fs-11);color:var(--sand);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-card-meta{font-size:var(--fs-11);color:var(--text-faint)}.ctx{display:flex;flex-direction:column;gap:var(--sp-4)}.ctx-lead{margin:0;font-size:var(--fs-12);color:var(--text-dim);line-height:1.5}.ctx-section{display:flex;flex-direction:column;gap:var(--sp-1)}.ctx-section-title{margin:0;font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--text-faint)}.ctx-pre{margin:0;max-height:240px;overflow:auto;overscroll-behavior:contain;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-11);line-height:1.55;color:var(--text-dim);white-space:pre-wrap;word-break:break-word}.ctx-prompt-md{font-family:var(--font-ui);font-size:var(--fs-12);white-space:normal;color:var(--text)}.ctx-prompt-md .md h1{font-size:var(--fs-14)}.ctx-prompt-md .md h2{font-size:var(--fs-13)}.ctx-prompt-md .md h3,.ctx-prompt-md .md h4{font-size:var(--fs-12)}.ctx-kv{margin:0;display:flex;flex-direction:column;gap:2px}.ctx-kv>div{display:flex;gap:var(--sp-2);font-size:var(--fs-12)}.ctx-kv dt{color:var(--text-faint);min-width:72px}.ctx-kv dd{margin:0;color:var(--text)}.ctx-tools,.ctx-skills,.ctx-roles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.ctx-tools li,.ctx-skills li,.ctx-roles li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-12)}.ctx-tool-name{color:var(--text)}.ctx-tool-desc{color:var(--text-faint);font-size:var(--fs-11);flex:1 1 100%;line-height:1.45}.ctx-perm{font-size:var(--fs-11);color:var(--warn);border:1px solid var(--warn);border-radius:999px;padding:0 6px}.ctx-role-tag{font-size:var(--fs-11);color:var(--text-dim);border:1px solid var(--border-strong);border-radius:999px;padding:0 6px}.ctx-role-tag--ro{color:var(--ok);border-color:var(--ok)}.ctx-mcp{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ctx-mcp li{font-size:var(--fs-11);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-control);padding:2px var(--sp-2);color:var(--text-dim)}.ctx-none{margin:0;font-size:var(--fs-12);color:var(--text-faint)}.ctx-note{margin:0;font-size:var(--fs-11);color:var(--text-faint);font-style:italic;line-height:1.45}.ctx-head{display:flex;align-items:flex-start;gap:var(--sp-2)}.ctx-head .ctx-lead{flex:1}.ctx-raw-btn{flex:none;display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;font:inherit;font-size:var(--fs-11);font-weight:500;padding:3px var(--sp-2);transition:color var(--t-fast),border-color var(--t-fast)}.ctx-raw-btn:hover{color:var(--text);border-color:var(--accent)}.raw-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0000009e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;padding:clamp(16px,4vh,48px)}.raw-modal{margin:auto;width:100%;max-width:1100px;max-height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-modal);box-shadow:0 24px 80px #00000080;overflow:hidden}.raw-modal-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.raw-modal-title{font-size:var(--fs-14);font-weight:500;color:var(--text)}.raw-modal-meta{margin-left:auto;font-size:var(--fs-11);color:var(--text-faint)}.raw-modal-copy{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;font:inherit;font-size:var(--fs-11);padding:3px var(--sp-2);transition:color var(--t-fast),border-color var(--t-fast)}.raw-modal-copy:hover{color:var(--text);border-color:var(--accent)}.raw-modal-close{flex:none}.raw-modal-pre{flex:1;margin:0;overflow:auto;overscroll-behavior:contain;padding:var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-12);line-height:1.6;color:var(--text-dim);white-space:pre-wrap;word-break:break-word}.image-card{display:flex;flex-direction:column;gap:var(--sp-2);color:inherit;text-decoration:none;animation:rise-in .2s var(--ease) backwards}.image-card img{display:block;width:100%;height:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-control);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.image-card:hover img,.image-card:focus-visible img{border-color:var(--accent);box-shadow:0 6px 18px -10px var(--accent-glow)}.image-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:var(--fs-13);line-height:1.45;color:var(--text-dim)}.image-meta{display:flex;align-items:center;gap:var(--sp-2);min-width:0;font-size:var(--fs-11);color:var(--text-faint)}.image-meta .badge{flex:none}.image-copy{margin-left:auto;flex:none;background:none;border:1px solid var(--border-strong);border-radius:var(--radius-chip);color:var(--text-dim);font:inherit;font-size:var(--fs-11);padding:0 var(--sp-2);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.image-copy:hover{color:var(--accent);border-color:var(--accent)}.image-model{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-toggle{width:auto;gap:var(--sp-1);grid-auto-flow:column;padding:0 var(--sp-2)}.image-toggle-count{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:var(--fs-11);line-height:1.5;padding:0 var(--sp-2)}@media(max-width:900px){.image-panel{position:absolute;inset:0 0 0 auto;z-index:var(--z-dropdown);box-shadow:var(--shadow-modal)}}.react-flow{background:var(--bg)}.react-flow__controls{box-shadow:var(--shadow-card)}.react-flow__controls button{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text);fill:var(--text)}.react-flow__controls button:hover{background:var(--surface-3)}.react-flow__edge-path{stroke:var(--border-strong)}.react-flow__handle{background:var(--border-strong);border-color:var(--surface)}.trace-view{display:flex;flex-direction:column;flex:1;min-height:0}.trace-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);flex:none}.trace-filter{width:220px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:inset 0 1px 2px var(--shade);caret-color:var(--accent);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-12);padding:4px var(--sp-2);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.trace-filter::placeholder{color:var(--text-faint)}.trace-filter:hover{border-color:var(--border-strong)}.trace-filter:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),inset 0 1px 2px var(--shade)}.trace-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-control);overflow:hidden}.trace-seg button{background:none;border:0;color:var(--text-faint);font:inherit;font-size:var(--fs-12);padding:3px var(--sp-3);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.trace-seg button+button{border-left:1px solid var(--border)}.trace-seg button:hover{color:var(--text)}.trace-seg button[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.trace-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.trace-chip{background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-faint);font:inherit;font-size:var(--fs-11);line-height:1.6;padding:0 var(--sp-2);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.trace-chip:hover{color:var(--text-dim);border-color:var(--border-strong)}.trace-chip[aria-pressed=true]{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.trace-count{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-dim);white-space:nowrap}.trace-body{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.trace-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.trace-table{padding-bottom:var(--sp-4)}.trace-head,.trace-row{display:grid;grid-template-columns:48px 92px 60px 20px 64px 140px 96px 150px minmax(0,1fr);column-gap:var(--sp-2);align-items:center;padding:2px var(--sp-4)}.trace-head{position:sticky;top:0;z-index:1;background:var(--bg);border-bottom:1px solid var(--border);padding-top:var(--sp-2);padding-bottom:var(--sp-1);font-size:var(--fs-11);font-weight:500;text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--text-faint)}.trace-row{width:100%;background:none;border:0;color:var(--text);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-12);text-align:left;transition:background var(--t-fast)}.trace-row:hover{background:var(--surface)}.trace-row[aria-expanded=true]{background:var(--surface-2)}.trace-col{min-width:0}.trace-col--num{color:var(--text-faint)}.trace-col--dt{text-align:right;color:var(--text-faint)}.trace-col--llm{text-align:center;font-weight:600}.trace-col--proto{color:var(--text-faint);font-size:var(--fs-11);letter-spacing:.02em}.trace-col--host{color:var(--text-faint);font-size:var(--fs-11);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-col--llm-to{color:var(--sand)}.trace-col--llm-from{color:var(--accent)}.trace-col--llm-internal{color:var(--text-faint)}.trace-row--sys{background:color-mix(in srgb,var(--sand) 6%,transparent)}.trace-row--sys .trace-type{color:var(--sand)}.trace-col--agent{overflow:hidden}.trace-col--agent .agent-badge{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.trace-col--summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.trace-type{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:0 var(--sp-2);font-size:var(--fs-11);line-height:1.7;color:var(--text-dim);vertical-align:bottom}.trace-detail{position:relative;padding:var(--sp-2) var(--sp-4) var(--sp-3) 56px;background:var(--surface);box-shadow:inset 0 1px 0 var(--border),inset 0 -1px 0 var(--border)}.trace-detail .json-tree{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-chip);box-shadow:inset 0 1px 3px var(--shade);padding:var(--sp-2) var(--sp-3)}.trace-detail .copy{top:var(--sp-3);right:var(--sp-5)}.trace-detail-modes{display:inline-flex;gap:2px;margin-bottom:var(--sp-2);padding:2px;background:var(--bg);border:1px solid var(--border);border-radius:999px}.trace-detail-modes button{font:inherit;font-size:var(--fs-11);color:var(--text-dim);background:none;border:0;border-radius:999px;padding:2px 10px;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.trace-detail-modes button:hover{color:var(--text)}.trace-detail-modes button[aria-pressed=true]{background:var(--surface-2);color:var(--text)}.trace-detail-lines,.trace-detail-raw{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-chip);box-shadow:inset 0 1px 3px var(--shade);padding:var(--sp-2) var(--sp-3);overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-12);line-height:1.7}.trace-detail-line{white-space:pre}.trace-detail-raw{margin:0;white-space:pre;color:var(--text)}.trace-detail:hover .copy,.trace-detail .copy:focus-visible{opacity:1}.trace-pill{position:absolute;bottom:var(--sp-4);left:50%;transform:translate(-50%);z-index:var(--z-sticky);display:inline-flex;align-items:center;gap:var(--sp-1);background:var(--surface-2);border:1px solid var(--accent);border-radius:999px;box-shadow:var(--shadow-raised);color:var(--accent);cursor:pointer;font:inherit;font-size:var(--fs-12);padding:4px var(--sp-3);transition:background var(--t-fast);animation:rise-in .2s var(--ease) backwards}.trace-pill:hover{background:var(--accent-soft)}.trace-rail{position:absolute;right:var(--sp-2);top:50%;transform:translateY(-50%);z-index:var(--z-sticky);display:flex;flex-direction:column;gap:var(--sp-1);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-raised);padding:var(--sp-1)}.trace-rail-btn{display:grid;place-items:center;width:26px;height:26px;background:transparent;border:none;border-radius:999px;color:var(--text-dim);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.trace-rail-btn:hover{background:var(--accent-soft);color:var(--accent)}.trace-empty{margin:var(--sp-4);max-width:420px;padding:var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--radius-control);font-size:var(--fs-12);line-height:1.5;color:var(--text-faint)}.json-tree{font-family:var(--font-mono);font-size:var(--fs-12);line-height:1.6}.json-line{white-space:pre-wrap;word-break:break-word}.json-key{color:var(--text-dim)}.json-string{color:var(--agent-explore)}.json-number{color:var(--agent-root)}.json-bool{color:var(--agent-worker)}.json-punct{color:var(--text-faint)}.json-count{color:var(--text-faint);font-size:var(--fs-11)}.json-toggle{background:none;border:0;margin:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.json-toggle:hover .json-caret{color:var(--text)}.json-caret{display:inline-block;width:14px;color:var(--text-dim);transition:color var(--t-fast)}.json-caret-spacer{display:inline-block;width:14px}.context-wrap{position:relative;display:inline-flex;flex:none}.context-ring{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-radius:999px;padding:4px var(--sp-2);color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-11);transition:background var(--t-fast),color var(--t-fast)}.context-ring:hover{background:var(--surface-2);color:var(--text)}.context-ring svg{display:block}.context-pop{position:absolute;top:calc(100% + var(--sp-2));right:0;z-index:var(--z-dropdown);width:300px;background-color:var(--surface);background-image:linear-gradient(var(--glint),transparent 80px);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-raised),inset 0 1px 0 var(--hairline);padding:var(--sp-4);animation:fade-in var(--t-fast) backwards}.context-line{margin:var(--sp-1) 0 0;font-size:var(--fs-16);font-weight:400;letter-spacing:var(--track-heading)}.context-parts{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:var(--sp-3);row-gap:2px;margin:var(--sp-3) 0;font-size:var(--fs-12)}.context-parts .head{font-size:var(--fs-11);font-weight:500;text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--text-faint)}.context-parts .num{font-family:var(--font-mono);text-align:right;color:var(--text-dim)}.context-part-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-meta{margin:0 0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-dim)}.context-note{margin:0;font-size:var(--fs-12);line-height:1.5;color:var(--text-faint)}.trace-chips--agents{margin-left:var(--sp-2)}.trace-chip-dot{display:inline-block;width:3px;height:10px;border-radius:1px;margin-right:var(--sp-1);vertical-align:-1px;background:var(--agent-color, var(--text-faint))}.trace-lens{background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.04em;line-height:1.6;padding:0 var(--sp-3);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.trace-lens:hover{border-color:var(--border-strong);color:var(--text)}.trace-lens--on{color:var(--ev-reasoning);border-color:var(--ev-reasoning);background:color-mix(in srgb,var(--ev-reasoning) 8%,transparent)}.trace-lens-note{margin:0;padding:var(--sp-1) var(--sp-4);font-size:var(--fs-12);color:var(--text-dim);border-bottom:1px solid var(--border)}.trace-row--hi{box-shadow:inset 2px 0 0 var(--ev-reasoning);background:color-mix(in srgb,var(--ev-reasoning) 5%,transparent)}.trace-row--dim{opacity:.38}.trace-row--anchor{opacity:.9}.trace-pair{display:block;width:100%;text-align:left;background:none;border:none;border-left:2px solid var(--ev-reasoning);color:var(--text-dim);font:inherit;font-size:var(--fs-12);padding:2px var(--sp-4) 2px var(--sp-6);cursor:pointer}.trace-pair:hover{color:var(--text);background:var(--surface-2)}.trace-pair .mono{color:var(--text-dim)}.trace-chain{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-1);margin-bottom:var(--sp-2)}.trace-chain-label{font-size:var(--fs-11);color:var(--ev-pending);text-transform:uppercase;letter-spacing:var(--track-eyebrow);margin-right:var(--sp-2)}.trace-chain-step{display:inline-flex;align-items:center;gap:var(--sp-1)}.trace-chain-arrow{color:var(--text-faint)}.trace-chain-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-chip);color:var(--text-dim);font-size:var(--fs-11);line-height:1.7;padding:0 var(--sp-2);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.trace-chain-chip:hover{color:var(--text);border-color:var(--border-strong)}.trace-chain-chip--here{cursor:default;color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface-2))}.trace-scrub{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-4);border-bottom:1px solid var(--border)}.trace-scrub input[type=range]{flex:1;min-width:0;accent-color:var(--sp-violet)}.trace-scrub-label{font-size:var(--fs-11);color:var(--ev-pending);text-transform:uppercase;letter-spacing:var(--track-eyebrow)}.trace-scrub-pos{font-size:var(--fs-11);color:var(--text-dim)}.trace-type{display:inline-flex;align-items:center;gap:var(--sp-1)}.trace-type-mark{display:inline-block;width:3px;height:12px;border-radius:1px;flex-shrink:0}.gate-bar{position:relative;border-top:1px solid var(--border);background:var(--surface);padding:var(--sp-2) var(--sp-4) var(--sp-2) calc(var(--sp-4) + 4px);flex:none}.gate-line{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ev-pending)}.gate-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.gate-kicker{font-size:var(--fs-11);color:var(--ev-pending);text-transform:uppercase;letter-spacing:var(--track-eyebrow)}.gate-tool{font-size:var(--fs-13);color:var(--text)}.gate-input{flex:1;min-width:8rem;font-size:var(--fs-12);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gate-queue{font-size:var(--fs-11);color:var(--ev-pending)}.gate-remember{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-12);color:var(--text-dim);white-space:nowrap}.gate-remember input{accent-color:var(--accent)}.gate-deny,.gate-allow{font:inherit;font-size:var(--fs-13);font-weight:560;border-radius:var(--radius-control);padding:var(--sp-1) var(--sp-4);cursor:pointer;transition:border-color var(--t-fast),filter var(--t-fast),transform var(--t-fast)}.gate-deny{background:none;border:1px solid var(--border);color:var(--text)}.gate-deny:hover{border-color:var(--border-strong);transform:translateY(-1px)}.gate-allow{background:var(--accent);border:1px solid var(--accent);color:var(--text-on-accent)}.gate-allow:hover{filter:brightness(1.12);transform:translateY(-1px)}.gate-expand{margin-left:auto}.gate-detail{display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-2)}.gate-input-full{margin:0;max-height:9rem;overflow:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-chip);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-12);color:var(--text-dim)}.gate-history{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.gate-history-label{font-size:var(--fs-11);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--track-eyebrow)}.gate-history-row{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-12);color:var(--text-dim)}.gate-history-agent{color:var(--text-faint)}.gate-outcome{font-size:var(--fs-11);border-radius:var(--radius-chip);padding:0 var(--sp-1);border:1px solid}.gate-outcome--allowed{color:var(--ev-token);border-color:var(--ev-token)}.gate-outcome--denied{color:var(--ev-gate);border-color:var(--ev-gate)}.gate-outcome--pending{color:var(--ev-pending);border-color:var(--ev-pending)}.explain-panel{width:320px;flex:none;overflow-y:auto;border-left:1px solid var(--border);background:var(--surface);padding:var(--sp-3) var(--sp-4) var(--sp-5)}.explain-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}.explain-kicker{font-size:var(--fs-11);color:var(--ev-pending);text-transform:uppercase;letter-spacing:var(--track-eyebrow)}.explain-section{margin-bottom:var(--sp-4)}.explain-title{margin:0 0 var(--sp-2);font-size:var(--fs-13);font-weight:640;letter-spacing:var(--track-heading)}.explain-prompt{margin:0 0 var(--sp-2);font-size:var(--fs-13);color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.explain-facts{margin:0;display:flex;flex-direction:column;gap:var(--sp-1)}.explain-facts>div{display:flex;justify-content:space-between;gap:var(--sp-3)}.explain-facts dt{color:var(--text-faint);font-size:var(--fs-12)}.explain-facts dd{margin:0;font-size:var(--fs-12);color:var(--text-dim);text-align:right}.explain-toollist{margin:var(--sp-2) 0 0;font-size:var(--fs-11);color:var(--text-faint)}.explain-gates{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.explain-gate{border:1px solid var(--border);border-radius:var(--radius-chip);padding:var(--sp-2) var(--sp-3)}.explain-gate-head{display:inline-flex;align-items:center;gap:var(--sp-2);background:none;border:none;color:var(--text);font-size:var(--fs-12);padding:0;cursor:pointer}.explain-gate-head:hover{color:var(--accent)}.explain-gate-agent{color:var(--text-faint)}.explain-gate-why{margin:var(--sp-1) 0 0;font-size:var(--fs-12);color:var(--text-dim)}.explain-empty{font-size:var(--fs-12);color:var(--text-faint)}.explain-note{margin:0;font-size:var(--fs-11);color:var(--text-faint);border-top:1px solid var(--border);padding-top:var(--sp-2)}.doctor-page{max-width:34rem}.doctor-page .settings-head{gap:var(--sp-3)}.doctor-page .settings-hint{text-align:right}.doctor-lede{margin:0 0 var(--sp-3);font-size:var(--fs-13);color:var(--text-dim)}.doctor-list{list-style:none;margin:0 0 var(--sp-4);padding:0;display:flex;flex-direction:column}.doctor-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border)}.doctor-row:last-child{border-bottom:none}.doctor-label{flex:none;width:11rem;font-size:var(--fs-13)}.doctor-value{flex:1;min-width:0;font-size:var(--fs-12);color:var(--text-dim);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doctor-cli{margin:0;font-size:var(--fs-12);color:var(--text)}.doctor-cli-hint{margin:var(--sp-1) 0 0;font-size:var(--fs-12);color:var(--text-faint)}.edu-app{display:flex;height:100%;min-height:0}.edu-sidebar{flex:0 0 244px;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--surface)}.edu-brand{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-4);border:0;border-bottom:1px solid var(--border);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast)}.edu-brand:hover{background:var(--surface-2)}.edu-brand-mark{width:22px;height:22px;flex:none}.edu-brand-name{font-weight:600;letter-spacing:.01em}.edu-brand-sub{color:var(--text-faint);font-size:var(--fs-12);margin-left:auto}.edu-seg{display:flex;gap:2px;margin:var(--sp-3) var(--sp-4) var(--sp-2);padding:3px;border:1px solid var(--border-strong);border-radius:var(--radius-control)}.edu-seg-btn{flex:1;background:none;border:0;border-radius:calc(var(--radius-control) - 3px);padding:var(--sp-2);color:var(--text-dim);font:inherit;font-size:var(--fs-13);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.edu-seg-btn:hover{color:var(--text)}.edu-seg-btn--on{background:var(--accent-soft);color:var(--text)}.edu-list-label{padding:var(--sp-3) var(--sp-4) var(--sp-1)}.edu-list{flex:1;overflow-y:auto;padding:0 var(--sp-3) var(--sp-3)}.edu-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;background:none;border:0;border-radius:var(--radius-control);padding:var(--sp-2) var(--sp-3);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast)}.edu-row:hover{background:var(--surface-2)}.edu-row--on{background:var(--accent-soft)}.edu-row-body{min-width:0;flex:1}.edu-row-title{font-size:var(--fs-13);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edu-row--on .edu-row-title{color:var(--text)}.edu-row-meta{font-size:var(--fs-11);color:var(--text-faint)}.edu-row--soon{cursor:default;opacity:.7}.edu-row--soon:hover{background:none}.edu-soon-chip{font-size:var(--fs-11);color:var(--text-faint);border:1px solid var(--border-strong);border-radius:var(--radius-chip);padding:0 var(--sp-2);white-space:nowrap}.edu-foot{border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3)}.edu-toggle{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-control);overflow:hidden}.edu-toggle-opt{background:none;border:0;padding:var(--sp-1) var(--sp-3);font:inherit;font-size:var(--fs-12);color:var(--text-dim);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.edu-toggle-opt:hover{color:var(--text)}.edu-toggle-opt--on{background:var(--accent-soft);color:var(--text)}.edu-stage{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0}.sim-view{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:var(--sp-4);gap:var(--sp-3);overflow:hidden}.sim-body{display:flex;flex:1 1 auto;min-height:0;gap:var(--sp-3);overflow-x:auto}.sim-center{display:flex;flex-direction:column;flex:1 1 auto;min-width:340px;min-height:0;gap:var(--sp-3);overflow-y:auto}.sim-now{display:flex;align-items:center;gap:10px;flex:none;padding:9px 15px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.sim-transport{display:flex;align-items:center;gap:var(--sp-4);flex:none}.sim-transport .edu-scrub{flex:1 1 auto}.edu-drawer{display:flex;flex-direction:column;flex:none;min-height:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.edu-drawer:not(.is-open){width:36px}.edu-drawer--left.is-open{width:clamp(260px,20vw,320px)}.edu-drawer--right.is-open{width:clamp(300px,26vw,400px)}.edu-drawer-rail{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-3) 0;background:none;border:0;color:var(--text-dim);font:inherit;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.edu-drawer-rail:hover{background:var(--surface-2);color:var(--text)}.edu-drawer-chevron{font-size:var(--fs-16);line-height:1}.edu-drawer-rail-label{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.14em;font-size:var(--fs-11)}.edu-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);flex:none}.edu-drawer-title{text-transform:uppercase;letter-spacing:.14em;font-size:var(--fs-11);color:var(--text-faint)}.edu-drawer-toggle{background:none;border:0;padding:0 var(--sp-1);color:var(--text-dim);font-size:var(--fs-20);line-height:1;cursor:pointer;transition:color var(--t-fast)}.edu-drawer-toggle:hover{color:var(--text)}.edu-drawer-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.edu-drawer-body>.lab-trace,.edu-drawer-body>.trace-view{flex:1 1 auto;min-height:0;width:100%}.sim-head{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}.sim-title{margin:0;font-size:var(--fs-20);font-weight:600}.sim-prompt{margin:0;flex:1 1 260px;min-width:0;font-size:var(--fs-12);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-flip{margin-left:auto;flex:none}.sim-flip-hint{font-size:var(--fs-11);color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em}.fx-switch{display:inline-flex;align-items:center;gap:var(--sp-3);background:none;border:0;padding:0;color:var(--text);font:inherit;font-size:var(--fs-14);cursor:pointer}.fx-switch-label{font-size:var(--fs-13)}.fx-switch-track{position:relative;flex:none;width:30px;height:16px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border-strong);transition:background var(--t-fast),border-color var(--t-fast)}.fx-switch-knob{position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:999px;background:var(--text-faint);transition:transform var(--t-fast),background var(--t-fast)}.fx-switch--on .fx-switch-track{background:var(--accent-soft);border-color:var(--accent)}.fx-switch--on .fx-switch-knob{transform:translate(14px);background:var(--accent)}.edu-placeholder{flex:1 1 auto;display:grid;place-items:center;padding:var(--sp-6)}.edu-placeholder-card{max-width:46ch;text-align:center;display:flex;flex-direction:column;gap:var(--sp-3)}.edu-placeholder-card h1{margin:0;font-size:var(--fs-28);font-weight:600}.edu-placeholder-card p{margin:0;color:var(--text-dim);line-height:var(--lh-body)}.edu-home{height:100%;overflow-y:auto;background:radial-gradient(1100px 480px at 50% -160px,var(--glint),transparent 70%) var(--bg)}.edu-home-nav{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) clamp(var(--sp-4),5vw,var(--sp-7));border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.edu-home-brand{display:inline-flex;align-items:center;gap:var(--sp-3);color:inherit;text-decoration:none;transition:opacity var(--t-fast)}.edu-home-brand:hover,.edu-home-brand:focus-visible{opacity:.8}.edu-home-controls{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.edu-home-mainlink{color:var(--text-dim);font-size:var(--fs-14);text-decoration:none;white-space:nowrap;transition:color var(--t-fast)}.edu-home-mainlink:hover,.edu-home-mainlink:focus-visible{color:var(--text)}.edu-home-wrap{max-width:1000px;margin:0 auto;padding:0 clamp(var(--sp-4),5vw,var(--sp-7))}.edu-home-hero{max-width:680px;padding:clamp(var(--sp-6),9vh,calc(var(--sp-7) * 1.6)) 0 var(--sp-6)}.edu-hero-brand{display:inline-flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);color:inherit;text-decoration:none;transition:opacity var(--t-fast)}.edu-hero-brand:hover,.edu-hero-brand:focus-visible{opacity:.8}.edu-hero-mark{width:30px;height:30px;flex:none}.edu-hero-name{font-size:var(--fs-20);font-weight:650;letter-spacing:-.01em;color:var(--text)}.edu-hero-sub{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:3px 9px}.edu-home-hero h1{margin:var(--sp-3) 0 var(--sp-4);font-size:clamp(var(--fs-28),5vw,42px);font-weight:650;letter-spacing:-.015em;line-height:1.1}.edu-home-lede{margin:0;color:var(--text-dim);font-size:var(--fs-16);line-height:var(--lh-body)}.edu-home-cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}.edu-home-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4);padding-bottom:var(--sp-6)}.edu-home-card{border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--sp-4) var(--sp-4) var(--sp-5);background:var(--surface)}.edu-home-card h2{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-2);font-size:var(--fs-16);font-weight:600}.edu-home-card h2 i{display:inline-block;width:3px;height:.9em;border-radius:1px;flex:none}.edu-home-card p{margin:0;color:var(--text-dim);font-size:var(--fs-13);line-height:var(--lh-body)}.edu-home-keymap{padding-bottom:var(--sp-5)}.km-card{display:block;width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:var(--sp-4);cursor:pointer;transition:border-color .15s ease,background .15s ease}.km-card:hover,.km-card:focus-visible{border-color:var(--accent);background:var(--surface-2);outline:none}.km-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.km-card-title{display:inline-flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-16);font-weight:600}.km-card-ico{display:inline-flex;color:var(--accent)}.km-card-ico svg{width:20px;height:20px}.km-card-hint{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-faint)}.km-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-3)}.km-chip{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);background:var(--bg)}.km-chip-ico{display:inline-flex;color:var(--text-faint);flex:none}.km-chip-ico svg{width:18px;height:18px}.km-chip-keys{display:inline-flex;gap:4px;flex:none}.km-chip-label{font-size:var(--fs-12);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edu-home-handbook{padding-bottom:var(--sp-5)}.hb-card{display:flex;align-items:center;gap:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:var(--sp-3) var(--sp-4);text-decoration:none;color:inherit;transition:border-color .15s ease,background .15s ease}.hb-card:hover,.hb-card:focus-visible{border-color:var(--accent);background:var(--surface-2);outline:none}.hb-preview{flex:none;width:168px}.hb-preview svg{display:block;width:100%;height:auto;border-radius:8px}.hb-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.hb-text strong{font-size:var(--fs-16);font-weight:650}.hb-text span{font-size:var(--fs-13);color:var(--text-dim);line-height:var(--lh-body)}.hb-open{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);font-size:17px;font-weight:700;transition:background .15s ease,color .15s ease,transform .15s ease}.hb-card:hover .hb-open,.hb-card:focus-visible .hb-open{background:var(--accent);color:var(--bg);transform:translate(2px)}@media(max-width:560px){.hb-preview{display:none}}.edu-home-foot{padding:var(--sp-5) 0 var(--sp-7);border-top:1px solid var(--border);color:var(--text-faint);font-size:var(--fs-12)}.edu-home-guides{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin:0 0 var(--sp-6)}@media(max-width:720px){.edu-home-guides{grid-template-columns:1fr}}.edu-home-sim{position:relative;display:block;width:100%;margin:0;padding:0;background:none;border:0;text-align:left;font:inherit;cursor:pointer}.edu-home-sim:after{content:"→";position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-size:17px;font-weight:700;line-height:1;pointer-events:none;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.edu-home-sim:hover:after,.edu-home-sim:focus-visible:after{background:var(--accent);color:var(--bg);transform:translate(2px)}.edu-home-sim-svg{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);transition:border-color var(--t-fast)}.edu-home-sim:hover .edu-home-sim-svg,.edu-home-sim:focus-visible .edu-home-sim-svg{border-color:var(--accent)}.edu-home-sim-cap{display:flex;align-items:baseline;gap:var(--sp-3);margin-top:var(--sp-3);color:var(--text-dim);font-size:var(--fs-13);line-height:var(--lh-body)}.edu-home-sim-cap strong{color:var(--text);font-weight:600}.edu-home-sim-play{flex:none;color:var(--accent);font-size:var(--fs-16);line-height:1}.edu-home-sim-svg text{font-family:var(--font-ui);fill:var(--text)}.sg-rail{fill:var(--text-faint);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.sg-glyph{fill:var(--text-dim);font-size:15px}.sg-btn{fill:var(--text);font-size:12px;font-weight:600}.sg-lbl{fill:var(--text-dim);font-size:12px}.sg-count{fill:var(--text-dim);font-family:var(--font-mono);font-size:11px}.sg-eyebrow{fill:var(--text-faint);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}.sg-node{fill:var(--text);font-size:12.5px;font-weight:600}.sg-node--sm{font-size:11px}.sg-sub{fill:var(--text-faint);font-size:10px}.sg-cell{fill:var(--text-dim);font-size:9.5px;font-family:var(--font-mono)}.sg-donut-pct{fill:var(--text);font-size:20px;font-weight:700;dominant-baseline:middle}.sim-keys{flex:none;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:none;color:var(--text-dim);font:inherit;font-size:var(--fs-14);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.sim-keys:hover{color:var(--text);border-color:var(--text-faint)}.km-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:var(--sp-4);background:color-mix(in srgb,var(--bg) 68%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.km-panel{width:min(680px,100%);max-height:86vh;overflow-y:auto;border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface);padding:var(--sp-5)}.km-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.km-close{background:none;border:0;padding:0 var(--sp-1);color:var(--text-dim);font-size:var(--fs-20);line-height:1;cursor:pointer}.km-close:hover{color:var(--text)}.km-title{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-16);font-weight:600;text-transform:lowercase;letter-spacing:-.01em;color:var(--text)}.km-title-ico{color:var(--accent);display:inline-flex}.km-title-ico svg{width:22px;height:22px}.km-groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-6)}.km-group:last-child{grid-column:1 / -1}.km-group-title{margin:0 0 var(--sp-2);text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-11);color:var(--text-faint)}.km-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.km-row{display:grid;grid-template-columns:22px 96px 1fr;align-items:center;gap:12px}.km-ico{color:var(--text-faint);display:inline-flex}.km-ico svg{width:20px;height:20px}.km-keys{display:inline-flex;gap:5px}.km-key{display:inline-block;min-width:22px;padding:3px 8px 4px;text-align:center;border:1px solid var(--border-strong);border-bottom-width:3px;border-radius:6px;background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1}.km-label{color:var(--text-dim);font-size:var(--fs-13)}.km-foot{margin:var(--sp-4) 0 0;color:var(--text-faint);font-size:var(--fs-12)}.edu-view{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.edu-lesson-head{position:relative;padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--border);flex:none}.edu-head-keys{position:absolute;top:var(--sp-4);right:var(--sp-5)}.edu-lesson-head h1{margin:var(--sp-1) 0 0;font-size:var(--fs-20);font-weight:600;letter-spacing:-.015em;text-transform:lowercase}.edu-blurb{margin:var(--sp-1) 0 0;max-width:74ch;color:var(--text-dim);font-size:var(--fs-12);line-height:1.5}.edu-lesson-stage{flex:1 1 auto;display:grid;grid-template-columns:1fr 288px;min-height:0}.edu-lesson-stage.no-readout{grid-template-columns:1fr}.edu-map{position:relative;min-width:0;min-height:0;display:flex;padding:var(--sp-3)}.edu-map .edu-flowmap{flex:1 1 auto;min-height:0}.edu-now{position:absolute;top:14px;left:14px;right:14px;z-index:6;display:flex;align-items:center;gap:10px;padding:9px 15px;background:color-mix(in srgb,var(--surface) 84%,transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:1px solid var(--border);border-radius:var(--radius-card);pointer-events:none}.edu-now-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);flex:none}.edu-now-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;animation:edu-nowpulse 1.6s ease-in-out infinite}.edu-now-label{font-family:var(--font-mono);font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes edu-nowpulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.edu-now-dot{animation:none}}.pf-flow .react-flow__node-eduCard{background:transparent;border:none;padding:0;width:auto;font-size:inherit;color:inherit}.edu-card{position:relative;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-card);padding:10px 13px 11px;display:flex;flex-direction:column;gap:3px;width:200px;font-family:var(--font-ui);text-align:left;transition:border-color var(--t-fast)}.edu-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-card) 0 0 var(--radius-card);background:var(--text-faint);opacity:.9}.edu-card.k-model:before{background:var(--ev-tool)}.edu-card.k-harness:before{background:var(--text-faint)}.edu-card.k-gate:before{background:var(--ev-gate)}.edu-card.k-log:before{background:var(--ev-reasoning)}.edu-card.k-token:before{background:var(--ev-token)}.edu-card.k-sub:before{background:var(--ev-subagent)}.edu-card.k-human:before{background:var(--sand)}.edu-card.k-skill:before{background:var(--ev-tool)}.edu-card.is-active{border-color:var(--accent)}.edu-card-eyebrow{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.edu-card-title{font-size:13px;color:var(--text);line-height:1.25}.edu-card-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim)}.edu-card-inspect{align-self:flex-start;margin-top:3px;border:none;background:none;padding:0;font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:var(--text-faint);cursor:pointer;transition:color var(--t-fast)}.edu-card.is-active .edu-card-inspect,.edu-card-inspect:hover{color:var(--accent)}.edu-card-detail{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.edu-card-detail li{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);line-height:1.4;padding-left:8px;border-left:2px solid var(--border-strong)}.edu-card-body{margin-top:5px;display:flex;flex-direction:column;gap:4px}.edu-card-body-row{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);display:flex;gap:6px;line-height:1.35}.edu-card-body-n{color:var(--accent);font-weight:600;flex:none}.edu-readout{border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0}.edu-readout-head{padding:var(--sp-3) var(--sp-4) var(--sp-2);border-bottom:1px solid var(--border);flex:none}.edu-readout-body{padding:var(--sp-3) var(--sp-4);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:9px}.log-line{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);line-height:1.45;border-left:2px solid var(--border);padding-left:9px;animation:edu-logIn .28s var(--ease-out)}.log-line b{color:var(--text)}.log-line .g{color:var(--ok)}.log-line .r{color:var(--error)}.log-line .a{color:var(--accent)}@keyframes edu-logIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.readout-note{font-size:12px;color:var(--text-dim);line-height:1.5}.readout-note b{color:var(--text)}.stat{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:12px}.stat b{font-size:15px;color:var(--text)}.stat span{color:var(--text-faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em}.gives{display:flex;flex-direction:column;gap:9px}.give{display:flex;gap:10px;align-items:flex-start;animation:edu-logIn .28s var(--ease-out)}.give .gm{width:8px;height:8px;border-radius:2px;margin-top:4px;flex:none;background:var(--accent)}.give .gl{font-size:12.5px;color:var(--text);line-height:1.2}.give .gs{font-size:11px;color:var(--text-dim);font-family:var(--font-mono);margin-top:2px}.donut{display:flex;align-items:center;gap:14px}.donut svg{flex:none}.donut--big{flex-direction:column;align-items:center;gap:2px;margin:4px auto 8px}.donut-pct{fill:var(--text);font-family:var(--font-mono);font-size:27px;font-weight:700}.donut-sub{fill:var(--text-faint);font-family:var(--font-mono);font-size:11px}.donut--big .dv{text-align:center}.donut--big .dv small{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-size:10px}.donut .dv{font-family:var(--font-mono)}.donut .dv b{font-size:20px;color:var(--text)}.donut .dv small{display:block;font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em}.legend{display:flex;flex-direction:column;gap:5px;margin-top:2px}.legend .lr{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim)}.legend .lm{width:8px;height:8px;border-radius:2px;flex:none}.legend .lt{margin-left:auto;color:var(--text-faint)}.edu-controller{border-top:1px solid var(--border);background:var(--surface);padding:var(--sp-3) var(--sp-5) var(--sp-4);display:flex;flex-direction:column;gap:9px;flex:none}.edu-controller .caption{font-size:13.5px;color:var(--text);line-height:1.5;min-height:2.4em;max-height:7.5em;overflow-y:auto;max-width:92ch}.edu-controller .caption .k{color:var(--accent);font-family:var(--font-mono);font-size:12px}.edu-controller .caption .a{color:var(--accent)}.edu-controller .caption .g{color:var(--ok)}.edu-controller .caption .r{color:var(--error)}.edu-ctrl-row{display:flex;align-items:center;gap:14px}.edu-ctrl-btns{display:flex;gap:6px;flex:none}.edu-ctrl-btns button{border:1px solid var(--border);border-radius:var(--radius-chip);width:38px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:var(--fs-16);line-height:1;cursor:pointer;background:var(--surface);transition:border-color var(--t-fast),color var(--t-fast)}.edu-ctrl-btns button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.edu-ctrl-btns button:disabled{opacity:.4;cursor:default}.edu-ctrl-btns button.play:not(:disabled){border-color:var(--accent);color:var(--accent)}.edu-scrub{flex:1;display:flex;align-items:center;gap:12px}.edu-scrub input[type=range]{flex:1;accent-color:var(--accent);cursor:pointer}.counter{font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);white-space:nowrap}.done-flag{font-family:var(--font-mono);font-size:11px;color:var(--ok);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.predict{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.predict .pq{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-right:2px}.predict button{border:1px solid var(--border-strong);border-radius:var(--radius-chip);padding:6px 15px;font-size:12px;color:var(--text);font-family:var(--font-mono);cursor:pointer;background:var(--surface);transition:border-color var(--t-fast),color var(--t-fast)}.predict button:hover:not(:disabled){border-color:var(--accent)}.predict button.reveal{border-color:var(--ok);color:var(--ok)}.predict button.wrong{border-color:var(--error);color:var(--error);opacity:.7;text-decoration:line-through}.predict button:disabled{cursor:default}.edu-flowmap .pf-agent--wide{width:540px}.pf-agent__cols{display:flex;gap:16px;align-items:stretch}.pf-agent__main{flex:0 0 200px;display:flex;flex-direction:column}.pf-agent__ctx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px;border-left:1px solid var(--border);padding-left:16px}.pf-agent__ctx>.pf-eyebrow{margin-bottom:2px}.pf-agent__genfull{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.pf-agent__genfull .pf-genimg-wrap{align-items:flex-start;gap:14px}.pf-agent__genfull .pf-genimg{width:132px;height:88px}.pf-agent__genfull .pf-genimg-cap{font-size:12px;align-self:center}.pf-genimg-wrap{display:flex;align-items:center;gap:10px;margin-top:2px}.pf-genimg{border-radius:5px;flex:none}.pf-genimg-cap{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);line-height:1.3}.edu-flowmap .pf-user--wide{width:400px}.pf-user--wide{display:flex;gap:16px;align-items:flex-start;text-align:left}.pf-user__col{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px}.pf-user__prompt{flex:1 1 auto;min-width:0;border-left:1px solid var(--border);padding-left:16px}.pf-user__prompt>.pf-eyebrow{margin-bottom:4px}.edu-card-files{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.edu-card-files li{font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);display:flex;align-items:center;gap:7px}.edu-card-files li:before{content:"";width:9px;height:11px;border-radius:1.5px;border:1px solid var(--text-faint);flex:none}.edu-card-files li.is-new{color:var(--text)}.edu-card-files li.is-new:before{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 30%,transparent)}.err-boundary{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:var(--sp-6)}.err-card{max-width:480px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--sp-red, #c05a4c);border-radius:var(--radius-card);padding:var(--sp-4) var(--sp-5)}.err-card h2{margin:var(--sp-1) 0 var(--sp-2);font-size:var(--fs-18);text-transform:lowercase}.err-card p{margin:0 0 var(--sp-3);color:var(--text-dim);font-size:var(--fs-13);line-height:1.5}.err-msg{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-chip);padding:8px 10px;margin:0 0 var(--sp-3);white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:auto}.err-retry{border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:var(--radius-chip);padding:7px 16px;font-size:var(--fs-13);cursor:pointer}.err-retry:hover{background:var(--accent-soft, transparent)}@media(max-width:900px){.edu-lesson-stage{grid-template-columns:1fr}.edu-readout{display:none}}[data-design=still]{color-scheme:light;--bg: #fbfbfd;--surface: #ffffff;--surface-2: #f2f2f5;--surface-3: #e5e5ea;--border: rgba(0, 0, 0, .11);--border-strong: rgba(0, 0, 0, .22);--scrim: rgba(29, 29, 31, .4);--glint: rgba(255, 255, 255, .6);--glint-bright: rgba(255, 255, 255, .95);--hairline: rgba(0, 0, 0, .08);--shade: rgba(0, 0, 0, .07);--text: #1d1d1f;--text-dim: #808085;--text-faint: rgba(29, 29, 31, .38);--text-on-accent: #ffffff;--accent: #0071e3;--accent-hover: #0077ed;--accent-pressed: #005bb8;--accent-soft: rgba(0, 113, 227, .16);--accent-glow: rgba(0, 113, 227, .24);--sand: #6e6e73;--sand-glow: rgba(110, 110, 115, .16);--ok: #248a3d;--warn: #c07600;--warn-soft: rgba(192, 118, 0, .1);--error: #d70015;--error-soft: rgba(215, 0, 21, .08);--agent-root: #0071e3;--agent-explore: #248a3d;--agent-worker: #8944ab;--agent-extra: #c07600;--font-ui: Geist, Inter, "Helvetica Neue", Helvetica, system-ui, sans-serif;--radius-chip: 8px;--radius-control: 10px;--radius-card: 16px;--radius-modal: 20px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .05), 0 8px 20px -14px rgba(0, 0, 0, .12);--shadow-raised: 0 2px 6px rgba(0, 0, 0, .06), 0 14px 34px -16px rgba(0, 0, 0, .16);--shadow-modal: 0 12px 36px -14px rgba(0, 0, 0, .16), 0 32px 90px -20px rgba(0, 0, 0, .22)}.particle-field{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}html.fx-scroll{scroll-behavior:smooth}@media(prefers-reduced-motion:no-preference){html.fx-scroll [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);will-change:opacity,transform}html.fx-scroll [data-reveal].in{opacity:1;transform:none}}
