:root{color:#20211f;background:#20211f;font:14px/1.5 Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--ink: #20211f;--ink-2: #292a27;--panel: #f4f1e9;--panel-deep: #e8e4db;--panel-soft: #fbf9f4;--line: #d6d1c7;--line-dark: #454641;--muted: #817f77;--muted-2: #96928a;--lime: #d9ff43;--blue: #315a71;--orange: #ff6d3a;--danger: #b44651;--ok: #587d31;--accent: var(--lime);--mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:1120px;background:var(--ink)}[hidden]{display:none!important}button,input,select{color:inherit;font:inherit}button{border:0;cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}input,select{height:36px;min-width:0;border:1px solid #d4d0c6;border-radius:6px;background:var(--panel-soft);padding:0 11px;outline:none}input:focus,select:focus{border-color:#8d8a82;box-shadow:0 0 0 3px #20211f14}small{color:#79766f;font-size:12px;line-height:1.45}#app{--left-width: 326px;--right-width: 356px;--bottom-height: 244px;display:grid;grid-template:42px minmax(0,1fr) var(--bottom-height) / var(--left-width) minmax(420px,1fr) var(--right-width);background:var(--ink);transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1),grid-template-columns .25s cubic-bezier(.4,0,.2,1)}#app.left-collapsed{--left-width: 0px}#app.right-collapsed{--right-width: 0px}#app.bottom-collapsed{--bottom-height: 0px}.left-panel,.inspector,.blueprint{transition:opacity .25s cubic-bezier(.4,0,.2,1),visibility .25s cubic-bezier(.4,0,.2,1),border-width .25s cubic-bezier(.4,0,.2,1)}#app.left-collapsed .left-panel{border-right-width:0px;opacity:0;pointer-events:none;visibility:hidden}#app.right-collapsed .inspector{border-left-width:0px;opacity:0;pointer-events:none;visibility:hidden}#app.bottom-collapsed .blueprint{border-top-width:0px;opacity:0;pointer-events:none;visibility:hidden}.topbar{z-index:50;grid-column:1 / -1;display:grid;grid-template-columns:minmax(320px,1fr) auto minmax(320px,1fr);align-items:center;gap:14px;min-width:0;padding:0 10px 0 12px;color:#f6f3ea;border-bottom:1px solid #3a3b38;background:var(--ink)}.brand-area,.brand-block,.brand-copy,.topbar-actions,.history-actions,.mode-switch,.layer,.panel-title,.field,.trace-row,.asset-card,.panel-tabs,.canvas-toolbar{display:flex;align-items:center}button{display:inline-flex;align-items:center;justify-content:center;gap:7px}button i,button svg,.layer svg,.panel-tabs svg{width:16px;height:16px;flex:0 0 auto}.brand-area{min-width:0;gap:12px}.brand-block{gap:8px;min-width:116px}.brand-mark{display:flex;width:26px;height:26px;align-items:center;justify-content:center;gap:2px;border:1px solid #65665f;border-radius:50%;overflow:hidden}.brand-mark span{width:4px;height:17px;border-radius:9px;background:var(--lime);transform:rotate(28deg)}.brand-mark span:nth-child(2){height:12px}.brand-mark span:nth-child(3){height:7px}.brand-copy{gap:5px}.brand-copy strong{font-size:13px;letter-spacing:0}.brand-copy span{color:#92938d;font-size:11px;font-weight:600;letter-spacing:0}#projectName{width:min(300px,42vw);min-width:150px;color:#d1d0ca;border:0;border-left:1px solid #494a46;border-radius:0;background:transparent;font-size:12px;font-weight:700;padding-left:14px}#projectName:focus{box-shadow:none;border-color:#686965}.mode-switch{justify-self:center;gap:3px;padding:3px;border:1px solid var(--line-dark);border-radius:9px;background:#191a18}.mode-switch button{height:28px;min-width:68px;padding:0 11px;color:#92938d;border-radius:5px;background:transparent;font-size:12px;font-weight:700}.mode-switch button.active{color:var(--ink);background:#f1eee5}.topbar-actions{justify-self:end;position:relative;gap:6px;min-width:0}.history-actions{gap:2px;padding-right:4px;border-right:1px solid #393a36}.icon-button{width:28px;height:28px;padding:0;color:#8d8e88;border-radius:6px;background:transparent}.icon-button:hover:not(:disabled){color:#f1eee5;background:#30312e}.icon-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tool-button,.topbar-actions button:not(.primary){height:30px;padding:0 9px;color:#d4d3ce;border-radius:6px;background:transparent;font-size:12px;font-weight:700;white-space:nowrap}.tool-button:hover,.topbar-actions button:not(.primary):hover{background:#30312e}#saveState{display:inline-flex;align-items:center;max-width:132px;height:28px;padding:0 9px;color:#a9aaa4;border:1px solid #333530;border-radius:999px;background:#1b1c1a;font-size:12px;white-space:nowrap}#saveState:before{content:"";width:6px;height:6px;margin-right:7px;border-radius:50%;background:#9abc2e}.file-menu{position:relative}.file-menu-popover{position:absolute;z-index:80;top:calc(100% + 8px);right:0;display:grid;min-width:172px;padding:6px;border:1px solid #3f403b;border-radius:8px;background:#242522;box-shadow:0 18px 48px #0000004d}.file-menu-popover button{justify-content:flex-start;min-height:34px;padding:0 10px;color:#e5e2da;border-radius:6px;background:transparent;font-size:12px;font-weight:700}.file-menu-popover button:hover{background:#30312e}.primary,#publishProject{height:32px;min-width:96px;padding:0 13px;color:var(--ink);border-radius:7px;background:var(--lime);font-size:12px;font-weight:800;white-space:nowrap}.primary:hover,#publishProject:hover{background:#e4ff79}.left-panel{grid-row:2;grid-column:1;position:relative;min-height:0;overflow:auto;border-right:1px solid var(--line);background:var(--panel);color:var(--ink)}.left-panel:before{content:none}.project-header{padding:16px 16px 10px;border-bottom:1px solid var(--line)}.project-header span,.outliner-empty span{display:block;color:var(--muted);font-size:12px;line-height:1.4}.project-header b{display:block;margin-top:3px;overflow:hidden;color:var(--ink);font-size:16px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.panel-tabs{position:sticky;top:0;z-index:10;display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--panel)}.panel-tabs button{width:auto;min-width:48px;height:44px;flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border:1px solid transparent;border-radius:8px;background:#fbf9f47a;color:#7c7971}.panel-tabs button:hover{background:var(--panel-soft);border-color:#ded8ce}.panel-tabs button.active{color:var(--ink);background:var(--panel-soft);border-color:#cbc5ba;box-shadow:0 4px 12px #2927220f}.panel-tabs button span{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap;font-size:10px;font-weight:600;line-height:1}details.panel-section-details{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}details.panel-section-details summary.panel-title{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between}details.panel-section-details summary.panel-title::-webkit-details-marker{display:none}details.panel-section-details summary.panel-title:after{content:"▾";font-size:11px;color:var(--muted);transition:transform .15s ease}details.panel-section-details:not([open]) summary.panel-title:after{transform:rotate(-90deg)}.panel-title{justify-content:space-between;gap:12px;min-height:0;padding:20px 16px 10px;border:0;color:var(--ink);background:transparent}.panel-title b{font-size:17px;line-height:1.25;letter-spacing:0}.panel-title span,.layer small,.interaction span{color:var(--muted-2);font-size:12px;font-weight:600;letter-spacing:0}.import{color:var(--ink);cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.import input{display:none}.asset-status{padding:0 16px 14px}.asset-card{justify-content:space-between;gap:10px;padding:11px;border:1px solid #d5d0c5;border-radius:7px;background:var(--panel-soft);color:#79766f;font-size:12px}.asset-card.ready{border-color:#c4d390;color:#526b20;background:#f7faec}.asset-card.warning{border-color:#d8c881;color:#7c6720;background:#fff8dc}.asset-section{margin-bottom:16px}.asset-section-title{display:flex;align-items:center;justify-content:space-between;margin:2px 0 8px;color:var(--muted);font-size:12px;font-weight:700}.asset-section-title b{padding:3px 7px;color:#4f6a1e;border-radius:999px;background:#edf6d4;font-size:11px}.asset-section-title b.warning{color:#775e18;background:#fff2bf}.asset-model-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #d8d2c8;border-radius:8px;background:var(--panel-soft)}.asset-model-card.ready{border-color:#c4d390;background:#f8fbef}.asset-model-card.warning{border-color:#d8c881;background:#fff8dc}.asset-model-icon{display:grid;width:34px;height:34px;place-items:center;color:var(--ink);border-radius:8px;background:#ece7dd}.asset-model-copy{min-width:0}.asset-model-copy b,.asset-model-copy span{display:block}.asset-model-copy b{overflow:hidden;color:var(--ink);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.asset-model-copy span{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.35}.asset-model-card button{min-height:30px;padding:0 10px;border:1px solid #d5d0c5;border-radius:6px;background:var(--panel-soft);font-size:12px;font-weight:700}.asset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.asset-metric{display:grid;min-height:76px;align-content:center;justify-items:start;gap:2px;padding:11px;border:1px solid #d5d0c5;border-radius:7px;background:var(--panel-soft)}.asset-metric svg{margin-bottom:2px;color:#7a776f}.asset-metric b,.asset-metric span{display:block}.asset-metric b{color:var(--ink);font-size:20px;line-height:1.1}.asset-metric span{color:var(--muted);font-size:11px;line-height:1.25}.asset-library-empty{display:grid;gap:5px;padding:14px;color:var(--muted);border:1px dashed #d2cdc2;border-radius:8px;background:#fbf9f49e}.asset-library-empty svg{color:#77736a}.asset-library-empty b{color:var(--ink);font-size:13px}.asset-library-empty span{font-size:12px;line-height:1.45}.primitive-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 16px 16px}.primitive-buttons button,.component-row button,#createComponent,#createComponentPanel,#newInteraction,#addSavedCamera,#addMaterialVariant{min-height:38px;border:1px solid #d5d0c5;border-radius:7px;background:var(--panel-soft);font-size:12px;font-weight:700;transition:border-color .15s,transform .15s,box-shadow .15s}.primitive-buttons button:hover,.component-row button:hover,#createComponent:hover,#createComponentPanel:hover,#newInteraction:hover,#addSavedCamera:hover,#addMaterialVariant:hover{border-color:#838078;box-shadow:0 5px 15px #29272214;transform:translateY(-1px)}.component-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px;margin:6px 0}.component-main{min-width:0;justify-content:flex-start;gap:9px;padding:8px 10px;text-align:left}.component-main span{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.component-main small{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:600}.component-delete{width:34px;min-height:38px;padding:0;color:#8b5656}.component-delete:hover{color:#8f2632;border-color:#d7a9ad;background:#fff1f2}.layer-tools{padding:0 16px 12px}.layer-tools input{width:100%}.layer-list,.interaction-list{padding:0 10px 16px}.camera-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:9px;margin:0 0 9px;padding:7px;border:1px solid transparent;border-radius:8px}.camera-card:hover{background:#e8e4da}.camera-card.active{background:#dedbd1;border-color:#c8c3b7;box-shadow:inset 2px 0 var(--ink)}.camera-preview{width:76px;height:48px;padding:0;overflow:hidden;border:1px solid #d1ccbf;border-radius:6px;background:#d8d3c7}.camera-preview img{width:100%;height:100%;object-fit:cover}.camera-preview span{display:grid;width:100%;height:100%;place-items:center;color:#56564f}.camera-card-main{display:grid;min-width:0;align-content:center;gap:5px}.camera-card-title{display:grid;justify-content:stretch;min-width:0;padding:0;color:var(--ink);background:transparent;text-align:left}.camera-card-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.camera-card-title small{color:var(--muted-2);font-size:11px;font-weight:700}.camera-card-actions{display:flex;flex-wrap:wrap;gap:5px}.camera-card-actions button{min-height:24px;padding:0 7px;color:#5c5b55;border-radius:5px;background:#f0ece3;font-size:11px;font-weight:700}.camera-card-actions button:hover{background:#faf7ef}.outliner-empty{margin:4px 6px 12px;padding:14px;border:1px dashed #d2cdc2;border-radius:8px;background:#fbf9f49e}.outliner-empty b{display:block;margin-bottom:4px;font-size:13px}.scene-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 8px;padding:0 2px}.scene-summary-row span{display:inline-flex;min-width:0;align-items:center;gap:6px;padding:7px 8px;color:var(--muted);border:1px solid #ded8ce;border-radius:7px;background:#fbf9f4a3;font-size:11px}.scene-summary-row b{color:var(--ink);font-size:12px}.outliner-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;min-height:36px;margin:2px 0;padding-left:calc(var(--depth, 0) * 16px);border-radius:6px;color:var(--ink)}.outliner-row:hover{background:#e8e4da}.outliner-row.active{background:#dedbd1;box-shadow:inset 2px 0 var(--ink)}.outliner-row.is-hidden .outliner-main,.outliner-row.is-locked .outliner-main{color:#8a877f}.outliner-row.is-hidden .outliner-main span{opacity:.62}.outliner-root{margin:4px 0 7px;border:1px solid #ddd7cc;background:#ebe7dc}.disclosure{width:24px;height:28px;padding:0;color:#6d6a63;background:transparent}.disclosure.spacer{pointer-events:none;opacity:0}.outliner-main{min-width:0;height:34px;justify-content:flex-start;gap:9px;padding:0 6px;background:transparent;text-align:left}.outliner-main span{min-width:0;flex:1 1 auto;overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.outliner-main small{flex:0 0 auto;color:#9a968d;font-size:11px;font-weight:600}.outliner-actions{display:flex;align-items:center;gap:3px;padding-right:4px;opacity:.42;transition:opacity .12s ease}.outliner-row:hover .outliner-actions,.outliner-row.active .outliner-actions,.outliner-row.is-hidden .outliner-actions,.outliner-row.is-locked .outliner-actions{opacity:1}.outliner-actions button{width:27px;height:27px;padding:0;color:#6c6962;border-radius:5px;background:transparent}.outliner-actions button:hover{color:var(--ink);background:var(--panel-soft)}.outliner-children.collapsed{display:none}.layer{width:100%;min-height:36px;height:auto;gap:9px;padding:7px 9px;border-radius:5px;background:transparent;color:var(--ink);font-size:13px;text-align:left}.layer:before{content:none}.layer:hover{background:#e8e4da}.layer.active{background:#dedbd1;box-shadow:inset 2px 0 var(--ink)}.layer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer small{margin-left:auto}.interaction{display:block;width:100%;margin:8px 0;padding:12px;border:1px solid #d5d0c5;border-radius:7px;background:var(--panel-soft);text-align:left}.interaction:hover{border-color:#838078}.interaction.ready{border-left:3px solid var(--ok)}.interaction.broken{border-left:3px solid var(--danger)}.interaction.warning{border-left:3px solid #a88b25}.interaction strong{display:block;font-size:13px;line-height:1.45;font-weight:700}.interaction span{display:block;margin-top:6px}#stage{grid-row:2;grid-column:2;position:relative;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(90deg,rgb(255 255 255 / 3%) 1px,transparent 1px),linear-gradient(rgb(255 255 255 / 3%) 1px,transparent 1px),radial-gradient(circle at center,#2e302c 0,#20211f 58%,#181917);background-size:28px 28px,28px 28px,auto}.canvas-toolbar{position:absolute;z-index:2;top:14px;left:50%;transform:translate(-50%);gap:6px;padding:6px;border:1px solid #4b4c47;border-radius:8px;background:#191a18db;box-shadow:0 12px 30px #0003}.canvas-toolbar button{height:34px;padding:0 10px;color:#deddd8;border-radius:5px;background:transparent;font-size:12px;font-weight:700}.canvas-toolbar button:hover,.canvas-toolbar button.active{color:var(--ink);background:var(--lime)}.toolbar-divider{width:1px;height:20px;background:#ffffff26;margin:0 2px}.canvas-toolbar button[data-viewport-preset]{font-size:11px;font-weight:600;padding:0 8px;min-width:44px}.viewport-dimension-badge{position:absolute;top:12px;right:12px;z-index:20;padding:4px 10px;background:#121310e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:11px;font-weight:700;color:#f6f3ea;pointer-events:none;box-shadow:0 4px 12px #00000059}#app.mode-preview .canvas-toolbar,#app.mode-preview .viewport-handle,#app.mode-preview .panel-toggle{display:none!important}#app.mode-3d .canvas-toolbar button[data-add-primitive],#app.mode-ui .canvas-toolbar button[data-canvas-tool=move],#app.mode-ui .canvas-toolbar button[data-canvas-tool=rotate],#app.mode-ui .canvas-toolbar button[data-canvas-tool=scale]{display:none}#engineCanvas{position:absolute;z-index:0;width:100%;height:100%;background:#090b0d}.ui-canvas{position:absolute;z-index:1;inset:0;pointer-events:none}.ui-node{position:absolute;pointer-events:auto;border:0;border-radius:var(--ui-radius, 0);transition:box-shadow .15s,outline-color .15s,opacity .15s}.ui-node-visual{position:relative;width:100%;height:100%;overflow:visible}.ui-node-visual.has-stroke:after{content:"";position:absolute;inset:var(--stroke-inset, 0);z-index:2;border:var(--stroke-width, 0) solid var(--stroke-color, transparent);border-radius:calc(var(--ui-radius, 0px) + var(--stroke-radius-outset, 0px));pointer-events:none}.ui-node:hover{outline:1px solid rgb(217 255 67 / 35%)}.ui-node.selected{outline:2px solid var(--lime);box-shadow:0 0 0 5px #d9ff433d}.selection-label{position:absolute;left:0;top:-24px;max-width:180px;padding:3px 7px;overflow:hidden;color:var(--ink);border-radius:5px;background:var(--lime);font:800 9px var(--mono);text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.ui-node.locked{opacity:.74}.ui-node.pickable{outline:1px dashed var(--orange)}.ui-node.incompatible{opacity:.32}.ui-node.ui-frame,.ui-node.ui-shape,.ui-node.ui-text{background:transparent}.ui-node-visual.ui-frame{background:#ffffff1a;border-radius:12px}.ui-node-visual.ui-shape{background:var(--blue);border-radius:8px}.ui-node-visual.ui-text{color:#fff;font-size:16px}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 18px;color:#f6f3ea;border:1px solid #4b4c47;border-radius:8px;background:#191a18d6;box-shadow:0 18px 45px #00000040}#emptyHint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:15}.empty-hint-card{background:#171815e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #3d3e39;border-radius:12px;padding:24px 28px;text-align:center;max-width:380px;box-shadow:0 16px 40px #00000073;color:#f6f3ea}.empty-hint-title{font-size:14px;font-weight:700;margin-bottom:6px;color:#f6f3ea}.empty-hint-subtitle{font-size:12px;color:#aaa9a3;line-height:1.5;margin:0 0 16px}.empty-hint-actions{display:flex;gap:10px;justify-content:center}.empty-hint-btn{height:32px;padding:0 14px;font-size:12px;font-weight:700;border-radius:6px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.empty-hint-btn.primary{background:var(--accent);color:var(--ink);border:0}.empty-hint-btn:not(.primary){background:#242522;color:#f6f3ea;border:1px solid #4b4c47}.empty-hint-btn:hover{filter:brightness(1.1)}.inspector{grid-row:2;grid-column:3;position:relative;min-height:0;overflow:auto;border-left:1px solid var(--line);background:var(--panel);color:var(--ink)}.panel-resize-handle{position:absolute;top:0;bottom:0;width:5px;z-index:20;cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none}.panel-resize-handle:before{content:"";position:absolute;top:50%;transform:translateY(-50%);width:3px;height:40px;border-radius:999px;background:var(--line);transition:background .15s ease,height .15s ease}.panel-resize-handle:hover:before,.panel-resize-handle.dragging:before{background:var(--lime);height:56px}.panel-resize-handle-right{right:-3px}.panel-resize-handle-left{left:-3px}.inspector .panel-title{display:block;padding:20px 18px 10px}.inspector .panel-title b{display:block}#selectionType{display:block;margin-top:4px;color:#959189;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}.inspector-body{padding:8px 14px 22px}.camera-inspector-preview{display:block;width:100%;aspect-ratio:5 / 3;margin-bottom:12px;object-fit:cover;border:1px solid #cfc9bc;border-radius:8px;background:#d8d3c7}.camera-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0 12px}.camera-action-row button{margin:0}.camera-advanced{margin:14px 0 6px;border:1px solid #ddd8cc;border-radius:8px;background:#f3efe6;padding:0}.camera-advanced summary{cursor:pointer;padding:10px 11px;color:#4f4e49;font-size:12px;font-weight:800}.camera-control-card{margin:0 8px 8px;padding:10px;border:1px solid #ded8cb;border-radius:7px;background:#faf7ef}.camera-control-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#56544d;font-size:12px;font-weight:800}.camera-control-title.with-toggle{margin-bottom:10px}.camera-two-col,.camera-axis-grid{display:grid;gap:7px}.camera-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-axis-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:9px}.camera-two-col label,.camera-axis-grid label{display:grid;gap:4px;min-width:0}.camera-two-col label span,.camera-axis-grid label span{color:#79766f;font-size:11px;font-weight:700}.camera-two-col input,.camera-axis-grid input{width:100%}.camera-button-grid{display:grid;gap:6px}.camera-button-grid button{justify-content:flex-start;margin:0}.camera-helper-text{margin:-2px 0 9px;color:#79766f;font-size:11px;line-height:1.4}.camera-dof-card.is-enabled{border-color:#b8cc72;background:#fbfff0}.camera-preset-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:9px}.camera-preset-row button{min-height:28px;margin:0;padding:0 8px;font-size:11px}.camera-focus-pick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-bottom:9px}.camera-pick-focus{width:100%;min-height:30px;margin:0;justify-content:center;border-color:#c7c0b0;background:#fffdf7}.camera-pick-focus.is-picking{border-color:var(--accent);background:#242522;color:var(--accent)}.camera-pick-cancel{min-height:30px;margin:0;padding:0 9px;border-color:#d8bbb3;color:#7a332c;background:#fff7f4}.camera-focus-active{display:grid;gap:3px;margin:-2px 0 9px;padding:8px 9px;border:1px dashed #b8cc72;border-radius:7px;background:#fbfff0}.camera-focus-active b{color:#3f4d11;font-size:11px}.camera-focus-active span{color:#656a48;font-size:11px;line-height:1.35}.inline-toggle{display:inline-flex;align-items:center;gap:7px;color:#4f4e49;font-size:12px;font-weight:700}.inline-toggle input{width:auto}.field-warning{display:block;margin:7px 0 0;color:#9a6a1f;font-size:11px;line-height:1.35}.field{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;align-items:center;margin-bottom:10px}.field span{color:#79766f;font-size:12px}.field input,.field select{width:100%}.section-title{margin:20px 0 10px;color:#959189;font-size:12px;font-weight:800;letter-spacing:0;text-transform:none}.inspector-body button,.node-actions button,dialog button{min-height:34px;margin:4px 6px 4px 0;padding:0 11px;border:1px solid #d5d0c5;border-radius:6px;background:var(--panel-soft);font-size:12px;font-weight:700}.inspector-body button:hover,.node-actions button:hover,dialog button:hover{border-color:#838078}.empty-state,.help-card{padding:14px;border:1px solid #d5d0c5;border-radius:7px;background:var(--panel-soft);color:#79766f;line-height:1.55}.empty-state b{display:block;color:var(--ink);font-size:15px}.context-actions{display:grid;gap:8px;margin:12px 0}.inspector-section{border-bottom:1px solid var(--line);margin:0;background:var(--panel)}.inspector-section[open]{padding-bottom:12px}.inspector-section summary{list-style:none;outline:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;color:var(--ink);font-weight:800;font-size:12px;letter-spacing:.02em;-webkit-user-select:none;user-select:none;margin:0}.inspector-section summary::-webkit-details-marker{display:none}.inspector-section summary .section-chevron{transition:transform .2s ease;color:var(--muted-2);display:flex;align-items:center}.inspector-section[open] summary .section-chevron{transform:rotate(180deg)}.section-content{padding:0 14px}.compact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.compact-field{display:flex;align-items:center;gap:6px;background:var(--panel-soft);border:1px solid var(--line);border-radius:6px;padding:2px 6px;height:36px}.compact-field:focus-within{border-color:#8d8a82;box-shadow:0 0 0 3px #20211f14}.compact-field .field-label{font-weight:800;font-size:11px;color:var(--muted);cursor:ew-resize;-webkit-user-select:none;user-select:none;width:12px;text-align:center}.compact-field input{border:none!important;background:transparent!important;padding:4px 2px!important;font-size:12px;width:100%;margin:0!important;box-shadow:none!important;outline:none!important}.compact-field.size-field{padding-right:3px}.compact-field.size-field input:disabled{color:var(--muted);opacity:1;-webkit-text-fill-color:var(--muted)}.size-mode-select{flex:0 0 52px;width:52px;height:28px;padding:0 18px 0 7px!important;border:1px solid transparent;border-radius:5px;background-color:transparent;background-position:right 5px center;font-size:11px;font-weight:800;color:var(--ink)}.size-mode-select:hover,.size-mode-select:focus{border-color:var(--line);background-color:var(--panel);box-shadow:none}.color-field-row{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center}.color-swatch-preview{width:20px;height:20px;border-radius:4px;border:1px solid var(--line);box-shadow:inset 0 0 0 1px #ffffff1a;flex-shrink:0}.color-picker-trigger{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;min-height:36px;padding:2px 8px 2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);color:var(--ink);width:100%;text-align:left}.inspector-body .color-picker-trigger{margin:0}.color-picker-trigger:hover{border-color:#c9c3b8;background:#fffdf8}.color-picker-trigger:focus-visible{outline:none;border-color:#8d8a82;box-shadow:0 0 0 3px #20211f14}.color-picker-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.color-picker-trigger i{width:14px;height:14px;color:var(--muted);flex:0 0 auto}.color-picker-popover{position:fixed;z-index:180;width:308px;max-width:calc(100vw - 24px);padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 20px 52px #0003}.color-picker-header{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:10px;margin-bottom:10px}.color-picker-sample{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff1a}.color-picker-head-copy{min-width:0}.color-picker-head-copy b{display:block;font-size:13px;line-height:1.2}.color-picker-head-copy small{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.color-picker-close{width:28px;height:28px;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--muted);font-size:18px;line-height:1}.color-picker-close:hover{color:var(--ink);background:#fffdf8}.color-picker-sv{position:relative;height:138px;margin-bottom:10px;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:crosshair}.color-picker-sv:before,.color-picker-sv:after{position:absolute;inset:0;content:"";pointer-events:none}.color-picker-sv:before{background:linear-gradient(to right,#fff,#fff0)}.color-picker-sv:after{background:linear-gradient(to top,#000,#0000)}.color-picker-sv-handle{position:absolute;width:16px;height:16px;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #00000040;transform:translate(-50%,-50%);pointer-events:none}.color-picker-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px}.color-picker-line span{color:var(--muted);font-size:12px}.color-picker-line strong{min-width:34px;text-align:right;font-size:11px;color:var(--muted)}.color-picker-line input[type=range]{width:100%;height:18px;margin:0;appearance:none;background:transparent}.color-picker-line input[type=range]::-webkit-slider-runnable-track{height:10px;border:1px solid var(--line);border-radius:999px;background:var(--range-track, var(--panel-deep))}.color-picker-line input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-4px;border:2px solid #fff;border-radius:999px;background:var(--ink);box-shadow:0 1px 3px #0000002e}.color-picker-line input[type=range]::-moz-range-track{height:10px;border:1px solid var(--line);border-radius:999px;background:var(--range-track, var(--panel-deep))}.color-picker-line input[type=range]::-moz-range-thumb{width:16px;height:16px;border:2px solid #fff;border-radius:999px;background:var(--ink);box-shadow:0 1px 3px #0000002e}.color-picker-hex-line{margin-top:4px}.color-picker-hex-line input{min-width:0;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft);font:inherit}.color-picker-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.color-picker-chip{width:24px;height:24px;margin:0;padding:0;border:1px solid var(--line);border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff1f}.color-picker-chip:hover{transform:translateY(-1px)}.layer-toolbar{display:flex;gap:6px;background:var(--panel-soft);border:1px solid var(--line);border-radius:6px;padding:4px;justify-content:space-between;margin-top:4px}.layer-toolbar button{display:inline-flex;align-items:center;justify-content:center;flex:1;height:32px;padding:0!important;margin:0!important;border:none!important;background:transparent!important;border-radius:4px;color:var(--ink);transition:background .12s,color .12s}.layer-toolbar button:hover{background:var(--panel-deep)!important;color:var(--ink)}.danger-btn{width:100%;color:#fff!important;background:var(--danger)!important;border-color:var(--danger)!important;margin:8px 0 4px!important}.danger-btn:hover{background:#a03c47!important}.secondary-btn{width:100%;border-color:var(--line)!important;margin:8px 0 4px!important}.w-full{width:100%}.viewport-container{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;background:#181917;box-shadow:0 12px 42px #0006;max-width:100%;max-height:100%;box-sizing:border-box}.viewport-handle{position:absolute;background:#191a18db;border:1px solid #4b4c47;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;z-index:10;transition:all .15s ease}.viewport-handle:hover{background:var(--lime);border-color:var(--lime)}.viewport-handle-r{top:50%;right:-8px;transform:translateY(-50%);width:10px;height:48px;border-radius:4px;cursor:ew-resize}.viewport-handle-r:after{content:"";width:2px;height:16px;border-left:1px double #c8c7c2;border-right:1px double #c8c7c2}.viewport-handle-r:hover:after{border-color:var(--ink)}.viewport-handle-b{left:50%;bottom:-8px;transform:translate(-50%);width:48px;height:10px;border-radius:4px;cursor:ns-resize}.viewport-handle-b:after{content:"";width:16px;height:2px;border-top:1px double #c8c7c2;border-bottom:1px double #c8c7c2}.viewport-handle-b:hover:after{border-color:var(--ink)}.viewport-handle-corner{right:-8px;bottom:-8px;width:16px;height:16px;border-radius:4px;cursor:nwse-resize}.viewport-handle-corner:after{content:"";width:8px;height:8px;border-right:2px solid #c8c7c2;border-bottom:2px solid #c8c7c2}.viewport-handle-corner:hover:after{border-color:var(--ink)}.blueprint{grid-row:3;grid-column:1 / -1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-top:1px solid #3a3b38;background:var(--ink);color:#f6f3ea}.blueprint .panel-title{padding:10px 16px 6px;color:#f6f3ea;border-bottom:1px solid #2d2e2a;background:var(--ink)}.blueprint .panel-title b{font-size:14px}.blueprint-canvas{min-height:0;overflow:auto;padding:10px 16px}.blueprint-flow{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;gap:12px;width:max-content;min-width:100%}.blueprint-empty{display:grid;gap:4px;width:min(420px,100%);padding:14px;color:#aaa9a3;border:1px dashed #464742;border-radius:8px;background:#242522}.blueprint-empty b{color:#f4f1e9;font-size:13px}.node{position:relative;display:grid;align-content:start;min-width:154px;max-width:260px;min-height:72px;padding:9px 10px;border:1px solid #3d3e39;border-radius:7px;background:#242522;box-shadow:none}.node:not(:last-child):after{position:absolute;top:50%;right:-12px;width:12px;height:1px;content:"";background:#5c5e55}.node-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0}.node b,.node span{display:block}.node small{display:inline-flex;margin:0;padding:2px 6px;color:#c4c3bc;border-radius:999px;background:#343631;font-size:10px;font-weight:800}.node b{min-width:0;overflow:hidden;color:#f5f2ea;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.node span{margin-top:7px;overflow:hidden;color:#a8a9a3;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.trigger-node{border-color:#565850}.trigger-node small{color:#d7d6d0}.action-node{border-color:#626b40;background:#25271f}.action-node small{color:var(--lime);background:#333825}.add-also{min-width:118px;min-height:54px;align-content:center;color:#d7d6d0;border-style:dashed;background:#22231f}.add-also:after{top:50%}.node.status-node.ready{border-color:#738c35}.node.status-node.broken{border-color:#ad4b57;background:#2a2223}.node.status-node.warning{border-color:#a88b25}.status-node{min-width:210px;max-width:430px}.status-node.ready small{color:#cbe975;background:#303824}.status-node.broken small{color:#ffb1b9;background:#3a2629}.node-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;opacity:.72;transition:opacity .12s ease}.node:hover .node-actions,.status-node .node-actions{opacity:1}.node-actions button{margin:0;min-height:26px;padding:0 8px;border-color:#474842;background:#2e2f2b;color:#deddd7;font-size:11px}.action-node .node-actions{position:absolute;top:6px;right:6px;margin:0;opacity:0}.action-node:hover .node-actions{opacity:1}.action-node .node-actions button{width:26px;min-height:26px;padding:0}.action-node .node-actions span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.repair-actions{max-width:410px}.trace-panel{min-height:42px;padding:8px 16px 10px;border-top:1px solid #2d2e2a}.trace-empty,.trace-heading{display:flex;align-items:center;gap:8px;color:#989992;font-size:12px}.trace-heading{justify-content:space-between;margin-bottom:6px}.trace-heading b{color:#f4f1e9}.trace-row{justify-content:space-between;gap:12px;margin-top:6px;padding:8px 10px;border-radius:6px;background:var(--ink-2);font-size:12px}.trace-main{display:grid;gap:3px;min-width:0}.trace-error{color:#ffb0b0;overflow-wrap:anywhere}.trace-row.fulfilled{color:var(--lime)}.trace-row.rejected{color:#ff8a8a}dialog{width:min(640px,92vw);color:var(--ink);border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 28px 80px #0000006b;padding:20px 24px}dialog::backdrop{background:#0000009e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog header,dialog footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}dialog footer{margin:18px 0 0}dialog header b{font-size:18px}dialog header button[value=cancel]{width:28px;height:28px;border-radius:6px;border:1px solid #d5d0c5;background:var(--panel-soft);color:#79766f;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0}dialog header button[value=cancel]:hover{background:#fff1f2;color:#8f2632;border-color:#d7a9ad}dialog label{display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:center;margin:13px 0;color:#79766f;font-size:12px;font-weight:700}dialog label input,dialog label select,dialog label textarea{width:100%}.select-with-pick{display:flex;gap:8px;width:100%;align-items:center}.select-with-pick select{flex:1}.select-with-pick button{flex:0 0 36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin:0;border:1px solid #d5d0c5;border-radius:6px;background:var(--panel-soft);color:#79766f;transition:all .15s ease}.select-with-pick button:hover{background:#fff;border-color:#838078;color:var(--ink);box-shadow:0 3px 8px #0000000f}#outcomeCards{display:grid;gap:12px;margin:16px 0}.sentence-preview{margin-top:14px;padding:12px 14px;border:1px solid #d5d0c5;border-radius:8px;background:var(--panel-soft);color:#615f58;line-height:1.6}.preview-highlight{color:var(--ink);font-weight:700;padding:2px 5px;border-radius:4px;background:var(--panel-deep);font-size:12px}.preview-highlight.action-label{background:#d9ff432e;color:#586c0e;border-bottom:2px solid var(--lime);border-radius:4px 4px 0 0}.preview-highlight.trigger-source{background:#315a711a;color:var(--blue)}.preview-highlight.action-target{background:#ff6d3a1a;color:var(--orange)}.preview-placeholder{color:var(--muted);font-style:italic}.outcome-tabs{display:flex;gap:4px;padding:3px;border:1px solid #d5d0c5;border-radius:8px;background:var(--panel-deep);margin-bottom:14px}.outcome-tab-btn{flex:1;height:32px;font-size:12px;font-weight:700;color:#79766f;border-radius:6px;background:transparent;transition:all .15s ease;border:0;padding:0;margin:0;display:flex;align-items:center;justify-content:center}.outcome-tab-btn.active{color:var(--ink);background:var(--panel-soft);box-shadow:0 2px 6px #0000000f}.outcome-tab-btn:hover:not(.active){color:var(--ink);background:#fff6}.outcome-group{display:grid;grid-template-columns:94px minmax(0,1fr);gap:8px;align-items:start}.outcome-group>span{color:#959189;font-size:12px;font-weight:800;letter-spacing:0;text-transform:none;padding-top:6px}.outcome-cards-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.outcome-card{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:64px;padding:12px 14px;border:1px solid #d5d0c5;border-radius:8px;background:var(--panel-soft);text-align:left;cursor:pointer;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.outcome-card:hover{border-color:#838078;background:#fff;box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.outcome-card.active{border-color:#556b06;background:#f7ffe0;box-shadow:0 0 0 1px #556b06,0 6px 16px #556b061f;transform:translateY(-1px)}.outcome-card i,.outcome-card svg{flex:0 0 16px;width:16px;height:16px;margin-top:2px;color:#79766f;transition:color .2s}.outcome-card.active i,.outcome-card.active svg{color:#3f520a}.outcome-card-content{flex:1;min-width:0}.active-badge{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--accent);color:var(--ink);box-shadow:0 2px 5px #0000001a}.active-badge svg{width:10px;height:10px;margin-top:0!important;color:var(--ink)!important}.outcome-card b{display:block;font-size:13px;font-weight:700;color:var(--ink)}.outcome-card small{display:block;margin-top:5px;color:#79766f;line-height:1.4;font-size:11px}#toast{position:fixed;right:16px;bottom:16px;z-index:100;max-width:430px;padding:11px 14px;color:#f6f3ea;border:1px solid var(--line-dark);border-radius:8px;background:var(--ink-2);box-shadow:0 18px 45px #00000047;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1}@media(max-width:1180px){#app{--left-width: 300px;--right-width: 320px}.topbar{grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);gap:10px}.topbar-actions{gap:4px}.tool-button,.topbar-actions button:not(.primary){padding:0 8px}#saveState{display:none}}@media(max-width:1320px){.topbar{grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr)}.topbar-actions .tool-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar-actions .tool-button{width:36px;padding:0}}@media(max-width:900px){body{min-width:0}#app{grid-template:42px 1fr 220px / 240px minmax(0,1fr)}.brand-copy span,#saveState,#testActive{display:none}.topbar{grid-template-columns:auto 1fr auto}#projectName{display:none}.mode-switch{justify-self:start}.inspector{display:none}}#app.connecting{grid-template-rows:42px minmax(0,1fr) 420px!important}.node.draft{max-width:min(580px,90vw);width:min(580px,90vw);min-height:120px;padding:16px 20px;background:#1c1d1a;border:1px dashed var(--accent);box-shadow:0 8px 32px #0006;grid-column:span 1}.node.draft #connectForm{display:block;width:100%}.node.draft #connectForm header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:#f6f3ea;border-bottom:1px solid #3d3e39;padding-bottom:8px}.node.draft #connectForm header b{font-size:14px}.node.draft #connectForm label{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;margin:10px 0;color:#aaa9a3;font-size:11px;font-weight:700}.node.draft #connectForm input,.node.draft #connectForm select,.node.draft #connectForm textarea{height:30px;background:#242522;border:1px solid #4b4c47;color:#f6f3ea;border-radius:6px;padding:0 8px;font-size:12px}.node.draft #connectForm textarea{min-height:62px;padding:8px;resize:vertical}.node.draft #connectForm input:focus,.node.draft #connectForm select:focus,.node.draft #connectForm textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #d9ff4326}.node.draft .action-settings{margin-top:12px;padding:12px;border:1px solid #3d3e39;border-radius:8px;background:#171814}.node.draft .action-settings-head{display:grid;gap:4px;margin-bottom:10px}.node.draft .action-settings-head b{color:#f6f3ea;font-size:12px}.node.draft .action-settings-head span,.node.draft .action-settings-empty{color:#aaa9a3;font-size:10px;line-height:1.45}.node.draft .action-settings-body{display:grid;gap:8px}.node.draft .action-settings-body label{margin:0}.node.draft .action-settings-empty{padding:8px 10px;border-radius:6px;background:#242522}.node.draft .outcome-tabs{background:#191a18;border:1px solid #3d3e39;margin-bottom:10px}.node.draft .outcome-tab-btn{color:#8a8e85}.node.draft .outcome-tab-btn.active{color:#f6f3ea;background:#242522}.node.draft .outcome-tab-btn:hover:not(.active){color:#f6f3ea;background:#ffffff0d}.node.draft .outcome-card{background:#242522;border-color:#3d3e39;min-height:52px;padding:8px 10px;gap:8px}.node.draft .outcome-card b{color:#f6f3ea;font-size:12px}.node.draft .outcome-card small{color:#aaa9a3;font-size:10px;margin-top:2px}.node.draft .outcome-card:hover{background:#2d2f2a;border-color:#5c5e55}.node.draft .outcome-card.active{background:#2d2f2a;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.node.draft .outcome-card i,.node.draft .outcome-card svg{color:#aaa9a3}.node.draft .outcome-card.active i,.node.draft .outcome-card.active svg{color:var(--accent)}.node.draft #connectForm footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;border-top:1px solid #3d3e39;padding-top:10px}.node.draft #connectForm footer button{height:28px;padding:0 12px;font-size:11px;font-weight:700;border:1px solid #3d3e39;border-radius:6px;background:#242522;color:#f6f3ea;margin:0}.node.draft #connectForm footer button:hover{background:#2d2f2a;border-color:#5c5e55}.node.draft #connectForm footer button.primary{background:var(--accent);color:var(--ink);border:0}.node.draft #connectForm footer button.primary:hover{background:#e4ff79}.node.draft #connectForm header button[type=button]{width:22px;height:22px;border-radius:4px;border:1px solid #3d3e39;background:#242522;color:#aaa9a3;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0}.node.draft #connectForm header button[type=button]:hover{background:#ff7d7d;color:#1a0000;border-color:#ffb1b9}.node.draft .sentence-preview{background:#191a18;border-color:#3d3e39;color:#aaa9a3;font-size:11px;padding:8px 10px}.node.draft .preview-highlight{background:#242522;color:#f6f3ea}.node.draft .preview-highlight.action-label{background:#d9ff431f;color:var(--accent)}.node.draft .preview-highlight.trigger-source{background:#315a7126;color:#7ab3d2}.node.draft .preview-highlight.action-target{background:#ff6d3a26;color:#ff946d}.node.draft .when-picker-section{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:4px 0}.node.draft .when-picker-section span{font-size:11px;font-weight:700;color:#aaa9a3}.node.draft .when-pills{display:inline-flex;gap:4px}.node.draft .when-pills button{height:28px;padding:0 10px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid #3d3e39;background:#242522;color:#aaa9a3;cursor:pointer;transition:all .15s ease}.node.draft .when-pills button:hover{background:#2d2f2a;color:#f6f3ea;border-color:#5c5e55}.node.draft .when-pills button.active{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:700}.node.draft .hidden-event-select,.node.draft .hidden-action-select,.node.draft #connectForm>label:nth-of-type(2),.node.draft #connectForm>label:nth-of-type(1){position:absolute!important;left:-9999px!important;top:-9999px!important;width:120px!important;height:30px!important;opacity:.01!important;display:block!important}.node.draft .select-with-pick button{height:30px;width:30px;background:#242522;border:1px solid #4b4c47;color:#aaa9a3}.node.draft .select-with-pick button:hover{background:#2d2f2a;border-color:#5c5e55;color:#f6f3ea}.picking-target-indicator{display:flex;align-items:center;gap:14px;background:#242522;border:1px dashed var(--accent);border-radius:8px;padding:12px 16px;position:relative;overflow:hidden}.picking-target-pulse{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent);animation:bar-pulse 2s infinite ease-in-out}.picking-target-indicator i,.picking-target-indicator svg{color:var(--accent);width:24px;height:24px;flex-shrink:0;animation:mouse-pulse 1.5s infinite ease-in-out}.picking-target-text{display:flex;flex-direction:column;gap:2px;flex-grow:1}.picking-target-text b{font-size:13px;color:#f6f3ea}.picking-target-text span{font-size:11px;color:#aaa9a3;margin:0}.cancel-picking-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:#1c1d1a;border:1px solid #3d3e39;border-radius:6px;color:#f6f3ea;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease}.cancel-picking-btn:hover{background:#ff7d7d;color:#1a0000;border-color:#ffb1b9}.cancel-picking-btn i,.cancel-picking-btn svg{width:12px;height:12px;color:inherit!important;animation:none!important}@keyframes bar-pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes mouse-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1;filter:drop-shadow(0 0 4px rgba(217,255,67,.4))}}#app.picking-target{cursor:crosshair!important}#app.picking-target #stage{outline:2px solid rgba(217,255,67,.3)!important;outline-offset:-2px}#app.picking-target .ui-node.pickable{cursor:pointer!important;outline:2px dashed var(--accent)!important;box-shadow:0 0 0 6px #d9ff4326!important;animation:pickable-pulse 1.5s infinite ease-in-out}#app.picking-target .ui-node.incompatible{pointer-events:none!important;opacity:.15!important}@keyframes pickable-pulse{0%,to{outline-color:#d9ff4380;box-shadow:0 0 0 2px #d9ff431a}50%{outline-color:#d9ff43;box-shadow:0 0 0 6px #d9ff4340}}#app.picking-camera-focus{cursor:crosshair!important}#app.picking-camera-focus #stage{cursor:crosshair!important;outline:2px solid rgba(217,255,67,.45)!important;outline-offset:-2px}#app.picking-camera-focus #stage:after{content:"Click model surface to set DOF focus | Esc to cancel";position:absolute;left:50%;bottom:22px;z-index:8;transform:translate(-50%);padding:8px 12px;border:1px solid rgba(217,255,67,.45);border-radius:7px;background:#242522eb;color:#f6f3ea;font-size:12px;font-weight:800;pointer-events:none}#app.picking-camera-focus #stage:after{display:none}.camera-focus-pick-overlay{position:absolute;left:50%;bottom:22px;z-index:7;display:grid;grid-template-columns:auto minmax(210px,1fr) auto;align-items:center;gap:12px;width:min(520px,calc(100% - 36px));transform:translate(-50%);padding:11px 12px;border:1px solid rgba(217,255,67,.55);border-radius:8px;background:#1c1d1af0;color:#f6f3ea;box-shadow:0 18px 50px #00000047;pointer-events:auto}.camera-focus-pick-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:var(--accent);color:var(--ink)}.camera-focus-pick-icon svg{width:18px;height:18px}.camera-focus-pick-copy{display:grid;gap:2px;min-width:0}.camera-focus-pick-copy b{font-size:13px}.camera-focus-pick-copy span,.camera-focus-pick-copy small{color:#cbc9c1;font-size:11px;line-height:1.35}.camera-focus-pick-copy small{color:#9f9d94}.camera-focus-pick-overlay button{min-height:30px;margin:0;padding:0 10px;border-color:#55574f;color:#f6f3ea;background:#242522}.anchor-line-x{position:absolute;top:50%;height:0;border-top:1.5px dashed var(--orange);pointer-events:none;z-index:10;opacity:0}.anchor-line-y{position:absolute;left:50%;width:0;border-left:1.5px dashed var(--orange);pointer-events:none;z-index:10;opacity:0}.anchor-line-dot{position:absolute;width:6px;height:6px;background:var(--orange);border-radius:50%;transform:translate(-50%,-50%);opacity:0}.panel-toggle{position:absolute;z-index:100;display:flex;align-items:center;justify-content:center;border:1px solid #4b4c47;background:#191a18d1;color:#deddd8;cursor:pointer;box-shadow:0 4px 14px #0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .22s cubic-bezier(.4,0,.2,1);padding:0}.panel-toggle:hover{background:var(--lime);color:var(--ink);border-color:var(--lime);box-shadow:0 4px 18px #d9ff4359}.panel-toggle svg,.panel-toggle i{width:14px;height:14px;flex:0 0 auto}.panel-toggle-left{left:0;top:50%;transform:translateY(-50%);width:14px;height:52px;border-left:0;border-radius:0 8px 8px 0}.panel-toggle-left:hover{width:20px}.panel-toggle-right{right:0;top:50%;transform:translateY(-50%);width:14px;height:52px;border-right:0;border-radius:8px 0 0 8px}.panel-toggle-right:hover{width:20px}.panel-toggle-bottom{bottom:0;left:50%;transform:translate(-50%);width:52px;height:14px;border-bottom:0;border-radius:8px 8px 0 0}.panel-toggle-bottom:hover{height:20px}.segmented-control{display:flex;background:var(--panel-deep);border:1px solid var(--line);border-radius:6px;padding:2px;width:100%}.segmented-control button{flex:1;min-height:26px!important;margin:0!important;padding:0!important;border:0!important;border-radius:4px!important;background:transparent!important;color:var(--muted)!important;font-size:11px!important;font-weight:700;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.segmented-control button:hover{color:var(--ink)!important;background:var(--panel-soft)!important}.segmented-control button.active{color:var(--ink)!important;background:var(--panel-soft)!important;box-shadow:0 1px 3px #0000001a}.anchor-grid-selector{display:grid;grid-template-rows:repeat(3,12px);grid-template-columns:repeat(3,12px);gap:3px;width:50px;height:50px;padding:4px;background:var(--panel-deep);border:1px solid var(--line);border-radius:6px;justify-content:center;align-content:center}.anchor-grid-cell{width:10px;height:10px;border:1px solid var(--line);border-radius:3px;background:var(--panel-soft);cursor:pointer;transition:all .15s ease}.anchor-grid-cell:hover{background:#ded8ce;border-color:#8d8a82}.anchor-grid-cell.active{background:var(--lime);border-color:var(--ink);box-shadow:0 0 0 2px #d9ff4340}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2379766f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px!important}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}.field-row-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;align-items:start}.field-row-2col .field{margin-bottom:0;grid-template-columns:auto minmax(0,1fr)!important;gap:5px;align-items:center}.field-row-2col .color-field-row{grid-template-columns:auto minmax(0,1fr)!important;gap:5px;margin-bottom:0}.field-row-2col .field span,.field-row-2col .color-field-row>span{min-width:34px;max-width:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-row-2col .color-picker-wrapper{min-width:0;gap:5px;padding:2px 5px}.field-row-2col .color-swatch-preview{width:16px;height:16px;flex-shrink:0}.field-row-2col .color-hex-input{font-size:11px}.field-row-2col input,.field-row-2col select{padding:0 6px!important;font-size:12px}.field-row-2col .segmented-control{width:100%}.field-row-2col .segmented-control button{min-height:24px!important}.field-color-number-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;margin-bottom:10px;align-items:start}.field-color-number-row .color-field-row{grid-template-columns:minmax(0,1fr)!important;row-gap:4px!important;column-gap:0;margin-bottom:0;align-items:stretch}.field-color-number-row .color-field-row>span{min-width:0;height:14px;line-height:14px;white-space:nowrap;overflow:visible;font-size:11px;color:#79766f}.field-color-number-row .color-swatch-preview{width:18px;height:18px;flex-shrink:0}.field-color-number-row .color-picker-trigger{height:36px;min-height:36px}.field-color-number-row .field{margin-bottom:0;display:grid;grid-template-columns:minmax(0,1fr)!important;row-gap:4px;column-gap:0;align-items:stretch}.field-color-number-row .field span{height:14px;line-height:14px;font-size:11px;font-weight:800;color:var(--muted);text-align:left;min-width:0}.field-color-number-row input{padding:0 6px!important;font-size:12px;height:36px}.appearance-number-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;align-items:start}.appearance-number-row .field{margin-bottom:0;display:grid;grid-template-columns:minmax(0,1fr)!important;gap:4px;align-items:stretch}.appearance-number-row .field span{height:14px;line-height:14px;font-size:11px;color:#79766f;white-space:nowrap;overflow:visible}.appearance-number-row .segmented-control{width:100%;height:36px;padding:3px;align-items:center}.appearance-number-row .segmented-control button{height:28px!important;min-height:28px!important;border-radius:5px!important}.appearance-number-row .segmented-control button i,.appearance-number-row .segmented-control button svg{width:14px;height:14px;stroke-width:2}.appearance-number-row input{padding:0 6px!important;font-size:12px;height:36px}.appearance-number-row:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-number-row:first-of-type .segmented-control{justify-content:flex-end}.appearance-number-row:first-of-type .segmented-control button{flex:1 1 0}.stroke-position-row{grid-template-columns:minmax(0,1fr)}.stroke-position-row .segmented-control button{min-width:0;padding:0 8px!important;font-size:11px!important}.effect-shadow-block{display:grid;gap:8px;margin-bottom:12px}.effect-block-title{padding-top:2px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#79766f}.effect-shadow-block .color-field-row{grid-template-columns:minmax(0,1fr)!important;row-gap:4px!important;column-gap:0;margin-bottom:0;align-items:stretch}.effect-shadow-block .color-field-row>span{min-width:0;height:14px;line-height:14px;white-space:nowrap;overflow:visible;font-size:11px;color:#79766f}.effect-shadow-block .color-swatch-preview{width:18px;height:18px;flex-shrink:0}.effect-shadow-block .color-picker-trigger{height:36px;min-height:36px}.effect-shadow-triplet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.effect-shadow-triplet .field{grid-template-columns:14px minmax(0,1fr)!important;gap:5px;margin-bottom:0;align-items:center}.effect-shadow-triplet .field span{height:14px;line-height:14px;font-size:11px;font-weight:800;color:var(--muted);text-align:center;min-width:0}.effect-shadow-triplet input{height:34px;padding:0 5px!important;font-size:12px}.effect-shadow-triplet .field span{line-height:1}.opacity-slider-group{display:grid;grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:10px;width:100%;min-height:36px}.opacity-slider{width:100%;height:18px;border-radius:999px;background:linear-gradient(90deg,var(--ink) 0%,var(--ink) var(--opacity-progress, 0%),transparent var(--opacity-progress, 0%),transparent 100%) 8px 6px / calc(100% - 16px) 6px no-repeat,linear-gradient(90deg,var(--panel-deep),var(--panel-deep)) 8px 6px / calc(100% - 16px) 6px no-repeat;border:0;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;min-width:0;filter:drop-shadow(0 0 0 var(--line))}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ink);border:3px solid var(--panel);box-shadow:0 1px 5px #00000038;transition:transform .1s ease,background .1s ease;cursor:grab}.opacity-slider::-moz-range-thumb{width:16px;height:16px;border:3px solid var(--panel);border-radius:50%;background:var(--ink);box-shadow:0 1px 5px #00000038;cursor:grab}.opacity-slider::-moz-range-track{height:18px;border:0;border-radius:999px;background:transparent}.opacity-slider::-webkit-slider-thumb:hover{transform:scale(1.18);background:var(--lime)}.opacity-slider::-moz-range-thumb:hover{transform:scale(1.18);background:var(--lime)}.opacity-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.12)}.opacity-slider::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.12)}.opacity-input{width:56px!important;height:36px!important;padding:0 5px!important;font-size:12px;text-align:center}.selected-layers-list{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 12px;margin-bottom:14px;border-bottom:1px solid var(--line);max-height:110px;overflow-y:auto}.selected-layer-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--panel-deep);border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:700;color:var(--ink);white-space:nowrap}.selected-layer-badge i,.selected-layer-badge svg{width:12px;height:12px;color:var(--muted)}.multi-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.multi-action-grid button{min-height:32px!important;font-size:11px!important;margin:0!important;font-weight:700!important}.align-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--panel-deep);border-bottom:1px solid var(--line);margin-bottom:12px;border-radius:6px}.align-toolbar button{width:28px;height:28px;padding:0;color:var(--muted);background:transparent;border-radius:4px;transition:all .15s ease}.align-toolbar button:hover{color:var(--ink);background:var(--panel-soft);box-shadow:0 1px 3px #0000001a}.align-toolbar button svg{width:14px;height:14px}
