.text-editor { position:fixed; z-index:10000; right:16px; top:16px; width:335px; padding:18px; color:#ecf1e9; background:#0d1713f5; border:1px solid #80a56c; border-radius:12px; box-shadow:0 10px 50px #0009; font:14px/1.45 var(--body-font); }
.text-editor[hidden] { display:none; }
.editor-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.editor-top-actions { display:flex; gap:7px; }
.text-editor p { margin:12px 0; color:#c1d0bf; font:14px/1.45 var(--body-font); }
.text-editor label { display:block; }
.text-editor select { display:block; width:100%; margin:7px 0 12px; }
.text-editor button,.text-editor select { padding:8px 10px; font:600 12px/1.4 var(--body-font); border:1px solid #57724f; border-radius:5px; background:#233425; color:#f2f5ed; cursor:pointer; }
.text-editor button:hover { background:#3a5737; }
.editor-actions { display:flex; flex-wrap:wrap; gap:7px; }
.text-editor small { display:block; margin-top:13px; color:#bbd4b3; font-size:12px; }
.editing-text [data-edit] { outline:1px dashed #88ba98aa; outline-offset:4px; cursor:text; user-select:text; min-width:12px; min-height:1em; }
.editing-text [data-edit]:focus { outline:2px solid var(--brand); background:#47793333; }
.editing-text [data-edit].text-overflow { outline-color:#ff9c74; }
.editing-text .slide * { animation:none!important; transition:none!important; }
.editing-text:not(.moving-elements) .case-caption { top:44px; left:100px; width:1330px; background:#07100bf0; padding:20px 30px; opacity:1!important; }
.editing-text:not(.moving-elements) .case-caption h1 { max-width:none; font-size:44px; margin-top:9px!important; }
.editing-text:not(.moving-elements) .case-caption .chapter-subtitle { margin-top:10px!important; font-size:23px; }
.editing-text:not(.moving-elements) .case-caption .eyebrow { font-size:22px; }
.editing-text .deck-hud { opacity:0; }

.editor-modes { display:flex; gap:7px; margin-top:14px; }
.text-editor { max-height:calc(100vh - 32px); overflow-y:auto; }
.editor-modes button { flex:1; }
.editor-modes [aria-pressed="true"] { background:var(--brand); border-color:var(--brand-soft); color:#fff; }
.editor-position-controls { margin-bottom:12px; }
.editor-position-controls[hidden] { display:none; }
.text-editor button:disabled { opacity:.45; cursor:default; }
.text-editor.is-minimized { width:auto; max-width:calc(100vw - 32px); padding:10px 12px; overflow:hidden; }
.text-editor.is-minimized > :not(.editor-top) { display:none; }
.text-editor.is-minimized .editor-top { gap:18px; }
.movable-static { position:relative; }
.moving-elements [data-edit] { outline:none; user-select:none; cursor:inherit; }
.moving-elements [data-move-key] { outline:1px dashed #88ba98aa; outline-offset:4px; cursor:grab!important; touch-action:none; user-select:none; pointer-events:auto!important; }
.moving-elements [data-move-key] * { pointer-events:none!important; user-select:none; }
.moving-elements [data-move-key]:hover { outline-color:var(--amber); }
.moving-elements [data-move-key].move-selected { outline:3px solid var(--amber); }
.moving-elements [data-move-key].move-dragging { cursor:grabbing!important; z-index:100; }
.editing-text:not(.moving-elements) [data-edit] { pointer-events:auto; }
