/* Press feedback: a raised resting surface compresses on mouse, touch or keyboard. */
:where(button,.button,[role=button]){--press-shadow:0 3px 0 rgba(18,23,38,.22),0 3px 8px rgba(18,23,38,.08);min-height:36px;min-width:36px;touch-action:manipulation;transition:transform 110ms ease,box-shadow 110ms ease,background-color 110ms ease;box-shadow:var(--press-shadow)}
:where(button,.button,[role=button]):not(:disabled):not([aria-disabled=true]):hover{box-shadow:0 4px 0 rgba(18,23,38,.24),0 6px 14px rgba(18,23,38,.1)}
button:not(:disabled):active,button.is-pressing,.button:active,[role=button]:active{transform:translateY(2px) scale(.993)!important;box-shadow:inset 0 2px 4px rgba(12,16,28,.22),0 1px 0 rgba(12,16,28,.18)!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #2563eb!important;outline-offset:3px;scroll-margin:90px}
button:disabled{cursor:not-allowed!important;opacity:.55;box-shadow:none!important;transform:none!important}button[aria-busy=true]{cursor:progress!important;opacity:.85}button[aria-busy=true]::after{content:'';display:inline-block;width:12px;height:12px;margin-left:8px;vertical-align:middle;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ez-busy .75s linear infinite}
.wx-text-button,.wx-source,.wx-periods button,.wx-series-tabs button{box-shadow:0 1px 0 rgba(18,23,38,.12)}
@keyframes ez-busy{to{transform:rotate(360deg)}}

/* Space Builder interaction polish. */
#space-builder .sb-drag-handle[data-ez-enhanced]{font-size:11px;font-weight:750;letter-spacing:.01em;color:#45658f;border:1px solid #d6e1ef;background:#f6f9fd;border-radius:7px;padding:5px 8px;line-height:18px;white-space:nowrap;cursor:grab}
#space-builder .sb-drag-handle[data-ez-enhanced]:hover{background:#edf4ff;border-color:#9ebce8;color:#264f89}
#space-builder.ez-grid-dragging .wx-slot{transition:opacity 120ms ease,transform 120ms ease,box-shadow 120ms ease,border-color 120ms ease}
#space-builder .ez-drag-source{opacity:.42;transform:scale(.985)}
#space-builder .ez-library-drag-source{opacity:.55;background:#edf4ff;border-radius:9px;transform:scale(.985);transition:opacity 120ms ease,transform 120ms ease,background-color 120ms ease}
#space-builder .ez-drop-before,#space-builder .ez-drop-after{z-index:3;box-shadow:0 0 0 3px rgba(55,112,211,.15),0 8px 22px rgba(31,62,112,.13)!important}
#space-builder .ez-drop-before:before,#space-builder .ez-drop-after:after{content:'Drop here';position:absolute;z-index:20;background:#2865c7;color:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:750;line-height:1;box-shadow:0 4px 12px rgba(40,101,199,.28)}
#space-builder .ez-drop-before:before{top:-10px;left:12px}#space-builder .ez-drop-after:after{bottom:-10px;right:12px}
#space-builder .ez-just-moved{animation:ez-card-land .7s ease}
@keyframes ez-card-land{0%{box-shadow:0 0 0 0 rgba(40,101,199,.45)}45%{box-shadow:0 0 0 5px rgba(40,101,199,.24)}100%{box-shadow:0 0 0 0 rgba(40,101,199,0)}}
.ez-builder-toast{position:fixed;left:50%;bottom:28px;z-index:9999;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:#17263c;color:#fff;border-radius:999px;padding:10px 16px;font:650 13px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;box-shadow:0 10px 28px rgba(14,31,56,.25);transition:opacity 150ms ease,transform 150ms ease}.ez-builder-toast.is-visible{opacity:1;transform:translate(-50%,0)}

/* Keep the common custom-block setup short. Advanced mapping stays available without being in the way. */
#space-builder [data-source-section][hidden]{display:none!important}
#space-builder .ez-builder-actions{display:flex;gap:9px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #e4e9f1}
#space-builder .ez-builder-actions .sb-primary{flex:1}
#space-builder .sb-advanced-options{margin-top:18px;border:1px solid #e0e6ef;border-radius:10px;background:#fafbfd;padding:0 12px}
#space-builder .sb-advanced-options>summary{cursor:pointer;padding:13px 2px;font-weight:700;color:#526175}
#space-builder .sb-advanced-options[open]>summary{border-bottom:1px solid #e5eaf1;margin-bottom:10px}

/* Highlighted tools editor. */
#space-builder .ez-tool-picker{display:grid;gap:8px;margin-top:14px}.ez-tool-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dfe5ee;border-radius:10px;padding:9px 10px;background:#fff}.ez-tool-choice>label{display:flex;align-items:center;gap:9px;min-width:0;flex:1;cursor:pointer}.ez-tool-choice input{width:17px;height:17px;accent-color:#2f67bd}.ez-tool-choice label span{min-width:0}.ez-tool-choice strong,.ez-tool-choice small{display:block}.ez-tool-choice strong{font-size:13px}.ez-tool-choice small{font-size:11px;color:#788397;margin-top:2px}.ez-tool-choice>div{display:flex;gap:4px}.ez-tool-choice>div button{border:1px solid #dfe5ee;background:#f6f8fb;border-radius:6px;color:#5f7190;width:30px;height:30px;min-width:30px;padding:0;box-shadow:none}
#space-builder [data-highlight-open]{font-size:11px!important;font-weight:700;color:#315d9c;background:#eef4ff;border-color:#c8d9f3}
.wx-tool[hidden]{display:none!important}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}button:active,button.is-pressing,.button:active{transform:none!important}}
