/* fontes locais (não dependem do Google, importante para o OBS) */
@font-face{font-family:"Bebas Neue";src:url(/fonts/bebas-neue.woff2) format("woff2");font-weight:400;font-display:block}
@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-900.woff2) format("woff2");font-weight:900;font-display:swap}
/* Palco 1920x1080 (programa) — igual no estúdio, convidado e OBS */
.stage-host{position:relative;overflow:hidden;background:#05090f}
.stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;overflow:hidden;--brand:#F28A1E;--brand-ink:#14100a;font-family:Inter,system-ui,"Segoe UI",sans-serif;color:#fff}
.st-bg{position:absolute;inset:0;transition:background .4s}
.st-tiles{position:absolute;inset:0}
.st-tile{position:absolute;overflow:hidden;border-radius:22px;background:#122238;box-shadow:0 18px 40px -18px rgba(0,0,0,.75);opacity:0;transform:scale(.96);transition:left .45s cubic-bezier(.2,.8,.2,1),top .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1),height .45s cubic-bezier(.2,.8,.2,1),opacity .35s,transform .35s,border-radius .3s}
.st-tile.in{opacity:1;transform:none}
.stage.square .st-tile,.st-tile.noround{border-radius:0}
.st-tile.full{box-shadow:none}
.st-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0b1626}
.st-tile.is-scr video{background:#000}
.st-tile.mirror video{transform:scaleX(-1)}
.st-av{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#1d3557,#0e1c30)}
.st-av span{display:flex;align-items:center;justify-content:center;width:34%;aspect-ratio:1;max-width:260px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-weight:900;font-size:clamp(28px,9cqw,110px);letter-spacing:.02em;container-type:inline-size}
.st-tile{container-type:size}
.st-av span{font-size:min(14cqh,110px)}
.st-tile.camoff .st-av,.st-tile.nosignal.is-cam .st-av{display:flex}
.st-tile.camoff video{visibility:hidden}
.st-tag{position:absolute;left:16px;bottom:16px;display:flex;align-items:stretch;max-width:calc(100% - 32px);border-radius:10px;overflow:hidden;background:rgba(8,16,28,.82);box-shadow:0 6px 18px rgba(0,0,0,.35);font-size:max(18px,min(5cqh,30px))}
.st-tag i{width:7px;background:var(--brand);flex:0 0 auto}
.st-tag b{padding:.32em .7em .34em .6em;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.st-tag.hide{display:none}
.st-talk{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 0 var(--brand);transition:box-shadow .15s;pointer-events:none}
.st-tile.talking .st-talk{box-shadow:inset 0 0 0 5px var(--brand)}
.st-tile.nosignal.is-scr::after{content:"Aguardando a tela…";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#7f93ab;font-weight:700;font-size:32px}
/* título */
.st-title{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 160px}
.st-title.on{display:flex}
.st-title.withcams{justify-content:flex-start;padding-top:250px}
.st-title h1{margin:0;font:400 150px/0.95 "Bebas Neue",Impact,sans-serif;letter-spacing:.02em;color:#fff;text-shadow:0 8px 40px rgba(0,0,0,.45)}
.st-title h1::after{content:"";display:block;width:180px;height:10px;border-radius:10px;background:var(--brand);margin:34px auto 0}
.st-title p{margin:28px 0 0;font-size:40px;font-weight:600;color:#d5dfeb;letter-spacing:.04em}
/* logo */
.st-logo{position:absolute;display:none;height:auto;max-height:300px;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));z-index:30}
.st-logo.on{display:block}
.st-logo.pos-tl{left:44px;top:40px}.st-logo.pos-tr{right:44px;top:40px}.st-logo.pos-bl{left:44px;bottom:40px}.st-logo.pos-br{right:44px;bottom:40px}
/* faixa (lower third) */
.st-banner{position:absolute;left:70px;bottom:70px;display:flex;align-items:stretch;max-width:1300px;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -12px rgba(0,0,0,.6);transform:translateY(40px);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s;z-index:40}
.st-banner.on{transform:none;opacity:1}
.st-banner.withticker{bottom:130px}
.st-banner .bar{width:16px;background:var(--brand)}
.st-banner .txt{background:rgba(8,16,28,.92);padding:20px 34px 22px 26px;display:flex;flex-direction:column;gap:4px}
.st-banner b{font:400 58px/1 "Bebas Neue",Impact,sans-serif;letter-spacing:.02em;color:#fff}
.st-banner span{font-size:28px;font-weight:600;color:#ffd7ad}
.st-banner.nosub span{display:none}
/* letreiro */
.st-ticker{position:absolute;left:0;right:0;bottom:0;height:64px;background:var(--brand);color:var(--brand-ink);overflow:hidden;display:none;align-items:center;z-index:45;font-weight:800;font-size:30px}
.st-ticker.on{display:flex}
.st-ticker .run{display:flex;white-space:nowrap;animation:arqTicker 30s linear infinite}
.st-ticker .run span{padding-right:160px}
@keyframes arqTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* moldura PNG */
.st-overlay{position:absolute;inset:0;width:100%;height:100%;display:none;pointer-events:none;z-index:50}
.st-overlay.on{display:block}
