html,body{margin:0;width:100%;min-height:100%;background:transparent!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body:not(.yc-controller){height:100%;overflow:hidden}
html:has(body.yc-controller){height:auto;min-height:100%;overflow-y:scroll;background:#0a0b0f!important}
body.yc-controller{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:visible!important;background:#0a0b0f!important;scrollbar-gutter:stable}
#yc-overlay-root{position:fixed;inset:0;pointer-events:none;z-index:2147483000}
.yc-caption{position:absolute;left:50%;transform:translateX(-50%);box-sizing:border-box;max-width:min(var(--yc-max-width,82vw),1600px);padding:.42em .68em;border-radius:.42em;background:rgba(var(--yc-bg-rgb,0,0,0),var(--yc-bg-opacity,.72));color:var(--yc-color,#ffe600);font-family:var(--yc-font,system-ui);font-size:var(--yc-size,48px);font-weight:var(--yc-weight,800);line-height:1.14;text-align:var(--yc-align,center);letter-spacing:.005em;box-shadow:0 .12em .45em rgba(0,0,0,.24);opacity:0;transition:opacity 110ms linear;overflow:hidden}
.yc-caption.show{opacity:1}.yc-caption[data-position="top"]{top:7%}.yc-caption[data-position="middle"]{top:50%;transform:translate(-50%,-50%)}.yc-caption[data-position="bottom"]{bottom:6%}
/* Overlay: pilha com um bloco por falante (modo entrevista). */
.yc-stack{position:absolute;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.28em;width:max-content;max-width:min(var(--yc-max-width,82vw),1600px);font-size:var(--yc-size,48px)}
.yc-stack[data-position="top"]{top:7%}.yc-stack[data-position="middle"]{top:50%;transform:translate(-50%,-50%)}.yc-stack[data-position="bottom"]{bottom:6%}
.yc-stack>.yc-caption{position:static;transform:none;max-width:100%}
.yc-speaker{display:block;font-size:.46em;font-weight:900;letter-spacing:.05em;text-transform:uppercase;opacity:.85;margin-bottom:.1em}
/* Lado a lado: cada falante numa coluna (até 4 por linha), com posição fixa. */
.yc-stack[data-layout="side"]{flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:.35em;width:min(var(--yc-max-width,82vw),1600px)}
.yc-stack[data-layout="side"]>.yc-caption{flex:0 1 auto;max-width:calc((100% - (min(var(--yc-count,1),4) - 1) * .35em) / min(var(--yc-count,1),4))}
/* Marca d'água (removível por plano); aparece junto com as legendas. */
.yc-watermark{position:absolute;right:.2em;top:calc(100% + .2em);font-size:.3em;font-weight:800;letter-spacing:.08em;color:#fff;background:rgba(0,0,0,.45);padding:.18em .55em;border-radius:.45em;white-space:nowrap;opacity:.8}
.yc-watermark[hidden]{display:none}
/* Conversa ao vivo nas páginas de quem fala. */
.yc-conversation{border:1px solid #282e39;border-radius:12px;background:#0b0e13;padding:10px}
.yc-conv-list{max-height:340px;overflow-y:auto;display:grid;gap:8px}
.yc-conv-list:empty{display:none}
.yc-conv-row{border-left:3px solid var(--yc-conv-color,#7a8394);padding:6px 10px;background:#11151d;border-radius:8px}
.yc-conv-row.live{opacity:.8;border-left-style:dashed}
.yc-conv-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#8f97a5}
.yc-conv-head strong{color:var(--yc-conv-color,#dce0e8)}
.yc-conv-text{font-size:15px;line-height:1.4;color:#f5f6fa;margin-top:2px}
.yc-conv-translation{font-size:14px;line-height:1.4;color:#9fd8ff;margin-top:2px}
.yc-conv-live{display:grid;gap:8px}
.yc-conv-live:not(:empty){margin-bottom:8px}
.yc-conv-empty{color:#8f97a5;font-size:13px;padding:4px 2px}
.yc-conv-empty[hidden]{display:none}
.yc-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:clip}.yc-translation{color:var(--yc-translation-color,#7fe7ff);font-size:.92em;font-weight:700}

.yc-controller{min-height:100vh;background:#0a0b0f;color:#f5f6fa;padding:24px 24px 72px;box-sizing:border-box}
.yc-card{max-width:900px;margin:0 auto;background:#12151c;border:1px solid #2a2f3a;border-radius:16px;padding:20px;box-sizing:border-box;box-shadow:0 20px 70px #0008}
.yc-card h1{font-size:30px;line-height:1.1}
.yc-card h2{margin:22px 0 10px}
.yc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.yc-controller label{display:block;font-weight:700;font-size:13px;color:#dce0e8}
.yc-controller input,.yc-controller select,.yc-controller button{box-sizing:border-box;font:inherit}
.yc-controller input[type=text],.yc-controller input[type=password],.yc-controller input[type=number],.yc-controller select{width:100%;margin-top:6px;background:#0c0f14;color:#fff;border:1px solid #303642;border-radius:9px;padding:10px}
.yc-controller button,.yc-controller .yc-actions a{box-sizing:border-box;font:inherit;border:1px solid #3a4050;border-radius:10px;background:#1b2029;color:#fff;padding:10px 14px;font-weight:800;cursor:pointer}
.yc-controller button.primary,.yc-controller .yc-actions a.primary{background:#6f4cff;border-color:#8064ff}.yc-controller button.danger{background:#5c1f2a;border-color:#84303d}
.yc-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.yc-status{padding:10px 12px;background:#0b0e13;border:1px solid #282e39;border-radius:10px;color:#aeb5c2;font-size:13px}
.yc-preview{position:relative;height:260px;background:#050608;border:1px solid #282e39;border-radius:12px;overflow:hidden;margin-top:15px}
.yc-preview #yc-overlay-root{position:absolute;inset:0;z-index:1}
.yc-preview .yc-caption{font-size:min(var(--yc-size,48px),4vw)}
.yc-url{display:flex;gap:8px}.yc-url input{flex:1}.yc-small{font-size:12px;color:#8f97a5;line-height:1.45}
.yc-live{margin-bottom:8px}

@media(max-width:680px){
  html:has(body.yc-controller){overflow-y:auto}
  .yc-grid{grid-template-columns:1fr}
  .yc-controller{padding:10px 10px 56px}
  .yc-card{padding:14px}
  .yc-url{display:block}
  .yc-url button{margin-top:8px;width:100%}
  .yc-preview{height:220px}
}

/* OBS dock: compact console layout */
.yc-dock{padding:0!important;overflow:auto!important;background:#0a0b0f!important;font-size:12px}
.yc-dock .yc-card{width:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:8px;min-height:100vh}
.yc-dock h1{font-size:16px;line-height:1;margin:0 0 7px!important}.yc-dock h2{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#aeb5c2;margin:9px 0 4px}.yc-dock .yc-small,.yc-dock .yc-preview{display:none!important}
.yc-dock .yc-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 6px}.yc-dock .yc-grid>label{font-size:10px;min-width:0}.yc-dock .yc-grid>label:nth-child(1),.yc-dock .yc-grid>label:nth-child(2){grid-column:auto}
.yc-dock input[type=text],.yc-dock input[type=password],.yc-dock input[type=number],.yc-dock select{height:29px;margin-top:2px;padding:4px 6px;border-radius:5px;font-size:11px}
.yc-dock .yc-actions{display:grid;grid-template-columns:1fr 1fr 58px;gap:5px;margin:6px 0}.yc-dock .yc-actions button,.yc-dock .yc-actions a{min-width:0;padding:6px 3px;border-radius:5px;font-size:10px;line-height:1.05;text-align:center}
.yc-dock .yc-status{padding:5px 6px;border-radius:5px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yc-dock .yc-url{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:5px}.yc-dock .yc-url input{min-width:0;height:28px;margin:0;padding:4px 6px;font-size:10px}.yc-dock .yc-url button{margin:0;padding:4px;font-size:10px;border-radius:5px}
.yc-dock #bilingual{margin:0;vertical-align:middle}.yc-dock label[style*="margin-top:24px"]{margin-top:0!important;align-self:end;height:29px;display:flex!important;align-items:center!important;gap:5px!important}
.yc-dock input[type=color]{width:34px;height:25px;padding:1px;border:0;background:transparent}
@media(max-width:390px){.yc-dock .yc-grid{grid-template-columns:1fr}.yc-dock .yc-grid>label{grid-column:1/-1}.yc-dock .yc-actions{grid-template-columns:1fr 1fr 50px}}

/* Página principal: rolagem visível no desktop */
html:has(body.yc-controller)::-webkit-scrollbar{width:12px}
html:has(body.yc-controller)::-webkit-scrollbar-track{background:#0a0b0f}
html:has(body.yc-controller)::-webkit-scrollbar-thumb{background:#343b49;border:3px solid #0a0b0f;border-radius:999px}
html:has(body.yc-controller)::-webkit-scrollbar-thumb:hover{background:#4a5365}
@media(max-height:820px){
  .yc-controller{padding-top:14px;padding-bottom:56px}
  .yc-card{margin-bottom:24px}
  .yc-preview{height:220px}
}

/* Texto puro (?plain=1): sem caixa nem fundo, para o OBS/vMix estilizar com CSS próprio. */
.yc-stack.yc-plain>.yc-caption{background:none;box-shadow:none;padding:0;border-radius:0}
.yc-stack.yc-plain .yc-speaker{display:none}
