/* Shared desktop controls and workspace geometry. Loaded after legacy themes. */
:root{--ui-select-bg:var(--theme-v20-bg, #191d29);--ui-select-ink:var(--theme-v20-text, #edf0fa);--ui-select-line:var(--theme-v20-line, #3c4057);--ui-select-hover:var(--theme-v20-accent, #302b4c);--ui-select-accent:var(--theme-v20-accent, #a99aff);--ui-select-shadow:0 16px 48px color-mix(in srgb, var(--theme-v20-shadow, #000000) 33.333%, transparent);color-scheme:dark}
html[data-theme="light"]{--ui-select-bg:var(--theme-v20-bg, #fff);--ui-select-ink:var(--theme-v20-text, #263249);--ui-select-line:var(--theme-v20-line, #dce0ed);--ui-select-hover:var(--theme-v20-panel, #f0edff);--ui-select-accent:var(--theme-v20-accent, #7662e8);--ui-select-shadow:0 16px 48px color-mix(in srgb, var(--theme-v20-shadow, #283550) 14.902%, transparent);color-scheme:light}
select:not([multiple]):not([size]),select[size="1"]{appearance:none!important;-webkit-appearance:none!important;border:1px solid var(--ui-select-line)!important;border-radius:10px!important;background-color:var(--ui-select-bg)!important;color:var(--ui-select-ink)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23988abf' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 9px center!important;padding-right:30px!important;min-width:0;max-width:100%;text-overflow:ellipsis;cursor:pointer;transition:border-color .15s,box-shadow .15s}
select:focus-visible,select[data-studio-open]{outline:0!important;border-color:var(--ui-select-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-select-accent) 18%,transparent)!important}
select:disabled{opacity:.5;cursor:not-allowed}select option,select optgroup{background:var(--ui-select-bg);color:var(--ui-select-ink)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--ui-select-accent)}
.studio-select-menu{position:fixed;inset:auto;margin:0;box-sizing:border-box;z-index:2147483000;padding:6px;border:1px solid var(--ui-select-line);border-radius:13px;background:var(--ui-select-bg);color:var(--ui-select-ink);box-shadow:var(--ui-select-shadow);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;font:13px/1.5 system-ui,sans-serif;outline:none;user-select:none}
.studio-select-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;overflow-wrap:anywhere;min-height:38px;box-sizing:border-box}
.studio-select-option::after{content:'';width:16px;flex:none;margin-left:auto}
.studio-select-option[aria-selected="true"]{color:var(--ui-select-accent);font-weight:650;background:var(--ui-select-hover)}
.studio-select-option[aria-selected="true"]::after{content:'✓'}
.studio-select-option.active,.studio-select-option:hover{background:var(--ui-select-hover)}
.studio-select-option[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
.studio-select-group{padding:8px 12px 4px;font-size:11px;opacity:.65}
/* Background panning must never start a document text selection or native drag. */
#viewport,#stage,.node,.node-header,.workspace-command-dock{user-select:none;-webkit-user-select:none}
#viewport :is(input,textarea,[contenteditable="true"],[contenteditable=""]){user-select:text;-webkit-user-select:text}
#viewport img,#viewport a,.node-header{-webkit-user-drag:none}
/* Keep the scroll box full-width; center its contents with padding instead. */
body.dashboard-page>.dashboard-main,body.home-page>.home-main{width:100%!important;max-width:none!important;box-sizing:border-box;margin-inline:0!important;padding-inline:max(var(--sd-browser-gutter,24px),calc((100% - 1440px)/2))!important;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--ui-select-accent) transparent}
@media(min-width:1024px){
 body.simple-page{height:100dvh!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column}
 .simple-page>.simple-topbar{flex:0 0 auto}
 .simple-page>.simple-main{width:100%;max-width:none;margin:0;flex:1 1 auto!important;min-height:0;height:auto!important;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);grid-template-rows:auto minmax(180px,.85fr) minmax(220px,1.15fr);gap:16px;align-content:stretch;overflow-y:auto;padding:18px clamp(18px,2vw,40px) 182px!important}
 .simple-page .simple-main>.api-quota-simple{grid-column:1/-1;grid-row:1;margin:0}
 .simple-page .simple-result-panel{grid-column:2;grid-row:2/4;display:flex;flex-direction:column;min-height:380px;min-width:0;margin:0}
 .simple-page .simple-upload-section{grid-column:1;grid-row:2;margin:0;min-height:0;overflow:auto}
 .simple-page .simple-prompt-panel{grid-column:1;grid-row:3;margin:0;min-height:0;display:flex;flex-direction:column}
 .simple-page .simple-result-stage{flex:1;min-height:300px;height:auto!important;width:100%}
 .simple-page .simple-result-stage video{height:100%;min-height:0;object-fit:contain}
 .simple-page .simple-image-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));overflow-x:hidden;gap:8px}
 .simple-page .simple-image-card,.simple-page .simple-image-add{min-width:0;max-height:156px}
 .simple-page .simple-prompt-panel textarea{flex:1;height:auto!important;min-height:140px;resize:vertical}
 .simple-page .simple-prompt-panel.expanded{grid-row:2/4;z-index:2}
 .simple-page .simple-main:has(.simple-prompt-panel.expanded) .simple-upload-section{visibility:hidden}
 .simple-page .simple-spacer{display:none}
 .simple-page .simple-section-head{flex-wrap:wrap;gap:8px}
 .simple-page .simple-section-head>div{flex-wrap:wrap}
 .simple-page .simple-action-dock{width:calc(100% - clamp(36px,4vw,80px));max-width:1600px;grid-template-columns:100px 110px 110px minmax(300px,1fr) 150px;min-height:78px}
 .simple-page .simple-settings{grid-template-columns:minmax(130px,1.6fr) repeat(3,minmax(65px,1fr))}
 .simple-page .simple-model-note{width:calc(100% - clamp(36px,4vw,80px));max-width:1600px;bottom:102px;max-height:66px;overflow:auto}
 .image-workbench .tool-main-premium{width:calc(100% - clamp(36px,4vw,80px));max-width:1680px;padding-top:24px}
 .image-workbench .tool-hero-premium{margin-bottom:20px}
 .image-workbench .tool-hero-premium h1{font-size:clamp(32px,3vw,48px)}
 .image-workbench .image-workbench-grid{grid-template-columns:minmax(340px,400px) minmax(0,1fr);gap:20px}
 .image-workbench .image-workbench-grid>.tool-card:first-child{position:static}
 .image-workbench #imagePrompt{min-height:160px;height:22vh;max-height:420px}
 .image-workbench .image-result-stage{min-height:540px;height:calc(100dvh - 280px)}
}
@media(min-width:1024px) and (max-width:1200px){
 .simple-page .simple-action-dock{grid-template-columns:repeat(3,1fr) 160px;grid-template-areas:'match video audio generate' 'settings settings settings generate'}
 .simple-page .simple-action-dock .simple-action:nth-child(1){grid-area:match}.simple-page .simple-action-dock .simple-action:nth-child(2){grid-area:video}.simple-page .simple-action-dock .simple-action:nth-child(3){grid-area:audio}
 .simple-page .simple-settings{grid-area:settings}.simple-page .simple-generate-btn{grid-area:generate}
 .simple-page .simple-model-note{bottom:144px}.simple-page>.simple-main{padding-bottom:220px!important}
}
@media(min-width:1024px){
 .simple-page.discount-page .simple-action-dock{grid-template-columns:90px 100px 100px minmax(280px,1fr) 90px 140px}
 .simple-page.discount-page #modelNote{position:fixed;z-index:159;left:50%;transform:translateX(-50%);bottom:102px;width:calc(100% - clamp(36px,4vw,80px));max-width:1600px;max-height:66px;overflow:auto;margin:0!important;box-sizing:border-box}
 .simple-page.discount-page #simpleTasks{max-height:160px;overflow:auto;flex:none}
}
@media(min-width:1024px) and (max-width:1200px){
 .simple-page.discount-page .simple-action-dock{grid-template-columns:repeat(4,minmax(0,1fr)) 140px;grid-template-areas:'match video audio image generate' 'settings settings settings settings generate'}
 .simple-page.discount-page #imgGenBtn{grid-area:image}
 .simple-page.discount-page #modelNote{bottom:144px}
}

