/* Image prompt: same field geometry and focus treatment as music description. */
html body.social-page #socialGrid [data-fixed-panel-mode="generate"] > .social-generation-description.social-generation-editor.gen-preview38-editor{
 /* The prompt takes the remaining height; the final row stays at the bottom. */
 grid-template-rows:auto minmax(116px,1fr) auto auto auto auto auto!important;
 row-gap:12px!important;
 align-content:start!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 overscroll-behavior-y:contain;
 scrollbar-width:none;
}
/* Native resizing adds an inline height. Let rows follow that chosen height. */
html body.social-page #socialGrid [data-fixed-panel-mode="generate"] > .social-generation-description.social-generation-editor.gen-preview38-editor:has(> #generationPromptInput.canalai-image-prompt[style*="height:"]){
 grid-template-rows:repeat(7,auto)!important;
}
html body.social-page #socialGrid [data-fixed-panel-mode="generate"] > .social-generation-description.social-generation-editor.gen-preview38-editor > .gen-desc-head.canalai-model-head{
 height:auto!important;
 min-height:0!important;
 grid-template-rows:auto auto!important;
 align-content:start!important;
 margin-bottom:0!important;
 padding-bottom:0!important;
}
html body.social-page #socialGrid [data-fixed-panel-mode="generate"] > .social-generation-description.gen-preview38-editor::-webkit-scrollbar{
 display:none;
}

html body.social-page #socialGrid :is(#generationPromptInput,#marketPromptInput,#videoPromptInput).canalai-image-prompt{
 box-sizing:border-box!important;
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 /* Native resizing writes an inline height, so this must not be !important. */
 height:auto;
 min-height:110px!important;
 max-height:none!important;
 resize:vertical!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 align-self:stretch!important;
 margin:0!important;
 padding:10px 12px!important;
 border:1px solid #ccd4df!important;
 border-radius:12px!important;
 background:#fff!important;
 color:#172238!important;
 font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
 font-size:14px!important;
 font-weight:400!important;
 font-style:normal!important;
 line-height:1.5!important;
 letter-spacing:normal!important;
 text-transform:none!important;
 outline:none!important;
 outline-offset:3px!important;
 box-shadow:none!important;
 caret-color:currentColor!important;
 scrollbar-width:auto!important;
 scrollbar-color:auto!important;
 scrollbar-gutter:auto!important;
 color-scheme:light;
}
html body.social-page #socialGrid :is(#generationPromptInput,#marketPromptInput,#videoPromptInput).canalai-image-prompt::placeholder{
 color:#697789!important;
 opacity:1!important;
}
html body.social-page #socialGrid :is(#generationPromptInput,#marketPromptInput,#videoPromptInput).canalai-image-prompt:focus-visible{
 outline:2px solid #3b82f6!important;
 outline-offset:3px!important;
}
html.social-dark body.social-page #socialGrid :is(#generationPromptInput,#marketPromptInput,#videoPromptInput).canalai-image-prompt,
html body.social-page.social-dark #socialGrid :is(#generationPromptInput,#marketPromptInput,#videoPromptInput).canalai-image-prompt{
 background:#101824!important;
 border-color:#354254!important;
 color:#edf2f8!important;
 color-scheme:dark;
}
html.social-dark body.social-page #socialGrid :is(#generationPromptInput,#marketPromptInput,#videoPromptInput).canalai-image-prompt::placeholder,
html body.social-page.social-dark #socialGrid :is(#generationPromptInput,#marketPromptInput,#videoPromptInput).canalai-image-prompt::placeholder{
 color:#a5b2c4!important;
}

/* Image field keeps its established 8px caption gap in a 12px-gap grid. */
html body.social-page #socialGrid #generationPromptInput.canalai-image-prompt{
 margin:-4px 0 10px!important;
}
html body.social-page #socialGrid #marketPromptInput.canalai-image-prompt{
 grid-row:1!important;
 grid-column:1!important;
 order:0!important;
}
html body.social-page #socialGrid #videoPromptInput.canalai-image-prompt{
 grid-row:2!important;
 grid-column:1!important;
 order:0!important;
}

