.story-studio { max-width: 980px; margin: 0 auto; padding: 20px; color: #f8f6f4; }
.story-studio[hidden] { display: none; }
.story-studio__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #3c363d; padding-bottom: 14px; }
.story-studio__top h2 { margin: 0; font-size: clamp(28px, 7vw, 40px); letter-spacing: -.055em; }
.story-studio__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr); gap: 20px; margin-top: 18px; }
.story-studio label { display: grid; gap: 6px; margin: 10px 0; font-weight: 700; }
.story-studio input, .story-studio textarea, .story-studio select { border: 1px solid #514a4f; border-radius: 10px; padding: 10px; background: #211f24; color: #f8f6f4; font: inherit; }
.story-studio textarea { min-height: 72px; resize: vertical; }
.story-studio__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.story-studio__card { display: flex; align-items: center; gap: 8px; border: 1px solid #454046; border-radius: 9px; padding: 7px; background: #211f24; font-weight: 400; }
.story-studio__preview { position: sticky; top: 12px; border: 1px solid #3c363d; border-radius: 16px; padding: 14px; background: #1c1a20; text-align: center; }
.story-studio__preview h3 { margin: 0 0 10px; }
.story-studio canvas { width: min(100%, 270px); aspect-ratio: 9 / 16; border: 1px solid #454046; border-radius: 14px; background: #211f24; box-shadow: 0 10px 24px #00000032; }
.story-studio__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.story-studio button { border: 1px solid #ff6b5e; border-radius: 999px; padding: 10px 13px; background: #ff6b5e; color: #21171a; font: inherit; font-weight: 700; cursor: pointer; }
.story-studio button.story-studio__quiet { border-color: #514a4f; background: #211f24; color: #f8f6f4; }
.story-studio button:disabled { opacity: .55; cursor: not-allowed; }
.story-studio__status { min-height: 1.3em; color: #f1dfd8; }
@media (max-width: 640px) { .story-studio__grid { grid-template-columns: 1fr; } .story-studio__preview { position: static; order: -1; } .story-studio canvas { width: min(80vw, 270px); } }
