.vst--mode-textanimation{position:relative;width:100%;min-width:0;box-sizing:border-box}
.vst--mode-textanimation .vstta__mount{position:sticky;top:0;width:100%;overflow:hidden;aspect-ratio:16/9;max-height:var(--vstta-stage-height,75vh);background:#1A153E}
.vstta-engine{display:block;width:100%;overflow:hidden}
.vstta-panel span{transform-origin:center;will-change:transform,opacity}
.vstta__fallback{white-space:pre-wrap;color:#fff;padding:3rem;text-align:center;font:600 2rem Inter,system-ui,sans-serif}
.vstta-editor{padding:20px;background:#f7f7f8;border:1px solid #e0e0e4;border-radius:8px}
.vstta-editor-preview{width:100%;aspect-ratio:16/9;background:#1A153E;overflow:hidden}
.vstta-color-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.vstta-color-field{display:flex;align-items:center;gap:5px;font-size:12px}.vstta-color-field input[type=text]{width:87px}
.vstta-unit-editor{padding:14px;margin:12px 0;border:1px solid #ddd;border-radius:6px;background:white}
@media(prefers-reduced-motion:reduce){.vst--mode-textanimation{min-height:auto!important}.vst--mode-textanimation .vstta__mount{position:relative;top:0!important}.vst--mode-textanimation .vstta__fallback{display:block}}

.vstta-token-picker{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:8px 0}.vstta-token-picker p{width:100%;margin:0}.vstta-transition-editor{padding:12px;margin:10px 0;background:#eef5f1;border-left:3px solid #26967B}.vstta-editor-preview{height:auto}

/* v0.12.7: floating contextual preview; editing order is section / transition / section. */
.vstta-editor-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,43%);gap:18px;align-items:start}
.vstta-editor-timeline{min-width:0}
.vstta-editor-float-preview{position:sticky;top:96px;z-index:20;min-width:0;padding:12px;background:#fff;border:1px solid #c8c8ce;box-shadow:0 7px 24px rgba(0,0,0,.13);border-radius:8px}
.vstta-editor-float-preview h4{margin:0 0 10px}
.vstta-editor-float-preview .vstta-editor-preview{width:100%;aspect-ratio:16/9;overflow:hidden}
.vstta-editor-timeline .vstta-transition-editor{margin:12px 0;background:#eef5f1;border-left:3px solid #26967B}
.vstta-editor-timeline .vstta-unit-editor{margin:12px 0}
.vstta-editor-timeline .vstta-unit-editor:focus-within,.vstta-editor-timeline .vstta-transition-editor:focus-within{outline:2px solid #26967B;outline-offset:2px}
@media(max-width:1100px){.vstta-editor-columns{grid-template-columns:minmax(0,1fr)}.vstta-editor-float-preview{position:sticky;top:64px;order:-1;max-width:650px}}

/* 0.12.13: Blocksy's constrained layout sets margin-left:auto!important.
   A left:50% transform would therefore center from an already centered origin.
   Each width mode now has exactly one positioning calculation. */
.wp-block-vimmera-sticky.vst--mode-textanimation {
  box-sizing:border-box;
  position:relative;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  margin-right:auto!important;
  margin-left:auto!important;
  width:100%;
  max-width:var(--wp--style--global--content-size, var(--theme-block-max-width,1100px));
  padding-inline:0;
}
.wp-block-vimmera-sticky.vst--mode-textanimation.vstta--width-wide {
  width:min(var(--vstta-wide-max,1440px),calc(100vw - 32px));
  max-width:none!important;
  margin-left:calc(50% - min(var(--vstta-wide-max,1440px),calc(100vw - 32px)) / 2)!important;
  margin-right:0!important;
}
.wp-block-vimmera-sticky.vst--mode-textanimation.vstta--width-full {
  width:100vw;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  padding-inline:var(--vstta-full-padding,32px);
}
.vst--mode-textanimation .vstta__mount {
  top:var(--vstta-sticky-top,0px);
}
@media(max-width:600px){
 .wp-block-vimmera-sticky.vst--mode-textanimation.vstta--width-wide,
 .wp-block-vimmera-sticky.vst--mode-textanimation.vstta--width-full {
  width:100%;max-width:100%!important;
  margin-left:auto!important;margin-right:auto!important;padding-inline:0;
 }
}

/* v0.13: V1-document / V2-recipe renderer; all objects remain identifiable DOM nodes. */
.vstta-stage{isolation:isolate;user-select:none}
.vstta-object{display:block;font-kerning:normal;font-feature-settings:'kern' 1;text-rendering:optimizeLegibility}
.vstta-object .vstta-run{display:inline;white-space:pre}
.vstta-error{box-sizing:border-box;min-height:220px;max-height:100%;padding:28px;background:#301e31;color:#fff;font:500 16px/1.5 system-ui,sans-serif;overflow:auto;overflow-wrap:anywhere}
.vstta-validation{padding:12px 14px;margin:16px 0;font-size:13px;border:1px solid #c6cad0;background:#fff}
.vstta-validation--error{border-color:#a84b56;background:#fff4f4}
.vstta-validation--ok{border-color:#539b80;background:#f4fbf7}
.vstta-validation ul{margin:6px 0 0 18px;list-style:disc}
.vstta-step-pacing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0;padding:9px;background:#f6f7f9;border-radius:5px}.vstta-step-pacing .components-base-control{margin-bottom:0}
.vstta-document-import{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0;font-size:13px;font-weight:600}
.vstta-document-import input{max-width:100%;font-weight:400}
.vstta-document-step{margin:12px 0;padding:12px;background:#fff;border:1px solid #d1d3d8;border-radius:5px}
.vstta-document-step-heading{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.vstta-document-step-heading strong{flex:1 1 180px}
.vstta-step-handoffs{font-size:12px;color:#4a5363;margin:8px 0}
.vstta-phase-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.vstta-editor textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;tab-size:2}
.vstta-editor-preview .vstta-error{min-height:100%;height:100%;font-size:13px}

/* Contract-declared compositional ambiguity, not a runtime parse failure. */
.vstta-missing-exit{padding:12px 14px;border-left:3px solid #b6762a;background:#fff6e6;margin:12px 0;color:#48321b}.vstta-missing-exit p{margin:7px 0 9px}

/* 0.16.0: Let browser rasterize Inter at final physical pixel size;
   do not force rotated text into low-resolution compositor layers. */
.vstta-object{font-family:Inter,system-ui,sans-serif;font-optical-sizing:auto;text-rendering:geometricPrecision;will-change:auto!important;-webkit-font-smoothing:antialiased;}
.vstta-object .vstta-run{will-change:auto;}
.vstta-stage{overflow:hidden;}

/* 0.16.1: only the stage clips composition. Text runs and style-variant
   layers must never create their own (rotating) rectangular clipping edges. */
.vstta-stage .vstta-object,.vstta-stage .vstta-object .vstta-run {
  overflow:visible!important;clip-path:none!important;mask-image:none!important;
  font-family:'Inter',sans-serif!important;font-synthesis:none;
  -webkit-font-smoothing:auto; text-rendering:geometricPrecision;
  contain:none;backface-visibility:visible;
}
.vstta-stage .vstta-variant-layer {pointer-events:none;user-select:none;}

/* 0.16.2: isolate rotating text glyphs from theme-level borders, highlights
   and text decorations. Clipping belongs ONLY to the outer stage. */
.vstta-stage .vstta-object,.vstta-stage .vstta-object .vstta-run,
.vstta-stage .vstta-object .vstta-glyph {
  border:0!important;outline:0!important;box-shadow:none!important;
  text-decoration:none!important;text-shadow:none!important;
  background:transparent!important;
  clip:auto!important;clip-path:none!important;mask:none!important;
  padding:0!important;margin:0!important;
}
