@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap";:root{--color-void: #0c0c0c;--color-concrete: #1a1a1a;--color-steel: #2a2a2a;--color-iron: #3a3a3a;--color-aluminum: #6a6a6a;--color-slate: #4a5568;--color-slate-light: #718096;--color-copper: #b87333;--color-bronze: #cd7f32;--color-brass: #e6c200;--color-platinum: #e5e4e2;--color-cyan: #0891b2;--color-cyan-light: #06b6d4;--color-cyan-bright: #22d3ee;--font-primary: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-system: system-ui, -apple-system, sans-serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--transition-fast: .15s ease-out;--transition-smooth: .3s ease-out;--transition-slow: .6s ease-out;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}body{margin:0;padding:0;min-height:100vh;width:100vw;background:linear-gradient(135deg,var(--color-void) 0%,var(--color-concrete) 50%,var(--color-steel) 100%);background-attachment:fixed;color:var(--color-aluminum);font-family:var(--font-primary);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600;line-height:1.2;margin:0 0 var(--space-md) 0;letter-spacing:-.02em}h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;letter-spacing:-.04em;opacity:.9}p{margin:0 0 var(--space-sm) 0;font-size:1.1rem}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-steel);padding:.2em .4em;border-radius:4px;color:var(--color-brass);border:1px solid var(--color-iron)}a{color:var(--color-brass);text-decoration:none;position:relative;transition:color var(--transition-smooth)}a:hover{color:var(--color-platinum)}a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:linear-gradient(90deg,var(--color-brass),var(--color-platinum));transition:width var(--transition-smooth)}a:hover:after{width:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-void)}::-webkit-scrollbar-thumb{background:var(--color-bronze);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-brass)}@keyframes subtleShift{0%{opacity:.06;transform:scale(1) rotate(0)}to{opacity:.12;transform:scale(1.02) rotate(1deg)}}@keyframes subtleBreath{0%{opacity:.12;transform:translateY(0)}to{opacity:.18;transform:translateY(-2px)}}.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))}.panel--moodboard{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.panel--moodboard{user-select:none;-webkit-user-select:none}.moodboard__canvas{flex:1;min-height:0;border-radius:18px;overflow:hidden;margin-top:var(--space-md);border:1px solid var(--color-iron);background:var(--color-void)}.moodboard__canvas .react-flow__pane{cursor:grab}.moodboard__canvas .react-flow__controls button{background:var(--color-concrete);border:1px solid var(--color-iron);color:var(--color-platinum);fill:var(--color-platinum);border-radius:8px;width:28px;height:28px}.moodboard__canvas .react-flow__controls button:hover{background:var(--color-steel)}.moodboard__canvas .react-flow__controls{box-shadow:none}.moodboard__add-btn{padding:.55rem 1.2rem;border-radius:12px;border:none;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);font-weight:600;font-size:.9rem;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.moodboard__add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #22d3ee40}.moodboard__form{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm);width:100%}.moodboard__media-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}.moodboard__upload-area{display:flex;flex-direction:column;gap:.5rem}.moodboard__upload-btn{padding:.75rem;border-radius:12px;border:1px dashed var(--color-iron);background:#1a1a1a99;color:var(--color-aluminum);cursor:pointer;font-size:.9rem;transition:border-color var(--transition-fast),color var(--transition-fast)}.moodboard__upload-btn:hover{border-color:var(--color-brass);color:var(--color-platinum)}.moodboard__upload-preview{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--color-iron)}.moodboard__upload-preview img{display:block;width:100%;max-height:200px;object-fit:cover}.moodboard__upload-remove{position:absolute;top:.35rem;right:.35rem;width:24px;height:24px;border-radius:6px;border:none;background:#0009;color:var(--color-platinum);font-size:1rem;cursor:pointer;display:grid;place-items:center}.moodboard__upload-remove:hover{background:#f87171cc}.modal--create-node{width:min(90vw,440px)}.mood-node{display:flex;align-items:stretch;background:#121212f2;border:1px solid var(--color-iron);border-radius:16px;overflow:hidden}.mood-node__card{width:280px;display:flex;flex-direction:column}.mood-node__header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--color-iron);background:linear-gradient(135deg,rgba(42,42,42,.7) 0%,rgba(30,30,30,.3) 35%,transparent 65%)}.mood-node__author{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.mood-node__avatar{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);display:grid;place-items:center;font-size:.65rem;font-weight:700;overflow:hidden;flex-shrink:0}.mood-node__avatar img{width:100%;height:100%;object-fit:cover}.mood-node__name{font-size:.75rem;font-weight:600;color:var(--color-platinum);white-space:nowrap}.mood-node__title{flex:1;font-size:.75rem;color:var(--color-brass);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.mood-node__delete{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:var(--color-aluminum);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.mood-node__card:hover .mood-node__delete{opacity:1}.mood-node__delete:hover{background:#f8717126;color:#f87171}.mood-node__media{width:100%;background:var(--color-void)}.mood-node__image{width:100%;display:block}.mood-node__iframe{width:100%;height:180px;border:none}.mood-node__body{margin:0;padding:.6rem .75rem;font-size:.82rem;color:var(--color-platinum);line-height:1.5}.mood-node__chevron{display:flex;align-items:center;justify-content:center;width:22px;flex-shrink:0;border:none;border-left:1px solid var(--color-iron);background:transparent;color:var(--color-aluminum);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.mood-node__chevron:hover{background:#ffffff0a;color:var(--color-platinum)}.mood-node__drawer{width:240px;display:flex;flex-direction:column;background:transparent;border-left:1px solid var(--color-iron);overflow:hidden;margin:.5rem 0}.mood-node__chat-header{padding:.55rem .75rem;font-size:.8rem;font-weight:600;color:var(--color-platinum);border-bottom:1px solid rgba(58,58,58,.5);background:linear-gradient(135deg,rgba(42,42,42,.7) 0%,rgba(30,30,30,.3) 35%,transparent 65%)}.mood-node__chat-messages{flex:1;min-height:100px;max-height:240px;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.mood-node__chat-empty{margin:0;color:var(--color-slate-light);font-size:.78rem;padding:.5rem 0}.mood-node__chat-msg{display:flex;gap:.5rem;align-items:flex-start}.mood-node__chat-msg-avatar{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);display:grid;place-items:center;font-size:.55rem;font-weight:700;overflow:hidden;flex-shrink:0;margin-top:1px}.mood-node__chat-msg-avatar img{width:100%;height:100%;object-fit:cover}.mood-node__chat-msg-body{min-width:0}.mood-node__chat-msg-header{display:flex;align-items:baseline;gap:.35rem}.mood-node__chat-msg-name{font-size:.72rem;font-weight:600;color:var(--color-platinum)}.mood-node__chat-msg-time{font-size:.62rem;color:var(--color-aluminum)}.mood-node__chat-msg-text{margin:.15rem 0 0;font-size:.78rem;color:var(--color-platinum);line-height:1.4;word-break:break-word}.mood-node__chat-input{display:flex;gap:.35rem;padding:.5rem;border-top:1px solid var(--color-iron)}.mood-node__chat-input input,.mood-node__body,.mood-node__chat-msg-text{user-select:text;-webkit-user-select:text}.mood-node__chat-input input{flex:1;padding:.4rem .6rem;border-radius:8px;border:1px solid var(--color-iron);background:#1a1a1acc;color:var(--color-platinum);font-size:.78rem;outline:none}.mood-node__chat-input input:focus{border-color:var(--color-brass)}.mood-node__chat-input button{padding:.4rem .7rem;border-radius:8px;border:none;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);font-size:.75rem;font-weight:600;cursor:pointer}.mood-node__chat-input button:disabled{opacity:.5;cursor:not-allowed}.mood-node__handle{width:8px;height:8px;background:var(--color-iron);border:2px solid var(--color-aluminum);border-radius:999px}.mood-node__handle:hover{background:var(--color-cyan-bright);border-color:var(--color-cyan-light)}.react-flow__node.selected .mood-node{border-color:var(--color-brass);box-shadow:0 0 0 1px #e6c2004d}.react-flow__node-mood{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.app{min-height:100vh;width:100vw;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;margin:0;position:relative;overflow:hidden;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.app--shell{justify-content:flex-start;padding:0;gap:0;align-items:stretch;min-height:100vh;height:100vh;overflow:hidden}.hero{text-align:center;max-width:800px;margin:0 auto;padding:0;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.hero__title{margin:0!important;position:absolute!important;top:calc(50% + 10px)!important;left:calc(50% - 20px)!important;transform:translate(-50%,-50%)!important;opacity:0;animation:fadeInUp 1s ease-out .3s forwards;z-index:10!important;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;pointer-events:auto}.hero__subtitle{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:300;color:var(--color-brass);margin-bottom:var(--space-xl);opacity:0;animation:fadeInUp 1s ease-out .6s forwards;font-style:normal;letter-spacing:.05em}.hero__description{font-size:clamp(1rem,2vw,1.2rem);line-height:1.8;margin-bottom:var(--space-xl);opacity:0;animation:fadeInUp 1s ease-out .9s forwards}.auth{width:min(100%,520px);margin:0 auto;padding:var(--space-2xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);z-index:1}.auth__header{text-align:center}.auth__subtitle{color:var(--color-slate-light);font-size:1rem;margin:0}.auth__card{width:100%;padding:var(--space-lg);border-radius:20px;background:#0c0c0ccc;border:1px solid var(--color-iron);box-shadow:0 18px 40px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth__toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-md)}.auth__tab{padding:.7rem 1rem;border-radius:999px;border:1px solid var(--color-iron);background:transparent;color:var(--color-aluminum);font-size:.95rem;cursor:pointer;transition:all var(--transition-fast)}.auth__tab--active{color:var(--color-void);background:linear-gradient(135deg,var(--color-brass),var(--color-bronze));border-color:transparent}.auth__form{display:flex;flex-direction:column;gap:var(--space-sm)}.auth__field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--color-platinum)}.auth__input{padding:.75rem .9rem;border-radius:12px;border:1px solid var(--color-iron);background:#1a1a1ae6;color:var(--color-platinum);font-family:var(--font-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth__input:focus{outline:none;border-color:var(--color-brass);box-shadow:0 0 0 2px #e6c20026}.auth__button{margin-top:var(--space-xs);padding:.85rem 1rem;border-radius:12px;border:none;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.auth__button:disabled{cursor:not-allowed;opacity:.7;transform:none;box-shadow:none}.auth__button--secondary{background:transparent;color:var(--color-brass);border:1px solid var(--color-brass)}.auth__button--ghost{background:transparent;color:var(--color-slate-light);border:1px solid var(--color-iron)}.auth__actions{display:grid;gap:var(--space-sm);margin-top:var(--space-sm)}.auth__status{margin:0;font-size:.95rem;color:var(--color-slate-light)}.auth__status--success{color:var(--color-brass)}.auth__status--warning{color:var(--color-bronze)}.auth__status--error{color:#f87171}.dock{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg);background:#0c0c0cf2;border-bottom:1px solid var(--color-iron);flex-shrink:0}.dock__brand{display:flex;flex-direction:column;gap:.25rem}.dock__eyebrow{margin:0;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-slate-light)}.dock__title{margin:0;font-size:1.6rem;text-align:left}.dock__tabs{display:flex;gap:var(--space-sm);padding:.35rem;border-radius:999px;border:1px solid var(--color-iron);background:#1a1a1acc}.dock__tab{border:none;padding:.55rem 1.2rem;border-radius:999px;background:transparent;color:var(--color-aluminum);cursor:pointer;font-weight:500;transition:all var(--transition-fast)}.dock__tab--active{background:linear-gradient(135deg,var(--color-brass),var(--color-bronze));color:var(--color-void)}.dock__profile{justify-self:end;display:flex;align-items:center;gap:var(--space-sm)}.dock__logout{padding:.35rem .9rem;border-radius:999px;border:1px solid var(--color-iron);background:transparent;color:var(--color-slate-light);font-size:.75rem;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.dock__logout:hover{color:var(--color-platinum);border-color:var(--color-brass)}.dock__avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);display:grid;place-items:center;font-weight:700;overflow:hidden;flex-shrink:0}.dock__avatar-img{width:100%;height:100%;object-fit:cover}.dock__meta p{margin:0;font-size:.95rem;color:var(--color-platinum)}.dock__meta span{display:block;font-size:.75rem;color:var(--color-slate-light)}.shell{width:100%;display:flex;flex-direction:column;gap:var(--space-lg);flex:1;min-height:0;padding:var(--space-lg);box-sizing:border-box}.panel{padding:var(--space-lg);border-radius:24px;background:#0c0c0ccc;border:1px solid var(--color-iron);box-shadow:0 16px 40px #0006}.panel--chat{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.panel__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.panel__header h2{margin:0;font-size:1.6rem}.panel__subtitle{margin:.35rem 0 0;color:var(--color-slate-light);font-size:.95rem}.panel__status{padding:.35rem .9rem;border-radius:999px;background:#22d3ee1a;color:var(--color-cyan-bright);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.panel__body{margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.panel__body--scroll{max-height:none;overflow-y:auto;padding-right:.5rem;flex:1;min-height:0;display:flex;flex-direction:column;gap:.75rem}.panel__content{margin-top:var(--space-md);display:grid;grid-template-columns:1fr auto;gap:var(--space-lg);flex:1;min-height:0;height:100%;overflow:hidden}.panel__main{display:flex;flex-direction:column;gap:var(--space-md);min-height:0;flex:1;height:100%;overflow:hidden}.panel__aside{padding:var(--space-md);border-radius:18px;border:1px solid var(--color-iron);background:#1a1a1a99;display:flex;flex-direction:column;gap:var(--space-sm);min-height:0;min-width:160px;width:max-content}.panel__aside h3{margin:0;font-size:1.1rem}.panel__input{display:flex;gap:var(--space-sm);margin-top:auto;align-items:center}.panel__input input{flex:1;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-iron);background:#1a1a1acc;color:var(--color-platinum);outline:none}.panel__input input:focus{border-color:var(--color-brass);box-shadow:inset 0 0 0 1px #e6c2004d}.panel__input-cancel{padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-iron);background:transparent;color:var(--color-slate-light);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.panel__input-cancel:hover{color:var(--color-platinum);border-color:var(--color-brass)}.panel__input button{padding:.75rem 1.3rem;border-radius:12px;border:none;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);font-weight:600}.message{display:flex;flex-direction:column;gap:.3rem;max-width:72%}.message--incoming{align-self:flex-start}.message--outgoing{align-self:flex-end;align-items:flex-end}.message__row{display:flex;gap:.75rem;align-items:center}.message--outgoing .message__row{flex-direction:row-reverse}.message__avatar{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);display:grid;place-items:center;font-size:.8rem;font-weight:700;overflow:hidden}.message__avatar-img{width:100%;height:100%;object-fit:cover}.message__header{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-left:calc(36px + .75rem)}.message--outgoing .message__header{flex-direction:row-reverse;margin-left:0;margin-right:calc(36px + .75rem)}.message__author{font-size:.82rem;font-weight:600;color:var(--color-platinum);line-height:1}.message--outgoing .message__author{color:var(--color-cyan-bright)}.message__timestamp{font-size:.7rem;color:var(--color-aluminum);line-height:1}.message__edited{font-size:.68rem;color:var(--color-aluminum);font-style:italic}.message__bubble{padding:.6rem .9rem;background:linear-gradient(135deg,rgba(42,42,42,.7) 0%,rgba(30,30,30,.3) 35%,transparent 65%);border:none;border-radius:0;position:relative}.message__bubble:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-top:1px solid var(--color-iron);border-left:1px solid var(--color-iron);mask-image:linear-gradient(135deg,white 25%,transparent 60%);-webkit-mask-image:linear-gradient(135deg,white 25%,transparent 60%)}.message--outgoing .message__bubble{background:linear-gradient(225deg,rgba(34,50,55,.7) 0%,rgba(24,38,42,.3) 35%,transparent 65%)}.message--outgoing .message__bubble:before{border-left:none;border-right:1px solid rgba(34,211,238,.25);border-top-color:#22d3ee40;mask-image:linear-gradient(225deg,white 25%,transparent 60%);-webkit-mask-image:linear-gradient(225deg,white 25%,transparent 60%)}.message__content{margin:0;color:var(--color-platinum);font-size:.95rem;line-height:1.5;word-break:break-word}.message__content--muted{color:var(--color-aluminum);font-style:italic}.message__actions{display:flex;gap:.4rem;margin-top:.4rem;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.message__actions button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:#ffffff0d;color:var(--color-aluminum);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.message__actions button:hover{background:#e6c2001f;color:var(--color-brass)}.message:hover .message__actions{opacity:1;pointer-events:auto}.panel__empty{margin:0;color:var(--color-slate-light);font-size:.95rem}.settings-layout{display:grid;grid-template-columns:180px 1fr;gap:var(--space-lg);margin-top:var(--space-md);min-height:0;flex:1;overflow:hidden}.settings-nav{display:flex;flex-direction:column;gap:.25rem}.settings-nav__item{padding:.55rem .9rem;border-radius:10px;border:none;background:transparent;color:var(--color-aluminum);text-align:left;font-size:.95rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.settings-nav__item:hover{background:#ffffff0d;color:var(--color-platinum)}.settings-nav__item--active{background:#e6c2001a;color:var(--color-brass)}.settings-nav__item--danger{color:#f87171}.settings-nav__item--danger:hover{background:#f871711a;color:#fca5a5}.settings-body{overflow-y:auto;padding-right:.5rem;min-height:0}.settings-section{display:flex;flex-direction:column;gap:var(--space-sm);max-width:520px}.settings-section__title{margin:0 0 .25rem;font-size:1.1rem;color:var(--color-platinum)}.settings-section__title--danger{color:#f87171}.settings-section__desc{margin:0;font-size:.9rem;color:var(--color-slate-light);line-height:1.6}.settings-divider{border:none;border-top:1px solid var(--color-iron);margin:var(--space-md) 0}.settings-avatar-row{display:flex;align-items:center;gap:var(--space-md)}.settings-avatar{width:72px;height:72px;border-radius:16px;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);display:grid;place-items:center;font-size:1.6rem;font-weight:700;overflow:hidden;flex-shrink:0}.settings-avatar__img{width:100%;height:100%;object-fit:cover}.settings-avatar__initials{line-height:1}.settings-avatar-actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.settings-fields{display:flex;flex-direction:column;gap:var(--space-sm)}.settings-field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--color-platinum)}.settings-hint{margin:0;font-size:.8rem;color:var(--color-aluminum)}.settings-hint-inline{font-size:.8rem;color:var(--color-aluminum);font-weight:400}.settings-input{padding:.75rem .9rem;border-radius:12px;border:1px solid var(--color-iron);background:#1a1a1ae6;color:var(--color-platinum);font-family:var(--font-primary);font-size:.95rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.settings-input:focus{border-color:var(--color-brass);box-shadow:inset 0 0 0 1px #e6c2004d}.settings-input--textarea{resize:vertical;min-height:80px}.settings-input--danger:focus{border-color:#f87171;box-shadow:inset 0 0 0 1px #f871714d}.settings-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:.25rem}.settings-btn{padding:.7rem 1.2rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:opacity var(--transition-fast),transform var(--transition-fast)}.settings-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.settings-btn--primary{background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void)}.settings-btn--secondary{background:transparent;border:1px solid var(--color-brass);color:var(--color-brass)}.settings-btn--ghost{background:transparent;border:1px solid var(--color-iron);color:var(--color-slate-light)}.settings-btn--danger{background:transparent;border:1px solid #f87171;color:#f87171}.settings-btn--danger:not(:disabled):hover{background:#f871711a}.settings-notice{margin:0;font-size:.9rem;padding:.6rem .9rem;border-radius:10px}.settings-notice--success{color:var(--color-brass);background:#e6c20014;border:1px solid rgba(230,194,0,.2)}.settings-notice--error{color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.2)}.presence{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;min-height:0;flex:1;padding-right:.25rem}.presence__row{display:flex;align-items:center;gap:.6rem}.presence__dot{width:8px;height:8px;border-radius:999px;background:var(--color-slate-light);box-shadow:0 0 6px #71809699}.presence__dot--online{background:var(--color-brass);box-shadow:0 0 8px #e6c200b3}.presence__dot--idle{background:var(--color-cyan-bright);box-shadow:0 0 8px #22d3eeb3}.presence__dot--away{background:var(--color-slate-light);box-shadow:0 0 6px #71809680}.presence__meta p{margin:0;color:var(--color-platinum);font-size:.95rem}.presence__meta{display:flex;align-items:center;gap:.35rem}.presence__typing{display:inline-block;margin-left:.2rem;font-size:.8rem;color:var(--color-cyan-bright);letter-spacing:.2em}.presence__row--clickable{border:none;background:transparent;padding:.35rem .5rem;margin:-.35rem -.5rem;border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;font-size:inherit;width:calc(100% + 1rem);transition:background var(--transition-fast)}.presence__row--clickable:hover{background:#ffffff0d}.presence__empty{margin:0;color:var(--color-slate-light);font-size:.9rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;animation:modalFadeIn .15s ease-out}.modal{position:relative;width:min(90vw,380px);padding:var(--space-xl) var(--space-lg);border-radius:24px;background:#121212f2;border:1px solid var(--color-iron);box-shadow:0 24px 64px #00000080;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center;animation:modalSlideUp .2s ease-out}.modal__close{position:absolute;top:var(--space-sm);right:var(--space-sm);border:none;background:transparent;color:var(--color-aluminum);font-size:1.4rem;cursor:pointer;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;transition:background var(--transition-fast),color var(--transition-fast)}.modal__close:hover{background:#ffffff14;color:var(--color-platinum)}.modal__loading{margin:var(--space-md) 0;color:var(--color-slate-light);font-size:.95rem}.modal__avatar{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,var(--color-cyan-light),var(--color-cyan-bright));color:var(--color-void);display:grid;place-items:center;overflow:hidden;flex-shrink:0}.modal__avatar-img{width:100%;height:100%;object-fit:cover}.modal__avatar-initials{font-size:2rem;font-weight:700;line-height:1}.modal__name{margin:0;font-size:1.4rem;color:var(--color-platinum)}.modal__status{padding:.25rem .75rem;border-radius:999px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:#71809626;color:var(--color-slate-light)}.modal__status--online{background:#e6c2001f;color:var(--color-brass)}.modal__bio{margin:var(--space-xs) 0 0;color:var(--color-aluminum);font-size:.95rem;line-height:1.6}.modal__last-active{margin:0;font-size:.8rem;color:var(--color-slate-light)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.ascii-background.correct{color:var(--color-brass)!important;filter:drop-shadow(0 0 2px var(--color-brass))}.ascii-background.incorrect{color:#dc143c!important}@media (max-width: 768px){.hero{padding:var(--space-lg) 0}.app{padding:var(--space-sm)}.auth{padding:var(--space-lg) var(--space-sm)}.dock{grid-template-columns:1fr;text-align:center}.dock__profile{justify-self:center}.panel__header{flex-direction:column;align-items:flex-start}.panel__content{grid-template-columns:1fr}.panel__aside{width:100%;max-width:none}.shell{padding:var(--space-sm)}}
