/* Lightweight model chooser: anchored to the model row without dimming the page. */
.model-row{position:relative;overflow:visible}
.model-row>button#model-picker{width:42px;height:42px;border:1px solid transparent;border-radius:12px;font-size:18px;transition:transform .2s,background .2s,border-color .2s,color .2s}
.model-row>button#model-picker:hover,.model-row>button#model-picker.open{color:#fff;border-color:rgba(101,220,233,.18);background:#2a2b34}
.model-row>button#model-picker.open{transform:rotate(180deg)}
.model-popover{position:absolute;right:0;bottom:calc(100% + 12px);z-index:60;width:min(430px,calc(100vw - 48px));padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(145deg,#24252d,#1a1b22);box-shadow:0 26px 75px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.055);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.97);transform-origin:bottom right;transition:opacity .2s,transform .24s cubic-bezier(.2,.85,.2,1),visibility .2s}
.model-popover.visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.model-popover:after{content:"";position:absolute;right:18px;bottom:-6px;width:11px;height:11px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:#1b1c23;transform:rotate(45deg)}
.model-popover-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 12px}
.model-popover-head>div{display:flex;flex-direction:column;gap:3px}.model-popover-head span{color:#fff;font-size:15px;font-weight:700}.model-popover-head b{color:#a8a9b3;font-size:11px;font-weight:400}
.model-popover-head>button{width:30px;height:30px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#2a2b34;color:#aaaab5;font-size:17px}.model-popover-head>button:hover{color:#fff;background:#333540}
.model-option{width:100%;min-height:70px;margin-top:7px;padding:10px 12px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:#1d1e25;color:#fff;text-align:left}
.model-option:hover{border-color:rgba(101,220,233,.24);background:#242630;transform:translateY(-1px)}.model-option.selected{border-color:rgba(101,220,233,.22);background:linear-gradient(105deg,rgba(101,220,233,.085),rgba(146,120,255,.085))}
.model-option>i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,#a38dff,#65d6e2);color:#11131a;font-size:12px;font-style:normal;font-weight:800}.model-option>span{display:flex;min-width:0;flex-direction:column;gap:4px}.model-option b{font-size:14px}.model-option small{color:#a6a7b0;font-size:11px}.model-option em{padding:5px 8px;border-radius:999px;background:rgba(101,220,233,.1);color:#8ce4ec;font-size:10px;font-style:normal;white-space:nowrap}.model-option.coming{opacity:.58;cursor:not-allowed}.model-option.coming>i{background:#30313a;color:#a8a9b2}.model-option.coming em{background:rgba(255,255,255,.05);color:#9b9ca6}

/* Readable all-reference workspace. */
.prompt-shell.reference-composer{grid-template-columns:clamp(310px,24vw,380px) minmax(0,1fr);min-height:270px}
.reference-composer .mode-media{width:auto;padding:18px;gap:12px;background:#15161c}
.reference-counts{gap:7px;flex-wrap:wrap}.reference-counts span{height:30px;padding:0 10px;gap:6px;border-color:rgba(255,255,255,.1);color:#b9bac3;font-size:11px;font-weight:600}.reference-counts span i{color:#b1b2bc;font-size:11px}.reference-counts span.active{color:#a0ebf1}
.reference-drop{min-height:188px;border-radius:14px;border-color:rgba(255,255,255,.16);color:#d1d2d9;background:#101117}.reference-drop:hover{background:rgba(101,220,233,.06)}.reference-drop>i{font-size:30px;line-height:1}.reference-drop>b{margin-top:10px;font-size:14px;font-weight:600}.reference-drop>small{margin-top:6px;color:#a3a4ae;font-size:11px}
.reference-rules{margin-top:4px;color:#a9aab3;font-size:11px;line-height:1.65}.reference-upload-row{display:grid;grid-template-columns:minmax(0,1fr) 70px;align-items:start;gap:10px;min-width:0}.reference-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;align-content:start;min-width:0;min-height:108px;gap:10px;padding:7px 7px 4px 2px;overflow:visible}.reference-thumb{width:100%;height:auto;aspect-ratio:78/88;border-radius:12px}.reference-thumb>img{border-radius:11px}.reference-thumb>small{left:5px;bottom:5px;max-width:calc(100% - 10px);padding:3px 5px;font-size:10px}.reference-thumb>button{right:-6px;top:-6px;width:21px;height:21px;font-size:12px;border-color:#15161c}.reference-add{position:sticky;right:0;width:70px;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px;font-size:22px;box-shadow:-10px 0 18px #15161c}.reference-add span{line-height:1}.reference-add small{font-size:10px;white-space:nowrap}.reference-add:disabled{cursor:default;opacity:.55;transform:none}.reference-composer textarea{min-height:200px;padding:21px;font-size:15px;line-height:1.8}.reference-composer .prompt-footer{min-height:52px}.reference-composer .prompt-footer small{font-size:11px}

@media(max-width:820px){.prompt-shell.reference-composer{grid-template-columns:1fr}.reference-composer .mode-media{width:auto;min-height:250px;border-right:0;border-bottom:1px solid var(--line)}.model-popover{right:-1px;width:min(430px,calc(100vw - 68px))}}
@media(max-width:520px){.model-popover{position:fixed;left:14px;right:14px;bottom:18px;width:auto;transform-origin:bottom center}.model-popover:after{display:none}.model-option{grid-template-columns:40px 1fr}.model-option>em{display:none}}

/* Reuse personal library assets directly in frame and all-reference modes. */
.reference-empty-actions{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px;min-height:188px}.reference-empty-actions .reference-drop{min-height:188px}.reference-library-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;border:1px solid rgba(101,220,233,.2);border-radius:14px;background:rgba(101,220,233,.065);color:#9ce8ee}.reference-library-entry:hover{border-color:rgba(101,220,233,.4);background:rgba(101,220,233,.11)}.reference-library-entry i{font-size:27px;font-style:normal}.reference-library-entry b{margin-top:9px;font-size:12px}.reference-library-entry small{margin-top:5px;color:#a4a6af;font-size:10px;line-height:1.45}.reference-upload-row{grid-template-columns:minmax(0,1fr) 78px}.reference-action-stack{display:flex;flex-direction:column;gap:7px}.reference-action-stack .reference-add{position:static;width:78px;height:50px;box-shadow:-8px 0 16px #15161c}.reference-action-stack .reference-add small{font-size:9px}.reference-library-add{color:#9ce8ee;background:rgba(101,220,233,.08)}
.frame-slot .frame-select{bottom:27px}.frame-source-actions{position:absolute;z-index:4;left:5px;right:5px;bottom:5px;display:grid;grid-template-columns:1fr 1fr;gap:4px}.frame-source-actions button{min-width:0;height:20px;padding:0 3px;border-radius:5px;font-size:7px;font-weight:700;backdrop-filter:blur(7px)}.frame-local{border:1px solid rgba(255,255,255,.14);background:rgba(18,18,21,.86);color:#b8b4bd}.frame-local:hover{border-color:rgba(255,255,255,.3);background:#29272d;color:#fff}.frame-library{border:1px solid rgba(101,220,233,.26);background:rgba(12,18,21,.86);color:#9be8ed}.frame-library:hover{border-color:rgba(101,220,233,.48);background:#183238}.frame-slot img~.frame-source-actions{padding:2px;border-radius:7px;background:rgba(7,10,12,.58);backdrop-filter:blur(8px)}
.app-modal.asset-picker-modal{width:min(860px,calc(100vw - 40px))}.asset-picker-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 15px;color:#9b9ca7;font-size:12px}.asset-picker-head b{flex:none;padding:5px 9px;border-radius:999px;background:rgba(101,220,233,.08);color:#9ce8ee;font-size:11px}.asset-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:480px;overflow:auto;padding:2px}.asset-picker-card{min-width:0;padding:9px;border:1px solid rgba(255,255,255,.085);border-radius:14px;background:#17181f;color:#ececf1;text-align:left;transition:.18s}.asset-picker-card:hover:not(:disabled){border-color:rgba(101,220,233,.28);background:#1d2027;transform:translateY(-2px)}.asset-picker-card.selected{border-color:rgba(101,220,233,.52);background:rgba(101,220,233,.1);box-shadow:0 0 0 2px rgba(101,220,233,.08)}.asset-picker-card:disabled{cursor:not-allowed;opacity:.43}.asset-picker-visual{position:relative;display:block;height:118px;overflow:hidden;border-radius:10px;background:#101117}.asset-picker-visual>img,.asset-picker-visual>video{width:100%;height:100%;object-fit:cover}.asset-picker-visual .asset-audio-preview{height:100%}.asset-picker-check{position:absolute;right:8px;top:8px;display:grid;width:24px;height:24px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(8,10,13,.72);color:transparent;font-size:12px;font-style:normal}.asset-picker-card.selected .asset-picker-check{border-color:#8ce7ed;background:#8ce7ed;color:#102124}.asset-picker-card>b,.asset-picker-card>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-picker-card>b{margin:8px 2px 2px;font-size:12px}.asset-picker-card>small{margin:0 2px;color:#8f909b;font-size:10px}
@media(max-width:720px){.reference-empty-actions{grid-template-columns:1fr 110px}.asset-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-picker-visual{height:105px}}@media(max-width:480px){.reference-empty-actions{grid-template-columns:1fr}.reference-empty-actions .reference-drop{min-height:130px}.reference-library-entry{min-height:92px}.asset-picker-grid{grid-template-columns:1fr 1fr;gap:8px}.asset-picker-card{padding:6px}.asset-picker-visual{height:92px}}

/* Drag to swap all-reference material positions and numbering. */
.reference-thumb[draggable="true"]{cursor:grab;user-select:none;transition:opacity .16s,transform .16s,border-color .16s,box-shadow .16s}.reference-thumb[draggable="true"]:active{cursor:grabbing}.reference-thumb.reference-dragging{opacity:.38;transform:scale(.94)}.reference-thumb.reference-swap-target{border-color:#8ce7ed;box-shadow:0 0 0 3px rgba(101,220,233,.2),0 8px 22px rgba(0,0,0,.28);transform:translateY(-3px)}

/* Per-material subject names and automatically detected prompt references. */
.reference-thumb>.reference-subject{position:absolute;z-index:3;left:4px;right:4px;bottom:4px;top:auto;width:auto;height:auto;min-height:29px;padding:3px 5px;display:flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:rgba(9,11,14,.78);color:#fff;line-height:1;backdrop-filter:blur(7px);overflow:hidden}.reference-thumb>.reference-subject:hover{border-color:rgba(101,220,233,.42);background:rgba(20,43,47,.9)}.reference-subject b{flex:none;font-size:9px}.reference-subject em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9ce8ee;font-size:8px;font-style:normal}.reference-mention-chip.auto-detected{padding-right:8px}.reference-mention-chip.auto-detected>b{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-mention-chip.auto-detected>small{color:#8b8d98;font-size:8px;white-space:nowrap}

/* Inline prompt reference matching: preserve the textarea while painting token backgrounds underneath it. */
.prompt-input-wrap{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.prompt-input-wrap>textarea{position:relative;z-index:1;width:100%;background:transparent!important}.prompt-highlights{position:absolute;z-index:0;inset:0;box-sizing:border-box;overflow:hidden;padding:20px 21px;white-space:pre-wrap;overflow-wrap:break-word;color:transparent;font:inherit;font-size:14px;line-height:1.85;letter-spacing:normal;pointer-events:none}.reference-composer .prompt-highlights{padding-top:16px}.prompt-highlights mark{border-radius:4px;color:transparent;padding:1px 3px;margin:-1px -3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.prompt-highlights .prompt-ref-image{background:rgba(142,113,255,.3);box-shadow:inset 0 0 0 1px rgba(171,150,255,.28)}.prompt-highlights .prompt-ref-video{background:rgba(67,192,219,.28);box-shadow:inset 0 0 0 1px rgba(91,218,235,.25)}.prompt-highlights .prompt-ref-audio{background:rgba(184,103,230,.29);box-shadow:inset 0 0 0 1px rgba(209,141,244,.23)}.prompt-highlights .prompt-ref-subject{background:rgba(47,190,121,.29);box-shadow:inset 0 0 0 1px rgba(82,222,151,.24)}.prompt-highlights .prompt-ref-shot{background:rgba(54,157,222,.28);box-shadow:inset 0 0 0 1px rgba(91,189,242,.24)}.prompt-highlights .prompt-ref-dialogue{background:rgba(235,157,55,.27);box-shadow:inset 0 0 0 1px rgba(247,185,91,.23)}.reference-thumb>.reference-subject:not(.named){justify-content:center;border-color:rgba(56,204,125,.42);background:rgba(20,121,70,.88)}.reference-thumb>.reference-subject:not(.named) b{display:none}.reference-thumb>.reference-subject:not(.named) em{color:#ddffea;font-size:9px;font-weight:700}.reference-thumb>.reference-subject.named{border-color:rgba(56,204,125,.34);background:rgba(16,111,64,.88)}.reference-thumb>.reference-subject.named em{color:#e0ffeb;font-weight:700}
@media(min-width:1700px){.prompt-highlights{font-size:14px}}@media(max-width:720px){.prompt-highlights{font-size:13px}}
/* AI 提示词优化：并排对照，移动端自动改为上下排列。 */
.app-modal.prompt-optimizer-modal{width:min(1080px,calc(100vw - 40px))}
.prompt-optimizer-note{margin:0 0 16px;color:var(--text-muted,#8d8580)}
.prompt-optimizer-compare{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:14px}
.prompt-optimizer-compare label{display:grid;gap:8px;min-width:0}
.prompt-optimizer-compare label>span{font-size:12px;font-weight:700;color:#86bdb9}
.prompt-optimizer-compare textarea{box-sizing:border-box;width:100%;height:min(48vh,430px);resize:vertical;padding:15px 16px;border:1px solid rgba(126,183,178,.2);border-radius:14px;background:rgba(16,13,11,.62);color:#ded8d2;font:13px/1.75 "Noto Sans SC",sans-serif;outline:none}
.prompt-optimizer-compare textarea:focus{border-color:rgba(112,194,188,.58);box-shadow:0 0 0 3px rgba(78,172,165,.1)}
.prompt-optimizer-compare textarea[readonly]{color:#99918b;background:rgba(16,13,11,.34)}
.prompt-optimizer-compare small{font-size:11px;color:#77716c}
[data-theme="light"] .prompt-optimizer-compare textarea{background:#faf9f7;color:#302d2a;border-color:rgba(56,117,113,.2)}
[data-theme="light"] .prompt-optimizer-compare textarea[readonly]{background:#f1efec;color:#716b66}
@media(max-width:760px){.prompt-optimizer-compare{grid-template-columns:1fr}.prompt-optimizer-compare textarea{height:240px}}

/* AI optimizer entry: dark Skill pill with a purple-to-cyan title. */
#apply-director.ai-helper{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border:1px solid rgba(167,135,255,.24);border-radius:14px;background:linear-gradient(180deg,#17151a,#0e0d10)!important;color:#a98cff!important;box-shadow:0 10px 24px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.055)!important;white-space:nowrap;transition:transform .2s,border-color .2s,box-shadow .2s,filter .2s}
#apply-director.ai-helper>span{flex:none;color:#b779ff;font-size:15px;line-height:1;text-shadow:0 0 13px rgba(181,111,255,.65)}
#apply-director.ai-helper>b{font:700 12px/1.1 "Manrope","Noto Sans SC",sans-serif;letter-spacing:.15px;background:linear-gradient(90deg,#9f7df0 0,#8895ed 47%,#54cfd3 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
#apply-director.ai-helper>em{padding-left:8px;border-left:1px solid rgba(170,140,245,.24);color:#8d829c;font-size:9px;font-style:normal;font-weight:700}
#apply-director.ai-helper:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(175,143,255,.46);box-shadow:0 15px 34px rgba(0,0,0,.32),0 0 22px rgba(137,104,226,.12),inset 0 1px rgba(255,255,255,.08)!important;filter:brightness(1.08)}
#apply-director.ai-helper:disabled{transform:none;cursor:wait;opacity:.68;color:#91879d!important}
[data-theme="light"] #apply-director.ai-helper{background:linear-gradient(180deg,#1b191e,#100f12)!important;border-color:rgba(126,91,220,.32);box-shadow:0 10px 24px rgba(44,34,61,.2),inset 0 1px rgba(255,255,255,.07)!important}
@media(max-width:720px){#apply-director.ai-helper{height:40px;padding:0 13px;gap:6px}#apply-director.ai-helper>b{font-size:10px}#apply-director.ai-helper>em{font-size:8px}}

/* Persistent AI optimization history stored in the user's private cloud space. */
.prompt-tool-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.prompt-history-button{height:40px;padding:0 13px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(167,135,255,.18);border-radius:12px;background:rgba(139,108,222,.07);color:#a99dc1;font-size:11px;font-weight:700;white-space:nowrap}
.prompt-history-button>span{color:#ad82f2;font-size:15px}.prompt-history-button:hover{border-color:rgba(167,135,255,.4);background:rgba(139,108,222,.13);color:#d4c9e8;transform:translateY(-1px)}
.prompt-history-list{display:grid;gap:10px;max-height:min(55vh,520px);overflow:auto;padding:2px}
.prompt-history-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(16,14,18,.46);overflow:hidden}
.prompt-history-open{min-width:0;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;background:transparent;color:#ddd7e4;text-align:left}
.prompt-history-open>span{display:flex;min-width:0;flex-direction:column;gap:4px}.prompt-history-open b{font-size:12px}.prompt-history-open small{color:#827b88;font-size:10px}.prompt-history-open p{grid-column:1/3;margin:2px 0 0;overflow:hidden;color:#aaa2af;font-size:11px;line-height:1.6;text-overflow:ellipsis;white-space:nowrap}.prompt-history-open>i{grid-column:2;grid-row:1;color:#8edce1;font-size:10px;font-style:normal;align-self:center}.prompt-history-open:hover{background:rgba(127,97,207,.08)}
.prompt-history-delete{width:54px;border:0;border-left:1px solid rgba(255,255,255,.065);background:rgba(193,76,61,.04);color:#9a7470;font-size:10px}.prompt-history-delete:hover{background:rgba(193,76,61,.13);color:#e29b91}
.prompt-history-empty{padding:42px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#8d8791}.prompt-history-empty>span{font-size:26px;color:#9677d6}.prompt-history-empty>b{margin-top:10px;color:#c5bdca;font-size:13px}.prompt-history-empty>p{margin:6px 0 0;font-size:11px}
[data-theme="light"] .prompt-history-item{border-color:rgba(70,54,91,.12);background:#f5f2f7}[data-theme="light"] .prompt-history-open{color:#3b3441}[data-theme="light"] .prompt-history-open p{color:#736b78}[data-theme="light"] .prompt-history-delete{border-color:rgba(70,54,91,.1)}
@media(max-width:720px){.panel-head{align-items:flex-start;flex-wrap:wrap;gap:12px}.prompt-tool-actions{width:100%;justify-content:flex-start}.prompt-history-button{height:36px}.prompt-history-item{grid-template-columns:minmax(0,1fr) 48px}.prompt-history-open{padding:12px}.prompt-history-open p{max-width:65vw}}
