.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,0.5);--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:rgba(240,240,240,0.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,0.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px rgba(0,0,0,0.08);--xy-node-boxshadow-selected-default:0 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,0.08);--xy-selection-border-default:1px dotted rgba(0,89,220,0.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,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,0.25);--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:rgba(60,60,60,0.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:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:rgba(240,240,240,0.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px rgba(255,255,255,0.08);--xy-node-boxshadow-selected-default:0 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,0.08);--xy-selection-border-default:1px dotted rgba(200,200,220,0.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,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}.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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .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.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-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{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{position:absolute;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__minimap{background:var(
    --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
  )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(
      --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
    );stroke:var(
      --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
    );stroke-width:var(
      --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
    )}.react-flow__minimap-node{fill:var(
      --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
    );stroke:var(
      --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
    );stroke-width:var(
      --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{fill:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
    )}.react-flow__background-pattern.lines{stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{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-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{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-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{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.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{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.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.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.bottom,.react-flow__resize-control.line.top{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))}

/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.inline{display:inline}}:root{--bg:#f7f7f4;--bg-panel:#fff;--bg-surface:#f0f0ec;--bg-hover:#26251e08;--bg-active:#26251e0f;--ink:#26251e;--ink-secondary:#26251eb3;--muted:#26251e66;--line:#26251e14;--radius:8px}*{box-sizing:border-box}html{background:var(--bg);height:100%}body,html{overscroll-behavior:none;overflow:hidden}body{color:var(--ink);-webkit-font-smoothing:antialiased;height:100dvh;min-height:100dvh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif;font-size:13px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.app-shell{overscroll-behavior:none;height:100dvh;display:flex;overflow:hidden}.panel-directory{flex-direction:column;flex:0 0 clamp(220px,18vw,280px)}.panel-chat,.panel-directory{border-right:1px solid var(--line);background:var(--bg-panel);min-width:0;display:flex}.panel-chat{flex-direction:column;flex:auto}.panel-analysis{border-right:1px solid var(--line);background:var(--bg-panel);flex-direction:column;flex:0 0 clamp(300px,24vw,380px);min-width:0;display:flex}.panel-debug{background:var(--bg);flex-direction:column;flex:0 0 clamp(320px,24vw,420px);min-width:0;display:flex}.chat-connect{flex-direction:column;flex:1;justify-content:center;padding:24px;display:flex}.analysis-header,.debug-header,.header{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;height:44px;padding:0 16px;display:flex}.header{justify-content:flex-end}.header-actions{align-items:center;gap:8px;display:flex}.header-actions,.header-spacer{margin-right:auto}.header-link{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;padding:5px 10px;font-size:.72rem;font-weight:600;transition:all .12s;display:inline-flex}.header-link:hover:not(:disabled){color:var(--ink);background:var(--bg-hover);border-color:#26251e29}.header-link.danger:hover:not(:disabled){color:#b91c1c;background:#b91c1c0a;border-color:#b91c1c33}.header-link.is-active{color:var(--bg-panel);border-color:var(--ink);background:var(--ink)}.header-link:disabled{opacity:.3;cursor:not-allowed}.app-switcher{position:relative}.app-switcher-trigger{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.72rem;font-weight:600;transition:all .12s;display:inline-flex}.app-switcher-trigger.is-open,.app-switcher-trigger:hover{color:var(--ink);background:var(--bg-hover)}.app-switcher-trigger svg{flex-shrink:0}.app-switcher-menu{z-index:40;border:1px solid var(--line);background:var(--bg-panel);border-radius:12px;min-width:148px;padding:6px;position:absolute;top:calc(100% + 8px);left:0}.app-switcher-item{color:var(--ink-secondary);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.74rem;font-weight:500;transition:all .12s;display:flex}.app-switcher-item:hover{background:var(--bg-hover);color:var(--ink)}.app-switcher-item.is-active{background:var(--bg-active);color:var(--ink)}.app-switcher-item small{color:var(--muted);font-size:.62rem;font-weight:600}.header-session{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;display:flex}.header-dot{background:var(--line);border-radius:50%;flex-shrink:0;width:7px;height:7px}.header-dot.active{background:#22c55e}.debug-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);background:#26251e0f;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:.58rem;font-weight:600}.debug-header-actions{gap:4px;margin-left:auto;display:flex}.debug-header-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:.68rem;font-weight:500;transition:all .12s;display:inline-flex}.debug-header-btn:hover{color:var(--ink);background:var(--bg-hover);border-color:#26251e26}.debug-header-btn.danger:hover{color:#b91c1c;background:#b91c1c0a;border-color:#b91c1c33}.debug-header-btn:disabled{opacity:.3;cursor:not-allowed}.directory{flex-direction:column;flex:1;min-height:0;display:flex}.directory.is-inline{border:1px solid var(--line);background:var(--bg-panel);border-radius:14px;width:100%;max-width:520px;margin:0 auto;overflow:hidden}.directory-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;min-height:44px;padding:0 14px;display:flex}.directory-header-link{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:5px 10px;font-size:.72rem;font-weight:600;transition:all .12s;display:inline-flex}.directory-header-link:hover{color:var(--ink);background:var(--bg-hover);border-color:#26251e29}.directory-add-btn{border:1px solid var(--line);width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:all .12s;display:inline-flex}.directory-add-btn-full{border-radius:8px;width:100%;height:34px;margin-bottom:6px;font-size:.76rem;font-weight:600}.directory-add-btn:hover{background:var(--bg-active);color:var(--ink);border-color:#26251e2e}.directory-form{border-bottom:1px solid var(--line);padding:8px 10px}.form-helper{margin:6px 2px 0;font-size:.72rem;line-height:1.45}.form-helper-error{color:#b91c1c}.directory-form-row{border:1px solid var(--line);background:var(--bg-panel);border-radius:7px;align-items:center;gap:0;transition:border-color .15s;display:flex;overflow:hidden}.directory-form-row:focus-within{border-color:#26251e47}.directory-form-row.is-invalid{border-color:#b91c1c59}.directory-form-row input{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:6px 10px;font-size:.78rem}.directory-form-row input::placeholder{color:var(--muted)}.directory-form-row button{color:var(--muted);border:none;border-left:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:0;flex-shrink:0;padding:5px 9px;font-size:.72rem;font-weight:500;transition:background .12s,color .12s}.directory-form-row button:hover{background:var(--bg-active);color:var(--ink)}.directory-form-row button:disabled{opacity:.3;cursor:not-allowed}.directory-list{flex-direction:column;flex:1;gap:1px;padding:6px;display:flex;overflow-y:auto}.directory-item-row{border-radius:8px;align-items:center;display:flex;position:relative}.directory-item-row:hover .directory-item-actions{opacity:1;pointer-events:auto}.directory-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:0;padding:7px 86px 7px 10px;transition:background .12s;display:flex}.directory-item:hover{background:var(--bg-hover)}.directory-item.is-active{background:var(--bg-active)}.directory-item:disabled{opacity:.45;cursor:not-allowed}.directory-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;font-size:.78rem;font-weight:500;line-height:1.3;overflow:hidden}.directory-item-status{color:var(--muted);letter-spacing:.02em;flex-shrink:0;font-size:.62rem;font-weight:500}.directory-item-actions{opacity:0;pointer-events:none;align-items:center;gap:4px;transition:opacity .12s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.directory-action-btn{min-width:22px;height:22px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:.66rem;line-height:1;transition:all .12s;display:flex}.directory-remove{padding:0;font-size:.8rem;line-height:1}.directory-action-btn:hover{background:var(--bg-active);color:var(--ink)}.directory-remove:hover{color:#b91c1c;background:#b91c1c14}.directory-action-btn:disabled{cursor:not-allowed;opacity:.35}.directory-empty{color:var(--muted);text-align:center;background:#fff6;border:1px dashed #26251e1f;border-radius:8px;margin:4px;padding:20px 12px;font-size:.72rem;line-height:1.7}.preview-login{flex:1;justify-content:center;align-items:center;display:flex}.preview-login-card{width:min(100%,360px)}.preview-login-form-wrap{flex-direction:column;gap:8px;display:flex}.preview-login-form{gap:10px;display:flex}.preview-login-form input{border:1px solid var(--line);background:#ffffffe6;border-radius:10px;outline:none;flex:1;min-width:0;padding:10px 12px;transition:border-color .12s,box-shadow .12s}.preview-login-form input:focus{border-color:#26251e47;box-shadow:0 0 0 3px #26251e0f}.preview-login-form.is-invalid input{border-color:#b91c1c59}.preview-login-form button{border:1px solid var(--line);color:var(--ink-secondary);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;padding:10px 12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s}.preview-login-form button:hover:not(:disabled){background:var(--bg-hover);color:var(--ink);border-color:#26251e29}.preview-login-form button:disabled{opacity:.4;cursor:not-allowed}.chat-area{flex-direction:column;flex:1;min-height:0;display:flex}.chat-log-frame{flex:1;min-height:0;position:relative}.chat-log{--chat-pad:20px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;padding:var(--chat-pad);flex-direction:column;gap:12px;display:flex;overflow-y:auto}.chat-log-frame.is-ai-client-active:after{content:"";pointer-events:none;z-index:3;background:repeating-linear-gradient(135deg,#26251e52 0 10px,#26251e1f 10px 20px);padding:8px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.chat-scroll-button{z-index:4;border:1px solid var(--line);justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex;position:absolute;bottom:18px;left:50%}@supports (color:color-mix(in lab,red,red)){.chat-scroll-button{border:1px solid color-mix(in srgb,var(--line) 100%,#26251e14 0%)}}.chat-scroll-button{background:var(--bg-panel);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.chat-scroll-button{background:color-mix(in srgb,var(--bg-panel) 90%,var(--bg) 10%)}}.chat-scroll-button{color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .14s,box-shadow .14s,background-color .14s;transform:translate(-50%);box-shadow:0 16px 36px #26251e33,0 4px 12px #26251e1a}.chat-scroll-button:hover{background:var(--bg-panel);transform:translate(-50%)translateY(-1px);box-shadow:0 20px 40px #26251e3d,0 6px 16px #26251e1f}.chat-scroll-button:active{transform:translate(-50%)translateY(0);box-shadow:0 12px 24px #26251e2e,0 3px 8px #26251e1a}.chat-scroll-button:focus-visible{outline-offset:2px;outline:2px solid #26251e38}.chat-scroll-button svg{display:block}.message-cluster{flex-direction:column;gap:6px;max-width:82%;display:flex}.message-cluster-user{align-self:flex-end;align-items:flex-end}.message-cluster-assistant{align-self:flex-start;align-items:flex-start}.message-cluster-assistant:has(.message-notice-emergency){width:100%;max-width:100%}.message-cluster-assistant:has(.message-notice-emergency) .message{max-width:82%}.message-cluster-assistant:has(.message-notice-emergency):not(:has(.message-assistant)) .message-meta{display:none}.message-cluster.is-clickable{cursor:pointer}.message-cluster.is-clickable:hover .message{transform:translateY(-1px);box-shadow:0 4px 12px #26251e0f}.message-cluster.is-selected .message{box-shadow:none;border-width:1px;transform:none}.message-cluster.is-selected .message-user{background:#ece5d8;border-color:#c8bba6}.message-cluster.is-selected .message-assistant{background:#f4ecdf;border-color:#f4ecdf}.message{box-sizing:border-box;border:1px solid #0000;border-radius:14px;width:fit-content;max-width:100%;padding:10px 14px;font-size:.88rem;line-height:1.6;transition:transform .12s,box-shadow .12s,border-color .12s;position:relative}.message-user{background:var(--bg-panel);border-color:var(--line);border-bottom-right-radius:4px}.message-assistant{background:var(--bg);border-color:var(--bg);border-bottom-left-radius:4px}.message-meta{color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;font-size:.7rem;display:flex}.message-user .message-meta{color:var(--muted);text-align:right;justify-content:flex-end}.message-delete-btn{color:var(--muted);cursor:pointer;background:#ffffffb8;border:1px solid #26251e24;border-radius:999px;padding:2px 8px;font-size:.65rem;line-height:1.4;transition:background-color .12s,border-color .12s,color .12s}.message-delete-btn:hover:not(:disabled){color:var(--ink-secondary);background:#ffffffeb;border-color:#26251e38}.message-delete-btn:disabled{cursor:wait;opacity:.64}.message p{white-space:pre-wrap;margin:0}.message.is-split.message-user:not(.is-last){border-bottom-right-radius:14px}.message.is-split.message-user:not(.is-first){border-top-right-radius:14px}.message.is-split.message-assistant:not(.is-last){border-bottom-left-radius:14px}.message.is-split.message-assistant:not(.is-first){border-top-left-radius:14px}.message-memory-notes{align-items:center;gap:6px;margin-top:6px;display:flex}.message-notices{flex-direction:column;gap:8px;max-width:100%;margin-top:2px;display:flex}.message-cluster-assistant:has(.message-notice-emergency) .message-notices{align-items:stretch;width:100%}.message-notice{width:fit-content;max-width:100%;color:var(--ink-secondary);background:#26251e0a;border:1px solid #26251e1a;border-radius:12px;padding:9px 11px;font-size:.74rem;line-height:1.55}.message-notice.message-notice-emergency{text-align:center;background:#26251e09;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:none;margin:24px 0 8px;padding:22px 24px;display:flex}.message-notice.message-notice-emergency:before{content:none}.message-notice.message-notice-emergency .message-notice-title{letter-spacing:.01em;color:var(--ink);font-size:.88rem;font-weight:600;display:block}.message-notice.message-notice-emergency .message-notice-title:after,.message-notice.message-notice-emergency .message-notice-title:before{content:none}.message-notice.message-notice-emergency p{color:var(--ink-secondary);white-space:pre-wrap;max-width:320px;margin:0;font-size:.82rem;line-height:1.7}.message-notice-notice{background:#26251e0d;border-color:#26251e1a}.message-notice-title{letter-spacing:.04em;font-size:.64rem;font-weight:700;display:block}.message-notice p{white-space:pre-wrap;margin:4px 0 0}.memory-badge,.message-selected-label{color:var(--muted);font-size:.62rem;font-weight:500}.memory-badge{cursor:pointer;background:0 0;border:1px solid #26251e1a;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;line-height:1.2;transition:all .12s;display:inline-flex}.memory-badge:hover{background:var(--bg-hover);border-color:#26251e2e}.message-user .memory-badge{color:var(--muted);border-color:#26251e1a}.message-user .memory-badge:hover{background:var(--bg-hover)}.message-streaming{opacity:.85}.thinking{color:var(--muted);font-style:italic;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.thinking-dots{color:var(--muted);letter-spacing:.15em;padding:0 0 4px;font-size:1.2rem;line-height:1;display:block}.thinking-dots:after{content:".";animation:dots 2s step-end infinite}@keyframes dots{0%{content:"."}25%{content:".."}50%{content:"..."}75%{content:"...."}}.composer{border:none;border-top:1px solid var(--line);background:var(--bg-panel);border-radius:0;flex-direction:column;flex-shrink:0;margin:0;display:flex}.composer.is-streaming{pointer-events:none;animation:composer-pulse 1.8s ease-in-out infinite}@keyframes composer-pulse{0%,to{opacity:1}50%{opacity:.4}}.composer-input-wrap{position:relative}.composer-input-wrap.is-locked textarea{color:#0000;caret-color:#0000}.composer textarea{resize:none;background:0 0;border:none;border-radius:0;outline:none;width:100%;min-height:64px;max-height:160px;padding:14px 10px 6px;font-size:.88rem;line-height:1.55}.composer textarea::placeholder{color:var(--muted)}.composer-overlay-copy{text-align:center;color:var(--muted);pointer-events:none;justify-content:center;align-items:center;padding:12px 24px;font-size:.78rem;font-weight:500;line-height:1.5;display:flex;position:absolute;inset:0}.composer-toolbar{justify-content:flex-end;align-items:center;padding:6px 6px 8px;display:flex}.composer-mobile{border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:0 0}.composer-mobile:focus-within{padding-bottom:10px}.composer-mobile-shell{align-items:center;gap:8px;display:flex}.composer-input-wrap-mobile{background:var(--bg);min-height:46px;box-shadow:none;border:none;border-radius:18px;flex:1;align-items:center;display:flex}.composer-mobile textarea{box-sizing:border-box;min-height:46px;max-height:120px;padding:12px 14px;font-size:.92rem;line-height:1.45;display:block;overflow:hidden}.composer-send{color:var(--muted);cursor:pointer;background:#26251e0f;border:none;border-radius:8px;padding:6px 16px;font-size:.8rem;font-weight:500;transition:all .12s}.composer-send:hover:not(:disabled){background:var(--ink);color:var(--bg-panel)}.composer-send:disabled{opacity:.3;cursor:not-allowed}.composer-send-mobile{aspect-ratio:1;background:var(--line);color:#4f4a40;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;padding:0;line-height:0;display:inline-flex}.composer-send-mobile:hover:not(:disabled){color:var(--ink);background:#26251e1f}.composer-send-mobile svg{margin:auto;display:block}.modal-overlay{z-index:1000;background:#26251e40;justify-content:center;align-items:center;animation:fadeIn .12s;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;width:90%;max-width:420px;max-height:70vh;animation:slideUp .18s;display:flex;box-shadow:0 16px 48px #26251e1f}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-header h3{margin:0;font-size:.85rem;font-weight:700}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1rem;line-height:1}.modal-close:hover{color:var(--ink)}.modal-memory-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.modal-memory-item{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 16px;font-size:.8rem;display:flex}.modal-memory-item:last-child{border-bottom:none}.modal-memory-kind{color:var(--ink-secondary);text-transform:uppercase;background:#26251e0f;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 7px;font-size:.64rem;font-weight:600;display:inline-flex}.modal-memory-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.modal-memory-title{color:var(--ink);font-weight:500}.modal-memory-priority{color:var(--muted);font-size:.68rem}.profile-modal{max-width:420px}.profile-modal-copy{color:var(--muted);margin:0;font-size:.74rem;line-height:1.55}.profile-modal-error{margin:0}.profile-skip-toggle{color:var(--ink-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.74rem;display:inline-flex}.profile-skip-toggle input{margin:0}.profile-experience-row .sim-field-label{justify-content:flex-start;width:120px;min-width:120px}.sim-modal{max-width:420px;max-height:82vh}.sim-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:8px;padding:14px;overflow-y:auto}.sim-body,.sim-row{flex-direction:column;display:flex}.sim-row{gap:6px}.sim-row-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.sim-row-action{margin-top:4px}.sim-field{border:1px solid var(--line);background:var(--bg);border-radius:7px;align-items:center;height:34px;transition:border-color .15s;display:flex;overflow:hidden}.sim-field:focus-within{border-color:#26251e38}.sim-field span{color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 10px;font-size:.68rem;font-weight:600}.sim-field input{min-width:0;height:100%;color:var(--ink);-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;padding:0 10px 0 0;font-size:.76rem}.sim-field input::-webkit-inner-spin-button,.sim-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sim-field-radios{border:1px solid var(--line);background:var(--bg);border-radius:7px;align-items:center;height:34px;display:flex;overflow:hidden}.sim-field-radios .sim-field-label{color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;padding:0 10px;font-size:.68rem;font-weight:600;display:flex}.sim-radio-row{flex:1;gap:8px;padding:3px 8px;display:flex}.sim-chip{height:100%;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;padding:0 10px;font-size:.72rem;font-weight:500;transition:all .12s;display:flex}.sim-chip input{opacity:0;pointer-events:none;position:absolute}.sim-chip:hover{color:var(--ink-secondary);background:#26251e0f}.sim-chip.is-active{background:var(--bg-panel);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #26251e1a}.sim-textarea-wrap{border:1px solid var(--line);background:var(--bg);border-radius:7px;flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.sim-textarea-label{min-height:24px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;pointer-events:none;align-items:center;padding:6px 10px 0;font-size:.62rem;font-weight:700;display:flex}.sim-textarea{resize:vertical;background:0 0;border:none;border-radius:0;outline:none;width:100%;min-height:240px;padding:0 10px 8px;font-size:.76rem;line-height:1.55}.sim-textarea-wrap:focus-within{border-color:#26251e38}.sim-textarea::placeholder{color:var(--muted)}.sim-field-hint{height:34px;color:var(--muted);border:1px dashed var(--line);border-radius:7px;justify-content:center;align-items:center;font-size:.7rem;display:flex}.sim-btn-start{background:var(--ink);width:100%;color:var(--bg-panel);cursor:pointer;border:none;border-radius:8px;padding:9px 0;font-size:.78rem;font-weight:600;transition:opacity .12s}.sim-btn-start:hover:not(:disabled){opacity:.88}.sim-btn-start:disabled{opacity:.35;cursor:not-allowed}.empty-state{color:var(--muted);text-align:center;padding:40px 20px;font-size:.82rem}.analysis-header-copy{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:.72rem;overflow:hidden}.debug-header-title{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.debug-header-copy{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:.72rem;overflow:hidden}.analysis-close-btn{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:all .12s;display:flex}.analysis-close-btn:hover{background:var(--bg-active);color:var(--ink)}.analysis-content{flex:1;overflow-y:auto}.analysis-panel-content{flex-direction:column;display:flex}.ap-section{border-bottom:1px solid var(--line);padding:16px}.ap-section:last-child{border-bottom:none}.ap-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:0 0 12px;font-size:.72rem;font-weight:600;display:flex}.ap-node-trail{flex-direction:column;margin:0;padding:0 0 0 14px;list-style:none;display:flex;position:relative}.ap-node-trail:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.ap-node-chip{--node-tone:#264169;align-items:center;gap:6px;padding:4px 0;display:flex;position:relative}.ap-node-chip:before{content:"";background:var(--node-tone);border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:-13px}@supports (color:color-mix(in lab,red,red)){.ap-node-chip:before{background:color-mix(in srgb,var(--node-tone) 40%,var(--bg-panel))}}.ap-node-chip:before{border:1.5px solid var(--node-tone);z-index:1;transform:translateY(-50%)}.ap-node-chip-type{letter-spacing:.02em;background:var(--node-tone);border-radius:3px;padding:1px 5px;font-size:.58rem;font-weight:600}@supports (color:color-mix(in lab,red,red)){.ap-node-chip-type{background:color-mix(in srgb,var(--node-tone) 12%,transparent)}}.ap-node-chip-type{color:var(--node-tone);white-space:nowrap;flex-shrink:0}.ap-node-chip-title{color:var(--ink-secondary);min-width:0;font-size:.72rem;font-weight:500}.ap-node-chip.cat-identity{--node-tone:#4a6741}.ap-node-chip.cat-flow{--node-tone:#264169}.ap-node-chip.cat-router{--node-tone:#925f28}.ap-node-chip.cat-mode{--node-tone:#5b4a8a}.ap-node-chip.cat-safety{--node-tone:#8a4a4a}.ap-node-chip.cat-format{--node-tone:#4a7a7a}.ap-count{min-width:16px;height:16px;color:var(--muted);background:#26251e0f;border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:.6rem;font-weight:700;display:inline-flex}.ap-note{border:1px solid var(--line);color:var(--ink-secondary);background:#26251e08;border-radius:6px;margin:-8px 0 12px;padding:8px 12px;font-size:.74rem;line-height:1.5}.ap-turn-stack{flex-direction:column;gap:6px;display:flex}.ap-turn{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);padding:10px 12px}.ap-turn-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.ap-turn-role{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#26251e0f;border-radius:3px;padding:1px 6px;font-size:.6rem;font-weight:600}.ap-turn-role.user{background:var(--bg-panel);border:1px solid var(--line);color:var(--ink-secondary)}.ap-turn-time{color:var(--muted);font-size:.66rem}.ap-turn-body{white-space:pre-wrap;color:var(--ink);margin:0;font-size:.8rem;line-height:1.6}.ap-prompt-stack{flex-direction:column;gap:4px;display:flex}.ap-prompt-block{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);overflow:hidden}.ap-prompt-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;list-style:none;transition:background .12s;display:flex}.ap-prompt-summary::-webkit-details-marker{display:none}.ap-prompt-summary:hover{background:var(--bg-hover)}.ap-prompt-title{color:var(--ink);font-size:.76rem;font-weight:600}.ap-prompt-duration{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.68rem}.ap-prompt-note{color:var(--muted);margin:0;padding:0 12px 6px;font-size:.72rem;line-height:1.5}.ap-timing-stack{flex-direction:column;gap:4px;padding:0 12px 8px;display:flex}.ap-timing-group+.ap-timing-group{margin-top:10px}.ap-timing-group-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:baseline;gap:6px;margin:0;padding:0 12px 6px;font-size:.68rem;font-weight:600;display:flex}.ap-timing-subtotal{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.ap-timing-row{color:var(--ink-secondary);align-items:baseline;gap:8px;font-size:.7rem;display:flex}.ap-timing-label{min-width:0}.ap-timing-duration{font-variant-numeric:tabular-nums;color:var(--ink);margin-left:auto}.ap-timing-detail{color:var(--muted);font-size:.66rem}.ap-prompt-block .analysis-prompt{margin:0 12px 12px}.analysis-prompt{border:1px solid var(--line);background:var(--bg-surface);white-space:pre-wrap;word-break:break-word;color:var(--ink-secondary);border-radius:6px;margin:10px 0 0;padding:10px 12px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:.72rem;line-height:1.55;overflow-x:auto}.debug-content{flex:1;overflow-y:auto}.debug-panel-content{flex-direction:column;display:flex}.ctx-stat-bar{border-bottom:1px solid var(--line);align-items:stretch;display:flex}.ctx-stat{border-right:1px solid var(--line);flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 8px;display:flex}.ctx-stat:last-child{border-right:none}.ctx-stat strong{color:var(--ink);font-size:1rem;font-weight:700;line-height:1}.ctx-stat span{color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:.65rem}.debug-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px;display:grid}.debug-overview,.debug-section{border-bottom:1px solid var(--line)}.debug-section:last-child{border-bottom:none}.debug-section>summary{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:10px 14px;font-size:.72rem;font-weight:600;list-style:none;transition:color .12s,background .12s;display:flex}.debug-section>summary:hover{background:var(--bg-hover);color:var(--ink-secondary)}.debug-section>summary::-webkit-details-marker{display:none}.debug-section>summary:before{content:"";border-style:solid;border-width:3.5px 0 3.5px 5px;border-color:transparent transparent transparent var(--muted);flex-shrink:0;width:0;height:0;margin-right:10px;transition:transform .15s}.debug-section[open]>summary:before{transform:rotate(90deg)}.debug-section[open]>summary{color:var(--ink-secondary);border-bottom:1px solid var(--line)}.section-count{min-width:16px;height:16px;color:var(--muted);background:#26251e0f;border-radius:999px;justify-content:center;align-items:center;margin-left:6px;padding:0 4px;font-size:.58rem;font-weight:700;display:inline-flex}.section-count.warn{color:var(--ink-secondary)}.debug-section>.debug-callout,.debug-section>.debug-form,.debug-section>.debug-split,.debug-section>.debug-switches,.debug-section>.insight-section,.debug-section>.report-actions,.debug-section>.report-card,.debug-section>p{margin:10px 14px}.debug-section>.debug-split:last-child,.debug-section>.insight-section:last-child,.debug-section>.report-card:last-child,.debug-section>p:last-child{margin-bottom:14px}.debug-section .insight-section{gap:6px}.debug-section .insight-section h3{font-family:inherit;font-size:.78rem}.debug-section .report-card{padding:10px}.debug-section .insight-row strong{font-size:.73rem}.debug-section .insight-row p{font-size:.75rem}.debug-section-note{color:var(--muted);margin:10px 14px 0;font-size:.72rem;line-height:1.5}.debug-callout{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-panel);padding:10px 12px}.debug-callout.is-good{background:#22c55e0a;border-color:#22c55e33}.debug-callout.is-warn{background:#eab3080a;border-color:#eab30833}.debug-callout strong{margin-bottom:3px;font-size:.76rem;display:block}.debug-callout p{color:var(--muted);margin:0;font-size:.72rem}.debug-group{flex-direction:column;gap:8px;margin:10px 14px 14px;display:flex}.debug-group-head h3{margin:0;font-size:.78rem}.debug-group-head p{color:var(--muted);margin:3px 0 0;font-size:.72rem}.debug-card-stack{flex-direction:column;gap:6px;display:flex}.debug-empty-card{border-radius:var(--radius);color:var(--muted);border:1px dashed #26251e1f;padding:12px;font-size:.75rem}.debug-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.context-split{align-items:start}.ctx-section{border-bottom:1px solid var(--line);padding:12px 14px}.ctx-section:last-of-type{border-bottom:none}.ctx-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin:0 0 8px;font-size:.72rem;font-weight:600;display:flex}.ctx-list{gap:4px}.ctx-item,.ctx-list{flex-direction:column;display:flex}.ctx-item{--ctx-tone:var(--muted);border-radius:var(--radius);border:1px solid var(--line);background:#26251e04;gap:3px;padding:7px 10px;position:relative}.ctx-item.kind-entity{--ctx-tone:#4a6741}.ctx-item.kind-thread{--ctx-tone:#5b4a8a}.ctx-item.kind-event{--ctx-tone:#925f28}.ctx-item.status-archived,.ctx-item.status-resolved{opacity:.55}.ctx-item-title{color:var(--ink-secondary);min-width:0;font-size:.74rem;font-weight:600}.ctx-item-detail{color:var(--ink-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.45;display:-webkit-box;overflow:hidden}.ctx-item-detail.is-expanded{white-space:pre-wrap;-webkit-line-clamp:unset;display:block;overflow:visible}.ctx-item-footer{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ctx-item-meta{color:var(--muted);flex-wrap:wrap;flex:auto;gap:6px;min-width:0;font-size:.62rem;display:flex}.ctx-item-toggle{color:var(--ink-secondary);cursor:pointer;text-underline-offset:.12em;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.66rem;line-height:1.3;text-decoration:underline}.ctx-item-toggle:hover{color:var(--ink)}.ctx-item-toggle:focus-visible{outline-offset:2px;border-radius:4px;outline:1px solid #26251e3d}.ctx-item-delete{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 4px;font-size:.72rem;line-height:1;transition:opacity .1s;position:absolute;top:5px;right:5px}.ctx-item:hover .ctx-item-delete{opacity:.6}.ctx-item-delete:hover{color:#b91c1c;opacity:1!important}.ctx-item-delete:disabled{cursor:not-allowed;opacity:0!important}.ctx-empty{color:var(--muted);border-radius:var(--radius);border:1px dashed #26251e1f;margin:0;padding:8px;font-size:.72rem}.context-bucket{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.context-bucket-head h3{margin:0;font-size:.78rem}.context-bucket-head p{color:var(--muted);margin:4px 0 0;font-size:.72rem;line-height:1.5}.context-bucket .debug-empty-card{background:var(--bg)}.memory-card{padding:12px}.memory-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.memory-card-body{min-width:0}.debug-pill-row{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.debug-pill{letter-spacing:.02em;border:1px solid var(--line);color:var(--muted);background:#26251e0a;border-radius:999px;align-items:center;padding:1px 7px;font-size:.6rem;font-weight:600;display:inline-flex}.debug-pill.status-active{color:var(--ink-secondary)}.memory-card-title{margin-bottom:3px;font-size:.78rem;font-weight:600;display:block}.memory-card-summary{color:var(--ink-secondary);margin:0;font-size:.75rem;line-height:1.5}.memory-card-meta{color:var(--muted);margin:6px 0 0;font-size:.68rem;line-height:1.4}.gm-list{flex-direction:column;gap:4px;display:flex}.gm-item{border-radius:var(--radius);border:1px solid var(--line);background:#26251e04;grid-template-columns:auto 1fr auto auto;align-items:baseline;gap:6px;padding:5px 8px;display:grid}.gm-item-kind{letter-spacing:.02em;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:.58rem;font-weight:600}.gm-item.kind-entity .gm-item-kind{color:#4a6741;background:#4a67411f}.gm-item.kind-thread .gm-item-kind{color:#5b4a8a;background:#5b4a8a1f}.gm-item.kind-event .gm-item-kind{color:#925f28;background:#925f281f}.gm-item-summary{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.72rem;overflow:hidden}.gm-item-detail,.gm-item-metric{color:var(--muted);white-space:nowrap;font-size:.62rem}.gm-item-metric{font-weight:600}.insights{gap:20px;padding:16px}.insight-section,.insights{flex-direction:column;display:flex}.insight-section{gap:10px}.insight-section h3{margin:0;font-size:.82rem;font-weight:600}.insight-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0;font-size:.65rem}.insight-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.insight-card+.insight-card{margin-top:6px}.insight-row{border-bottom:1px solid var(--line);padding:8px 0}.insight-row:last-child{border-bottom:none;padding-bottom:0}.insight-row:first-child{padding-top:0}.insight-row strong{margin-bottom:2px;font-size:.75rem;display:block}.insight-row p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.5}.report-actions{flex-wrap:wrap;gap:6px;display:flex}.btn-sm{border-radius:var(--radius);border:1px solid var(--line);color:var(--ink-secondary);cursor:pointer;background:0 0;padding:7px 14px;font-size:.76rem;transition:all .12s}.btn-sm:hover{background:var(--bg-hover);border-color:#26251e26}.btn-sm:disabled{opacity:.3;cursor:not-allowed}.btn-sm.primary{background:var(--ink);color:var(--bg-panel);border-color:#0000}.btn-sm.primary:hover{opacity:.8}.btn-sm.danger{color:#b91c1c;border-color:#b91c1c26}.btn-sm.danger:hover{background:#b91c1c0a}.report-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.report-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.report-head h4{margin:0;font-size:.8rem;font-weight:600}.report-head span{color:var(--muted);font-size:.7rem}.debug-toolbar{justify-content:flex-end}.debug-code{background:var(--bg-surface);border:1px solid var(--line);color:var(--ink-secondary);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:6px 0 0;padding:8px 10px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:.72rem;line-height:1.5;overflow-x:auto}.debug-switches{flex-wrap:wrap;gap:4px;display:flex}.debug-switch{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:.73rem;transition:all .12s}.debug-switch:hover{background:var(--bg-hover)}.debug-switch.active{color:var(--ink);background:#26251e0a;border-color:#26251e40}.debug-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);flex-direction:column;gap:8px;padding:12px;display:flex}.debug-grid{gap:8px;display:grid}.debug-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.debug-field{flex-direction:column;gap:4px;display:flex}.debug-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.debug-field input,.debug-field select,.debug-field textarea{border:1px solid var(--line);background:var(--bg);border-radius:6px;outline:none;width:100%;padding:8px 10px;font-size:.82rem;transition:border-color .12s}.debug-field input:focus,.debug-field select:focus,.debug-field textarea:focus{border-color:#26251e40}.debug-actions{justify-content:flex-end;display:flex}.debug-row-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.btn-compact{padding:5px 9px;font-size:.68rem}.status-bar{color:var(--muted);border-top:1px solid var(--line);text-align:center;flex-shrink:0;padding:5px 16px;font-size:.68rem}.status-bar.error{color:#b91c1c}.signal{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-panel);text-align:left;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.signal strong{font-size:.9rem;line-height:1.15;display:block}.signal span{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);font-size:.62rem;font-weight:600}.signal small{color:var(--muted);font-size:.62rem;line-height:1.35}@media (max-width:900px){.app-shell{flex-direction:column}.panel-analysis,.panel-chat,.panel-directory{border-bottom:1px solid var(--line);border-right:none;flex:0 0 50dvh}.panel-debug{flex:1;min-height:50dvh}.debug-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.debug-split{grid-template-columns:1fr}}@media (max-width:640px){.panel-analysis,.panel-chat,.panel-directory{flex:0 0 60dvh}.analysis-header,.debug-header,.header{padding:0 12px}.debug-header-copy{display:none}.chat-log{--chat-pad:14px}.chat-scroll-button{width:36px;height:36px;bottom:14px;left:50%}.chat-connect{padding:16px}.directory-form{padding:12px}.preview-login-card{width:100%}.directory-form-row,.preview-login-form{flex-direction:column}.directory-form-row{align-items:stretch}.directory-item-row{flex-direction:column}.directory-remove{flex-basis:auto;padding:10px 12px}.debug-overview{grid-template-columns:1fr;padding:10px}.ap-section{padding:12px}.debug-grid-2{grid-template-columns:1fr}.debug-group,.debug-section>.debug-callout,.debug-section>.debug-form,.debug-section>.debug-split,.debug-section>.debug-switches,.debug-section>.insight-section,.debug-section>.report-actions,.debug-section>.report-card,.debug-section>p{margin-left:10px;margin-right:10px}.message-cluster{max-width:90%}}