/* Medicated TV v3.41 — 📺 Mars TV Live (/live/<show>/ page · ?embed=1 Jumbotron player · /overlay/ for OBS).
 * Pairs with assets/v2zz-golive.js and inc/v2/zz-v341-golive.php.
 * ELI8: the video and the chat are ONE box (no gap, one border). On phones the chat sits under the video. Full screen
 * = the video fills the screen and the newest chat floats on the right with a box to type in. The red LIVE dot pulses
 * slowly (well under 3 flashes a second). */

:root {
  --gl-bg: #05030d;
  --gl-panel: #0b0719;
  --gl-line: rgba(176, 38, 255, .5);
  --gl-ink: #f4f2ff;
  --gl-dim: rgba(236, 231, 255, .68);
  --gl-gold: #ffd36a;
  --gl-pink: #ff5ad8;
  --gl-cyan: #7cf4ff;
  --gl-red: #ff3b5c;
  --gl-green: #34e07a;
  --gl-r: 18px;
}
html.mtvgl-noscroll, html.mtvgl-noscroll body { overflow: hidden; }
.mtvgl-body {
  margin: 0; min-height: 100vh; color: var(--gl-ink);
  font: 400 15px/1.45 Inter, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(176, 38, 255, .28), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(255, 90, 216, .14), transparent 60%),
    var(--gl-bg);
  -webkit-font-smoothing: antialiased;
}
.mtvgl-body *, .mtvgl-body *::before, .mtvgl-body *::after { box-sizing: border-box; }
.mtvgl-body a { color: inherit; }
.mtvgl-sp { flex: 1 1 auto; }

/* ------------------------------------------------------------ top bar */
.mtvgl-top { display: flex; align-items: center; gap: 12px; padding: 10px max(16px, env(safe-area-inset-left)) 10px max(16px, env(safe-area-inset-right)); border-bottom: 1px solid rgba(255, 255, 255, .08); background: rgba(5, 3, 13, .7); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 20; }
.mtvgl-brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; font: 400 22px/1 'Bebas Neue', Impact, sans-serif; letter-spacing: .04em; }
.mtvgl-brand img { border-radius: 50%; }
.mtvgl-brand em { font-style: normal; color: var(--gl-pink); }
.mtvgl-chip { font: 700 11px/1 Inter, sans-serif; letter-spacing: .14em; color: var(--gl-cyan); padding: 6px 10px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(124, 244, 255, .4); }
.mtvgl-home { margin-left: auto; font: 600 13px/1 Inter, sans-serif; text-decoration: none; padding: 9px 14px; border-radius: 999px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); white-space: nowrap; }
.mtvgl-home:hover, .mtvgl-home:focus-visible { background: rgba(255, 255, 255, .14); }

.mtvgl-main { max-width: 1440px; margin: 0 auto; padding: 18px max(16px, env(safe-area-inset-left)) 40px max(16px, env(safe-area-inset-right)); }

/* ------------------------------------------------------------ the merged box: video 7 · chat 3, zero gap, one border */
.mtvgl {
  position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); gap: 0;
  border: 1px solid var(--gl-line); border-radius: var(--gl-r); overflow: hidden; background: var(--gl-panel);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .03) inset;
}
.mtvgl.is-chat-off { grid-template-columns: minmax(0, 1fr); }
.mtvgl.is-chat-off .mtvgl-chat { display: none; }

