.labra-app{--err:#b3261e;--warn:#a15c00;--panel-gap:10px;width:100%;height:100dvh;display:grid;grid-template-rows:auto 1fr 218px;background:var(--bg);color:var(--text);font-family:var(--font-mono);overflow:hidden}.labra-panel-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:.65rem .85rem .4rem;border-bottom:1px solid var(--border)}.labra-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .9rem;border-bottom:var(--line) solid var(--border-strong);background:var(--surface);position:relative;z-index:20}.labra-brand{display:flex;align-items:baseline;gap:.7rem}.labra-brand a{font-weight:700;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text);text-decoration:none}.labra-controls{display:flex;gap:.5rem}.labra-btn{font-family:var(--font-mono);font-size:.78rem;padding:.4rem .9rem;background:var(--surface);color:var(--text);border:var(--line) solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.labra-btn:hover:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 rgba(10,10,10,.22)}.labra-btn:disabled{opacity:.45;cursor:default}.labra-btn--run{background:var(--surface-invert);color:var(--text-invert)}.labra-tabs{display:flex;align-items:stretch;flex:none;gap:.3rem;padding:.3rem .6rem 0;background:var(--bg-alt);border-bottom:var(--line) solid var(--border-strong);overflow-x:auto;scrollbar-width:thin;position:relative;z-index:15}.labra-tab{display:flex;align-items:center;gap:.15rem;padding:0 .15rem 0 .55rem;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;max-width:15rem}.labra-tab.is-active{background:var(--surface);border-color:var(--border-strong)}.labra-tab-name{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;padding:.4rem .15rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:none;color:var(--muted);cursor:pointer}.labra-tab.is-active .labra-tab-name{color:var(--text)}.labra-tab-input{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;padding:.3rem .25rem;max-width:12rem;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:4px}.labra-tab-close,.labra-tab-new{font-family:var(--font-mono);font-size:.85rem;line-height:1;padding:.25rem .35rem;background:none;border:none;border-radius:4px;color:var(--muted);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease}.labra-tab-close:focus-visible,.labra-tab.is-active .labra-tab-close,.labra-tab:hover .labra-tab-close{opacity:1}.labra-tab-close:hover{background:var(--bg-alt);color:var(--text)}.labra-tab-new{opacity:1;align-self:center;padding:.25rem .5rem}.labra-tab-new:hover{background:var(--surface);color:var(--text)}.labra-main{display:grid;grid-template-columns:212px 1fr 300px;min-height:0}.labra-palette{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;display:flex;flex-direction:column}.labra-palette-group{padding:.5rem .6rem .25rem}.labra-palette-cat{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:.35rem .25rem}.labra-palette-item{width:100%;display:flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text);text-align:left;padding:.42rem .5rem;margin-bottom:.35rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.labra-palette-item:hover{box-shadow:var(--shadow-soft);transform:translate(-1px,-1px)}.labra-palette-plus{margin-left:auto;color:var(--muted);font-weight:700}.labra-palette-hint{margin-top:auto;padding:.75rem .85rem .9rem;font-size:.66rem;line-height:1.5;color:var(--muted);border-top:1px solid var(--border)}.labra-canvas{position:relative;min-width:0;min-height:0}.labra-canvas .react-flow{background:var(--bg-alt)}.labra-canvas .react-flow__edge-path{stroke:var(--text);stroke-width:1.5}.labra-canvas .react-flow__arrowhead polyline,.labra-canvas .react-flow__edge marker path{fill:var(--text);stroke:var(--text)}.labra-canvas .react-flow__edge.selected .react-flow__edge-path{stroke-width:2.5}.labra-canvas .react-flow__edge-text{fill:var(--text)}.labra-canvas .react-flow__edge-textbg{fill:var(--surface)}.is-running .react-flow__edge-path{stroke-dasharray:6 4;animation:labra-dash .6s linear infinite}@keyframes labra-dash{to{stroke-dashoffset:-10}}@media (prefers-reduced-motion:reduce){.is-running .react-flow__edge-path{animation:none}}.labra-canvas .react-flow__handle{width:9px;height:9px;border-radius:2px;background:var(--surface);border:1.5px solid var(--border-strong)}.labra-canvas .react-flow__controls{box-shadow:var(--shadow-soft);border:1px solid var(--border-strong);border-radius:6px;overflow:hidden}.labra-canvas .react-flow__controls-button{background:var(--surface);border-bottom:1px solid var(--border)}.sim-node{position:relative;min-width:132px;background:var(--surface);border:var(--line) solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:.5rem .6rem .55rem;font-family:var(--font-mono)}.sim-node.is-selected{outline:2px solid var(--text);outline-offset:2px}.sim-node.is-overloaded{border-color:var(--err,#b3261e);box-shadow:3px 3px 0 var(--err,#b3261e)}.sim-node-head{display:flex;align-items:center;gap:.5rem}.sim-node-mark{flex:none;display:inline-grid;place-content:center;width:26px;height:26px;font-size:.68rem;font-weight:700;background:var(--surface-invert);color:var(--text-invert);border-radius:5px;letter-spacing:.04em;box-shadow:inset 0 0 0 1px var(--mark-edge,rgba(27,26,23,.28))}.sim-node-name{font-size:.8rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-node-stats{display:flex;justify-content:space-between;gap:.5rem;margin-top:.35rem;font-size:.68rem;color:var(--muted-light)}.sim-node-stats--idle{color:var(--muted)}.sim-node-util{margin-top:.35rem;height:5px;border:1px solid var(--border-strong);border-radius:3px;overflow:hidden;background:var(--surface)}.sim-node-util-fill{height:100%;background:var(--text);transition:width .3s linear}.sim-node-flag,.sim-node-util-fill.is-hot{background:var(--err,#b3261e)}.sim-node-flag{position:absolute;top:-9px;right:8px;font-size:.55rem;font-weight:700;letter-spacing:.1em;padding:.05rem .35rem;color:#fff;border-radius:3px}.labra-inspector{border-left:1px solid var(--border);background:var(--surface);overflow-y:auto;padding-bottom:1rem}.labra-inspector-empty{padding:.9rem .85rem;font-size:.74rem;color:var(--muted);line-height:1.55}.labra-inspector-head{display:flex;align-items:center;gap:.5rem;padding:.7rem .85rem .2rem}.labra-name-input{width:100%;font-family:var(--font-mono);font-size:.85rem;font-weight:700;border:none;border-bottom:1px dashed var(--border);background:transparent;color:var(--text);padding:.15rem 0}.labra-name-input:focus{outline:none;border-bottom-color:var(--border-strong)}.labra-inspector-blurb{padding:.15rem .85rem .5rem;font-size:.68rem;color:var(--muted);line-height:1.5}.labra-field{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.32rem .85rem;font-size:.74rem}.labra-field-label{color:var(--muted-light)}.labra-field-label em,.labra-mix-row em{font-style:normal;color:var(--muted)}.labra-field input,.labra-field select{font-family:var(--font-mono);font-size:.76rem;width:108px;padding:.28rem .4rem;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);color:var(--text)}.labra-field select{width:152px}.labra-mix{margin-top:.4rem;border-top:1px solid var(--border);padding-top:.45rem}.labra-mix>.labra-field-label{display:block;padding:0 .85rem .3rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.labra-mix-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.22rem .85rem;font-size:.7rem;color:var(--muted-light)}.labra-mix-row input{font-family:var(--font-mono);width:58px;padding:.22rem .35rem;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);color:var(--text)}.labra-note{padding:.4rem .85rem .2rem;font-size:.66rem;color:var(--muted);line-height:1.5}.labra-live{margin:.7rem .85rem 0;border:1px solid var(--border-strong);border-radius:6px;padding:.45rem .6rem;font-size:.7rem}.labra-live div{display:flex;justify-content:space-between;padding:.1rem 0}.labra-live dt{color:var(--muted)}.labra-remove{margin:.8rem .85rem 0;font-family:var(--font-mono);font-size:.7rem;padding:.35rem .7rem;background:var(--surface);color:var(--err,#b3261e);border:1px solid var(--err,#b3261e);border-radius:6px;cursor:pointer}.labra-remove:hover{background:var(--err,#b3261e);color:#fff}.labra-bottom{display:grid;grid-template-columns:minmax(380px,1fr) 1.25fr;border-top:var(--line) solid var(--border-strong);background:var(--surface);min-height:0}.labra-metrics{border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0}.labra-kpis{display:flex;gap:.4rem;padding:.55rem .85rem .2rem;flex-wrap:wrap}.labra-kpi{border:1px solid var(--border-strong);border-radius:6px;padding:.3rem .55rem;min-width:86px}.labra-kpi.is-alert{border-color:var(--err,#b3261e);color:var(--err,#b3261e)}.labra-kpi-value{display:block;font-size:.86rem;font-weight:700}.labra-kpi-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.labra-kpi.is-alert .labra-kpi-label{color:inherit}.labra-charts{display:flex;gap:.85rem;padding:.4rem .85rem .6rem;min-height:0}.labra-chart{flex:1 1;min-width:0}.labra-chart figcaption{font-size:.62rem;color:var(--muted);margin-bottom:.2rem}.labra-chart figcaption em{font-style:normal;color:var(--text)}.labra-chart figcaption em.is-err{color:var(--err,#b3261e)}.labra-chart svg{width:100%;height:52px;border:1px solid var(--border);border-radius:5px;background:var(--bg)}.labra-line{stroke:var(--text);stroke-width:1.5}.labra-line.is-err{stroke:var(--err,#b3261e)}.labra-errors{display:flex;flex-direction:column;min-width:0}.labra-err-count{display:inline-grid;place-content:center;min-width:1.3rem;padding:0 .25rem;margin-left:.35rem;background:var(--err,#b3261e);color:#fff;border-radius:100px;font-size:.62rem}.labra-error-list{list-style:none;overflow-y:auto;font-size:.7rem;padding:.3rem 0}.labra-error-list li{display:flex;align-items:baseline;gap:.6rem;padding:.18rem .85rem;border-bottom:1px dashed var(--border);white-space:nowrap}.labra-err-at{color:var(--muted);flex:none}.labra-err-code,.labra-err-node{font-weight:700;flex:none}.labra-err-code{color:var(--err,#b3261e)}.labra-err-msg{color:var(--muted-light);overflow:hidden;text-overflow:ellipsis}.labra-err-rate{margin-left:auto;color:var(--muted);flex:none}.labra-panes{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;min-width:0;min-height:0}.labra-panes.is-split-row{grid-auto-flow:column}.labra-panes.is-split-column{grid-auto-flow:row}.labra-group{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.labra-group:not(.is-focused) .labra-tabs{background:transparent}.is-split-column .labra-group:not(.is-focused),.is-split-row .labra-group:not(.is-focused){opacity:.94}.labra-group .labra-canvas,.labra-group .labra-pane{flex:1 1;min-height:0}.labra-tab.is-live .labra-tab-name{color:var(--text)}.labra-tab.is-live{box-shadow:inset 0 2px 0 var(--accent)}.labra-splitter{background:var(--border-strong);opacity:.35;position:relative;transition:opacity .12s ease,background .12s ease;touch-action:none}.labra-splitter:after{content:"";position:absolute;inset:-3px}.labra-splitter:active,.labra-splitter:hover{opacity:1;background:var(--accent)}.labra-splitter:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;opacity:1}.labra-splitter--row{cursor:col-resize}.labra-splitter--column{cursor:row-resize}.labra-dock{position:absolute;inset:0;z-index:12;display:grid;place-items:center;border:2px dashed transparent;background:transparent;transition:background .12s ease,border-color .12s ease}.labra-dock-hint{pointer-events:none;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;padding:.35rem .7rem;border-radius:100px;background:var(--surface);border:var(--line) solid var(--border-strong);box-shadow:var(--shadow-soft);opacity:0;transition:opacity .12s ease}.labra-dock.is-bottom,.labra-dock.is-center,.labra-dock.is-right{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.labra-dock.is-bottom .labra-dock-hint,.labra-dock.is-center .labra-dock-hint,.labra-dock.is-right .labra-dock-hint{opacity:1}.labra-dock.is-right{background:linear-gradient(to right,transparent 0 50%,color-mix(in srgb,var(--accent) 18%,transparent) 50% 100%)}.labra-dock.is-bottom{background:linear-gradient(to bottom,transparent 0 50%,color-mix(in srgb,var(--accent) 18%,transparent) 50% 100%)}.labra-tab-name[draggable=true],.labra-tab[draggable=true]{cursor:-webkit-grab;cursor:grab;-webkit-user-drag:element}.labra-tab-name[draggable=true]:active,.labra-tab[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.labra-tab.is-dragging{opacity:.45}.labra-tab.is-split-peer{box-shadow:inset 0 -2px 0 var(--accent)}.labra-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.labra-pane-head{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .7rem;border-bottom:1px solid var(--border);background:var(--surface)}.labra-pane-name{font-size:.76rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.labra-pane-tag{flex:none;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border:1px solid var(--border);border-radius:100px;padding:.1rem .45rem}.labra-pane-btn{flex:none;margin-left:auto;font-family:var(--font-mono);font-size:.7rem;padding:.2rem .5rem;background:none;border:1px solid var(--border-strong);border-radius:5px;color:var(--text);cursor:pointer}.labra-pane-btn+.labra-pane-btn{margin-left:0}.labra-pane-btn:hover{background:var(--bg-alt)}.labra-pane-kpis{display:flex;flex-wrap:wrap;gap:.15rem .9rem;padding:.4rem .7rem;border-bottom:1px solid var(--border);font-size:.72rem}.labra-pane-kpis em{font-style:normal;color:var(--muted);margin-right:.25rem}.labra-pane-kpis .is-alert{color:var(--err,#b3261e)}.labra-pane-canvas{flex:1 1;min-height:0;position:relative}.labra-mobilebar{display:none}@media (max-width:900px){.labra-app{grid-template-rows:auto 1fr auto;height:100dvh;overflow:hidden}.labra-topbar{gap:.5rem;padding:.45rem .6rem}.labra-controls{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;gap:.35rem}.labra-controls::-webkit-scrollbar{display:none}.labra-btn{padding:.35rem .6rem;font-size:.72rem;white-space:nowrap}.labra-brand-sub{display:none}.labra-tabs{overflow-x:auto;scrollbar-width:none}.labra-tabs::-webkit-scrollbar{display:none}.labra-main{grid-template-columns:1fr;position:relative;min-height:0}.labra-inspector,.labra-palette{position:absolute;inset:0;z-index:6;border:none;overflow-y:auto;background:var(--surface)}.labra-bottom,.labra-main{grid-row:2;grid-column:1}.labra-bottom{grid-template-columns:1fr;grid-template-rows:1fr 1fr;border-top:none;min-height:0;overflow:hidden}.labra-app[data-panel=canvas] .labra-bottom,.labra-app[data-panel=canvas] .labra-inspector,.labra-app[data-panel=canvas] .labra-palette,.labra-app[data-panel=inspector] .labra-bottom,.labra-app[data-panel=inspector] .labra-palette,.labra-app[data-panel=metrics] .labra-inspector,.labra-app[data-panel=metrics] .labra-palette,.labra-app[data-panel=palette] .labra-bottom,.labra-app[data-panel=palette] .labra-inspector{display:none}.labra-palette-group{padding:.5rem .7rem .2rem}.labra-palette-item{padding:.55rem .6rem}.labra-palette-hint{font-size:.68rem}.labra-panes.is-split-column,.labra-panes.is-split-row{grid-template-columns:1fr!important;grid-template-rows:1fr 7px 1fr!important;grid-auto-flow:row}.labra-splitter--row{cursor:row-resize}.labra-mobilebar{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--line) solid var(--border-strong);background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0)}.labra-mobilebar button{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;padding:.7rem .2rem;background:none;border:none;border-right:1px solid var(--border);color:var(--muted);cursor:pointer}.labra-mobilebar button:last-child{border-right:none}.labra-mobilebar button.is-on{color:var(--text);background:var(--bg-alt);box-shadow:inset 0 2px 0 var(--accent)}.labra-class-grid input,.labra-class-grid select,.labra-field input,.labra-field select{font-size:16px;padding:.4rem .45rem}.labra-field{padding:.45rem .85rem}.labra-kpis{gap:.3rem}.labra-error-list li{grid-template-columns:1fr;gap:.1rem}.labra-toast{top:auto;bottom:4.5rem;max-width:calc(100vw - 1.5rem)}}@media (max-width:560px){.labra-charts{grid-template-columns:1fr}.labra-pane-kpis{gap:.1rem .6rem;font-size:.68rem}}.labra-menu-wrap{position:relative}.labra-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:230px;background:var(--surface);border:var(--line) solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:.3rem;display:flex;flex-direction:column}.labra-menu button{font-family:var(--font-mono);font-size:.74rem;text-align:left;padding:.45rem .6rem;background:none;border:none;border-radius:5px;color:var(--text);cursor:pointer}.labra-menu button:hover{background:var(--bg-alt)}.labra-menu-sep{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:.5rem .6rem .2rem;border-top:1px solid var(--border);margin-top:.25rem}.labra-btn.is-on{background:var(--surface-invert);color:var(--text-invert)}.sim-node-flag--warn{background:var(--warn,#a15c00)}.sim-node-stats .is-lagging{color:var(--warn,#a15c00);font-weight:700}.labra-line.is-backlog{stroke:var(--warn,#a15c00)}.labra-class{border:1px solid var(--border);border-radius:6px;padding:.45rem .5rem;margin-bottom:.45rem;background:var(--bg)}.labra-class-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.labra-class-label{flex:1 1;min-width:0;font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:.2rem .3rem;border:1px solid transparent;border-radius:4px;background:none;color:var(--text)}.labra-class-label:focus{border-color:var(--border-strong);outline:none;background:var(--surface)}.labra-class-remove{border:none;background:none;color:var(--muted);font-size:.9rem;cursor:pointer;padding:0 .2rem}.labra-class-remove:hover{color:var(--err,#b3261e)}.labra-class-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.3rem .5rem;gap:.3rem .5rem}.labra-class-grid label{display:flex;flex-direction:column;gap:.1rem}.labra-class-grid label span{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.labra-class-grid input,.labra-class-grid select{font-family:var(--font-mono);font-size:.72rem;padding:.25rem .35rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);width:100%}.labra-class-add{width:100%;margin-top:.2rem}.labra-perclass{margin-top:.8rem}.labra-perclass-row{display:flex;align-items:baseline;gap:.45rem;font-size:.68rem;padding:.3rem 0;border-bottom:1px solid var(--border)}.labra-perclass-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-light)}.labra-verb{flex:none;font-size:.56rem;font-weight:700;letter-spacing:.08em;padding:.1rem .35rem;border-radius:100px;border:1px solid var(--border-strong)}.labra-verb--read{background:var(--bg-alt)}.labra-verb--write{background:var(--surface-invert);color:var(--text-invert)}.labra-chat{position:absolute;top:0;right:0;bottom:0;width:min(360px,90vw);z-index:30;display:flex;flex-direction:column;background:var(--surface);border-left:var(--line) solid var(--border-strong);box-shadow:-6px 0 24px rgba(10,10,10,.12)}.labra-main{position:relative}.labra-chat-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-right:.5rem}.labra-chat-model{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--muted);margin-left:.4rem}.labra-chat-close{padding:.1rem .55rem;line-height:1.2}.labra-chat-setup{padding:.9rem;display:flex;flex-direction:column;gap:.6rem;font-size:.78rem;color:var(--muted-light);line-height:1.55}.labra-chat-setup input{font-family:var(--font-mono);font-size:.78rem;padding:.45rem .55rem;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg);color:var(--text)}.labra-chat-scroll{flex:1 1;min-height:0;overflow-y:auto;padding:.8rem;display:flex;flex-direction:column;gap:.7rem}.labra-chat-msg{display:flex;flex-direction:column;gap:.2rem}.labra-chat-who{font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.labra-chat-text{font-size:.78rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem;background:var(--bg)}.labra-chat-msg--user .labra-chat-text{background:var(--bg-alt);border-color:var(--border-strong)}.labra-chat-apply{align-self:flex-start;margin-top:.2rem}.labra-chat-status{font-size:.7rem;color:var(--muted)}.labra-chat-error{font-size:.7rem;color:var(--err,#b3261e)}.labra-chat-input{border-top:1px solid var(--border);padding:.6rem;display:flex;flex-direction:column;gap:.4rem}.labra-chat-input textarea{font-family:var(--font-mono);font-size:.78rem;padding:.45rem .55rem;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg);color:var(--text);resize:vertical}.labra-chat-actions{display:flex;align-items:center;justify-content:space-between}.labra-chat-forget{border:none;background:none;font-size:.64rem;color:var(--muted);cursor:pointer;text-decoration:underline}@media (max-width:900px){.labra-chat{position:fixed;top:auto;height:70vh}}.sim-node-inst{flex:none;font-size:.66rem;font-weight:700;color:var(--text-invert);background:var(--accent,#0a0a0a);border-radius:100px;padding:.05rem .42rem}.labra-field--check{justify-content:flex-start}.labra-field--check input[type=checkbox]{width:auto;accent-color:var(--border-strong)}.labra-palette-item[draggable=true]{cursor:-webkit-grab;cursor:grab}.labra-palette-item[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.labra-app.theme-electric{--bg:#0b0f14;--bg-alt:rgba(16,22,30,0.55);--surface:rgba(30,41,56,0.55);--surface-invert:#2f81f7;--border:rgba(226,240,255,0.09);--border-strong:rgba(226,240,255,0.16);--text:#e4edf9;--text-invert:#f4f9ff;--muted:#8397ad;--muted-light:#b6c7da;--accent:#4da3ff;--accent-deep:#2f81f7;--accent-bright:#7cc0ff;--accent-light:rgba(77,163,255,0.35);--shadow:0 10px 34px rgba(0,0,0,0.5);--shadow-soft:0 2px 10px rgba(0,0,0,0.38);--radius:12px;--line:1px;--glass:blur(22px) saturate(180%);--glass-hi:inset 0 1px 0 rgba(255,255,255,0.09);--mark-edge:rgba(233,243,255,0.26);--err:#ff6b61;--warn:#f0b247;background:radial-gradient(58rem 40rem at 12% -12%,rgba(47,129,247,.2),transparent 62%),radial-gradient(46rem 36rem at 92% 108%,rgba(64,214,227,.14),transparent 64%),radial-gradient(34rem 30rem at 62% 44%,rgba(124,92,214,.1),transparent 70%),var(--bg)}.theme-electric .labra-bottom,.theme-electric .labra-chat,.theme-electric .labra-inspector,.theme-electric .labra-menu,.theme-electric .labra-palette,.theme-electric .labra-toast,.theme-electric .labra-topbar,.theme-electric .sim-node{background:var(--surface);-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}.theme-electric .labra-topbar{box-shadow:var(--glass-hi),0 1px 24px rgba(0,0,0,.35)}.theme-electric .labra-menu,.theme-electric .labra-toast,.theme-electric .sim-node{box-shadow:var(--glass-hi),var(--shadow)}.theme-electric .labra-canvas .react-flow{background:transparent}.theme-electric .react-flow__background{--xy-background-pattern-dots-color-default:rgba(226,240,255,0.13);--xy-background-pattern-dots-color-props:rgba(226,240,255,0.13)}.theme-electric .labra-inspector-empty{background:transparent}.theme-electric .labra-btn{background:rgba(233,243,255,.07);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);box-shadow:var(--glass-hi);border-radius:100px;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.theme-electric .labra-btn:hover:not(:disabled){transform:none;background:rgba(233,243,255,.13);box-shadow:var(--glass-hi),0 0 0 1px rgba(77,163,255,.35)}.theme-electric .labra-btn--run,.theme-electric .labra-btn.is-on{background:linear-gradient(180deg,rgba(93,175,255,.95),rgba(47,129,247,.95));border-color:rgba(140,200,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 18px rgba(47,129,247,.35)}.theme-electric .labra-btn--run:hover:not(:disabled),.theme-electric .labra-btn.is-on:hover:not(:disabled){background:linear-gradient(180deg,rgba(112,187,255,1),rgba(58,141,255,1))}.theme-electric .sim-node.is-selected{outline:none;box-shadow:var(--glass-hi),0 0 0 1px var(--accent),0 0 22px rgba(77,163,255,.4),var(--shadow)}.theme-electric .sim-node.is-overloaded{border-color:rgba(255,107,97,.55);box-shadow:var(--glass-hi),0 0 0 1px rgba(255,107,97,.5),0 0 22px rgba(255,107,97,.28),var(--shadow)}.theme-electric .labra-canvas .react-flow__handle{background:rgba(233,243,255,.22);border-color:rgba(233,243,255,.4)}.theme-electric .labra-canvas .react-flow__controls{overflow:hidden;-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass);box-shadow:var(--glass-hi),var(--shadow)}.theme-electric .labra-canvas .react-flow__controls-button{background:rgba(233,243,255,.06);border-bottom:1px solid var(--border)}.theme-electric .labra-canvas .react-flow__controls-button:hover{background:rgba(233,243,255,.14)}.theme-electric .react-flow__controls-button svg{fill:var(--text)}.theme-electric .labra-chat-input textarea,.theme-electric .labra-chat-setup input,.theme-electric .labra-class-grid input,.theme-electric .labra-class-grid select,.theme-electric .labra-field input,.theme-electric .labra-field select,.theme-electric .labra-mix-row input{background:rgba(10,15,22,.5);border-color:var(--border-strong)}.theme-electric .labra-class-grid input:focus,.theme-electric .labra-class-grid select:focus,.theme-electric .labra-field input:focus,.theme-electric .labra-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,163,255,.22)}@media (prefers-reduced-transparency:reduce){.theme-electric .labra-bottom,.theme-electric .labra-btn,.theme-electric .labra-chat,.theme-electric .labra-inspector,.theme-electric .labra-menu,.theme-electric .labra-palette,.theme-electric .labra-toast,.theme-electric .labra-topbar,.theme-electric .sim-node{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1a2331}}.labra-toast{position:absolute;top:64px;left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:flex-start;gap:.75rem;max-width:min(620px,calc(100vw - 3rem));padding:.7rem .75rem .7rem .9rem;background:var(--surface);border:var(--line) solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--font-mono);font-size:.76rem;line-height:1.5;color:var(--text);animation:labra-toast-in .16s ease-out}.labra-toast--error{border-color:var(--err,#b3261e);box-shadow:3px 3px 0 var(--err,#b3261e)}.labra-toast-text{flex:1 1;min-width:0}.labra-toast-close{flex:none;border:none;background:none;color:var(--muted);font-size:1rem;line-height:1;padding:0 .1rem;cursor:pointer}.labra-toast-close:hover{color:var(--text)}@keyframes labra-toast-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.labra-toast{animation:none}}