*{box-sizing:border-box}body{margin:0;background:#101c18;color:#f8fbfa;font:15px system-ui}main{max-width:1200px;margin:auto;padding:12px}header{display:flex;align-items:center;gap:12px;min-height:28px;margin-bottom:10px}header img{max-height:42px;max-width:160px;object-fit:contain}header span{margin-left:auto;font-size:12px;opacity:.65}video{display:block;width:100%;max-height:75vh;background:#000}audio{width:100%;margin:32px 0}h1{font-size:20px;margin-bottom:6px}p{white-space:pre-wrap;opacity:.8}label{display:inline-flex;align-items:center;gap:6px;font-size:13px;margin:8px 12px 8px 0}select,button{font:inherit;border:1px solid #49665c;background:#203a30;color:white;padding:8px;border-radius:6px}nav{display:grid;gap:6px;margin-top:12px}nav button{text-align:left;cursor:pointer}nav button[aria-current=true]{border-color:var(--accent);background:var(--accent)}video,audio,input{accent-color:var(--accent)}

[hidden]{display:none!important}

#stage{position:relative;min-height:180px}#stage:has(.ticketgate-overlay){min-height:380px}.ticketgate-overlay{position:absolute;inset:0;z-index:2;overflow:auto;background:rgba(10,24,18,.97)!important;backdrop-filter:blur(8px)}.ticketgate:focus{outline:2px solid var(--accent);outline-offset:-2px}

.ticketgate{padding:32px;background:#192c25;border:1px solid #49665c;border-radius:16px;min-height:280px}.ticketgate button,#offers button{display:block;margin:12px 0;width:100%;cursor:pointer}.ticketgate input,#ticket-code{width:100%;padding:12px;font:inherit}button:disabled{opacity:.5;cursor:not-allowed}#checkout{background:white;border-radius:12px}
body.layout-cinema{background:#050907}body.layout-cinema main{max-width:1600px}body.layout-cinema video{max-height:85vh}body.layout-compact main{max-width:680px}body.layout-compact video{max-height:55vh}body.layout-compact h1{font-size:17px}

/* Embed presentation never changes source authorization or ticket protection. */
.view-player main {max-width:none;margin:0;padding:0;position:relative}
.view-player #title,.view-player #description,.view-player main>label,.view-player #list,.view-player main>small {display:none}
.view-player #stage {margin:0;background:#000}
.view-player #stage video,.view-player #stage audio {max-height:100vh}
.view-playlist #description {display:none}

#player-chat{padding:18px;border-top:1px solid #ccc;background:#fff;color:#1b3029;margin-top:16px}
#player-chat[hidden]{display:none}#chat-messages{max-height:260px;overflow:auto;overflow-wrap:anywhere}#player-chat form{display:grid;gap:10px}#player-chat input,#player-chat textarea{display:block;box-sizing:border-box;width:100%;padding:10px}#player-chat button{padding:10px}

.view-player header{position:absolute;top:12px;left:12px;right:12px;z-index:1;pointer-events:none;text-shadow:0 1px 4px #000}.view-player header img{max-height:32px}

#player-chat form label{display:block;margin:0}#player-chat form input,#player-chat form textarea{margin-top:6px}

/* Gallery is an optional player presentation; permissions and playback are unchanged. */
.layout-gallery{background:#101b20}
.layout-gallery main{max-width:1250px}
.layout-gallery #stage{border-radius:13px;overflow:hidden}
.layout-gallery #list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;padding-top:14px}
.layout-gallery #list button{min-height:82px;padding:14px;text-align:left;border:1px solid #39515a;border-radius:12px;background:linear-gradient(145deg,#1d343c,#14242b);line-height:1.45}
.layout-gallery #list button:hover{border-color:#7db7aa;background:#284349}
.layout-gallery #list button[aria-current=true]{border:2px solid var(--accent);background:#204c40}
@media(max-width:600px){.layout-gallery #list{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-gallery #list button{min-height:70px;font-size:12px;padding:10px}}


/* Modular player compositions. One protected player; layout never relaxes ticket rules. */
.player-layout{min-width:0}
.player-side{min-width:0}
.layout-sidecar main{max-width:1500px;padding:16px}
.layout-sidecar .player-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(275px,1fr);gap:18px;align-items:start}
.layout-sidecar #stage{min-height:0;background:#000;border-radius:12px;overflow:hidden}
.layout-sidecar .player-side{min-height:0;max-height:min(82vh,900px);overflow:auto;overscroll-behavior:contain;padding:4px 8px}
.layout-sidecar .player-side h1{margin:0 0 10px;line-height:1.25}
.layout-sidecar #description{overflow-wrap:anywhere}
.layout-sidecar #list{margin-top:12px}
.layout-sidecar #list button{min-height:46px}
.layout-sidecar #player-chat{border-radius:12px;padding:14px;margin-top:14px}
.layout-sidecar #chat-messages{max-height:220px}
.layout-sidecar #stage video{max-height:78vh;aspect-ratio:16/9;object-fit:contain}
.view-player .player-layout{display:block}
.view-player .player-side{display:none!important}
@media(max-width:800px){
 .layout-sidecar .player-layout{grid-template-columns:minmax(0,1fr)}
 .layout-sidecar main{padding:8px}
 .layout-sidecar .player-side{max-height:none;overflow:visible;padding:12px}
 .layout-sidecar #stage video{max-height:60vh}
}


/* Player + chat intentionally shows the chat panel even in player-only mode. */
.view-player.chat-enabled .player-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:12px;align-items:start}
.view-player.chat-enabled .player-side{display:block!important;max-height:82vh;overflow:auto}
.view-player.chat-enabled #player-chat{margin:0;border-radius:12px;padding:13px}
.view-player.chat-enabled #stage{min-width:0}
.view-player.chat-enabled header{position:relative;top:auto;left:auto;right:auto;pointer-events:auto}
@media(max-width:800px){
 .view-player.chat-enabled .player-layout{grid-template-columns:minmax(0,1fr)}
 .view-player.chat-enabled .player-side{max-height:none;overflow:visible}
}

/* Live audience room – readable on TV, laptop and tablet. */
#player-chat{border:1px solid #aab9ac;border-radius:14px;box-shadow:0 5px 22px #0002}
#player-chat .chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
#player-chat .chat-head h2{margin:0 0 4px;font-size:18px}
#player-chat .chat-head small{color:#436451;font-weight:600}
#player-chat .chat-dot{width:9px;height:9px;border-radius:50%;background:#10a455;box-shadow:0 0 0 4px #10a45522;flex-shrink:0}
#player-chat .chat-guidance{font-size:12px;line-height:1.5;opacity:.8}
#chat-messages{height:250px;max-height:40vh;padding:10px;background:#f2f6f2;border-radius:10px;border:1px solid #d8e4d9;margin:10px 0 13px;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
#chat-messages p{margin:4px 0 8px;white-space:pre-wrap;font-size:13px;line-height:1.4}
#chat-messages strong{color:#174c31}
#chat-form label{display:grid;gap:4px;font-weight:650;color:#163b29}
#chat-form input,#chat-form textarea{background:#fff;color:#17291c;border:1px solid #acc3b1;border-radius:7px;font:inherit;font-size:16px}
#chat-form button{min-height:44px;border:0;background:#176b54;color:white;font-weight:750;cursor:pointer}
#chat-status{font-size:12px;line-height:1.4}
.chat-standalone{background:transparent;color:#173b2b}
.chat-standalone main{padding:0;width:100%;max-width:none}
.chat-standalone #player-chat{margin:0}
.chat-standalone main>p{text-align:center;font-size:12px;margin:6px}
.view-player .player-side>label,.view-player .player-side>small{display:none}

/* Full venue wordmark for larger players; matching compact logo for narrow embeds. */
header img.brand-small-icon{display:none;max-height:33px;max-width:33px;object-fit:contain}
header img.brand-full-logo{max-width:min(38vw,180px);max-height:44px;object-fit:contain}
@media(max-width:460px){
 header img.brand-full-logo:has(+.brand-small-icon){display:none}
 header img.brand-small-icon{display:block}
 header strong{font-size:13px;overflow:hidden;text-overflow:ellipsis}
}

#extras .tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}#extras .tags span{background:rgba(255,255,255,.1);border-radius:999px;padding:2px 10px;font-size:13px}#extras .download{margin:6px 0}
.live-badge{background:#c62828;color:#fff;border-radius:4px;padding:2px 8px;font-weight:700;font-size:12px;margin-left:8px}.live-offline{text-align:center;padding:48px 16px}.live-note{font-size:13px;opacity:.8}
body.channel-compact main{padding:6px}body.channel-compact #title,body.channel-compact #description,body.channel-compact h2,body.channel-compact ol,body.channel-compact small,body.channel-compact #join{display:none}body.channel-compact header{margin-bottom:6px}body.channel-compact #stage video{width:100%;max-height:calc(100vh - 70px)}
#stage video{aspect-ratio:16/9;height:auto;object-fit:contain;background:#000}
body.channel-compact{overflow:hidden}
/* Player-only view (old SVP embed boxes, tight embeds): fill the frame, no page chrome below. */
body.view-player{background:#000}
.view-player #stage video{width:100%;height:100vh;max-height:100vh;object-fit:contain;background:#000}
.view-player #extras,.view-player .sl-share,.view-player .sl-comments,.view-player .sl-transcript,.view-player .sl-fields,.view-player .sl-short{display:none}

/* Opt-in framing shared by every existing embed layout. */
body.theme-neon{background:radial-gradient(ellipse at top,#38204c,#100c20 62%);color:#fcf4ff}
body.theme-neon #stage{border:1px solid #9d65c5;border-radius:14px;box-shadow:0 0 26px #bc55ed40;overflow:hidden}
body.theme-marquee{background:radial-gradient(ellipse at top,#332718,#100d09 65%);color:#fff1d6}
body.theme-marquee #stage{border:2px solid #c99b56;border-radius:10px;box-shadow:0 0 0 4px #44341f;overflow:hidden}
body.theme-studio{background:#eaf1f4;color:#142e39}
body.theme-studio #stage{border:1px solid #adc4cd;border-radius:14px;box-shadow:0 12px 30px #25425428;overflow:hidden}
body.theme-studio #description{color:#304955}
body.theme-studio .player-side h1{color:#142e39}
