/* A compact task dock, sized in CSS pixels at 100% browser zoom. */
body.site-shell:not(.studio-embedded):is([data-tab=video],[data-tab=image]) .workspace{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}
body.site-shell:not(.studio-embedded):is([data-tab=video],[data-tab=image]) #composer{
 position:sticky;inset:auto;top:max(92px,calc(100dvh - var(--studio-dock-clearance,180px) - 20px));
 transform:none;align-self:start;justify-self:center;grid-area:1/1;z-index:15;
 display:flex;flex-direction:column;gap:8px;box-sizing:border-box;
 width:min(1000px,calc(100% - 48px))!important;height:auto;min-height:0;max-height:none;
 margin:0;padding:12px;border-radius:16px;background:var(--dock-panel,#1c1e1f);backdrop-filter:none;
}
body.site-shell:not(.studio-embedded):is([data-tab=video],[data-tab=image]) .gallery-panel{grid-area:1/1;min-width:0;padding-bottom:calc(var(--studio-dock-clearance,180px) + 48px)}
#composer .composer-editor{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:10px;min-height:52px;height:52px;max-height:52px;width:100%}
#composer .prompt-field{flex:1 1 0;min-width:0;margin:0}
#composer .prompt-input{height:52px;min-height:52px;max-height:52px;padding:3px 68px 3px 0;font-size:14px;line-height:1.5;resize:none;overflow:auto}
#composer .upload-zone{min-height:40px;max-height:52px;flex:0 0 auto}
#composer .upload-button{width:40px;height:40px;flex-basis:40px;border-radius:10px}
#composer .reference-preview{max-width:min(210px,24vw);max-height:48px;flex:0 1 auto}
#composer .reference-item{width:54px;height:42px;flex-basis:54px}
#composer .improve-prompt{flex:0 0 112px;min-height:36px;max-height:48px;margin:0;padding:5px 8px;font-size:10px;border-radius:9px}
#composer .composer-toolbar{display:flex;align-items:center;flex-direction:row;gap:10px;height:44px;width:100%;min-height:0}
#composer .composer-params{display:flex;flex:1 1 0;align-items:center;flex-wrap:nowrap;gap:5px;min-width:0;width:auto;overflow:auto;padding:2px 0;scrollbar-width:thin}
#composer .composer-model-slot,#composer #video-controls,#composer .controls-grid{display:contents}
#composer .model-picker-field{flex:0 0 155px;width:155px;min-width:0}
#composer .parameter-pill,#composer .control select,#composer .composer-tabs,#composer .audio-control{min-height:36px;height:36px;box-sizing:border-box}
#composer .composer-tabs button{min-height:28px;padding:4px 7px}
#composer .batch-count-field{flex:0 0 48px;width:48px;min-width:0}
#composer .batch-count-field select{width:48px;min-width:0;padding-inline:8px;font-size:12px}
#composer .composer-footer{flex:0 0 166px;width:166px;position:static;background:transparent}
#composer .generate-button{width:100%;min-height:42px;height:42px;padding:6px 10px;border-radius:10px}
#composer .generate-label{font-size:12px;line-height:1.2}
#composer .generate-cost{font-size:10px;line-height:1.2}
#composer .composer-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:19px;width:100%;min-width:0}
body.site-shell:not(.studio-embedded):is([data-tab=video],[data-tab=image]) #composer .composer-status{position:static;inset:auto;display:flex;flex:1 1 0;min-width:0;height:auto;font-size:10px;line-height:1.3}
#composer .composer-status #price{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#composer .composer-status .generation-note:not([data-submission-state]),#composer .generation-ai-disclosure{display:none}
#composer .composer-info{flex:0 0 auto;font-size:11px;line-height:1.4;color:var(--dock-muted,#aeb5b7)}
#composer .composer-info summary{cursor:pointer;padding:3px 0;min-height:18px;color:var(--dock-muted,#aeb5b7)}
#composer .composer-info summary:focus-visible{outline:2px solid #d2ff02;outline-offset:3px}
#composer .composer-info-content{position:absolute;bottom:calc(100% + 10px);right:0;box-sizing:border-box;width:min(620px,calc(100vw - 48px));max-height:min(38dvh,320px);overflow:auto;padding:16px;border:1px solid var(--dock-border,#444);border-radius:12px;background:var(--dock-panel,#1c1e1f);box-shadow:0 12px 30px #0006;color:var(--dock-text,#fff)}
body.site-shell #composer .composer-info .provider-data-notice,#composer .composer-info p{display:block;position:static;inset:auto;margin:0 0 12px;padding:0;width:auto;max-width:none;border:0;background:none;font-size:12px;line-height:1.55;color:inherit;white-space:normal}
#composer .composer-info p:last-child{margin-bottom:0}
body.site-shell #composer #model-note{max-height:110px;overflow:auto;font-size:12px;line-height:1.45}
@media(max-width:1000px){#composer .model-picker-field{flex-basis:145px;width:145px}#composer .composer-footer{flex-basis:145px;width:145px}#composer .composer-params{gap:4px}}
@media(max-width:720px){
 body.site-shell:not(.studio-embedded):is([data-tab=video],[data-tab=image]) #composer{width:calc(100% - 24px)!important;padding:10px;gap:8px;top:max(74px,calc(100dvh - var(--studio-dock-clearance,198px) - 12px))}
 #composer .composer-editor{height:60px;min-height:60px;max-height:60px;gap:8px}
 #composer .prompt-input{height:60px;min-height:60px;max-height:60px;font-size:16px;padding-right:30px}
 #composer .prompt-count{display:none}
 #composer .improve-prompt{flex:0 0 35px;width:35px;min-height:40px;max-height:54px;padding:4px;font-size:9px;line-height:1.1}
 #composer .reference-preview{max-width:74px}
 #composer .composer-toolbar{height:44px;gap:7px}
 #composer .composer-footer{flex-basis:112px;width:112px}
 #composer .generate-button{height:44px;min-height:44px;padding:5px 8px}
 #composer .generate-label{font-size:11px}
 #composer .model-picker-field{flex-basis:140px;width:140px}
 #composer .parameter-pill,#composer .control select,#composer .composer-tabs,#composer .audio-control{min-height:40px;height:40px}
 #composer .composer-meta{gap:6px}#composer .composer-info{font-size:10px}
 #composer .composer-status{font-size:9px!important}
}
@media(max-height:620px) and (min-width:721px){#composer .composer-editor,#composer .prompt-input{height:40px;min-height:40px;max-height:40px}body.site-shell:not(.studio-embedded):is([data-tab=video],[data-tab=image]) #composer{padding:10px;gap:5px;top:max(72px,calc(100dvh - var(--studio-dock-clearance,150px) - 12px))}}

body.site-shell:not(.studio-embedded):is([data-tab=video],[data-tab=image]) #composer.batch-count-on{width:min(1000px,calc(100% - 48px))!important;top:max(92px,calc(100dvh - var(--studio-dock-clearance,180px) - 20px))}
#composer .batch-count-field.control{flex:0 0 48px;width:48px;min-width:48px}#composer .batch-count-field.control>span{display:none!important}
#composer .composer-info .prompt-tools{display:flex;gap:8px;margin-top:12px}
@media(max-width:720px){body.site-shell:not(.studio-embedded):is([data-tab=video],[data-tab=image]) #composer.batch-count-on{width:calc(100% - 24px)!important;top:max(74px,calc(100dvh - var(--studio-dock-clearance,198px) - 12px))}}

#composer .upload-zone{width:auto;max-width:260px;flex:0 0 auto}#composer .composer-params{height:44px;max-height:44px;box-sizing:border-box}#composer .model-picker-field{margin:0}
@media(max-width:720px){#composer .upload-zone{width:40px;max-width:40px;flex-basis:40px}#composer .improve-prompt{font-size:0}#composer .improve-prompt::after{content:"✦";font-size:17px}#composer .composer-params{height:44px;max-height:44px}#composer .model-picker-trigger{min-height:36px;height:36px}#composer .model-picker-field{flex-basis:140px;width:140px}}

body.site-shell:is([data-tab=video],[data-tab=image]){overflow-x:clip}

/* A single horizontal parameter strip; primary quote action stays outside it. */
#composer .composer-params{overflow-y:hidden}#composer #estimate{flex:0 0 36px;min-width:36px;width:36px}

/* Leave space for two action lines plus a fully visible price on narrow docks. */
#composer .composer-toolbar{height:54px}#composer .generate-button{height:54px;min-height:54px}
