/* Story editor polish: compact header, readable timeline and dense in-panel editors. */

/* Administrative saves use the progress overlay; persistent status sentences are noise. */
#cxAdminPanel .cx-admin-inline-status{
  display:none!important;
}

/* Keep the story identity and all working controls together on the left. */
.cx-admin-chapter-form.is-story-detail .cx-admin-editor-heading{
  justify-content:flex-start!important;
  align-items:center!important;
  gap:16px!important;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-editor-heading>div:first-child{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:285px;
  max-width:none!important;
  padding-right:18px;
  border-right:1px solid rgba(85,222,248,.22);
}
.cx-admin-chapter-form.is-story-detail #cxAdminChapterCharacterName{
  max-width:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-heading-actions{
  flex:0 1 auto!important;
  width:auto!important;
  justify-content:flex-start!important;
  align-items:end!important;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-header-controls{
  width:auto!important;
  justify-content:flex-start!important;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-header-title{
  width:clamp(280px,24vw,450px)!important;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-header-title input{
  overflow:visible!important;
  text-overflow:clip!important;
}

/* The timeline owns the full row. Navigation sits directly under its lower border. */
.cx-admin-chapter-form.is-story-detail #cxAdminStoryTimeline{
  min-height:100px!important;
  margin-bottom:34px!important;
  padding:12px 14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-gutter:stable;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-timeline-navigation{
  grid-area:timeline!important;
  z-index:8;
  align-self:end;
  justify-self:center;
  width:164px;
  height:34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid rgba(85,222,248,.28);
  border-top:0;
  background:#041822;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-timeline-navigation>button{
  width:auto!important;
  min-width:0!important;
  height:33px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 9px!important;
  border:0!important;
  border-radius:0!important;
  color:#79dff2!important;
  background:#041822!important;
  font:1000 6px/1 Inter,sans-serif!important;
  letter-spacing:.08em;
  cursor:pointer;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-timeline-navigation>button+button{
  border-left:1px solid rgba(85,222,248,.2)!important;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-timeline-navigation>button span{
  font-size:14px;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-timeline-navigation>button small{
  font:inherit;
}
.cx-admin-chapter-form.is-story-detail .cx-admin-story-timeline-navigation>button:disabled{
  opacity:.25;
  cursor:default;
}
.cx-admin-story-timeline .cx-admin-story-timeline-page{
  flex:0 0 104px!important;
  width:104px!important;
  height:66px!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-cover{
  flex-basis:116px!important;
  width:116px!important;
  border-color:rgba(255,192,109,.45)!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-cover img[src=""]{
  visibility:hidden;
}
.cx-admin-story-timeline .cx-admin-story-timeline-cover:has(img[src=""]):after{
  content:"COUVERTURE";
  position:absolute;
  inset:0;
  display:grid!important;
  place-items:center;
  color:#977c5d;
  font:1000 7px/1 Inter,sans-serif;
  letter-spacing:.1em;
}
.cx-admin-story-timeline-intensity{
  display:none!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-narration{
  flex:0 0 44px!important;
  width:44px!important;
  height:66px!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-narration>i{
  width:15px!important;
  height:15px!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-narration.is-terminal{
  flex-basis:58px!important;
  width:58px!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-narration.is-terminal>i{
  width:27px!important;
  height:27px!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-narration.active>i{
  width:21px!important;
  height:21px!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-narration.is-terminal.active>i{
  width:32px!important;
  height:32px!important;
}
.cx-admin-story-timeline .cx-admin-story-timeline-add{
  flex:0 0 52px!important;
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  text-align:center!important;
  text-indent:0!important;
  font:400 30px/1 Inter,sans-serif!important;
}

/* Narration: larger surrounding images and a full-width AI revision below the copy. */
.cx-admin-story-narration-editor{
  min-height:500px!important;
  grid-template-columns:minmax(300px,460px) minmax(430px,680px) minmax(300px,460px)!important;
  gap:22px!important;
  padding:28px!important;
}
#cxAdminChapterPages{
  container-type:inline-size;
}
.cx-admin-story-narration-copy{
  width:100%;
  min-width:0;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start;
  gap:12px!important;
}
.cx-admin-story-narration-text,
.cx-admin-story-narration-copy .cx-admin-story-inline-ai-rewrite{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.cx-admin-story-narration-copy textarea{
  min-height:230px!important;
}
.cx-admin-story-narration-copy .cx-admin-story-inline-ai-rewrite textarea{
  min-height:118px!important;
}

/* Page copy: title/actions, dialogue, AI revision and tags use four dense columns. */
.cx-admin-story-page-editor-copy{
  grid-template-columns:minmax(280px,350px) minmax(340px,1fr) minmax(340px,1fr) minmax(230px,290px)!important;
  grid-template-areas:
    "identity identity identity identity"
    "title dialogue ai analysis"
    "actions dialogue ai analysis"!important;
  align-items:start!important;
  gap:10px!important;
  padding:11px 14px!important;
}
.cx-admin-story-page-title-field{
  width:100%;
}
.cx-admin-story-page-dialogue-field{
  width:100%;
  max-width:none!important;
}
.cx-admin-story-page-dialogue-field textarea{
  height:160px!important;
  min-height:160px!important;
}
.cx-admin-story-page-file-actions{
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
.cx-admin-story-page-file-actions>button{
  min-width:0!important;
  min-height:34px!important;
  padding:0 7px!important;
  white-space:normal!important;
}
.cx-admin-story-page-ai-rewrite{
  height:181px;
  box-sizing:border-box;
  grid-template-rows:minmax(0,1fr) auto;
  align-content:stretch!important;
}
.cx-admin-story-page-ai-rewrite label{
  min-height:0;
}
.cx-admin-story-page-ai-rewrite textarea{
  height:111px!important;
  min-height:111px!important;
}
.cx-admin-story-page-ai-rewrite>div>button,
.cx-admin-story-inline-ai-rewrite>div>button{
  white-space:nowrap;
}
.cx-admin-story-page-scene-analysis{
  height:181px;
  min-width:0;
  box-sizing:border-box;
  grid-template-columns:68px minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr);
  grid-template-areas:"head head" "intensity tags"!important;
  gap:7px!important;
  margin:0!important;
  padding:9px!important;
  overflow:hidden;
}
.cx-admin-story-page-scene-analysis>header{
  min-width:0;
}
.cx-admin-story-page-scene-analysis>header>strong{
  color:#eefcff;
  font:1000 8px/1 Inter,sans-serif;
  letter-spacing:.1em;
  white-space:nowrap;
}
.cx-admin-story-page-scene-analysis>header>button{
  flex:0 1 auto;
  min-width:0;
  padding-inline:7px!important;
  white-space:nowrap;
}
.cx-admin-story-scene-intensity{
  align-content:start;
}
.cx-admin-story-scene-intensity>button,
.cx-admin-story-scene-tags>button{
  min-height:27px!important;
  padding-inline:7px!important;
  font-size:6px!important;
}
.cx-admin-story-scene-tags{
  max-height:132px!important;
}

@media (max-width:1500px){
  .cx-admin-chapter-form.is-story-detail .cx-admin-editor-heading>div:first-child{min-width:235px}
  .cx-admin-chapter-form.is-story-detail .cx-admin-story-header-title{width:260px!important}
  .cx-admin-story-narration-editor{
    grid-template-columns:minmax(240px,360px) minmax(380px,580px) minmax(240px,360px)!important;
  }
  .cx-admin-story-page-editor-copy{
    grid-template-columns:minmax(230px,280px) minmax(280px,1fr) minmax(270px,1fr)!important;
    grid-template-areas:
      "identity identity identity"
      "title dialogue ai"
      "actions dialogue ai"
      "analysis analysis analysis"!important;
  }
  .cx-admin-story-page-scene-analysis{
    width:100%;
    height:auto;
    min-height:130px;
  }
}

@media (max-width:1100px){
  .cx-admin-chapter-form.is-story-detail .cx-admin-editor-heading{
    align-items:flex-start!important;
    flex-wrap:wrap;
  }
  .cx-admin-chapter-form.is-story-detail .cx-admin-editor-heading>div:first-child{
    min-width:0;
  }
  .cx-admin-chapter-form.is-story-detail .cx-admin-story-header-controls{
    flex-wrap:wrap;
  }
  .cx-admin-story-narration-editor{
    grid-template-columns:minmax(0,1fr) minmax(320px,1.25fr)!important;
  }
  .cx-admin-story-narration-editor>figure:last-child{
    grid-column:1;
  }
  .cx-admin-story-narration-copy{
    grid-column:2;
    grid-row:1 / span 2;
  }
  .cx-admin-story-page-editor-copy{
    grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr)!important;
    grid-template-areas:
      "identity identity"
      "title dialogue"
      "actions dialogue"
      "ai analysis"!important;
  }
  .cx-admin-story-page-ai-rewrite,
  .cx-admin-story-page-scene-analysis{
    width:100%;
    height:auto;
    min-height:181px;
  }
}

@media (max-width:760px){
  .cx-admin-chapter-form.is-story-detail .cx-admin-editor-heading>div:first-child{
    width:100%!important;
    padding-right:0;
    border-right:0;
  }
  .cx-admin-chapter-form.is-story-detail .cx-admin-story-header-title{
    width:min(100%,420px)!important;
  }
  .cx-admin-story-narration-editor,
  .cx-admin-story-page-editor-copy{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .cx-admin-story-narration-editor>*,
  .cx-admin-story-narration-copy{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .cx-admin-story-page-editor-copy{
    grid-template-areas:"identity" "title" "actions" "dialogue" "ai" "analysis"!important;
  }
}

/* The editor lives beside two navigation rails, so react to its real width too. */
@container (max-width:1100px){
  .cx-admin-story-narration-editor{
    grid-template-columns:minmax(240px,.85fr) minmax(360px,1.25fr)!important;
    grid-template-rows:auto auto;
    align-items:center!important;
  }
  .cx-admin-story-narration-editor>figure:first-child{
    grid-column:1;
    grid-row:1;
  }
  .cx-admin-story-narration-editor>figure:last-child{
    grid-column:1;
    grid-row:2;
  }
  .cx-admin-story-narration-editor>figure.empty{
    display:none;
  }
  .cx-admin-story-narration-editor:has(>figure:first-child.empty)>figure:last-child{
    grid-row:1;
  }
  .cx-admin-story-narration-editor>.cx-admin-story-narration-copy{
    grid-column:2!important;
    grid-row:1 / span 2!important;
  }
}

@container (max-width:680px){
  .cx-admin-story-narration-editor{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .cx-admin-story-narration-editor>figure,
  .cx-admin-story-narration-editor>.cx-admin-story-narration-copy{
    grid-column:1!important;
    grid-row:auto!important;
  }
}

@media (min-width:761px) and (max-width:1700px){
  .cx-admin-story-narration-editor{
    grid-template-columns:minmax(240px,.85fr) minmax(360px,1.25fr)!important;
    grid-template-rows:auto auto;
    align-items:center!important;
  }
  .cx-admin-story-narration-editor>figure:first-child{
    grid-column:1;
    grid-row:1;
  }
  .cx-admin-story-narration-editor>figure:last-child{
    grid-column:1;
    grid-row:2;
  }
  .cx-admin-story-narration-editor>figure.empty{
    display:none;
  }
  .cx-admin-story-narration-editor:has(>figure:first-child.empty)>figure:last-child{
    grid-row:1;
  }
  .cx-admin-story-narration-editor>.cx-admin-story-narration-copy{
    grid-column:2!important;
    grid-row:1 / span 2!important;
  }
}
