@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-0:0px;--r-xs:2px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:9999px;--clr-blue-600:#06c;--clr-blue-700:#0052a3;--clr-blue-200:#cce0ff;--clr-blue-100:#e0eeff;--clr-blue-50:#eff6ff;--clr-red-600:#dc2626;--clr-red-50:#fef2f2;--clr-green-700:#166534;--clr-green-50:#f0fdf4;--clr-orange-600:#e65c00;--clr-gray-900:#111;--clr-gray-800:#222;--clr-gray-700:#333;--clr-gray-600:#444;--clr-gray-500:#666;--clr-gray-400:#888;--clr-gray-300:#aaa;--clr-gray-200:#ccc;--clr-gray-150:#ddd;--clr-gray-100:#eee;--clr-gray-50:#f5f5f5;--clr-white:#fff;--clr-primary:var(--clr-blue-600);--clr-primary-hover:var(--clr-blue-700);--clr-danger:var(--clr-red-600);--clr-focus:var(--clr-blue-600);--clr-border:var(--clr-gray-150);--clr-border-subtle:#f0f0f0;--clr-surface:var(--clr-white);--clr-surface-raised:var(--clr-gray-50);--clr-text-primary:var(--clr-gray-800);--clr-text-secondary:var(--clr-gray-500);--clr-text-tertiary:var(--clr-gray-300);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-display:29px;--text-headline:24px;--text-title:20px;--text-body:14px;--text-label:12px;--text-caption:11px;--dur-instant:50ms;--dur-fast:.1s;--dur-normal:.2s;--dur-slow:.3s;--dur-slower:.5s;--ease-out:cubic-bezier(0, 0, .58, 1);--ease-in:cubic-bezier(.42, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 16px #0000001f, 0 2px 6px #00000014;--shadow-lg:0 8px 32px #0000002e, 0 4px 12px #0000001a;--shadow-focus:0 0 0 3px #0066cc40;--state-hover:#0000000f;--state-pressed:#0000001f;--state-disabled-opacity:.38}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--text-body);color:var(--clr-text-primary);background:var(--clr-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.resize-warning{z-index:9999;opacity:0;pointer-events:none;background:#000000e0;justify-content:center;align-items:center;padding:24px;transition:opacity .25s;display:flex;position:fixed;inset:0}.resize-warning--visible{opacity:1;pointer-events:all}.resize-warning-card{text-align:center;background:#fff;border:1px solid #000;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;padding:40px 44px;transition:transform .25s;display:flex;transform:translateY(8px)}.resize-warning--visible .resize-warning-card{transform:translateY(0)}.resize-warning-icon{color:#222;line-height:1}.resize-warning-title{letter-spacing:-.03em;color:#111;margin:0;font-size:20px;font-weight:700}.resize-warning-msg{color:#444;margin:0;font-size:14px;line-height:1.6}.resize-warning-msg strong{color:#111}.resize-warning-meter{background:#eee;border-radius:3px;width:100%;height:6px;overflow:hidden}.resize-warning-meter-fill{background:#111;border-radius:3px;height:100%;transition:width .1s linear}.resize-warning-width{color:#999;letter-spacing:.04em;font-variant-numeric:tabular-nums;margin:0;font-size:11px;font-weight:600}.bnx-logo{-webkit-user-select:none;user-select:none;background:0 0;border:none;outline:none;align-items:center;gap:9px;padding:0;text-decoration:none;display:inline-flex}.bnx-logo:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #8b9a1b}.bnx-logo-icon{border-radius:50%;flex-shrink:0;display:block}.bnx-logo-wordmark{color:#111;letter-spacing:-.02em;white-space:nowrap;font-family:Baskerville,Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;font-weight:400;line-height:1}input,select,textarea,button{font-family:inherit;font-size:var(--text-label)}button{cursor:pointer}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--r-full);background:#ccc}::-webkit-scrollbar-thumb:hover{background:#999}:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px;border-radius:var(--r-xs)}.overlay{z-index:1000;animation:overlay-in var(--dur-slow) var(--ease-out);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay.hidden{display:none}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.dialog{background:var(--clr-surface);border:1px solid var(--clr-border);max-height:90vh;box-shadow:var(--shadow-lg);border-radius:var(--r-md);animation:dialog-in var(--dur-slow) var(--ease-out);overflow-y:auto}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.dialog-hd{border-bottom:1px solid var(--clr-border);letter-spacing:-.02em;justify-content:space-between;align-items:center;padding:18px 22px;font-size:17px;font-weight:700;display:flex}.dialog-bd{padding:22px}.dialog-ft{border-top:1px solid var(--clr-border-subtle);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.fg{margin-bottom:14px}.fg label{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-tertiary);margin-bottom:5px;font-weight:700;display:block}.fg:last-child{margin-bottom:0}.frow{gap:10px;display:flex}.frow .fg{flex:1}input[type=text],input[type=number],input[type=url],select,textarea{border:1px solid var(--clr-border);background:var(--clr-surface);border-radius:var(--r-sm);width:100%;transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);outline:none;padding:7px 9px}input:focus,select:focus,textarea:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #0066cc26}textarea{resize:vertical;min-height:54px}.preset-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.po{position:relative}.po input{opacity:0;pointer-events:none;position:absolute}.po label{border:2px solid var(--clr-border);text-align:center;cursor:pointer;border-radius:var(--r-sm);transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);padding:9px 10px;display:block}.po label .pn{font-weight:600;font-size:var(--text-label);display:block}.po label .ps{color:var(--clr-text-tertiary);font-size:10px}.po input:checked+label{border-color:var(--clr-gray-900);background:var(--clr-gray-900);color:var(--clr-white)}.po input:checked+label .ps{color:#ccc}.custom-fields{margin-top:10px;display:none}.custom-fields.on{gap:10px;display:flex}.btn{border:1px solid var(--clr-gray-900);background:var(--clr-surface);color:var(--clr-gray-900);font-weight:600;font-size:var(--text-label);border-radius:var(--r-sm);transition:background-color var(--dur-normal) var(--ease-out), border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);align-items:center;gap:5px;padding:7px 16px;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";border-radius:inherit;transition:background var(--dur-normal) var(--ease-out);pointer-events:none;background:0 0;position:absolute;inset:0}.btn:hover:after{background:var(--state-hover)}.btn:active{transform:translateY(1px)scale(.98)}.btn:active:after{background:var(--state-pressed)}.btn:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px}.btn:disabled{opacity:var(--state-disabled-opacity);cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--clr-gray-900);color:var(--clr-white)}.btn-primary:hover{background:var(--clr-gray-700)}.btn-blue{background:var(--clr-primary);color:var(--clr-white);border-color:var(--clr-primary)}.btn-blue:hover{background:var(--clr-primary-hover);border-color:var(--clr-primary-hover)}.btn-sm{font-size:var(--text-caption);padding:4px 10px}.btn-icon{border:1px solid var(--clr-border);border-radius:var(--r-sm);width:28px;height:28px;transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{border-color:var(--clr-gray-900);background:var(--clr-gray-100)}.btn-icon:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px}.btn-danger{color:var(--clr-danger);border-color:var(--clr-danger)}.btn-danger:hover{background:var(--clr-danger);color:var(--clr-white)}#editor{flex-direction:column;height:100vh;display:none}#editor.on{display:flex}.toolbar{border-bottom:1px solid var(--clr-border);background:var(--clr-surface);flex-shrink:0;align-items:center;gap:8px;height:46px;padding:0 14px;display:flex;overflow-x:auto}.toolbar-title{font-weight:700;font-size:var(--text-body);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:8px;margin-right:auto;display:flex}.toolbar-title span{color:var(--clr-text-tertiary);font-weight:400;font-size:var(--text-caption);margin-left:4px}.toolbar-title strong{color:var(--clr-text-primary);font-weight:600}.tb-div{background:#ddd;flex-shrink:0;width:1px;height:22px}.tb-unsaved{color:#f90;vertical-align:middle;margin-left:4px;font-size:10px}.btn-save-dirty{color:#d06000!important;border-color:#f90!important}.editor-main{flex:1;display:flex;overflow:hidden}.sidebar-l{border-right:1px solid var(--clr-border);background:var(--clr-surface);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.sl-tabs{border-bottom:1px solid var(--clr-border);flex-shrink:0;display:flex}.sl-tab{font-size:var(--text-caption);cursor:pointer;color:var(--clr-text-tertiary);letter-spacing:.01em;transition:color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:7px 4px;font-weight:600}.sl-tab.on{color:var(--clr-gray-900);border-bottom-color:var(--clr-gray-900)}.sl-tab:hover:not(.on){color:var(--clr-gray-600);background:var(--clr-surface-raised)}.sl-tab:focus-visible{outline:2px solid var(--clr-focus);outline-offset:-2px}.sl-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.sl-banner-tab{font-size:var(--text-caption)}.sl-section{border-bottom:1px solid var(--clr-border-subtle);padding:10px 10px 8px}.sl-section-hd{text-transform:uppercase;letter-spacing:.07em;color:var(--clr-text-tertiary);padding:6px 10px 4px;font-size:10px;font-weight:700}.sl-section-hd--list{border-top:1px solid var(--clr-border-subtle);align-items:center;gap:5px;display:flex}.sl-count{background:var(--clr-gray-100);color:var(--clr-text-secondary);border-radius:var(--r-full);padding:0 5px;font-size:10px;font-weight:600}.sl-banner-cur-name{font-size:var(--text-label);min-height:18px;margin-bottom:7px}.sl-unnamed{color:var(--clr-text-tertiary);font-style:italic}.sl-banner-actions{flex-wrap:wrap;gap:4px;display:flex}.sl-warn{font-size:var(--text-caption);color:#7a5800;background:#fff8e1;border-bottom:1px solid #ffe082;padding:8px 10px}.sl-empty{font-size:var(--text-caption);color:var(--clr-text-tertiary);text-align:center;padding:16px 10px}.sl-banner-list{flex:1;overflow-y:auto}.sl-bnr-item{border-bottom:1px solid var(--clr-border-subtle);transition:background var(--dur-normal) var(--ease-out);align-items:center;gap:6px;padding:6px 10px;display:flex}.sl-bnr-item:hover{background:var(--clr-surface-raised)}.sl-bnr-item.active{background:var(--clr-blue-50)}.sl-bnr-name{font-weight:600;font-size:var(--text-label);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:color var(--dur-normal) var(--ease-out);overflow:hidden}.sl-bnr-name:hover{color:var(--clr-primary)}.sl-bnr-date{color:var(--clr-text-tertiary);font-size:10px}.sl-bnr-acts{flex-shrink:0;gap:2px;display:flex}.sl-storage{color:var(--clr-text-tertiary);border-top:1px solid var(--clr-border-subtle);flex-shrink:0;margin-top:auto;padding:5px 10px;font-size:10px}.sl-design-tab{flex-direction:column;display:flex}.ds-pane--sl{padding:10px}.ds-pane--sl .fg{margin-bottom:10px}.panel{flex-direction:column;display:flex;overflow:hidden}.panel-hd{text-transform:uppercase;letter-spacing:.08em;color:var(--clr-text-tertiary);border-bottom:1px solid var(--clr-border-subtle);flex-shrink:0;padding:8px 12px;font-size:10px;font-weight:700}#layers-panel{flex:1;min-height:0}#layers-list{flex:1;overflow-y:auto}.layer-item{cursor:pointer;border-bottom:1px solid var(--clr-border-subtle);font-size:var(--text-caption);-webkit-user-select:none;user-select:none;transition:background var(--dur-normal) var(--ease-out);align-items:center;gap:2px;padding:3px 4px 3px 0;display:flex}.layer-item:hover{background:var(--clr-surface-raised)}.layer-item.sel{border-left:2px solid var(--clr-primary);background:var(--clr-blue-100)!important}.layer-icon{text-align:center;width:14px;color:var(--clr-text-tertiary);flex-shrink:0;font-size:9px}.layer-name{text-overflow:ellipsis;white-space:nowrap;color:var(--clr-text-primary);flex:1;overflow:hidden}.layer-acts{opacity:0;transition:opacity var(--dur-normal) var(--ease-out);gap:1px;display:flex}.layer-item:hover .layer-acts{opacity:1}.la-btn{cursor:pointer;width:18px;height:18px;color:var(--clr-text-tertiary);border-radius:var(--r-xs);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:10px;display:flex}.la-btn:hover{background:var(--clr-gray-100);color:var(--clr-gray-700)}.la-btn.del:hover{background:var(--clr-danger);color:var(--clr-white)}.la-toggle{color:var(--clr-text-tertiary);border-radius:var(--r-xs);flex-shrink:0;width:16px;height:16px;font-size:8px}.la-toggle:hover{background:var(--clr-gray-100)!important;color:var(--clr-text-primary)!important}.la-toggle-placeholder{flex-shrink:0;width:16px;height:16px;display:inline-block}.layer-empty{color:var(--clr-text-tertiary);font-size:var(--text-caption);text-align:center;padding:16px 12px}#el-panel{border-top:1px solid var(--clr-border);flex-shrink:0}.el-grid{grid-template-columns:repeat(2,1fr);gap:5px;padding:8px 10px;display:grid}.el-btn{border:1px solid var(--clr-border);background:var(--clr-surface);text-align:center;cursor:grab;font-size:var(--text-caption);border-radius:var(--r-sm);transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:3px;padding:9px 6px;font-weight:600;display:flex}.el-btn:hover{border-color:var(--clr-gray-900);background:var(--clr-surface-raised);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.el-btn:active{cursor:grabbing;box-shadow:var(--shadow-md);transform:scale(1.03)}.el-btn:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px}.el-btn .ei{font-size:15px}.canvas-area{touch-action:none;background-color:#b6b6c0;background-image:radial-gradient(circle,#ffffff52 1px,#0000 1px);background-position:0 0;background-size:24px 24px;flex-direction:column;flex:1;align-items:center;min-width:0;padding:24px 60px 40px;display:flex;position:relative;overflow:hidden}.canvas-area.pan-ready{cursor:grab!important}.canvas-area.pan-ready .cel,.canvas-area.pan-ready #canvas{cursor:grab!important;pointer-events:none!important}.canvas-area.is-panning{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.canvas-area.is-panning *{pointer-events:none!important}.canvas-info{color:#666;flex-shrink:0;align-items:center;gap:12px;margin-bottom:12px;font-size:11px;display:flex}.fvt{z-index:200;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d0d0d8;border-radius:6px;width:196px;position:absolute;overflow:hidden;box-shadow:0 4px 20px #00000029,0 1px 4px #00000014;pointer-events:auto!important}.fvt-handle{cursor:grab;background:#f2f2f6;border-bottom:1px solid #e2e2ea;align-items:center;gap:5px;padding:5px 8px 4px;display:flex}.fvt-handle:active,.fvt--dragging .fvt-handle{cursor:grabbing}.fvt-grip{color:#bbb;letter-spacing:-1px;font-size:12px;line-height:1}.fvt-title{text-transform:uppercase;letter-spacing:.07em;color:#888;flex:1;font-size:10px;font-weight:700}.fvt-handle-hint{color:#c8c8d0;font-size:9px}.fvt-body{flex-direction:column;gap:5px;padding:7px 8px;display:flex}.fvt-row{align-items:center;gap:4px;display:flex}.fvt-label{color:#aaa;flex-shrink:0;width:32px;font-size:10px}.fvt-zoom-pct{color:#333;text-align:right;flex-shrink:0;min-width:30px;font-size:11px;font-weight:700}.fvt-select{cursor:pointer;background:#fff;border:1px solid #ccc;outline:none;flex:1;height:22px;padding:2px 3px;font-size:11px}.fvt-select:focus{border-color:#000}.fvt-btn{font-size:var(--text-caption);background:var(--clr-surface);cursor:pointer;color:var(--clr-gray-600);white-space:nowrap;border-radius:var(--r-xs);text-align:center;transition:background var(--dur-normal) var(--ease-out), border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);border:1px solid #d0d0d8;flex:1;padding:3px 5px;line-height:1.5}.fvt-btn:hover{color:var(--clr-gray-900);background:#f0f0f6;border-color:#999}.fvt-btn:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px}.fvt-hint{color:#c0c0c8;text-align:center;white-space:nowrap;text-overflow:ellipsis;padding-top:1px;font-size:9px;overflow:hidden}.canvas-wrap{transform-origin:top;flex-shrink:0;position:relative;box-shadow:0 4px 32px #00000052,0 0 0 1px #0000001a}#canvas{background:#fff;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;display:flex;position:relative;overflow:visible}.canvas-wrap.has-oob:after{content:"";pointer-events:none;z-index:9999;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #f60}.cel.abs-mode{z-index:20!important;position:absolute!important}#c-grid{pointer-events:none;z-index:0;position:absolute;inset:0}.g-line{background:#0064ff14;width:1px;position:absolute;top:0;bottom:0}.g-center{background:#0064ff0a;border-left:1px dashed #0064ff0f;width:0}.g-col-hl{pointer-events:none;z-index:4;background:#0066cc1a;position:absolute;top:0;bottom:0}.g-row-line{pointer-events:none;z-index:7;background:#0066cc38;height:1px;position:absolute;left:0;right:0}.cel{cursor:move;z-index:2;touch-action:none;-webkit-user-select:none;user-select:none;transition:box-shadow var(--dur-normal) var(--ease-out);border:1px dashed #648cdc38;position:relative;overflow:visible}.cel *{-webkit-user-select:none!important;user-select:none!important}.cel:hover{border-style:dashed;border-color:#0000004d}.cel.sel{border-color:var(--clr-primary);outline:2px solid var(--clr-primary);z-index:1000;border-style:solid;overflow:visible;box-shadow:0 2px 16px #0066cc38}.cel.editing{cursor:default;-webkit-user-select:text;user-select:text;outline:2px solid var(--clr-primary)}.cel.editing *{-webkit-user-select:text!important;user-select:text!important}.cel.editing [contenteditable]{cursor:text}.cel.editing [contenteditable]:focus{border-radius:var(--r-xs);background:#0066cc0a;outline:none}body.grid-off .cel{border-color:#0000}body.grid-off .cel.sel{border-style:solid;border-color:#06c;outline:2px solid #06c;box-shadow:0 2px 16px #0066cc38}.cel.hidden-el{display:none}.cel.dragging{opacity:.45;pointer-events:none;box-shadow:var(--shadow-md);transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-spring);transform:scale(1.02)}.layer-item.layer-row-item{background:var(--clr-surface-raised);border-left:3px solid var(--clr-gray-200)}.layer-item.layer-row-item.sel{background:var(--clr-blue-50);border-left-color:var(--clr-primary)}.layer-item.layer-nest-drop{outline-offset:-2px;outline:2px solid #2a5;background:#f0fff4!important}.cel.out-of-bounds{opacity:.4!important;border-color:#f60!important;outline:2px dashed #f60!important}.cel.cel-overflow{background-color:#ee22220f!important;outline:2px dashed #e22!important}.layer-item.layer-oob .layer-name{color:#c20;font-weight:600}.layer-item.layer-oob .layer-icon{color:#c20}#c-placeholder{color:#ccc;pointer-events:none;z-index:1;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.drop-guide{background:var(--clr-blue-100);border:1px dashed var(--clr-primary);pointer-events:none;z-index:100;display:none;position:absolute;top:0;bottom:0}.img-ph{color:#bbb;background:#f0f0f0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;min-height:40px;font-size:11px;display:flex}.img-ph span{font-size:22px}.sidebar-r{border-left:1px solid var(--clr-border);background:var(--clr-surface);flex-shrink:0;width:270px;overflow-y:auto}.props-empty{padding:0}.ps{border-bottom:1px solid var(--clr-border-subtle);padding:12px 14px}.ps-title{text-transform:uppercase;letter-spacing:.08em;color:var(--clr-text-tertiary);margin-bottom:8px;font-size:10px;font-weight:700}.ps-title-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--dur-normal) var(--ease-out);justify-content:space-between;align-items:center;margin-bottom:0;padding:1px 0;display:flex}.ps-title-toggle:hover{color:#777}.ps-open .ps-title-toggle{margin-bottom:8px}.ps-chevron{color:var(--clr-text-tertiary);font-size:10px;line-height:1}.pbg-flex{flex-wrap:wrap;gap:2px;margin-top:2px;display:flex}.pbg-flex .pbg-btn{border:1px solid var(--clr-border);border-radius:0;flex:auto;min-width:36px}.pr{margin-bottom:9px}.pr:last-child{margin-bottom:0}.pl{font-size:var(--text-caption);color:var(--clr-text-secondary);margin-bottom:3px;display:block}.pi{border:1px solid var(--clr-border);width:100%;font-size:var(--text-label);border-radius:var(--r-xs);transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);outline:none;padding:5px 7px}.pi:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #0066cc1f}.psel{border:1px solid var(--clr-border);width:100%;font-size:var(--text-label);background:var(--clr-surface);border-radius:var(--r-xs);transition:border-color var(--dur-normal) var(--ease-out);outline:none;padding:5px 7px}.psel:focus{border-color:var(--clr-primary)}.pta{border:1px solid var(--clr-border);width:100%;font-size:var(--text-label);resize:vertical;border-radius:var(--r-xs);min-height:52px;transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);outline:none;padding:5px 7px;font-family:inherit}.pta:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #0066cc1f}.color-row{align-items:center;gap:6px;display:flex}.ci{border:1px solid var(--clr-border);cursor:pointer;border-radius:var(--r-xs);width:30px;height:30px;transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);flex-shrink:0;padding:2px}.ci:hover{border-color:var(--clr-gray-900);box-shadow:var(--shadow-sm)}.ct{border:1px solid var(--clr-border);font-size:var(--text-label);border-radius:var(--r-xs);transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);outline:none;flex:1;padding:5px 7px}.ct:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #0066cc1f}.swatches{flex-wrap:wrap;gap:3px;margin-top:5px;display:flex}.sw{border:1px solid var(--clr-border);cursor:pointer;border-radius:var(--r-xs);width:18px;height:18px;transition:transform var(--dur-fast) var(--ease-spring), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-shrink:0}.sw:hover{border-color:var(--clr-gray-900);box-shadow:var(--shadow-sm);transform:scale(1.3)}.range-row{align-items:center;gap:6px;display:flex}.prange{-webkit-appearance:none;background:#ddd;outline:none;flex:1;height:3px}.prange::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#000;width:13px;height:13px}.rval{color:#777;text-align:right;width:32px;font-size:11px}.pbg{grid-template-columns:repeat(3,1fr);display:grid}.pbg-btn{border:1px solid var(--clr-border);background:var(--clr-surface);font-size:var(--text-caption);cursor:pointer;text-align:center;transition:background var(--dur-normal) var(--ease-out), border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);padding:5px 6px}.pbg-btn+.pbg-btn{border-left:none}.pbg-btn.on{background:var(--clr-gray-900);color:var(--clr-white);border-color:var(--clr-gray-900)}.pbg-btn:hover:not(.on){background:var(--clr-gray-100)}.frow2{gap:6px;display:flex}.frow2 .fg{flex:1}.props-tabs{border-bottom:1px solid var(--clr-border);background:var(--clr-surface);flex-shrink:0;display:flex}.props-tab{font-size:var(--text-caption);cursor:pointer;color:var(--clr-text-tertiary);transition:color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px;font-weight:600}.props-tab.on{color:var(--clr-gray-900);border-bottom-color:var(--clr-gray-900)}.props-tab:hover:not(.on){color:var(--clr-gray-700);background:var(--clr-surface-raised)}.props-tab:focus-visible{outline:2px solid var(--clr-focus);outline-offset:-2px}.li-editor{flex-direction:column;gap:3px;display:flex}.li-row{align-items:center;gap:3px;display:flex}.li-row input{flex:1}.li-rm{color:#e00;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:flex}.li-rm:hover{background:#fff0f0}.add-li{border:1px dashed var(--clr-border);cursor:pointer;font-size:var(--text-caption);color:var(--clr-text-tertiary);border-radius:var(--r-xs);width:100%;transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);background:0 0;margin-top:3px;padding:3px 7px}.add-li:hover{border-color:var(--clr-gray-900);color:var(--clr-gray-900)}.banner-prop-section{border-bottom:1px solid #f0f0f0;padding:12px 14px}.bps-title{text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin-bottom:8px;font-size:10px;font-weight:700}.img-drop-zone{border:2px dashed var(--clr-border);text-align:center;cursor:pointer;font-size:var(--text-caption);color:var(--clr-text-tertiary);border-radius:var(--r-sm);transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);margin-top:4px;padding:10px}.img-drop-zone:hover{border-color:var(--clr-primary);color:var(--clr-gray-700);background:var(--clr-blue-50)}.ds-tabs{border-bottom:1px solid var(--clr-border);display:flex}.ds-tab{font-size:var(--text-caption);cursor:pointer;color:var(--clr-text-tertiary);transition:color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:9px;font-weight:600}.ds-tab:hover:not(.on){color:var(--clr-text-secondary);background:var(--clr-surface-raised)}.ds-tab.on{color:var(--clr-text-primary);border-bottom-color:var(--clr-text-primary)}.ds-tab:focus-visible{outline:2px solid var(--clr-focus);outline-offset:-2px}.ds-pane{padding:14px}.ds-pane.hidden{display:none}.ds-item{border-bottom:1px solid var(--clr-border-subtle);align-items:center;gap:10px;padding:7px 0;display:flex}.ds-swatch{border:1px solid var(--clr-border);flex-shrink:0;width:28px;height:28px}.ds-info{flex:1}.ds-name{font-weight:600;font-size:var(--text-label)}.ds-detail{color:var(--clr-text-tertiary);font-size:10px}.ds-acts{gap:3px;display:flex}.font-drop{border:2px dashed var(--clr-border);text-align:center;cursor:pointer;font-size:var(--text-caption);color:var(--clr-text-tertiary);border-radius:var(--r-sm);transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);margin-top:6px;padding:12px;display:block}.font-drop:hover{border-color:var(--clr-primary);color:var(--clr-gray-700);background:var(--clr-blue-50)}.code-preview{white-space:pre-wrap;word-break:break-all;background:#f5f5f5;border:1px solid #ddd;max-height:260px;margin-bottom:14px;padding:10px;font-family:SF Mono,Fira Code,monospace;font-size:10px;line-height:1.5;overflow-y:auto}.gads-dialog{flex-direction:column;display:flex;width:680px!important}.gads-header-name{color:#888;margin-left:8px;font-size:13px;font-weight:400}.gads-dim-badge{color:#555;background:#eee;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.gads-tabs{background:#fafafa;border-bottom:1px solid #e5e5e5;gap:0;padding:0 20px;display:flex}.gads-tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;font-size:13px;font-weight:500;transition:color .15s;display:flex}.gads-tab:hover{color:#333}.gads-tab--active{color:#000;border-bottom-color:#000}.gads-tab-badge{border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600}.gads-tab-badge--ok{color:#065f46;background:#d1fae5}.gads-tab-badge--warn{color:#92400e;background:#fef3c7}.gads-tab-badge--fail{color:#991b1b;background:#fee2e2}.gads-tab-badge--gif{color:#5b21b6;background:#ede9fe}.gads-tab-badge--resp{color:#065f46;background:#d1fae5}.gif-settings{flex-direction:column;gap:14px;display:flex}.gif-settings-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gif-settings-label{color:#444;min-width:140px;font-size:12px;font-weight:600}.gif-fps-group{gap:6px;display:flex}.gif-fps-btn{border:1px solid var(--clr-border);background:var(--clr-surface);font-size:var(--text-label);color:var(--clr-text-secondary);cursor:pointer;border-radius:var(--r-sm);transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);padding:4px 12px;font-weight:500}.gif-fps-btn:hover{background:#f5f5f5;border-color:#999}.gif-fps-btn--active{color:#fff;background:#000;border-color:#000}.gif-duration-slider{accent-color:#000;flex:1;min-width:120px;max-width:200px}.gif-duration-value{color:#333;text-align:right;min-width:36px;font-size:12px;font-weight:600}.gif-info-box{color:#4c1d95;background:#f5f3ff;border:1px solid #ddd6fe;gap:10px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.gif-info-icon{flex-shrink:0;margin-top:1px;font-size:14px}.gif-progress{margin-top:6px}.gif-progress-track{background:#e5e5e5;border-radius:4px;height:8px;overflow:hidden}.gif-progress-fill{background:#7c3aed;border-radius:4px;height:100%;transition:width .2s}.gif-progress-label{color:#555;text-align:right;margin-top:4px;font-size:11px}.resp-bp-list{flex-direction:column;gap:8px;display:flex}.resp-bp-row{background:#fafafa;border:1px solid #eee;align-items:center;gap:10px;padding:8px 10px;display:flex}.resp-bp-icon{flex-shrink:0;font-size:16px}.resp-bp-info{flex-direction:column;flex:1;gap:2px;display:flex}.resp-bp-label{color:#222;font-size:12px;font-weight:600}.resp-bp-dim{color:#888;font-size:11px}.resp-bp-size{color:#059669;white-space:nowrap;font-size:11px;font-weight:600}.resp-bp-thumb{object-fit:contain;background:#fff;border:1px solid #ddd;max-width:80px;max-height:50px}.resp-total-size{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;justify-content:space-between;align-items:center;margin-top:6px;padding:8px 10px;font-size:12px;display:flex}.gads-body{flex:1;padding:16px 20px;overflow-y:auto}.gads-url-row{margin-bottom:14px}.gads-label{color:#555;text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.gads-url-input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:7px 10px;font-size:12px}.gads-url-input:focus{border-color:#000;outline:none}.gads-muted{color:#888}.gads-panel{flex-direction:column;gap:16px;display:flex}.gads-section{border:1px solid #e8e8e8;border-radius:6px;overflow:hidden}.gads-section-title{text-transform:uppercase;letter-spacing:.5px;color:#444;background:#f7f7f7;border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:700;display:flex}.gads-sizebar{padding:10px 12px}.gads-sizebar-track{background:#e5e5e5;border-radius:4px;height:8px;margin-bottom:6px;position:relative;overflow:visible}.gads-sizebar-fill{border-radius:4px;height:100%;transition:width .3s,background .3s}.gads-sizebar-marker{background:#d69e2e;border-radius:1px;width:2px;height:14px;position:absolute;top:-3px;transform:translate(-50%)}.gads-sizebar-labels{align-items:center;gap:8px;font-size:12px;display:flex}.gads-summary{text-transform:none;letter-spacing:0;gap:8px;font-size:12px;font-weight:400;display:flex}.gads-sum-pass{color:#38a169}.gads-sum-warn{color:#d69e2e}.gads-sum-fail{color:#e53e3e}.gads-checklist{flex-direction:column;display:flex}.gads-check{border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:10px;padding:8px 12px;display:flex}.gads-check:last-child{border-bottom:none}.gads-check--pass{background:#fff}.gads-check--fail{background:#fff5f5}.gads-check--warn{background:#fffbeb}.gads-check--info{background:#fff}.gads-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:11px;font-weight:700;display:inline-flex}.gads-icon--pass{color:#276749;background:#c6f6d5}.gads-icon--fail{color:#c53030;background:#fed7d7}.gads-icon--warn{color:#975a16;background:#fefcbf}.gads-icon--info{color:#2a69ac;background:#bee3f8}.gads-check-body{flex:1;min-width:0}.gads-check-label{color:#222;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.gads-crit-badge{color:#c53030;text-transform:uppercase;letter-spacing:.3px;background:#fed7d7;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.gads-check-detail{color:#555;margin-top:2px;font-size:11px}.gads-check-tip{color:#975a16;margin-top:3px;font-size:11px}.gads-sizes-grid{flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex}.gads-size-chip{color:#555;text-align:center;background:#fafafa;border:1px solid #e5e5e5;border-radius:6px;flex-direction:column;align-items:center;gap:1px;min-width:80px;padding:6px 10px;font-size:10px;display:flex}.gads-size-chip strong{color:#222;font-size:12px}.gads-size-chip--active{background:#f5f0ff;border-color:#7c5cfc}.gads-size-chip--active strong{color:#7c5cfc}.gads-result{border-radius:6px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:12px;display:flex}.gads-result p{color:#555;margin:3px 0 0;font-size:11px}.gads-result--pass{background:#f0fff4;border:1px solid #9ae6b4}.gads-result--fail{background:#fff5f5;border:1px solid #feb2b2}.gads-result--warn{background:#fffbeb;border:1px solid #f6e05e}.gads-result-icon{flex-shrink:0;font-size:20px;line-height:1}.gads-result--pass .gads-result-icon{color:#38a169}.gads-result--fail .gads-result-icon{color:#e53e3e}.gads-result--warn .gads-result-icon{color:#d69e2e}.export-fluid-toggle{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gif-bp-picker{flex-wrap:wrap;gap:6px;display:flex}.gads-compress-note{color:#744210;background:#fffbeb;border:1px solid #f6e05e;border-radius:4px;margin-top:6px;padding:5px 8px;font-size:11px}.gads-compress-note--ok{color:#276749;background:#f0fff4;border-color:#9ae6b4}.gads-size-spinner{font-size:11px}.gads-footer{justify-content:flex-end;gap:8px;display:flex}.bnr-list{border-top:1px solid #eee;flex-direction:column;max-height:400px;display:flex;overflow-y:auto}.bnr-item{background:#fff;border-bottom:1px solid #f2f2f2;align-items:center;gap:10px;padding:10px 16px;transition:background .1s;display:flex}.bnr-item:hover{background:#fafafa}.bnr-item.active{background:#eff6ff}.bnr-item:last-child{border-bottom:none}.bnr-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.bnr-name--click{cursor:pointer}.bnr-name--click:hover{color:#06c}.bnr-meta{color:#bbb;margin-top:2px;font-size:10px}.bnr-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--clr-primary);color:var(--clr-white);border-radius:var(--r-full);white-space:nowrap;padding:1px 6px;font-size:9px;font-weight:700}.bnr-empty{text-align:center;color:var(--clr-text-tertiary);font-size:var(--text-caption);padding:32px}.bnr-rename-input{border:none;border-bottom:1.5px solid var(--clr-primary);font-weight:600;font-size:var(--text-label);background:0 0;outline:none;width:100%;padding:0}.bnr-unsaved-warn{color:#7a5800;background:#fff8e1;border-bottom:1px solid #ffe082;padding:12px 16px;font-size:12px}.bnr-dupe-overlay{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffe0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.bnr-dupe-box{background:#fff;border:1px solid #000;width:90%;max-width:380px;padding:24px 28px;box-shadow:0 8px 32px #0000002e}.bnr-dupe-title{margin-bottom:10px;font-size:15px;font-weight:700}.bnr-dupe-msg{color:#444;margin:0 0 18px;font-size:12px;line-height:1.5}.bnr-dupe-actions{justify-content:flex-end;gap:8px;display:flex}.toast{z-index:10000;color:var(--clr-white);border-radius:var(--r-md);font-size:var(--text-label);box-shadow:var(--shadow-lg);pointer-events:none;min-width:240px;max-width:380px;animation:toast-in var(--dur-slow) var(--ease-out);background:#1e1e1e;border-left:3px solid #ffffff4d;align-items:center;gap:8px;padding:10px 16px 10px 14px;font-weight:500;display:flex;position:fixed;top:20px;right:20px}.toast--success{background:#1a3a1a;border-left-color:#4ade80}.toast--info{background:#1a2a3a;border-left-color:#60a5fa}.toast--warning{background:#3a2a00;border-left-color:#fbbf24}.toast--error{background:#3a0a0a;border-left-color:#f87171}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast-exit{animation:toast-out var(--dur-normal) var(--ease-in) forwards}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.cel.sel:after{content:"⋮";color:#06c;opacity:.7;pointer-events:none;font-size:10px;line-height:1;position:absolute;top:50%;right:2px;transform:translateY(-50%)}@keyframes bg-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bg-slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes bg-slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes bg-slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bg-zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bg-bounceIn{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes bg-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes bg-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes bg-marquee{0%{transform:translate(110%)}to{transform:translate(-110%)}}@keyframes bg-slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes bg-rotate360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bg-rotatePulse{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.05)}}@keyframes bg-flipInX{0%{opacity:0;transform:perspective(400px)rotateX(90deg)}to{opacity:1;transform:perspective(400px)rotateX(0)}}@keyframes bg-flipInY{0%{opacity:0;transform:perspective(400px)rotateY(90deg)}to{opacity:1;transform:perspective(400px)rotateY(0)}}@keyframes bg-fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes bg-fadeInDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes bg-rollIn{0%{opacity:0;transform:translate(-80%)rotate(-120deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes bg-lightSpeedIn{0%{opacity:0;transform:translate(100%)skew(-30deg)}60%{opacity:1;transform:skew(20deg)}80%{transform:skew(-5deg)}to{opacity:1;transform:translate(0)}}@keyframes bg-elastic{0%{opacity:0;transform:scale(0)}55%{opacity:1;transform:scale(1.15)}75%{transform:scale(.92)}90%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes bg-swing{0%,to{transform-origin:top;transform:rotate(0)}20%{transform:rotate(15deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}}@keyframes bg-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-18px)}70%{transform:translateY(-9px)}}@keyframes bg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bg-glow{0%,to{opacity:1;filter:brightness()}50%{opacity:.75;filter:brightness(1.3)}}@keyframes bg-typewriter{0%{width:0;overflow:hidden}to{width:100%}}.list-marquee-wrap{white-space:nowrap;width:100%;display:block;overflow:hidden}.list-marquee-inner{display:inline-block}.list-ticker-wrap{position:relative;overflow:hidden}.list-ticker-wrap li{opacity:0;width:100%;list-style:none;position:absolute;top:0;left:0}#c-pad-overlay{pointer-events:none;z-index:5;background:#008cff0d;border:2px solid #008cff47;display:none;position:absolute}.bp-bar{background:var(--clr-surface);border-bottom:1px solid var(--clr-border);white-space:nowrap;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:4px;min-height:38px;padding:0 10px;display:flex;overflow-x:auto}.bp-btn{border:1px solid var(--clr-border);background:var(--clr-surface);font-size:var(--text-caption);cursor:pointer;color:var(--clr-text-secondary);border-radius:var(--r-sm);transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:4px 12px;font-weight:600;display:inline-flex}.bp-btn:hover{border-color:var(--clr-gray-900);color:var(--clr-gray-900)}.bp-btn.active{background:var(--clr-gray-900);color:var(--clr-white);border-color:var(--clr-gray-900)}.bp-btn.bp-nonbase.active{background:var(--clr-orange-600);border-color:var(--clr-orange-600)}.bp-btn:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px}.bp-btn .bp-close{opacity:.6;cursor:pointer;transition:opacity var(--dur-fast);margin-left:3px;font-size:10px}.bp-btn .bp-close:hover{opacity:1}.bp-add{border:1px dashed var(--clr-border);font-size:var(--text-caption);cursor:pointer;color:var(--clr-text-tertiary);border-radius:var(--r-sm);transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);white-space:nowrap;background:0 0;flex-shrink:0;padding:4px 10px}.bp-add:hover{border-color:var(--clr-gray-900);color:var(--clr-gray-900)}.bp-add-form{flex-shrink:0;align-items:center;gap:6px;display:none}.bp-add-form.on{display:flex}.bp-add-form input{border:1px solid var(--clr-border);font-size:var(--text-caption);border-radius:var(--r-xs);transition:border-color var(--dur-normal) var(--ease-out);outline:none;padding:3px 7px}.bp-add-form input:focus{border-color:var(--clr-primary)}.bp-badge{border:1px solid var(--clr-orange-600);color:var(--clr-orange-600);border-radius:var(--r-xs);background:#fff3eb;align-items:center;gap:5px;margin-bottom:8px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.bp-sep{background:var(--clr-border);flex-shrink:0;width:1px;height:18px;margin:0 4px}.tb-icon-btn{border:1px solid var(--clr-border);background:var(--clr-surface);cursor:pointer;border-radius:var(--r-sm);width:28px;height:28px;transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.tb-icon-btn:hover{border-color:var(--clr-gray-900);background:var(--clr-surface-raised)}.tb-icon-btn:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px}.tb-icon-btn.on{background:var(--clr-gray-900);color:var(--clr-white);border-color:var(--clr-gray-900)}.cel.bp-hidden{display:none}.layer-item.el-hidden{opacity:.45}.layer-item.el-hidden .layer-name{text-decoration:line-through}.layer-row-child{background:#00000004}.cel.row-drop-target{background:#0066cc14!important;outline:2px dashed #06c!important}.la-bp-badge{color:#fff;vertical-align:middle;background:#e65c00;border-radius:2px;flex-shrink:0;margin-left:4px;padding:1px 4px;font-size:9px}.img-rh{z-index:2000;box-sizing:border-box;background:#fff;border:2px solid #06c;border-radius:50%;width:11px;height:11px;display:block;position:absolute}.img-rh-tc{cursor:ns-resize;top:-5px;left:50%;transform:translate(-50%)}.img-rh-bc{cursor:ns-resize;bottom:-5px;left:50%;transform:translate(-50%)}.span-rh{z-index:2000;cursor:ew-resize;box-sizing:border-box;background:#fff;border:2px solid #06c;border-radius:50%;width:11px;height:11px;display:block;position:absolute;top:50%;transform:translateY(-50%)}.span-rh-l{left:-5px}.span-rh-r{right:-5px}.align-dot{cursor:pointer;background:#d0d0d0;border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:background .1s,transform .1s}.align-dot:hover{background:#888}.align-dot.on{background:#111}.align-dot.hint{outline-offset:1px;background:#bbb;outline:1px solid #999}.align-ctrl{flex-direction:column;gap:5px;margin-top:3px;display:flex}.align-grid{flex-direction:column;gap:5px;width:fit-content;display:flex}.align-grid-row{gap:5px;display:flex}.align-space-row{gap:4px;display:flex}.align-sp-btn{border:1px solid var(--clr-border);background:var(--clr-surface-raised);cursor:pointer;border-radius:var(--r-xs);min-width:0;transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);flex:1;justify-content:center;align-items:center;padding:4px 2px;display:flex}.align-sp-btn:hover{background:var(--clr-gray-100);border-color:#888}.align-sp-btn.on{background:var(--clr-gray-900);border-color:var(--clr-gray-900);color:var(--clr-white)}.align-sp-btn.on .sp-dot{background:#fff}.sp-icon{pointer-events:none;align-items:center;width:26px;height:8px;display:flex}.sp-icon--between{justify-content:space-between}.sp-icon--around{justify-content:space-around}.sp-icon--evenly{justify-content:space-evenly}.sp-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:4px;height:4px}.align-self-ctrl{align-items:center;gap:5px;margin-top:3px;display:flex}.align-self-dots{align-items:center;gap:5px;display:flex}.align-self-btn{border:1px solid var(--clr-border);background:var(--clr-surface-raised);cursor:pointer;font-size:var(--text-caption);border-radius:var(--r-xs);transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);flex-shrink:0;padding:3px 7px;line-height:1.2}.align-self-btn:hover{background:var(--clr-gray-100);border-color:#888}.align-self-btn.on{background:var(--clr-gray-900);color:var(--clr-white);border-color:var(--clr-gray-900)}.align-content-ctrl{flex-flow:wrap;align-items:center;gap:5px}.align-content-ctrl .align-self-dots{gap:5px}.ao-viewport{z-index:9000;cursor:default;-webkit-user-select:none;user-select:none;background:#1a1a1a;position:fixed;inset:0;overflow:hidden}.ao-viewport.panning{cursor:grabbing}.ao-viewport.connecting{cursor:crosshair}.ao-world{transform-origin:0 0;position:absolute;top:0;left:0}.ao-svg{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.ao-group{pointer-events:none;background:#ff990014;border:2px dashed #ff990073;border-radius:12px;position:absolute}.ao-group-label{color:#ff9900b3;letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:600;position:absolute;top:8px;left:14px}.ao-card{cursor:grab;background:#2a2a2a;border:2px solid #3a3a3a;border-radius:8px;flex-direction:column;width:260px;height:170px;transition:border-color .15s,box-shadow .15s;display:flex;position:absolute;overflow:visible;box-shadow:0 4px 20px #00000073}.ao-card:hover{border-color:#555;box-shadow:0 6px 28px #0009}.ao-card--active{border-color:#06c;box-shadow:0 0 0 3px #0066cc4d,0 6px 28px #0009}.ao-card:active{cursor:grabbing}.ao-card-stripe{border-radius:6px 6px 0 0;flex-shrink:0;height:4px}.ao-card-body{flex-direction:column;flex:1;gap:4px;padding:10px 12px 6px;display:flex;overflow:hidden}.ao-card-name{color:#eee;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ao-card-meta{color:#888;font-size:11px}.ao-card-elems{color:#666;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.ao-card-badge{color:#999;background:#333;border-radius:3px;width:fit-content;margin-top:2px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.ao-card-ft{flex-shrink:0;justify-content:flex-end;gap:6px;padding:6px 12px 8px;display:flex}.ao-card-btn{color:#ccc;cursor:pointer;background:#333;border:1px solid #444;border-radius:4px;padding:3px 9px;font-size:11px;transition:background .1s,border-color .1s}.ao-card-btn:hover{color:#fff;background:#444;border-color:#666}.ao-card-btn--primary{color:#fff;background:#06c;border-color:#06c}.ao-card-btn--primary:hover{background:#07e;border-color:#07e}.ao-handle{cursor:crosshair;opacity:0;z-index:10;pointer-events:all;background:#444;border:2px solid #666;border-radius:50%;width:14px;height:14px;transition:opacity .15s,background .1s,transform .1s;position:absolute;top:50%;transform:translateY(-50%)}.ao-card:hover .ao-handle,.ao-handle:hover{opacity:1}.ao-handle:hover{background:#06c;border-color:#09f;transform:translateY(-50%)scale(1.25)}.ao-handle--left{left:-9px}.ao-handle--right{right:-9px}.ao-hud{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9100;background:#1e1e1eeb;border:1px solid #444;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #00000080}.ao-hud-btn{color:#ccc;cursor:pointer;white-space:nowrap;background:#333;border:1px solid #555;border-radius:5px;padding:4px 10px;font-size:12px;transition:background .1s}.ao-hud-btn:hover{color:#fff;background:#444}.ao-hud-btn.on{color:#fff;background:#06c;border-color:#06c}.ao-hud-btn--close{color:#f88;background:#3a1a1a;border-color:#622}.ao-hud-btn--close:hover{color:#faa;background:#511}.ao-hud-sep{background:#444;flex-shrink:0;width:1px;height:20px}.ao-hud-zoom{color:#888;text-align:center;min-width:40px;font-size:11px}.ao-ctx{z-index:9200;background:#252525;border:1px solid #444;border-radius:7px;min-width:190px;padding:5px 0;font-size:12px;position:fixed;box-shadow:0 8px 30px #0009}.ao-ctx-label{color:#666;text-transform:uppercase;letter-spacing:.06em;padding:5px 14px 3px;font-size:10px;font-weight:700}.ao-ctx-item{color:#ccc;cursor:pointer;align-items:center;gap:8px;padding:7px 14px;transition:background .1s;display:flex}.ao-ctx-item:hover{color:#fff;background:#333}.ao-ctx-item--danger{color:#f77}.ao-ctx-item--danger:hover{color:#f99;background:#3a1515}.ao-ctx-sep{background:#3a3a3a;height:1px;margin:4px 0}.ao-conn-picker{z-index:9300;background:#252525;border:1px solid #444;border-radius:9px;min-width:210px;padding:14px;position:fixed;box-shadow:0 8px 30px #0009}.ao-conn-picker-title{color:#888;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:11px;font-weight:700}.ao-conn-type-btn{color:#ddd;cursor:pointer;text-align:left;background:#2e2e2e;border:1px solid #3a3a3a;border-radius:6px;align-items:center;gap:10px;width:100%;margin-bottom:6px;padding:8px 10px;font-size:12px;transition:background .1s,border-color .1s;display:flex}.ao-conn-type-btn:hover{color:#fff;background:#383838;border-color:#555}.ao-conn-type-btn:last-child{margin-bottom:0}.ao-conn-type-swatch{border-radius:2px;flex-shrink:0;width:24px;height:3px}.ao-conn-ctx{z-index:9200;background:#252525;border:1px solid #444;border-radius:7px;min-width:160px;padding:5px 0;position:fixed;box-shadow:0 8px 30px #0009}.ao-empty{color:#555;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.ao-empty-icon{opacity:.4;font-size:48px}.ao-empty-text{font-size:14px}.ao-conn{fill:none;stroke-linecap:round;cursor:pointer;pointer-events:stroke;transition:opacity .15s}.ao-conn:hover{opacity:.75!important}.ao-conn--abgeleitet{stroke:#06c;stroke-width:2px}.ao-conn--dupliziert{stroke:#2a5;stroke-width:1.5px;stroke-dasharray:6 3}.ao-conn--alternative{stroke:#f90;stroke-width:2.5px}.ao-conn-drag{fill:none;stroke:#888;stroke-width:1.5px;stroke-dasharray:5 4;pointer-events:none;opacity:.7}.is-reordering .cel{transition:opacity var(--dur-normal) var(--ease-out);opacity:.45!important}.is-reordering .cel.sel{box-shadow:var(--shadow-md);transform:scale(1.02);opacity:1!important}.reorder-source{opacity:.45!important;outline:2px dashed var(--clr-primary)!important}.ma-world{transform-origin:0 0;will-change:transform;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.ma-artboard{cursor:pointer;transition:none;position:absolute}.ma-artboard--active{cursor:default}.ma-artboard-hd{-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px 4px 0 0;align-items:center;gap:6px;height:22px;padding:0 8px;display:flex}.ma-artboard--active .ma-artboard-hd{background:0 0;border:none}.ma-artboard-label{color:#666;white-space:nowrap;font-size:11px;font-weight:600}.ma-artboard--active .ma-artboard-label{color:#06c}.ma-artboard-dim{color:#bbb;white-space:nowrap;font-size:10px}.ma-artboard-dup{cursor:pointer;color:#aaa;background:0 0;border:none;border-radius:3px;margin-left:4px;padding:2px 5px;font-size:12px;line-height:1}.ma-artboard-dup:hover{color:#06c;background:#e8f0fb}.ma-artboard-close{cursor:pointer;color:#bbb;background:0 0;border:none;border-radius:3px;margin-left:auto;padding:2px 4px;font-size:11px;line-height:1}.ma-artboard-close:hover{color:#e00;background:#fde}.ma-artboard--active #canvas{outline-offset:0;outline:2px solid #06c}.ma-artboard-hd{cursor:grab}.ma-artboard-hd:active{cursor:grabbing}.ma-artboard:not(.ma-artboard--active):hover .ma-artboard-label{color:#444}.ma-artboard:not(.ma-artboard--active) .ma-artboard-hd{transition:none}.ma-artboard--variant{opacity:1}.ma-artboard--variant .ma-artboard-hd{background:#f5f0ff;border-style:dashed;border-color:#9b6dff #9b6dff currentColor;border-bottom-width:medium}.ma-artboard--variant:hover .ma-artboard-hd{background:#ede8ff;border-color:#7c4dff}.ma-artboard--variant>div:last-child{outline-offset:-1px;outline:1px dashed #9b6dff}.ma-artboard--connected .ma-artboard-hd{border-bottom:2px solid #7c5cfc}.ma-artboard--connected:not(.ma-artboard--active)>div:last-child{outline-offset:-1px;outline:1px solid #c4b5fd}.ma-artboard--connected .ma-artboard-label:after{content:" ▶";color:#7c5cfc;vertical-align:middle;margin-left:2px;font-size:9px}.ma-artboard--selected{outline-offset:-1px;outline:2px solid #f59e0b}.ma-artboard--selected .ma-artboard-hd{background:#fffbeb;border-color:#f59e0b}.ma-artboard--selected .ma-artboard-label{color:#b45309}.ma-artboard-check{cursor:pointer;accent-color:#f59e0b;flex-shrink:0;width:14px;height:14px;margin-right:4px}.ma-hud{border:1px solid var(--clr-border);border-radius:var(--r-md);z-index:50;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);background:#fffffff0;align-items:center;gap:4px;padding:4px 8px;display:flex;position:absolute;bottom:12px;left:12px}.ma-artboard-grid{cursor:pointer;color:#aaa;background:0 0;border:1px solid #0000;border-radius:3px;margin-left:auto;padding:2px 4px;font-size:12px;line-height:1}.ma-artboard-grid:hover{color:#333;border-color:#ccc}.ma-artboard-grid.on{color:#06c;background:#e8f0fb;border-color:#06c}.ma-hud-handle{cursor:grab;color:#bbb;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:13px}.ma-hud-handle:hover{color:#666}.ma-hud-handle:active{cursor:grabbing}.canvas-area--crosshair{cursor:crosshair}.canvas-area--crosshair.is-panning{cursor:grabbing}.canvas-area--crosshair.pan-ready{cursor:grab}.dashboard{background:var(--clr-bg,#f4f4f6);flex-direction:column;height:100vh;font-family:inherit;display:flex}.dashboard-header{background:var(--clr-surface);border-bottom:1px solid var(--clr-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 24px;display:flex}.dashboard-brand,.dashboard-actions{align-items:center;gap:8px;display:flex}.dashboard-body{flex:1;padding:28px;overflow-y:auto}.dashboard-footer{border-top:1px solid var(--clr-border-subtle);height:32px;color:var(--clr-text-tertiary);background:var(--clr-surface);flex-shrink:0;align-items:center;padding:0 24px;font-size:11px;display:flex}.dashboard-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:60vh;display:flex}.dashboard-empty-icon{width:56px;height:56px;color:var(--clr-border);margin:0 auto 18px}.dashboard-empty-title{color:var(--clr-text-primary);margin-bottom:6px;font-size:18px;font-weight:700}.dashboard-empty-desc{color:var(--clr-text-tertiary);font-size:13px}.banner-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.banner-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);flex-direction:column;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex;overflow:hidden}.banner-card:hover{border-color:var(--clr-border-hover,#bbb);transform:translateY(-1px);box-shadow:0 4px 20px #0000001a}.banner-card-thumb{cursor:pointer;flex-shrink:0;overflow:hidden}.dash-thumb{flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:150px;transition:filter .15s;display:flex;position:relative}.banner-card-thumb:hover .dash-thumb{filter:brightness(.93)}.dash-thumb-dims{letter-spacing:-.01em;font-size:13px;font-weight:700}.dash-thumb-count{font-size:11px}.banner-card-info{border-top:1px solid var(--clr-border-subtle);flex:1;padding:12px 14px 10px}.banner-card-name{white-space:nowrap;text-overflow:ellipsis;color:var(--clr-text-primary);margin-bottom:3px;font-size:13px;font-weight:600;overflow:hidden}.banner-card-meta{color:var(--clr-text-tertiary);font-size:11px}.banner-card-actions{border-top:1px solid var(--clr-border-subtle);align-items:center;gap:6px;padding:10px 12px;display:flex}.tb-back-btn{margin-right:4px}.tb-gear{width:30px;height:30px;font-size:15px;transition:transform .25s,background .12s,border-color .12s}.tb-gear.on{color:#fff;background:#000;border-color:#000;transform:rotate(45deg)}.tb-gear-menu{z-index:2147483647;background:#fff;border:1px solid #ddd;border-radius:8px;width:220px;animation:.12s ease-out abm-in;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0000002e}.tb-menu-group{padding:4px 0}.tb-menu-sep{background:#f0f0f0;height:1px;margin:0}.tb-menu-item{color:#222;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 14px;font-size:13px;font-weight:400;transition:background .1s;display:flex}.tb-menu-item:hover{background:#f5f5f5}.tb-menu-item--dirty{color:#d06000}.tb-menu-icon{text-align:center;opacity:.7;flex-shrink:0;width:18px;font-size:13px}.tb-menu-label{text-transform:uppercase;letter-spacing:.06em;color:#aaa;padding:6px 14px 2px;font-size:10px;font-weight:700}.tb-menu-input{box-sizing:border-box;border-radius:5px;outline:none;width:calc(100% - 28px);margin:2px 14px 6px;font-size:12px;display:block;border:1px solid #ddd!important;padding:5px 8px!important}.png-section-label{text-transform:uppercase;letter-spacing:.06em;color:#999;margin-bottom:10px;font-size:10px;font-weight:700}.png-bp-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.png-bp-btn{background:var(--clr-surface-raised);border:2px solid var(--clr-border);border-radius:var(--r-sm);cursor:pointer;transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:16px 10px 12px;display:flex;position:relative}.png-bp-btn:hover{background:#f0f6ff;border-color:#06c}.png-bp-btn.selected{background:#e8f0fb;border-color:#06c}.png-bp-icon{color:#888;display:flex}.png-bp-btn.selected .png-bp-icon{color:#06c}.png-bp-label{color:#333;font-size:12px;font-weight:700}.png-bp-desc{color:#999;font-size:10px}.png-bp-check{color:#06c;font-size:11px;font-weight:700;position:absolute;top:6px;right:8px}.png-info-box{color:#555;background:#f0f6ff;border:1px solid #cce0ff;gap:10px;padding:12px 14px;font-size:12px;line-height:1.5;display:flex}.png-spinner{margin-right:4px;animation:.8s linear infinite png-spin;display:inline-block}@keyframes png-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.align-badge{color:#fff;cursor:pointer;background:#06c;border:2px solid #fff;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;line-height:1;transition:background .15s,transform .1s;display:flex;box-shadow:0 2px 8px #00000038}.align-badge:hover{background:#004ea8;transform:scale(1.08)}.align-badge.open{background:#004ea8}.align-badge:active{transform:scale(.94)}.align-badge-menu{z-index:2300;background:#fff;border:1px solid #d0d7e3;border-radius:10px;min-width:120px;padding:8px;animation:.12s ease-out abm-in;position:absolute;top:0;left:30px;box-shadow:0 6px 20px #00000029}@keyframes abm-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.abm-section{margin-bottom:8px}.abm-section:last-child{margin-bottom:0}.abm-label{text-transform:uppercase;letter-spacing:.06em;color:#8a95a3;margin-bottom:5px;font-size:9px;font-weight:700}.abm-row{flex-wrap:wrap;gap:4px;display:flex}.abm-btn{cursor:pointer;color:#444;background:#f3f5f8;border:1.5px solid #dde1ea;border-radius:6px;justify-content:center;align-items:center;width:32px;height:30px;font-size:13px;transition:background .12s,border-color .12s,color .12s;display:flex}.abm-btn:hover{color:#05b;background:#e0eeff;border-color:#99bfee}.abm-btn.on{color:#fff;background:#06c;border-color:#06c}.abm-flex-grid{flex-direction:column;gap:3px;display:inline-flex}.abm-flex-row{gap:3px;display:flex}.abm-dot{cursor:pointer;background:#dde1ea;border-radius:50%;width:16px;height:16px;transition:background .12s,transform .1s}.abm-dot:hover{background:#aac4f0;transform:scale(1.15)}.abm-dot.on{background:#06c}.abm-dot.hint{background:#99bfee}.abm-space-row{gap:3px;margin-top:4px;display:flex}.abm-sp-btn{cursor:pointer;color:#555;background:#f3f5f8;border:1.5px solid #dde1ea;border-radius:4px;flex:1;justify-content:center;align-items:center;height:20px;font-size:10px;transition:background .12s,border-color .12s;display:flex}.abm-sp-btn:hover{background:#e0eeff;border-color:#99bfee}.abm-sp-btn.on{color:#fff;background:#06c;border-color:#06c}.ph-dot{-webkit-user-select:none;user-select:none;transition:transform .12s,box-shadow .12s}.ph-dot:hover{transform:translate(-50%,-50%)scale(1.4)!important;box-shadow:0 2px 10px #ffb8008c!important}.ph-label{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;background:#ffb800;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700;transition:opacity .15s;position:absolute;top:14px;left:50%;transform:translate(-50%)}.ph-dot:hover .ph-label{opacity:1}.typo-badge{color:#fff;cursor:pointer;background:#1a7a4a;border:2px solid #fff;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:26px;height:26px;padding:0;line-height:1;transition:background .15s,transform .1s;display:flex;box-shadow:0 2px 8px #00000038}.typo-badge:hover{background:#136038;transform:scale(1.08)}.typo-badge.open{background:#136038}.typo-badge:active{transform:scale(.94)}.typo-badge-t{font-size:11px;font-weight:700;line-height:1}.typo-badge-size{opacity:.85;font-size:7px;line-height:1}.typo-panel{z-index:2300;background:#fff;border:1px solid #d0d7e3;border-radius:10px;width:210px;padding:10px;animation:.12s ease-out abm-in;position:absolute;top:0;right:30px;box-shadow:0 6px 20px #00000029}.tp-section{margin-bottom:8px}.tp-section:last-child{margin-bottom:0}.tp-label{text-transform:uppercase;letter-spacing:.06em;color:#8a95a3;margin-bottom:4px;font-size:9px;font-weight:700}.tp-select{cursor:pointer;background:#f8f9fb;border:1.5px solid #dde1ea;border-radius:6px;width:100%;padding:4px 6px;font-size:12px}.tp-select:focus{border-color:#1a7a4a;outline:none}.tp-row{gap:8px;display:flex}.tp-field{flex:1}.tp-num-wrap{position:relative}.tp-num{box-sizing:border-box;background:#f8f9fb;border:1.5px solid #dde1ea;border-radius:6px;width:100%;padding:4px 22px 4px 6px;font-size:12px}.tp-num:focus{border-color:#1a7a4a;outline:none}.tp-unit{color:#aaa;pointer-events:none;font-size:9px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.tp-presets{flex-wrap:wrap;gap:3px;display:flex}.tp-preset{cursor:pointer;color:#555;background:#f3f5f8;border:1.5px solid #dde1ea;border-radius:4px;padding:2px 6px;font-size:10px;transition:background .12s,border-color .12s}.tp-preset:hover{color:#1a7a4a;background:#e8f5ee;border-color:#1a7a4a}.tp-preset.on{color:#fff;background:#1a7a4a;border-color:#1a7a4a}.tp-styles{gap:4px;display:flex}.tp-style-btn{cursor:pointer;color:#444;background:#f3f5f8;border:1.5px solid #dde1ea;border-radius:6px;flex:1;justify-content:center;align-items:center;height:28px;font-size:13px;transition:background .12s,border-color .12s;display:flex}.tp-style-btn:hover{color:#1a7a4a;background:#e8f5ee;border-color:#1a7a4a}.tp-style-btn.on{color:#fff;background:#1a7a4a;border-color:#1a7a4a}.color-badge{cursor:pointer;background:#555;border:2px solid #ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:transform .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 2px 8px #00000047}.color-badge:hover{transform:scale(1.08);box-shadow:0 3px 12px #00000059}.color-badge.open{box-shadow:0 0 0 3px #00000026}.color-badge:active{transform:scale(.94)}.color-badge-swatch{border:1.5px solid #fff9;border-radius:50%;width:16px;height:16px;display:block}.color-panel{z-index:2300;background:#fff;border:1px solid #d0d7e3;border-radius:10px;width:180px;padding:10px;animation:.12s ease-out abm-in;position:absolute;top:0;right:30px;box-shadow:0 6px 20px #00000029}.cp-section{margin-bottom:8px}.cp-section:last-child{margin-bottom:0}.cp-label{text-transform:uppercase;letter-spacing:.06em;color:#8a95a3;margin-bottom:4px;font-size:9px;font-weight:700}.cp-row{align-items:center;gap:6px;display:flex}.cp-native{cursor:pointer;background:0 0;border:1.5px solid #dde1ea;border-radius:5px;flex-shrink:0;height:26px;padding:2px;width:30px!important}.cp-hex{background:#f8f9fb;border-radius:6px;flex:1;font-family:monospace;font-size:12px;border:1.5px solid #dde1ea!important;padding:4px 6px!important}.cp-hex:focus{outline:none;border-color:#555!important}.cp-clear{cursor:pointer;color:#888;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;display:flex}.cp-clear:hover{color:red;background:#fee;border-color:red}.cp-swatches{flex-wrap:wrap;gap:4px;display:flex}.cp-swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;width:20px;height:20px;transition:transform .1s,border-color .1s;box-shadow:0 1px 3px #0000002e}.cp-swatch:hover{transform:scale(1.15)}.cp-swatch.on{border-color:#000}.banner-badges{align-items:center;gap:4px;margin:0 4px;display:inline-flex}.bb-btn{cursor:pointer;background:#0000000f;border:1.5px solid #0003;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .12s,border-color .12s;display:inline-flex}.bb-btn:hover{background:#0000001f;border-color:#00000059}.bb-btn.open{background:#0066cc1f;border-color:#06c}.bb-swatch{border:1.5px solid #00000040;border-radius:3px;width:14px;height:14px;display:block}.bb-num-row{position:relative}.bb-num-row .tp-num{padding-right:22px}.bb-num-row .tp-unit{color:#aaa;pointer-events:none;font-size:9px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.anim-badge{color:#fff;cursor:pointer;background:#d97706;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:transform .12s,box-shadow .12s,background .12s;display:flex;box-shadow:0 2px 8px #d9770659}.anim-badge:hover{background:#b45309;transform:scale(1.08)}.anim-badge.open{background:#b45309}.anim-badge.active{background:#059669;box-shadow:0 2px 8px #05966959}.anim-badge.active:hover{background:#047857}.anim-badge:active{transform:scale(.94)}.anim-panel{z-index:2300;background:#fff;border:1px solid #d0d7e3;border-radius:10px;width:210px;padding:10px;animation:.12s ease-out abm-in;position:absolute;top:0;right:30px;box-shadow:0 6px 20px #00000029}.style-badge{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 2px 8px #7c3aed59}.style-badge:hover{background:#6d28d9;transform:scale(1.08)}.style-badge.open{background:#6d28d9}.style-badge:active{transform:scale(.94)}.style-panel{z-index:2300;background:#fff;border:1px solid #d0d7e3;border-radius:10px;width:200px;padding:10px;animation:.12s ease-out abm-in;position:absolute;top:0;right:30px;box-shadow:0 6px 20px #00000029}.cw-inline{align-items:center;gap:6px;display:flex}.cw-swatch{cursor:pointer;border:1.5px solid #0000002e;border-radius:5px;flex-shrink:0;width:28px;height:28px;transition:transform .1s,box-shadow .1s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff6}.cw-swatch:hover{transform:scale(1.08);box-shadow:0 0 0 2px #06c4,inset 0 0 0 1px #fff6}.cw-swatch--open{box-shadow:0 0 0 2px #06c,inset 0 0 0 1px #fff6}.cw-swatch-empty{background:repeating-conic-gradient(#ccc 0% 25%,#fff 0% 50%) 0 0/8px 8px;position:absolute;inset:0}.cw-hex-wrap{flex:1;align-items:center;display:flex;position:relative}.cw-hex-field{width:100%;padding-right:22px!important}.cw-clear-btn{cursor:pointer;color:#bbb;background:0 0;border:none;align-items:center;padding:0 2px;font-size:17px;line-height:1;transition:color .1s;display:flex;position:absolute;right:3px}.cw-clear-btn:hover{color:#e00}.cw-clear-btn--popup{color:#888;border:1px solid #e0e0e0;border-radius:4px;flex-shrink:0;padding:3px 7px;font-size:14px;position:static}.cw-clear-btn--popup:hover{color:#e00;border-color:#e00}.cw-popup{z-index:2147483647;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e0e0e0;border-radius:10px;width:188px;padding:12px;position:fixed;box-shadow:0 8px 32px #0003}.cw-wheel-wrap{cursor:crosshair;border-radius:50%;width:160px;height:160px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000001a}.cw-dot{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000008c}.cw-bright-track{cursor:pointer;border:1px solid #0000001a;border-radius:7px;height:14px;margin-top:10px;position:relative}.cw-bright-thumb{pointer-events:none;background:#fff;border:2.5px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.cw-hex-row{align-items:center;gap:6px;margin-top:10px;display:flex}.cw-preview{border:1px solid #00000024;border-radius:4px;flex-shrink:0;width:22px;height:22px}.cw-swatches{border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:4px;margin-top:8px;padding-top:8px;display:flex}.cw-sw{cursor:pointer;border:1px solid #00000024;border-radius:3px;width:18px;height:18px;transition:transform .1s}.cw-sw:hover{transform:scale(1.25)}.tb-view-switch{background:#f0f0f0;border:1px solid #ddd;border-radius:6px;align-items:center;gap:2px;margin-right:4px;padding:2px;display:flex}.tb-view-btn{color:#555;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .12s,color .12s;display:flex}.tb-view-btn:hover{color:#111;background:#e0e0e0}.tb-view-btn.active{color:#000;background:#fff;box-shadow:0 1px 3px #00000026}.tb-badge{color:#fff;background:#6366f1;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.btn-active{color:#fff!important;background:#000!important}.flow-editor{background:#f7f7f8;flex:1;height:100%;position:relative}.flow-editor .react-flow{width:100%;height:100%}.flow-panel{background:#fff;border:1px solid #ddd;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex;box-shadow:0 2px 8px #0000001a}.flow-panel-divider{background:#ddd;width:1px;height:20px;margin:0 2px}.flow-panel-label{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.flow-panel-num{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:52px;padding:4px 6px;font-size:12px}.flow-panel-num:focus{border-color:#6366f1}.flow-slides-panel{background:#fff;border:1px solid #ddd;border-radius:8px;min-width:160px;max-height:400px;padding:10px;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.flow-slides-panel__title{text-transform:uppercase;letter-spacing:.06em;color:#999;margin-bottom:8px;font-size:10px;font-weight:700}.flow-slide-item{cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;transition:background .1s;display:flex}.flow-slide-item:hover{background:#f3f3f3}.flow-slide-item--active{background:#eff0ff}.flow-slide-item__num{color:#aaa;text-align:center;width:16px;font-size:10px;font-weight:700}.flow-slide-item__name{truncate:true;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.flow-slide-item__badge{color:#fff;background:#6366f1;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.flow-node{background:#fff;border:2px solid #e0e0e0;border-radius:10px;min-width:180px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 8px #00000014}.flow-node--selected{border-color:#6366f1!important;box-shadow:0 4px 16px #6366f140!important}.flow-node__header{color:#333;background:#f8f8f8;border-bottom:1px solid #eee;border-radius:8px 8px 0 0;align-items:center;gap:7px;padding:9px 11px;font-size:12px;font-weight:600;display:flex}.flow-node__title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.flow-node__actions{background:#fafafa;border-top:1px solid #eee;border-radius:0 0 8px 8px;gap:4px;padding:7px 9px;display:flex}.flow-node__btn{color:#555;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:4px;align-items:center;gap:4px;padding:4px 7px;font-size:11px;transition:background .1s,color .1s;display:flex}.flow-node__btn:hover{color:#000;background:#f0f0f0}.flow-node__btn--danger:hover{color:#d00;background:#fff0f0;border-color:#d00}.flow-node__btn:disabled{opacity:.35;cursor:not-allowed}.flow-node-start{border-color:#22c55e;min-width:120px}.flow-node-start__inner{color:#16a34a;letter-spacing:.08em;flex-direction:column;align-items:center;gap:6px;padding:16px;font-size:11px;font-weight:800;display:flex}.flow-node-end{border-color:#ef4444;min-width:120px}.flow-node-end__inner{color:#dc2626;letter-spacing:.08em;flex-direction:column;align-items:center;gap:6px;padding:16px;font-size:11px;font-weight:800;display:flex}.flow-node-slide{border-color:#c7d2fe}.flow-node-slide--active{border-color:#6366f1}.flow-node-slide__badge{color:#fff;background:#6366f1;border-radius:4px;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:700}.flow-node-slide__thumb{background:#f3f4f6;justify-content:center;align-items:center;height:90px;display:flex;overflow:hidden}.flow-node-slide__thumb img{object-fit:contain;max-width:100%;max-height:100%}.flow-node-slide__thumb-empty{color:#bbb;text-align:center;font-size:11px}.flow-node-branch{border-color:#f59e0b;min-width:160px}.flow-node-branch__info{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;border-radius:0 0 8px 8px;padding:8px 11px;font-size:11px}.edge-dlg-section{margin-bottom:18px}.edge-dlg-section:last-child{margin-bottom:0}.edge-dlg-label{text-transform:uppercase;letter-spacing:.06em;color:#999;margin-bottom:8px;font-size:10px;font-weight:700;display:block}.edge-dlg-dur-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.edge-dlg-num{text-align:center;border:1px solid #ddd;border-radius:5px;outline:none;width:70px;padding:6px 8px;font-size:14px;font-weight:600}.edge-dlg-num:focus{border-color:#000}.edge-dlg-unit{color:#888;font-size:12px}.edge-dlg-range{width:100%;margin-bottom:4px}.edge-dlg-range-labels{color:#bbb;justify-content:space-between;font-size:10px;display:flex}.edge-dlg-transitions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.edge-dlg-trans-btn{cursor:pointer;text-align:left;background:#fff;border:1px solid #ddd;border-radius:5px;padding:7px 10px;font-size:12px;transition:border-color .1s,background .1s}.edge-dlg-trans-btn:hover{background:#f5f5f5}.edge-dlg-trans-btn.active{color:#fff;background:#000;border-color:#000}.edge-dlg-preview{text-align:center;background:#f5f5f5;border-radius:6px;padding:12px}.edge-dlg-preview-label{color:#555;font-size:13px;font-weight:600}.bp-slide-frame{pointer-events:none;will-change:transform, opacity;transform:translate(100%)}.bp-wrapper{background:#1a1a1a;flex-direction:column;flex:1;align-items:center;gap:20px;padding:24px 16px 32px;display:flex;overflow:auto}.bp-controls{background:#2a2a2a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;width:100%;max-width:900px;padding:10px 16px;display:flex}.bp-controls-info{flex:1;align-items:center;gap:10px;display:flex}.bp-slide-name{color:#eee;font-size:13px;font-weight:600}.bp-timer{color:#999;font-size:11px}.bp-badge{color:#fff;background:#6366f1;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.bp-size{color:#666;font-size:11px}.bp-dots{align-items:center;gap:5px;display:flex}.bp-dot{cursor:pointer;background:#555;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .15s,transform .15s}.bp-dot--active{background:#fff;transform:scale(1.3)}.bp-stage{justify-content:center;align-items:flex-start;width:100%;display:flex}.bp-canvas{transform-origin:top;background:#fff;border-radius:4px;position:relative;overflow:hidden;box-shadow:0 8px 40px #0009}.bp-progress{z-index:100;background:#ffffff26;height:3px;position:absolute;bottom:0;left:0;right:0}.bp-progress-bar{background:#6366f1;height:100%;transition:width .1s linear}.bp-strip{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:900px;display:flex}.bp-strip-item{cursor:pointer;opacity:.5;flex-direction:column;align-items:center;gap:5px;transition:opacity .15s;display:flex}.bp-strip-item--active{opacity:1}.bp-strip-item:hover{opacity:.8}.bp-strip-thumb{color:#999;background:#333;border:2px solid #0000;border-radius:3px;justify-content:center;align-items:center;width:60px;height:40px;font-size:13px;transition:border-color .15s;display:flex;overflow:hidden}.bp-strip-item--active .bp-strip-thumb{border-color:#6366f1}.bp-strip-thumb img{object-fit:cover;width:100%;height:100%}.bp-strip-label{color:#888;font-size:10px}.sa-artboard{border-radius:0 0 4px 4px;transition:box-shadow .15s;box-shadow:0 4px 16px #0000001f}.sa-artboard--active{box-shadow:0 0 0 3px #6366f1,0 4px 20px #6366f140}.sa-artboard--selected{box-shadow:0 0 0 3px #f59e0b,0 4px 20px #f59e0b33}.sa-artboard-hd{cursor:move;-webkit-user-select:none;user-select:none;background:#f0f0f0;border:1px solid #ddd;border-bottom:none;border-radius:4px 4px 0 0;align-items:center;gap:6px;height:32px;padding:0 8px;font-size:11px;display:flex}.sa-artboard--active .sa-artboard-hd{background:#eff0ff;border-color:#6366f1}.sa-artboard--selected .sa-artboard-hd{background:#fffbeb;border-color:#f59e0b}.sa-artboard-label{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.sa-artboard-dim{color:#aaa;white-space:nowrap;font-size:10px}.sa-artboard-badge{color:#fff;white-space:nowrap;background:#6366f1;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.sa-artboard-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:14px;line-height:1;transition:background .1s,color .1s;display:flex}.sa-artboard-btn:hover{color:#000;background:#00000014}.sa-artboard-btn--del:hover{color:#dc2626;background:#fee2e2}.sa-multibar{z-index:500;white-space:nowrap;background:#fff;border:1.5px solid #ddd;border-radius:10px;align-items:center;gap:10px;padding:10px 18px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0000002e}.sa-multibar-info{color:#555;font-size:12px;font-weight:600}.sa-ctx-menu{background:#fff;border:1px solid #ddd;border-radius:7px;min-width:180px;font-size:12px;overflow:hidden;box-shadow:0 6px 20px #0000002e}.sa-ctx-label{text-transform:uppercase;letter-spacing:.05em;color:#aaa;border-bottom:1px solid #f0f0f0;padding:8px 12px 6px;font-size:10px;font-weight:700}.sa-ctx-item{text-align:left;cursor:pointer;color:#333;background:0 0;border:none;width:100%;padding:8px 12px;font-size:12px;transition:background .1s;display:block}.sa-ctx-item:hover{background:#f5f5f5}.sa-ctx-item--danger{color:#dc2626}.sa-ctx-item--danger:hover{background:#fee2e2}.sa-ctx-sep{background:#f0f0f0;height:1px;margin:2px 0}.conn-badge{cursor:pointer;background:#fff;border:2px solid #6366f1;border-radius:7px;flex-direction:column;align-items:center;min-width:80px;padding:5px 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 2px 10px #6366f140}.conn-badge:hover{transform:scale(1.08);box-shadow:0 4px 14px #6366f159}.conn-badge-timer{color:#6366f1;font-size:13px;font-weight:700;line-height:1.2}.conn-badge-trans{color:#888;margin-top:1px;font-size:10px}.conn-badge-del{color:#fff;cursor:pointer;opacity:0;background:#dc2626;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:11px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:-7px;right:-7px}.conn-badge:hover .conn-badge-del{opacity:1}.tb-slides-info{color:#6366f1;white-space:nowrap;background:#eff0ff;border:1px solid #c7d2fe;border-radius:5px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;display:flex}.mex-option{cursor:pointer;border:1.5px solid #ddd;border-radius:7px;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.mex-option:hover{border-color:#999}.mex-option--active{background:#f9f9f9;border-color:#000}.mex-option strong{font-size:13px;display:block}.mex-sub{color:#888;margin-top:2px;font-size:11px;display:block}.mex-flow{background:#f8f8f8;border:1px solid #eee;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:10px;font-size:11px;display:flex}.mex-flow-step{background:#fff;border:1px solid #ddd;border-radius:5px;align-items:center;gap:5px;padding:4px 8px;display:flex}.mex-flow-num{color:#6366f1;font-weight:700}.mex-flow-name{color:#333}.mex-flow-arrow{color:#888;font-size:10px}.ab-section{border-bottom:1px solid var(--clr-border-subtle);margin-bottom:0;padding-bottom:4px}.ab-section-hd{justify-content:space-between;align-items:center;padding:6px 10px 4px;display:flex}.ab-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-tertiary);font-size:10px;font-weight:700}.ab-add-btn{border-radius:var(--r-xs);cursor:pointer;width:20px;height:20px;color:var(--clr-text-tertiary);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.ab-add-btn:hover{background:var(--clr-surface-raised);color:var(--clr-text-primary)}.ab-row{cursor:pointer;transition:background var(--dur-normal) var(--ease-out), border-color var(--dur-normal) var(--ease-out);font-size:var(--text-caption);border-left:3px solid #0000;align-items:center;gap:6px;padding:5px 10px;display:flex}.ab-row:hover{background:var(--clr-surface-raised)}.ab-row--active{border-left-color:var(--clr-primary);background:var(--clr-blue-50)}.ab-row--selected{background:#fffbeb;border-left-color:#f59e0b}.ab-row--active.ab-row--selected{border-left-color:var(--clr-primary);background:var(--clr-blue-50)}.ab-check{cursor:pointer;width:14px;height:14px;accent-color:var(--clr-primary);flex-shrink:0}.ab-icon{color:var(--clr-text-tertiary);flex-shrink:0;font-size:12px}.ab-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ab-name{color:var(--clr-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:var(--text-caption);overflow:hidden}.ab-dim{color:var(--clr-text-tertiary);font-size:9px}.ab-badge{background:var(--clr-primary);color:var(--clr-white);border-radius:var(--r-xs);flex-shrink:0;padding:1px 4px;font-size:8px;font-weight:700}.ab-menu-btn{border-radius:var(--r-xs);cursor:pointer;width:20px;height:20px;color:var(--clr-text-tertiary);opacity:0;transition:opacity var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;display:flex}.ab-row:hover .ab-menu-btn{opacity:1}.ab-menu-btn:hover{background:var(--clr-gray-100);color:var(--clr-text-primary)}.ab-actions{font-size:var(--text-caption);background:#fffbeb;border-top:1px solid #fde68a;justify-content:space-between;align-items:center;padding:5px 10px 6px;display:flex}.ab-actions-count{color:#92400e;font-weight:600}.ab-ctx{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-md);box-shadow:var(--shadow-md);min-width:170px;font-size:var(--text-caption);overflow:hidden}.ab-ctx-label{text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-tertiary);border-bottom:1px solid var(--clr-border-subtle);padding:7px 11px 5px;font-size:9px;font-weight:700}.ab-ctx-item{text-align:left;cursor:pointer;width:100%;font-size:var(--text-caption);color:var(--clr-text-primary);transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;padding:7px 11px;display:block}.ab-ctx-item:hover{background:var(--clr-surface-raised)}.ab-ctx-item--danger{color:var(--clr-danger)}.ab-ctx-item--danger:hover{background:#fee2e2}.ab-ctx-sep{background:var(--clr-border-subtle);height:1px;margin:2px 0}.cl-root{background:#fff;flex-direction:column;height:100%;display:flex;overflow:hidden}.cl-toolbar{border-bottom:1px solid #eee;flex-shrink:0;align-items:center;gap:4px;padding:8px 10px;display:flex}.cl-search-wrap{flex:1;position:relative}.cl-search-icon{pointer-events:none;opacity:.5;font-size:11px;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.cl-search{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;outline:none;width:100%;padding:5px 24px;font-size:12px}.cl-search:focus{border-color:#06c}.cl-search-clear{cursor:pointer;color:#999;background:0 0;border:none;padding:2px;font-size:11px;line-height:1;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.cl-search-clear:hover{color:#333}.cl-favbtn,.cl-import-btn{border:1px solid var(--clr-border);border-radius:var(--r-sm);cursor:pointer;width:28px;height:28px;color:var(--clr-text-tertiary);transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.cl-favbtn:hover,.cl-import-btn:hover{color:#06c;background:#f0f6ff;border-color:#06c}.cl-favbtn--on{color:#f59e0b!important;background:#fffbeb!important;border-color:#f59e0b!important}.cl-import-btn{font-size:16px}.cl-cats{scrollbar-width:none;border-bottom:1px solid #eee;flex-shrink:0;gap:4px;padding:6px 10px;display:flex;overflow-x:auto}.cl-cats::-webkit-scrollbar{display:none}.cl-cat-btn{border:1px solid var(--clr-border);border-radius:var(--r-full);background:var(--clr-surface);font-size:var(--text-caption);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);color:var(--clr-text-secondary);flex-shrink:0;padding:3px 9px}.cl-cat-btn:hover{border-color:var(--clr-primary);color:var(--clr-primary);background:var(--clr-blue-50)}.cl-cat-btn--on{background:var(--clr-primary);border-color:var(--clr-primary);color:var(--clr-white)}.cl-grid{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:8px;padding:10px;display:grid;overflow-y:auto}.cl-card{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e0e0e0;border-radius:7px;transition:box-shadow .2s,transform .15s,border-color .15s;position:relative;overflow:hidden}.cl-card:hover{border-color:#06c;transform:translateY(-1px);box-shadow:0 3px 12px #0066cc26}.cl-card--dragging{opacity:.45;cursor:grabbing}.cl-thumb{aspect-ratio:3/2;background:#f5f5f5;width:100%;position:relative;overflow:hidden}.cl-thumb img{object-fit:cover;width:100%;height:100%;display:block}.cl-thumb-icon{color:#bbb;background:linear-gradient(135deg,#f8f8f8 0%,#efefef 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:28px;display:flex}.cl-thumb-ov{opacity:0;background:#0000008c;justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:absolute;inset:0}.cl-card:hover .cl-thumb-ov{opacity:1}.cl-insert-hint{color:#fff;background:#0066ccd9;border-radius:12px;padding:5px 12px;font-size:12px;font-weight:600}.cl-fav{cursor:pointer;width:22px;height:22px;color:var(--clr-text-tertiary);transition:color var(--dur-normal) var(--ease-out), transform var(--dur-fast) var(--ease-spring);z-index:2;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:flex;position:absolute;top:5px;right:5px}.cl-fav:hover{color:#f59e0b;transform:scale(1.15)}.cl-fav--on{color:#f59e0b!important}.cl-info{padding:7px 8px 6px}.cl-name{color:#222;white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:11px;font-weight:600;overflow:hidden}.cl-sub{color:#999;align-items:center;gap:4px;font-size:10px;display:flex}.cl-cat{color:#666;background:#f0f0f0;border-radius:3px;padding:1px 4px;font-size:9px}.cl-children,.cl-uses{color:#bbb;font-size:9px}.cl-tags{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex}.cl-tag{color:#36c;background:#f0f4ff;border-radius:3px;padding:1px 4px;font-size:9px}.cl-menu-btn{cursor:pointer;opacity:0;color:#666;background:#ffffffe6;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:13px;line-height:1;transition:opacity .15s;display:flex;position:absolute;bottom:6px;right:6px}.cl-card:hover .cl-menu-btn{opacity:1}.cl-menu-btn:hover{color:#333;background:#f0f0f0;border-color:#999}.cl-menu{z-index:200;background:#fff;border:1px solid #e0e0e0;border-radius:7px;min-width:170px;padding:4px;position:absolute;bottom:30px;right:6px;box-shadow:0 4px 16px #00000026}.cl-menu button{cursor:pointer;text-align:left;color:#333;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;width:100%;padding:6px 10px;font-size:12px;transition:background .12s;display:flex}.cl-menu button:hover{background:#f5f5f5}.cl-menu-danger{color:#c20!important}.cl-menu-danger:hover{background:#fff0ee!important}.cl-menu-sep{background:#f0f0f0;height:1px;margin:3px 0}.cl-empty{text-align:center;color:#999;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 16px;display:flex}.cl-empty-icon{color:#ddd;margin-bottom:12px;font-size:40px}.cl-empty p{color:#666;margin:0 0 6px;font-size:13px;font-weight:600}.cl-empty span{color:#aaa;font-size:11px;line-height:1.5}.sc-overlay{z-index:10000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sc-dialog{background:#fff;border-radius:10px;flex-direction:column;width:380px;max-width:96vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #00000040}.sc-hd{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:14px 16px 12px;font-size:14px;font-weight:700;display:flex}.sc-close{cursor:pointer;color:#999;background:0 0;border:none;padding:2px 4px;font-size:16px;line-height:1}.sc-close:hover{color:#333}.sc-body{flex-direction:column;flex:1;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.sc-thumb-wrap{background:#f5f5f5;border:1px solid #eee;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:120px;display:flex;overflow:hidden}.sc-thumb-img{object-fit:contain;max-width:100%;max-height:100%}.sc-thumb-placeholder{color:#ccc;font-size:28px}.sc-meta-pills{flex-wrap:wrap;gap:6px;display:flex}.sc-pill{color:#36c;background:#f0f4ff;border-radius:10px;padding:2px 8px;font-size:10px}.sc-field{flex-direction:column;gap:4px;display:flex}.sc-field label{color:#555;font-size:11px;font-weight:600}.sc-input{border:1px solid #ddd;border-radius:5px;outline:none;padding:6px 8px;font-size:13px}.sc-input:focus{border-color:#06c}.sc-select{background:#fff;border:1px solid #ddd;border-radius:5px;outline:none;padding:6px 8px;font-size:13px}.sc-select:focus{border-color:#06c}.sc-tag-row{gap:6px;display:flex}.sc-tag-input{flex:1}.sc-btn-tag{color:#fff;cursor:pointer;background:#06c;border:none;border-radius:5px;flex-shrink:0;padding:0 10px;font-size:16px;transition:opacity .15s}.sc-btn-tag:disabled{opacity:.4;cursor:default}.sc-tags{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.sc-tag{color:#36c;background:#f0f4ff;border:1px solid #c8d9f5;border-radius:10px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;display:inline-flex}.sc-tag-rm{cursor:pointer;color:#9ac;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.sc-tag-rm:hover{color:#c20}.sc-info{color:#444;background:#f8fbff;border:1px solid #d0e4ff;border-radius:6px;padding:10px 12px;font-size:11px;line-height:1.6}.sc-info strong{color:#222;margin-bottom:4px;display:block}.sc-info ul{margin:4px 0 0;padding-left:18px}.sc-info li{margin-bottom:2px}.sc-ft{border-top:1px solid #eee;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.sc-btn-cancel{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:7px 16px;font-size:13px}.sc-btn-cancel:hover{background:#f5f5f5}.sc-btn-save{color:#fff;cursor:pointer;background:#06c;border:none;border-radius:6px;padding:7px 18px;font-size:13px;font-weight:600;transition:opacity .15s}.sc-btn-save:disabled{opacity:.45;cursor:default}.sc-btn-save:not(:disabled):hover{background:#05a}.ab-dot{cursor:crosshair;z-index:25;pointer-events:all;background:#fff;border:2px solid #b8b8c8;border-radius:50%;width:14px;height:14px;transition:border-color .15s,background .15s,transform .15s;position:absolute;top:50%;transform:translateY(-50%)}.ab-dot--left{left:-7px}.ab-dot--right{right:-7px}.ab-dot:hover,.ab-dot--hover{background:#7c5cfc;border-color:#7c5cfc;transform:translateY(-50%)scale(1.35)}.ab-dot--connected{background:#ede8ff;border-color:#7c5cfc}.conn-popup{-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #ddd;border-radius:10px;padding:0;font-size:12px;overflow:hidden;box-shadow:0 8px 28px #0000002e}.conn-popup-hd{text-transform:uppercase;letter-spacing:.4px;color:#555;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:10px 14px 8px;font-size:11px;font-weight:700;display:flex}.conn-popup-close{cursor:pointer;color:#888;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1}.conn-popup-close:hover{color:#333}.conn-popup-row{border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:7px 14px;display:flex}.conn-popup-row label{color:#666;flex:0 0 70px;font-size:11px;font-weight:600}.conn-popup-row select{cursor:pointer;background:#fafafa;border:1px solid #ddd;border-radius:5px;flex:1;padding:4px 6px;font-size:11px}.conn-popup-row select:focus{border-color:#7c5cfc;outline:none}.conn-popup-slider-wrap{flex:1;align-items:center;gap:6px;display:flex}.conn-popup-slider-wrap input[type=range]{accent-color:#7c5cfc;cursor:pointer;flex:1}.conn-popup-slider-wrap span{text-align:right;color:#555;font-variant-numeric:tabular-nums;flex:0 0 36px;font-size:11px}.conn-popup-actions{justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.conn-popup-delete{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:5px;padding:5px 10px;font-size:11px;transition:background .12s}.conn-popup-delete:hover{background:#fee2e2}.conn-popup-save{color:#fff;cursor:pointer;background:#7c5cfc;border:none;border-radius:5px;padding:5px 14px;font-size:11px;transition:background .12s}.conn-popup-save:hover{background:#6340f0}.ab-dot--invalid{background:#ef4444!important;border-color:#ef4444!important;transform:translateY(-50%)scale(1.35)!important}@keyframes preview-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes preview-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes preview-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes preview-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes preview-fade-out{0%{opacity:1}to{opacity:0}}@keyframes preview-fade-in{0%{opacity:0}to{opacity:1}}.conn-prev-overlay{z-index:8000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.conn-prev-modal{background:#fff;border-radius:12px;flex-direction:column;max-width:90vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.conn-prev-hd{border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.conn-prev-hd>span{color:#333;font-size:13px;font-weight:700}.conn-prev-hd-right{align-items:center;gap:10px;display:flex}.conn-prev-meta{color:#888;white-space:nowrap;font-size:11px}.conn-prev-btn-replay{color:#7c5cfc;cursor:pointer;background:#f0ebff;border:1px solid #c4b5fd;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .12s}.conn-prev-btn-replay:hover{background:#e0d5ff}.conn-prev-close{cursor:pointer;color:#999;background:0 0;border:none;padding:2px 4px;font-size:16px;line-height:1}.conn-prev-close:hover{color:#333}.conn-prev-viewport{flex-shrink:0;position:relative;overflow:hidden}.conn-prev-footer{border-top:1px solid #eee;flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.conn-prev-loop{color:#555;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.conn-prev-loop input{accent-color:#7c5cfc;cursor:pointer}.conn-prev-footer-hint{color:#aaa;font-size:11px}.conn-popup-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.conn-popup-toggle input{display:none}.conn-popup-toggle-track{background:#ddd;border-radius:9px;flex-shrink:0;width:32px;height:18px;transition:background .15s;display:inline-block;position:relative}.conn-popup-toggle input:checked+.conn-popup-toggle-track{background:#7c5cfc}.conn-popup-toggle-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.conn-popup-toggle input:checked+.conn-popup-toggle-track:after{left:16px}.conn-popup-toggle-label{color:#555;font-size:11px}.layer-drag-handle{cursor:grab;color:var(--clr-text-tertiary);-webkit-user-select:none;user-select:none;transition:color var(--dur-fast) var(--ease-out);flex-shrink:0;padding:0 2px;font-size:13px}.layer-drag-handle:hover{color:var(--clr-text-secondary)}.layer-drag-handle:active{cursor:grabbing}.layer-info{flex:1;min-width:0}.layer-meta{color:var(--clr-text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10px;line-height:1.3;overflow:hidden}.layer-zindex{color:var(--clr-text-tertiary);background:var(--clr-gray-100);border-radius:var(--r-full);letter-spacing:.02em;transition:background var(--dur-fast), color var(--dur-fast);flex-shrink:0;padding:1px 5px;font-family:JetBrains Mono,SF Mono,monospace;font-size:9px;font-weight:600}.layer-item.sel .layer-zindex{background:var(--clr-blue-100);color:var(--clr-primary)}.lrh{background:var(--clr-white);border:2px solid var(--clr-primary);border-radius:var(--r-xs);z-index:9999;width:8px;height:8px;position:absolute}.lrh-n{cursor:n-resize;top:-4px;left:50%;transform:translate(-50%)}.lrh-s{cursor:s-resize;bottom:-4px;left:50%;transform:translate(-50%)}.lrh-e{cursor:e-resize;top:50%;right:-4px;transform:translateY(-50%)}.lrh-w{cursor:w-resize;top:50%;left:-4px;transform:translateY(-50%)}.lrh-ne{cursor:ne-resize;top:-4px;right:-4px}.lrh-nw{cursor:nw-resize;top:-4px;left:-4px}.lrh-se{cursor:se-resize;bottom:-4px;right:-4px}.lrh-sw{cursor:sw-resize;bottom:-4px;left:-4px}.layer-abs-mode{cursor:move}.layer-abs-mode.sel{outline:2px solid var(--clr-primary);outline-offset:1px}.pinp{color:#333;box-sizing:border-box;background:#fafafa;border:1px solid #ddd;border-radius:4px;width:100%;padding:4px 6px;font-size:12px}.pinp:focus{background:#fff;border-color:#06c;outline:none}.sidebar-r{background:var(--clr-surface)!important;border-left:1px solid var(--clr-border)!important;color:var(--clr-text-primary)!important}.wp-section{background:var(--clr-surface);border-bottom:1px solid #e8e8e8}.wp-section:nth-child(2n){background:var(--clr-surface-raised)}.wp-section-hd{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-tertiary);transition:color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);justify-content:space-between;align-items:center;padding:9px 12px;font-weight:600;display:flex}.wp-section-hd:hover{color:var(--clr-text-primary)}.wp-section-hd.open{color:var(--clr-text-secondary);border-bottom:1px solid #e8e8e8}.wp-section-hd.open:not([data-toggle]){cursor:default}.wp-section-hd.open:not([data-toggle]):hover{color:var(--clr-text-secondary);background:0 0}.wp-section-chev{color:var(--clr-text-tertiary);transition:color var(--dur-normal) var(--ease-out);font-size:9px}.wp-section-hd.open .wp-section-chev{color:var(--clr-text-secondary)}.wp-section-body{padding:10px 12px 12px}.wp-row{margin-bottom:12px}.wp-row:last-child{margin-bottom:0}.wp-label{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-tertiary);margin-bottom:6px;font-weight:500;display:block}.wp-inp{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-sm);width:100%;height:28px;color:var(--clr-text-primary);font-size:var(--text-body);box-sizing:border-box;transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);outline:none;padding:0 9px}.wp-inp:hover{border-color:var(--clr-gray-300)}.wp-inp:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #0066ff14}.wp-inp::placeholder{color:var(--clr-text-tertiary)}textarea.wp-inp{resize:vertical;height:auto;min-height:62px;padding:7px 9px;line-height:1.5}.wp-ta{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-sm);width:100%;color:var(--clr-text-primary);font-size:var(--text-body);resize:vertical;box-sizing:border-box;min-height:62px;transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);outline:none;padding:7px 9px;line-height:1.5}.wp-ta:hover{border-color:var(--clr-gray-300)}.wp-ta:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #0066ff14}.wp-ta::placeholder{color:var(--clr-text-tertiary)}.wp-sel{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-sm);width:100%;height:28px;color:var(--clr-text-primary);font-size:var(--text-body);appearance:none;cursor:pointer;box-sizing:border-box;transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%23999'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;outline:none;padding:0 28px 0 9px}.wp-sel:hover{border-color:var(--clr-gray-300);background-color:var(--clr-surface-raised)}.wp-sel:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #0066ff14}.wp-sel option{background:var(--clr-surface);color:var(--clr-text-primary)}.wp-sel optgroup{background:var(--clr-surface);color:var(--clr-text-tertiary);font-size:var(--text-caption)}.wp-tg{background:var(--clr-gray-100);border-radius:var(--r-sm);gap:2px;padding:3px;display:grid}.wp-tg-2{grid-template-columns:repeat(2,1fr)}.wp-tg-3{grid-template-columns:repeat(3,1fr)}.wp-tg-4{grid-template-columns:repeat(4,1fr)}.wp-tg-5{grid-template-columns:repeat(5,1fr)}.wp-tg-btn{border-radius:var(--r-xs);height:26px;color:var(--clr-text-tertiary);font-size:var(--text-label);cursor:pointer;transition:background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.wp-tg-btn:hover:not(.on){color:var(--clr-gray-700);background:#e4e4e4}.wp-tg-btn.on{background:var(--clr-surface);color:var(--clr-text-primary);box-shadow:var(--shadow-sm)}.wp-tg-btn:focus-visible{outline:2px solid var(--clr-focus);outline-offset:-2px}.wp-range{appearance:none;background:var(--clr-gray-200);cursor:pointer;border-radius:var(--r-full);width:100%;height:4px;accent-color:var(--clr-primary);outline:none}.wp-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--clr-primary);border:2px solid var(--clr-white);width:14px;height:14px;box-shadow:var(--shadow-sm);cursor:grab;transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-out);border-radius:50%}.wp-range::-webkit-slider-thumb:hover{box-shadow:var(--shadow-focus);transform:scale(1.15)}.wp-range::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.2)}.wp-range-row{align-items:center;gap:8px;display:flex}.wp-range-val{font-size:var(--text-label);color:var(--clr-text-tertiary);font-variant-numeric:tabular-nums;text-align:right;min-width:36px}.wp-num-wrap{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-sm);box-sizing:border-box;transition:border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);align-items:stretch;display:flex;overflow:hidden}.wp-num-wrap:hover{border-color:var(--clr-gray-300)}.wp-num-wrap:focus-within{border-color:var(--clr-primary);box-shadow:0 0 0 3px #0066ff14}.wp-num-lbl{color:var(--clr-text-tertiary);text-transform:uppercase;letter-spacing:.04em;cursor:ew-resize;-webkit-user-select:none;user-select:none;background:var(--clr-surface-raised);transition:color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);border-right:1px solid #e8e8e8;justify-content:center;align-items:center;min-width:22px;padding:0 7px;font-size:10px;font-weight:600;display:flex}.wp-num-lbl:hover{color:var(--clr-primary);background:var(--clr-blue-50)}.wp-num-inp{color:var(--clr-text-primary);font-size:var(--text-label);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:none;outline:none;flex:1;min-width:0;height:27px;padding:0 6px}.wp-num-inp::-webkit-inner-spin-button{-webkit-appearance:none}.wp-num-inp::-webkit-outer-spin-button{-webkit-appearance:none}.wp-num-unit{color:var(--clr-text-tertiary);align-items:center;padding:0 7px 0 2px;font-size:10px;display:flex}.wp-2col{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wp-4col{grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;display:grid}.wp-sbox{background:var(--clr-surface-raised);border:1px solid var(--clr-border);border-radius:var(--r-sm);padding:6px 8px 8px}.wp-sbox-lbl{color:var(--clr-text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:9px;font-weight:600}.wp-sbox-outer{flex-direction:column;align-items:center;gap:2px;display:flex}.wp-sbox-top,.wp-sbox-bot{justify-content:center;width:100%;display:flex}.wp-sbox-mid{align-items:center;gap:2px;width:100%;display:flex}.wp-sbox-side{justify-content:center;align-items:center;min-width:34px;display:flex}.wp-sbox-center{background:#e8e8e8;border:1px dashed #c8c8c8;flex:1;justify-content:center;align-items:center;height:22px;display:flex}.wp-sbox-center-lbl{color:#bbb;text-transform:uppercase;letter-spacing:.08em;font-size:8px}.wp-sbox-inp{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-xs);width:38px;height:22px;color:var(--clr-text-secondary);font-size:var(--text-caption);text-align:center;font-variant-numeric:tabular-nums;transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);outline:none;padding:0 4px}.wp-sbox-inp:hover{border-color:var(--clr-gray-300);color:var(--clr-text-primary)}.wp-sbox-inp:focus{border-color:var(--clr-primary);color:var(--clr-text-primary);box-shadow:0 0 0 2px #0066ff1a}.wp-sbox-inp::-webkit-inner-spin-button{-webkit-appearance:none}.wp-sbox-inp::-webkit-outer-spin-button{-webkit-appearance:none}.wp-tabs{background:var(--clr-surface);border-bottom:1px solid #e8e8e8;flex-shrink:0;display:flex}.wp-tab{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;color:var(--clr-text-tertiary);transition:color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:9px 6px;font-weight:600}.wp-tab.on{color:var(--clr-text-primary);border-bottom-color:var(--clr-primary)}.wp-tab:hover:not(.on){color:var(--clr-text-secondary);background:var(--clr-surface-raised)}.wp-tab:focus-visible{outline:2px solid var(--clr-focus);outline-offset:-2px}.wp-panel-hd{color:#1a1a1a;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e8e8e8;padding:10px 12px 9px;font-size:12px;font-weight:700}.wp-el-sel{background:#fafafa;border-bottom:1px solid #e8e8e8;align-items:center;gap:10px;padding:10px 12px;display:flex}.wp-el-icon{color:silver;text-align:center;flex-shrink:0;width:24px;font-size:18px}.wp-el-info{flex:1;min-width:0}.wp-el-type{color:#bbb;text-transform:uppercase;letter-spacing:.08em;font-size:9px;display:block}.wp-el-name{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;margin:1px 0;font-size:13px;font-weight:600;display:block;overflow:hidden}.wp-el-id{color:#d0d0d0;font-family:monospace;font-size:9px;display:block}.wp-bp-badge{color:#c04800;letter-spacing:.05em;background:#fff8f0;border-bottom:1px solid #ffe0c0;border-left:3px solid #e65c00;padding:8px 12px;font-size:10px;font-weight:700}.wp-bp-badge .wp-row{margin-top:8px;margin-bottom:0}.wp-btn-del{border-radius:var(--r-sm);width:100%;height:30px;color:var(--clr-danger);font-size:var(--text-caption);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;transition:background var(--dur-normal) var(--ease-out), border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);background:0 0;border:1px solid #f0d0d0;font-weight:600}.wp-btn-del:hover{background:var(--clr-red-50);border-color:var(--clr-danger)}.wp-btn-del:focus-visible{outline:2px solid var(--clr-danger);outline-offset:2px}.wp-btn-pri{background:var(--clr-primary);border-radius:var(--r-sm);height:30px;color:var(--clr-white);font-size:var(--text-label);cursor:pointer;transition:background var(--dur-normal) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:none;padding:0 14px;font-weight:600}.wp-btn-pri:hover{background:var(--clr-primary-hover)}.wp-btn-pri:active{transform:translateY(1px)scale(.98)}.wp-btn-pri:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px}.wp-btn-sec{background:var(--clr-surface-raised);border:1px solid var(--clr-border);border-radius:var(--r-sm);height:28px;color:var(--clr-text-secondary);font-size:var(--text-caption);cursor:pointer;transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);padding:0 10px}.wp-btn-sec:hover{border-color:var(--clr-gray-300);color:var(--clr-text-primary);background:var(--clr-gray-100)}.wp-btn-sec:focus-visible{outline:2px solid var(--clr-focus);outline-offset:2px}.wp-hint{font-size:var(--text-caption);color:var(--clr-text-tertiary);margin:3px 0;line-height:1.5}.wp-sep{background:#e8e8e8;height:1px;margin:8px 0}.wp-chk{cursor:pointer;font-size:var(--text-body);color:var(--clr-text-secondary);align-items:center;gap:8px;padding:2px 0;display:flex}.wp-chk input[type=checkbox]{border:1px solid var(--clr-border);border-radius:var(--r-xs);cursor:pointer;width:15px;height:15px;accent-color:var(--clr-primary);flex-shrink:0}.wp-li-editor{flex-direction:column;gap:4px;margin-top:4px;display:flex}.wp-li-row{align-items:center;gap:4px;display:flex}.wp-li-inp{flex:1}.wp-li-rm{border:1px solid var(--clr-border);border-radius:var(--r-xs);width:24px;height:24px;color:var(--clr-text-tertiary);cursor:pointer;transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.wp-li-rm:hover{border-color:var(--clr-danger);color:var(--clr-danger);background:var(--clr-red-50)}.wp-li-add{border:1px dashed var(--clr-border);border-radius:var(--r-sm);width:100%;height:28px;color:var(--clr-text-tertiary);font-size:var(--text-caption);cursor:pointer;letter-spacing:.03em;transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);background:0 0}.wp-li-add:hover{border-color:var(--clr-primary);color:var(--clr-primary);background:var(--clr-blue-50)}.wp-img-drop{border:1px dashed var(--clr-border);border-radius:var(--r-sm);cursor:pointer;font-size:var(--text-caption);color:var(--clr-text-tertiary);transition:border-color var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out);justify-content:center;align-items:center;padding:12px 8px;display:flex}.wp-img-drop:hover{border-color:var(--clr-primary);color:var(--clr-primary);background:var(--clr-blue-50)}.sidebar-r .ct{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-primary);border-radius:var(--r-sm)}.sidebar-r .ct:focus{border-color:#06f;box-shadow:0 0 0 3px #0066ff14}.sidebar-r .align-sp-btn{color:#888;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px}.sidebar-r .align-sp-btn:hover{color:#333;background:#ebebeb;border-color:#aaa}.sidebar-r .align-sp-btn.on{color:#fff;background:#06f;border-color:#06f}.sidebar-r .align-sp-btn.on .sp-dot{background:#fff}.sidebar-r .sp-dot{background:#aaa}.sidebar-r .align-dot{background:#d0d0d0}.sidebar-r .align-dot:hover{background:#888}.sidebar-r .align-dot.on{background:#06f}.sidebar-r .align-dot.hint{outline-offset:1px;background:#c0d4f8;outline:1px solid #8ae}.sidebar-r .align-self-btn{color:#888;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;font-size:11px}.sidebar-r .align-self-btn:hover{color:#333;background:#ebebeb;border-color:#aaa}.sidebar-r .align-self-btn.on{color:#fff;background:#06f;border-color:#06f}.rot-handle{cursor:grab;color:#fff;z-index:10000;-webkit-user-select:none;user-select:none;background:#06f;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:-32px;left:50%;transform:translate(-50%);box-shadow:0 1px 6px #00000059}.rot-handle:hover{background:#0052cc}.rot-handle:active{cursor:grabbing;transform:translate(-50%)scale(1.1)}.rot-handle:after{content:"";background:#06f8;width:1px;height:7px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.abs-pos-tooltip{color:#fff;border-radius:var(--r-sm);font-size:var(--text-caption);pointer-events:none;z-index:9999;font-variant-numeric:tabular-nums;letter-spacing:.03em;white-space:nowrap;background:#000000b8;padding:4px 9px;position:absolute;bottom:8px;right:8px}.po label{transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out)}.toolbar .btn-icon,.toolbar .tb-icon-btn{transition:border-color var(--dur-normal) var(--ease-out), background var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.toolbar .btn-icon:active,.toolbar .tb-icon-btn:active{transform:scale(.92)}.sl-empty,.layer-empty,.bnr-empty,.props-empty{padding:24px var(--sp-3);color:var(--clr-text-tertiary);font-size:var(--text-label);text-align:center;line-height:1.5}.panel-hd,.ps-title,.bps-title,.sl-section-hd{text-transform:uppercase;letter-spacing:.07em;color:var(--clr-text-tertiary);font-size:10px;font-weight:700}.prange{accent-color:var(--clr-primary);transition:opacity var(--dur-normal) var(--ease-out)}.prange:hover{opacity:.85}.prange::-webkit-slider-thumb{-webkit-appearance:none;background:var(--clr-primary);cursor:pointer;width:14px;height:14px;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-out);border-radius:50%}.prange::-webkit-slider-thumb:hover{box-shadow:var(--shadow-focus);transform:scale(1.2)}