/* Workflow fields must override native controls and legacy theme selectors. */
html body.canvas-page #stage .cw-body :is(input:not([type="checkbox"]),select,textarea){
 background-color:var(--ui-select-bg)!important;color:var(--ui-select-ink)!important;
 border:1px solid var(--ui-select-line)!important;border-radius:10px!important;
 padding:9px 11px;min-height:38px;font:400 14px/1.5 system-ui,sans-serif;box-shadow:none!important;
}
html body.canvas-page #stage .cw-body select{padding-right:30px!important}
html body.canvas-page #stage .cw-body :is(input,select,textarea):focus-visible{
 outline:2px solid var(--ui-select-accent)!important;outline-offset:2px;
}
html body.canvas-page #stage .cw-body :is(input,textarea)::placeholder{color:var(--muted,var(--theme-v20-muted, #9ba4b8));opacity:1}
html body.canvas-page #stage .cw-body label{font-size:13px;line-height:1.5}
html body.canvas-page #stage .cw-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
html body.canvas-page #stage .cw-settings select{max-width:100%}
html body.canvas-page #stage .cw-body :is(input,select,textarea):disabled{opacity:.55;cursor:not-allowed}
/* Text stays native DOM text, with raster promotion limited to active gestures. */
.canvas-page #stage{backface-visibility:visible;transform-origin:0 0}
.canvas-page #zoomHud{cursor:pointer;border:0;background:transparent;color:inherit;font:inherit;padding:0;min-width:48px}
.canvas-page #zoomHud:focus-visible{outline:2px solid var(--ui-select-accent);outline-offset:2px;border-radius:6px}
