*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0d0d0d;--bg-secondary: #1a1a1a;--bg-tertiary: #252525;--text-primary: #e0e0e0;--text-secondary: #888888;--accent-primary: #4a9eff;--accent-secondary: #ff6b6b;--border-color: #333333;--canvas-edge-gap: 20px;--floating-control-size: 42px;--floating-control-gap: 8px}html,body{height:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-primary);color:var(--text-primary)}#root{height:100%}.app{display:flex;flex-direction:row;height:100vh;width:100vw;overflow:hidden}.app-header{display:flex;align-items:center;padding:12px 20px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.app-header h1{font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.toolbar-container{display:flex;flex-wrap:wrap;gap:20px;padding:12px 20px;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.toolbar,.toolbar-group{display:flex;align-items:center;gap:8px}.toolbar-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.toolbar-button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s}.toolbar-button:hover:not(:disabled){background-color:#2a2a2a;border-color:#444}.toolbar-button:active:not(:disabled){background-color:#333}.toolbar-button:disabled{opacity:.4;cursor:not-allowed}.toolbar-button-primary{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.toolbar-button-primary:hover:not(:disabled){background-color:#5aa5ff;border-color:#5aa5ff}.toolbar-status{font-size:12px;color:var(--text-secondary);font-style:italic}.workspace{flex:1;min-height:0;display:flex;width:100%;height:100%;background-color:var(--bg-primary);overflow:hidden}.canvas-container{flex:1 1 auto;min-width:420px;position:relative;background-color:var(--bg-primary);overflow:hidden;height:100%}.workspace-divider{flex:0 0 3px;position:relative;background-color:var(--border-color);cursor:col-resize;z-index:40}.workspace-divider:hover,.agent-resizing .workspace-divider{background-color:var(--accent-primary)}.agent-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.agent-pane{flex:0 0 auto;min-width:280px;height:100%}.agent-backdrop{display:none}.editor-canvas{display:block;width:100%;height:100%}.zoom-panel{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:0;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px;z-index:10}.zoom-panel-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:#2a2a2a;border:none;cursor:pointer;transition:background-color .15s}.zoom-panel-button:hover,.zoom-panel-button:active{background-color:#333}.zoom-panel-icon{font-size:20px;font-weight:500;color:var(--text-primary);line-height:1}.zoom-panel-value{display:flex;align-items:center;justify-content:center;min-width:38px;height:32px;padding:0 6px;margin:0 4px;font-size:14px;font-weight:500;color:var(--text-primary);background-color:#1f1f1f;text-align:center;gap:2px;border-radius:4px}.zoom-panel-input{background-color:#1f1f1f;border:none;outline:none;color:var(--text-primary);font-size:14px;font-weight:500;width:32px;text-align:right;padding:0}.zoom-panel-input:focus{background-color:#1f1f1f;border-radius:2px;padding:2px 4px}.simulation-panel{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:4px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px;z-index:10}.agent-side-right.agent-is-collapsed .simulation-panel{right:70px}.simulation-panel-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:#2a2a2a;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s}.simulation-panel-button:hover:not(:disabled){background-color:#333}.agent-panel{width:100%;height:100%;display:flex;flex-direction:column;background-color:#171717;font-size:1rem;overflow:hidden}.agent-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 12px;border-bottom:1px solid var(--border-color);background-color:#1f1f1f}.agent-header h2{font-size:1rem;line-height:1.2;font-weight:650;color:var(--text-primary)}.agent-header-title{display:flex;align-items:center;gap:8px;min-width:0}.agent-header p{margin-top:2px;font-size:1rem;color:var(--text-secondary)}.agent-header-actions{display:flex;align-items:center;gap:6px}.agent-session-cost{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:32px;padding:0 8px;color:#b8dfff;background-color:#162334;border:1px solid #294765;border-radius:6px;font-size:.8125rem;font-weight:650;line-height:1;white-space:nowrap}.agent-session-cost:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.agent-session-cost-tooltip{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:320px;max-width:min(320px,calc(100vw - 24px));padding:8px 10px;color:var(--text-primary);background-color:#111;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #00000059;font-size:.8rem;font-weight:400;line-height:1.35;text-align:left;white-space:normal;pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.agent-session-cost:hover .agent-session-cost-tooltip,.agent-session-cost:focus-visible .agent-session-cost-tooltip{opacity:1;transform:translateY(0)}.agent-cost-tooltip-title{margin-bottom:8px;font-size:.8rem;font-weight:700}.agent-cost-tooltip-summary{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding-bottom:8px;border-bottom:1px solid #2a2a2a}.agent-cost-tooltip-metric,.agent-cost-tooltip-detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.agent-cost-tooltip-metric strong,.agent-cost-tooltip-detail-row strong{font-variant-numeric:tabular-nums;text-align:right}.agent-cost-tooltip-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:9px 0 5px;color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.agent-cost-tooltip-section-title strong{color:var(--text-primary);font-size:.75rem;font-variant-numeric:tabular-nums;letter-spacing:normal;text-transform:none}.agent-cost-tooltip-cost-bar{display:flex;width:100%;height:8px;overflow:hidden;background:#29313b;border-radius:999px}.agent-cost-tooltip-cost-segment{display:block;min-width:0;height:100%}.agent-cost-tooltip-cost-segment-normal-input,.agent-cost-tooltip-swatch-normal-input{background:#65b7ff}.agent-cost-tooltip-cost-segment-cache-read,.agent-cost-tooltip-swatch-cache-read{background:#61d2a4}.agent-cost-tooltip-cost-segment-cache-write,.agent-cost-tooltip-swatch-cache-write{background:#ffb454}.agent-cost-tooltip-cost-segment-visible-output,.agent-cost-tooltip-swatch-visible-output{background:#c38cff}.agent-cost-tooltip-cost-segment-thinking,.agent-cost-tooltip-swatch-thinking{background:#ff8d8d}.agent-cost-tooltip-legend{display:grid;gap:3px;margin-top:5px;color:var(--text-secondary);font-size:.75rem}.agent-cost-tooltip-legend span{display:flex;align-items:center;gap:5px}.agent-cost-tooltip-legend strong{margin-left:auto;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.agent-cost-tooltip-cost-legend span{min-width:0}.agent-cost-tooltip-cost-legend em{font-style:normal}.agent-cost-tooltip-cost-legend strong{color:var(--text-secondary)}.agent-cost-tooltip-swatch{display:inline-block;width:7px;height:7px;flex:0 0 auto;border-radius:50%}.agent-cost-tooltip-detail-row{margin-top:3px}.agent-header-title button,.agent-header-actions button,.agent-composer button,.agent-error button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-primary);background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;transition:background-color .15s,border-color .15s}.agent-header-title button:hover,.agent-header-actions button:hover,.agent-composer button:hover:not(:disabled),.agent-error button:hover{background-color:#333;border-color:#484848}.agent-view-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px 12px;border-bottom:1px solid var(--border-color);background-color:#1b1b1b}.agent-view-toggle button{height:30px;color:var(--text-secondary);background-color:#242424;border:1px solid #333333;border-radius:6px;font:inherit;font-size:.875rem;font-weight:650}.agent-view-toggle button:hover{color:var(--text-primary);background-color:#2d2d2d}.agent-view-toggle .agent-view-toggle-active{color:#dceeff;background-color:#18314a;border-color:#35628d}.agent-test-runner{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}.agent-test-view{display:flex;flex:1;min-height:0}.agent-test-view-hidden{display:none}.agent-test-scroll{display:flex;flex:1;min-height:0;flex-direction:column;gap:12px;padding:12px;overflow-y:auto}.agent-test-scroll>p{margin:0}.agent-test-composer{flex:0 0 auto}.agent-test-case-list{display:flex;flex-direction:column;gap:8px}.agent-test-case{display:flex;width:100%;flex-direction:column;gap:8px;padding:11px 12px;color:var(--text-primary);background-color:#222;border:1px solid #353535;border-radius:8px;font:inherit;text-align:left;transition:background-color .15s,border-color .15s}.agent-test-case:hover:not(:disabled){background-color:#292929;border-color:#4a4a4a}.agent-test-case-selected{background-color:#18314a;border-color:#4778a5;box-shadow:inset 3px 0 #78b7f0}.agent-test-case-selected:hover:not(:disabled){background-color:#1d3955;border-color:#5b8db9}.agent-test-case-heading,.agent-test-case-meta{display:flex;align-items:center}.agent-test-case-heading{justify-content:space-between;gap:10px}.agent-test-case-heading strong{line-height:1.3}.agent-test-case-id{flex:0 0 auto;color:#9a9a9a;font-family:Cascadia Code,Consolas,monospace;font-size:.72rem}.agent-test-case-meta{flex-wrap:wrap;gap:5px 0;color:var(--text-secondary);font-size:.78rem}.agent-test-case-meta span+span:before{margin:0 7px;color:#656565;content:"·"}.agent-test-runner button:hover:not(:disabled){background-color:#333;border-color:#555}.agent-test-runner button:disabled{cursor:default;opacity:.55}.agent-test-run-status{color:var(--text-secondary);font-size:.8rem;line-height:1.35}.agent-test-progress-panel{display:flex;flex:0 0 auto;flex-direction:column;gap:9px;padding:12px;background-color:#1f1f1f}.agent-composer-test-running{border-top:none}.agent-test-progress-topline{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--text-secondary);font-size:.78rem}.agent-test-progress-topline strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:.95rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.agent-test-progress-topline span{flex:0 0 auto;color:var(--text-secondary);text-align:right}.agent-test-progress-bar{height:8px;overflow:hidden;border-radius:999px;background-color:#111}.agent-test-progress-bar span{display:block;height:100%;border-radius:inherit;background-color:var(--accent-primary);transition:width .2s ease}.agent-test-progress-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--text-secondary);font-size:.78rem}.agent-test-cancel-button{flex:0 0 auto;min-width:72px;padding:6px 12px;color:var(--text-primary);background-color:#353535;border:1px solid #555555;border-radius:6px;font:inherit;font-weight:650}.agent-test-cancel-button:hover{background-color:#424242}.agent-notice,.agent-warning{margin:10px 12px 0;padding:9px 10px;border:1px solid #4a3b20;border-radius:6px;background-color:#221b10;color:#e7c77c;font-size:1rem;line-height:1.35}.agent-warning{border-color:#46314a;background-color:#211723;color:#d5addc}.agent-messages{flex:1;overflow-y:auto;padding:12px;scrollbar-color:#4a4a4a #171717;scrollbar-width:thin}.agent-messages-content{display:flex;min-height:100%;flex-direction:column;gap:12px}.agent-messages::-webkit-scrollbar{width:10px}.agent-messages::-webkit-scrollbar-track{background-color:#171717;border-radius:8px}.agent-messages::-webkit-scrollbar-thumb{background-color:#4a4a4a;border:2px solid #171717;border-radius:8px}.agent-messages::-webkit-scrollbar-thumb:hover{background-color:#5a5a5a}.agent-empty{display:flex;flex:1;flex-direction:column;gap:12px;min-height:100%;justify-content:center}.agent-empty-title{color:var(--text-secondary);font-size:1rem;text-align:center}.agent-starters{display:grid;grid-template-columns:1fr;gap:8px}.agent-starters button{width:100%;padding:10px 12px;color:var(--text-primary);background-color:#222;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;line-height:1.3;text-align:left}.agent-starters button:hover{background-color:#2a2a2a;border-color:#454545}.agent-message{display:flex;flex-direction:column}.agent-message-content{color:var(--text-primary);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.62;overflow-wrap:anywhere}.agent-message-content p,.agent-message-content ul,.agent-message-content ol,.agent-message-content blockquote,.agent-message-content pre,.agent-message-content hr,.agent-message-content h1,.agent-message-content h2,.agent-message-content h3,.agent-message-content h4,.agent-message-content h5,.agent-message-content h6{margin:0 0 12px}.agent-message-content>:last-child{margin-bottom:0}.agent-message-content h1,.agent-message-content h2,.agent-message-content h3,.agent-message-content h4,.agent-message-content h5,.agent-message-content h6{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.35}.agent-message-content ul,.agent-message-content ol{padding-left:22px}.agent-message-content li+li{margin-top:6px}.agent-message-content blockquote{padding-left:14px;border-left:2px solid #3d3d3d;color:var(--text-secondary)}.agent-message-content hr{border:0;border-top:1px solid var(--border-color)}.agent-message-content code{padding:2px 5px;border-radius:4px;background-color:#171717;color:#f0d9a8;font-family:Cascadia Code,Consolas,Liberation Mono,monospace;font-size:.92em}.agent-message-content pre{max-width:100%;overflow-x:auto;padding:10px 12px;border:1px solid #333333;border-radius:6px;background-color:#171717}.agent-message-content pre code{display:block;padding:0;background-color:transparent;white-space:pre}.agent-message-content a{color:#8fc7ff;text-decoration:underline;text-underline-offset:2px}.agent-markdown-table-scroll{max-width:100%;margin:0 0 12px;overflow-x:auto}.agent-message-content .agent-markdown-table-scroll:last-child{margin-bottom:0}.agent-message-content table{width:max-content;min-width:100%;border-collapse:collapse;white-space:nowrap}.agent-message-content th,.agent-message-content td{padding:6px 8px;border:1px solid #3d3d3d;text-align:left;vertical-align:top}.agent-message-content th{background-color:#242424;font-weight:700}.agent-message-user{align-items:flex-end}.agent-message-user .agent-message-content{max-width:min(86%,420px);margin:5px 0;padding:10px 11px;border:1px solid #28547c;border-radius:7px;background-color:#19324a;white-space:pre-wrap}.agent-message-assistant{align-items:flex-start}.agent-message-assistant .agent-message-content{max-width:100%;padding:2px 0}.agent-message-row{display:flex;align-items:flex-start;width:100%;gap:6px}.agent-message-assistant .agent-message-row .agent-message-content{flex:1 1 auto;min-width:0}.agent-message-user .agent-message-row{justify-content:flex-end}.agent-message-user .agent-message-row .agent-message-content{flex:0 1 auto}.agent-message-copy{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;padding:0;border:0;background:transparent;color:var(--text-secondary);line-height:1;opacity:.55;transition:opacity .12s ease,color .12s ease}.agent-message-copy:hover{color:var(--text-primary);opacity:1}.agent-message-copy svg{display:block;width:.95rem;height:.95rem}.agent-message-copy:focus-visible{opacity:1;outline:2px solid #4e89c5;outline-offset:3px}.agent-loading{padding:2px 0;color:var(--text-secondary);font-size:1rem;font-style:italic}.agent-error{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;color:#ffd2d2;background-color:#301818;border:1px solid #693030;border-radius:6px;font-size:1rem;line-height:1.35}.agent-error button{width:auto;min-width:78px;gap:6px;padding:0 10px;flex:0 0 auto}.agent-composer{display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid var(--border-color);background-color:#1f1f1f}.agent-composer-input-row{display:flex}.agent-composer textarea{width:100%;min-height:calc(2.7rem + 22px);max-height:calc(13.5rem + 22px);resize:none;padding:10px;color:var(--text-primary);background-color:#111;border:1px solid var(--border-color);border-radius:6px;font:inherit;font-size:1rem;line-height:1.35}.agent-composer textarea:focus{outline:none;border-color:var(--accent-primary)}.agent-composer-controls-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.agent-context-control-group{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.agent-model-select{flex:0 1 150px;width:150px;min-width:0;max-width:100%;height:28px;padding:0 7px;overflow:hidden;color:var(--text-secondary);background-color:#111;border:1px solid var(--border-color);border-radius:5px;font:inherit;font-size:.75rem;text-overflow:ellipsis}.agent-model-select:disabled{cursor:not-allowed;opacity:.75}.agent-composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.agent-context-meter{--agent-context-percent: 0%;position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at center,#1f1f1f 56%,transparent 58%),conic-gradient(var(--accent-primary) var(--agent-context-percent),#3a3a3a 0)}.agent-context-meter:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.agent-context-meter-tooltip{position:absolute;left:0;bottom:calc(100% + 8px);z-index:20;width:320px;max-width:min(320px,calc(100vw - 24px));padding:8px 10px;color:var(--text-primary);background-color:#111;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #00000059;font-size:.8rem;font-weight:400;line-height:1.35;text-align:left;white-space:normal;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}.agent-context-meter:hover .agent-context-meter-tooltip,.agent-context-meter:focus-visible .agent-context-meter-tooltip{opacity:1;transform:translateY(0)}.agent-context-tooltip-swatch-instructions{background:#8fb3ff}.agent-context-tooltip-swatch-world{background:#61d2a4}.agent-context-tooltip-swatch-conversation{background:#b4a7ff}.agent-context-tooltip-swatch-prompt{background:#ffb454}.agent-context-tooltip-swatch-selection{background:#c38cff}.agent-context-tooltip-swatch-tool-results{background:#ff8d8d}.agent-context-tooltip-swatch-tools{background:#65b7ff}.agent-context-tooltip-swatch-overhead{background:#737b87}.agent-context-tooltip-progress-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:.75rem}.agent-context-tooltip-progress-summary strong{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.agent-context-tooltip-progress-bar{display:flex;width:100%;height:8px;margin-top:5px;overflow:hidden;background:#29313b;border-radius:999px}.agent-context-tooltip-progress-fill{display:block;height:100%;background:var(--accent-primary);border-radius:inherit}.agent-context-tooltip-legend em{font-style:normal}.agent-context-tooltip-empty{margin-top:7px;color:var(--text-secondary);font-size:.7rem}.agent-composer button{flex:0 0 auto;width:36px;height:36px;background-color:var(--accent-primary);border-color:var(--accent-primary)}.agent-composer .agent-submit-button{width:32px;height:32px}.agent-composer .agent-test-run-button{width:auto;min-width:56px;padding:0 12px;font:inherit;font-weight:650}.agent-composer button:disabled{opacity:.45}.agent-traffic{display:flex;flex:1;min-height:0;flex-direction:column;gap:8px;padding:10px 12px 12px;overflow:hidden}.agent-traffic-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px}.agent-traffic-toolbar input,.agent-traffic-toolbar select{min-width:0;height:32px;padding:0 8px;color:var(--text-primary);background-color:#111;border:1px solid var(--border-color);border-radius:6px;font:inherit;font-size:.875rem}.agent-traffic-toolbar input:focus,.agent-traffic-toolbar select:focus{outline:none;border-color:var(--accent-primary)}.agent-traffic-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.agent-traffic-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-width:0;padding:0 8px;color:var(--text-primary);background-color:#242424;border:1px solid var(--border-color);border-radius:6px;font:inherit;font-size:.8125rem;font-weight:650}.agent-traffic-actions button:hover:not(:disabled){background-color:#303030;border-color:#484848}.agent-traffic-actions button:disabled{opacity:.45}.agent-traffic-copy-status{padding:7px 8px;color:#b8dfff;background-color:#162334;border:1px solid #294765;border-radius:6px;font-size:.8125rem;line-height:1.3}.agent-traffic-list{display:flex;flex:0 0 auto;max-height:34%;min-height:104px;flex-direction:column;gap:6px;overflow-y:auto;padding-right:2px;scrollbar-color:#4a4a4a #171717;scrollbar-width:thin}.agent-traffic-row{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;width:100%;padding:8px;color:var(--text-primary);background-color:#202020;border:1px solid #343434;border-radius:6px;font:inherit;text-align:left}.agent-traffic-row:hover{background-color:#272727;border-color:#474747}.agent-traffic-row-selected{border-color:#4e89c5;background-color:#1c2a36}.agent-traffic-row-error{border-color:#643333}.agent-traffic-row-blocked{border-color:#6a4a22}.agent-traffic-row-pending{border-color:#3f4b5a}.agent-traffic-row-main,.agent-traffic-row-title,.agent-traffic-row-meta{display:flex;min-width:0}.agent-traffic-row-main{flex-direction:column;gap:3px}.agent-traffic-row-title{align-items:center;gap:6px}.agent-traffic-status{flex:0 0 auto;padding:2px 5px;border-radius:4px;background-color:#303030;color:var(--text-primary);font-size:.6875rem;font-weight:750;line-height:1.1;text-transform:uppercase}.agent-traffic-model,.agent-traffic-row-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-traffic-model{color:var(--text-primary);font-size:.8125rem;font-weight:650}.agent-traffic-row-summary{color:var(--text-secondary);font-size:.8125rem}.agent-traffic-row-meta{flex-wrap:wrap;gap:5px 8px;color:#9b9b9b;font-size:.75rem;line-height:1.2}.agent-traffic-details{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden;border:1px solid #343434;border-radius:6px;background-color:#171717}.agent-traffic-tabs{display:flex;flex:0 0 auto;gap:4px;overflow-x:auto;padding:6px;border-bottom:1px solid #303030}.agent-traffic-tabs button{flex:0 0 auto;height:28px;padding:0 8px;color:var(--text-secondary);background-color:transparent;border:1px solid transparent;border-radius:5px;font:inherit;font-size:.8125rem}.agent-traffic-tabs button:hover,.agent-traffic-tabs .agent-traffic-tab-selected{color:var(--text-primary);background-color:#272727;border-color:#404040}.agent-traffic-detail-panel{flex:1;min-height:0;overflow:auto;padding:8px}.agent-traffic-overview{display:grid;grid-template-columns:minmax(88px,.45fr) minmax(0,1fr);gap:7px 10px;margin:0;font-size:.8125rem;line-height:1.35}.agent-traffic-detail-row{display:contents}.agent-traffic-detail-row dt{color:var(--text-secondary)}.agent-traffic-detail-row dd{min-width:0;margin:0;color:var(--text-primary);overflow-wrap:anywhere}.agent-traffic-json{min-height:100%;margin:0;padding:8px;overflow:auto;color:#f2f2f2;background-color:#101010;border:1px solid #2f2f2f;border-radius:5px;font-family:Cascadia Code,Consolas,Liberation Mono,monospace;font-size:.75rem;line-height:1.45;white-space:pre}.agent-traffic-workflow{display:flex;flex-direction:column;gap:8px}.agent-traffic-workflow h3{margin:0;color:var(--text-secondary);font-size:.8125rem;line-height:1.2}.agent-traffic-empty{padding:12px;color:var(--text-secondary);font-size:.875rem;line-height:1.35;text-align:center}@media (max-width: 900px){.canvas-container{min-width:280px}}.simulation-panel-button:active:not(:disabled){background-color:#3a3a3a}.simulation-panel-button:disabled{opacity:.4;cursor:not-allowed}.simulation-panel-button-primary{background-color:var(--accent-primary)}.simulation-panel-button-primary:hover:not(:disabled){background-color:#5aa5ff}.simulation-panel-icon{font-size:16px;font-weight:500;color:var(--text-primary);line-height:1}.simulation-panel-button-primary .simulation-panel-icon{color:#fff}.undo-redo-panel{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:4px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px;z-index:10}.undo-icon{transform:rotate(180deg)}.undo-redo-panel .simulation-panel-icon{font-size:26px}.agent-open-button{position:absolute;top:var(--canvas-edge-gap);right:var(--canvas-edge-gap);display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;color:var(--text-primary);background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;z-index:10;transition:background-color .15s,border-color .15s}.agent-open-button:hover{background-color:#333;border-color:#484848}.agent-side-left .agent-open-button{right:auto;top:calc(var(--canvas-edge-gap) + var(--floating-control-size) + var(--floating-control-gap));left:var(--canvas-edge-gap)}.agent-open-button .simulation-panel-icon{font-size:18px}.selection-panel-container{position:absolute;top:88px;left:var(--canvas-edge-gap);display:flex;align-items:flex-start;gap:8px;z-index:9}.agent-side-left.agent-is-collapsed .selection-panel-container{top:calc(var(--canvas-edge-gap) + (var(--floating-control-size) * 2) + (var(--floating-control-gap) * 2))}.selection-panel{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px}.shape-order-panel{display:flex;flex-direction:column;align-items:center;gap:4px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px}.shape-order-panel .shape-order-icon{font-size:20px}.shape-rotate-panel{display:flex;flex-direction:column;align-items:center;gap:4px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px}.shape-rotate-panel .shape-rotate-icon{font-size:20px}.shape-align-panel{display:flex;align-items:center;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px}.shape-align-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.shape-align-icon{font-size:20px}.selection-panel-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:#2a2a2a;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s}.selection-panel-button:hover:not(:disabled){background-color:#333}.selection-panel-button:active:not(:disabled){background-color:#3a3a3a}.selection-panel-button:disabled{opacity:.4;cursor:not-allowed}.selection-panel-icon{font-size:16px;font-weight:500;color:var(--text-primary);line-height:1}.selection-panel-button-active{background-color:var(--accent-primary)!important}.selection-panel-button-active .selection-panel-icon{color:#fff}.color-picker-popup{position:absolute;top:0;left:calc(100% + 8px);background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:8px;box-shadow:0 4px 12px #0000004d;z-index:11}.color-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;width:128px}.color-picker-button{width:27px;height:27px;padding:0;border:2px solid var(--border-color);border-radius:4px;cursor:pointer;transition:transform .1s,border-color .15s}.color-picker-button:hover{transform:scale(1.1);border-color:var(--text-primary)}.color-picker-button:active{transform:scale(.95)}.color-picker-button-selected{border:3px solid #ffffff!important;box-shadow:0 0 0 1px var(--border-color),0 0 4px #ffffff80}.properties-panel-popup{position:absolute;top:0;left:calc(100% + 8px);background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:5px;box-shadow:0 4px 12px #0000004d;z-index:11;min-width:270px;max-width:330px}.shape-triggers-panel-popup{width:330px;min-width:330px;max-width:330px}.shape-triggers-panel-popup>.properties-panel>.properties-panel-subpanel>.properties-panel-subpanel-content .properties-panel-field-inline{display:grid;grid-template-columns:102px minmax(0,1fr);column-gap:8px}.shape-triggers-panel-popup>.properties-panel>.properties-panel-subpanel>.properties-panel-subpanel-content .properties-panel-field-inline label{min-width:0}.shape-triggers-panel-popup>.properties-panel>.properties-panel-subpanel>.properties-panel-subpanel-content .trigger-summary-label-cell{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px}.shape-triggers-panel-popup>.properties-panel>.properties-panel-subpanel>.properties-panel-subpanel-content .properties-panel-field-inline input[type=text],.shape-triggers-panel-popup>.properties-panel>.properties-panel-subpanel>.properties-panel-subpanel-content .properties-panel-field-inline select{width:auto;min-width:0;flex:1;margin-left:0}.shape-triggers-panel-popup>.properties-panel>.properties-panel-subpanel>.properties-panel-subpanel-content .trigger-summary-control,.shape-triggers-panel-popup>.properties-panel>.properties-panel-subpanel>.properties-panel-subpanel-content .trigger-summary-control-with-action{width:auto;min-width:0;flex:1;margin-left:0}.collider-menu-popup{min-width:auto;padding:4px}.collider-menu-options{display:flex;flex-direction:column;gap:2px}.collider-menu-option{display:flex;align-items:center;padding:6px 12px;font-size:13px;text-align:left;background:transparent;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;white-space:nowrap}.collider-menu-option:hover:not(:disabled){background-color:#333}.collider-menu-option:disabled{opacity:.4;cursor:not-allowed}.properties-panel{display:flex;flex-direction:column;gap:12px}.properties-panel-subpanel{display:flex;flex-direction:column;border:1px solid #666666;border-radius:4px;overflow:hidden}.properties-panel-subpanel-expanded{border-color:#666}.properties-panel-subpanel-header{padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.properties-panel-subpanel-content{display:flex;flex-direction:column;gap:6px;padding:8px}.properties-panel-section{display:flex;flex-direction:column;gap:6px}.properties-panel-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.properties-panel-row{display:flex;gap:8px;align-items:flex-start}.properties-panel-field{flex:1;display:flex;flex-direction:column;gap:4px}.properties-panel-field label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.properties-panel-field-inline{flex:1;display:flex;flex-direction:row;align-items:center;gap:8px}.properties-panel-field-inline label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;min-width:20px;flex-shrink:0}.properties-panel-field-inline input[type=text]{width:120px;padding:6px 8px;font-size:13px;font-weight:500;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px;text-align:right;margin-left:auto;transition:border-color .15s,background-color .15s}.properties-panel-field-inline input[type=text]:focus{outline:none;border-color:var(--accent-primary);background-color:var(--bg-secondary)}.properties-panel-field-inline input[type=text]:hover:not(:disabled){border-color:#2a2a2a}.properties-panel-field-inline input[type=text]:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-tertiary)}.properties-panel-field-inline select{width:120px;padding:6px 8px;font-size:13px;font-weight:500;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px;text-align:left;margin-left:auto;transition:border-color .15s,background-color .15s;cursor:pointer}.properties-panel-field-inline select:focus{outline:none;border-color:var(--accent-primary);background-color:var(--bg-secondary)}.properties-panel-field-inline select:hover:not(:disabled){border-color:#2a2a2a}.trigger-summary-control{width:120px;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px}.trigger-summary-control-with-action{width:154px}.trigger-summary-input{min-width:0;flex:1;width:120px;min-height:28px;padding:6px 8px;overflow:hidden;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;line-height:16px;text-align:left;text-overflow:ellipsis;white-space:nowrap;transition:border-color .15s,background-color .15s}.trigger-summary-input:hover,.trigger-summary-input:focus-visible{outline:none;border-color:#2a2a2a;background-color:var(--bg-secondary)}.trigger-summary-input-error,.trigger-summary-input-error:hover,.trigger-summary-input-error:focus-visible{border-color:#ff6b6b}.trigger-summary-delete,.trigger-summary-edit{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary);background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.trigger-summary-delete:hover,.trigger-summary-delete:focus-visible,.trigger-summary-edit:hover,.trigger-summary-edit:focus-visible{outline:none;border-color:#2a2a2a;background-color:var(--bg-secondary)}.trigger-summary-delete:hover,.trigger-summary-delete:focus-visible{color:#ff6b6b}.trigger-summary-edit:hover,.trigger-summary-edit:focus-visible{color:var(--accent-primary)}.trigger-config-dialog{position:relative;width:min(440px,calc(100vw - 32px));font-size:14px}.trigger-config-dialog .part-manager-close{z-index:1}.trigger-config-dialog .part-info-dialog-content{max-height:min(86vh,760px);overflow-y:auto}.trigger-config-dialog .part-info-dialog-button{font-size:14px}.trigger-config-dialog .properties-panel-field-inline select,.trigger-config-dialog .properties-panel-field-inline input[type=text]{font-size:14px;width:190px}.trigger-config-dialog .part-info-dialog-content .properties-panel-field-inline label{font-size:16px}.trigger-wizard-step-text,.trigger-field-help,.trigger-event-current-description{color:var(--text-secondary);font-size:14px;line-height:1.35}.trigger-event-current{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px;background-color:var(--bg-secondary);border:1px solid #1a1a1a;border-radius:4px}.trigger-event-current-title{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.25}.trigger-field-with-help{flex-direction:column;align-items:stretch;gap:4px}.trigger-action-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;column-gap:14px;padding:8px;border:1px solid #3a3a3a;border-radius:4px}.trigger-action-setting-row+.trigger-action-setting-row{margin-top:10px}.trigger-selected-action-wrap+.trigger-action-setting-row{margin-top:10px}.trigger-action-setting-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.trigger-action-setting-copy label{overflow:hidden;color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0}.trigger-action-setting-description{color:var(--text-secondary);font-size:14px;line-height:1.35}.trigger-action-setting-control{display:flex;align-items:flex-start;justify-content:flex-end;min-width:110px}.trigger-action-setting-control select,.trigger-action-setting-control input[type=text]{margin-left:0}.trigger-selected-event-panel{display:flex;flex-direction:column}.trigger-selected-event-item{cursor:default}.trigger-selected-action-wrap .trigger-simple-option-item,.trigger-selected-event-wrap .trigger-simple-option-item,.trigger-selected-condition-wrap .trigger-simple-option-item{margin-right:0}.trigger-option-item.trigger-selected-action-item-with-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;column-gap:12px}.trigger-option-item.trigger-selected-action-item-with-button .toolbar-button{justify-self:end}.trigger-selected-action-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.trigger-selected-event-item:hover,.trigger-selected-event-item:focus-visible{border-color:var(--accent-primary);background-color:var(--bg-tertiary)}.trigger-event-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;column-gap:14px;padding:8px;border:1px solid #3a3a3a;border-radius:4px}.trigger-event-detail-row+.trigger-event-detail-row{margin-top:10px}.trigger-selected-event-wrap+.trigger-event-detail-row{margin-top:10px}.trigger-selected-condition-wrap+.trigger-event-detail-row{margin-top:10px}.trigger-event-detail-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.trigger-event-detail-copy label{overflow:hidden;color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0}.trigger-event-detail-control{display:flex;align-items:flex-start;justify-content:flex-end;min-width:110px}.trigger-event-detail-control select,.trigger-event-detail-control input[type=text]{margin-left:0}.trigger-dialog-footer-left,.trigger-dialog-footer-actions{display:flex;align-items:center;gap:12px}.trigger-dialog-footer-actions{margin-left:auto}.trigger-option-list-wrap{display:flex;flex-direction:column;gap:6px}.trigger-option-list-label{font-size:16px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.trigger-option-list{max-height:none;overflow-y:visible;display:flex;flex-direction:column;gap:8px;padding:6px;background-color:var(--bg-secondary);border:1px solid #1a1a1a;border-radius:4px}.trigger-option-list::-webkit-scrollbar{width:8px}.trigger-option-list::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.trigger-option-list::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}.trigger-option-list::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.trigger-simple-option-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;scrollbar-color:#4a4a4a var(--bg-primary);scrollbar-width:thin}.trigger-simple-option-list::-webkit-scrollbar{width:8px}.trigger-simple-option-list::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.trigger-simple-option-list::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}.trigger-simple-option-list::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.trigger-option-group{display:flex;flex-direction:column;gap:4px}.trigger-option-group-label{padding:2px 4px;font-size:16px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.trigger-option-item{width:100%;display:flex;flex-direction:column;gap:2px;color:var(--text-primary);font-family:inherit;background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px;cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s,color .15s}.trigger-option-item:hover,.trigger-option-item:focus-visible{outline:none;border-color:#2a2a2a;background-color:var(--bg-tertiary)}.trigger-option-item-selected{border-color:var(--accent-primary);background-color:var(--bg-tertiary)}.trigger-simple-option-item{width:auto;margin-right:8px;padding:6px}.trigger-simple-option-item:hover,.trigger-simple-option-item:focus-visible{border-color:#1a1a1a;background-color:var(--bg-primary)}.trigger-simple-option-item.trigger-option-item-selected,.trigger-simple-option-item.trigger-option-item-selected:hover,.trigger-simple-option-item.trigger-option-item-selected:focus-visible{border-color:var(--accent-primary);background-color:var(--bg-tertiary)}.trigger-option-item-title{overflow:hidden;font-size:16px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.trigger-option-item-summary{color:var(--text-secondary);font-size:14px;line-height:1.35}.properties-panel-toggle-group{display:flex;gap:6px}.properties-panel-toggle-button{width:57px;padding:6px 8px;font-size:12px;font-weight:600;color:#fff;background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.properties-panel-toggle-button:hover{border-color:#2a2a2a;background-color:var(--bg-secondary)}.properties-panel-toggle-button.is-active{color:#fff;background-color:var(--bg-primary);border-color:var(--accent-primary)}.properties-panel-field input[type=text]{width:120px;padding:6px 8px;font-size:13px;font-weight:500;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px;text-align:right;transition:border-color .15s,background-color .15s}.properties-panel-field input[type=text]:focus{outline:none;border-color:var(--accent-primary);background-color:var(--bg-secondary)}.properties-panel-field input[type=text]:hover:not(:disabled){border-color:#2a2a2a}.properties-panel-field-checkbox{display:flex;align-items:center;gap:8px}.properties-panel-field-checkbox label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.properties-panel-field-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.menu-panel{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px;z-index:10}.menu-panel-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:#2a2a2a;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s}.menu-panel-button:hover{background-color:#333}.menu-panel-button:active{background-color:#3a3a3a}.menu-panel-icon{font-size:16px;font-weight:500;color:var(--text-primary);line-height:1}.menu-panel-world-summary{position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);max-width:260px;pointer-events:none}.menu-panel-world-name{overflow:hidden;color:#5aa5ff;font-size:17px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.menu-panel-world-status{margin-top:1px;overflow:hidden;color:var(--text-secondary);font-size:11px;font-weight:500;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.menu-panel-dropdown{position:absolute;top:100%;left:0;margin-top:4px;display:flex;flex-direction:column;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px;min-width:168px;box-shadow:0 4px 12px #0000004d}.menu-panel-item{display:flex;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;color:var(--text-primary);background-color:transparent;border:none;border-radius:4px;cursor:pointer;text-align:left;transition:background-color .15s}.menu-panel-item-label{flex:1;min-width:0}.menu-panel-shortcut{margin-left:18px;color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}.menu-panel-item:hover{background-color:#333}.menu-panel-item:active{background-color:#3a3a3a}.menu-panel-item:disabled{color:var(--text-muted);cursor:default;opacity:.55}.menu-panel-item:disabled:hover,.menu-panel-item:disabled:active{background-color:transparent}.menu-panel-item-icon{font-size:16px;color:var(--text-primary);margin-right:12px;flex-shrink:0}.menu-panel-separator{height:1px;background-color:var(--border-color);margin:4px 0}.menu-panel-item-with-toggle{display:flex;align-items:center;justify-content:space-between;padding:0;gap:8px}.menu-panel-item-toggle{flex:1;padding-right:8px}.menu-panel-toggle{width:40px;height:20px;padding:0;margin-right:10px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;position:relative;transition:background-color .15s,border-color .15s;flex-shrink:0}.menu-panel-toggle:hover{background-color:#222;border-color:#444}.menu-panel-toggle-slider{position:absolute;top:1px;left:2px;width:16px;height:16px;background-color:var(--text-secondary);border-radius:50%;transition:transform .15s,background-color .15s}.menu-panel-toggle-slider-on{transform:translate(20px);background-color:var(--accent-primary)}.editor-settings-dialog{min-width:320px;width:360px;font-size:16px}.editor-settings-content{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.editor-settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:8px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px}.editor-settings-label-button{display:flex;align-items:flex-start;flex:1;min-width:0;padding:0;color:var(--text-primary);background:transparent;border:none;cursor:pointer;font:inherit;font-weight:500;text-align:left}.editor-settings-icon{display:flex;align-items:center;justify-content:center;margin-right:12px;width:18px;min-height:22px;color:var(--text-primary);font-size:18px;flex-shrink:0}.editor-settings-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.editor-settings-label-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;font-size:16px}.editor-settings-shortcut{padding:2px 6px;color:var(--text-secondary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap}.editor-settings-description{color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.35}.editor-settings-toggle{margin-right:0;margin-top:1px}.editor-settings-segmented{display:flex;flex:0 0 auto;align-items:center;padding:2px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px}.editor-settings-segmented-option{min-width:54px;height:28px;padding:0 10px;color:var(--text-secondary);background:transparent;border:none;border-radius:4px;cursor:pointer;font:inherit;font-size:13px;font-weight:600}.editor-settings-segmented-option:hover{color:var(--text-primary);background-color:#2a2a2a}.editor-settings-segmented-option.active{color:#fff;background-color:var(--accent-primary)}.editor-settings-version{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px;color:var(--text-secondary);font-size:13px;font-weight:600}.shape-panel{display:flex;align-items:center;gap:4px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px}.shape-panel-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:#2a2a2a;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s}.shape-panel-button:hover:not(:disabled){background-color:#333}.shape-panel-button:active:not(:disabled){background-color:#3a3a3a}.shape-panel-button:disabled{opacity:.4;cursor:not-allowed}.shape-panel-icon{width:20px;height:20px;color:var(--text-primary);flex-shrink:0}.connector-button-icon{display:inline-block;transform:scale(1.3);transform-origin:center}.shape-panel-container{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10;overflow:visible}.shape-selection-panel{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;display:flex;align-items:center;gap:4px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:6px;padding:4px;box-shadow:0 4px 12px #0000004d}.shape-panel-button-active{background-color:var(--accent-primary)!important}.shape-panel-button-active .shape-panel-icon{color:#fff}.shape-panel-divider{width:1px;height:24px;background-color:#666;margin:0 2px}.shape-panel-hint{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:360px;max-width:720px;padding:6px 18px;border-radius:6px;background-color:#000000bf;color:#fff;font-size:12px;white-space:nowrap;text-align:center;line-height:1.4;pointer-events:none;z-index:5}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:150px;z-index:1000}.confirm-dialog{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:24px;min-width:320px;max-width:90%;box-shadow:0 8px 24px #00000080}.confirm-dialog-message{font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:24px;text-align:center}.confirm-dialog-detail{margin-top:14px;color:var(--text-secondary);font-size:14px;line-height:1.4}.confirm-dialog-list{display:inline-block;margin:8px auto;padding-left:20px;color:var(--text-primary);text-align:left}.confirm-dialog-buttons{display:flex;gap:12px;justify-content:center}.confirm-dialog-button{padding:10px 24px;font-size:14px;font-weight:500;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:background-color .15s,border-color .15s;min-width:80px}.confirm-dialog-button-yes{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.confirm-dialog-button-yes:hover{background-color:#5aa5ff;border-color:#5aa5ff}.confirm-dialog-button-no{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.confirm-dialog-button-no:hover{background-color:#333;border-color:#444}.confirm-dialog-button-save{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.confirm-dialog-button-save:hover{background-color:#5aa5ff;border-color:#5aa5ff}.confirm-dialog-button-dont-save{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.confirm-dialog-button-dont-save:hover{background-color:#333;border-color:#444}.confirm-dialog-button-cancel{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.confirm-dialog-button-cancel:hover{background-color:#333;border-color:#444}.part-info-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:150px;z-index:1000}.part-info-dialog{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px;min-width:400px;max-width:90%;box-shadow:0 8px 24px #00000080}.part-info-dialog-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.world-info-dialog{position:relative}.world-info-dialog .part-manager-header{margin-bottom:20px}.welcome-dialog-overlay{padding-top:110px}.welcome-dialog{position:relative;width:min(460px,calc(100vw - 32px));height:min(560px,calc(100vh - 150px));min-height:500px;max-height:calc(100vh - 150px);min-width:0;display:flex;flex-direction:column}.welcome-dialog-header{margin-bottom:16px}.welcome-dialog-content{display:flex;flex-direction:column;flex:1;gap:14px;min-height:0}.welcome-dialog-copy{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.4}.welcome-dialog-actions{display:flex}.welcome-dialog-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:10px 12px;color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.welcome-dialog-action span{white-space:nowrap}.welcome-dialog-action:hover{background-color:#333;border-color:#444}.welcome-dialog-action-primary{color:#fff;background-color:var(--accent-primary);border-color:var(--accent-primary)}.welcome-dialog-action-primary:hover{filter:brightness(1.08)}.welcome-dialog-worlds{flex:1;min-height:0;overflow-y:auto;scrollbar-color:#4a4a4a var(--bg-primary);scrollbar-width:thin;padding:6px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px}.welcome-dialog-worlds::-webkit-scrollbar{width:10px}.welcome-dialog-worlds::-webkit-scrollbar-track{background-color:var(--bg-primary);border-radius:8px}.welcome-dialog-worlds::-webkit-scrollbar-thumb{background-color:#4a4a4a;border:2px solid var(--bg-primary);border-radius:8px}.welcome-dialog-worlds::-webkit-scrollbar-thumb:hover{background-color:#5a5a5a}.welcome-dialog-list-label{margin-bottom:-6px;color:var(--text-primary);font-size:13px;font-weight:600}.welcome-dialog-world-item{width:100%}.welcome-dialog-world-item+.welcome-dialog-world-item{margin-top:8px}.welcome-dialog-status{color:var(--text-secondary);font-size:13px;line-height:1.4}.welcome-dialog-error{color:#ff9b9b}.welcome-dialog-featured-empty{display:flex;flex-direction:column;gap:4px}.welcome-dialog-featured-title{color:var(--text-primary);font-size:13px;font-weight:600}.welcome-dialog-featured-button{align-self:flex-start;margin-top:6px;padding:7px 12px;color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.welcome-dialog-featured-button:hover{background-color:#333;border-color:#444}.welcome-dialog-checkbox{display:flex;align-items:center;gap:8px;margin-top:14px;padding:2px 4px;color:var(--text-secondary);font-size:14px;cursor:pointer}.welcome-dialog-checkbox input{width:16px;height:16px;margin:0;accent-color:var(--accent-primary)}.part-info-dialog-content{margin-bottom:24px}.save-selection-dialog-content{display:flex;flex-direction:column;gap:16px}.save-selection-dialog-content .part-info-dialog-field{margin-bottom:0}.part-info-dialog-field{margin-bottom:16px}.part-info-dialog-field:last-child{margin-bottom:0}.part-info-dialog-label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.part-info-dialog-input,.part-info-dialog-select,.part-info-dialog-textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;transition:border-color .15s}.part-info-dialog-input:focus,.part-info-dialog-select:focus,.part-info-dialog-textarea:focus{outline:none;border-color:var(--accent-primary)}.part-info-dialog-select{cursor:pointer}.part-info-dialog-textarea{resize:vertical;min-height:80px}.part-info-dialog-icon-preview{width:96px;height:96px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px}.part-info-dialog-icon-preview img{width:100%;height:100%;object-fit:contain}.part-info-dialog-icon-placeholder{padding:0 10px;color:var(--text-secondary);font-size:12px;line-height:1.3;text-align:center}.world-properties-icon-row{display:flex;align-items:flex-end;gap:12px}.part-info-dialog-error{color:#ff8d8d;font-size:13px;line-height:1.4;margin-top:8px}.part-info-dialog-buttons{display:flex;gap:12px;justify-content:space-between}.world-info-dialog-buttons{justify-content:flex-end}.save-selection-dialog-buttons{align-items:center}.save-selection-dialog-save-actions{display:flex;gap:12px;justify-content:flex-end}.part-info-dialog-button{padding:10px 24px;font-size:14px;font-weight:500;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:background-color .15s,border-color .15s,opacity .15s;min-width:80px}.part-info-dialog-button:disabled{opacity:.5;cursor:not-allowed}.part-info-dialog-button-cancel{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.part-info-dialog-button-cancel:hover:not(:disabled){background-color:#333;border-color:#444}.part-info-dialog-button-save{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.part-info-dialog-button-save:hover:not(:disabled){background-color:#5aa5ff;border-color:#5aa5ff}.part-info-dialog-content .properties-panel-subpanel{margin-bottom:16px}.part-info-dialog-content .properties-panel-subpanel:last-child{margin-bottom:0}.part-info-dialog-content .properties-panel-subpanel-content input[type=number],.part-info-dialog-content .properties-panel-subpanel-content input[type=text],.part-info-dialog-content .properties-panel-subpanel-content select{width:100%;padding:6px 8px;font-size:13px;font-weight:500;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px;transition:border-color .15s,background-color .15s}.part-info-dialog-content .properties-panel-subpanel-content input[type=number]:focus,.part-info-dialog-content .properties-panel-subpanel-content input[type=text]:focus,.part-info-dialog-content .properties-panel-subpanel-content select:focus{outline:none;border-color:var(--accent-primary);background-color:var(--bg-secondary)}.part-info-dialog-content .properties-panel-subpanel-content input[type=number]:hover:not(:disabled),.part-info-dialog-content .properties-panel-subpanel-content input[type=text]:hover:not(:disabled),.part-info-dialog-content .properties-panel-subpanel-content select:hover:not(:disabled){border-color:#2a2a2a}.part-info-dialog-content .properties-panel-subpanel-content select{cursor:pointer}.part-info-dialog-content .properties-panel-subpanel-content label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.part-info-dialog-content .properties-panel-subpanel-content .trigger-action-setting-copy label,.part-info-dialog-content .properties-panel-subpanel-content .trigger-event-detail-copy label{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.25;text-transform:none;letter-spacing:0;margin-bottom:0}.asset-manager{width:610px;height:500px;display:flex;flex-direction:column;position:relative}.asset-manager-content{flex:1;display:flex;flex-direction:column;min-height:0}.asset-manager-body{flex:1;display:flex;min-height:0}.asset-manager-grid-area{flex:1;display:flex;flex-direction:column;min-height:0}.asset-manager-grid-scroll{flex:1;overflow-y:scroll;min-height:0;background-color:var(--bg-primary);border-radius:8px;scrollbar-width:auto;scrollbar-color:#4a4a4a var(--bg-tertiary);-webkit-user-select:none;user-select:none}.asset-manager-grid-scroll::-webkit-scrollbar{width:12px}.asset-manager-grid-scroll::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.asset-manager-grid-scroll::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}.asset-manager-grid-scroll::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.asset-manager .part-info-dialog-content{flex:1;display:flex;flex-direction:column;min-height:0;margin-bottom:0}.asset-manager .part-manager-tabs{position:relative;margin-bottom:10px}.asset-manager-processing-popup{position:absolute;top:76px;left:50%;transform:translate(-50%);z-index:22;padding:10px 14px;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 28px #00000052;font-size:13px;font-weight:600;pointer-events:none}.asset-manager-filter-wrap{position:relative}.asset-manager-filter-trigger{min-width:104px}.asset-manager-filter-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;background:transparent}.asset-manager-filter-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:20;width:min(420px,calc(100vw - 48px));padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 12px 30px #00000052}.asset-manager-filter-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;max-height:220px;overflow-y:auto;padding-right:2px}.asset-manager-filter-empty{padding:14px 8px;color:var(--text-secondary);font-size:13px;text-align:center}.asset-manager-filter-badge{min-height:32px;padding:6px 10px;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:background-color .15s,color .15s,border-color .15s}.asset-manager-filter-badge:not(.asset-manager-filter-badge-active):hover{color:var(--text-primary);background:var(--bg-tertiary)}.asset-manager-filter-badge-active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary)}.asset-manager-filter-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.asset-manager-filter-clear{min-width:88px;padding:8px 14px;color:var(--text-secondary);background-color:transparent;border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:700;cursor:pointer}.asset-manager-filter-clear:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.asset-manager-filter-mode{min-width:104px;min-height:36px;display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;padding:6px 8px 6px 12px;color:var(--text-secondary);background-color:transparent;border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:700;cursor:pointer}.asset-manager-filter-mode:not(.asset-manager-filter-mode-on):hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.asset-manager-filter-mode-label{line-height:1}.asset-manager-filter-mode-switch{position:relative;width:38px;height:22px;flex:0 0 auto;border:1px solid var(--border-color);border-radius:999px;background-color:var(--bg-primary);transition:background-color .15s,border-color .15s}.asset-manager-filter-mode-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background-color:var(--text-secondary);transition:transform .15s,background-color .15s}.asset-manager-filter-mode-on{color:var(--text-primary)}.asset-manager-filter-mode-on .asset-manager-filter-mode-switch{background-color:var(--accent-primary);border-color:var(--accent-primary)}.asset-manager-filter-mode-on .asset-manager-filter-mode-thumb{transform:translate(16px);background-color:#fff}.asset-manager-loading,.asset-manager-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);font-size:14px}.asset-manager-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;padding:8px}.asset-manager-item{position:relative;width:80px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:8px;border:1px solid var(--border-color);border-radius:6px;transition:background-color .15s;overflow:hidden}.asset-manager-developer-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:999px;background-color:#4cc3ff;border:1px solid var(--bg-primary);box-shadow:0 0 0 1px #4cc3ff59;pointer-events:none}.asset-manager-item:hover{background-color:var(--bg-tertiary)}.asset-manager-item-selected{background-color:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.asset-manager-item-selected .asset-manager-item-image{border-color:var(--accent-primary)}.asset-manager-item-image{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;margin-bottom:6px;overflow:hidden}.asset-manager-item-image img{max-width:100%;max-height:100%;object-fit:contain}.asset-manager-item-name{font-size:11px;color:var(--text-primary);text-align:center;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2}.part-manager-tile{color:inherit;background-color:transparent;font:inherit;text-align:center}.part-manager-tile:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.generate-image-dialog{width:fit-content;max-width:calc(100vw - 32px)}.generate-image-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.generate-image-dialog-title{font-size:18px;font-weight:600;color:var(--text-primary);text-align:left}.generate-image-dialog-close{position:static}.generate-image-preview-frame{width:364px;height:364px;border-radius:8px;background-color:#0000002e;display:flex;align-items:center;justify-content:center;overflow:hidden}.generate-image-preview{width:364px;height:364px;border:1px solid var(--border-color);border-radius:8px;background:linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.03) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.03) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.03) 75%);background-color:var(--bg-primary);background-size:32px 32px;background-position:0 0,0 16px,16px -16px,-16px 0;display:flex;align-items:center;justify-content:center;overflow:hidden}.generate-image-preview.is-picking-color{cursor:crosshair;border-color:var(--accent-primary)}.generate-image-workspace{display:flex;align-items:stretch;justify-content:center;gap:16px;margin-bottom:16px}.generate-image-workspace.is-background-step{align-items:flex-start}.generate-image-controls-column{width:280px;display:flex;flex-direction:column;gap:12px}.generate-image-preview-column{width:364px;display:flex;flex-direction:column;gap:12px}.generate-image-preview-image{width:100%;height:100%;object-fit:contain}.generate-image-placeholder{padding:24px;text-align:center;color:var(--text-secondary);font-size:14px}.generate-image-session-strip{width:364px;min-height:72px;max-height:220px;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.generate-image-session-grid{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.generate-image-session-empty{display:flex;align-items:center;justify-content:center;width:100%;min-height:72px;padding:8px;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:11px;text-align:center}.generate-image-session-thumb{width:64px;height:64px;padding:0;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);overflow:hidden;cursor:pointer;flex:0 0 auto}.generate-image-session-thumb img{width:100%;height:100%;object-fit:cover;display:block}.generate-image-session-thumb.is-active{border-color:var(--accent-primary)}.generate-image-session-prompt{font-size:12px;color:var(--text-secondary);line-height:1.4;min-height:34px}.generate-image-background-panel{display:flex;flex-direction:column;gap:18px}.generate-image-background-subpanels{display:flex;flex-direction:column;gap:6px}.generate-image-background-subpanel .properties-panel-subpanel-content{display:flex;flex-direction:column}.generate-image-background-subpanel-header{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;cursor:pointer;text-align:left}.generate-image-background-subpanel-header.is-expanded{border-bottom:1px solid var(--border-color)}.generate-image-background-subpanel-chevron{font-size:16px;line-height:1;color:var(--text-secondary)}.generate-image-background-subpanel .generate-image-background-slider-group{padding-top:0}.generate-image-background-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.generate-image-background-label{font-size:12px;color:var(--text-secondary)}.generate-image-background-label-group{display:inline-flex;align-items:center;gap:6px}.generate-image-background-info{padding:0;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.generate-image-background-info-icon{width:14px;height:14px;color:var(--text-secondary);transform:translateY(-1px)}.generate-image-background-info-icon.is-active{color:var(--accent-primary)}.generate-image-background-color-group{display:flex;align-items:center;gap:8px;padding:0;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;border-radius:6px}.generate-image-background-color-group.is-picking{border-color:var(--accent-primary)}.generate-image-background-color-group:disabled{opacity:.5;cursor:not-allowed}.generate-image-background-swatch{width:24px;height:24px;border-radius:4px;border:1px solid var(--border-color);background-image:linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.08) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.generate-image-background-value{font-size:12px;color:var(--text-primary);min-width:78px;text-align:right}.generate-image-background-input{width:88px;padding:6px 8px;font-size:13px;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid #1a1a1a;border-radius:4px}.generate-image-background-input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.generate-image-background-slider-group{display:flex;flex-direction:column;gap:12px;padding-top:4px}.generate-image-background-slider-row{display:flex;flex-direction:column;gap:6px}.generate-image-background-slider-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.generate-image-background-slider{width:100%;accent-color:var(--accent-primary)}.generate-image-background-slider-value{min-width:32px;font-size:12px;color:var(--text-primary);text-align:right}.generate-image-background-help{font-size:12px;line-height:1.4;color:var(--text-secondary)}.generate-image-prompt{min-height:140px;margin-bottom:0}.generate-image-controls-panel{display:flex;flex-direction:column;align-items:stretch;gap:10px}.generate-image-controls-panel .generate-image-prompt,.generate-image-submit-button{width:100%}.generate-image-reset-button{align-self:flex-start;min-width:96px}.generate-image-dialog-buttons-step-generate{justify-content:flex-end}.generate-image-dialog-buttons-step-remove{justify-content:space-between}.generate-image-error{margin-top:8px;color:#ff8f8f;font-size:13px}.part-manager{width:min(620px,calc(100vw - 32px));height:min(520px,calc(100vh - 180px));min-width:0;display:flex;flex-direction:column;position:relative}.part-manager-close{position:absolute;top:10px;right:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:none;border:none;border-radius:4px;cursor:pointer}.part-manager-close:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.part-manager-header{display:flex;align-items:center;gap:10px;min-height:32px;padding:0 42px 10px 2px;border-bottom:1px solid var(--border-color)}.part-manager-title{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.part-manager-count{min-width:24px;padding:2px 7px;color:var(--text-secondary);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:12px;text-align:center}.part-manager-tabs{display:flex;gap:8px;margin-top:10px}.part-manager-tab{display:inline-flex;align-items:center;gap:8px;min-width:96px;padding:7px 12px;color:var(--text-secondary);background-color:transparent;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.part-manager-tab:not(.part-manager-tab-active):hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.part-manager-tab-active{color:#fff;background-color:var(--accent-primary);border-color:var(--accent-primary)}.part-manager-tab-count{min-width:22px;padding:1px 6px;color:inherit;background-color:#ffffff1f;border-radius:999px;font-size:12px;text-align:center}.part-manager-import-error-title{margin:0 0 12px;color:var(--text-primary);font-size:18px;font-weight:600;text-align:center}.part-manager-list{flex:1;min-height:0;margin-top:10px;overflow-y:auto;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:10px}.part-manager-status{min-height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);padding:24px;font-size:14px;text-align:center}.part-manager-error{color:#ff8d8d}.part-manager-item{display:block;width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);text-align:left;cursor:pointer}.part-manager-item-layout{display:flex;align-items:flex-start;gap:12px;min-width:0}.part-manager-item-icon{width:56px;height:56px;flex:0 0 56px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px}.part-manager-item-icon img{width:100%;height:100%;object-fit:contain}.part-manager-item-icon-placeholder{width:24px;height:24px;border:2px solid var(--border-color);border-radius:4px}.world-manager .part-manager-list{padding:6px}.world-manager .part-manager-item,.welcome-dialog-world-item{padding:8px}.world-manager .part-manager-item-layout,.welcome-dialog-world-item .part-manager-item-layout{align-items:center}.world-manager .part-manager-item-icon,.welcome-dialog-world-item .part-manager-item-icon{width:88px;height:88px;flex:0 0 88px}.world-manager .part-manager-item-icon-placeholder,.welcome-dialog-world-item .part-manager-item-icon-placeholder{width:36px;height:36px}.part-manager-item-main{min-width:0;flex:1}.part-manager-item+.part-manager-item{margin-top:8px}.part-manager-item:hover,.part-manager-item.selected{border-color:var(--accent-primary);background-color:var(--bg-tertiary)}.part-manager-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.part-manager-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.part-manager-item-name{color:var(--text-primary);font-size:15px;line-height:1.3;overflow-wrap:anywhere}.part-manager-item-description{display:block;margin:8px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.part-manager-item-date{display:block;margin:6px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.3;overflow-wrap:anywhere}.part-manager-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding:150px 16px 24px;background-color:#00000073;z-index:1001;overflow-y:auto}.part-manager-edit-dialog{width:min(460px,calc(100vw - 32px));min-width:0;position:relative}.sprite-manager-edit-overlay{padding-top:150px}.sprite-manager-edit-dialog{width:min(500px,calc(100vw - 32px))}.part-manager-part-edit-overlay{padding-top:150px}.part-manager-part-edit-dialog{width:min(500px,calc(100vw - 32px))}.sprite-manager-defaults-overlay{z-index:1002}.sprite-manager-defaults-dialog{width:min(600px,calc(100vw - 32px))}.sprite-manager-settings-dialog{width:min(440px,calc(100vw - 32px))}.sprite-manager-edit-preview-group{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:16px}.sprite-manager-edit-preview-group-with-frame{grid-template-columns:minmax(0,1fr) 112px}.sprite-manager-edit-preview-group-with-frame.sprite-manager-edit-preview-group-with-animation{grid-template-columns:minmax(0,1fr) 112px 112px}.sprite-manager-edit-preview-group-expanded{grid-template-columns:minmax(0,1fr)}.sprite-manager-edit-preview,.sprite-manager-edit-frame-preview{position:relative;display:flex;align-items:center;justify-content:center;height:112px;padding:12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary)}.sprite-manager-edit-icon-frame-preview{padding:12px;cursor:pointer}.sprite-manager-edit-icon-frame-preview:hover:not(:disabled),.sprite-manager-edit-icon-frame-preview:focus-visible{border-color:var(--accent-primary);background-color:var(--bg-secondary)}.sprite-manager-edit-icon-frame-preview:disabled{cursor:default}.sprite-manager-edit-icon-image-preview{max-width:100%;max-height:100%;object-fit:contain}.sprite-manager-edit-preview-expanded{height:min(560px,calc(100vh - 260px));min-height:320px}.sprite-manager-edit-preview-toggle{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.sprite-manager-edit-preview-toggle:hover:not(:disabled),.sprite-manager-edit-preview-toggle:focus-visible{border-color:var(--accent-primary);background-color:var(--bg-secondary)}.sprite-manager-edit-preview-toggle:disabled{opacity:.6;cursor:not-allowed}.sprite-manager-edit-preview img{max-width:100%;max-height:100%;object-fit:contain}.sprite-manager-edit-frame-preview-canvas{display:flex;align-items:center;justify-content:center;width:88px;height:88px;overflow:hidden}.sprite-manager-edit-frame-preview-crop{flex:0 0 auto;image-rendering:auto;transform-origin:center}.sprite-manager-defaults-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.sprite-manager-edit-row{display:grid;grid-template-columns:minmax(96px,128px) minmax(0,1fr);gap:12px;align-items:center}.sprite-manager-edit-row .part-info-dialog-label{margin-bottom:0}.sprite-manager-edit-row .part-info-dialog-input{min-width:0}.sprite-manager-category-editor,.part-manager-category-editor{display:grid;gap:8px;min-width:0}.sprite-manager-category-editor .part-info-dialog-select,.sprite-manager-category-editor .part-info-dialog-input,.part-manager-category-editor .part-info-dialog-select,.part-manager-category-editor .part-info-dialog-input{width:100%;min-width:0}.sprite-manager-category-editor .part-info-dialog-select,.part-manager-category-editor .part-info-dialog-select{padding-right:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-repeat:no-repeat;background-size:6px 6px}.sprite-manager-category-editor .part-info-dialog-select:disabled,.part-manager-category-editor .part-info-dialog-select:disabled{cursor:not-allowed}.sprite-manager-new-category-row,.part-manager-new-category-row{display:grid;grid-template-columns:minmax(0,1fr) 41px;gap:8px;align-items:stretch;min-width:0}.sprite-manager-new-category-cancel,.part-manager-new-category-cancel{display:flex;align-items:center;justify-content:center;width:41px;height:41px;padding:0;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.sprite-manager-new-category-cancel:hover:not(:disabled),.sprite-manager-new-category-cancel:focus-visible,.part-manager-new-category-cancel:hover:not(:disabled),.part-manager-new-category-cancel:focus-visible{outline:none;border-color:var(--accent-primary)}.sprite-manager-new-category-cancel:disabled,.part-manager-new-category-cancel:disabled{cursor:not-allowed;opacity:.6}.sprite-manager-frames-summary-row{grid-template-columns:minmax(0,1fr) auto auto}.sprite-manager-animation-inline-controls{display:grid;grid-template-columns:auto auto minmax(92px,1fr);gap:12px;align-items:center;min-width:0}.sprite-manager-wall-inline-controls{display:flex;align-items:center;gap:12px;min-width:0}.sprite-manager-inline-toggle,.sprite-manager-inline-number{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-secondary);font-size:12px;font-weight:600}.sprite-manager-inline-number .part-info-dialog-input{width:92px}.sprite-manager-inline-icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.sprite-manager-inline-icon-button:hover:not(:disabled),.sprite-manager-inline-icon-button:focus-visible{border-color:var(--accent-primary);background-color:var(--bg-secondary)}.sprite-manager-inline-icon-button:disabled{opacity:.6;cursor:not-allowed}.sprite-manager-inline-toggle-icon-only{gap:0;margin-right:4px}.sprite-manager-defaults-summary{display:flex;align-items:center;min-width:0;min-height:38px;overflow:hidden;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;cursor:default}.sprite-manager-defaults-edit-button{min-width:72px;padding:8px 14px;border:1px solid var(--border-primary);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer}.sprite-manager-defaults-edit-button:hover:not(:disabled),.sprite-manager-defaults-edit-button:focus-visible{border-color:var(--accent-primary);background-color:var(--bg-secondary)}.sprite-manager-defaults-edit-button:disabled{opacity:.6;cursor:not-allowed}.sprite-manager-defaults-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.sprite-manager-settings-list{display:flex;flex-direction:column;gap:12px}.sprite-manager-setting-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,2fr);gap:12px;align-items:center}.sprite-manager-setting-row .part-info-dialog-label{margin-bottom:0}.sprite-manager-setting-row .part-info-dialog-input{min-width:0}.sprite-manager-wall-frame-inputs,.sprite-manager-wall-frame-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.sprite-manager-wall-frame-list{grid-template-columns:1fr}.sprite-manager-wall-frame-input{display:grid;grid-template-columns:48px 72px auto;gap:8px;align-items:center;min-width:0}.sprite-manager-wall-frame-input span{color:var(--text-secondary);font-size:12px;font-weight:600}.sprite-manager-wall-frame-input .part-info-dialog-input{width:72px;min-width:0}.sprite-manager-wall-frame-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer}.sprite-manager-wall-frame-remove:hover:not(:disabled),.sprite-manager-wall-frame-remove:focus-visible{border-color:#d36b6b;color:#ffb4b4}.sprite-manager-wall-frame-remove:disabled{opacity:.45;cursor:not-allowed}.sprite-manager-wall-frame-add{justify-self:start;padding:7px 12px;border:1px solid var(--border-primary);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.sprite-manager-wall-frame-add:hover:not(:disabled),.sprite-manager-wall-frame-add:focus-visible{border-color:var(--accent-primary);background-color:var(--bg-secondary)}.sprite-manager-wall-frame-add:disabled{opacity:.6;cursor:not-allowed}.sprite-manager-toggle{position:relative;width:44px;height:24px;padding:0;justify-self:start;border:1px solid var(--border-color);border-radius:999px;background-color:var(--bg-secondary);cursor:pointer;transition:background-color .15s,border-color .15s}.sprite-manager-toggle:hover:not(:disabled),.sprite-manager-toggle:focus-visible{border-color:var(--accent-primary)}.sprite-manager-toggle:disabled{opacity:.6;cursor:not-allowed}.sprite-manager-toggle-on{background-color:var(--accent-primary);border-color:var(--accent-primary)}.sprite-manager-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background-color:var(--text-primary);transition:transform .15s}.sprite-manager-toggle-on .sprite-manager-toggle-thumb{transform:translate(20px)}.sprite-manager-axis-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sprite-manager-axis-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0}.sprite-manager-axis-input span{color:var(--text-secondary);font-size:12px;font-weight:600}.sprite-manager-axis-input .part-info-dialog-input{min-width:0}.part-manager-edit-error{margin-bottom:16px;padding:10px 12px;color:#ffb4b4;background-color:#7a343447;border:1px solid #7a3434;border-radius:6px;font-size:13px}@media (max-width: 520px){.sprite-manager-defaults-summary-row{grid-template-columns:1fr}.sprite-manager-edit-row{grid-template-columns:1fr;gap:8px}.sprite-manager-frames-summary-row{grid-template-columns:1fr 1fr}.sprite-manager-frames-summary-row .sprite-manager-defaults-summary{grid-column:1 / -1}.sprite-manager-animation-inline-controls{grid-template-columns:1fr}.sprite-manager-wall-inline-controls{align-items:stretch}.sprite-manager-inline-toggle,.sprite-manager-inline-number{justify-content:space-between}.sprite-manager-defaults-edit-button{width:100%}.sprite-manager-defaults-grid{grid-template-columns:1fr}.sprite-manager-setting-row{grid-template-columns:1fr;gap:8px}.sprite-manager-wall-frame-inputs{grid-template-columns:1fr}}.part-manager-edit-header{min-height:32px;margin-bottom:12px;padding-right:42px}.part-manager-edit-title{margin:0;color:var(--text-primary);font-size:16px;font-weight:600}.part-manager-edit-close{top:10px;right:10px}.world-manager-date-stamps{display:grid;gap:8px;margin-top:2px;padding:12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary)}.world-manager-date-stamp{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:baseline}.world-manager-date-label{color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase}.world-manager-date-value{color:var(--text-primary);font-size:13px;line-height:1.3;overflow-wrap:anywhere}.part-manager-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:12px}.part-manager-delete,.part-manager-edit,.part-manager-action-placeholder,.part-manager-import,.part-manager-upload,.part-manager-export,.part-manager-add{flex:1 1 100px;min-width:100px;padding:8px 14px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.part-manager-action-placeholder{visibility:hidden;pointer-events:none}.part-manager-import{flex:0 0 auto;margin-left:auto}.part-manager-upload{flex:0 0 auto}.part-manager-delete{color:#ff9b9b;background-color:transparent;border:1px solid #7a3434}.part-manager-edit,.part-manager-import,.part-manager-upload,.part-manager-export{color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border-color)}.part-manager-add{color:#fff;background-color:var(--accent-primary);border:1px solid var(--accent-primary)}.part-manager-delete:hover:not(:disabled){color:#fff;background-color:#b84242;border-color:#b84242}.part-manager-edit:hover:not(:disabled),.part-manager-import:hover:not(:disabled),.part-manager-upload:hover:not(:disabled),.part-manager-export:hover:not(:disabled){background-color:#333;border-color:#444}.part-manager-add:hover:not(:disabled){filter:brightness(1.08)}.part-manager-delete:disabled,.part-manager-edit:disabled,.part-manager-import:disabled,.part-manager-upload:disabled,.part-manager-export:disabled,.part-manager-add:disabled{opacity:.45;cursor:not-allowed}.halo-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:visible}.halo-button{position:absolute;pointer-events:auto;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.4);background:#1e1e1ecc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 10px #0000004d,inset 0 1px 1px #fff3;cursor:pointer;padding:0;margin:0;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),background-color .2s,border-color .2s;-webkit-user-select:none;user-select:none;box-sizing:border-box}.halo-button:hover{transform:scale(1.15);border-color:#fffc;background:#323232e6}.halo-button:active{transform:scale(.92)}.halo-button.pin-active{background:#007affd9;border-color:#007aff;box-shadow:0 0 10px #007aff80}.halo-button.pin-active:hover{background:#008cfff2}.halo-button.wrench-active{background:#007affd9;border-color:#007aff;box-shadow:0 0 10px #007aff80}.halo-button.wrench-active:hover{background:#008cfff2}.halo-button.trash-button:hover{background:#ff3b30d9;border-color:#ff3b30;box-shadow:0 0 10px #ff3b3080}.halo-popover-menu{pointer-events:auto;background:#141414d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:6px;min-width:190px;box-shadow:0 10px 25px #00000080;display:flex;flex-direction:column;gap:4px}.halo-popover-menu button{background:transparent;border:none;color:#f5f5f7;padding:8px 12px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .15s}.halo-popover-menu button:hover{background:#ffffff1a}.halo-popover-menu button:active{background:#ffffff26}.popover-icon{font-size:14px;display:inline-flex;align-items:center;justify-content:center}.halo-button.proportional-resize-button{background-color:#ffd200!important;border-color:#fff!important}.halo-button.proportional-resize-button:hover{background-color:#ffe045!important;transform:scale(1.1)!important}.halo-button.proportional-resize-button:active{transform:scale(.95)!important}.editor-settings-theme-section{margin-top:12px;padding:8px 12px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:8px}.editor-settings-section-title{font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:1px;margin:0 0 4px;text-transform:uppercase;border-bottom:1px solid var(--border-color);padding-bottom:6px}.editor-settings-color-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.editor-settings-color-row label{font-size:14px;font-weight:500;color:var(--text-primary)}.editor-settings-color-row input[type=color]{border:1px solid var(--border-color);border-radius:6px;width:44px;height:28px;padding:0;cursor:pointer;background:none}.editor-settings-color-row input[type=range]{width:120px;cursor:pointer;accent-color:var(--ui-accent-color, #30a2f3)}.editor-settings-select{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:4px 8px;font-size:13px}:root{--parts-bin-bg: #f8f9fa}.parts-bin{display:flex;flex-direction:column;width:330px;flex-shrink:0;height:100%;background-color:var(--parts-bin-bg);border-left:1px solid #e1e4e6;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:opacity .2s ease,background-color .2s ease}.parts-bin.dragging-active{opacity:.3;pointer-events:none}.parts-bin-header{padding:14px 16px;border-bottom:1px solid #e1e4e6;background-color:#fcfcfc}.parts-bin-header h3{font-size:11px;font-weight:700;color:#556c7d;letter-spacing:1.5px;margin:0;text-transform:uppercase}.parts-bin-grid-container{flex:1;overflow-y:auto;padding:12px}.parts-bin-grid-container::-webkit-scrollbar{width:6px}.parts-bin-grid-container::-webkit-scrollbar-track{background:transparent}.parts-bin-grid-container::-webkit-scrollbar-thumb{background:#d0d4d8;border-radius:3px}.parts-bin-grid-container::-webkit-scrollbar-thumb:hover{background:#b0b4b8}.parts-bin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.parts-bin-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fff;border:1px solid #d5dbde;border-radius:12px;padding:10px 6px;cursor:grab;transition:all .15s ease-in-out;overflow:hidden;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.parts-bin-card:hover{border-color:#4a9eff;background-color:#fafbfc;transform:translateY(-1px);box-shadow:0 2px 6px #0000000d}.parts-bin-card:active{cursor:grabbing;transform:scale(.97)}.parts-bin-card-image{width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;background-color:transparent;overflow:hidden;pointer-events:none}.parts-bin-card-image img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;-webkit-touch-callout:none}.parts-bin-card-placeholder{width:28px;height:28px;border-radius:50%;background-color:#0000000d;pointer-events:none}.parts-bin-card-name{font-size:10px;font-weight:600;color:#4a4a4a;text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:none}.parts-bin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:330px;flex-shrink:0;background-color:var(--parts-bin-bg);border-left:1px solid #e1e4e6;color:#777;font-size:13px;gap:12px}.parts-bin-loading-spinner{width:24px;height:24px;border:2px solid rgba(0,0,0,.05);border-top-color:var(--ui-accent-color);border-radius:50%;animation:parts-bin-spin .8s linear infinite}.parts-bin-drag-ghost{position:fixed;pointer-events:none;z-index:99999;width:80px;height:80px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;opacity:.8;box-sizing:border-box}.parts-bin-drag-ghost img{width:100%;height:100%;object-fit:contain;pointer-events:none}.parts-bin-tabs{display:flex;background-color:#ededf0;border-radius:8px;padding:2px;gap:2px;width:100%}.parts-bin-tab{flex:1;border:none;background:none;font-family:inherit;font-size:10px;font-weight:600;color:#556c7d;padding:6px 2px;border-radius:6px;cursor:pointer;transition:all .15s ease-in-out;text-align:center}.parts-bin-tab:hover{color:#1b2632;background-color:#fff6}.parts-bin-tab.active{background-color:#fff;color:#1b2632;box-shadow:0 1px 3px #00000014;border-bottom:2.5px solid var(--ui-accent-color)}.parts-bin-card-active,.parts-bin-card.active{border-color:var(--ui-accent-color)!important;background-color:#4a9eff14!important;box-shadow:0 0 0 2px var(--ui-accent-color)!important}.parts-bin-grid.no-labels{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.parts-bin-grid.no-labels .parts-bin-card{padding:6px!important;aspect-ratio:1 / 1!important}.parts-bin-grid.no-labels .parts-bin-card-image{margin-bottom:0!important;width:44px!important;height:44px!important}.parts-bin-grid.no-labels .parts-bin-card-image img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}.parts-bin-subtabs{display:flex;gap:6px;overflow-x:auto;padding:8px 0 0;scrollbar-width:none;-ms-overflow-style:none}.parts-bin-subtabs::-webkit-scrollbar{display:none}.parts-bin-subtab{background:#f1f3f5;border:1px solid #e9ecef;border-radius:100px;color:#495057;font-family:inherit;font-size:11px;font-weight:600;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:all .15s ease-in-out}.parts-bin-subtab:hover{background:#e9ecef;color:#212529;border-color:#dee2e6}.parts-bin-subtab.active{background:var(--ui-accent-color);border-color:var(--ui-accent-color);color:#fff}.parts-bin-popover-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:transparent}.parts-bin-popover{width:220px;background:#1e293bd9!important;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.15)!important;border-radius:12px!important;box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0000004d!important;padding:14px!important;color:#f8fafc!important;pointer-events:auto;animation:popover-fade-in .15s cubic-bezier(.16,1,.3,1) forwards}.parts-bin-popover-arrow{position:absolute;left:-6px;top:15px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid rgba(30,41,59,.85)}.parts-bin-popover-close{position:absolute;top:8px;right:8px;width:20px;height:20px;background:transparent;border:none;color:#94a3b8;font-size:18px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease}.parts-bin-popover-close:hover{background:#ffffff1a;color:#f1f5f9}.parts-bin-popover-title{margin:0 0 6px!important;font-size:14px!important;font-weight:700!important;line-height:1.25!important;color:#fff!important;padding-right:16px!important;text-align:left}.parts-bin-popover-meta{margin-bottom:10px;text-align:left}.parts-bin-popover-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--ui-accent-color);color:#fff;padding:2px 6px;border-radius:4px}.parts-bin-popover-desc{margin:0 0 10px!important;font-size:12px!important;line-height:1.4!important;color:#cbd5e1!important;text-align:left}.parts-bin-popover-creator{font-size:11px!important;color:#94a3b8!important;border-top:1px solid rgba(255,255,255,.1);padding-top:8px;margin-top:8px;text-align:left}.parts-bin-popover-creator strong{color:#e2e8f0}.parts-bin-popover-stats{font-size:11px!important;color:#94a3b8!important;margin-top:4px;text-align:left}@media (max-width: 768px){.workspace{position:relative;overflow:hidden}.canvas-container{min-width:0!important;width:100%!important}.workspace-divider{display:none!important}.agent-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;background-color:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:490;cursor:pointer;animation:agentBackdropFadeIn .2s ease-out}@keyframes agentBackdropFadeIn{0%{opacity:0}to{opacity:1}}.agent-pane{position:fixed!important;top:0!important;bottom:0!important;width:85vw!important;max-width:85vw!important;min-width:0!important;height:100%!important;height:100dvh!important;max-height:100dvh!important;z-index:500!important;background-color:#171717;animation:agentPaneSlideInRight .25s cubic-bezier(.16,1,.3,1)}.agent-side-right .agent-pane{right:0!important;left:auto!important;box-shadow:-8px 0 32px #000000a6!important;border-left:1px solid var(--border-color)!important;animation-name:agentPaneSlideInRight}.agent-side-left .agent-pane{left:0!important;right:auto!important;box-shadow:8px 0 32px #000000a6!important;border-right:1px solid var(--border-color)!important;animation-name:agentPaneSlideInLeft}@keyframes agentPaneSlideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes agentPaneSlideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.agent-panel{width:100%!important;max-width:85vw!important;height:100%!important;height:100dvh!important;box-sizing:border-box}.agent-header{padding-top:max(14px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));flex-shrink:0}.agent-header-title button,.agent-header-actions button{width:36px;height:36px;font-size:16px}.agent-composer{padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));flex-shrink:0}.parts-bin{position:absolute;bottom:0;left:0;right:0;width:100%;height:380px;border-left:none;border-top:1px solid #e1e4e6;border-top-left-radius:16px;border-top-right-radius:16px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;z-index:10}.parts-bin.closed{background-color:transparent!important;border-top:none!important;box-shadow:none!important;pointer-events:none}.parts-bin.closed .parts-bin-grid-container,.parts-bin.closed .parts-bin-subtabs{display:none!important}.parts-bin.closed .parts-bin-header{border-bottom:none!important;background-color:transparent!important;pointer-events:auto}.parts-bin.closed .parts-bin-tabs{pointer-events:auto}.parts-bin-tabs{display:flex;justify-content:center;align-items:center;gap:16px;padding:4px 0}.parts-bin-tab-button{flex:1;max-width:56px;height:48px;display:flex;align-items:center;justify-content:center;background-color:#f1f3f5;border:1px solid #dee2e6;border-radius:8px;color:#495057;font-size:20px;cursor:pointer;transition:all .15s ease-in-out;padding:0}.parts-bin-tab-button:hover:not(:disabled){background-color:#e9ecef;border-color:#ced4da}.parts-bin-tab-button.active{background-color:#fff;border-color:var(--ui-accent-color, #30a2f3);color:var(--ui-accent-color, #30a2f3);box-shadow:0 0 0 2px #30a2f326}.parts-bin-tab-button:disabled{opacity:.3;cursor:not-allowed}.parts-bin-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.shape-panel-container,.zoom-panel{display:none!important}.undo-redo-panel{bottom:80px;right:20px}.parts-bin-drag-handle{display:flex;align-items:center;justify-content:center;height:16px;background-color:#fcfcfc;cursor:ns-resize;touch-action:none;border-top-left-radius:16px;border-top-right-radius:16px;border-bottom:1px solid #e1e4e6;flex-shrink:0}.parts-bin-drag-handle-pill{width:36px;height:4px;background-color:#0003;border-radius:2px}.app.has-properties-toolbar .parts-bin{display:none!important}.selection-panel-container{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;transform:none!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;z-index:100!important;width:100%!important;max-width:100vw!important;background-color:#2a2a2a!important;border-top:1px solid var(--border-color)!important;border-top-left-radius:16px!important;border-top-right-radius:16px!important;box-shadow:0 -4px 24px #0006!important;transition:height .25s ease-in-out!important;box-sizing:border-box!important;overflow:hidden!important}.selection-panel-container.closed{bottom:0!important;height:auto!important;max-height:130px!important;pointer-events:auto!important;border-top-left-radius:12px!important;border-top-right-radius:12px!important;padding-bottom:max(6px,env(safe-area-inset-bottom))!important}.selection-panel-container.open{bottom:0!important;height:var(--drawer-height, 440px)!important;max-height:82dvh!important;pointer-events:auto!important;padding-bottom:max(6px,env(safe-area-inset-bottom))!important}.selection-panel-container.is-dragging{transition:none!important}.selection-panel-drag-handle{display:flex!important;align-items:center!important;justify-content:center!important;height:22px!important;width:100%!important;cursor:ns-resize!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;flex-shrink:0!important;background-color:#2a2a2a!important}.selection-panel-drag-handle-pill{width:36px!important;height:4px!important;background-color:#ffffff4d!important;border-radius:2px!important}.selection-panel{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:6px 8px!important;padding:6px 12px 8px!important;background-color:#2a2a2a!important;border-bottom:1px solid rgba(255,255,255,.1)!important;border-top:none!important;border-left:none!important;border-right:none!important;box-shadow:none!important;border-radius:0!important;width:100%!important;max-width:100vw!important;height:auto!important;max-height:110px!important;overflow-x:hidden!important;overflow-y:hidden!important;white-space:normal!important;pointer-events:auto!important;box-sizing:border-box!important;flex-shrink:0!important}.selection-panel-button{width:38px!important;height:38px!important;flex-shrink:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.selection-panel-icon{font-size:15px!important}.selection-panel-container .properties-panel-popup,.selection-panel-container .shape-order-panel,.selection-panel-container .shape-rotate-panel,.selection-panel-container .shape-align-panel{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;width:100%!important;max-width:100vw!important;flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;transform:none!important;margin:0!important;z-index:1!important;background-color:#2a2a2a!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:12px 16px calc(24px + env(safe-area-inset-bottom)) 16px!important;overflow-y:auto!important;box-sizing:border-box!important;pointer-events:auto!important;white-space:normal!important;flex-shrink:1!important}.shape-order-panel,.shape-rotate-panel,.shape-align-panel{display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:16px!important}}
