/* H3-only glue. The visual system itself comes from workspacev3.css. */
#main-content{position:relative;z-index:1;min-height:100vh}
.header-workflow-select{position:relative;width:min(44vw,505px);min-width:260px}
.workflow-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.header-workflow-select .workflow-trigger{min-width:0;background:rgba(255,255,255,.055);border-color:rgba(var(--cream-rgb),.20);color:var(--text,#f3eadc);font-weight:500;text-align:left}
.header-workflow-select .workflow-trigger:hover,.header-workflow-select .workflow-trigger:focus,.header-workflow-select .workflow-trigger:focus-visible,.header-workflow-select .workflow-trigger[aria-expanded="true"]{background:rgba(255,255,255,.08);border-color:rgba(236,88,66,.82)!important;color:#fff;outline:0!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.45),0 0 0 2px rgba(236,88,66,.18)!important}
.workflow-trigger #workflowValue{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workflow-menu{position:absolute;z-index:30;top:calc(100% + 5px);left:0;right:0;padding:4px;background:#17100f;border:1px solid rgba(236,88,66,.82);border-radius:var(--radius-sm);box-shadow:0 12px 28px rgba(0,0,0,.55)}
.workflow-menu[hidden]{display:none}
.workflow-menu [role="option"]{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:rgba(var(--cream-rgb),.72);font-family:var(--sans);font-size:12px;text-align:left;cursor:pointer}
.workflow-menu [role="option"]:hover,.workflow-menu [role="option"]:focus,.workflow-menu [role="option"][aria-selected="true"]{background:var(--accent);color:#fff;outline:none}
.workflow-menu [role="option"]:focus-visible{box-shadow:inset 0 0 0 2px var(--cream)}
.resolution-menu .resolution-menu-sep{padding:9px 10px 4px;color:rgba(var(--cream-rgb),.38);font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.resolution-menu .resolution-menu-sep + [role="option"]{border-top:1px solid rgba(var(--cream-rgb),.12)}
.modal-header-banner .header-left{min-width:0}
.modal-header-banner .header-info{flex-shrink:0}
.modal-header-banner .workflow-trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row{display:flex;align-items:flex-start;gap:12px}
.number-field{display:grid;flex:1;gap:7px;color:var(--muted2);font-family:var(--sans);font-size:13px}
.resolution-control{display:grid;gap:7px;margin-top:12px}
.resolution-select{position:relative;width:100%}
.resolution-select .resolution-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;background:rgba(255,255,255,.055);border-color:rgba(var(--cream-rgb),.20);color:var(--text,#f3eadc);font-weight:500;text-align:left}
.resolution-select .resolution-trigger:hover,.resolution-select .resolution-trigger:focus,.resolution-select .resolution-trigger:focus-visible,.resolution-select .resolution-trigger[aria-expanded="true"]{background:rgba(255,255,255,.08);border-color:rgba(236,88,66,.82)!important;color:#fff;outline:0!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.45),0 0 0 2px rgba(236,88,66,.18)!important}
.resolution-trigger #resolutionValue{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.number-input{position:relative;width:100%}
input[type=number]{width:100%;box-sizing:border-box;background:rgba(0,0,0,.35);border:1px solid rgba(var(--cream-rgb),.10);border-radius:var(--radius-sm);color:var(--text-secondary,#e9e1d5);font-family:var(--sans);font-size:13px;padding:10px 34px 10px 14px;outline:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.45);transition:border-color .2s,box-shadow .2s,background .2s;-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]:hover{border-color:rgba(var(--cream-rgb),.20)}
input[type=number]:focus{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.12),inset 0 1px 2px rgba(0,0,0,.45)}
.number-stepper{position:absolute;top:5px;right:5px;bottom:5px;width:22px;display:grid;grid-template-rows:1fr 1fr;border-left:1px solid rgba(var(--cream-rgb),.12);overflow:hidden;border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.number-step{display:grid;place-items:center;border:0;background:transparent;color:rgba(var(--cream-rgb),.48);font-family:var(--mono);font-size:8px;line-height:1;padding:0;cursor:pointer;transition:background .15s,color .15s}
.number-step:hover{background:rgba(var(--accent-rgb),.14);color:var(--accent)}
.number-step:active{background:rgba(var(--accent-rgb),.24);color:#fff}
.spectrum-toggle{width:100%;justify-content:flex-start;text-align:left}
.spectrum-toggle[aria-pressed="true"]{background:linear-gradient(180deg,rgba(var(--accent-rgb),.48),rgba(var(--accent-rgb),.22))!important;border-color:rgba(var(--accent-rgb),.9)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 2px rgba(var(--accent-rgb),.16),0 4px 14px rgba(0,0,0,.45)!important}
.frame-slot{position:relative;z-index:1}
.frame-zone{transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s,background .2s,box-shadow .2s}
.frame-zone:hover{transform:scale(1.035);z-index:5;border-color:rgba(var(--accent-rgb),.7);background:rgba(var(--accent-rgb),.07);box-shadow:0 8px 22px rgba(0,0,0,.45)}
.frame-slot .thumb-cell{transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s}
.frame-slot .thumb-cell:hover{transform:scale(1.12);z-index:10;border-color:var(--accent);box-shadow:0 8px 24px rgba(0,0,0,.65)}
.frame-slot .field-label{position:relative;min-height:18px;padding-right:42px;white-space:nowrap}
.frame-slot .label-hint{position:absolute;top:0;right:0;font-size:9px;font-weight:400;letter-spacing:.02em;text-transform:none}
.frame-zone{min-height:104px}
.black-frame-button{font:inherit;color:inherit;cursor:pointer}
.black-frame-button:disabled{cursor:wait;opacity:.7}
.frame-slot .thumbs-grid:not([hidden]) + .black-frame-button{min-height:40px;padding:8px 14px;flex-direction:row;gap:8px}
.frame-slot .thumbs-grid:not([hidden]) + .black-frame-button .upload-hint{display:none}
.frame-slot .thumb-cell[draggable="true"]{cursor:grab}
.frame-slot .thumb-cell[draggable="true"].dragging{opacity:.55;cursor:grabbing}
.field-help{display:block;margin-top:8px;color:var(--muted);font-family:var(--mono);font-size:10px;line-height:1.45;letter-spacing:.04em}
.reference-row{gap:8px}
.reference-row .frame-slot .field-label{font-size:11px}
.status-line{min-height:18px;margin-top:8px;text-align:center;overflow-wrap:anywhere}
#generate{width:100%}
#generate[aria-busy=true]{cursor:wait}
/* The generator is a workspace, not a 1280px-wide dialog on a 4K screen. */
#overlay{--cockpit-gutter:clamp(8px,1.25vw,40px);padding:var(--cockpit-gutter)}
#overlay>.modal{max-width:none;height:calc(100dvh - var(--header-h) - 2 * var(--cockpit-gutter));max-height:calc(100dvh - var(--header-h) - 2 * var(--cockpit-gutter))}
#overlay .modal-body{grid-template-columns:clamp(300px,26vw,560px) minmax(0,1fr)}
.preview{min-width:0;min-height:0;padding:12px;gap:10px}
.canvas{position:relative;min-height:0}
/* The download is a footer, not a second auto-sized row sharing the video height. */
#canvas .result-grid.single{grid-template-rows:minmax(0,1fr);grid-auto-rows:auto}
#canvas .result-grid.single:has(.result-preview-cell):has(.result-download-cell){grid-template-rows:minmax(0,1fr) auto}
#canvas .result-grid.single>.result-preview-cell{min-width:0;min-height:0}
#canvas .result-grid.single>.result-download-cell{height:auto;max-height:none;align-self:end}
#canvas .result-download{margin-top:0}
@media(max-width:640px){
  #overlay .modal-body{display:flex;flex-direction:column}
  #canvas.grid:has(.result-grid.single){flex:none;min-height:0}
  #canvas .result-grid.single{height:auto}
  #canvas .result-grid.single>.result-preview-cell{height:auto;aspect-ratio:var(--media-ratio,16 / 9);max-height:65dvh}
}
.canvas .media-nav{width:42px;height:60px}
.canvas .media-nav-previous{left:12px}
.canvas .media-nav-next{right:12px}
.canvas.grid{align-items:stretch}
.result-grid.single .result-cell{display:flex;align-items:center;justify-content:center}
.result-media{display:block;max-width:100%;max-height:100%;border-radius:var(--radius);background:var(--surface2)}
.result-grid:not(.single){align-items:start}
.result-grid:not(.single) .result-cell{display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:var(--media-ratio,16 / 9)}
.result-grid:not(.single) .result-media{width:100%;height:100%;object-fit:contain;border-radius:0}
.result-grid.single .result-media{width:100%;height:100%;object-fit:contain}
.result-video{background:#050505}
.result-audio{width:min(100%,480px)}
.result-cell:has(.result-download){grid-column:1 / -1;display:block!important;min-height:0!important;aspect-ratio:auto!important;border:0;background:transparent;overflow:visible}
.result-download{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;min-height:0;padding:8px 12px;margin-top:7px;border:1px solid rgba(var(--cream-rgb),.14);border-radius:6px;background:rgba(0,0,0,.24);color:var(--muted2);font-family:var(--mono);font-size:10px;letter-spacing:.10em;text-transform:uppercase;text-decoration:none;transition:background .18s,border-color .18s,color .18s}
.result-download:hover,.result-download:focus-visible{border-color:rgba(var(--accent-rgb),.65);background:rgba(var(--accent-rgb),.12);color:var(--text)}
.preview-foot{flex-shrink:0}
.preview-foot .btn-ghost{width:100%}
.local-state{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted2);font-family:var(--sans);font-size:13px;text-align:center;padding:20px}
.empty .local-state{padding:0}
.canvas>.local-state{flex-direction:column;max-width:80%}
.local-state-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(var(--cream-rgb),.18);border-radius:50%;color:var(--muted2);font-family:var(--mono);font-weight:700}
.local-state-fail{color:var(--red)}
.local-state-fail .local-state-icon{border-color:rgba(239,68,68,.45);color:var(--red)}
.local-state-empty{color:var(--muted)}
.local-state-file{font-family:var(--mono);font-size:10px;letter-spacing:.08em}
.spinner{width:20px;height:20px;border:2px solid rgba(var(--brick-rgb),.18);border-top-color:var(--accent);border-radius:50%;animation:local-spin .8s linear infinite;display:inline-block;flex:0 0 auto}
@keyframes local-spin{to{transform:rotate(360deg)}}
.progress-block{width:100%;max-width:260px;display:flex;flex-direction:column;gap:8px;margin-top:2px}.progress-bar{width:100%;height:6px;border-radius:999px;background:rgba(var(--cream-rgb),.12);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}.progress-bar-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .6s ease-out}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;color:var(--muted2);letter-spacing:.02em}.progress-pct{color:var(--text-secondary,#e9e1d5);font-weight:600}.progress-eta{color:var(--muted)}
.history-panel{margin-top:auto}
.history-list{max-height:246px!important;overflow-y:auto!important;border-top:1px solid var(--border)!important}
.history-item{min-width:0}
.history-item-fail .history-prompt{color:var(--red)}
.history-item-queued .history-prompt,.history-item-running .history-prompt{color:var(--muted2)}
.history-thumb.local-state{padding:0}
.history-thumb.local-state .local-state-icon{width:25px;height:25px}
.history-thumb.local-state{width:40px;height:40px;flex:0 0 40px}
.history-thumb{display:block}
.gallery-card{aspect-ratio:16/9;overflow:hidden}
.gallery-card .gallery-card-media-wrap{position:relative;width:100%;height:100%;background:#050505}
.gallery-card .gallery-card-media-wrap .gen-cell-img,.gallery-card .gallery-card-media-wrap .gen-cell-video{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;background:#050505}
.gallery-card.state-queued,.gallery-card.state-running,.gallery-card.state-fail{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px}
.gallery-card-media{opacity:1!important}
.gallery-card-file{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;background:var(--surface2)}
.gallery-card-file:hover{color:var(--accent)}
.gallery-card .local-state{flex-direction:column}
.gallery-card .gallery-video-badge{z-index:3}
.gallery-card .gallery-card-overlay{z-index:4}
#mediaOverlay{z-index:60}
.media-box{width:100%;max-width:920px;max-height:92vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#100c0b 0%,#0b0808 100%);border:1px solid rgba(var(--cream-rgb),.12);border-radius:var(--radius);box-shadow:0 48px 120px -30px rgba(0,0,0,.9);transform:translateY(14px) scale(.985);transition:transform .25s}
.overlay.open .media-box{transform:none}
.media-box-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.media-box-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--serif);font-weight:500;font-size:16px;letter-spacing:.01em;color:var(--cream)}
.media-box-body{position:relative;flex:1 1 auto;min-height:200px;display:flex;align-items:center;justify-content:center;padding:20px;background:#050505;overflow:auto}
.media-box-body .result-media{max-width:100%;max-height:min(64vh,720px);width:auto;height:auto}
.media-box-body .gen-cell-video,.media-box-body .gen-cell-img{width:auto;height:auto;max-width:100%;max-height:min(64vh,720px);object-fit:contain;background:#050505}
.media-box-body .local-state{max-width:80%}
.media-nav{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:46px;height:68px;margin:0;padding:0;border:1px solid rgba(var(--cream-rgb),.18);border-radius:10px;background:rgba(7,5,5,.72);backdrop-filter:blur(8px);color:rgba(var(--cream-rgb),.82);font-family:var(--sans);font-size:42px;font-weight:300;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .18s,border-color .18s,color .18s,opacity .18s,transform .18s}
.media-nav-previous{left:16px}
.media-nav-next{right:16px}
.media-nav:hover:not(:disabled),.media-nav:focus-visible{border-color:rgba(var(--accent-rgb),.72);background:rgba(var(--accent-rgb),.24);color:#fff;outline:none;transform:translateY(-50%) scale(1.04)}
.media-nav:disabled{opacity:.18;cursor:default}
.media-box-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0}
.media-box-foot:empty{display:none}
.media-box-foot .media-download{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgba(var(--cream-rgb),.16);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));color:rgba(var(--cream-rgb),.78);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}
.media-box-foot .media-download:hover,.media-box-foot .media-download:focus-visible{border-color:rgba(var(--accent-rgb),.65);background:linear-gradient(180deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.10));color:#fff;box-shadow:0 6px 18px rgba(var(--brick-rgb),.25),inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(-1px);outline:none}
.media-box-foot .media-reuse-prompt{flex:0 0 auto}
.media-box-foot .media-delete-btn{flex:0 0 auto}
.btn-ghost.btn-danger{border-color:rgba(239,68,68,.35);color:rgba(239,68,68,.85)}
.btn-ghost.btn-danger:hover,.btn-ghost.btn-danger:focus-visible{border-color:rgba(239,68,68,.8);background:rgba(239,68,68,.15);color:#ff7878}
.media-download-icon{width:15px;height:15px;flex:0 0 auto}
.media-download-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:639px){
  .media-box{max-width:100%}
  .media-box-body{padding:12px}
  .media-box-head{padding:12px 14px}
  .media-box-foot{padding:12px 14px}
  .media-nav{width:38px;height:56px;font-size:34px}
  .media-nav-previous{left:10px}
  .media-nav-next{right:10px}
}
@media(max-width:900px){
  .header-workflow-select{min-width:0;width:min(42vw,360px)}
  .modal-header-banner .header-title{font-size:16px}
}
@media(max-width:639px){
  .header-workflow-select{display:none}
  .row{gap:8px}
  .history-list{max-height:246px!important}
}
@media(prefers-reduced-motion:reduce){
  .spinner{animation:none}
  .studio-status.is-busy,.studio-output-card.is-generating #studioOutputPrompt{animation:none}
  .gallery-card,.gallery-card-media,.frame-zone,.frame-slot .thumb-cell{transition:none}
  .frame-zone:hover,.frame-slot .thumb-cell:hover{transform:none}
}

/* ── Segmented Mode Switcher (Padrão <-> Prompt Director) ── */
.mode-switch-group{display:inline-flex;align-items:center;background:rgba(0,0,0,.5);border:1px solid rgba(var(--cream-rgb),.14);border-radius:999px;padding:2px;gap:2px}
.mode-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 11px;border:0;border-radius:999px;background:transparent;color:rgba(var(--cream-rgb),.65);font-family:var(--sans);font-size:11px;font-weight:500;line-height:1.2;cursor:pointer;transition:all .18s ease;white-space:nowrap}
.mode-tab:hover{color:#fff;background:rgba(255,255,255,.07)}
.mode-tab.active{background:linear-gradient(135deg,rgba(236,88,66,.88),rgba(207,59,52,.96));color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(236,88,66,.35)}
.modal-mode-switch{margin-right:2px}

/* ── Prompt Director Panel & Compact Spacing ── */
.director-panel{display:grid;gap:9px;padding:11px 14px;background:linear-gradient(168deg,#181110 0%,#100b0a 100%);border:1px solid rgba(236,88,66,.35);border-radius:var(--radius-sm);box-shadow:0 4px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);margin-bottom:12px}
.director-panel[hidden]{display:none!important}
.director-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid rgba(var(--cream-rgb),.08)}
.director-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.06em;color:rgba(236,88,66,.95);text-transform:uppercase}
.director-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}
.director-header-actions{display:flex;align-items:center;gap:8px}
.director-auto-unload-toggle{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:11px;color:rgba(var(--cream-rgb),.72);cursor:pointer;user-select:none}
.director-auto-unload-toggle input[type="checkbox"]{cursor:pointer;accent-color:var(--accent);width:13px;height:13px}
.btn-unload-director{padding:3px 8px;font-size:10px;font-family:var(--mono);border-radius:4px;border-color:rgba(var(--cream-rgb),.18);color:rgba(var(--cream-rgb),.75)}
.btn-unload-director:hover{border-color:rgba(236,88,66,.65);color:#fff}
.director-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px}
.director-field{display:grid;gap:4px}
.director-field .field-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:rgba(var(--cream-rgb),.6);margin-bottom:0}
.director-select{width:100%;height:32px;padding:3px 8px;background:rgba(0,0,0,.4);border:1px solid rgba(var(--cream-rgb),.15);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:12px;outline:none;transition:border-color .18s}
.director-select:focus{border-color:rgba(236,88,66,.8);box-shadow:0 0 0 2px rgba(236,88,66,.15)}
.director-idea-block{display:grid;gap:4px}
.director-idea-block .field-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:rgba(var(--cream-rgb),.6);margin-bottom:0}
#directorIdea{width:100%;box-sizing:border-box;background:rgba(0,0,0,.4);border:1px solid rgba(var(--cream-rgb),.15);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:12px;line-height:1.45;padding:7px 10px;resize:vertical;min-height:46px;outline:none;transition:border-color .18s}
#directorIdea:focus{border-color:rgba(236,88,66,.8);box-shadow:0 0 0 2px rgba(236,88,66,.15)}
.director-action-bar{display:flex;align-items:center;gap:10px;margin-top:2px}
.btn-director-generate{padding:6px 14px;font-size:12px;font-weight:600;border-radius:var(--radius-sm);flex-shrink:0}
.btn-director-generate[disabled]{opacity:.65;cursor:wait}
.director-status{font-family:var(--mono);font-size:11px;color:var(--muted2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Compact prompt textarea when director panel is active */
.director-panel:not([hidden]) ~ .field #prompt{min-height:96px;height:96px}

@media(max-width:639px){
  .director-grid{grid-template-columns:1fr;gap:8px}
  .director-banner{flex-direction:column;align-items:flex-start}
}

/* ==========================================================================
   Prompt Director Studio View (Dedicated Tab)
   ========================================================================== */
.director-studio-view{position:fixed;inset:48px 0 0 0;z-index:20;background:linear-gradient(180deg,#0a0707 0%,#050404 100%);overflow-y:auto;padding:24px 28px 48px;display:block}
.director-studio-view[hidden]{display:none!important}

.studio-container{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:18px}

.studio-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:rgba(24,17,16,.75);backdrop-filter:blur(12px);border:1px solid rgba(var(--cream-rgb),.12);border-radius:var(--radius);box-shadow:0 8px 32px rgba(0,0,0,.45)}
.studio-topbar-left{display:flex;align-items:center;gap:14px}
.studio-titles{display:flex;flex-direction:column;gap:2px}
.studio-heading{margin:0;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--cream);letter-spacing:.01em}
.studio-subheading{font-family:var(--mono);font-size:11px;color:rgba(var(--cream-rgb),.6);letter-spacing:.04em}
.studio-topbar-right{display:flex;align-items:center;gap:12px}

.studio-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:20px;align-items:start}
.studio-col{display:flex;flex-direction:column;gap:16px}

.studio-card{background:linear-gradient(168deg,#140f0e 0%,#0d0909 100%);border:1px solid rgba(var(--cream-rgb),.12);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 36px rgba(0,0,0,.35)}
.studio-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.studio-card-title{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--cream);text-transform:uppercase}
.studio-card-tip{font-family:var(--mono);font-size:11px;color:rgba(var(--cream-rgb),.5)}

/* Studio Image Slots */
.studio-images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
/* GP 2026-09-12: com o 3o slot escondido (modo First & Last), a 3a coluna
   fixa sobrava vazia a direita. Colapsa pra 2 colunas quando so 2 estao visiveis. */
.studio-images-grid.two-visible{grid-template-columns:repeat(2,1fr)}
.studio-card[hidden],.studio-images-grid[hidden]{display:none!important}
.studio-image-slot{display:flex;flex-direction:column;gap:8px}
.studio-slot-header{display:flex;align-items:center;justify-content:space-between}
.btn-clear-image-overlay{position:absolute;top:8px;right:8px;z-index:2;display:flex;align-items:center;gap:4px;padding:5px 10px;background:rgba(10,7,6,.78);backdrop-filter:blur(2px);border:1px solid rgba(255,255,255,.16);border-radius:999px;color:var(--text-secondary,#e9e1d5);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4);transition:background-color .15s,border-color .15s,color .15s,transform .15s}
.btn-clear-image-overlay:hover,.btn-clear-image-overlay:focus-visible{background:rgba(239,68,68,.85);border-color:rgba(239,68,68,.9);color:#fff;transform:translateY(-1px);outline:none}
.btn-clear-slot{background:none;border:none;color:rgba(var(--cream-rgb),.5);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px}
.btn-clear-slot:hover{color:#ff6b6b;background:rgba(255,107,107,.15)}

.studio-dropzone{position:relative;width:100%;height:148px;border:1.5px dashed rgba(var(--cream-rgb),.22);border-radius:var(--radius-sm);background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:all .2s ease}
.studio-dropzone:hover,.studio-dropzone.dragover{border-color:var(--accent);background:rgba(236,88,66,.08)}
.dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;text-align:center;padding:12px}
.dropzone-icon{font-size:26px;opacity:.75}
.dropzone-text{font-family:var(--sans);font-size:11px;color:rgba(var(--cream-rgb),.6)}
.dropzone-preview{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--radius-sm) - 1px)}

/* GP 2026-09-11: o slot recorta a imagem (object-fit:cover). No hover, mostra
   a imagem inteira e maior, no aspect ratio original, num overlay flutuante. */
.dropzone-hover-zoom{position:fixed;top:0;left:0;z-index:9999;padding:6px;background:rgba(10,7,6,.92);border:1px solid rgba(var(--cream-rgb),.18);border-radius:var(--radius-sm);box-shadow:0 18px 48px rgba(0,0,0,.6);pointer-events:none;opacity:0;transition:opacity .14s ease}
.dropzone-hover-zoom[hidden]{display:none}
.dropzone-hover-zoom.visible{opacity:1}
.dropzone-hover-zoom img{display:block;max-width:min(60vw,640px);max-height:60vh;width:auto;height:auto;object-fit:contain;border-radius:calc(var(--radius-sm) - 2px)}

/* Preserve Locks Chips */
.studio-locks-block{padding-top:10px;border-top:1px solid rgba(var(--cream-rgb),.08)}
.studio-locks-chips{display:flex;flex-wrap:wrap;gap:8px}
.studio-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:rgba(0,0,0,.45);border:1px solid rgba(var(--cream-rgb),.14);border-radius:999px;font-family:var(--sans);font-size:11px;color:rgba(var(--cream-rgb),.75);cursor:pointer;user-select:none;transition:all .15s ease}
.studio-chip:has(input:checked){background:rgba(236,88,66,.18);border-color:rgba(236,88,66,.6);color:#fff}
.studio-chip input[type="checkbox"]{accent-color:var(--accent);width:12px;height:12px;cursor:pointer}

/* Studio Params Grid */
.studio-params-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.studio-param-field{display:flex;flex-direction:column;gap:4px}
.studio-select{width:100%;height:34px;padding:4px 8px;background:rgba(0,0,0,.45);border:1px solid rgba(var(--cream-rgb),.16);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:12px;outline:none}
.studio-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(236,88,66,.2)}

.studio-idea-section{display:flex;flex-direction:column;gap:6px}
#studioIdea{width:100%;box-sizing:border-box;background:rgba(0,0,0,.45);border:1px solid rgba(var(--cream-rgb),.16);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:12px;line-height:1.5;padding:9px 12px;resize:vertical;min-height:76px;outline:none}
#studioIdea:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(236,88,66,.2)}

/* ── Camera Movement Selector / Planner (Prompt Director Studio) ── */
.studio-camera-card,
.studio-camera-planner{display:flex;flex-direction:column;gap:12px;padding:16px 18px;background:linear-gradient(168deg,#140f0e 0%,#0d0909 100%);border:1px solid rgba(var(--cream-rgb),.12);border-radius:var(--radius);box-shadow:0 12px 36px rgba(0,0,0,.35)}
.studio-camera-header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.studio-camera-title-wrap{display:flex;align-items:center;gap:7px}
.studio-camera-icon{font-size:13px;line-height:1}
.studio-camera-title{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(var(--cream-rgb),.9)}
.studio-camera-badge{display:inline-block;padding:1px 6px;border-radius:999px;background:rgba(236,88,66,.15);border:1px solid rgba(236,88,66,.35);color:var(--accent);font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.btn-clear-camera{background:none;border:none;color:rgba(var(--cream-rgb),.5);font-family:var(--mono);font-size:10px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease}
.btn-clear-camera:hover{color:#ff6b6b;background:rgba(255,107,107,.15)}

/* Camera Planner Tabs (Presets vs 3D Stage) */
.camera-mode-tabs{display:inline-flex;align-items:center;background:rgba(0,0,0,.5);border:1px solid rgba(var(--cream-rgb),.14);border-radius:999px;padding:2px;gap:2px}
.cam-tab-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border:0;border-radius:999px;background:transparent;color:rgba(var(--cream-rgb),.6);font-family:var(--mono);font-size:10.5px;cursor:pointer;transition:all .16s ease;line-height:1.2;outline:none}
.cam-tab-btn:hover{color:#fff;background:rgba(255,255,255,.07)}
.cam-tab-btn.active{background:linear-gradient(135deg,rgba(236,88,66,.85) 0%,rgba(207,59,52,.9) 100%);color:#fff;font-weight:600;box-shadow:0 1px 8px rgba(236,88,66,.35)}

.camera-tab-panel{display:flex;flex-direction:column;gap:8px}
.camera-tab-panel[hidden]{display:none!important}

/* Visual 3D Stage Container */
.visual-stage-container{display:flex;flex-direction:column;gap:8px;background:rgba(0,0,0,.4);border:1px solid rgba(var(--cream-rgb),.1);border-radius:var(--radius-sm);padding:10px;overflow:hidden}
.visual-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.visual-stage-hint{font-family:var(--mono);font-size:10px;color:rgba(var(--cream-rgb),.5);letter-spacing:.02em}
.visual-stage-views{display:inline-flex;align-items:center;gap:4px}
.btn-stage-view{background:rgba(255,255,255,.05);border:1px solid rgba(var(--cream-rgb),.12);border-radius:4px;color:rgba(var(--cream-rgb),.65);font-family:var(--mono);font-size:9.5px;padding:2px 7px;cursor:pointer;transition:all .15s ease}
.btn-stage-view:hover{color:#fff;background:rgba(255,255,255,.1)}
.btn-stage-view.active{background:rgba(236,88,66,.2);border-color:var(--accent);color:var(--cream);font-weight:600}
.btn-stage-reset{background:none;border:none;color:rgba(var(--cream-rgb),.4);font-family:var(--mono);font-size:9.5px;padding:2px 5px;cursor:pointer;transition:color .15s ease}
.btn-stage-reset:hover{color:#ff6b6b}

/* Stage Canvas Wrap & Canvas */
.visual-stage-canvas-wrap{position:relative;width:100%;height:220px;background:radial-gradient(circle at center,rgba(25,30,40,.6) 0%,rgba(10,12,16,.95) 100%);border:1px solid rgba(var(--cream-rgb),.1);border-radius:4px;overflow:hidden;touch-action:none;cursor:grab}
.visual-stage-canvas-wrap:active{cursor:grabbing}
#cameraStageCanvas{width:100%;height:100%;display:block}

.stage-nodes-overlay{position:absolute;bottom:6px;left:8px;pointer-events:none}
.stage-legend{display:flex;align-items:center;gap:12px;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08)}
.legend-item{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9px;color:rgba(var(--cream-rgb),.75)}
.legend-dot{width:7px;height:7px;border-radius:50%}
.dot-subject{background:#10b981;box-shadow:0 0 6px #10b981}
.dot-start{background:#06b6d4;box-shadow:0 0 6px #06b6d4}
.dot-end{background:#f97316;box-shadow:0 0 6px #f97316}

.visual-stage-options{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px}
.studio-select-sm{height:26px;padding:2px 6px;font-size:10.5px;border-radius:4px;background:rgba(0,0,0,.5);border:1px solid rgba(var(--cream-rgb),.15);color:var(--text);font-family:var(--sans)}

.studio-camera-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.camera-chip{display:flex;align-items:center;gap:8px;padding:7px 9px;background:rgba(255,255,255,.035);border:1px solid rgba(var(--cream-rgb),.12);border-radius:var(--radius-sm);color:rgba(var(--cream-rgb),.8);cursor:pointer;user-select:none;text-align:left;transition:all .16s ease;outline:none}
.camera-chip:hover{background:rgba(255,255,255,.07);border-color:rgba(var(--cream-rgb),.25);color:#fff;transform:translateY(-1px)}
.camera-chip.active{background:linear-gradient(135deg,rgba(236,88,66,.25) 0%,rgba(207,59,52,.12) 100%);border-color:var(--accent);color:#fff;box-shadow:0 0 10px rgba(236,88,66,.25),inset 0 0 6px rgba(236,88,66,.12)}
.camera-chip-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:4px;background:rgba(0,0,0,.35);color:rgba(var(--cream-rgb),.7);transition:all .16s ease}
.camera-chip:hover .camera-chip-icon{color:#fff;background:rgba(0,0,0,.5)}
.camera-chip.active .camera-chip-icon{background:rgba(236,88,66,.3);color:var(--cream)}
.camera-chip-labels{display:flex;flex-direction:column;min-width:0;overflow:hidden;gap:1px}
.camera-chip-name{font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-chip-sub{font-family:var(--mono);font-size:9px;color:rgba(var(--cream-rgb),.48);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-chip.active .camera-chip-sub{color:rgba(255,255,255,.75)}

.studio-camera-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:8px;border-top:1px solid rgba(var(--cream-rgb),.08);transition:opacity .18s ease}
.studio-camera-controls.controls-disabled{opacity:.4;pointer-events:none}
.camera-control-group{display:flex;align-items:center;gap:7px}
.camera-control-label{font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgba(var(--cream-rgb),.55)}
.camera-segmented-group{display:inline-flex;align-items:center;background:rgba(0,0,0,.45);border:1px solid rgba(var(--cream-rgb),.12);border-radius:999px;padding:2px;gap:2px}
.camera-seg-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border:0;border-radius:999px;background:transparent;color:rgba(var(--cream-rgb),.6);font-family:var(--mono);font-size:10px;line-height:1.2;cursor:pointer;transition:all .15s ease;white-space:nowrap}
.camera-seg-btn:hover{color:#fff;background:rgba(255,255,255,.07)}
.camera-seg-btn.active{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 1px 6px rgba(236,88,66,.4)}

.studio-camera-action-bar{display:flex;align-items:center;gap:8px;margin-top:2px}
.camera-preview-box{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:6px 10px;background:rgba(0,0,0,.45);border:1px solid rgba(var(--cream-rgb),.1);border-radius:var(--radius-sm);overflow:hidden}
.camera-preview-prefix{font-family:var(--mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgba(var(--cream-rgb),.45);flex-shrink:0}
.camera-preview-code{font-family:var(--mono);font-size:11px;color:rgba(var(--cream-rgb),.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camera-preview-code.has-value{color:var(--cream);font-weight:500}
.camera-add-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font-size:11px;font-weight:600;border-radius:var(--radius-sm);flex-shrink:0;transition:all .18s ease;background:rgba(236,88,66,.85);border:none;color:#fff}
.camera-add-btn:hover:not(:disabled){background:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px rgba(236,88,66,.4)}
.camera-add-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.camera-add-btn.btn-added-flash{background:#166534!important;color:#fff!important;box-shadow:0 0 10px rgba(34,197,94,.4)!important}

.studio-actions-bar{display:flex;align-items:center;gap:14px;margin-top:4px}
.studio-btn-generate{padding:10px 22px;font-size:13px;font-weight:600;letter-spacing:.02em;border-radius:var(--radius-sm)}
.studio-status{font-family:var(--mono);font-size:11px;color:rgba(var(--cream-rgb),.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Right Output Column */
.studio-output-card{height:100%;display:flex;flex-direction:column}
#studioOutputPrompt{width:100%;flex:1;min-height:280px;box-sizing:border-box;background:rgba(0,0,0,.5);border:1px solid rgba(var(--cream-rgb),.18);border-radius:var(--radius-sm);color:var(--cream);font-family:var(--mono);font-size:12px;line-height:1.6;padding:12px 14px;resize:vertical;outline:none}
#studioOutputPrompt:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(236,88,66,.25)}

/* Refinar prompt (revision loop) */
.studio-refine-block{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-top:12px;border-top:1px dashed rgba(var(--cream-rgb),.14)}
.studio-refine-textarea{width:100%;min-height:60px;box-sizing:border-box;background:rgba(0,0,0,.45);border:1px solid rgba(var(--cream-rgb),.16);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:12px;line-height:1.5;padding:8px 10px;resize:vertical;outline:none}
.studio-refine-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(236,88,66,.2)}
.studio-btn-refine{align-self:flex-start;padding:8px 16px;font-size:11.5px;font-family:var(--mono);border-radius:var(--radius-sm);border:1px solid rgba(var(--cream-rgb),.2)}
.studio-btn-refine:hover{border-color:var(--accent);color:#fff}
.studio-btn-refine:disabled{opacity:.5;cursor:default;transform:none}
.studio-refine-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.studio-refine-history[hidden]{display:none}
.studio-refine-history li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(0,0,0,.35);border:1px solid rgba(var(--cream-rgb),.1);border-radius:var(--radius-sm);padding:6px 10px;font-family:var(--mono);font-size:11px;color:rgba(var(--cream-rgb),.7)}
.studio-refine-history li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-refine-history li button{flex-shrink:0;background:none;border:1px solid rgba(var(--cream-rgb),.2);border-radius:4px;color:rgba(var(--cream-rgb),.7);font-family:var(--mono);font-size:10.5px;padding:3px 8px;cursor:pointer}
.studio-refine-history li button:hover{border-color:var(--accent);color:#fff}

.studio-primary-actions{display:flex;align-items:center;gap:12px;margin-top:8px}
.studio-btn-insert{flex:1;padding:12px 20px;font-size:13px;font-weight:700;letter-spacing:.02em;border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(236,88,66,1) 0%,rgba(207,59,52,1) 100%);box-shadow:0 4px 16px rgba(236,88,66,.4)}
.studio-btn-insert:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(236,88,66,.55)}
.studio-btn-copy{padding:12px 18px;font-size:12px;font-family:var(--mono);border-radius:var(--radius-sm);border:1px solid rgba(var(--cream-rgb),.2)}
.studio-btn-copy:hover{border-color:var(--accent);color:#fff}

/* ==========================================================================
   H3 Syntax & Rules Linter (Prompt Checker)
   ========================================================================== */
.h3-prompt-checker{display:flex;flex-direction:column;gap:6px;margin-top:8px;user-select:none}
.h3-prompt-checker-compact{margin-top:6px;margin-bottom:2px}
.h3-checker-badge-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.h3-checker-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;font-family:var(--sans);font-size:11.5px;font-weight:500;cursor:pointer;outline:none;border:1px solid transparent;transition:all .18s ease;line-height:1.2}
.h3-checker-pill:hover{transform:translateY(-1px)}
.checker-pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background-color .2s ease,box-shadow .2s ease}
.checker-pill-chevron{opacity:.65;transition:transform .2s ease}
.h3-checker-pill[aria-expanded="true"] .checker-pill-chevron{transform:rotate(180deg)}

/* Status variants */
.h3-checker-pill.status-neutral{background:rgba(255,255,255,.04);border-color:rgba(var(--cream-rgb),.14);color:rgba(var(--cream-rgb),.55)}
.h3-checker-pill.status-neutral .checker-pill-dot{background:rgba(var(--cream-rgb),.4)}

.h3-checker-pill.status-valid{background:rgba(46,204,113,.12);border-color:rgba(46,204,113,.38);color:#4ade80}
.h3-checker-pill.status-valid .checker-pill-dot{background:#2ecc71;box-shadow:0 0 8px rgba(46,204,113,.6)}

.h3-checker-pill.status-warning{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#fbbf24}
.h3-checker-pill.status-warning .checker-pill-dot{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.6)}

.h3-checker-pill.status-error{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);color:#f87171}
.h3-checker-pill.status-error .checker-pill-dot{background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.6)}

.checker-pill-badge-counter{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;border-radius:999px;font-family:var(--mono);font-size:10px;font-weight:700}
.status-warning .checker-pill-badge-counter{background:rgba(245,158,11,.28);color:#fef08a}
.status-error .checker-pill-badge-counter{background:rgba(239,68,68,.3);color:#fee2e2}

.h3-checker-hint{font-family:var(--mono);font-size:10.5px;color:rgba(var(--cream-rgb),.42);letter-spacing:.02em}

/* Expandable Panel */
.h3-checker-panel{background:linear-gradient(175deg,rgba(20,16,15,.96) 0%,rgba(12,9,9,.98) 100%);border:1px solid rgba(var(--cream-rgb),.16);border-radius:var(--radius-sm);padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.55);max-height:290px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;animation:linterFadeIn .18s ease;user-select:text}
.h3-checker-panel[hidden]{display:none!important}

@keyframes linterFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

.h3-checker-panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:7px;border-bottom:1px solid rgba(var(--cream-rgb),.09)}
.checker-panel-title-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.checker-panel-title{font-family:var(--sans);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cream)}
.checker-panel-stats{font-family:var(--mono);font-size:10px;color:rgba(var(--cream-rgb),.5);padding:1px 6px;background:rgba(0,0,0,.4);border-radius:4px}
.checker-panel-close{background:none;border:none;color:rgba(var(--cream-rgb),.5);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease}
.checker-panel-close:hover{color:#ff6b6b;background:rgba(255,107,107,.15)}

.h3-checker-list{display:flex;flex-direction:column;gap:7px}

/* Individual Issue Card */
.h3-checker-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:4px;background:rgba(0,0,0,.35);border-left:3px solid transparent}
.h3-checker-item.item-error{border-left-color:#ef4444;background:rgba(239,68,68,.08)}
.h3-checker-item.item-warning{border-left-color:#f59e0b;background:rgba(245,158,11,.08)}
.h3-checker-item.item-info{border-left-color:#3b82f6;background:rgba(59,130,246,.08)}
.h3-checker-item.item-valid{border-left-color:#10b981;background:rgba(16,185,129,.08)}

.checker-item-top{display:flex;align-items:center;gap:6px}
.checker-item-tag{font-family:var(--mono);font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:3px;line-height:1.2}
.checker-item-tag.tag-error{background:rgba(239,68,68,.25);color:#fca5a5}
.checker-item-tag.tag-warning{background:rgba(245,158,11,.25);color:#fde047}
.checker-item-tag.tag-info{background:rgba(59,130,246,.25);color:#93c5fd}
.checker-item-tag.tag-valid{background:rgba(16,185,129,.25);color:#86efac}

.checker-item-title{font-family:var(--sans);font-size:11.5px;font-weight:600;color:var(--cream)}
.checker-item-msg{font-family:var(--sans);font-size:11px;color:rgba(var(--cream-rgb),.85);line-height:1.4}
.checker-item-detail{font-family:var(--mono);font-size:10.5px;color:rgba(var(--cream-rgb),.62);line-height:1.4}
.checker-item-suggestion{font-family:var(--mono);font-size:10px;color:rgba(236,88,66,.95);margin-top:2px;padding:3px 6px;background:rgba(236,88,66,.1);border-radius:3px;border:1px dashed rgba(236,88,66,.25)}

.checker-item-actions{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.checker-action-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:4px;font-family:var(--sans);font-size:10.5px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid transparent;line-height:1.2}
.checker-btn-studio{background:rgba(var(--cream-rgb),.08);border-color:rgba(var(--cream-rgb),.2);color:var(--cream)}
.checker-btn-studio:hover{background:rgba(var(--cream-rgb),.18);border-color:rgba(var(--cream-rgb),.45);color:#fff}
.checker-btn-autofix{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.38);color:#fde047}
.checker-btn-autofix:hover{background:rgba(245,158,11,.28);border-color:rgba(245,158,11,.65);color:#fff}

.h3-checker-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(var(--cream-rgb),.12)}
.btn-refine-in-studio{display:inline-flex;align-items:center;gap:6px;width:100%;justify-content:center;padding:7px 12px;border-radius:4px;background:linear-gradient(135deg,rgba(236,88,66,.22) 0%,rgba(245,158,11,.22) 100%);border:1px solid rgba(236,88,66,.48);color:var(--cream);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:all .15s ease}
.btn-refine-in-studio:hover{background:linear-gradient(135deg,rgba(236,88,66,.38) 0%,rgba(245,158,11,.38) 100%);border-color:rgba(236,88,66,.75);box-shadow:0 0 12px rgba(236,88,66,.32);color:#fff}

@media(max-width:1080px){
  .studio-grid{grid-template-columns:1fr}
  .director-studio-view{padding:16px 16px 36px}
}
@media(max-width:639px){
  .studio-images-grid{grid-template-columns:1fr}
  .studio-params-grid{grid-template-columns:1fr}
  .studio-camera-grid{grid-template-columns:1fr 1fr}
  .studio-camera-controls{flex-direction:column;align-items:flex-start}
  .studio-topbar{flex-direction:column;align-items:flex-start}
}

/* Seletor de Modo Studio */
.studio-mode-selector{display:inline-flex;align-items:center;background:rgba(0,0,0,.5);border:1px solid rgba(var(--cream-rgb),.14);border-radius:999px;padding:3px;gap:4px;margin-bottom:6px;width:fit-content}
.mode-seg-btn{padding:6px 14px;border:0;border-radius:999px;background:transparent;color:rgba(var(--cream-rgb),.6);font-family:var(--sans);font-size:11px;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap}
.mode-seg-btn:hover{color:#fff;background:rgba(255,255,255,.07)}
.mode-seg-btn.active{background:linear-gradient(135deg,rgba(236,88,66,.85) 0%,rgba(207,59,52,.9) 100%);color:#fff;box-shadow:0 1px 8px rgba(236,88,66,.35)}

/* GP 2026-09-11: bullet de status colorido — verde online, vermelho offline. */
#app-header .version-tag::before{content:'●';margin-right:6px;color:var(--muted2)}
#app-header .version-tag.online{color:rgba(74,222,128,.9);border-color:rgba(74,222,128,.3)}
#app-header .version-tag.online::before{color:#4ade80}
#app-header .version-tag.offline::before{color:#ef4444}

/* GP 2026-09-11: arrastar uma imagem sobre a outra troca os dois slots. */
.studio-dropzone:has(.dropzone-preview:not([hidden])){cursor:grab}
.studio-dropzone.dragging{opacity:.5;cursor:grabbing}
.studio-dropzone.swap-target{border-style:solid;border-color:var(--accent);background:rgba(236,88,66,.14);box-shadow:0 0 0 2px rgba(236,88,66,.25) inset}

/* GP 2026-09-11: com vários movimentos selecionados a frase do preview (nowrap)
   forçava a largura do flex item e estourava o card pra fora do grid. */
.studio-camera-action-bar{min-width:0}
.camera-preview-box{flex:1 1 0}
.camera-preview-code{flex:1;min-width:0}
.studio-col,.studio-card{min-width:0}

/* GP 2026-09-11: confirmação de apagar dentro da UI, no lugar do confirm() do
   browser, que abre fora do cockpit e ignora a identidade visual. */
.confirm-overlay{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(5,3,3,.72);backdrop-filter:blur(6px)}
.confirm-overlay.open{display:flex}
.confirm-card{width:min(420px,100%);padding:22px 24px;background:linear-gradient(168deg,#140f0e 0%,#0d0909 100%);border:1px solid rgba(var(--cream-rgb),.14);border-radius:var(--radius);box-shadow:0 24px 60px rgba(0,0,0,.6)}
.confirm-title{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--cream);margin-bottom:8px}
.confirm-text{margin:0 0 20px;font-family:var(--sans);font-size:12.5px;line-height:1.55;color:rgba(var(--cream-rgb),.72)}
.confirm-actions{display:flex;justify-content:flex-end;gap:10px}
.confirm-actions .btn-ghost,.confirm-actions .btn-primary{padding:9px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;border-radius:var(--radius-sm);cursor:pointer}
.confirm-actions .btn-primary.is-danger{background:#ef4444;border:1px solid rgba(239,68,68,.9);color:#fff;font-weight:600}
.confirm-actions .btn-primary.is-danger:hover{background:#dc2626}
.confirm-actions .btn-primary:focus-visible,.confirm-actions .btn-ghost:focus-visible{outline:2px solid rgba(var(--cream-rgb),.7);outline-offset:2px}

/* H3 · papel, tinta e sálvia. Tokens locais; o vendor continua intacto. */
:root{color-scheme:light;--bg:#f4f3ed;--bg-rgb:244,243,237;--surface:#fafaf5;--surface-2:#f3f5ed;--surface2:var(--surface-2);--surface-3:#edf2e6;--input-bg:#fffefb;--border:#d8dfd1;--border-hover:#a7b9a0;--text:#294335;--text-secondary:#445c49;--text-dim:#71806d;--text-muted:#798671;--muted:#6f7f6b;--muted2:#61775b;--cream:#294335;--cream-rgb:41,67,53;--text-rgb:41,67,53;--accent:#285c48;--accent2:#285c48;--accent-rgb:40,92,72;--brick-rgb:40,92,72;--accent-text:#285c48;--accent-dark:#1c4836;--accent-dim:rgba(40,92,72,.08);--accent-glow:rgba(40,92,72,.1);--panel:#fffefb;--raised:#eef3e8;--line:#d8dfd1;--glass-bg:rgba(250,250,245,.94);--glass-border:#d8dfd1;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--serif:'Newsreader',Georgia,serif}
body::before,body::after{display:none}
#app-header{background:#fafaf7;border-color:#d9e0d4}
#app-header .logo-mark{background:#e2ebd8;box-shadow:none;border-radius:8px;color:#35603d}
#app-header .logo-text{font-family:var(--sans);font-size:14px;letter-spacing:.08em;font-weight:600;text-transform:none}
#app-header .header-left{padding:0 26px;border-right:0}
#app-header .header-center{font-size:10px;letter-spacing:.06em}
#app-header .version-tag{background:#f3f5ed;border-color:#d8dfd1;color:#73806c;box-shadow:none}
#app-header .version-tag.offline::before{color:#b58a52}
.mode-switch-group{background:#eef2e7;border-color:#d8dfd1;padding:4px;border-radius:8px}
.mode-tab{font-family:var(--sans);font-size:12px;border-radius:5px;color:#6a7d61;padding:7px 12px}
.mode-tab.active{background:#fffefb;border-color:#d8dfd1;color:#2f513c;box-shadow:0 1px 4px rgba(40,60,35,.09)}
.mode-tab:hover{color:#285c48;background:#e2ebd8}
.btn-primary{background:#285c48;border-color:#285c48;box-shadow:none;color:#fff}
.btn-primary:hover{background:#1c4836;border-color:#1c4836;box-shadow:none}
.btn-ghost{color:#62775a;border-color:#cfd9c5}
.btn-ghost:hover{background:#ecf2e3;border-color:#a9bc9c;color:#33582c}
.logo-mark{box-shadow:none!important;color:#fff}
#overlay{background:#f4f3ed;backdrop-filter:none}
#overlay>.modal,.gallery,.media-box,.confirm-card{background:#fffefb;box-shadow:0 8px 30px rgba(46,66,36,.07);border-color:#d6dfcc}
.modal-header-banner{background:#f9faf4;box-shadow:none}
.modal-header-banner .logo-mark{color:white;box-shadow:none}
.modal-header-banner .header-sub{color:#7f8c74}
.controls{background:#fafbf5}
#prompt,input[type=number],.native-select,.frame-zone,.ref-zone{background:#fffefb!important;border-color:#cdd8c3!important;color:#30472b;box-shadow:none}
#prompt{font-size:14px;line-height:1.7}
#prompt::placeholder{color:#849077}
.header-workflow-select .workflow-trigger,.resolution-select .resolution-trigger{background:#f5f8ef;color:#3c5533;border-color:#cdd8c3}
.workflow-menu{background:#fffefb;border-color:#a9bd97;box-shadow:0 10px 24px rgba(50,70,30,.12)}
.workflow-menu [role=option]{color:#526b43}
.workflow-menu [role=option]:hover,.workflow-menu [role=option][aria-selected=true]{background:#e5eedc;color:#2e5625}
.header-workflow-select .workflow-trigger:hover,.header-workflow-select .workflow-trigger:focus,.resolution-select .resolution-trigger:hover,.resolution-select .resolution-trigger:focus{background:#edf3e5;color:#294b23;box-shadow:none!important;border-color:#769667!important}
.history-panel,.history-item,.history-header{background:#f8faf3;border-color:#d8e1cd}
.history-item:hover{background:#edf3e3}
.history-prompt{color:#3a5331}
.history-meta{color:#788b6a}
.history-count{background:#ecf3e0;border-color:#c6d6b6;color:#5b7545}
.history-all{color:#657f4e}
.h3-checker-pill{background:#f2f6ea;color:#637d4e;border-color:#cfddbe}
.h3-checker-panel{background:#fbfdf7;border-color:#d5e1c8}
.checker-item{background:#f4f8ec}
.checker-item-title{color:#405b30}
.checker-item-msg{color:#5d754d}
.checker-item-detail{color:#78886b}
.checker-item-code{background:#e9f1dc;color:#405b30}
.checker-action-btn,.checker-btn-studio{background:#ecf3df;color:#456532;border-color:#c5d7b1}
.spectrum-toggle[aria-pressed=true]{background:#e5efdc!important;border-color:#9cb587!important;color:#426135!important;box-shadow:none!important}
.result-download{background:#eef4e6;color:#597547;border-color:#ccdcbf}
.confirm-overlay{background:rgba(30,48,24,.35)}
.confirm-text{color:#627358}
.confirm-actions .btn-primary.is-danger{background:#b65342;border-color:#b65342}
.visual-stage-container{background:#eef3e6;border-color:#ccd9bc}
.visual-stage-hint,.btn-stage-reset{color:#6a8058}
.btn-stage-view{background:#f8fbf2;border-color:#cfdebf;color:#627e4c}
.btn-stage-view.active{background:#e1edce;border-color:#8bad6b;color:#345922}
.visual-stage-canvas-wrap{background:#f2f6eb}
.studio-select-sm{background:#f8fbf2;color:#466936;border-color:#c6d9b0}
@media(max-width:700px){#app-header .header-center,#app-header .version-tag{display:none}#app-header .header-left{padding:0 12px}#app-header .header-right{padding:0 10px;margin-left:auto}#app-header .logo-text{font-size:12px;margin-left:8px}.mode-tab{font-size:11px;padding:7px 9px}}
@media(max-width:390px){#app-header .logo-mark{display:none}#app-header .logo-text{margin:0;font-size:11px}.mode-tab{padding:7px;font-size:10px}}

/* Studio: a ideia vem primeiro; controles avançados ficam disponíveis sob demanda. */
.director-studio-view{background:#f4f3ed;padding:26px 32px 48px;scroll-padding-top:20px}
.studio-container{max-width:1320px;gap:16px}
.studio-topbar{background:none;border:0;border-radius:0;padding:0 0 8px;box-shadow:none;backdrop-filter:none}
.studio-topbar .logo-mark{width:46px;height:46px;font-family:var(--mono);font-size:17px;font-weight:700;border-radius:12px;box-shadow:none}
.studio-heading{font-size:27px;line-height:1.2}
.studio-subheading{font-family:var(--sans);font-size:13px;color:#687872;letter-spacing:0;line-height:1.5;margin-top:5px}
.studio-topbar .btn-ghost{font-family:var(--sans);font-size:12px;text-transform:none;letter-spacing:0;min-height:40px;white-space:nowrap}
.studio-mode-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border:0;background:none;padding:0;gap:10px;margin:0;border-radius:0}
.mode-seg-btn{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:13px 16px;min-width:0;min-height:72px;border:1px solid #d7ddd6;border-radius:9px;background:#fffefb;color:#50665f;white-space:normal;text-align:left;line-height:1.4}
.mode-seg-btn strong{font-size:14px;font-weight:600;color:#314d45}
.mode-seg-btn span{font-size:12px;font-weight:400;color:#687872}
.mode-seg-btn:hover{background:#eef2ec;border-color:#99b3a4}
.mode-seg-btn.active{background:#e7eee6;border-color:#456f5c;box-shadow:inset 3px 0 0 #456f5c;color:#fff}
.mode-seg-btn.active strong{color:#214b3c}
.mode-seg-btn.active span{color:#5a7768}
.studio-mode-help{margin:-5px 0 2px;font-family:var(--sans);font-size:12px;color:#6a7b73;line-height:1.5}
.studio-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:22px;align-items:start}
.studio-col{gap:16px}
.studio-card{padding:22px;background:#fffefb;border-color:#d9e0d6;box-shadow:0 8px 22px rgba(36,57,38,.035);gap:16px;border-radius:12px}
.studio-card-header{align-items:center;gap:12px}
.studio-card-title{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--sans);font-size:16px;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.4}
.studio-step{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:#48735b;background:#edf2e9;border:1px solid #cad9c8;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0}
.studio-card-tip{font-family:var(--sans);font-size:12px;color:#748176;line-height:1.4}
.director-studio-view .field-label{font-family:var(--sans);font-size:12px;color:#4c6057;letter-spacing:0;text-transform:none;line-height:1.5}
.director-studio-view .field-label::before{display:none}
.studio-idea-section{gap:8px}
#studioIdea{font-size:15px;line-height:1.65;min-height:140px;padding:13px 14px;background:#fbfcf8;border-color:#cbd5c7;border-radius:8px;color:#294238;resize:vertical}
#studioIdea::placeholder,#studioOutputPrompt::placeholder,.studio-refine-textarea::placeholder{color:#78877a;opacity:1}
.studio-field-help{margin:0;font-family:var(--sans);font-size:12px;line-height:1.55;color:#6d7f71}
.studio-params-grid{grid-template-columns:minmax(0,1fr) 132px;gap:14px}
.studio-param-field{gap:7px}
.studio-select{height:40px;font-size:13px;padding:7px 10px;border-color:#cbd5c7;background:#fbfcf8;border-radius:7px;color:#304b3c}
.director-studio-view input[type=number]{height:40px;font-size:14px;padding:8px 12px}
.studio-actions-bar{display:grid;grid-template-columns:1fr;margin-top:2px;gap:10px;padding-top:16px;border-top:1px solid #e0e6d9}
.studio-btn-generate{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;font-size:15px;text-transform:none;letter-spacing:0;box-shadow:none;background:#285c48;border:1px solid #285c48;border-radius:8px;padding:11px 15px}
.studio-btn-generate:hover:not(:disabled){background:#1d4938;box-shadow:none;transform:none}
.studio-shortcut{font-family:var(--mono);font-size:10px;color:#e4f0df;opacity:.8}
.studio-status{font-family:var(--sans);font-size:12px;line-height:1.6;color:#687b6b;white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;min-height:19px}
.studio-status.is-error{color:#b34835}
.studio-status.is-success{color:#327356}
.studio-btn-generate[aria-busy="true"]{cursor:wait}
.studio-btn-generate .studio-btn-spinner{width:16px;height:16px;border-width:2px;border-color:rgba(255,255,255,.35);border-top-color:#fff}
.studio-btn-generate[aria-busy="true"] .studio-shortcut{visibility:hidden}
.studio-generate-label{flex:1;text-align:left}
.studio-btn-refine{display:inline-flex;align-items:center;gap:8px}
.studio-btn-refine .studio-btn-spinner{width:14px;height:14px;border-width:2px}
.studio-btn-refine[aria-busy="true"]{cursor:wait}
.studio-status.is-busy{animation:studio-pulse 1.2s ease-in-out infinite}
.studio-output-card.is-generating #studioOutputPrompt{cursor:wait;background:linear-gradient(100deg,#fbfcf8 40%,#eef3e4 50%,#fbfcf8 60%);background-size:200% 100%;animation:studio-shimmer 1.4s linear infinite}
@keyframes studio-pulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes studio-shimmer{to{background-position:-200% 0}}
.studio-images-grid{gap:12px}
.studio-dropzone{height:112px;border-color:#b8c8b5;background:#f8faf4}
.dropzone-text{font-size:12px;color:#677a63;line-height:1.4}
.dropzone-icon{font-size:21px}
.studio-locks-chips{gap:7px}
.studio-chip{font-size:12px;min-height:34px;line-height:1.4;color:#4e654b;padding:6px 10px}
.studio-chip input[type=checkbox]{width:15px;height:15px}
.studio-camera-card{display:block;padding:0;overflow:hidden}
.studio-camera-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 22px;cursor:pointer;list-style:none;color:#304d38;font:600 15px var(--sans)}
.studio-camera-summary::-webkit-details-marker{display:none}
.studio-camera-summary>span:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.studio-optional{font-size:11px;font-weight:400;color:#7b8975}
.studio-camera-summary-hint{font-size:11px;font-weight:400;color:#597856;text-align:right;max-width:40%;line-height:1.5}
.studio-camera-summary-hint::after{content:' +';font-size:16px;margin-left:4px}
.studio-camera-card[open] .studio-camera-summary-hint::after{content:' −'}
.studio-camera-card[open] .studio-camera-summary{border-bottom:1px solid #d9e0d6}
.studio-camera-content{padding:18px;display:flex;flex-direction:column;gap:15px}
.studio-camera-header{flex-wrap:wrap;gap:12px}
.studio-camera-title-wrap{display:none}
.cam-tab-btn{min-height:36px;font-family:var(--sans);font-size:12px;padding:7px 11px}
.camera-chip{min-height:56px;padding:9px;background:#f5f8f0;border-color:#d9e0d3}
.camera-chip-name{font-size:12px;line-height:1.4}
.camera-chip-sub{font-family:var(--sans);font-size:11px;color:#6c7b61;white-space:normal;line-height:1.35}
.camera-chip.active{box-shadow:none;background:#e8f0df}
.camera-control-label{font-size:11px;color:#677962}
.camera-seg-btn{font-size:11px;min-height:32px;padding:5px 8px}
.camera-preview-code{white-space:normal;line-height:1.6;font-size:12px;overflow-wrap:anywhere}
.studio-camera-action-bar{flex-wrap:wrap}
.camera-preview-box{flex-basis:100%;min-height:40px;align-items:flex-start;padding:10px}
.camera-preview-prefix{padding-top:4px}
.camera-add-btn{min-height:38px;font-size:12px}
.studio-output-col{position:sticky;top:0}
.studio-output-card{height:auto;gap:14px;border-color:#d0dcc8;background:#f8faef}
.studio-output-card .char-counter{color:#6e8066;font-size:11px}
.studio-output-empty{padding:22px 18px;background:#eaf0dc;border:1px solid #d7e2c4;border-radius:8px}
.studio-output-kicker{font:10px var(--mono);letter-spacing:.13em;color:#627c42}
.studio-output-empty h3{margin:12px 0 8px;font:500 24px/1.2 var(--serif);color:#334d28}
.studio-output-empty p{font:13px/1.65 var(--sans);color:#6a7b55;margin:0}
.studio-output-empty strong{font-weight:600;color:#3d5d2a}
.studio-output-empty ol{display:flex;gap:15px;flex-wrap:wrap;padding:16px 0 0;margin:16px 0 0;border-top:1px solid #cfdbbc;list-style-position:inside;font:11px/1.5 var(--sans);color:#6e8059}
#studioOutputPrompt{flex:none;min-height:130px;height:130px;font-size:13px;line-height:1.8;padding:14px 15px;background:#fbfcf8;border-color:#cfdbc4;border-radius:8px;color:#2e4827}
.studio-output-card.has-prompt #studioOutputPrompt{min-height:260px;height:clamp(280px,43vh,500px)}
.studio-primary-actions{margin:0;gap:9px;align-items:stretch}
.studio-btn-insert{font-size:13px;line-height:1.4;padding:11px 14px;min-height:43px;box-shadow:none;background:#285c48;border:1px solid #285c48;letter-spacing:0;border-radius:7px}
.studio-btn-insert:hover:not(:disabled){transform:none;box-shadow:none;background:#1d4938}
.studio-btn-copy{min-height:43px;font-family:var(--sans);font-size:13px;padding:11px 17px;text-transform:none;letter-spacing:0;background:#f5f8ec;border-color:#c3d1b6;border-radius:7px}
.studio-refine-block{padding-top:16px;gap:10px;border-color:#cfdbc4;margin-top:2px}
.studio-refine-block .studio-card-header{flex-wrap:wrap}
.studio-refine-block .studio-card-title{font-size:14px}
.studio-refine-textarea{font-size:13px;padding:11px 12px;border-color:#cfdbc4;min-height:80px;line-height:1.6;border-radius:7px}
.studio-btn-refine{min-height:38px;font:12px var(--sans);text-transform:none;letter-spacing:0}
.director-studio-view button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.director-studio-view :is(button,select,textarea,input,summary):focus-visible{outline:2px solid #447957;outline-offset:3px}
.studio-output-empty[hidden],.studio-refine-block[hidden],.studio-param-field[hidden]{display:none!important}
.director-studio-view .h3-checker-hint{font-size:10px;color:#7c8e71}
.director-studio-view .h3-checker-pill{font-size:12px;min-height:33px}
.director-studio-view .checker-item-msg{font-size:12px;line-height:1.6}
@media(max-width:1080px){.studio-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:16px}.director-studio-view{padding:22px 20px 36px}.studio-card{padding:18px}.studio-camera-card{padding:0}.studio-card-tip{font-size:11px}.studio-references-card .studio-card-header{flex-wrap:wrap}.studio-images-grid{grid-template-columns:1fr 1fr}.camera-chip{padding:7px}.studio-camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-camera-summary{padding:18px}}
@media(max-width:820px){.studio-grid{grid-template-columns:1fr}.studio-output-col{position:static}.studio-output-card.has-prompt #studioOutputPrompt{height:340px}.studio-topbar{align-items:flex-start}.studio-mode-selector{gap:8px}.mode-seg-btn{padding:11px}.mode-seg-btn span{font-size:11px}.studio-params-grid{grid-template-columns:1fr 132px}.studio-images-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-camera-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.director-studio-view{padding:18px 14px 28px}.studio-container{gap:14px}.studio-heading{font-size:23px}.studio-subheading{font-size:12px}.studio-topbar{gap:12px}.studio-topbar-right{align-self:flex-end}.studio-topbar .logo-mark{display:none}.studio-topbar .btn-ghost{min-height:32px;padding:7px 10px}.studio-mode-selector{grid-template-columns:1fr}.mode-seg-btn{min-height:0;padding:10px 13px;gap:2px}.mode-seg-btn strong{font-size:13px}.mode-seg-btn span{font-size:11px}.studio-mode-help{font-size:11px}.studio-card{padding:17px}.studio-card-title{font-size:15px}.studio-card-header{flex-wrap:wrap;gap:7px}.studio-camera-card{padding:0}.studio-camera-summary{padding:17px;align-items:flex-start}.studio-camera-summary>span:first-child{gap:7px}.studio-camera-summary-hint{max-width:33%}.studio-images-grid,.studio-images-grid.two-visible{grid-template-columns:1fr 1fr}.studio-images-grid:not(.two-visible)>:last-child{grid-column:1/-1}.studio-camera-grid{grid-template-columns:1fr 1fr}.studio-camera-content{padding:14px}.studio-camera-controls{align-items:flex-start}.studio-select{font-size:12px}.studio-output-empty{padding:18px 15px}.studio-output-empty h3{font-size:22px}.studio-primary-actions{flex-wrap:wrap}.studio-btn-insert{min-width:180px}.studio-shortcut{display:none}}
@media(prefers-reduced-motion:reduce){.director-studio-view *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.director-studio-view{inset:var(--header-h) 0 0}
.camera-mode-tabs,.camera-segmented-group{background:#e9efdf;border-color:#cbd7bd}
.cam-tab-btn{color:#60794c}
.cam-tab-btn.active,.camera-seg-btn.active{background:#446a37;color:white;box-shadow:none}
.cam-tab-btn:hover,.camera-seg-btn:hover{background:#dce7ce;color:#3e612f}
.camera-seg-btn{color:#667e52}
.camera-chip-icon{background:#e2ecd4;color:#5e7c45}
.camera-chip:hover{background:#eaf2dc;border-color:#a4bf88;color:#365b23}
.camera-chip:hover .camera-chip-icon,.camera-chip.active .camera-chip-icon{background:#d4e6bc;color:#3e6427}
.camera-chip.active{color:#2d4d1f;border-color:#77995b}
.camera-chip.active .camera-chip-sub{color:#5b7844}
.camera-preview-box{background:#f6f9ef;border-color:#ccdab9}
.camera-preview-prefix{color:#7a8e67}
.camera-preview-code,.camera-preview-code.has-value{color:#3d5c2b}
.camera-add-btn{background:#3f6732}
.camera-add-btn:hover:not(:disabled){background:#305323;box-shadow:none}
.studio-chip{background:#f3f7eb;border-color:#d1dfc0}
.studio-chip:has(input:checked){background:#e5efda;border-color:#a5c18b;color:#3b5f29}
.studio-refine-history li{background:#eef5e3;color:#547440;border-color:#c5d9ad}
.studio-refine-history li button{color:#50713b;border-color:#b4cea0}
.studio-refine-history li button:hover{color:#2c4d1a}
#studioIdea:focus,#studioOutputPrompt:focus,.studio-refine-textarea:focus,.studio-select:focus{border-color:#709262;box-shadow:0 0 0 3px rgba(81,122,59,.1)}
.studio-btn-copy:hover,.studio-btn-refine:hover{background:#e5efda;border-color:#94b77a;color:#345524}
.checker-pill-text,.h3-checker-pill.status-neutral .checker-pill-text{color:#607b4c}
.checker-pill-dot{background:#8fa779}
.h3-checker-pill.status-error{background:#fff0e8;border-color:#e2b8a3;color:#9a4c2e}
.h3-checker-pill.status-warning{background:#fbf3da;border-color:#d9c892;color:#8b6d28}
.h3-checker-pill.status-valid{background:#e6f0df;border-color:#b2cba2;color:#466e35}
.h3-checker-panel-header{border-color:#d5e2c4}
.checker-panel-close{color:#66834e}
.checker-panel-title{color:#55783b}
#studioLocksBlock .studio-card-title{font-size:13px}
@media(min-width:821px){.studio-output-card{max-height:calc(100dvh - 92px);overflow-y:auto}}
.studio-refine-textarea{background:#fbfcf8;color:#294335}
.btn-clear-image-overlay{background:rgba(28,45,30,.86);border-color:rgba(255,255,255,.35);color:#f6faee}
.media-nav{background:rgba(24,38,26,.8);border-color:rgba(255,255,255,.35);color:#f6faee}
#app-header .version-tag.online{color:#426638;border-color:#b4cda2;background:#f1f6e9}
#app-header .version-tag.online::before{color:#608747}
.h3-checker-panel{box-shadow:0 8px 20px rgba(40,64,28,.07)}
.h3-checker-item{background:#f1f6e9}
.checker-panel-stats{background:#e6efd9;color:#5c7945}
.checker-item-tag.tag-error{background:#f8e0d6;color:#974d35}
.checker-item-tag.tag-warning{background:#f3e7bb;color:#7c631c}
.checker-item-tag.tag-info{background:#dfe9ed;color:#466777}
.checker-item-tag.tag-valid{background:#dfedda;color:#4a703a}
.status-warning .checker-pill-badge-counter{background:#eee1ad;color:#7d641f}
.status-error .checker-pill-badge-counter{background:#f3d5c8;color:#96482e}
.checker-item-suggestion{color:#536f3c;background:#edf4df;border-color:#bbcf9e}
.checker-btn-autofix{color:#7d651f;background:#f3e9c1;border-color:#dac991}
.checker-btn-autofix:hover{color:#5b4815;background:#eaddaa}
.checker-btn-studio:hover{color:#345125;background:#dceacb}
.btn-refine-in-studio,.btn-refine-in-studio:hover{color:#385829;background:#e4efda;border-color:#b1c99b;box-shadow:none}
.stage-legend{background:rgba(245,250,236,.94);border-color:#c5d7b1}
.legend-item{color:#577643}

/* Alternância de tema mantém o briefing e a câmera no mesmo estado. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:34px;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-secondary);font:12px var(--sans);cursor:pointer}
.theme-toggle:hover{background:var(--raised);border-color:var(--border-hover)}
.theme-toggle:focus-visible,.studio-camera-shortcut:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.theme-icon-sun{display:none}
:root[data-theme=dark] .theme-icon-moon{display:none}
:root[data-theme=dark] .theme-icon-sun{display:block}
.studio-camera-shortcut{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:7px 0;border:0;background:transparent;font:500 12px var(--sans);color:var(--accent);cursor:pointer;text-align:left}
.studio-camera-shortcut:hover{text-decoration:underline;text-underline-offset:3px}
.studio-camera-shortcut-count{font-size:11px;font-weight:400;color:var(--muted)}
.camera-presets-help{margin:0 0 12px}
.studio-camera-card{scroll-margin-top:16px}

/* Noite em petróleo e sálvia: superfícies suaves, sem retornar ao rubro-negro. */
:root[data-theme=dark]{color-scheme:dark;--bg:#101e21;--bg-rgb:16,30,33;--surface:#16272a;--surface-2:#1b3033;--surface-3:#223b3d;--input-bg:#122327;--border:#334b4d;--border-hover:#668b7e;--text:#e4ece3;--text-secondary:#c2d3c9;--text-dim:#a0b6ac;--text-muted:#94aaa0;--muted:#a0b6ac;--muted2:#aec3b6;--cream:#e4ece3;--cream-rgb:228,236,227;--text-rgb:228,236,227;--accent:#b2d3a4;--accent2:#87b8a5;--accent-rgb:178,211,164;--brick-rgb:178,211,164;--accent-text:#b2d3a4;--accent-dark:#c9e2bf;--accent-dim:rgba(178,211,164,.09);--accent-glow:rgba(178,211,164,.13);--panel:#1b2d30;--raised:#253e3f;--line:#334b4d;--glass-bg:rgba(22,39,42,.96);--glass-border:#334b4d;--h3-on-accent:#183328}
:root[data-theme=dark] body{background:var(--bg);color:var(--text)}
:root[data-theme=dark] #app-header{background:#142529;border-color:var(--border)}
:root[data-theme=dark] #app-header .logo-mark{background:#2d4741;color:#c7e0b8}
:root[data-theme=dark] #app-header .version-tag{background:#1b3033;border-color:var(--border);color:var(--muted)}
:root[data-theme=dark] #app-header .version-tag.online{background:#213c31;color:#bbd8a6;border-color:#47694b}
:root[data-theme=dark] #app-header .version-tag.online::before{color:#bbd8a6}
:root[data-theme=dark] .mode-switch-group{background:#101f23;border-color:var(--border)}
:root[data-theme=dark] .mode-tab{color:var(--muted)}
:root[data-theme=dark] .mode-tab.active{background:#2a4541;border-color:#486458;color:#dfecce;box-shadow:none}
:root[data-theme=dark] .mode-tab:hover{background:#28413e;color:#d6e8c7}
:root[data-theme=dark] :is(.btn-primary,.studio-btn-generate,.studio-btn-insert,.camera-add-btn){background:var(--accent);border-color:var(--accent);color:var(--h3-on-accent);box-shadow:none}
:root[data-theme=dark] :is(.btn-primary,.studio-btn-generate,.studio-btn-insert,.camera-add-btn):hover:not(:disabled){background:#c6e1b8;border-color:#c6e1b8;color:var(--h3-on-accent);box-shadow:none}
:root[data-theme=dark] .studio-shortcut{color:#294b35}
:root[data-theme=dark] .btn-ghost{color:var(--text-secondary);border-color:#456054}
:root[data-theme=dark] .btn-ghost:hover{background:#2a443e;border-color:#688b6c;color:#e0ecd5}
:root[data-theme=dark] :is(#overlay,.director-studio-view){background:var(--bg)}
:root[data-theme=dark] :is(#overlay>.modal,.gallery,.media-box,.confirm-card,.studio-card){background:var(--panel);border-color:var(--border);box-shadow:0 8px 28px rgba(0,0,0,.1)}
:root[data-theme=dark] :is(.modal-header-banner,.controls,.history-panel,.history-header){background:var(--surface);border-color:var(--border)}
:root[data-theme=dark] .modal-header-banner .header-sub{color:var(--muted)}
:root[data-theme=dark] :is(#prompt,input[type=number],.native-select,.frame-zone,.ref-zone){background:var(--input-bg)!important;border-color:var(--border)!important;color:var(--text);box-shadow:none}
:root[data-theme=dark] :is(#prompt,#studioIdea,#studioOutputPrompt,.studio-refine-textarea)::placeholder{color:#8fa79d}
:root[data-theme=dark] :is(.header-workflow-select .workflow-trigger,.resolution-select .resolution-trigger){background:var(--input-bg);border-color:var(--border);color:var(--text-secondary)}
:root[data-theme=dark] :is(.header-workflow-select .workflow-trigger,.resolution-select .resolution-trigger):is(:hover,:focus){background:#223b38;color:var(--text);border-color:#7c9f81!important}
:root[data-theme=dark] .workflow-menu{background:var(--panel);border-color:#62806d;box-shadow:0 10px 30px rgba(0,0,0,.3)}
:root[data-theme=dark] .workflow-menu [role=option]{color:var(--text-secondary)}
:root[data-theme=dark] .workflow-menu [role=option]:is(:hover,[aria-selected=true]){background:#304c40;color:#e1eecd}
:root[data-theme=dark] .history-item{background:var(--surface);border-color:var(--border)}
:root[data-theme=dark] .history-item:hover{background:var(--raised)}
:root[data-theme=dark] .history-prompt{color:var(--text-secondary)}
:root[data-theme=dark] :is(.history-meta,.history-all){color:var(--muted)}
:root[data-theme=dark] :is(.history-count,.result-download){background:#243e35;color:#bad0aa;border-color:#46634a}
:root[data-theme=dark] .spectrum-toggle[aria-pressed=true]{background:#2e493c!important;border-color:#759564!important;color:#d0e7bb!important}
:root[data-theme=dark] .confirm-overlay{background:rgba(5,16,18,.7)}
:root[data-theme=dark] .confirm-text{color:var(--text-secondary)}
:root[data-theme=dark] .confirm-actions .btn-primary.is-danger{background:#d68b73;border-color:#d68b73;color:#291b16}
:root[data-theme=dark] .mode-seg-btn{background:var(--panel);border-color:var(--border);color:var(--text-secondary)}
:root[data-theme=dark] .mode-seg-btn strong{color:var(--text)}
:root[data-theme=dark] .mode-seg-btn span{color:var(--muted)}
:root[data-theme=dark] .mode-seg-btn:hover{background:#243e3c;border-color:#73927d}
:root[data-theme=dark] .mode-seg-btn.active{background:#2c463c;border-color:#9eba8b;box-shadow:inset 3px 0 0 #b2d3a4}
:root[data-theme=dark] .mode-seg-btn.active strong{color:#e2edcf}
:root[data-theme=dark] .mode-seg-btn.active span{color:#baccab}
:root[data-theme=dark] :is(.studio-subheading,.studio-mode-help,.studio-card-tip,.studio-field-help,.studio-status,.dropzone-text,.studio-optional,.studio-camera-summary-hint,.camera-control-label,.studio-output-card .char-counter){color:var(--muted)}
:root[data-theme=dark] .studio-step{background:#2a4237;border-color:#4d6a48;color:#c0d9aa}
:root[data-theme=dark] .director-studio-view .field-label{color:var(--text-secondary)}
:root[data-theme=dark] :is(#studioIdea,#studioOutputPrompt,.studio-refine-textarea,.studio-select){background:var(--input-bg);border-color:var(--border);color:var(--text)}
:root[data-theme=dark] :is(.studio-actions-bar,.studio-refine-block){border-color:var(--border)}
:root[data-theme=dark] .studio-status.is-error{color:#f0b19b}
:root[data-theme=dark] .studio-status.is-success{color:#b3d99b}
:root[data-theme=dark] .studio-dropzone{background:#172b2c;border-color:#547363}
:root[data-theme=dark] .studio-dropzone.swap-target{background:#274139;box-shadow:0 0 0 2px #95b282 inset}
:root[data-theme=dark] .studio-chip{background:#213a33;border-color:#46664d;color:#c0d4b7}
:root[data-theme=dark] .studio-chip:has(input:checked){background:#34523d;border-color:#86a56f;color:#e0eccb}
:root[data-theme=dark] .studio-camera-summary{color:var(--text)}
:root[data-theme=dark] .studio-camera-card[open] .studio-camera-summary{border-color:var(--border)}
:root[data-theme=dark] :is(.camera-mode-tabs,.camera-segmented-group){background:#14272a;border-color:var(--border)}
:root[data-theme=dark] :is(.cam-tab-btn,.camera-seg-btn){color:#b6ccbd}
:root[data-theme=dark] :is(.cam-tab-btn,.camera-seg-btn):hover{background:#304c40;color:#e4edcc}
:root[data-theme=dark] :is(.cam-tab-btn.active,.camera-seg-btn.active){background:#a5c58f;color:#203b27;box-shadow:none}
:root[data-theme=dark] .camera-chip{background:#213837;border-color:#3b564b;color:#d4e2c7}
:root[data-theme=dark] .camera-chip-sub{color:#aec3a4}
:root[data-theme=dark] .camera-chip-icon{background:#304b3b;color:#bbd898}
:root[data-theme=dark] .camera-chip:hover{background:#2b493b;border-color:#84a16b;color:#e5eed2}
:root[data-theme=dark] .camera-chip.active{background:#38523b;border-color:#abc78b;color:#ecf3d8}
:root[data-theme=dark] .camera-chip.active .camera-chip-sub{color:#d1dfb6}
:root[data-theme=dark] :is(.camera-chip.active,.camera-chip:hover) .camera-chip-icon{background:#49653f;color:#e2efc4}
:root[data-theme=dark] :is(.camera-preview-box,.visual-stage-canvas-wrap){background:#122428;border-color:var(--border)}
:root[data-theme=dark] .camera-preview-prefix{color:#9bb995}
:root[data-theme=dark] :is(.camera-preview-code,.camera-preview-code.has-value){color:#cfdfb6}
:root[data-theme=dark] .visual-stage-container{background:#1a3032;border-color:var(--border)}
:root[data-theme=dark] :is(.visual-stage-hint,.btn-stage-reset){color:#aac3ae}
:root[data-theme=dark] :is(.btn-stage-view,.studio-select-sm){background:#203a36;border-color:#496953;color:#c8dbb9}
:root[data-theme=dark] .btn-stage-view.active{background:#3d5c43;border-color:#8aaa73;color:#e0edc7}
:root[data-theme=dark] .stage-legend{background:rgba(22,43,42,.96);border-color:#46654c}
:root[data-theme=dark] .legend-item{color:#c8dab9}
:root[data-theme=dark] .studio-output-card{background:#20342f;border-color:#425d49}
:root[data-theme=dark] .studio-output-empty{background:#2b4433;border-color:#486448}
:root[data-theme=dark] .studio-output-kicker{color:#c2d8a4}
:root[data-theme=dark] .studio-output-empty h3{color:#e4edd1}
:root[data-theme=dark] .studio-output-empty p{color:#bed0ac}
:root[data-theme=dark] .studio-output-empty strong{color:#deedc5}
:root[data-theme=dark] .studio-output-empty ol{border-color:#4c6948;color:#bacda6}
:root[data-theme=dark] :is(.studio-btn-copy,.studio-btn-refine){background:#2c4637;color:#d0e2b9;border-color:#5d7b52}
:root[data-theme=dark] :is(.studio-btn-copy,.studio-btn-refine):hover{background:#3b573c;color:#edf4d7;border-color:#99b77a}
:root[data-theme=dark] .studio-refine-history li{background:#2c4435;border-color:#547048;color:#c7dcb1}
:root[data-theme=dark] .studio-refine-history li button{color:#d3e5b7;border-color:#75975c}
:root[data-theme=dark] :is(#studioIdea,#studioOutputPrompt,.studio-refine-textarea,.studio-select):focus{border-color:#a5c58f;box-shadow:0 0 0 3px rgba(165,197,143,.12)}
:root[data-theme=dark] .director-studio-view :is(button,select,textarea,input,summary):focus-visible{outline-color:#b2d3a4}
:root[data-theme=dark] :is(.h3-checker-pill,.h3-checker-pill.status-neutral){background:#294132;color:#c4d8ae;border-color:#4a6846}
:root[data-theme=dark] :is(.checker-pill-text,.h3-checker-pill.status-neutral .checker-pill-text){color:inherit}
:root[data-theme=dark] .h3-checker-hint{color:#a6bc98}
:root[data-theme=dark] .h3-checker-panel{background:#1e342c;border-color:#43603f;box-shadow:0 8px 24px rgba(0,0,0,.22)}
:root[data-theme=dark] .h3-checker-panel-header{border-color:#43603f}
:root[data-theme=dark] :is(.checker-panel-title,.checker-panel-close){color:#c4d9aa}
:root[data-theme=dark] :is(.checker-item,.h3-checker-item){background:#284033}
:root[data-theme=dark] .checker-item-title{color:#d1e2bb}
:root[data-theme=dark] :is(.checker-item-msg,.checker-item-detail){color:#baceaa}
:root[data-theme=dark] :is(.checker-panel-stats,.checker-item-code,.checker-item-suggestion){background:#314b37;border-color:#62804f;color:#d2e2b9}
:root[data-theme=dark] :is(.checker-action-btn,.checker-btn-studio,.btn-refine-in-studio){background:#3a5539;border-color:#7d9b61;color:#ddebc5}
:root[data-theme=dark] :is(.checker-action-btn,.checker-btn-studio,.btn-refine-in-studio):hover{background:#496846;color:#f0f5db}
:root[data-theme=dark] :is(.h3-checker-pill.status-error,.checker-item-tag.tag-error,.status-error .checker-pill-badge-counter){background:#50352e;border-color:#9c6955;color:#f1c4ad}
:root[data-theme=dark] :is(.h3-checker-pill.status-warning,.checker-item-tag.tag-warning,.status-warning .checker-pill-badge-counter,.checker-btn-autofix){background:#48432b;border-color:#8d7c46;color:#e9d494}
:root[data-theme=dark] .checker-item-tag.tag-info{background:#304c50;color:#bbdfe3}
:root[data-theme=dark] :is(.h3-checker-pill.status-valid,.checker-item-tag.tag-valid){background:#345038;border-color:#719663;color:#d0e6b9}
@media(max-width:1000px){.theme-toggle #themeToggleLabel{display:none}.theme-toggle{width:34px;padding:7px}}
@media(max-width:480px){#app-header .logo-text{display:none}#app-header .logo-mark{display:flex;width:26px;height:26px}#app-header .header-left{padding:0 10px}#app-header .header-right{gap:8px;padding:0 10px}.mode-tab{font-size:10px;padding:7px 8px}.theme-toggle{width:32px}.studio-camera-shortcut{flex-wrap:wrap}}
.select-caret{background:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 4px}
:root[data-theme=dark] :is(.studio-topbar .logo-mark,.modal-header-banner .logo-mark){color:#183328}
.camera-add-btn.btn-added-flash{background:var(--accent)!important;color:#fff!important;box-shadow:none!important}
:root[data-theme=dark] .camera-add-btn.btn-added-flash{color:var(--h3-on-accent)!important}
@media(max-width:360px){#app-header .header-left{padding:0 6px}#app-header .header-right{gap:5px;padding:0 6px}.mode-tab{padding:7px 6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.header-workflow-select .workflow-trigger[aria-expanded=true],.resolution-select .resolution-trigger[aria-expanded=true]{background:var(--raised);color:var(--text);border-color:var(--accent)!important;box-shadow:none!important}
.studio-dropzone:is(:hover,.dragover,.swap-target){background:var(--raised);border-color:var(--accent);box-shadow:none}
.btn-clear-camera{color:var(--muted2);font:11px var(--sans);min-height:32px;padding:5px 8px}
.btn-clear-camera:hover,.btn-stage-reset:hover{color:var(--text);background:var(--raised)}

/* Feedback sobre o resultado: ação local, detalhes técnicos opcionais. */
.generation-feedback{padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--panel);display:flex;flex-direction:column;gap:10px}
.generation-feedback[hidden],.studio-refine-review[hidden],#generationFeedbackCancel[hidden],#generationFeedbackGenerate[hidden]{display:none!important}
.generation-feedback-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px 16px}
.generation-feedback-heading h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}
.generation-feedback-heading>span{font-size:11px;color:var(--muted)}
.generation-feedback-target{overflow-wrap:anywhere}
.generation-feedback-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.generation-feedback-actions button{padding:9px 14px;font-size:12px}
.generation-feedback-actions button:disabled,.studio-refine-review button:disabled{opacity:.5;cursor:not-allowed}
.studio-refine-status{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.studio-refine-status:empty{display:none}
.studio-refine-status.is-error{color:var(--red,#bd5e4e)}
.studio-refine-status.is-success{color:var(--accent)}
.studio-refine-review{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--raised)}
.studio-refine-review summary{cursor:pointer;font-size:12px;color:var(--text)}
.studio-refine-request{white-space:pre-wrap;font-size:12px;line-height:1.5;color:var(--muted)}
.studio-refine-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.studio-refine-comparison label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:11px;color:var(--muted)}
.studio-refine-comparison textarea{width:100%;box-sizing:border-box;resize:vertical;padding:9px;border:1px solid var(--border);border-radius:6px;font:11px/1.6 var(--mono);color:var(--text);background:var(--input-bg)}
.studio-refine-review button{margin-top:8px;font-size:11px}
@media(max-width:720px){.studio-refine-comparison{grid-template-columns:1fr}.generation-feedback{padding:14px}.generation-feedback-heading>span{display:none}}

.generation-feedback-last-request{margin:0;color:var(--text);font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.generation-feedback-last-request[hidden]{display:none}

/* Galeria: ordem visual, de teclado e de navegação seguem a mesma lista. */
#galleryOverlay,#mediaOverlay{background:rgba(20,36,30,.48);backdrop-filter:blur(5px)}
:root[data-theme=dark] :is(#galleryOverlay,#mediaOverlay){background:rgba(5,13,16,.72)}
.gallery,.media-box{max-height:calc(100dvh - var(--header-h) - 24px)}
.gallery-body{padding:18px;overscroll-behavior:contain}
.gallery-masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.gallery-card{display:flex;flex-direction:column;aspect-ratio:auto;min-width:0;background:var(--panel);border-color:var(--border);box-shadow:none;cursor:pointer}
.gallery-card:is(:hover,:focus-visible){border-color:var(--border-hover);box-shadow:0 4px 16px rgba(20,40,30,.1);transform:none}
.gallery-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.gallery-card .gallery-card-media-wrap{width:100%;height:auto;aspect-ratio:16/10;flex:none;background:#102125;overflow:hidden}
.gallery-card :is(.gen-cell-img,.gen-cell-video){object-fit:contain}
.gallery-card .gallery-video-badge{width:auto;height:auto;padding:4px 8px;border-radius:5px;background:rgba(9,24,27,.82);color:#eef4e9;font:10px var(--sans);border:1px solid rgba(230,240,220,.3)}
.gallery-card-caption{display:flex;flex-direction:column;gap:5px;padding:12px 13px;min-width:0;text-align:left;background:var(--panel)}
.gallery-card-caption strong{font:500 12px/1.4 var(--sans);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gallery-card-caption span{font:11px/1.4 var(--sans);color:var(--muted)}
.gallery-card:is(.state-queued,.state-running,.state-submitting,.state-fail){padding:0;display:flex;align-items:stretch;text-align:center}
.gallery-card>.local-state{min-height:170px;flex:1;flex-direction:column;background:var(--surface)}
.gallery-card-caption{flex-shrink:0}
.media-recovery{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:140px;width:100%;box-sizing:border-box;padding:20px;color:var(--text-secondary);background:var(--surface2);text-align:center;font:12px/1.5 var(--sans)}
.gallery-card-media-wrap>.media-recovery{height:100%;min-height:0}
.media-retry{font:11px var(--sans);min-height:32px;letter-spacing:0;text-transform:none}
:is(.result-image,.result-video,.gallery-card-media).is-loading{background:var(--surface2)}
.history-item[aria-current=true]{background:var(--raised);box-shadow:inset 3px 0 0 var(--accent)}
.media-box-head{gap:12px;flex-shrink:0;background:var(--panel)}
.media-box-title{font:500 13px/1.5 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.media-box-body{background:#0d1e22;min-height:120px;overflow:hidden;padding:16px}
.media-box-body :is(.result-image,.result-video){max-height:calc(100dvh - var(--header-h) - 230px);max-width:100%;object-fit:contain}
.media-box-foot{background:var(--panel);border-color:var(--border);max-height:32dvh;overflow:auto;flex-shrink:0;gap:8px}
.media-box-foot :is(.result-download,.btn-ghost){width:auto;flex:1 1 auto;font:11px var(--sans);letter-spacing:0;text-transform:none;min-height:34px;justify-content:center}
.media-prompt-details{flex-basis:100%;width:100%;font:12px/1.65 var(--sans);color:var(--text-secondary);background:var(--raised);padding:10px 12px;border:1px solid var(--border);border-radius:6px}
.media-prompt-details summary{cursor:pointer;color:var(--text)}
.media-prompt-details p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0}
.local-state-fail{color:#ad4a36}
:root[data-theme=dark] .local-state-fail{color:#efb39f}
:root[data-theme=dark] .btn-ghost.btn-danger{color:#ebbcaa;border-color:#77574b}
:root[data-theme=dark] .btn-ghost.btn-danger:hover{background:#513d32;color:#f5d9c4}
@media(max-width:860px){.gallery-masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gallery-masonry{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.gallery-body{padding:12px}.gallery-head{padding:14px}.media-box-body{padding:8px;min-height:100px}.media-box-foot{padding:10px;max-height:36dvh}.media-box-body :is(.result-image,.result-video){max-height:calc(100dvh - var(--header-h) - 260px)}.media-nav{width:32px;height:44px}.media-nav-previous{left:8px}.media-nav-next{right:8px}.media-box-title{font-size:12px}}

/* Black frame é uma alternativa abaixo do upload, sem interceptar o seletor. */
:is(#framesField, #referencesField) .frame-zone{width:100%;box-sizing:border-box;font-family:var(--sans)}
:is(#framesField, #referencesField) .frame-zone.has-thumbs{min-height:40px}
:is(#framesField, #referencesField) .black-frame-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;width:100%;padding:7px 10px;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted2);font:11px/1.35 var(--sans);cursor:pointer}
:is(#framesField, #referencesField) .black-frame-button:hover{background:var(--raised);border-color:var(--accent);color:var(--text)}
:is(#framesField, #referencesField) .black-frame-button:disabled{cursor:wait;opacity:.6}
:is(#framesField, #referencesField) :is(.frame-zone,.black-frame-button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:is(#framesField, #referencesField) .black-frame-swatch{display:block;width:12px;height:12px;flex:0 0 12px;border-radius:2px;background:#000;border:1px solid var(--muted)}
:is(#framesField, #referencesField) .black-frame-button[aria-pressed=true]{background:var(--raised);border-color:var(--accent);color:var(--text)}
.history-thumb.media-recovery{width:40px;height:40px;min-height:40px;padding:0;gap:0;flex:0 0 40px}
.history-thumb.media-recovery>span{display:none}
.history-thumb.media-recovery .media-retry{width:34px;min-height:32px;padding:0;font-size:17px}
#galleryOverlay:not(.open),#mediaOverlay:not(.open){visibility:hidden;pointer-events:none}
