/* Shared brand loader (Loader.tsx). */
.pa-loader-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-content:center;justify-items:center;gap:12px;background:rgba(255,255,255,.94);opacity:0;transition:opacity .2s ease;pointer-events:auto}
.pa-loader-overlay.shown{opacity:1}
.pa-loader-overlay img{width:72px;height:72px;display:block}
.pa-loader-overlay span{font:500 13px/1.4 var(--ui-font,Inter,Arial,sans-serif);color:#5b6170}
.pa-loader-inline{display:inline-flex;align-items:center;gap:8px}
.pa-loader-inline img{width:20px;height:20px;display:block;flex:none}
@media (prefers-reduced-motion:reduce){.pa-loader-overlay{transition:none}}
/* Single source of the stage look (Fable batch verdict 2026-10-16, item 1). Used by Studio (studio/main.tsx) and
   imported by the export bridge (RENDER-01 D1c) so both draw the same pixels. Stage rules only: editing UI
   (cursor, touch-action, selection) stays in studio/studio.css. Default font is Inter, independent of the UI locale. */
.studio-stage {
  position: absolute;
  width: 1080px;
  height: 1920px;
  transform-origin: top left;
  overflow: hidden;
  background: #1b2027;
  font-family: Inter, Arial, sans-serif;
}
.studio-stage,
.studio-stage * {
  box-sizing: border-box;
}
.studio-stage .photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
/* S-CROP (WO-STORYBOARD-02): .photo is the canvas-size surface (div, clips its media); the img inside is placed at its
   intrinsic cover box by StageRenderer (motion/photoFit.ts) and carries the media x/y/scale transform. */
.studio-stage div.photo { overflow: hidden; }
.studio-stage .photo-media {
  position: absolute;
  max-width: none;
  transform-origin: 50% 50%;
  pointer-events: none;
}
.studio-stage .text-layer {
  position: absolute;
  left: 0;
  top: 0;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  z-index: 30 !important;
}
.studio-stage .line {
  display: block;
  position: relative;
}
.studio-stage .glyph {
  position: absolute;
  top: 0;
  display: inline-block;
  white-space: pre;
}
