/* 작가는 문장을 쓰고, 바로 옆에서 같은 장면을 읽는다. */
.ps-script-editor { box-sizing:border-box; width:min(1280px, calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:24px; color:var(--text); background:#151a1c; border:1px solid #685a3f; border-radius:14px; }
.ps-script-editor::backdrop { background:#050709db; }
.ps-script-header { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.ps-script-header h2 { margin:4px 0 12px; color:#eddfc1; }
.ps-script-scope { max-width:850px; margin:0 0 18px; line-height:1.7; color:#bfbfb3; }
.ps-script-toolbar { display:flex; gap:14px; flex-wrap:wrap; align-items:end; }
.ps-script-toolbar label { display:grid; gap:6px; min-width:130px; }
.ps-script-toolbar select { max-width:350px; min-height:var(--m-touch); font:inherit; color:#eee2ca; background:#202727; border:1px solid #685a3f; border-radius:6px; padding:8px; }
.ps-script-status { min-height:1.5em; margin:16px 0; color:#c9d1b9; }
.ps-script-status[data-error="true"] { color:#ffb3a7; }
.ps-script-discard { padding:14px; margin-bottom:16px; border:1px solid #a98555; background:#30271e; }
.ps-script-columns { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:24px; align-items:start; }
.ps-script-fields { min-width:0; }
.ps-script-field { display:grid; gap:8px; margin-bottom:18px; color:#dcccb0; }
.ps-script-field textarea { box-sizing:border-box; width:100%; resize:vertical; min-height:var(--m-touch); padding:12px; color:#ede9df; background:#101617; border:1px solid #51584e; border-radius:7px; font:inherit; font-size:16px; line-height:1.65; }
.ps-script-field textarea:focus { outline:2px solid #c3a568; outline-offset:2px; }
.ps-script-choice { min-width:0; margin:22px 0; padding:16px; border:1px solid #424d45; border-radius:8px; }
.ps-script-choice legend { padding:0 8px; color:#ddc393; }
.ps-script-choice .hint { margin-top:0; line-height:1.6; }
.ps-script-preview { position:sticky; top:0; min-width:0; }
.ps-script-preview h3 { margin:0 0 8px; color:#ddc393; }
.ps-script-stage { overflow:hidden; border:1px solid #536052; border-radius:10px; background:#192120; }
.ps-script-stage .ps-landscape { height:130px; }
.ps-script-stage .ps-scene-body { padding:24px; }
.ps-script-stage .ps-scene-body h2 { font-size:1.8rem; }
.ps-script-stage .ps-option { cursor:pointer; }
.ps-script-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-top:24px; padding-top:18px; border-top:1px solid #424d45; }
.ps-script-footer > div { display:flex; flex-wrap:wrap; gap:8px; }
.ps-script-footer { position:sticky; bottom:-24px; background:#151a1c; padding-bottom:18px; z-index:2; }
@media (max-width:900px) {
  .ps-script-columns { grid-template-columns:minmax(0, 1fr); }
  .ps-script-preview { position:static; }
}
@media (max-width:620px) {
  .ps-script-editor { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:16px; }
  .ps-script-columns { grid-template-columns:minmax(0, 1fr); gap:20px; }
  .ps-script-preview { position:static; }
  .ps-script-toolbar { align-items:stretch; }
  .ps-script-toolbar label, .ps-script-toolbar select { min-width:0; width:100%; max-width:none; }
  .ps-script-stage .ps-scene-body { padding:18px; }
  .ps-script-footer { bottom:-16px; }
  .ps-script-editor textarea, .ps-script-toolbar select { font-size:16px; }
}

.ps-script-stage fieldset { border:0; padding:0; margin:0; min-width:0; }