/* Other generator editors fill the existing viewport-sized settings column. */
html body.social-page #socialGrid .canalai-prompt-editor:has(:is(#marketPromptInput,#videoPromptInput)){
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 height:100%!important;
 max-height:100%!important;
 min-height:0!important;
 box-sizing:border-box!important;
 align-content:start!important;
 row-gap:12px!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 overscroll-behavior-y:contain!important;
 scrollbar-width:none!important;
 scrollbar-gutter:auto!important;
}
html body.social-page #socialGrid .canalai-prompt-editor::-webkit-scrollbar{display:none!important}
html body.social-page #socialGrid .canalai-prompt-editor .gen-desc-head.canalai-model-head{
 height:auto!important;
 min-height:0!important;
 align-content:start!important;
 margin:0!important;
 padding:0!important;
}

/* Video has an expanding prompt group above the options and action row. */
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput){
 grid-template-rows:minmax(min-content,1fr) auto auto!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput) > .video-prompt-panel{
 grid-row:1!important;
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:auto minmax(110px,1fr)!important;
 align-content:start!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 gap:8px!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
 overflow:visible!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput) > .video-lower-controls{grid-row:2!important}
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput) > .video-generation-actions{grid-row:3!important}
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput[style*="height:"]){
 grid-template-rows:auto auto auto!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput[style*="height:"]) > .video-prompt-panel{
 grid-template-rows:auto auto!important;
}

/* Marketplace: model, mode switch, caption, expanding field, controls, hint. */
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput){
 grid-template-rows:auto minmax(116px,1fr) auto auto!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput) > .gen-desc-head{
 grid-row:1!important;
 grid-template-rows:auto auto auto!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput) > .gen-desc-head > .marketplace-mode-switch{
 grid-row:2!important;
 grid-column:1 / -1!important;
 width:100%!important;
 min-width:0!important;
 margin:0!important;
 position:static!important;
 transform:none!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput) > .gen-desc-head > .gen-desc-title{
 grid-row:3!important;
}
/* Header icon-button sizing must not shrink the two marketplace tabs. */
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput) .marketplace-mode-switch > button{
 width:100%!important;
 min-width:0!important;
 display:inline-block!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput) > .marketplace-prompt-stack{
 grid-row:2!important;
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:minmax(110px,1fr)!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 margin:-4px 0 10px!important;
 padding:0!important;
 gap:0!important;
 overflow:visible!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput) > .marketplace-actions-stack{
 grid-row:3!important;
 margin:0!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput) > .marketplace-hint{
 grid-row:4!important;
 margin:0!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput[style*="height:"]){
 grid-template-rows:repeat(4,auto)!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#marketPromptInput[style*="height:"]) > .marketplace-prompt-stack{
 grid-template-rows:auto!important;
}

/* Keep the prompt's top edge anchored while the native resize handle moves. */
html body.social-page #socialGrid [data-fixed-panel-mode="generate"] > .canalai-prompt-editor,
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput){
 overflow-anchor:none!important;
 align-content:start!important;
}
html body.social-page #socialGrid :is(#generationPromptInput,#videoPromptInput).canalai-image-prompt{
 overflow-anchor:none!important;
}
html body.social-page #socialGrid [data-fixed-panel-mode="generate"] > .canalai-prompt-editor > .gen-desc-head,
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput) > .video-prompt-panel > .gen-desc-head{
 align-self:start!important;
}
/* Auto grid tracks can redistribute height when inline resizing begins.
   Content-sized tracks retain the header position and grow only below it. */
html body.social-page #socialGrid [data-fixed-panel-mode="generate"] > .social-generation-description.social-generation-editor.gen-preview38-editor:has(> #generationPromptInput.canalai-image-prompt[style*="height:"]){
 grid-template-rows:repeat(7,max-content)!important;
 align-content:start!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput[style*="height:"]){
 grid-template-rows:repeat(3,max-content)!important;
 align-content:start!important;
}
html body.social-page #socialGrid .canalai-prompt-editor:has(#videoPromptInput[style*="height:"]) > .video-prompt-panel{
 grid-template-rows:max-content max-content!important;
 align-content:start!important;
 overflow-anchor:none!important;
}

html body.social-page #socialGrid :is(#generationPromptInput,#videoPromptInput).canalai-image-prompt[style*="height:"]{align-self:start!important;}
