.storyboard-section { margin: 0 0 25px; }
.storyboard-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:13px; }
.storyboard-head h2 { margin:4px 0 0; font-size:18px; }
.storyboard-head-actions { display:flex;align-items:center;gap:8px; }
.prompt-workbench-head { align-items:center; }
.prompt-mode-switch { display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.22); }
.prompt-mode-switch button { height:28px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:9px;font-weight:700;cursor:pointer; }
.prompt-mode-switch button.active { background:rgba(138,120,255,.18);color:#e8e4ff; }
.structured-prompt-meta { display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;color:var(--muted);font-size:8px; }
.freeform-prompt-editor { position:relative; }
.freeform-writing-guide { margin:0 0 9px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(5,7,11,.3); }
.freeform-writing-guide>b { display:block;margin-bottom:6px;font-size:10px;color:#dce1eb; }
.freeform-writing-guide p { display:flex;gap:8px;margin:4px 0;font-size:9px;line-height:1.55; }
.freeform-writing-guide strong { flex:none;width:72px;color:#c9cfdb; }
.freeform-writing-guide span { color:#929aaa; }
.freeform-writing-guide code { color:#bdb4ff;font-size:8px; }
.freeform-prompt-editor textarea { display:block;width:100%;min-height:390px;padding:18px;border:1px solid var(--line);border-radius:12px;background:rgba(3,5,8,.5);color:var(--text);font:13px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;outline:none;resize:vertical; }
.freeform-prompt-editor textarea:focus { border-color:rgba(138,120,255,.5);box-shadow:inset 0 0 0 1px rgba(138,120,255,.15); }
.prompt-block { margin:0 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(5,7,11,.24); }
.prompt-block-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px; }
.prompt-block-head>span { display:flex;align-items:baseline;gap:8px;min-width:0; }
.prompt-block-head>span i { display:grid;width:24px;height:20px;place-items:center;border-radius:6px;background:rgba(138,120,255,.14);color:#bcb2ff;font:700 8px/1 ui-monospace,monospace; }
.prompt-block-head>span b { font-size:12px;white-space:nowrap; }
.prompt-block-head>span small { color:var(--muted);font-size:8px; }
.prompt-block-head>div { display:flex;align-items:center;gap:6px; }
.prompt-block-head .mimo-button { height:30px;padding:0 10px;font-size:9px; }
.prompt-field { position:relative;display:block;min-width:0; }
.prompt-field>span { display:block;margin-bottom:5px;color:#b9c0ce;font-size:8px;font-weight:700; }
.prompt-field textarea { display:block;width:100%;min-height:58px;padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(3,5,8,.44);color:var(--text);font:9px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;outline:none;resize:vertical; }
.prompt-field textarea:focus { border-color:rgba(138,120,255,.42);background:rgba(7,9,14,.66); }
.reference-contract-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px; }
.visual-overview { display:grid;grid-template-columns:1fr;gap:9px; }
.storyboard-subhead { display:flex;align-items:center;justify-content:space-between;margin:10px 0 7px; }
.storyboard-subhead>b { font-size:9px;color:#c8ced9; }
.sound-prompt-block .storyboard-music { margin-top:9px; }
.storyboard-duration { display:flex;align-items:baseline;gap:5px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:rgba(5,7,11,.3); }
.storyboard-duration small { color:var(--muted);font-size:8px; }
.storyboard-duration small.invalid { color:#ff9aa5; }
.storyboard-duration strong { font-size:11px; }
.shot-list { display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.shot-card { padding:12px 4px 13px; border-bottom:1px solid rgba(255,255,255,.07); }
.shot-card:last-child { border-bottom:0; }
.shot-card header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.shot-card header>div:first-child { display:flex; align-items:center; gap:10px; }
.shot-number { padding:4px 7px; border-radius:7px; background:rgba(138,120,255,.15); color:#b9adff; font-size:9px; font-weight:800; letter-spacing:.08em; }
.shot-card header strong { font-size:11px; color:#d9deeb; }
.shot-actions { display:flex; gap:5px; }
.shot-actions button { width:28px; height:28px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.03); color:var(--muted); cursor:pointer; }
.shot-actions button:last-child { color:#ff9aa5; }
.shot-actions button:disabled { opacity:.25; cursor:not-allowed; }
.shot-header-actions { display:flex;align-items:center;gap:7px; }
.shot-duration { display:grid;grid-template-columns:auto minmax(86px,145px) 42px;align-items:center;gap:7px;min-width:190px;padding:4px 7px;border:1px solid var(--line);border-radius:8px;background:rgba(5,7,11,.5); }
.shot-duration span { color:var(--muted);font-size:8px;white-space:nowrap; }
.shot-duration input[type=range] { width:100%;margin:0;accent-color:var(--orange); }
.shot-duration output { color:#f2c3ae;font-size:8px;text-align:right;white-space:nowrap; }
.shot-prompt textarea { display:block;width:100%;min-height:132px;padding:13px 15px;border:0;border-radius:9px;background:rgba(5,7,11,.44);color:var(--text);font-size:10px;line-height:1.65;outline:none;resize:vertical;transition:background .15s,box-shadow .15s; }
.prompt-field textarea::placeholder,.shot-prompt textarea::placeholder,.freeform-prompt-editor textarea::placeholder { color:#697181;opacity:1; }
.shot-prompt textarea:focus { background:rgba(7,9,14,.66);box-shadow:inset 0 0 0 1px rgba(138,120,255,.42); }
.shot-prompt { position:relative; }
.reference-mention-menu { position:absolute;z-index:20;left:8px;right:8px;top:calc(100% - 18px);max-height:190px;padding:5px;overflow:auto;border:1px solid rgba(138,120,255,.35);border-radius:10px;background:#11141c;box-shadow:0 14px 38px rgba(0,0,0,.48); }
.reference-mention-menu button { display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:#e3e7ef;text-align:left;cursor:pointer; }
.reference-mention-menu button:hover { background:rgba(138,120,255,.14); }
.reference-mention-menu button b { color:#c7beff;font-size:9px; }
.reference-mention-menu button small { overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap; }
.reference-mention-menu>span { display:block;padding:8px;color:var(--muted);font-size:8px; }
.reference-attachments { margin-bottom:10px; }
.reference-attachments legend { margin-bottom:7px;font-size:10px; }
.attachment-controls { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.attachment-controls>small { color:var(--muted);font-size:8px; }
.dropzone.drag-active,.reference-file-drop.drag-active { border-color:#8a78ff!important;background:rgba(138,120,255,.12)!important;box-shadow:0 0 0 2px rgba(138,120,255,.12) inset; }
.reference-file-drop { display:inline-flex;align-items:center;height:30px;padding:0 9px;border:1px dashed var(--line);border-radius:8px;background:rgba(5,7,11,.3);color:#d7dbe6;font-size:8px;cursor:pointer;transition:border-color .15s,background .15s; }
.reference-file-drop input { display:none; }
.reference-attachment-tray { display:flex;gap:6px;margin-top:7px;overflow-x:auto; }
.reference-role-list { display:flex;flex:none;gap:6px; }
.reference-chip { position:relative;display:grid;grid-template-columns:48px 112px;gap:6px;width:172px;padding:5px;border:1px solid var(--line);border-radius:9px;background:rgba(5,7,11,.34); }
.reference-chip-remove { position:absolute;z-index:1;right:-4px;top:-5px;width:17px;height:17px;padding:0;border:1px solid var(--line);border-radius:50%;background:#171a22;color:#aeb5c3;font-size:10px;line-height:14px;cursor:pointer; }
.reference-chip-remove:hover { color:#ff9aa5;border-color:rgba(255,109,125,.35); }
.reference-media-visual { position:relative;width:48px;height:48px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:7px;background:radial-gradient(circle at center,rgba(138,120,255,.17),rgba(2,3,5,.9)); }
.reference-media-visual img,.reference-media-visual video { width:100%;height:100%;object-fit:cover;display:block; }
.reference-chip-copy { min-width:0; }
.reference-chip-copy small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.reference-token { display:block;max-width:100%;padding:0;border:0;background:transparent;color:#d9d3ff;font-size:8px;font-weight:800;cursor:pointer;white-space:nowrap; }
.reference-token:hover { color:#fff;text-decoration:underline; }
.reference-chip-copy small { margin-top:2px;color:#7f8798;font-size:7px; }
.reference-chip-copy input { width:100%;height:21px;margin-top:4px;padding:0 5px;border:1px solid var(--line);border-radius:5px;background:rgba(0,0,0,.25);color:var(--text);font-size:7px;outline:none; }
.reference-audio-icon { display:grid;height:48px;place-items:center;color:#a999ff;font-size:19px; }
.mimo-button { height:39px; padding:0 14px; border:1px solid rgba(138,120,255,.42); border-radius:10px; background:linear-gradient(130deg,rgba(138,120,255,.2),rgba(86,200,235,.13)); color:#e6e2ff; font-size:10px; font-weight:800; cursor:pointer; }
.mimo-button span { color:#ae9eff; }
.mimo-button:disabled { opacity:.55; cursor:wait; }
.enhancement-message { margin-top:9px; padding:10px 12px; border:1px solid rgba(255,109,125,.2); border-radius:10px; background:rgba(255,109,125,.08); color:#ffafb8; font-size:10px; line-height:1.5; }
.enhancement-message.success { border-color:rgba(86,214,160,.2); background:rgba(86,214,160,.08); color:#8ce9bd; }
.compiled-prompt-preview { margin-top:10px; border:1px solid var(--line); border-radius:11px; background:rgba(0,0,0,.18); }
.compiled-prompt-preview summary { padding:10px 12px; color:var(--muted); font-size:9px; cursor:pointer; user-select:none; }
.compiled-prompt-preview pre { max-height:320px; margin:0; padding:12px; overflow:auto; border-top:1px solid var(--line); color:#bfc6d5; font:9px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.soundtrack-card { padding:16px; border:1px solid var(--line); border-radius:15px; background:rgba(5,7,11,.3); }
.toggle-row { display:flex; align-items:center; justify-content:space-between; cursor:pointer; }
.toggle-row>span strong,.toggle-row>span small { display:block; }
.toggle-row>span strong { font-size:11px; }
.toggle-row>span small { margin-top:4px; color:var(--muted); font-size:9px; }
.toggle-row input { position:absolute; opacity:0; }
.toggle-row i { position:relative; width:43px; height:24px; border-radius:20px; background:rgba(255,255,255,.11); transition:.18s; }
.toggle-row i:after { content:""; position:absolute; left:3px; top:3px; width:18px; height:18px; border-radius:50%; background:#9aa1b1; transition:.18s; }
.toggle-row input:checked+i { background:rgba(138,120,255,.48); }
.toggle-row input:checked+i:after { left:22px; background:#fff; }
.soundtrack-card .field { margin-top:14px; }
.soundtrack-card .field[hidden] { display:none; }
.upscale-card { margin-top:18px; padding:16px; border:1px solid rgba(86,200,235,.22); border-radius:15px; background:linear-gradient(135deg,rgba(86,200,235,.06),rgba(138,120,255,.04)); }
.upscale-controls { margin-top:15px; padding-top:15px; border-top:1px solid var(--line); }
.upscale-mode { display:inline-flex; padding:3px; border:1px solid var(--line); border-radius:10px; background:rgba(0,0,0,.2); margin-bottom:13px; }
.upscale-mode button { padding:8px 12px; border:0; border-radius:7px; background:transparent; color:var(--muted); font-size:9px; cursor:pointer; }
.upscale-mode button.active { background:rgba(86,200,235,.14); color:#bdeffa; }
.upscale-advanced { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:12px; }
.ratio-lock { padding-bottom:13px; color:var(--muted); font-size:9px; white-space:nowrap; }
.upscale-hint { margin:10px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }
.upscale-card.unavailable { opacity:.62; }
@media(max-width:800px) {
}
@media(max-width:520px) {
  .storyboard-head { align-items:flex-start; flex-direction:column; }
  .storyboard-head-actions { width:100%;justify-content:space-between; }
  .shot-card header { align-items:flex-start;gap:8px; }
  .shot-header-actions { flex-wrap:wrap;justify-content:flex-end; }
  .upscale-advanced { grid-template-columns:1fr; }
  .ratio-lock { padding:0; }
  .reference-contract-grid,.visual-overview { grid-template-columns:1fr; }
  .prompt-block-head { align-items:flex-start; }
  .prompt-block-head>span small { display:none; }
  .prompt-workbench-head { width:100%;align-items:stretch; }
  .prompt-mode-switch { width:100%; }
  .prompt-mode-switch button { flex:1; }
}
