.waiting{font:14px system-ui,sans-serif;color:#81718e;padding:25px}
.design-node{outline:1px solid transparent;outline-offset:3px;touch-action:pan-y}
.editing-preview .design-node:hover{outline-color:#bb99eb}
.editing-preview .design-node.selected{outline:2px solid #7940e5;outline-offset:3px;cursor:grab}
.editing-preview .design-node:focus-visible{outline:3px solid #149aca}
.editing-preview .design-section:empty{min-height:110px;border:1px dashed #bfa7dc}
.image-placeholder{min-height:180px;display:grid;place-items:center;background:#f2edf9;color:#846d9f;border:1px dashed #c5b2dc;border-radius:16px;font:14px system-ui,sans-serif}
.resize-grip{position:absolute;right:-8px;bottom:-8px;width:17px;height:17px;border:2px solid #7940e5;background:white;z-index:4;cursor:nwse-resize;touch-action:none}
.design-node[data-dragging]{opacity:.8;z-index:10;outline:2px solid #159ccd;cursor:grabbing}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.editing-preview .design-node{touch-action:none}.editing-preview .design-node.selected:before{content:"";position:absolute;left:-7px;top:-7px;width:8px;height:8px;background:white;border:2px solid #7940e5;pointer-events:none;z-index:5}.editing-preview .design-node.selected:after{content:"";position:absolute;right:-7px;top:-7px;width:8px;height:8px;background:white;border:2px solid #7940e5;pointer-events:none;z-index:5}.snap-guides{position:fixed;inset:0;pointer-events:none;z-index:90}.snap-guides i{position:absolute;border-left:1px solid #099cdb}.editing-preview .design-node[data-dragging]{opacity:.88;box-shadow:0 10px 24px #49276822}.editing-preview .design-section{background-clip:padding-box}

.design-node.locked.selected{outline-color:#998aaa;cursor:default}.design-node.locked:hover{outline-style:dashed}.inline-editing{outline:2px solid #089cca;outline-offset:5px;cursor:text!important;min-width:20px;user-select:text;touch-action:auto!important;background:#ffffff26}.inline-editing:focus{box-shadow:0 0 0 6px #17abd31a}

/* Editor-only guides: out of flow, transparent to pointer events and absent in previews. */
.layout-grid{position:absolute;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));pointer-events:none;z-index:3;border-block:1px dashed #7940e566}
.layout-grid>span{min-width:0;background:#7940e512;border-inline:1px solid #7940e540;pointer-events:none}
body:not(.show-grid) .layout-grid{display:none}
