.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: #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, .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}.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))}.react-flow__controls{background:var(--color-bg-card)!important;border:1.5px solid var(--color-border)!important;border-radius:var(--radius)!important;box-shadow:var(--plate)!important;overflow:hidden;padding:4px!important;display:flex!important;flex-direction:column;gap:2px}.react-flow__controls button{background:var(--color-bg-card)!important;border:1px solid var(--divider-warm)!important;border-radius:var(--radius-sm)!important;color:var(--color-text-muted)!important;fill:var(--color-text-muted)!important;width:28px!important;height:28px!important;box-shadow:var(--plate-sm)!important;transition:box-shadow .12s ease,transform .12s ease}.react-flow__controls button:hover{background:var(--color-bg-elevated)!important;color:var(--color-text)!important;fill:var(--color-text)!important;box-shadow:var(--plate)!important}.react-flow__controls button:active{box-shadow:var(--shadow-key-press)!important;transform:translateY(1px)}.react-flow__controls button svg{max-width:14px;max-height:14px}.react-flow__node.selected .prep-node-card{outline:none;box-shadow:0 0 0 2px var(--color-accent),var(--plate-lg)}.react-flow__node .prep-node-card{transition:box-shadow .14s ease}.react-flow__node:hover .prep-node-card{box-shadow:var(--plate-lg)}.react-flow__edge-path{stroke:var(--color-border-strong);stroke-width:2.5px;stroke-dasharray:none;opacity:.56}.react-flow__edge-interaction{stroke-width:12px}.react-flow__edge-textwrapper rect{rx:0;ry:0}.note-view-container{display:flex;flex-direction:column;margin-top:0;flex:1;min-height:0}.note-codemirror-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.note-view-container.read-only .cm-content{pointer-events:none;-webkit-user-select:none;user-select:none}.note-view-container.read-only .wiki-link-decor,.note-view-container.read-only .cm-callout,.note-view-container.read-only input[type=checkbox]{pointer-events:auto}.note-view-container .cm-editor{width:100%;background:transparent;flex:1;display:flex;flex-direction:column;min-height:0}.note-view-container .cm-scroller{overflow:auto;flex:1}.note-view-container .cm-content{min-height:250px;font-family:inherit;font-size:1rem;line-height:1.7;color:var(--color-text);padding:0}.note-view-container .cm-line{padding:0}.cm-heading-1{font-size:1.8rem;font-weight:700;color:var(--color-text);line-height:1.4}.cm-heading-2{font-size:1.4rem;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border-soft);line-height:1.55}.cm-heading-3{font-size:1.2rem;font-weight:600;color:var(--color-text)}.cm-heading-4,.cm-heading-5,.cm-heading-6{font-weight:600;color:var(--color-text)}.cm-emphasis{font-style:italic}.cm-strong{font-weight:700}.cm-inline-code{background:var(--color-bg-elevated);padding:.1em .3em;border-radius:3px;font-family:monospace;font-size:.9em}.note-view-container .cm-line.cm-blockquote{border-left:4px solid var(--node-divider, var(--color-accent));background:var(--color-bg-elevated);padding-left:1rem;border-radius:0 4px 4px 0}.wiki-link-decor{font-weight:500;padding:0 2px;border-radius:3px;transition:background-color .15s ease}.wiki-link-decor.exists{color:var(--color-accent);text-decoration:underline;text-decoration-style:solid}.wiki-link-decor.broken{color:var(--color-danger);opacity:.85;text-decoration:underline;text-decoration-style:dashed}.wiki-link-decor:hover{background-color:var(--color-accent-soft)}.wiki-link-decor.broken:hover{background-color:var(--color-danger-bg)}.cm-tooltip.cm-tooltip-autocomplete{background-color:var(--color-bg-elevated)!important;border:1px solid var(--color-border-soft)!important;border-radius:6px!important;box-shadow:var(--shadow-elevated, 0 4px 12px rgba(0, 0, 0, .15))!important;font-family:inherit!important;overflow:hidden!important;max-width:320px!important;padding:4px 0!important}.cm-tooltip-autocomplete ul{padding:0!important;margin:0!important;list-style:none!important;max-height:240px!important}.cm-tooltip-autocomplete ul li{padding:6px 12px!important;font-size:.9rem!important;color:var(--color-text)!important;cursor:pointer!important;display:flex!important;align-items:center!important;gap:8px!important;transition:background-color .15s ease,color .15s ease!important}.cm-tooltip-autocomplete ul li[aria-selected=true]{background-color:var(--color-accent)!important;color:var(--color-text-inverse, #fff)!important}.cm-tooltip-autocomplete ul li:hover:not([aria-selected=true]){background-color:var(--color-accent-soft)!important}.cm-completionMatchedText{text-decoration:none!important;font-weight:700!important}.cm-task-checkbox{box-sizing:border-box;display:inline-grid;place-items:center;width:.9em;height:.9em;border-radius:0;border:.12em solid var(--ink-action, var(--color-border-strong));background:transparent;flex-shrink:0;position:relative;top:.08em;margin-right:.45em}.cm-task-checkbox.checked{border-color:var(--ink-action, var(--color-border-strong));background:var(--ink-action, var(--color-border-strong))}.cm-task-checkbox-mark{color:var(--color-text-inverse, #fff);font-size:.72em;font-weight:700;line-height:1}.note-view-container .cm-line.cm-callout{border-left:4px solid var(--color-accent);background:var(--color-bg-elevated);padding:4px 1rem;border-radius:0}.note-view-container .cm-line.cm-callout:first-child,.note-view-container .cm-line.cm-callout-title-line{border-top-right-radius:4px}.note-view-container .cm-line.cm-callout:last-child{border-bottom-right-radius:4px}.cm-callout-info{border-left-color:var(--color-info, #3b82f6)!important}.cm-callout-warning{border-left-color:var(--color-warning, #f59e0b)!important}.cm-callout-danger{border-left-color:var(--color-danger, #ef4444)!important}.cm-callout-success{border-left-color:var(--color-success, #10b981)!important}.cm-callout-title-line{font-weight:600}.cm-callout-icon{display:none}.cm-table{display:inline-block;border-collapse:collapse;margin:1rem 0}.cm-table-row{border-bottom:1px solid var(--color-border-soft)}.cm-table-cell,.cm-table-header{padding:.5rem 1rem}.cm-table-header{font-weight:600;background:var(--color-bg-elevated)}.cm-strikethrough{text-decoration:line-through;opacity:.7}.markdown-view{font-family:inherit;font-size:inherit;line-height:1.6;color:inherit;word-break:break-word}.markdown-view>:first-child{margin-top:0}.markdown-view>:last-child{margin-bottom:0}.markdown-view p,.markdown-view ul,.markdown-view ol,.markdown-view blockquote,.markdown-view table,.markdown-view pre{margin:0 0 .6em}.markdown-view h1,.markdown-view h2,.markdown-view h3,.markdown-view h4,.markdown-view h5,.markdown-view h6{margin:.4em 0 .3em;font-weight:700;color:var(--color-text);line-height:1.3}.markdown-view h1{font-size:1.6em}.markdown-view h2{font-size:1.3em;font-weight:600;border-bottom:1px solid var(--color-border-soft);padding-bottom:.15em}.markdown-view h3{font-size:1.15em;font-weight:600}.markdown-view h4,.markdown-view h5,.markdown-view h6{font-size:1em;font-weight:600}.markdown-view strong{font-weight:700}.markdown-view em{font-style:italic}.markdown-view del{text-decoration:line-through;opacity:.7}.markdown-view code{background:var(--color-bg-elevated);padding:.1em .3em;border-radius:3px;font-family:monospace;font-size:.9em}.markdown-view pre{background:var(--color-bg-elevated);padding:.6em .8em;border-radius:4px;overflow:auto}.markdown-view pre code{background:none;padding:0}.markdown-view ul,.markdown-view ol{padding-left:1.4em}.markdown-view li{margin:.15em 0}.markdown-view li.task-list-item{list-style:none}.markdown-view ul:has(>li.task-list-item){padding-left:.2em}.markdown-view input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;display:inline-grid;place-items:center;width:.9em;height:.9em;min-width:0;min-height:0;margin:0 .45em 0 0;padding:0;vertical-align:-.08em;border:.12em solid var(--ink-action, var(--color-border-strong));border-radius:0;background:transparent;box-shadow:none;position:relative;flex-shrink:0;cursor:default}.markdown-view input[type=checkbox]:not(:disabled){cursor:pointer}.markdown-view input[type=checkbox]:checked{background:var(--ink-action, var(--color-border-strong));border-color:var(--ink-action, var(--color-border-strong))}.markdown-view input[type=checkbox]:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72em;font-weight:700;line-height:1;color:var(--node-bg, #fff)}.markdown-view blockquote{border-left:3px solid var(--node-divider, var(--color-accent));border-right:3px solid var(--node-divider, var(--color-accent));background:color-mix(in srgb,var(--node-divider, var(--color-accent)) 0%,var(--node-bg, var(--color-bg-elevated)));padding:.4em .8em;border-radius:0;color:inherit}.markdown-view blockquote>:first-child{margin-top:0}.markdown-view blockquote>:last-child{margin-bottom:0}.markdown-view table{border-collapse:collapse;width:auto}.markdown-view th,.markdown-view td{padding:.35em .8em;border:1px solid var(--color-border-soft)}.markdown-view th{font-weight:600;background:var(--color-bg-elevated)}.markdown-view a{color:var(--color-accent);text-decoration:underline}.markdown-view .wiki-link{cursor:pointer}.ui-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--color-overlay-backdrop)}.ui-dialog__content{position:fixed;z-index:201;top:50%;left:50%;width:min(460px,calc(100vw - 32px));padding:22px;font-family:var(--font-chrome);color:var(--color-text);background:var(--color-bg-elevated);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-elevated);transform:translate(-50%,-50%)}.ui-dialog__overlay[data-state=open]{animation:ui-dialog-overlay-enter .15s ease-out}.ui-dialog__content[data-state=open]{animation:ui-dialog-content-enter .15s ease-out}.ui-dialog__title{margin:0 0 10px;color:var(--color-text);font-size:18px;font-weight:700;line-height:1.3}.ui-dialog__description{margin:0 0 20px;color:var(--color-text-muted);font-family:var(--font-body);font-size:14px;line-height:1.5}.ui-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.campaign-create-dialog__form{display:block}@keyframes ui-dialog-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes ui-dialog-content-enter{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.ui-dialog__overlay[data-state=open],.ui-dialog__content[data-state=open]{animation:none}}.node-editor-modal__content{width:min(800px,calc(100vw - 64px));height:min(80vh,calc(100vh - 64px));display:flex;flex-direction:column;padding:0;overflow:hidden}.node-editor-modal__inner{display:flex;flex-direction:column;height:100%;padding:24px 32px;background:color-mix(in srgb,var(--node-bg, var(--color-bg-card)) 88%,var(--node-divider, var(--node-border)) 12%);color:var(--color-text);font-family:var(--font-chrome);position:relative;overflow:hidden}.node-editor-modal__header{flex-shrink:0}.node-editor-modal__title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.node-editor-modal__title{margin:0;font-size:26px;font-weight:700;font-family:var(--font-chrome);cursor:pointer;border-bottom:1.5px dashed transparent;transition:border-bottom-color .15s ease}.node-editor-modal__title:hover{border-bottom-color:var(--color-text-muted)}.node-editor-modal__title-input{box-sizing:border-box;width:100%;font-size:26px;font-weight:700;font-family:var(--font-chrome);background:transparent;border:none;border-bottom:1.5px dashed var(--color-text-muted);color:var(--color-text);padding:0;border-radius:0}.node-editor-modal__title-input:focus{outline:none;border-bottom:1.5px solid var(--color-text)}.node-editor-modal__type-rule{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--node-divider, var(--node-border))}.node-editor-modal__type-rule:before,.node-editor-modal__type-rule:after{content:"";flex:1;height:2px;background:currentColor}.node-editor-modal__type-label{color:currentColor;font-family:var(--font-chrome);font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1;text-transform:uppercase}.node-editor-modal__editor-section{margin-top:12px;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ui-alert-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--color-overlay-backdrop)}.ui-alert-dialog__content{position:fixed;z-index:201;top:50%;left:50%;width:min(480px,calc(100vw - 32px));padding:22px;font-family:var(--font-chrome);color:var(--color-text);background:var(--color-bg-elevated);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-elevated);transform:translate(-50%,-50%)}.ui-alert-dialog__overlay[data-state=open]{animation:ui-alert-dialog-overlay-enter .15s ease-out}.ui-alert-dialog__content[data-state=open]{animation:ui-alert-dialog-content-enter .15s ease-out}.ui-alert-dialog__title{margin:0 0 10px;color:var(--color-text);font-size:18px;font-weight:700;line-height:1.3}.ui-alert-dialog__description{margin:0 0 22px;color:var(--color-text-muted);font-family:var(--font-body);font-size:14px;line-height:1.5}.ui-alert-dialog__actions{display:flex;justify-content:flex-end;gap:10px}@keyframes ui-alert-dialog-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes ui-alert-dialog-content-enter{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.ui-alert-dialog__overlay[data-state=open],.ui-alert-dialog__content[data-state=open]{animation:none}}.ui-popover__content{position:relative;z-index:160;width:min(340px,calc(100vw - 32px));padding:12px;font-family:var(--font-chrome);background:var(--color-bg-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--plate-sm);transform-origin:var(--radix-popover-content-transform-origin)}.ui-popover__beak{position:absolute;left:18px;width:12px;height:12px;background:var(--color-bg-surface);transform:rotate(45deg);z-index:1}.ui-popover__content[data-side=bottom] .ui-popover__beak{top:-6px;border-top:1.5px solid var(--color-border);border-left:1.5px solid var(--color-border)}.ui-popover__content[data-side=top] .ui-popover__beak{bottom:-6px;border-bottom:1.5px solid var(--color-border);border-right:1.5px solid var(--color-border)}.ui-popover__content[data-state=open]{animation:ui-popover-enter .12s ease-out}@keyframes ui-popover-enter{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.ui-popover__content[data-state=open]{animation:none}}.ui-tabs{font-family:var(--font-chrome)}.ui-tabs__list{display:flex;gap:2px;padding:3px;background:var(--color-bg-well);border-radius:var(--radius);box-shadow:var(--shadow-well)}.ui-tabs__trigger{min-height:36px;flex:1;padding:8px 12px;border:0;color:var(--color-text-muted);background:transparent;box-shadow:none;font-size:13px}.ui-tabs__trigger[data-state=active]{color:var(--color-text);background:var(--color-bg-card);box-shadow:var(--plate-sm)}.ui-tabs__content{padding:16px 0 0;color:var(--color-text)}.side-dock{position:fixed;top:84px;bottom:16px;z-index:20;width:min(var(--side-dock-width, 280px),calc(100% - 40px));display:flex;flex-direction:column;background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-elevated);font-family:var(--font-chrome);transition:width .25s ease,height .25s ease,top .18s ease,bottom .18s ease}.side-dock:not(.side-dock--collapsed){overflow:hidden}.side-dock--left{left:20px}.side-dock--right{right:20px}.side-dock--collapsed{width:auto!important;height:auto!important;bottom:auto;overflow:visible}.side-dock__collapsed-buttons{display:flex;flex-direction:column;gap:0}.side-dock__collapsed-btn.sf-button{width:38px;height:38px;min-height:38px;padding:0;color:var(--color-text-muted);border:0;border-bottom:1px solid var(--divider-warm);background:transparent;box-shadow:none;border-radius:0;position:relative;z-index:1}.side-dock__collapsed-btn.sf-button:last-child{border-bottom:0}.side-dock__collapsed-btn.sf-button:after{display:none}.side-dock__collapsed-btn.sf-button:hover:not(:active):not(:disabled){color:var(--color-text);background:var(--color-bg-card);border-bottom-color:transparent;transform:translateY(-4px)!important;box-shadow:0 -1.5px 0 var(--color-border),-1.5px 0 0 var(--color-border),1.5px 0 0 var(--color-border),0 5px 0 var(--ink-action)!important;z-index:10}.side-dock__collapsed-btn.sf-button:active{color:var(--color-text);background:var(--color-bg-card);border-bottom-color:transparent;transform:translateY(1px)!important;box-shadow:0 -1.5px 0 var(--color-border),0 0 0 var(--ink-action)!important;z-index:10}.side-dock__tabs-root{display:flex;flex:1;flex-direction:column;min-height:0}.side-dock__header{display:flex;align-items:center;flex-shrink:0;background:var(--color-bg-card);border-bottom:1px solid var(--divider-warm)}.side-dock__tabs{display:flex;flex:1;gap:0;padding:0;background:transparent;border-radius:0;box-shadow:none}.side-dock__tabs button{display:flex;align-items:center;justify-content:center;flex:1;width:38px;height:38px;min-height:38px;padding:0;border:0;border-right:1px solid var(--divider-warm);background:transparent;box-shadow:none!important;color:var(--color-text-muted);transition:background .12s ease,color .12s ease;cursor:pointer}.side-dock__tabs button[aria-selected=true],.side-dock__tabs button[data-state=active]{background:var(--color-accent);color:var(--color-text-inverse);box-shadow:none!important}.side-dock__tabs button:hover:not([aria-selected=true]):not([data-state=active]){background:var(--color-selection-bg);color:var(--color-text)}.side-dock__tabs button:hover,.side-dock__tabs button:active,.side-dock__tabs button:focus-visible{box-shadow:none!important;transform:none!important}.side-dock__collapse{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;padding:0;background:transparent;border:0;box-shadow:none!important;color:var(--color-text-muted);cursor:pointer}.side-dock__collapse:hover{color:var(--color-text);background:var(--color-selection-bg)}.side-dock__collapse:hover,.side-dock__collapse:active,.side-dock__collapse:focus-visible{box-shadow:none!important;transform:none!important}.side-dock__panel{display:flex;flex:1;min-height:0;overflow:hidden;padding:0}.side-dock__resize{position:absolute;z-index:1;top:0;width:8px;height:100%;cursor:col-resize}.side-dock__resize--left{right:0}.side-dock__resize--right{left:0}.app-layout[data-header-visible=false] .side-dock{top:16px;bottom:16px}@media(max-width:720px){.side-dock{top:calc(var(--header-height, 56px) + 16px);max-height:min(48vh,420px);width:min(var(--side-dock-width, 280px),calc(100% - 32px));height:min(48vh,420px)}.side-dock--left{left:16px}.side-dock--right{right:16px}.side-dock--collapsed{width:auto!important;height:auto!important}.side-dock:not(.side-dock--collapsed){bottom:16px;height:auto}}.settings-modal__content{width:min(520px,calc(100vw - 64px));padding:0;overflow:hidden}.settings-modal__inner{display:flex;flex-direction:column;min-height:260px;padding:24px 32px;background:var(--color-bg-card);color:var(--color-text);font-family:var(--font-chrome)}.settings-modal__header{flex-shrink:0}.settings-modal__title{margin:0 0 8px;font-size:26px;font-weight:700;font-family:var(--font-chrome)}.settings-modal__description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0)}.settings-modal__section-rule{display:flex;align-items:center;gap:7px;margin:0 0 20px;color:var(--color-border)}.settings-modal__section-rule:before,.settings-modal__section-rule:after{content:"";flex:1;height:2px;background:currentColor}.settings-modal__section-label{color:currentColor;font-family:var(--font-chrome);font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1;text-transform:uppercase}.settings-modal__body{display:flex;flex:1;flex-direction:column;gap:16px}.settings-modal__row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px}.settings-modal__label{color:var(--color-text);font-size:13px;font-weight:700}.settings-modal__language-buttons{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:6px}.settings-modal__language-button.sf-button{min-height:0;padding:4px 8px;color:var(--color-text-muted);font-size:11px;border-color:var(--color-border);background:transparent}.settings-modal__language-button.sf-button.is-selected{color:var(--color-text-inverse);background:var(--color-accent);transform:translate(1px,1px);box-shadow:none}@media(max-width:520px){.settings-modal__content{width:min(420px,calc(100vw - 32px))}.settings-modal__inner{padding:22px}.settings-modal__row{align-items:stretch;flex-direction:column;gap:10px}.settings-modal__language-buttons{width:100%}.settings-modal__language-button.sf-button{flex:1;min-width:0}}.ui-dropdown-menu__content{z-index:160;min-width:min(200px,calc(100vw - 32px));width:max-content;max-width:min(320px,calc(100vw - 32px));max-height:min(360px,var(--radix-dropdown-menu-content-available-height, calc(100vh - 32px) ));overflow-y:auto;padding:6px;font-family:var(--font-chrome);background:var(--color-bg-elevated);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-elevated);transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.ui-dropdown-menu__content[data-state=open]{animation:ui-dropdown-menu-enter .12s ease-out}.ui-dropdown-menu__item{min-height:36px;display:flex;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);color:var(--color-text);font-size:13px;font-weight:500;outline:none;cursor:pointer;-webkit-user-select:none;user-select:none}.ui-dropdown-menu__item[data-highlighted]{background:var(--color-selection-bg);color:var(--color-text)}.ui-dropdown-menu__item[data-disabled]{color:var(--color-text-muted);opacity:.58;cursor:not-allowed}.ui-dropdown-menu__separator{height:1px;margin:6px 4px;background:var(--color-border-soft)}@keyframes ui-dropdown-menu-enter{0%{opacity:0;transform:translateY(-2px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.ui-dropdown-menu__content[data-state=open]{animation:none}}.header-control.sf-button{min-width:0;height:100%;gap:10px;padding:7px 12px;border:0;border-radius:0;color:var(--color-text);background:transparent;box-shadow:none}.header-control.sf-button:hover,.header-control.sf-button[data-state=open]{background:var(--color-selection-bg);box-shadow:none}.header-control--campaign.sf-button{min-width:0;width:fit-content;border-right:1.5px solid var(--color-border)}.header-control--campaign .header-control__value{max-width:220px}.header-control__text{min-width:0;display:grid;gap:1px;text-align:left}.header-control__eyebrow{color:#7a5a35;font-size:9px;font-weight:700;line-height:1.1;letter-spacing:.1em;text-transform:uppercase}.header-control__value,.header-dropdown__trigger-label{min-width:0;max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.35}.header-control__chevron{flex:0 0 auto;width:5px;height:5px;margin-top:-2px;border-right:1.5px solid var(--color-text);border-bottom:1.5px solid var(--color-text);transform:rotate(45deg);transition:transform .12s ease}.header-control[data-state=open] .header-control__chevron{margin-top:2px;transform:rotate(225deg)}.header-control--icon.sf-button{width:42px;min-width:42px;justify-content:center;padding:0;border-left:1.5px solid var(--color-border)}.campaign-dropdown__content{width:min(320px,calc(100vw - 32px))}.account-dropdown__content{width:min(260px,calc(100vw - 32px))}.campaign-dropdown__row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:4px;padding:2px;border-radius:var(--radius)}.campaign-dropdown__row.is-active{background:var(--color-bg-well);box-shadow:var(--shadow-well)}.campaign-dropdown__select{min-width:0;justify-content:space-between;gap:8px}.campaign-dropdown__name{min-width:0;overflow-wrap:anywhere;line-height:1.25}.campaign-dropdown__current{flex:0 0 auto;color:var(--color-accent);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.campaign-dropdown__delete{justify-content:center;padding:0;color:var(--color-danger);font-weight:700}.campaign-dropdown__delete[data-highlighted]{color:var(--color-text-inverse);background:var(--color-danger)}.ui-input{min-height:40px;padding:9px 12px;font-family:var(--font-chrome);font-size:14px;color:var(--color-text);background:var(--color-bg-well);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-well)}.ui-input:focus{outline:none;box-shadow:var(--shadow-well),0 0 0 2px var(--color-accent-soft)}.ui-input::placeholder{color:var(--color-text-subtle)}.ui-label{display:block;margin:0 0 7px;font-family:var(--font-chrome);color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-SemiBold.woff2) format("woff2");font-style:normal;font-weight:600 700;font-display:swap}:root{--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-chrome: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--paper-canvas: #c8b99a;--paper-raised: #e8d5b0;--paper-popover: #f0e6d3;--paper-inset: #d4c09a;--ink: #2c1507;--ink-muted: #533018;--ink-subtle: #66432a;--ink-action: #3d1a08;--divider-warm: #b89060;--color-bg-page: var(--paper-canvas);--color-bg-surface: #d6c19b;--color-bg-card: var(--paper-raised);--color-bg-elevated: var(--paper-popover);--color-bg-well: var(--paper-inset);--color-border: var(--ink-action);--color-border-soft: var(--divider-warm);--color-border-strong: var(--ink-action);--color-text: var(--ink);--color-text-muted: var(--ink-muted);--color-text-subtle: var(--ink-subtle);--color-text-inverse: #f5e8cc;--color-accent: var(--ink-action);--color-accent-hover: #271006;--color-accent-soft: #ecd8bd;--color-selection-bg: #f0dfbd;--color-selection-border: var(--ink-action);--color-focus-ring: var(--ink-action);--color-overlay-backdrop: color-mix(in srgb, var(--ink-action) 60%, transparent);--color-scrollbar-track: transparent;--color-scrollbar-thumb: var(--ink-action);--color-scrollbar-thumb-hover: var(--color-accent-hover);--color-danger: #711c18;--color-danger-bg: #efd0c2;--color-danger-border: #954035;--color-success: #274e2b;--color-success-bg: #e0d6ac;--color-success-border: #5d7042;--color-warning: #624109;--color-warning-bg: #ead39c;--color-warning-border: #8b6221;--color-info: #254c53;--color-info-bg: #d6d6bc;--color-info-border: #44656a;--shadow-paper-sm: 3px 3px 0 var(--ink-action);--shadow-paper: 5px 5px 0 var(--ink-action);--shadow-paper-lg: 7px 7px 0 var(--ink-action);--shadow-plate-sm: var(--shadow-paper-sm);--shadow-plate: var(--shadow-paper);--shadow-plate-lg: var(--shadow-paper-lg);--shadow-plate-inset-top: 0 0 transparent;--shadow-plate-inset-bottom: 0 0 transparent;--plate-sm: var(--shadow-paper-sm);--plate: var(--shadow-paper);--plate-lg: var(--shadow-paper-lg);--shadow-well: inset 2px 2px 0 color-mix(in srgb, var(--ink-action) 30%, transparent);--shadow-key-press: 1px 1px 0 var(--ink-action);--key-face-top: 0 0 transparent;--key-face-bottom: 0 0 transparent;--key-face-top-strong: 0 0 transparent;--key-face-bottom-strong: 0 0 transparent;--shadow-key-primary-sm: var(--shadow-paper-sm);--shadow-key-primary: var(--shadow-paper);--shadow-dome: var(--shadow-paper);--shadow-voice-pulse: 0 0 0 0 color-mix(in srgb, var(--ink-action) 25%, transparent);--shadow-divider-bottom: inset 0 -1px 0 var(--divider-warm);--shadow-divider-top: inset 0 1px 0 var(--divider-warm);--shadow-sidebar-right-edge: var(--shadow-paper);--shadow-composer-top: inset 0 1px 0 var(--divider-warm);--shadow-elevated: var(--shadow-plate-lg);--shadow-canvas-node: var(--shadow-plate);--radius: 1px;--radius-sm: 1px;--color-canvas-grid: color-mix(in srgb, var(--ink-action) 25%, transparent);--node-npc-bg: #ead8c3;--node-npc-border: #723f34;--node-npc-badge: #633027;--node-npc-stripe: #723f34;--node-location-bg: #dfd4b5;--node-location-border: #52602d;--node-location-badge: #394920;--node-location-stripe: #52602d;--node-scene-bg: #efdbb6;--node-scene-border: #86501b;--node-scene-badge: #643710;--node-scene-stripe: #86501b;--node-adventure-key-bg: #d7d2bd;--node-adventure-key-border: #39565a;--node-adventure-key-badge: #294347;--node-adventure-key-stripe: #39565a;--node-item-bg: #ead6aa;--node-item-border: #655316;--node-item-badge: #4b3b0d;--node-item-stripe: #655316;--node-faction-bg: #e3d1bb;--node-faction-border: #66435d;--node-faction-badge: #4d3046;--node-faction-stripe: #66435d;--node-overview-bg: #e3d6b9;--node-overview-border: #404c54;--node-overview-badge: #29353b;--node-overview-stripe: #404c54;--node-event-bg: #e7d3c0;--node-event-border: #8a4b2f;--node-event-badge: #6d3a23;--node-event-stripe: #8a4b2f;--node-fact-bg: #ded9c8;--node-fact-border: #4f4a3a;--node-fact-badge: #393528;--node-fact-stripe: #4f4a3a;--node-unknown-bg: var(--paper-raised);--node-unknown-border: #594536;--node-unknown-badge: #423124;--node-unknown-stripe: #594536;--color-bg: var(--color-bg-page);--color-surface: var(--color-bg-card);--color-primary: var(--color-accent);--color-primary-hover: var(--color-accent-hover);--color-danger-hover: #54100c;--max-width: 960px}*{box-sizing:border-box;margin:0;padding:0;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track);scrollbar-width:thin}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}*::-webkit-scrollbar-thumb{min-height:26px;background:var(--color-scrollbar-thumb);border:2px solid transparent;background-clip:padding-box;border-radius:0}*::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{font-family:var(--font-chrome);cursor:pointer;border:1.5px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);padding:9px 16px;border-radius:var(--radius);font-size:.9rem;font-weight:600;box-shadow:var(--plate-sm);transition:box-shadow .12s ease,transform .12s ease,background .12s ease}button:hover{box-shadow:var(--plate)}button:active{box-shadow:var(--shadow-key-press);transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:var(--plate-sm);transform:none}button.danger{background:var(--color-danger-bg);color:var(--color-danger)}button.danger:hover{background:var(--color-danger);color:var(--color-text-inverse)}input,textarea{font-family:var(--font-chrome);background:var(--color-bg-well);border:1.5px solid var(--color-border);color:var(--color-text);padding:9px 12px;border-radius:var(--radius);width:100%;font-size:.9rem;box-shadow:var(--shadow-well);transition:box-shadow .12s ease}input::placeholder,textarea::placeholder{color:var(--color-text-subtle)}input:focus,textarea:focus{outline:none;box-shadow:var(--shadow-well),0 0 0 2px var(--color-accent-soft)}textarea{min-height:80px;resize:vertical}label{font-family:var(--font-chrome);display:block;margin-bottom:12px;font-size:.85rem;color:var(--color-text-muted)}label input,label textarea{margin-top:4px}.app-header{display:flex;align-items:stretch;justify-content:center;padding:0;flex-shrink:0;position:fixed;top:20px;left:50%;right:auto;z-index:100;font-family:var(--font-chrome);background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-paper);transition:transform .18s ease,opacity .18s ease;white-space:nowrap}.app-logo{display:flex;align-items:center;padding:10px 18px;border-right:1.5px solid var(--color-border)}.app-logo h1{font-size:13px;font-weight:900;letter-spacing:-.01em;color:var(--color-text);-webkit-text-stroke:.4px var(--color-text);margin:0}.app-nav-tabs{display:flex;align-items:center}.app-nav-tabs>a{font-size:12px;font-weight:400;padding:10px 16px;color:#7a5a35;transition:background .1s ease,color .1s ease;display:flex;align-items:center;height:100%}.app-nav-tabs>a:not(:last-child){border-right:1.5px solid var(--color-border)}.app-nav-tabs>a.active{font-weight:600;background:var(--ink-action);color:var(--color-bg-card)}.app-nav-tabs>a:hover:not(.active){background:var(--color-selection-bg);color:var(--color-text)}.header-session-controls{display:flex;align-items:stretch;border-left:1.5px solid var(--color-border)}@media(max-width:720px){.app-header{left:50%;transform:translate(-50%);max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}.app-header::-webkit-scrollbar{display:none}}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;position:relative;z-index:1}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-recording-status{position:fixed;top:20px;left:16px;z-index:110;pointer-events:auto}.app-recording-status:empty{display:none}.app-header__alert{margin-top:8px;font-size:12px}.page-loader,.error-boundary{display:flex;align-items:center;justify-content:center;min-height:50vh;color:var(--color-text-muted)}.page-loader{font-family:var(--font-chrome)}.error-boundary{padding:2rem;background:var(--color-bg-page)}.error-boundary__card{width:min(480px,100%);padding:28px;border:1.5px solid var(--color-border);background:var(--color-bg-card);box-shadow:var(--shadow-paper);text-align:center}.error-boundary__title{margin-bottom:.75rem;color:var(--color-text);font-family:var(--font-chrome);font-size:1.5rem}.error-boundary__message{margin-bottom:1.5rem;color:var(--color-text-muted);font-size:.9rem;line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}.sf-plate{background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--plate)}.sf-plate--sm{box-shadow:var(--plate-sm)}.sf-plate--lg{box-shadow:var(--plate-lg)}.sf-key{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-chrome);font-size:.9rem;font-weight:600;line-height:1.2;cursor:pointer;min-height:36px;padding:9px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);color:var(--color-text);box-shadow:var(--plate-sm);transition:box-shadow .12s ease,transform .12s ease,background .12s ease}.sf-key:hover{box-shadow:var(--plate)}.sf-key:active{box-shadow:var(--shadow-key-press);transform:translateY(1px)}.sf-key:disabled{opacity:.55;cursor:not-allowed;box-shadow:var(--plate-sm);transform:none}.sf-well{font-family:var(--font-chrome);width:100%;padding:9px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-well);color:var(--color-text);box-shadow:var(--shadow-well);font-size:.9rem;transition:box-shadow .12s ease}.sf-well::placeholder{color:var(--color-text-subtle)}.sf-well:focus{outline:none;box-shadow:var(--shadow-well),0 0 0 2px var(--color-accent-soft)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,.sf-focusable:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.sf-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:9px 16px;border:1.5px solid var(--color-border);border-radius:1px;background:var(--color-bg-card);color:var(--color-text);font-weight:600;box-shadow:0 0 0 var(--ink-action);cursor:pointer;transform:translate(0);transition:transform .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1),background-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.sf-button:not(.sf-button--ghost):after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:transparent;pointer-events:auto;transition:right .15s ease,bottom .15s ease}.sf-button:hover:not(:active):not(.is-selected):not(:disabled):not(.sf-button--ghost){box-shadow:3px 3px 0 var(--ink-action);transform:translate(-3px,-3px)}.sf-button:hover:not(:active):not(.is-selected):not(:disabled):not(.sf-button--ghost):after{right:-3px;bottom:-3px}.sf-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.sf-button:active{box-shadow:0 0 0 var(--ink-action);transform:translate(1px,1px)}.sf-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:0 0 0 var(--ink-action);transform:none}.sf-button--primary{background:var(--color-accent);color:var(--color-text-inverse)}.sf-button--primary:hover{background:var(--color-accent-hover)}.sf-button--secondary{background:var(--color-bg-elevated)}.sf-button--danger{background:var(--color-danger-bg);color:var(--color-danger)}.sf-button--danger:hover{background:var(--color-danger);color:var(--color-text-inverse)}.sf-button--ghost{background:transparent;border-color:transparent;box-shadow:none}.sf-button--ghost:hover{background:#26302812;box-shadow:none}.sf-button--ghost:active{box-shadow:var(--shadow-well);transform:none}.sf-alert{border:1px solid currentColor;border-radius:var(--radius);padding:12px 16px;line-height:1.45;box-shadow:var(--plate-sm)}.sf-alert--danger{background:var(--color-danger-bg);color:var(--color-danger)}.sf-alert--success{background:var(--color-success-bg);color:var(--color-success)}.sf-alert--info{background:var(--color-info-bg);color:var(--color-info)}.sf-alert--warning{background:var(--color-warning-bg);color:var(--color-warning)}.sf-panel,.sf-sidebar{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);box-shadow:var(--plate)}.sf-empty-state{color:var(--color-text-muted);text-align:center}.sf-selected-row{background:var(--color-bg-well);box-shadow:var(--shadow-well);border-radius:var(--radius-sm)}.sf-input,.sf-textarea{background:var(--color-bg-well);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);box-shadow:var(--shadow-well)}.sf-input:focus,.sf-textarea:focus{outline:none;box-shadow:var(--shadow-well),0 0 0 2px var(--color-accent-soft)}.sf-textarea{resize:vertical}.sf-composer-textarea{box-sizing:border-box;flex:1;min-width:0;min-height:38px;max-height:calc(4.5em + 24px);padding:8px 14px;overflow-x:hidden;overflow-y:hidden;resize:none;font-family:var(--font-body);font-size:14px;line-height:1.5}.chat-composer__input.sf-textarea,.chat-composer__input.sf-textarea:focus{background:transparent;border:0;box-shadow:none}.voice-controls .sf-button{flex:1 1 0;min-width:0;white-space:normal;line-height:1.25}.canvas-dock,.canvas-dock-collapsed,.canvas-page__alert,.sf-alert{pointer-events:auto}.brainstorm-chat-composer{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:8px;background:var(--color-bg-elevated);-webkit-backdrop-filter:none;backdrop-filter:none;border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-paper-sm)}.chat-panel{display:flex;flex:1;flex-direction:column;min-height:0}.chat-panel--boxed{overflow:hidden;background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-paper-sm)}.brainstorm-page .brainstorm-content>.chat-panel--boxed{position:fixed;top:84px;bottom:16px;left:calc(var(--brainstorm-history-offset, 0px) + 20px);right:20px;width:auto;max-width:820px;margin:0 auto;transition:top .18s ease,bottom .18s ease,left .25s ease}.app-layout[data-header-visible=false] .brainstorm-page .brainstorm-content>.chat-panel--boxed{top:16px}.chat-panel__messages{position:relative;flex:1;overflow:auto;padding:16px 24px 196px}.chat-panel--boxed .chat-panel__messages{padding:20px 24px 8px}.chat-panel__messages.is-dragging{outline:2px dashed var(--color-selection-border);outline-offset:-4px}.chat-panel__drop-target{position:absolute;z-index:10;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:var(--color-accent-soft);color:var(--color-accent);font-family:var(--font-chrome);font-weight:600}.chat-panel__thread{max-width:800px;margin:0 auto}.chat-panel__alert{box-sizing:border-box;align-self:center;width:min(800px,calc(100% - 48px));margin:0 24px 8px;font-size:13px;overflow-wrap:anywhere}.message-bubble-row{display:flex;justify-content:flex-start;margin-bottom:12px}.message-bubble-row--user{justify-content:flex-end}.message-bubble{max-width:75%;padding:12px 16px;border:1px solid var(--color-border);background:var(--color-bg-card);box-shadow:var(--shadow-paper-sm);font-size:14px;line-height:1.6}.message-bubble-row--user .message-bubble{background:var(--color-accent-soft)}.message-bubble__author,.file-attachment,.file-stage-bar__chip{font-family:var(--font-chrome)}.message-bubble__author{margin-bottom:4px;color:var(--color-text-muted);font-size:11px;font-weight:600}.message-bubble__files{display:flex;flex-wrap:wrap;gap:6px}.message-bubble__files.has-content{margin-bottom:8px}.message-bubble__streaming{color:var(--color-accent);animation:pulse 1s infinite}.message-bubble__tools{display:flex;flex-direction:column;gap:6px;margin-top:8px}.message-bubble__tool-part{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-elevated) 82%,transparent);font-family:var(--font-chrome)}.message-bubble__tool-part--running{border-color:var(--color-info-border)}.message-bubble__tool-part--done{border-color:var(--color-success-border)}.message-bubble__tool-part--error{border-color:var(--color-danger-border)}.message-bubble__tool-header{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:7px 10px;border:0;background:transparent;color:var(--color-text);font:inherit;text-align:left}.message-bubble__tool-header--button{cursor:pointer}.message-bubble__tool-icon,.message-bubble__tool-chevron{display:inline-flex;flex-shrink:0;color:var(--color-text-muted)}.message-bubble__tool-part--running .message-bubble__tool-status-icon{color:var(--color-info)}.message-bubble__tool-part--done .message-bubble__tool-status-icon{color:var(--color-success)}.message-bubble__tool-part--error .message-bubble__tool-status-icon{color:var(--color-danger)}.message-bubble__tool-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.message-bubble__tool-state{color:var(--color-text-muted);font-size:11px;text-transform:capitalize}.message-bubble__tool-details{margin:0;padding:0 10px 10px 32px;overflow-x:auto;color:var(--color-text-muted);font-family:var(--font-mono, monospace);font-size:11px;line-height:1.5;white-space:pre-wrap}.file-attachment,.file-stage-bar__chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-info-border);background:var(--color-info-bg);box-shadow:var(--shadow-paper-sm);color:var(--color-info)}.file-attachment{padding:6px 10px;font-size:13px}.file-attachment__icon{font-size:15px}.file-stage-bar{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;width:100%;max-width:800px;margin:-2px auto 10px;padding:0 24px}.file-stage-bar__chip{max-width:200px;padding:4px 8px;font-size:12px}.file-stage-bar__icon,.file-stage-bar__remove{flex-shrink:0}.file-stage-bar__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-stage-bar__remove{padding:0 2px;border:0;background:transparent;box-shadow:none;color:var(--color-text-muted);font-size:14px;line-height:1}.chat-composer__file-input{display:none}.chat-composer__row{display:flex;align-items:center;gap:8px;min-width:0;width:100%;max-width:800px;margin:0 auto}.chat-composer__attach{flex-shrink:0;width:38px;min-height:38px;padding:0;background:var(--color-bg-elevated);color:var(--color-text-muted)}.chat-composer__action{flex-shrink:0;padding:10px 16px;font-size:14px;white-space:nowrap}.chat-composer__build{display:flex;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;white-space:nowrap}.voice-transcript .refine-thread{max-width:800px;margin:0 auto}.refine-thread{display:flex;flex-direction:column;gap:14px;padding:0 4px}.refine-thread__turn{color:var(--color-text);font-size:14px;line-height:1.6}.refine-thread__user-row{display:flex;justify-content:flex-end}.refine-thread__user-bubble{position:relative;max-width:85%;margin-bottom:7px;padding:8px 12px;border-radius:0;background:var(--color-border);color:#fdf6e8;font-size:13.5px;line-height:1.5}.refine-thread__user-bubble:after{content:"";position:absolute;right:0;bottom:-7px;width:0;height:0;border-top:7px solid var(--color-border);border-left:7px solid transparent}.refine-thread__user-bubble .file-attachment{margin-bottom:4px}.refine-thread__tool{margin:10px 0;color:var(--divider-warm, var(--color-border))}.refine-thread__tool--running{color:var(--color-info, var(--divider-warm))}.refine-thread__tool--error{color:var(--color-danger)}.refine-thread__tool-divider{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;transition:opacity .12s ease}.refine-thread__tool-divider--button{cursor:pointer}.refine-thread__tool-divider--button:hover{box-shadow:none;opacity:.8}.refine-thread__tool-divider--button:active{box-shadow:none;transform:none}.refine-thread__tool-divider:before,.refine-thread__tool-divider:after{content:"";flex:1;height:2px;background:currentColor;opacity:.55}.refine-thread__tool-rule{display:block;height:2px;margin-top:8px;background:currentColor;opacity:.55}.refine-thread__tool-label{display:inline-flex;align-items:center;gap:4px;color:currentColor;font-family:var(--font-chrome);font-size:9px;font-weight:600;letter-spacing:.13em;line-height:1;text-transform:uppercase;white-space:nowrap}.refine-thread__tool-spinner,.refine-thread__tool-chevron{flex-shrink:0}.refine-thread__tool-detail{margin:6px 8px 0;color:var(--color-text);font-family:var(--font-body, inherit);font-size:12.5px;line-height:1.5;text-transform:none;letter-spacing:normal}.refine-thread__tool-detail-title{font-weight:600}.refine-thread__tool-detail-body{color:var(--color-text-muted);white-space:pre-wrap}.voice-mic-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:5px;width:64px;height:64px;border:1.5px solid var(--color-border);background:var(--color-bg-card);box-shadow:var(--shadow-paper);color:var(--color-text-muted);font-family:var(--font-chrome);font-size:10px;font-weight:600;letter-spacing:0}.voice-active-panel{--voice-session-panel-space: 216px;display:grid;grid-template-areas:"voice";grid-template-rows:minmax(0,1fr);flex:1;min-height:0;padding:0 24px 12px;overflow:hidden}.voice-session-header{grid-area:voice;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-self:start;justify-self:center;gap:12px 14px;width:min(620px,100%);margin-top:20px;padding:12px 14px;border:1px solid var(--color-border);background:var(--color-bg-card);box-shadow:var(--shadow-paper-sm)}.voice-mic-indicator.is-active{background:var(--color-accent);color:var(--color-text-inverse)}.voice-mic-indicator.is-paused{background:var(--color-warning-bg);color:var(--color-warning)}.voice-waveform-icon path{transform-box:fill-box;transform-origin:center}.voice-mic-indicator.is-active .voice-waveform-icon path{animation:voiceWaveform .96s ease-in-out infinite}.voice-mic-indicator.is-active .voice-waveform-icon path:nth-child(1),.voice-mic-indicator.is-active .voice-waveform-icon path:nth-child(6){animation-delay:-.36s}.voice-mic-indicator.is-active .voice-waveform-icon path:nth-child(2),.voice-mic-indicator.is-active .voice-waveform-icon path:nth-child(5){animation-delay:-.18s}.voice-mic-indicator.is-active .voice-waveform-icon path:nth-child(3){animation-delay:0ms}.voice-mic-indicator.is-active .voice-waveform-icon path:nth-child(4){animation-delay:-.54s}.voice-mic-indicator.is-paused .voice-waveform-icon path{animation:none;opacity:.6;transform:scaleY(.7)}.voice-mic-indicator__label{font-family:var(--font-chrome);font-weight:600;line-height:1;text-transform:uppercase}.voice-status,.voice-timer{font-family:var(--font-chrome)}.voice-status{min-width:104px;flex:1;color:var(--color-text-muted);font-size:13px;text-align:center}.voice-timer{margin:0;color:var(--color-accent);font-size:20px;font-variant-numeric:tabular-nums;font-weight:600}.voice-controls{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.voice-error{grid-area:voice;z-index:3;align-self:start;justify-self:center;max-width:500px;margin-top:calc(var(--voice-session-panel-space) + 10px);font-size:13px;text-align:center}.voice-transcript{grid-area:voice;z-index:1;align-self:stretch;justify-self:center;box-sizing:border-box;overflow:auto;width:100%;max-width:800px;min-height:0;padding:var(--voice-session-panel-space) 0 16px;scroll-padding-top:var(--voice-session-panel-space)}.voice-transcript__empty{padding:24px 0 96px;color:var(--color-text-subtle);font-size:13px;text-align:center}@keyframes voiceWaveform{0%,to{opacity:.48;transform:scaleY(.58)}35%{opacity:1;transform:scaleY(1.22)}68%{opacity:.72;transform:scaleY(.82)}}@media(max-width:700px){.voice-active-panel{--voice-session-panel-space: 220px;padding:0 16px 12px}.voice-session-header{margin-top:16px;padding:12px}.voice-mic-indicator{width:58px;height:58px}}.brainstorm-content{min-width:0;max-width:calc(100% - var(--brainstorm-history-offset, 0px));margin-left:var(--brainstorm-history-offset, 0);overflow-x:clip;transition:margin-left .25s ease,max-width .25s ease}.brainstorm-content--chooser{max-width:100%;margin-left:0;transition:none}.brainstorm-chat-controls{display:flex;align-items:stretch;gap:12px;flex-shrink:0;padding:12px}@media(max-width:900px){.brainstorm-content{margin-left:0;max-width:100%}}.brainstorm-history-panel{display:flex;flex:1;flex-direction:column;min-height:0;background:var(--color-bg-surface)}.brainstorm-history-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--divider-warm);background:var(--color-bg-card);color:var(--color-text-muted)}.brainstorm-history-panel__title{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.brainstorm-history-panel__new{padding:4px 10px;font-size:11px;font-weight:600;text-transform:uppercase;background:var(--color-bg-card);color:var(--color-text-muted)}.brainstorm-history-panel__entries{display:grid;flex:1;align-content:start;gap:8px;overflow-y:auto;padding:10px 12px}.brainstorm-history-panel__empty{padding:24px 16px;border:1px dashed var(--divider-warm);background:var(--color-bg-card);color:var(--color-text-muted);font-size:12px;text-align:center}.brainstorm-history-panel__entry{position:relative;display:flex;align-items:center;gap:8px;box-sizing:border-box;min-width:0;width:100%;padding:8px 8px 8px 12px;background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:1px;box-shadow:0 0 0 var(--ink-action);color:var(--color-text-muted);font-size:13px;transform:translate(0);transition:transform .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1),background-color .15s ease,color .15s ease}.brainstorm-history-panel__entry:hover:not(:active):not(.is-active){transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--ink-action)}.brainstorm-history-panel__entry:active{transform:translate(1px,1px);box-shadow:0 0 0 var(--ink-action)}.brainstorm-history-panel__entry.is-active{background:var(--color-selection-bg);border-color:var(--color-accent);color:var(--color-text);transform:translate(1px,1px);box-shadow:0 0 0 var(--ink-action)}.brainstorm-history-panel__select{flex:1;min-width:0;overflow:hidden;padding:2px 0;background:transparent;border:none;box-shadow:none;color:inherit;text-align:left}.brainstorm-history-panel__select:hover,.brainstorm-history-panel__select:active,.brainstorm-history-panel__select:focus-visible{box-shadow:none;transform:none}.brainstorm-history-panel__label{display:block;max-width:100%;margin-bottom:2px;overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.brainstorm-history-panel__entry.is-active .brainstorm-history-panel__label{font-weight:600}.brainstorm-history-panel__timestamp{overflow:hidden;color:var(--color-text-muted);font-size:11px;opacity:.7;text-overflow:ellipsis;white-space:nowrap}.brainstorm-history-panel__delete{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:1px solid var(--divider-warm);border-radius:var(--radius-sm);box-shadow:none;color:var(--color-text-muted)}.brainstorm-history-panel__delete:hover,.brainstorm-history-panel__delete:active,.brainstorm-history-panel__delete:focus-visible{box-shadow:none;transform:none}.brainstorm-page{display:flex;flex:1;min-height:0;background:transparent;color:var(--color-text)}.brainstorm-chooser{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:32px}.brainstorm-chooser__heading{margin-bottom:8px;text-align:center}.brainstorm-chooser__heading h2{margin:0;color:var(--color-text);font-family:var(--font-chrome);font-size:22px;font-weight:700}.brainstorm-chooser__options>span{margin:0;color:var(--color-text-muted);font-size:14px}.brainstorm-chooser__options{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:40px;font-family:var(--font-chrome)}.brainstorm-chooser__options>div{display:flex;align-items:center}.brainstorm-chooser__option-button{width:88px;height:88px;flex-direction:column;gap:8px;background:var(--color-bg-card)}.brainstorm-chooser__option-button:disabled,.brainstorm-chooser__option-button:disabled:hover{background:var(--color-bg-surface);color:var(--color-text-subtle);cursor:not-allowed;transform:none;box-shadow:none}.brainstorm-chooser__option-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.react-flow__node,.react-flow__edge,.react-flow__controls{transition:opacity .3s ease!important}.global-canvas--hidden-nodes .react-flow__node,.global-canvas--hidden-nodes .react-flow__edge,.global-canvas--hidden-nodes .react-flow__controls{opacity:0!important;pointer-events:none!important}.canvas-page{position:relative;display:flex;flex:1;min-height:0;background:transparent;color:var(--color-text)}.canvas-page__board{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.canvas-page__alert{margin:calc(var(--header-height, 56px) + 20px) 16px 8px;font-size:12px}.canvas-page__warnings-list{margin:8px 0 0;padding-left:20px}.canvas-page__viewport{flex:1;min-height:0;width:100%;height:100%;background:transparent}.session-canvas{flex:1;min-height:0;width:100%;height:100%;background:var(--color-bg-page)}.canvas-save-cluster{position:absolute;top:16px;left:16px;z-index:50;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:auto}.app-layout--recording.app-layout--canvas .canvas-save-cluster{top:52px}.canvas-recording-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius);background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--plate-sm);font-family:var(--font-chrome);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);cursor:pointer}.canvas-recording-chip:hover{background:var(--color-bg-elevated)}.canvas-recording-chip__dot{width:7px;height:7px;border-radius:50%;background:var(--color-danger, #c0392b);animation:canvas-transcribing-pulse 1.4s ease-in-out infinite;flex:none}.canvas-recording-chip__elapsed{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.canvas-page__save-status{font-family:var(--font-chrome);font-size:11px;padding:4px 8px;border-radius:var(--radius);background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--plate-sm);pointer-events:none;opacity:.8}.canvas-page__save-error{color:var(--color-danger);font-weight:600}.canvas-page__save-saving{color:var(--color-primary);font-weight:600}.canvas-page__save-dirty{color:var(--color-warning)}.canvas-page__save-saved{color:var(--color-text-muted)}.canvas-page__empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px}.canvas-page__empty-title{font-family:var(--font-chrome);font-size:16px}.canvas-page__empty-description{max-width:440px;color:var(--color-text-muted);font-size:13px}.canvas-modify-panel__build-message{white-space:pre-wrap;overflow-wrap:anywhere}.canvas-modify-panel__build-reconnecting{margin-top:6px;font-size:12px;opacity:.85}.app-layout--canvas .app-main,.canvas-page,.canvas-page__board,.canvas-page__viewport{pointer-events:none}.canvas-modify-panel.chat-panel{height:100%;position:relative;overflow:hidden}.canvas-modify-panel .chat-panel__messages{padding:16px 16px 112px}@keyframes canvas-transcribing-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.canvas-recording-chip__dot{animation:none}}.canvas-modify-panel__transcript-chip{display:inline-flex;align-items:center;padding:4px 10px;margin-bottom:6px;border-radius:var(--radius);background:var(--color-bg-elevated);border:1.5px solid var(--color-border);font-family:var(--font-chrome);font-size:11px;font-weight:700;color:var(--color-danger, #c0392b);cursor:pointer;align-self:flex-start}.canvas-modify-panel__transcript-chip:hover{background:var(--color-selection-bg)}.transcription-details{display:flex;flex-direction:column;gap:10px}.transcription-details__ticker-track{position:relative;height:34px;min-width:0;display:flex;align-items:center;overflow:hidden;white-space:nowrap;background:var(--ink);border:1.5px solid var(--color-border);border-radius:var(--radius)}.transcription-details__ticker-track:before,.transcription-details__ticker-track:after{content:"";position:absolute;top:0;bottom:0;width:38px;z-index:2;pointer-events:none}.transcription-details__ticker-track:before{left:0;background:linear-gradient(to right,color-mix(in srgb,var(--ink) 60%,#000),transparent)}.transcription-details__ticker-track:after{right:0;background:linear-gradient(to left,color-mix(in srgb,var(--ink) 60%,#000),transparent)}.transcription-details__ticker-text{flex:none;padding:0 38px;font-family:var(--font-chrome);font-size:12.5px;color:var(--paper-raised);transition:transform .6s ease}@media(prefers-reduced-motion:reduce){.transcription-details__ticker-text{transition:none}}.transcription-details__meta{display:flex;gap:16px;flex-wrap:wrap}.transcription-details__meta-item{display:flex;flex-direction:column;gap:2px}.transcription-details__meta-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.transcription-details__meta-value{font-size:13px;font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.canvas-modify-panel__empty{text-align:center;color:var(--color-text-muted);font-size:13px;margin:32px auto 0;max-width:240px;line-height:1.5;font-family:var(--font-chrome)}.canvas-modify-panel__composer{position:absolute;right:12px;bottom:12px;left:12px;z-index:2;display:flex;flex-direction:column;padding:0;background:transparent}.canvas-modify-panel__composer .brainstorm-chat-composer{padding:8px;background:var(--color-bg-elevated);-webkit-backdrop-filter:none;backdrop-filter:none;border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-paper-sm)}.prep-node-card{position:relative;display:flex;flex-direction:column;width:100%;height:100%;padding:calc(12px * var(--node-scale, 1)) calc(14px * var(--node-scale, 1)) calc(12px * var(--node-scale, 1));overflow:hidden;background:color-mix(in srgb,var(--node-bg, var(--color-bg-card)) 88%,var(--node-divider, var(--node-border)) 12%);border:1px solid color-mix(in srgb,var(--node-divider, var(--node-border)) 36%,var(--node-bg, var(--color-bg-card)));border-radius:0;box-shadow:var(--shadow-paper);color:var(--color-text);font-family:var(--font-chrome);font-size:calc(13px * var(--node-scale, 1));line-height:1.5}.prep-node-card__heading{display:flex;align-items:center;margin-bottom:calc(5px * var(--node-scale, 1))}.prep-node-card__title{flex:1;overflow:hidden;color:var(--color-text);font-size:calc(22px * var(--node-scale, 1));font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.prep-node-card__type-rule{display:flex;align-items:center;gap:calc(7px * var(--node-scale, 1));margin:0 0 calc(8px * var(--node-scale, 1));color:var(--node-divider, var(--node-border))}.prep-node-card__type-rule:before,.prep-node-card__type-rule:after{content:"";flex:1;height:2px;background:currentColor}.prep-node-card__type-label{color:currentColor;font-family:var(--font-chrome);font-size:calc(9px * var(--node-scale, 1));font-weight:600;letter-spacing:0;line-height:1;text-transform:uppercase}.prep-node-card__body{flex:1;overflow:hidden;color:var(--color-text-muted);font-size:calc(13px * var(--node-scale, 1));line-height:1.6}.landing-page{text-align:center;padding-top:96px;padding-inline:20px}.landing-page h2{font-family:var(--font-chrome)}.landing-page h2{font-size:2.1rem;margin-bottom:16px;letter-spacing:-.01em}.landing-page p{color:var(--color-text-muted);max-width:480px;margin:0 auto 36px}.cta-group{display:inline-flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;max-width:min(760px,100%);padding:18px;background:var(--color-bg-card);border-radius:var(--radius);box-shadow:var(--plate)}.landing-page form{width:min(560px,100%);margin-inline:auto;padding:18px;background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--plate)}.cta-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 32px;background:var(--color-accent);color:var(--color-text-inverse);border:1.5px solid var(--color-border);font-family:var(--font-chrome);border-radius:var(--radius);font-weight:600;box-shadow:inset 0 1px #fffff84d,inset 0 -1px #2630282e,var(--shadow-plate);transition:box-shadow .12s ease,transform .12s ease,background .12s ease}.cta-button:hover{background:var(--color-accent-hover);color:var(--color-text-inverse);box-shadow:inset 0 1px #fffff859,inset 0 -1px #26302833,var(--shadow-plate-lg)}.cta-button:active{box-shadow:var(--shadow-key-press);transform:translateY(1px)}.cta-button.secondary{background:var(--color-bg-card);color:var(--color-accent);box-shadow:var(--plate-sm)}.cta-button.secondary:hover{background:var(--color-bg-elevated);color:var(--color-accent-hover);box-shadow:var(--plate)}.landing-page__alert{max-width:520px;margin:16px auto 0}.landing-page__identity-form{margin-top:24px}.landing-page__label{margin-bottom:8px;color:var(--color-text-muted);font-size:14px}.landing-page__form-row{display:flex;gap:12px;align-items:center;justify-content:center}.landing-page__input{width:260px;padding:12px 16px;font-size:16px}@media(max-width:600px){.landing-page__form-row{flex-direction:column}.landing-page__input{width:100%}}