.mtvgl-vid { position: relative; aspect-ratio: 16 / 9; background: #000; overflow: hidden; min-width: 0; }
.mtvgl-player, .mtvgl-frame, .mtvgl-video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.mtvgl-video { object-fit: contain; background: #000; }

/* the countdown poster */
.mtvgl-poster {
  position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 56px 20px 40px;
  background: linear-gradient(180deg, rgba(5, 3, 13, .35), rgba(5, 3, 13, .82)), var(--poster, radial-gradient(circle at 50% 40%, #2a0f4a, #05030d 70%)) center / cover no-repeat;
}
.mtvgl.is-playing .mtvgl-poster { display: none; }
.mtvgl-poster b { font: 700 clamp(11px, 1.4vw, 14px)/1 Inter, sans-serif; letter-spacing: .3em; color: var(--gl-cyan); }
.mtvgl-cd { font: 400 clamp(46px, 9vw, 128px)/.95 'Bebas Neue', Impact, sans-serif; letter-spacing: .03em; color: #fff; text-shadow: 0 0 28px rgba(255, 90, 216, .55), 0 4px 0 rgba(0, 0, 0, .4); font-variant-numeric: tabular-nums; }
.mtvgl[data-state="countdown"] .mtvgl-cd { min-width: 4ch; }
.mtvgl-pt { font: 600 clamp(14px, 1.8vw, 20px)/1.25 Inter, sans-serif; color: var(--gl-gold); max-width: 32ch; text-wrap: balance; }
.mtvgl-bar { width: min(420px, 70%); height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .14); overflow: hidden; margin-top: 8px; }
.mtvgl-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--gl-pink), var(--gl-gold)); transform-origin: left center; transform: scaleX(0); transition: transform .9s linear; }
.mtvgl-pcta { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; padding: 8px 14px; border-radius: 999px; background: rgba(5, 3, 13, .66); box-shadow: inset 0 0 0 1px rgba(245, 197, 66, .4); font: 600 13px/1.3 Inter, sans-serif; }

/* the gate: age / login / subscribe / ticket */
.mtvgl-gate { position: absolute; inset: 0; z-index: 6; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(5, 3, 13, .78); backdrop-filter: blur(6px); }
.mtvgl-gate[hidden] { display: none; }
.mtvgl-gate__in { max-width: 380px; text-align: center; padding: 22px 22px 20px; border-radius: 16px; background: rgba(15, 9, 34, .92); box-shadow: inset 0 0 0 1px var(--gl-line), 0 18px 40px rgba(0, 0, 0, .5); }
.mtvgl-gate h3 { margin: 0 0 6px; font: 400 30px/1 'Bebas Neue', Impact, sans-serif; letter-spacing: .03em; }
.mtvgl-gate p { margin: 0 0 14px; color: var(--gl-dim); }

.mtvgl-unmute { position: absolute; z-index: 5; left: 50%; bottom: 58px; transform: translateX(-50%); appearance: none; border: 0; cursor: pointer; padding: 11px 18px; border-radius: 999px; background: rgba(5, 3, 13, .82); color: #fff; font: 700 14px/1 Inter, sans-serif; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3), 0 8px 22px rgba(0, 0, 0, .5); }
.mtvgl-unmute[hidden] { display: none; }

/* the strip over the top of the video */
.mtvgl-top2 { position: absolute; z-index: 4; top: 0; left: 0; right: 0; display: flex; align-items: center; gap: 10px; padding: 12px 14px 22px; background: linear-gradient(180deg, rgba(5, 3, 13, .78), transparent); pointer-events: none; }
.mtvgl-top2 > * { pointer-events: auto; }
.mtvgl-badge { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 999px; background: rgba(5, 3, 13, .7); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22); font: 800 11px/1 Inter, sans-serif; letter-spacing: .16em; }
.mtvgl-badge i { width: 8px; height: 8px; border-radius: 50%; background: var(--gl-gold); }
.mtvgl[data-state="live"] .mtvgl-badge { background: var(--gl-red); box-shadow: 0 0 18px rgba(255, 59, 92, .55); }
.mtvgl[data-state="live"] .mtvgl-badge i { background: #fff; animation: mtvgl-pulse 1.6s ease-in-out infinite; }
.mtvgl[data-state="ended"] .mtvgl-badge i { background: rgba(255, 255, 255, .5); }
@keyframes mtvgl-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.mtvgl-st { min-width: 0; font: 700 14px/1.2 Inter, sans-serif; text-shadow: 0 1px 3px rgba(0, 0, 0, .7); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mtvgl-st small { display: inline; margin-left: 8px; font-weight: 500; color: var(--gl-dim); }
.mtvgl-otog { margin-left: auto; appearance: none; border: 0; cursor: pointer; padding: 7px 12px; border-radius: 999px; background: rgba(5, 3, 13, .7); color: #fff; font: 700 12px/1 Inter, sans-serif; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); }
.mtvgl-otog[hidden] { display: none; }

/* the control bar */
.mtvgl-ctrl { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 6px; padding: 18px 10px 10px; background: linear-gradient(0deg, rgba(5, 3, 13, .8), transparent); opacity: 0; transition: opacity .25s; }
.mtvgl-vid:hover .mtvgl-ctrl, .mtvgl-vid:focus-within .mtvgl-ctrl, .mtvgl:not(.is-playing) .mtvgl-ctrl { opacity: 1; }
@media (hover: none) { .mtvgl-ctrl { opacity: 1; } }
.mtvgl-ctrl button { appearance: none; border: 0; cursor: pointer; width: 40px; height: 40px; border-radius: 12px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 18px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.mtvgl-ctrl button:hover, .mtvgl-ctrl button:focus-visible { background: rgba(255, 255, 255, .22); outline: none; }
.mtvgl-tag { font: 700 11px/1 Inter, sans-serif; letter-spacing: .14em; color: var(--gl-dim); padding-left: 4px; }

/* the overlay chat — only in full screen: newest 4 messages on the right + a box to type in */
.mtvgl-ocol { display: none; }
.mtvgl.is-fs .mtvgl-ocol {
  position: absolute; z-index: 4; right: 0; top: 64px; bottom: calc(66px + var(--mtvgl-kb, 0px)); width: min(360px, 38%);
  display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; padding: 0 14px;
  pointer-events: none;
}
.mtvgl.is-fs.is-ochat-off .mtvgl-ocol { display: none; }
.mtvgl-ostream { display: flex; flex-direction: column; gap: 6px; }
.mtvgl-ostream .mtvgl-m { padding: 7px 10px; border-radius: 12px; background: rgba(5, 3, 13, .55); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); text-shadow: 0 1px 2px rgba(0, 0, 0, .8); font-size: 14px; animation: mtvgl-in .3s ease-out; }
@keyframes mtvgl-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.mtvgl-oin { display: flex; gap: 6px; pointer-events: auto; }
.mtvgl-oin input { flex: 1 1 auto; min-width: 0; height: 40px; border-radius: 999px; border: 0; padding: 0 14px; background: rgba(5, 3, 13, .72); color: #fff; font: 400 16px/1 Inter, sans-serif; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); }
.mtvgl-oin button, .mtvgl-cin button { flex: 0 0 auto; appearance: none; border: 0; cursor: pointer; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--gl-pink), #b026ff); color: #fff; font-size: 16px; }

/* full screen (the real one) and the cinema fallback (iPhone / when full screen is refused) */
.mtvgl-vid:fullscreen { aspect-ratio: auto; width: 100%; height: 100%; }
.mtvgl-vid:-webkit-full-screen { aspect-ratio: auto; width: 100%; height: 100%; }
.mtvgl.is-cinema .mtvgl-vid { position: fixed; z-index: 2147483000; inset: 0; width: 100vw; height: var(--mtvgl-vh, 100vh); height: var(--mtvgl-vh, 100dvh); aspect-ratio: auto; }
.mtvgl.is-fs .mtvgl-top2 { padding-top: max(12px, env(safe-area-inset-top)); padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); }
.mtvgl.is-fs .mtvgl-ctrl { padding-bottom: max(10px, env(safe-area-inset-bottom)); padding-left: max(10px, env(safe-area-inset-left)); padding-right: max(10px, env(safe-area-inset-right)); }
.mtvgl.is-fs .mtvgl-ocol { padding-right: max(14px, env(safe-area-inset-right)); }

/* ------------------------------------------------------------ the chat side */
.mtvgl-chat { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; contain: size; border-left: 1px solid rgba(176, 38, 255, .28); background: linear-gradient(180deg, rgba(20, 10, 44, .9), rgba(9, 5, 22, .96)); }
.mtvgl-chead { display: flex; align-items: center; gap: 8px; padding: 12px 12px 10px 16px; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.mtvgl-chead b { font: 800 12px/1 Inter, sans-serif; letter-spacing: .2em; color: var(--gl-cyan); }
.mtvgl-chead button { appearance: none; border: 0; cursor: pointer; width: 32px; height: 32px; border-radius: 10px; background: rgba(255, 255, 255, .07); color: var(--gl-dim); font-size: 16px; }
.mtvgl-msgs { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 10px 14px; display: flex; flex-direction: column; gap: 6px; scrollbar-width: thin; scrollbar-color: rgba(176, 38, 255, .5) transparent; }
.mtvgl-msgs > :first-child { margin-top: auto; }
.mtvgl-m { position: relative; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; color: rgba(244, 242, 255, .94); }
.mtvgl-m b { color: var(--gl-gold); font-weight: 700; }
.mtvgl-m.is-host b { color: var(--gl-pink); }
.mtvgl-m.is-tipper { padding: 5px 8px; margin: 0 -8px; border-radius: 10px; background: linear-gradient(90deg, rgba(245, 197, 66, .18), transparent); }
.mtvgl-bdg { display: inline-block; margin-right: 5px; padding: 2px 5px; border-radius: 5px; font: 800 9.5px/1.2 Inter, sans-serif; letter-spacing: .08em; font-style: normal; vertical-align: 1px; background: rgba(255, 255, 255, .12); }
.mtvgl-bdg--host { background: var(--gl-pink); color: #1a0016; }
.mtvgl-bdg--mod { background: var(--gl-cyan); color: #00202a; }
.mtvgl-bdg--tip { background: var(--gl-gold); color: #2a1a00; }
.mtvgl-bdg--sub { background: rgba(176, 38, 255, .5); color: #fff; }
.mtvgl-mod { display: none; position: absolute; right: 0; top: -2px; gap: 4px; }
.mtvgl-m:hover .mtvgl-mod, .mtvgl-m:focus-within .mtvgl-mod { display: inline-flex; }
@media (hover: none) { .mtvgl-mod { display: inline-flex; position: static; margin-left: 6px; } }
.mtvgl-mod button { appearance: none; border: 0; cursor: pointer; width: 26px; height: 24px; border-radius: 7px; background: rgba(255, 59, 92, .25); color: #fff; font-size: 12px; }
.mtvgl-quiet { margin: auto 0 0; color: var(--gl-dim); font-size: 13px; }
.mtvgl-newpill { position: absolute; z-index: 3; left: 50%; bottom: 66px; transform: translateX(-50%); appearance: none; border: 0; cursor: pointer; padding: 7px 14px; border-radius: 999px; background: var(--gl-gold); color: #241600; font: 700 12px/1 Inter, sans-serif; box-shadow: 0 6px 18px rgba(0, 0, 0, .45); white-space: nowrap; }
.mtvgl-newpill[hidden] { display: none; }
.mtvgl-cin { display: flex; gap: 8px; padding: 10px 12px calc(10px + var(--mtvgl-kb, 0px) * 0); border-top: 1px solid rgba(255, 255, 255, .07); }
.mtvgl-cin input { flex: 1 1 auto; min-width: 0; height: 40px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(5, 3, 13, .6); color: #fff; padding: 0 14px; font: 400 16px/1 Inter, sans-serif; }
.mtvgl-cin input:focus, .mtvgl-oin input:focus { outline: 2px solid rgba(255, 211, 106, .75); outline-offset: 1px; }
.mtvgl-cin--out { justify-content: center; }

/* ------------------------------------------------------------ under the box */
.mtvgl-info { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 18px 2px 0; }
.mtvgl-info h1 { margin: 0; font: 400 clamp(30px, 4vw, 44px)/1 'Bebas Neue', Impact, sans-serif; letter-spacing: .02em; text-wrap: balance; }
.mtvgl-info p { margin: 4px 0 0; color: var(--gl-dim); }
.mtvgl-share { display: flex; flex-wrap: wrap; gap: 6px; }
.mtvgl-share button, .mtvgl-share a { appearance: none; border: 0; cursor: pointer; padding: 9px 13px; border-radius: 999px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); color: #fff; font: 600 13px/1 Inter, sans-serif; text-decoration: none; }
.mtvgl-share button:hover, .mtvgl-share a:hover { background: rgba(255, 255, 255, .14); }
.mtvgl-18 { margin: 16px 2px 0; font-size: 12.5px; color: var(--gl-dim); }
.mtvgl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; appearance: none; border: 0; cursor: pointer; padding: 11px 18px; border-radius: 999px; background: linear-gradient(135deg, var(--gl-pink), #b026ff); color: #fff !important; font: 700 14px/1 Inter, sans-serif; text-decoration: none; box-shadow: 0 8px 22px rgba(176, 38, 255, .35); }
.mtvgl-btn:hover, .mtvgl-btn:focus-visible { filter: brightness(1.1); outline: none; }
.mtvgl-btn--ghost { background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); }
.mtvgl-btn--sm { padding: 7px 12px; font-size: 12.5px; }
.mtvgl-btn--tip { background: linear-gradient(135deg, #ffd36a, #ff9d3d); color: #2a1600 !important; box-shadow: 0 8px 22px rgba(255, 157, 61, .3); }
.mtvgl-btn[disabled] { opacity: .6; cursor: default; }
.mtvgl-say { position: absolute; z-index: 9; left: 50%; bottom: 16px; transform: translateX(-50%); max-width: calc(100% - 32px); padding: 10px 14px; border-radius: 12px; background: rgba(5, 3, 13, .92); box-shadow: inset 0 0 0 1px rgba(255, 211, 106, .5); font: 600 13px/1.35 Inter, sans-serif; text-align: center; }
.mtvgl-say[hidden] { display: none; }
.mtvgl-empty { max-width: 560px; margin: 10vh auto; text-align: center; }
.mtvgl-empty h1 { font: 400 46px/1 'Bebas Neue', Impact, sans-serif; margin: 0 0 8px; }
.mtvgl-empty p { color: var(--gl-dim); }

/* ------------------------------------------------------------ tablets and phones: chat under the video */
@media (max-width: 900px) {
  .mtvgl, .mtvgl.is-chat-off { grid-template-columns: minmax(0, 1fr); }
  .mtvgl.is-chat-off .mtvgl-chat { display: flex; }
  .mtvgl-chat { border-left: 0; border-top: 1px solid rgba(176, 38, 255, .28); height: min(52vh, 460px); height: min(52dvh, 460px); min-height: 280px; }
  .mtvgl-chead button[data-act="collapse"] { display: none; }
  .mtvgl-ctrl button[data-act="chat"] { display: none; }
  .mtvgl-main { padding-top: 10px; }
  .mtvgl-top { gap: 8px; }
  .mtvgl-chip { display: none; }
}
@media (max-width: 560px) {
  .mtvgl-main { padding-left: 0; padding-right: 0; }
  .mtvgl { border-radius: 0; border-left: 0; border-right: 0; }
  .mtvgl-info, .mtvgl-18 { margin-left: 16px; margin-right: 16px; }
  .mtvgl-brand span { font-size: 20px; }
  .mtvgl-home { padding: 8px 11px; font-size: 12px; }
  .mtvgl-st small { display: none; }
  .mtvgl.is-fs .mtvgl-ocol { width: 52%; }
  .mtvgl-poster { padding-top: 48px; }
}
/* sideways phones in cinema: smaller chat bubbles */
@media (orientation: landscape) and (max-height: 520px) {
  .mtvgl.is-fs .mtvgl-ocol { top: 52px; bottom: calc(58px + var(--mtvgl-kb, 0px)); width: min(320px, 42%); }
  .mtvgl-ostream .mtvgl-m { font-size: 13px; padding: 5px 9px; }
}

/* ------------------------------------------------------------ ?embed=1 — the player inside the Mars TV Jumbotron */
.mtvgl-body--embed { background: #000; min-height: 0; height: 100%; }
html:has(.mtvgl-body--embed) { height: 100%; }
.mtvgl-body--embed .mtvgl-main { padding: 0; max-width: none; height: 100%; }
.mtvgl-body--embed .mtvgl { grid-template-columns: minmax(0, 1fr); border: 0; border-radius: 0; height: 100%; box-shadow: none; }
.mtvgl-body--embed .mtvgl-vid { aspect-ratio: auto; height: 100vh; }

/* ------------------------------------------------------------ /overlay/ — OBS Browser Source (transparent) */
.mtvgl-ovlbody { margin: 0; background: transparent; overflow: hidden; color: #fff; font: 600 var(--ovl-fs, 26px)/1.3 Inter, system-ui, sans-serif; }
.mtvgl-ovl { position: fixed; inset: 0; padding: 24px; }
.mtvgl-ovl__chat { position: absolute; left: 24px; bottom: 24px; width: min(720px, 46vw); display: flex; flex-direction: column; gap: 8px; }
.mtvgl-ovl__m { padding: .35em .6em; border-radius: .5em; background: rgba(5, 3, 13, var(--ovl-a, .6)); text-shadow: 0 2px 4px rgba(0, 0, 0, .9); overflow-wrap: anywhere; transition: opacity 1.2s; animation: mtvgl-in .35s ease-out; }
.mtvgl-ovl__m b { color: #ffd36a; }
.mtvgl-ovl__m.is-tipper { box-shadow: inset 0 0 0 2px rgba(255, 211, 106, .8); }
.mtvgl-ovl__m.is-old { opacity: 0; }
.mtvgl-ovl__m .mtvgl-bdg { font-size: .45em; }
.mtvgl-ovl__cd { position: absolute; right: 24px; top: 24px; min-width: 240px; padding: 14px 20px 16px; border-radius: 16px; background: rgba(5, 3, 13, var(--ovl-a, .6)); text-align: center; }
.mtvgl-ovl__cd[hidden] { display: none; }
.mtvgl-ovl__cd b { display: block; font-size: .5em; letter-spacing: .3em; color: #7cf4ff; }
.mtvgl-ovl__cd span { display: block; font: 400 2.6em/1 'Bebas Neue', Impact, sans-serif; font-variant-numeric: tabular-nums; }
.mtvgl-ovl__cd i { display: block; height: 4px; margin-top: 8px; border-radius: 4px; background: linear-gradient(90deg, #ff5ad8, #ffd36a); transform-origin: left center; transform: scaleX(0); transition: transform .9s linear; }

@media (prefers-reduced-motion: reduce) {
  .mtvgl[data-state="live"] .mtvgl-badge i, .mtvgl-ostream .mtvgl-m, .mtvgl-ovl__m { animation: none; }
  .mtvgl-bar i, .mtvgl-ovl__cd i { transition: none; }
}

/* "Thanks to tonight's supporters" */
.mtvgl-thanks { margin: 14px 2px 0; padding: 10px 14px; border-radius: 14px; background: linear-gradient(90deg, rgba(255, 211, 106, .14), rgba(255, 157, 61, .04)); box-shadow: inset 0 0 0 1px rgba(255, 211, 106, .35); font-size: 14px; color: #fff6da; }
.mtvgl-thanks[hidden] { display: none; }
.mtvgl-thanks span { color: #ffd36a; font-weight: 700; }
@media (max-width: 560px) { .mtvgl-thanks { margin-left: 16px; margin-right: 16px; } }

/* ============================================================ v3.61 — Irish 12 Oct: "I don't like the chat box on the side … like
 * Instagram … two or three lines beneath the box … full screen: see-through, down the bottom". One column everywhere:
 * the video, the ticket bar, then about three lines of chat that scroll, then the typing box. */
.mtvgl-main { --gl-w: max(560px, min(1120px, calc((100vh - 250px) * 16 / 9))); }
@supports (height: 100svh) { .mtvgl-main { --gl-w: max(560px, min(1120px, calc((100svh - 250px) * 16 / 9))); } }
.mtvgl, .mtvgl-info, .mtvgl-thanks, .mtvgl-18 { max-width: var(--gl-w); margin-left: auto; margin-right: auto; }
.mtvgl, .mtvgl.is-chat-off { grid-template-columns: minmax(0, 1fr); }
.mtvgl-chat { contain: none; height: auto; min-height: 0; border-left: 0; border-top: 1px solid rgba(176, 38, 255, .28); background: linear-gradient(180deg, rgba(14, 8, 32, .96), rgba(9, 5, 22, .98)); }
.mtvgl-chead { display: none; }
.mtvgl-msgs { flex: 0 0 auto; height: 92px; padding: 8px 14px 4px; gap: 4px; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 24px); mask-image: linear-gradient(to bottom, transparent 0, #000 24px); }
.mtvgl-m { line-height: 1.35; }
.mtvgl-newpill { top: 6px; bottom: auto; left: auto; right: 12px; transform: none; padding: 5px 11px; }
.mtvgl-cin { padding: 6px 10px 10px; border-top: 0; }
.mtvgl-cin input { height: 38px; }
.mtvgl-cin--out { justify-content: flex-start; padding-left: 14px; }
@media (max-width: 560px) {
  .mtvgl-info, .mtvgl-18, .mtvgl-thanks { margin-left: 16px; margin-right: 16px; }
  .mtvgl-msgs { height: 84px; }
}

/* the ticket bar (assets/v2zz-golive.js ctaHtml) */
.mtvgl-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 14px; border-top: 1px solid rgba(245, 197, 66, .3); background: linear-gradient(90deg, rgba(245, 197, 66, .12), rgba(176, 38, 255, .08)); font: 600 14px/1.35 Inter, sans-serif; }
.mtvgl-buy__p { min-width: 0; }
.mtvgl-buy__p b { color: var(--gl-gold); font-size: 16px; font-variant-numeric: tabular-nums; }
.mtvgl-buy__p s { margin-left: 4px; color: var(--gl-dim); font-weight: 500; }
.mtvgl-buy__b { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.mtvgl-buy .mtvgl-fine { flex: 1 1 100%; }
.mtvgl-fine { margin: 0; font: 400 12px/1.45 Inter, sans-serif; color: var(--gl-dim); }
.mtvgl-fine a { color: var(--gl-cyan); }
.mtvgl-btn--gold { background: linear-gradient(135deg, #ffd36a, #ff9d3d); color: #2a1600 !important; box-shadow: 0 8px 22px rgba(255, 157, 61, .3); }
@media (max-width: 560px) {
  .mtvgl-buy__b { margin-left: 0; width: 100%; }
  .mtvgl-buy__b .mtvgl-btn { flex: 1 1 auto; }
}

/* full screen: the newest three messages, see-through, bottom left, with the typing box under them */
.mtvgl.is-fs .mtvgl-ocol { left: 0; right: auto; top: auto; bottom: calc(62px + var(--mtvgl-kb, 0px)); width: min(460px, 64%); padding-left: max(14px, env(safe-area-inset-left)); padding-right: 0; }
.mtvgl-ostream { gap: 4px; align-items: flex-start; }
.mtvgl-ostream .mtvgl-m { max-width: 100%; padding: 4px 10px; background: rgba(5, 3, 13, .32); box-shadow: none; }
.mtvgl-oin input { background: rgba(5, 3, 13, .42); }
@media (orientation: landscape) and (max-height: 520px) {
  .mtvgl.is-fs .mtvgl-ocol { top: auto; bottom: calc(56px + var(--mtvgl-kb, 0px)); width: min(380px, 50%); }
}

/* sign in / join, in a box on this page */
.mtvgl-sheet { position: fixed; inset: 0; z-index: 2147483100; display: flex; align-items: center; justify-content: center; padding: 16px; color: var(--gl-ink); font: 400 15px/1.45 Inter, system-ui, sans-serif; }
.mtvgl-sheet[hidden] { display: none; }
.mtvgl-sheet__bg { position: absolute; inset: 0; background: rgba(5, 3, 13, .78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mtvgl-sheet__card { position: relative; width: min(420px, 100%); max-height: 100%; overflow: auto; overscroll-behavior: contain; padding: 22px 18px 18px; border-radius: 20px; background: linear-gradient(180deg, #160c33, #0a0618); box-shadow: inset 0 0 0 1px var(--gl-line), 0 30px 80px rgba(0, 0, 0, .6); }
.mtvgl-sheet__x { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; font-size: 16px; cursor: pointer; }
.mtvgl-sheet h2 { margin: 0 46px 4px 0; font: 400 30px/1 'Bebas Neue', Impact, sans-serif; letter-spacing: .03em; }
.mtvgl-sheet h2:focus { outline: none; }
.mtvgl-sheet__sub { margin: 0 0 14px; color: var(--gl-dim); font-size: 13.5px; }
.mtvgl-sheet__age, .mtvgl-sheet__main { display: grid; gap: 12px; }
.mtvgl-sheet__age p { margin: 0; }
.mtvgl-sheet__age[hidden], .mtvgl-sheet__main[hidden] { display: none; }
.mtvgl-sheet__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, .06); }
.mtvgl-sheet__tabs button { appearance: none; border: 0; cursor: pointer; padding: 10px; border-radius: 999px; background: transparent; color: var(--gl-dim); font: 700 13.5px/1 Inter, sans-serif; }
.mtvgl-sheet__tabs button.is-on { background: rgba(255, 255, 255, .14); color: #fff; }
.mtvgl-sheet__f { display: grid; gap: 10px; }
.mtvgl-sheet__f[hidden] { display: none; }
.mtvgl-sheet__f label { display: grid; gap: 5px; font: 600 13px/1.3 Inter, sans-serif; }
.mtvgl-sheet__f input:not([type="checkbox"]) { height: 44px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .18); background: rgba(5, 3, 13, .6); color: #fff; padding: 0 12px; font: 400 16px/1 Inter, sans-serif; }
.mtvgl-sheet__f input:focus, .mtvgl-sheet__tabs button:focus-visible, .mtvgl-sheet__x:focus-visible { outline: 2px solid rgba(255, 211, 106, .8); outline-offset: 1px; }
.mtvgl-sheet__f .mtvgl-chk { display: flex; align-items: flex-start; gap: 8px; font-weight: 500; }
.mtvgl-chk input { width: 18px; height: 18px; margin: 1px 0 0; flex: 0 0 auto; accent-color: #ff5ad8; }
.mtvgl-chk a, .mtvgl-sheet .mtvgl-fine a { color: var(--gl-cyan); }
.mtvgl-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0; }
.mtvgl-sheet__err { margin: 0; padding: 9px 12px; border-radius: 10px; background: rgba(255, 59, 92, .16); color: #ffb3bf; font-weight: 600; font-size: 13.5px; }
.mtvgl-sheet__err[hidden] { display: none; }
.mtvgl-sheet .mtvgl-btn { width: 100%; }
@media (max-width: 560px) {
  .mtvgl-sheet { align-items: flex-end; padding: 0; }
  .mtvgl-sheet__card { width: 100%; max-height: 94vh; max-height: 94dvh; border-radius: 20px 20px 0 0; padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
}
/* the little "said" note sits over the top of the video now (the chat box is at the bottom of the box) */
.mtvgl-say { top: 56px; bottom: auto; }

/* v3.62: "Something went wrong with the show?" (after the show, while complaints / refund requests are open) */
.mtvgl-report { max-width: var(--gl-w, 1120px); margin: 16px auto 0; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mtvgl-report summary { cursor: pointer; font-weight: 700; }
.mtvgl-rform { display: grid; gap: 10px; margin-top: 10px; }
.mtvgl-rk { display: grid; gap: 6px; }
.mtvgl-rk label { display: flex; gap: 8px; align-items: center; }
.mtvgl-rf { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.mtvgl-rf textarea { min-height: 70px; padding: 10px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .18); background: rgba(5, 3, 13, .6); color: #fff; font: 400 16px/1.4 Inter, sans-serif; }
.mtvgl-rmsg { margin: 0; color: #ffb3bf; font-weight: 600; }
.mtvgl-rok { margin: 8px 0 0; color: #b9ffd6; font-weight: 700; }
@media (max-width: 560px) { .mtvgl-report { margin-left: 16px; margin-right: 16px; } }
/* v3.89: a message from the cockpit, across the top of the player */
.mtvgl-notice { position: absolute; left: 50%; top: 54px; transform: translateX(-50%); z-index: 7; width: max-content; max-width: calc(100% - 24px); padding: 8px 14px; border-radius: 12px; background: rgba(12, 8, 30, .9); border: 1px solid rgba(255, 210, 90, .7); color: #fff; font: 600 14px/1.35 Inter, sans-serif; text-align: center; pointer-events: none; }
.mtvgl-notice[hidden] { display: none; }
