/* ===== Encart de stream (OBS + aperçu) =====
   --u = 1 % de la largeur de l'écran (1vw dans OBS, 1cqw dans l'aperçu). */
.ovl{--u:1vw;--amber:#feb947;--amber2:#ffd48c;position:absolute;display:flex;flex-direction:column;gap:calc(var(--u)*.45);
  font-family:Figtree,system-ui,sans-serif;color:#fff;width:calc(var(--u)*var(--w,21));pointer-events:none}
.ovl-s{--w:16}.ovl-m{--w:21}.ovl-l{--w:27}
.ovl-tl{top:calc(var(--u)*var(--dy));left:calc(var(--u)*var(--dx))}
.ovl-tr{top:calc(var(--u)*var(--dy));right:calc(var(--u)*var(--dx));align-items:flex-end}
.ovl-bl{bottom:calc(var(--u)*var(--dy));left:calc(var(--u)*var(--dx));flex-direction:column-reverse}
.ovl-br{bottom:calc(var(--u)*var(--dy));right:calc(var(--u)*var(--dx));flex-direction:column-reverse;align-items:flex-end}
.ovl-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:calc(var(--u)*.8);width:100%;box-sizing:border-box;
  padding:calc(var(--u)*.75);border-radius:calc(var(--u)*.9);animation:ovlIn .7s cubic-bezier(.2,.9,.2,1.15) both}
.ovl-glass .ovl-card{background:linear-gradient(135deg,#1c1622e6,#110c17cc);border:1px solid #feb94740;box-shadow:0 calc(var(--u)*.6) calc(var(--u)*2) #0009,inset 0 1px 0 #ffffff14}
.ovl-solid .ovl-card{background:#110c17;border:calc(var(--u)*.12) solid var(--amber);box-shadow:0 calc(var(--u)*.4) calc(var(--u)*1.4) #000a}
.ovl-minimal .ovl-card{padding:0;background:none;text-shadow:0 2px 6px #000,0 0 2px #000}
.ovl-av{flex:none;width:calc(var(--u)*3.4);height:calc(var(--u)*3.4);border-radius:calc(var(--u)*.7);overflow:hidden;
  background:radial-gradient(circle at 50% 30%,#feb94755,#1c1622);border:calc(var(--u)*.1) solid #feb94799}
.ovl-av img{width:100%;height:100%;object-fit:cover;display:block}
.ovl-minimal .ovl-av{box-shadow:0 2px 10px #000a}
.ovl-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:calc(var(--u)*.35)}
.ovl-name{font-family:Fredoka,Figtree,sans-serif;display:flex;align-items:baseline;gap:calc(var(--u)*.3);font-size:calc(var(--u)*1.15);line-height:1.1;white-space:nowrap;min-width:0}
.ovl-name b{font-weight:900;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis}
.ovl-name small{color:#ffffff99;font-weight:600;font-size:.72em}
.ovl-ok{color:var(--amber);width:.95em;height:.95em;align-self:center;display:inline-flex}
.ovl-ok svg{width:100%;height:100%}
.ovl-chips{display:flex;flex-wrap:wrap;gap:calc(var(--u)*.3)}
.ovl-chip{--c:var(--amber);display:inline-flex;align-items:center;gap:calc(var(--u)*.25);padding:calc(var(--u)*.18) calc(var(--u)*.4);
  border-radius:calc(var(--u)*.4);background:#ffffff0d;border:1px solid #ffffff14;font-size:calc(var(--u)*.62);white-space:nowrap}
.ovl-minimal .ovl-chip{background:#0007;border-color:#0000}
.ovl-chip img{width:calc(var(--u)*1);height:calc(var(--u)*1);object-fit:contain}
.ovl-chip img.ovl-role{width:calc(var(--u)*.75);height:calc(var(--u)*.75);opacity:.85}
.ovl-chip em{font-style:normal;color:#ffffff80;text-transform:uppercase;letter-spacing:.06em;font-size:.82em;font-weight:700}
.ovl-chip b{color:color-mix(in srgb,var(--c) 55%,#fff);font-weight:800}
.ovl-s .ovl-chip em{display:none}
.ovl-link{display:inline-flex;align-items:center;gap:calc(var(--u)*.35);padding:calc(var(--u)*.25) calc(var(--u)*.6);border-radius:999px;
  background:var(--amber);color:#1a1206;font-weight:900;font-size:calc(var(--u)*.68);letter-spacing:.01em;animation:ovlIn .7s .15s cubic-bezier(.2,.9,.2,1.15) both}
.ovl-link i{width:calc(var(--u)*.4);height:calc(var(--u)*.4);border-radius:50%;background:#1a1206;animation:ovlDot 1.6s ease-in-out infinite}
.ovl-shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,#ffffff1f 50%,transparent 60%);transform:translateX(-120%);animation:ovlShine 9s 1.2s ease-in-out infinite}
.ovl-minimal .ovl-shine{display:none}
@keyframes ovlIn{from{opacity:0;transform:translateY(calc(var(--u)*.8)) scale(.96)}to{opacity:1;transform:none}}
@keyframes ovlShine{0%,78%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes ovlDot{0%,100%{opacity:1}50%{opacity:.25}}
html.calm .ovl-card,html.calm .ovl-link,html.calm .ovl-shine,html.calm .ovl-link i{animation:none}
