/* VueLobby — TV screen styles (shared by the TV player and the portal preview) */
:root{
  --accent:#c8693a;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.tv{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;background:#000;color:#fff;font-family:var(--sans)}
.tv .zones{position:absolute;inset:0}
.tv.withnews .zones{bottom:8.5%}
.zone{position:absolute;overflow:hidden;container-type:size}
.zone.float{border-radius:1.2vmin;box-shadow:0 0 0 2px rgba(255,255,255,.15),0 8px 24px rgba(0,0,0,.35)}
.zone .fill{position:absolute;inset:0}
.zone .slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 9cqw;animation:vlfade .6s ease}
@keyframes vlfade{from{opacity:0}to{opacity:1}}
.zone .slide img,.zone .slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zone .slide.fit img,.zone .slide.fit video{object-fit:contain;background:#000}
.zone .slide .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05))}
.zone .slide .copy{position:relative}
.zone .slide h2{font-family:var(--serif);font-weight:600;font-size:min(8.4cqw,15cqh);line-height:1.05;margin:0 0 min(2cqw,3.5cqh);letter-spacing:-.01em}
.zone .slide p{font-size:min(4cqw,6cqh);margin:0;opacity:.92;max-width:62cqw;line-height:1.3}
.zone .mediaph{position:absolute;inset:0;display:grid;place-items:center;font-size:min(3.5cqw,7cqh);color:#bbb;background:repeating-linear-gradient(45deg,#1b1b1b 0 12px,#222 12px 24px)}
.zone .brandtag{position:absolute;left:3cqw;top:min(3cqw,5cqh);font-family:var(--serif);font-size:min(2.6cqw,5cqh);font-weight:600;background:rgba(0,0,0,.35);padding:.8cqw 1.6cqw;border-radius:1cqw;z-index:3}
.zone .badges{position:absolute;right:3cqw;top:min(3cqw,5cqh);display:flex;gap:1.2cqw;z-index:3}
.zone .badge{background:rgba(0,0,0,.42);border-radius:1.2cqw;padding:1cqw 1.8cqw;display:flex;gap:1.2cqw;align-items:center}
.zone .badge .t{font-size:min(3.6cqw,7cqh);font-weight:700}
.zone .badge .c{font-size:min(1.7cqw,3.4cqh);line-height:1.2;opacity:.9}
.zone .music{position:absolute;left:3cqw;bottom:min(3cqw,5cqh);background:rgba(0,0,0,.45);border-radius:99px;padding:.8cqw 1.8cqw;font-size:min(1.8cqw,3.6cqh);z-index:3}
.zone .dots{position:absolute;bottom:min(3cqw,5cqh);left:50%;transform:translateX(-50%);display:flex;gap:.8cqw;z-index:3}
.zone .dots i{width:1.2cqw;height:1.2cqw;border-radius:50%;background:rgba(255,255,255,.4)}
.zone .dots i.on{background:#fff}
.panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:min(2cqw,3cqh);padding:6cqw;background:linear-gradient(160deg,#16303a,#1f4d55)}
.panel .big{font-size:min(22cqw,34cqh);font-weight:700;line-height:1}
.panel .mid{font-size:min(7cqw,10cqh);opacity:.9}
.panel .small{font-size:min(5cqw,7cqh);opacity:.75}
.panel .row2{display:flex;gap:6cqw;align-items:center}
.panel .row2 .mid{font-size:min(10cqw,14cqh)}
.panel .row2 .small{font-size:min(7cqw,10cqh)}
.cal{position:absolute;inset:0;background:#f6f1e7;color:#2a241d;padding:7cqw;display:flex;flex-direction:column;gap:min(3cqw,2.4cqh);overflow:hidden}
.cal h4{margin:0;font-family:var(--serif);font-size:min(8cqw,7cqh)}
.cal .d{font-size:min(4.2cqw,3.6cqh);color:#8a7f70;margin-top:-1cqh}
.cal .e{display:flex;gap:3cqw;font-size:min(4.8cqw,4.2cqh);border-top:1px solid #e1d8c9;padding-top:min(3cqw,2.4cqh)}
.cal .e b{min-width:24cqw;color:var(--accent);flex:none}
.news{position:absolute;inset:0;background:#101418;padding:7cqw;display:flex;flex-direction:column;gap:min(3cqw,3cqh);overflow:hidden}
.news h4{margin:0;font-size:min(6cqw,7cqh);color:var(--accent);letter-spacing:.05em}
.news div{font-size:min(5cqw,5.5cqh);border-top:1px solid #2a3036;padding-top:min(3cqw,3cqh)}
.emptyz{position:absolute;inset:0;background:#141414}
.tv .ticker{position:absolute;left:0;right:0;bottom:0;height:8.5%;background:rgba(10,12,14,.92);display:flex;align-items:center;overflow:hidden;z-index:4;container-type:size}
.tv .ticker .lab{background:var(--accent);height:100%;display:grid;place-items:center;padding:0 30cqh;font-weight:700;font-size:38cqh;flex:none;letter-spacing:.06em}
.tv .ticker .run{white-space:nowrap;font-size:40cqh;padding-left:100%;animation:vltick 40s linear infinite;animation-delay:-12s}
@keyframes vltick{to{transform:translateX(-100%)}}
