@charset "UTF-8";
/* Shared styles. Cascade-sensitive component refinements retain their precedence. */

/* Theme and shared controls. */
/* Shared theme and controls; later component and responsive rules retain cascade order. */

:root { color-scheme: dark; --bg: #101413; --surface: #191e1b; --border: #2b342e; --muted: #9ba79e; --text: #f2f5ef; --accent: #b0f17f; --sidebar: calc(310 * var(--ui-unit)); --header: calc(70 * var(--ui-unit)); --ui-unit: 1px; --viewport-height-unit: 1vh; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: calc(14 * var(--text-unit,var(--ui-unit))); }
button { font: inherit; -webkit-tap-highlight-color: transparent; cursor: pointer; }
input,select { font: inherit; }
a { -webkit-tap-highlight-color: transparent; color: inherit; text-decoration: none; }
button:disabled { opacity: .5; cursor: wait; }
:focus-visible { outline: calc(2 * var(--ui-unit)) solid var(--accent); outline-offset: calc(4 * var(--ui-unit)); }
.sr-only { position: absolute; width: var(--ui-unit); height: var(--ui-unit); margin: calc(-1 * var(--ui-unit)); padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Application shell and channel library. */
.app-header { height: var(--header); align-items: center; gap: calc(44 * var(--ui-unit)); padding: 0 calc(32 * var(--ui-unit)); border-bottom: var(--ui-unit) solid var(--border); }
.brand { display: flex; align-items: center; gap: calc(12 * var(--ui-unit)); font-size: calc(23 * var(--text-unit,var(--ui-unit))); font-weight: 750; letter-spacing: calc(-.8 * var(--text-unit,var(--ui-unit))); }
.brand-mark { width: calc(39 * var(--ui-unit)); height: calc(39 * var(--ui-unit)); border-radius: calc(12 * var(--ui-unit)); display: grid; place-items: center; color: #142510; background: var(--accent); font-size: calc(17 * var(--text-unit,var(--ui-unit))); padding-left: calc(3 * var(--ui-unit)); }
.brand small { display: block; color: var(--muted); font-size: calc(8 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(2.1 * var(--text-unit,var(--ui-unit))); margin-top: calc(4 * var(--ui-unit)); font-weight: 600; }
nav { display: flex; gap: calc(22 * var(--ui-unit)); align-self: stretch; }
.nav-link { border: 0; background: none; color: var(--muted); padding: 0; font-size: calc(13 * var(--text-unit,var(--ui-unit))); position: relative; }
.nav-link.active { color: var(--text); }
.nav-link.active::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: calc(2 * var(--ui-unit)); background: var(--accent); }
.account-tools { margin-left: auto; display: flex; align-items: center; gap: calc(18 * var(--ui-unit)); }
.support-link { color: var(--muted); font-size: calc(12 * var(--text-unit,var(--ui-unit))); }
.user { font-size: calc(11 * var(--text-unit,var(--ui-unit))); color: var(--muted); font-variant-numeric: tabular-nums; }
.timer { font-size: calc(11 * var(--text-unit,var(--ui-unit))); color: var(--muted); font-variant-numeric: tabular-nums; padding: calc(8 * var(--ui-unit)) calc(10 * var(--ui-unit)); border-radius: calc(7 * var(--ui-unit)); }
.button { display: inline-flex; gap: calc(22 * var(--ui-unit)); justify-content: center; align-items: center; min-height: calc(47 * var(--ui-unit)); padding: calc(12 * var(--ui-unit)) calc(22 * var(--ui-unit)); border: var(--ui-unit) solid var(--accent); background: var(--accent); color: #182311; border-radius: calc(8 * var(--ui-unit)); font-weight: 650; font-size: calc(13 * var(--text-unit,var(--ui-unit))); transition: background .15s, transform .15s; }
.button:hover { background: #c6ffa0; transform: translateY(calc(-1 * var(--ui-unit))); }
.button-small { min-height: calc(37 * var(--ui-unit)); padding: calc(8 * var(--ui-unit)) calc(14 * var(--ui-unit)); font-size: calc(12 * var(--text-unit,var(--ui-unit))); }
.button-ghost { background: transparent; border-color: #55624d; color: var(--text); }
.button-ghost:hover { background: #ffffff0b; }
.text-button { background: none; border: 0; padding: 0; color: var(--muted); font-size: calc(12 * var(--text-unit,var(--ui-unit))); }
.icon-button { background: none; border: 0; padding: 0; color: var(--muted); font-size: calc(23 * var(--text-unit,var(--ui-unit))); }
.text-button:hover { color: var(--accent); }
.app-layout { display: grid; grid-template-columns: var(--sidebar) minmax(0,1fr); }
.library { display: flex; flex-direction: column; min-height: 0; border-right: var(--ui-unit) solid var(--border); background: #121714; }
.eyebrow { color: var(--muted); font-size: calc(9 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(1.9 * var(--text-unit,var(--ui-unit))); font-weight: 650; }
.library-heading h2 { margin: calc(10 * var(--ui-unit)) 0 calc(8 * var(--ui-unit)); font-size: calc(21 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(-.7 * var(--text-unit,var(--ui-unit))); }
.library-heading p { color: var(--muted); font-size: calc(11 * var(--text-unit,var(--ui-unit))); margin: 0 0 calc(24 * var(--ui-unit)); }
.search-form { display: flex; align-items: center; gap: calc(8 * var(--ui-unit)); padding: 0 calc(11 * var(--ui-unit)); border: var(--ui-unit) solid #66776a; border-radius: calc(8 * var(--ui-unit)); min-height: calc(43 * var(--ui-unit)); }
.search-form>span { font-size: calc(24 * var(--text-unit,var(--ui-unit))); color: var(--muted); }
.search-form input { width: 100%; min-width: 0; padding: calc(10 * var(--ui-unit)) 0; background: none; border: 0; color: var(--text); outline: none; font-size: calc(11 * var(--text-unit,var(--ui-unit))); }
.search-form:focus-within { border-color: var(--accent); }
.library-label { justify-content: space-between; align-items: center; padding: calc(24 * var(--ui-unit)) var(--ui-unit) calc(14 * var(--ui-unit)); font-size: calc(9 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(1.3 * var(--text-unit,var(--ui-unit))); color: var(--muted); }
.library-label>span:last-child { padding: calc(3 * var(--ui-unit)) calc(6 * var(--ui-unit)); background: var(--surface); border-radius: calc(4 * var(--ui-unit)); letter-spacing: 0; }
.results { flex: 1; min-height: 0; overflow: auto; scrollbar-width: thin; scrollbar-color: #3a453c transparent; margin: 0 calc(-8 * var(--ui-unit)); padding: 0 calc(8 * var(--ui-unit)) calc(12 * var(--ui-unit)); }
.result { display: flex; gap: calc(12 * var(--ui-unit)); align-items: center; padding: calc(5.5 * var(--ui-unit)) calc(8 * var(--ui-unit)); border: var(--ui-unit) solid transparent; border-radius: calc(8 * var(--ui-unit)); cursor: pointer; margin: calc(2 * var(--ui-unit)) 0; font-size: calc(12 * var(--text-unit,var(--ui-unit))); min-height: calc(47 * var(--ui-unit)); }
.result:hover,.result:focus-visible { border-color: #344331; background: #1e291e; }
.result img { width: calc(32 * var(--ui-unit)); height: calc(32 * var(--ui-unit)); object-fit: contain; border-radius: calc(3 * var(--ui-unit)); flex-shrink: 0; }
.result-label { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; }
.time { font-size: calc(10 * var(--text-unit,var(--ui-unit))); font-variant-numeric: tabular-nums; color: var(--accent); margin-right: calc(6 * var(--ui-unit)); }
.library-footer { align-items: center; gap: calc(8 * var(--ui-unit)); padding: calc(18 * var(--ui-unit)) 0; border-top: var(--ui-unit) solid var(--border); color: var(--muted); font-size: calc(10 * var(--text-unit,var(--ui-unit))); }
.library-footer button { margin-left: auto; background: none; border: none; color: var(--muted); font-size: calc(19 * var(--text-unit,var(--ui-unit))); }
.live-dot { width: calc(6 * var(--ui-unit)); height: calc(6 * var(--ui-unit)); display: inline-block; background: var(--accent); border-radius: 50%; box-shadow: 0 0 calc(10 * var(--ui-unit)) #b0f17f44; flex-shrink: 0; }

/* Discovery and shared content panels. */
.stage { position: relative; min-width: 0; min-height: 0; }
.panel { position: absolute; inset: 0; overflow: auto; }
.hero { position: relative; overflow: hidden; border: var(--ui-unit) solid #354331; border-radius: calc(15 * var(--ui-unit)); background: radial-gradient(ellipse at 95% 80%, #516932 0, transparent 55%),linear-gradient(125deg,#202f24,#27392a 50%,#1b231b); }
.hero-content { position: relative; z-index: 1; }
.pill { display: inline-flex; gap: calc(8 * var(--ui-unit)); align-items: center; border: var(--ui-unit) solid #68785a; padding: calc(7 * var(--ui-unit)) calc(10 * var(--ui-unit)); border-radius: calc(30 * var(--ui-unit)); font-size: calc(8 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(1.4 * var(--text-unit,var(--ui-unit))); background: #ffffff04; }
.hero h1 { line-height: 1.08; letter-spacing: calc(-2.5 * var(--text-unit,var(--ui-unit))); font-weight: 650; }
em { color: var(--accent); font-style: normal; }
.hero p { color: #c0cabc; font-size: calc(12 * var(--text-unit,var(--ui-unit))); }
.hero-actions { display: flex; flex-wrap: wrap; gap: calc(10 * var(--ui-unit)); }
.hero-bottom { position: absolute; bottom: 0; left: 0; right: 0; display: flex; justify-content: space-between; font-size: calc(8 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(1.4 * var(--text-unit,var(--ui-unit))); color: #c6d0bc; border-top: var(--ui-unit) solid #ffffff14; }
.hero-art { position: absolute; right: calc(-60 * var(--ui-unit)); top: calc(-10 * var(--ui-unit)); width: 54%; height: 100%; display: grid; place-items: center; transform: rotate(-12deg); }
.orbit { position: absolute; width: calc(340 * var(--ui-unit)); height: calc(340 * var(--ui-unit)); border: var(--ui-unit) solid #c4f29c38; border-radius: 50%; background: linear-gradient(120deg,#c7f69712,transparent 70%); box-shadow: inset 0 0 calc(65 * var(--ui-unit)) #00000010; }
.orbit-two { width: calc(260 * var(--ui-unit)); height: calc(260 * var(--ui-unit)); }
.orbit-three { width: calc(180 * var(--ui-unit)); height: calc(180 * var(--ui-unit)); }
.orbit-one::before { content: ""; width: calc(9 * var(--ui-unit)); height: calc(9 * var(--ui-unit)); position: absolute; background: var(--accent); border-radius: 50%; left: 22%; top: 7%; box-shadow: 0 0 calc(25 * var(--ui-unit)) #bbf38c; }
.orbit-two::after { content: ""; width: calc(9 * var(--ui-unit)); height: calc(9 * var(--ui-unit)); position: absolute; background: var(--accent); border-radius: 50%; box-shadow: 0 0 calc(25 * var(--ui-unit)) #bbf38c; left: auto; top: auto; right: 1%; bottom: 28%; }
.art-play { font-size: calc(53 * var(--text-unit,var(--ui-unit))); color: #cff4a6; transform: rotate(12deg); text-shadow: 0 0 calc(60 * var(--ui-unit)) #c3ffaf55; }
.art-caption { position: absolute; bottom: calc(65 * var(--ui-unit)); right: calc(110 * var(--ui-unit)); transform: rotate(12deg); border: var(--ui-unit) solid #c0df9144; border-radius: calc(5 * var(--ui-unit)); padding: calc(10 * var(--ui-unit)) calc(13 * var(--ui-unit)); align-items: center; gap: calc(8 * var(--ui-unit)); font-size: calc(8 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(1.6 * var(--text-unit,var(--ui-unit))); }
.section-heading { display: flex; align-items: end; justify-content: space-between; }
.section-heading h2 { margin: calc(8 * var(--ui-unit)) 0 0; letter-spacing: calc(-.7 * var(--text-unit,var(--ui-unit))); font-weight: 600; }
.discovery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(14 * var(--ui-unit)); }
.discovery-card { position: relative; overflow: hidden; text-align: left; border: var(--ui-unit) solid #3d4936; border-radius: calc(10 * var(--ui-unit)); color: var(--text); background: #243324; transition: transform .2s,border-color .2s; }
.discovery-card:hover { transform: translateY(calc(-3 * var(--ui-unit))); border-color: var(--accent); }
.card-news { background: #26343c; border-color: #3e4b55; }
.card-film { background: #3a2e25; border-color: #514134; }
.card-art { position: absolute; right: 0; top: calc(-24 * var(--ui-unit)); font-size: calc(156 * var(--text-unit,var(--ui-unit))); line-height: 1; color: #c1dca624; font-family: Georgia,serif; transform: rotate(-24deg); }
.card-news .card-art { color: #b3d7ef28; }
.card-film .card-art { color: #e7c39528; right: calc(12 * var(--ui-unit)); top: calc(6 * var(--ui-unit)); font-size: calc(110 * var(--text-unit,var(--ui-unit))); }
.card-kicker { position: relative; display: block; font-size: calc(8 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(1.5 * var(--text-unit,var(--ui-unit))); color: #c4cdbf; }
.discovery-card strong { position: relative; display: block; letter-spacing: calc(-1 * var(--text-unit,var(--ui-unit))); font-weight: 600; }
.discovery-card>span:last-child { position: relative; display: block; font-size: calc(10 * var(--text-unit,var(--ui-unit))); color: #c4cdbf; }
.discovery-card b { float: right; font-size: calc(17 * var(--text-unit,var(--ui-unit))); font-weight: 400; }
.app-promo { display: flex; align-items: center; gap: calc(18 * var(--ui-unit)); border: var(--ui-unit) solid var(--border); border-radius: calc(10 * var(--ui-unit)); }
.promo-icon { font-size: calc(33 * var(--text-unit,var(--ui-unit))); color: var(--accent); background: #273322; padding: calc(3 * var(--ui-unit)) calc(13 * var(--ui-unit)); border-radius: calc(9 * var(--ui-unit)); }
.app-promo h3 { margin: 0 0 calc(6 * var(--ui-unit)); font-size: calc(14 * var(--text-unit,var(--ui-unit))); font-weight: 600; }
.app-promo p { margin: 0; color: var(--muted); font-size: calc(11 * var(--text-unit,var(--ui-unit))); }
.app-promo a { margin-left: auto; }
.stage-footer { display: flex; flex-wrap: wrap; justify-content: space-between; font-size: calc(9 * var(--text-unit,var(--ui-unit))); color: #77837b; }
.other-sites { position: relative; margin-left: auto; align-self: flex-end; z-index: 40; font-size: calc(10 * var(--text-unit,var(--ui-unit))); }
.other-sites summary { cursor: pointer; padding: calc(2 * var(--ui-unit)) calc(4 * var(--ui-unit)); color: #94a097; line-height: calc(14 * var(--ui-unit)); width: fit-content; margin-left: auto; }
.other-sites-links { position: absolute; right: 0; bottom: 100%; width: min(calc(300 * var(--ui-unit)),calc(100vw - calc(64 * var(--ui-unit)))); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(4 * var(--ui-unit)) calc(12 * var(--ui-unit)); padding: calc(12 * var(--ui-unit)); background: #19221c; border: var(--ui-unit) solid #344b36; border-radius: calc(8 * var(--ui-unit)); box-shadow: 0 calc(8 * var(--ui-unit)) calc(24 * var(--ui-unit)) #0006; }
.other-sites-links a { color: #b1f477; padding: calc(8 * var(--ui-unit)) calc(4 * var(--ui-unit)); font-size: calc(12 * var(--text-unit,var(--ui-unit))); overflow-wrap: anywhere; }
.other-sites a:focus-visible,.other-sites summary:focus-visible { outline: calc(2 * var(--ui-unit)) solid #b1f477; outline-offset: calc(3 * var(--ui-unit)); }
.social-links { display: flex; gap: calc(8 * var(--ui-unit)); align-items: center; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: calc(40 * var(--ui-unit)); height: calc(40 * var(--ui-unit)); border: var(--ui-unit) solid #344b36; border-radius: calc(10 * var(--ui-unit)); color: #b1f477; background: #19271b; }
.social-links svg { fill: currentColor; }
.social-links a:hover { color: #102316; background: #b1f477; }
.social-links a:focus-visible { outline: calc(2 * var(--ui-unit)) solid #b1f477; outline-offset: calc(3 * var(--ui-unit)); }
.center-panel { display: grid; place-items: center; }
.surface { position: relative; padding: calc(28 * var(--ui-unit)); border: var(--ui-unit) solid var(--border); border-radius: calc(14 * var(--ui-unit)); background: var(--surface); }
.surface h1 { font-size: calc(36 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(-1.5 * var(--text-unit,var(--ui-unit))); line-height: 1.15; }
.checkout-heading h1 { letter-spacing: calc(-1.5 * var(--text-unit,var(--ui-unit))); }
.surface p { color: var(--muted); font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.8; }
#message_content { line-height: 1.8; padding: calc(12 * var(--ui-unit)) 0 calc(24 * var(--ui-unit)); overflow-wrap: anywhere; }
.checkout-heading .text-button { display: block; }
.checkout-heading p { color: var(--muted); }

/* Pass forms and plan selection. */
.checkout-columns { display: grid; align-items: start; }
.surface h2 { font-size: calc(23 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(-.7 * var(--text-unit,var(--ui-unit))); margin: calc(12 * var(--ui-unit)) 0 calc(16 * var(--ui-unit)); }
.surface label { display: block; color: var(--muted); font-size: calc(11 * var(--text-unit,var(--ui-unit))); margin: calc(16 * var(--ui-unit)) 0 calc(8 * var(--ui-unit)); }
.surface input,.surface select { width: 100%; background: #111713; border: var(--ui-unit) solid #66776a; border-radius: calc(7 * var(--ui-unit)); padding: calc(12 * var(--ui-unit)); color: var(--text); min-width: 0; }
.surface .button { width: 100%; margin-top: calc(17 * var(--ui-unit)); }
.sign-in-card>a { display: block; text-align: center; margin-top: calc(25 * var(--ui-unit)); font-size: calc(10 * var(--text-unit,var(--ui-unit))); color: var(--muted); }
.plans { margin: calc(20 * var(--ui-unit)) 0 0; padding: 0; border: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(8 * var(--ui-unit)); }
.plan { position: relative; }
.plan input { position: absolute; opacity: 0; width: var(--ui-unit); height: var(--ui-unit); }
.plan label { margin: 0; display: flex; flex-direction: column; gap: calc(10 * var(--ui-unit)); padding: calc(12 * var(--ui-unit)); border: var(--ui-unit) solid #66776a; border-radius: calc(8 * var(--ui-unit)); color: var(--text); cursor: pointer; font-size: calc(11 * var(--text-unit,var(--ui-unit))); }
.plan label span { font-weight: 650; font-size: calc(15 * var(--text-unit,var(--ui-unit))); }
.plan input:checked+label { background: #283921; border-color: var(--accent); }
.plan input:focus-visible+label { outline: calc(2 * var(--ui-unit)) solid var(--accent); outline-offset: calc(3 * var(--ui-unit)); }
.form-hint { font-size: calc(10 * var(--text-unit,var(--ui-unit))) !important; margin: calc(8 * var(--ui-unit)) 0 0; }
.checkout-facts h2 { margin: 0 0 calc(10 * var(--ui-unit)); font-size: calc(17 * var(--text-unit,var(--ui-unit))); }
.checkout-facts summary { cursor: pointer; font-weight: 650; font-size: calc(13 * var(--text-unit,var(--ui-unit))); }
.checkout-facts[open] summary { margin-bottom: calc(12 * var(--ui-unit)); }
.checkout-facts ul { display: grid; grid-template-columns: repeat(auto-fit,minmax(calc(210 * var(--ui-unit)),1fr)); gap: calc(12 * var(--ui-unit)) calc(24 * var(--ui-unit)); margin: 0; padding-left: calc(18 * var(--ui-unit)); }
.checkout-facts li { font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.65; color: var(--muted); }
.checkout-facts p { font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.65; color: var(--muted); margin: calc(12 * var(--ui-unit)) 0 0; }
.checkout-facts strong { color: var(--text); }
.player-panel { padding: 0; background: #050705; width: 100%; height: 100%; object-fit: contain; }
.overlay { position: absolute; inset: 0; z-index: 10; padding: calc(24 * var(--ui-unit)); display: grid; place-items: center; background: #080c0be8; backdrop-filter: blur(calc(7 * var(--ui-unit))); }
.overlay .surface { width: min(100%,calc(460 * var(--ui-unit))); }
.close-button { position: absolute; top: calc(15 * var(--ui-unit)); right: calc(16 * var(--ui-unit)); background: none; border: none; color: var(--muted); font-size: calc(25 * var(--text-unit,var(--ui-unit))); }
.payment-dialog iframe { width: 100%; background: #fff; border: 0; border-radius: calc(8 * var(--ui-unit)); display: block; height: calc(300 * var(--ui-unit)); max-height: calc(calc(100 * var(--viewport-height-unit)) - calc(110 * var(--ui-unit))); }
.empty-state { color: var(--muted); padding: calc(20 * var(--ui-unit)) calc(8 * var(--ui-unit)); font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.8; }

/* Standalone pages and payment content. */
.standalone-screen { min-height: calc(100 * var(--viewport-height-unit)); display: grid; place-items: center; padding: calc(24 * var(--ui-unit)); background: radial-gradient(ellipse at top,#233321,transparent 65%),var(--bg); }
.standalone-card { width: min(100%,calc(470 * var(--ui-unit))); }
.standalone-card h1 { margin: calc(16 * var(--ui-unit)) 0; }
.back-link { display: block; font-size: calc(12 * var(--text-unit,var(--ui-unit))); color: var(--muted); margin-top: calc(24 * var(--ui-unit)); }
.payment-total { font-size: calc(38 * var(--text-unit,var(--ui-unit))); font-weight: 650; margin: calc(24 * var(--ui-unit)) 0; color: var(--accent); letter-spacing: calc(-1 * var(--text-unit,var(--ui-unit))); }
.payment-total span { font-size: calc(16 * var(--text-unit,var(--ui-unit))); color: var(--muted); }
.payment-qr { display: block; max-width: calc(220 * var(--ui-unit)); width: 100%; margin: calc(24 * var(--ui-unit)) auto 0; padding: calc(10 * var(--ui-unit)); background: #fff; border-radius: calc(9 * var(--ui-unit)); }
.admin-card { max-width: 100%; overflow: auto; }
.admin-card table { border-collapse: collapse; margin-top: calc(24 * var(--ui-unit)); font-size: calc(12 * var(--text-unit,var(--ui-unit))); }
.admin-card td { text-align: left; padding: calc(14 * var(--ui-unit)); border-bottom: var(--ui-unit) solid var(--border); }
.admin-card th { text-align: left; padding: calc(14 * var(--ui-unit)); border-bottom: var(--ui-unit) solid var(--border); color: var(--muted); font-weight: 500; }
.standalone-screen:has(.crypto-payment) { align-items: start; }
.crypto-payment { margin: 0 auto; width: min(100%,calc(550 * var(--ui-unit))); }
.payment-layout { display: grid; grid-template-columns: calc(160 * var(--ui-unit)) minmax(0,1fr); gap: calc(16 * var(--ui-unit)); align-items: start; }
.payment-copy-fields { min-width: 0; }
.payment-label { display: block; color: var(--muted); font-size: calc(11 * var(--text-unit,var(--ui-unit))); margin: 0 0 calc(4 * var(--ui-unit)); }
.copy-payment { display: block; width: 100%; text-align: left; cursor: pointer; }
.home-panel { scrollbar-width: thin; display: grid; }
.crypto-payment .payment-total { padding: calc(4 * var(--ui-unit)) calc(6 * var(--ui-unit)); }
.crypto-payment .payment-qr { margin: 0; width: 100%; height: auto; aspect-ratio: 1; max-width: calc(150 * var(--ui-unit)); padding: calc(5 * var(--ui-unit)); }
.payment-address { overflow-wrap: anywhere; font-family: monospace; font-size: calc(12 * var(--text-unit,var(--ui-unit))); padding: calc(8 * var(--ui-unit)); }
.copy-status { min-height: calc(16 * var(--ui-unit)); font-size: calc(12 * var(--text-unit,var(--ui-unit))); margin: calc(4 * var(--ui-unit)) 0 0; }
.payment-open { margin-top: calc(12 * var(--ui-unit)); }
.payment-note { font-size: calc(12 * var(--text-unit,var(--ui-unit))); margin: calc(8 * var(--ui-unit)) 0 0; }
.crypto-payment { padding: calc(12 * var(--ui-unit)); }
.crypto-payment h1 { font-size: calc(18 * var(--text-unit,var(--ui-unit))); line-height: 1.2; margin: calc(4 * var(--ui-unit)) 0 calc(10 * var(--ui-unit)); }
.crypto-payment .payment-layout { gap: calc(12 * var(--ui-unit)); align-items: center; grid-template-columns: min(calc(150 * var(--ui-unit)),max(calc(374.34 * var(--ui-unit)),34vw)) minmax(0,1fr); }
.crypto-payment .payment-total { font-size: calc(24 * var(--text-unit,var(--ui-unit))); line-height: 1.15; margin: 0 0 calc(8 * var(--ui-unit)); }
.crypto-payment .payment-address { font-size: calc(11 * var(--text-unit,var(--ui-unit))); line-height: 1.25; padding: calc(6 * var(--ui-unit)); }
.crypto-payment .copy-status { min-height: calc(14 * var(--ui-unit)); line-height: 1.2; margin: calc(3 * var(--ui-unit)) 0 0; }
.crypto-payment .payment-open { display: block; text-align: center; padding: calc(8 * var(--ui-unit)) calc(12 * var(--ui-unit)); margin-top: calc(8 * var(--ui-unit)); }
.crypto-payment .payment-note { font-size: calc(11 * var(--text-unit,var(--ui-unit))); line-height: 1.3; margin: calc(6 * var(--ui-unit)) 0 0; }
#modal.overlay { position: fixed; }
.payment-dialog { max-height: calc(calc(100 * var(--viewport-height-unit)) - calc(24 * var(--ui-unit))); overflow: auto; }
body:has(#modal[style*="visibility: visible"]) { overflow: hidden; }
.section-heading { margin: calc(18 * var(--ui-unit)) 0 calc(12 * var(--ui-unit)); }
.checkout-columns .surface p { line-height: 1.5; margin: calc(8 * var(--ui-unit)) 0; }
.home-panel .hero { display: flex; }
.home-panel .hero-content { width: 100%; }
.guide-card article p { font-size: calc(16 * var(--text-unit,var(--ui-unit))); line-height: 1.75; }
.guide-card article > p,.guide-card article > h1,.guide-card article > h2,.guide-card article > h3 { max-width: none; }
.guide-site-background { pointer-events: none; }
.home-panel>.hero { grid-column: 1/-1; }
.home-panel .discovery-card strong { font-size: calc(22 * var(--text-unit,var(--ui-unit))); }
.home-panel .app-promo .button { margin: 0; }
.checkout-heading h1 br { display: none; }
.checkout-heading h1 em::before { content: ' '; }
.checkout-columns .surface .plan label { margin: 0; }
.team-event .result-label { text-align: center; }
body.app-page { --header: 70px; --sidebar: 310px; --main-unit: min(calc((100vw - 310px) / 791),calc(calc(100 * var(--viewport-height-unit)) / 706)); }
.app-header .brand { position: absolute; z-index: 4; }
.home-panel>div.app-promo h3,.home-panel>div.app-promo p { margin: 0; }
.checkout-panel .checkout-columns .surface h2 { font-size: calc(20 * var(--text-unit)); }
.checkout-panel .checkout-heading .text-button { font-size: calc(12 * var(--text-unit)); }
.home-panel .card-film .card-kicker { letter-spacing: 1.5px; font-size: 9.6px; }
.home-panel .hero-actions .button { flex-shrink: 0; }
.home-panel .card-film>span:last-child { font-size: 12px; }
.app-header .account-tools .support-link,.app-header .account-tools .button-small { font-size: 14.4px; }
.app-header .account-tools .user,.app-header .account-tools .timer { font-size: 13.2px; }
.app-header .account-tools .text-button { font-size: 14.4px; }
.app-header .account-tools .icon-button { font-size: 27.6px; }
.home-panel .social-links a:hover { color: #b1f477; background: #19271b; }
.home-panel>div.app-promo>a.button:hover { background: #c6ffa0; }
#epg-window { color: var(--muted); margin-left: auto; }

/* Access pass sizing. */
.checkout-panel #pass { font-size: inherit; letter-spacing: normal; font-variant-numeric: tabular-nums; }
.home-panel .discovery-card .card-kicker { line-height: min(1.2em,calc(1.8 * var(--viewport-height-unit))); }
.home-panel .discovery-card>span:last-child { line-height: min(1.15em,calc(2.15625 * var(--viewport-height-unit))); }

/* Responsive component refinements. */
@media (min-width:1600px) {
  .hero-art { right: 0; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; }
}
@media (max-height:320px) {
  .crypto-payment { padding: calc(8 * var(--ui-unit)); }
  .crypto-payment h1 { font-size: calc(16 * var(--text-unit,var(--ui-unit))); margin: calc(3 * var(--ui-unit)) 0 calc(6 * var(--ui-unit)); }
  .crypto-payment .payment-layout { gap: calc(8 * var(--ui-unit)); }
  .crypto-payment .payment-total { font-size: calc(20 * var(--text-unit,var(--ui-unit))); margin-bottom: calc(4 * var(--ui-unit)); }
  .crypto-payment .payment-label { font-size: calc(10 * var(--text-unit,var(--ui-unit))); margin-bottom: calc(2 * var(--ui-unit)); }
}
.standalone-screen:has(.crypto-payment) { min-height: 0; align-content: start; padding: calc(8 * var(--ui-unit)); }
.payment-dialog h2 { margin: 0 0 calc(14 * var(--ui-unit)); font-size: calc(20 * var(--text-unit,var(--ui-unit))); }
.hero { min-height: 0; }
.hero h1 { margin: calc(14 * var(--ui-unit)) 0 calc(10 * var(--ui-unit)); }
.hero p { margin: calc(8 * var(--ui-unit)) 0; line-height: 1.5; }
.hero-bottom { padding: calc(12 * var(--ui-unit)) calc(28 * var(--ui-unit)); }
.section-heading h2 { font-size: calc(20 * var(--text-unit,var(--ui-unit))); margin-top: calc(6 * var(--ui-unit)); }
.app-promo { padding: calc(12 * var(--ui-unit)) calc(18 * var(--ui-unit)); margin-top: calc(14 * var(--ui-unit)); }
.stage-footer { padding: calc(12 * var(--ui-unit)) 0 0; }
.checkout-heading { padding: 0 0 calc(14 * var(--ui-unit)); }
.hero h1 { font-size: calc(34 * var(--text-unit,var(--ui-unit))); }
.hero-content { padding: calc(16 * var(--ui-unit)) calc(24 * var(--ui-unit)) calc(46 * var(--ui-unit)); }
.hero-actions { margin-top: calc(10 * var(--ui-unit)); }
.discovery-card { min-height: calc(100 * var(--ui-unit)); padding: calc(12 * var(--ui-unit)); }
.discovery-card strong { font-size: calc(21 * var(--text-unit,var(--ui-unit))); margin: calc(10 * var(--ui-unit)) 0 calc(8 * var(--ui-unit)); }
.home-panel .section-heading { margin: calc(4 * var(--ui-unit)) 0 0; }
.home-panel .discovery-grid { min-height: 0; }
.home-panel .app-promo { margin-top: 0; }
.home-panel .stage-footer { padding: 0; align-items: end; }
img.brand-mark { width: calc(48 * var(--ui-unit)); height: calc(48 * var(--ui-unit)); padding: 0; object-fit: contain; background: transparent; flex-shrink: 0; }
.app-notice { position: fixed; top: calc(16 * var(--ui-unit)); left: 50%; transform: translateX(-50%); z-index: 100; width: min(calc(520 * var(--ui-unit)),calc(100% - calc(32 * var(--ui-unit)))); display: flex; align-items: flex-start; gap: calc(16 * var(--ui-unit)); padding: calc(14 * var(--ui-unit)) calc(16 * var(--ui-unit)); border: var(--ui-unit) solid var(--accent); border-radius: calc(10 * var(--ui-unit)); background: var(--surface); box-shadow: 0 calc(8 * var(--ui-unit)) calc(30 * var(--ui-unit)) #0006; }
.app-notice p { flex: 1; margin: 0; white-space: pre-line; overflow-wrap: anywhere; line-height: 1.5; }
.app-notice button { border: 0; background: transparent; color: var(--text); font-size: calc(22 * var(--text-unit,var(--ui-unit))); line-height: 1; padding: 0 calc(4 * var(--ui-unit)); }
.epg-library-link { align-self: flex-start; margin-top: calc(14 * var(--ui-unit)); }
.epg-panel h1 { font-size: calc(32 * var(--text-unit,var(--ui-unit))); margin: calc(8 * var(--ui-unit)) 0; }
.epg-panel .section-heading { margin: 0 0 calc(28 * var(--ui-unit)); }
.epg-columns { display: grid; grid-template-columns: 1fr 2fr 2fr; gap: calc(16 * var(--ui-unit)); padding: calc(16 * var(--ui-unit)) calc(20 * var(--ui-unit)); color: var(--muted); border-bottom: var(--ui-unit) solid var(--border); font-size: calc(11 * var(--text-unit,var(--ui-unit))); letter-spacing: calc(1 * var(--text-unit,var(--ui-unit))); }
.epg-empty { text-align: center; margin-top: calc(20 * var(--ui-unit)); padding: calc(56 * var(--ui-unit)) calc(24 * var(--ui-unit)); }
.epg-empty-icon { font-size: calc(42 * var(--text-unit,var(--ui-unit))); color: var(--accent); }
.epg-empty h2 { font-size: calc(24 * var(--text-unit,var(--ui-unit))); margin: calc(20 * var(--ui-unit)) 0 calc(12 * var(--ui-unit)); }
.epg-empty p { color: var(--muted); line-height: 1.7; margin-bottom: calc(24 * var(--ui-unit)); }
.epg-hint { color: var(--muted); font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.6; }
.epg-row { display: grid; grid-template-columns: 1fr 2fr 2fr; gap: calc(16 * var(--ui-unit)); padding: calc(18 * var(--ui-unit)) calc(20 * var(--ui-unit)); border-bottom: var(--ui-unit) solid var(--border); }
.epg-row>div,.epg-row>button { min-width: 0; overflow-wrap: anywhere; text-align: left; }
.epg-row strong { display: block; font-size: calc(14 * var(--text-unit,var(--ui-unit))); line-height: 1.5; }
.epg-row small { display: block; color: var(--muted); font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.6; }
.epg-row time { display: block; font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.6; color: var(--accent); margin-bottom: calc(4 * var(--ui-unit)); }
.epg-unavailable { color: var(--muted); font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.6; }
.guide-screen { padding: clamp(calc(12 * var(--ui-unit)),3vw,calc(40 * var(--ui-unit))); align-items: start; }
.standalone-card
/* Public guides and walkthrough dialogs. */
.guide-card { width: min(100%,calc(1080 * var(--ui-unit))); min-width: 0; padding: clamp(calc(20 * var(--ui-unit)),4vw,calc(48 * var(--ui-unit))); }
.home-panel .discovery-card { height: 100%; display: flex; flex-direction: column; min-height: 0; }
.app-notice[hidden] { display: none; }
.epg-empty .button { display: inline-flex; }
.guide-header { display: flex; align-items: center; justify-content: space-between; gap: calc(20 * var(--ui-unit)); padding-bottom: calc(24 * var(--ui-unit)); margin-bottom: calc(28 * var(--ui-unit)); border-bottom: var(--ui-unit) solid var(--border); }
.guide-walkthrough { width: 100%; height: auto; display: block; border-radius: calc(12 * var(--ui-unit)); }
.guide-brand { min-width: 0; white-space: normal; }
.guide-brand .brand-mark { width: calc(48 * var(--ui-unit)); height: calc(48 * var(--ui-unit)); flex: none; }
.guide-card article { min-width: 0; overflow-wrap: anywhere; }
.guide-card h1 { font-size: clamp(calc(28 * var(--text-unit,var(--ui-unit))),4vw,calc(44 * var(--text-unit,var(--ui-unit)))); line-height: 1.15; }
.guide-card h2 { margin-top: calc(36 * var(--ui-unit)); }
.guide-dialog[open] { display: flex; flex-direction: column; }
.guide-dialog::backdrop { background: #000b; }
.guide-dialog-header h2 { margin: 0; font-size: calc(16 * var(--text-unit,var(--ui-unit))); }
.guide-dialog iframe { flex: 1; min-height: 0; width: 100%; border: 0; background: var(--bg); }
.direct-guide-dialog[open]:not(:modal) { box-shadow: 0 0 0 100vmax #000b; }
.home-panel>.app-promo { min-width: 0; flex-direction: column; align-items: flex-start; min-height: 0; }
.checkout-columns .surface input,.checkout-columns .surface select { padding: calc(7 * var(--ui-unit)) calc(10 * var(--ui-unit)); }
.checkout-columns .plan label { margin: 0; padding: calc(7 * var(--ui-unit)) calc(9 * var(--ui-unit)); gap: calc(3 * var(--ui-unit)); }
.home-panel .section-heading h2 { margin: calc(4 * var(--ui-unit)) 0; }
.home-panel .app-promo h3 { font-size: calc(13 * var(--text-unit,var(--ui-unit))); margin: 0 0 calc(6 * var(--ui-unit)); }
.home-panel .app-promo p { font-size: calc(11 * var(--text-unit,var(--ui-unit))); margin: calc(4 * var(--ui-unit)) 0; }
.checkout-columns .surface h2 { font-size: calc(20 * var(--text-unit,var(--ui-unit))); margin: calc(6 * var(--ui-unit)) 0; }
.checkout-columns .surface label { margin: calc(7 * var(--ui-unit)) 0 calc(4 * var(--ui-unit)); }
.checkout-columns .surface .button { min-height: calc(38 * var(--ui-unit)); padding: calc(9 * var(--ui-unit)) calc(12 * var(--ui-unit)); margin-top: calc(10 * var(--ui-unit)); }
.team-event img,.result[data-query*=" Schedule / "] img { background: #f4f8f5; padding: calc(3 * var(--ui-unit)); border-radius: calc(5 * var(--ui-unit)); }
.app-header nav { display: none; }
.account-tools #logout { align-self: center; line-height: 1; }
@media (max-width:759px) {
  .guide-header { align-items: flex-start; flex-direction: column; gap: calc(16 * var(--ui-unit)); padding-bottom: calc(20 * var(--ui-unit)); margin-bottom: calc(24 * var(--ui-unit)); }
  .guide-brand { font-size: calc(20 * var(--text-unit,var(--ui-unit))); }
  .guide-brand .brand-mark { width: calc(48 * var(--ui-unit)); height: calc(48 * var(--ui-unit)); }
  .guide-card article p { font-size: calc(15 * var(--text-unit,var(--ui-unit))); line-height: 1.7; }
  .guide-dialog-header h2 { font-size: calc(13 * var(--text-unit,var(--ui-unit))); }
  .account-tools #user,.account-tools #extend,.account-tools #top_right { display: none; }
}
.guide-dialog { width: min(calc(1180 * var(--ui-unit)),calc(100% - calc(32 * var(--ui-unit)))); height: calc(calc(100 * var(--viewport-height-unit)) - calc(32 * var(--ui-unit))); max-width: none; max-height: none; padding: 0; border: var(--ui-unit) solid var(--border); border-radius: calc(16 * var(--ui-unit)); background: var(--bg); color: var(--text); overflow: hidden; }
.guide-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: calc(16 * var(--ui-unit)); padding: calc(12 * var(--ui-unit)) calc(20 * var(--ui-unit)); border-bottom: var(--ui-unit) solid var(--border); }
body:has(.guide-dialog[open]) { overflow: hidden; }
.direct-guide-screen { min-height: calc(100 * var(--viewport-height-unit)); overflow: hidden; }
.direct-guide-dialog { position: fixed; inset: calc(16 * var(--ui-unit)); margin: auto; }
.direct-guide-scroll .guide-card { width: 100%; margin: 0 auto; }
.checkout-heading h1 { font-size: calc(25 * var(--text-unit,var(--ui-unit))); line-height: 1.1; margin: calc(6 * var(--ui-unit)) 0; }
.checkout-heading .text-button { margin-bottom: calc(8 * var(--ui-unit)); }
.checkout-heading p { font-size: calc(12 * var(--text-unit,var(--ui-unit))); line-height: 1.4; margin: calc(6 * var(--ui-unit)) 0 0; }
.checkout-columns .plans { margin-top: calc(10 * var(--ui-unit)); gap: calc(6 * var(--ui-unit)); }
.checkout-columns .form-hint { font-size: calc(11 * var(--text-unit,var(--ui-unit))); margin: calc(5 * var(--ui-unit)) 0; }
.schedule-event .result-label { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.stage { --ui-unit: min(calc((100vw - 310px) / 791),calc(calc(100 * var(--viewport-height-unit)) / 706)); font-size: calc(14 * var(--text-unit,var(--ui-unit))); }
.library-heading,.library-label,.library-footer { display: none; }
.app-header { display: contents; }
.app-header .account-tools { position: absolute; z-index: 4; max-width: calc(100vw - 342px); flex-wrap: wrap; justify-content: flex-end; row-gap: 8px; top: calc(calc(2.266287 * var(--viewport-height-unit)) + 12px); right: calc(24 * var(--main-unit) + 12px); }
.home-panel .hero-content { padding: calc(16 * var(--ui-unit)) calc(24 * var(--ui-unit)) calc(40 * var(--ui-unit)); max-height: 100%; overflow: auto; }
.home-panel .hero-bottom { padding: calc(9 * var(--ui-unit)) calc(24 * var(--ui-unit)); }
.checkout-columns .surface { padding: calc(16 * var(--ui-unit)); }
.home-panel .hero-art { --text-unit: var(--ui-unit); top: 0; right: 0; transform: none; }
.home-panel .card-art { --text-unit: var(--ui-unit); }
.home-panel .promo-icon { display: none; --text-unit: var(--ui-unit); }
.home-panel>.app-promo { overflow: auto; }
.home-panel .art-play { transform: none; color: #203b28; text-shadow: none; }
.art-caption { display: none; }
.checkout-panel { font-size: calc(14 * var(--text-unit)); --text-unit: clamp(.95px,calc(.435714286px + .0502232143vw),1.6px); }
.account-tools .user,.account-tools .timer { color: #fff; }
@media (max-width:759px) {
  .guide-dialog { width: calc(100% - calc(12 * var(--ui-unit))); height: calc(calc(100 * var(--viewport-height-unit)) - calc(12 * var(--ui-unit))); border-radius: calc(12 * var(--ui-unit)); }
  .guide-dialog-header { padding: calc(10 * var(--ui-unit)) calc(12 * var(--ui-unit)); gap: calc(8 * var(--ui-unit)); }
  .direct-guide-dialog { inset: calc(6 * var(--ui-unit)); }
  .stage { --ui-unit: min(calc(100vw / 791),calc(calc(50 * var(--viewport-height-unit)) / 706)); }
  .home-panel .hero-bottom { position: relative; z-index: 1; }
}
.direct-guide-scroll { flex: 1; min-height: 0; overflow: auto; padding: clamp(calc(12 * var(--ui-unit)),2vw,calc(28 * var(--ui-unit))); }
.home-panel { grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(10 * var(--ui-unit)); }
.checkout-columns { gap: calc(16 * var(--ui-unit)); grid-template-columns: minmax(calc(220 * var(--ui-unit)),.8fr) minmax(calc(360 * var(--ui-unit)),1.2fr); }
.app-layout { height: calc(100 * var(--viewport-height-unit)); }
.timer { border: 0; }
.epg-timeline-inner { min-width: 960px; }
@media (max-width:759px) {
  .direct-guide-scroll { padding: calc(6 * var(--ui-unit)); }
}
.panel { padding: calc(16 * var(--ui-unit)) calc(24 * var(--ui-unit)); }
.checkout-heading { padding-bottom: calc(10 * var(--ui-unit)); }
.checkout-facts { padding: calc(10 * var(--ui-unit)) calc(14 * var(--ui-unit)); margin: 0 0 calc(12 * var(--ui-unit)); }
@media (max-height:740px) {
  .checkout-panel { padding: calc(10 * var(--ui-unit)) calc(24 * var(--ui-unit)); }
  .checkout-heading h1 { font-size: calc(22 * var(--text-unit,var(--ui-unit))); margin: calc(4 * var(--ui-unit)) 0; }
  .checkout-heading { padding-bottom: calc(6 * var(--ui-unit)); }
  .checkout-heading .text-button { margin-bottom: calc(4 * var(--ui-unit)); }
  .checkout-columns .surface { padding: calc(12 * var(--ui-unit)); }
  .checkout-columns .surface h2 { font-size: calc(18 * var(--text-unit,var(--ui-unit))); margin: calc(4 * var(--ui-unit)) 0; }
  .checkout-columns .surface label { margin-top: calc(5 * var(--ui-unit)); }
}
.schedule-event .time { display: block; margin-bottom: calc(3 * var(--ui-unit)); }
.panel:not(.home-panel):not(.player-panel) { padding-top: max(80px,calc(20 * var(--ui-unit))); }
.home-panel { row-gap: calc(1.416435 * var(--viewport-height-unit)); grid-template-rows: minmax(0,466.234fr) minmax(0,87.3281fr) minmax(0,152.969fr) minmax(0,202.156fr) minmax(0,61.1875fr); --text-unit: 1.2px; font-size: calc(14 * var(--text-unit)); padding: calc(2.266287 * var(--viewport-height-unit)); line-height: min(1.4em,calc(3.675 * var(--viewport-height-unit))); }
.home-panel .hero-content { margin-block: 0; padding-bottom: 56px; }
.home-panel .hero-bottom { padding-block: 12px; }
.home-panel .art-caption { bottom: 84px; right: 24px; transform: none; padding: 10px 13px; font-size: 10.7989px; letter-spacing: 2.15977px; }
.home-panel .discovery-card strong { margin: 2px 0; }
.home-panel .hero h1 { font-size: calc(28.626 * var(--text-unit,var(--ui-unit))); margin: 10px 0; }
.home-panel .pill { display: flex; width: fit-content; padding: 9px 13px; }
.home-panel .hero p { margin: 8px 0; }
.home-panel .hero-actions { margin-top: 10px; --ui-unit: 1px; }
.home-panel .hero-content { padding-block: 48px; }
.checkout-panel .checkout-heading h1 { font-size: calc(25 * var(--text-unit)); max-width: calc(100% - 200px); }
.checkout-panel .checkout-heading p { font-size: calc(12 * var(--text-unit)); }
.home-panel .card-film strong { letter-spacing: -1px; font-size: 26.4px; }
.panel.checkout-panel { padding-top: 60px; }
.checkout-panel .checkout-columns .surface input,.checkout-panel .checkout-columns .surface select { padding-block: 5px; }
.checkout-panel .checkout-columns .surface .button { padding-block: 7px; margin-top: 6px; }
.checkout-panel .checkout-facts { padding-block: 8px; margin-bottom: 8px; }
.home-panel .hero-content { padding-top: 24px; }
.home-panel .card-film b { font-size: 20.4px; }
.stage>.player-panel { inset: 0; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; border-radius: 0; display: block; }
.home-panel .discovery-card { overflow: hidden; justify-content: flex-start; gap: 4px; padding: 24px; }
.home-panel>.section-heading { grid-column: 1/-1; min-height: 0; align-items: safe end; overflow: visible; }
.home-panel>.discovery-grid,.home-panel>.stage-footer { grid-column: 1/-1; }
.checkout-columns .plans { grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-panel:not(:has([data-guide]))>aside.app-promo { grid-column: 2/-1; }
.home-panel .hero { align-items: flex-start; }
.stage .panel.checkout-panel { padding-top: calc(24 * var(--ui-unit)); }
.home-panel>.app-promo { justify-content: flex-start; gap: 4px; padding: 24px; }
.home-panel>.app-promo h3 { margin: 0 0 4px; }
.home-panel>.app-promo p { margin: 0; }
.home-panel>.stage-footer { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: end; }
.home-panel .social-links { grid-column: 2; justify-self: center; gap: 6px; }
.home-panel .social-links a { width: 28px; height: 28px; padding: 4px; border-width: 1px; border-radius: 6px; color: #19271b; background: #b1f477; }
.home-panel>div.app-promo { overflow: visible; justify-content: flex-start; gap: 4px; padding: 24px; }
.home-panel .social-links svg { width: 18px; height: 18px; }
.home-panel .other-sites { grid-column: 3; justify-self: end; align-self: end; }
.app-header .brand { top: 20px; left: 20px; }
.library { padding: 88px 20px 20px; }
.library .epg-library-link { align-self: flex-end; margin-top: 4px; line-height: 16px; }
.hero-bottom { gap: 12px; align-items: baseline; }
.hero-bottom>span { line-height: 1.2; margin: 0; padding: 0; }
.library .results { margin-top: 4px; }
.epg-timeline-header>span { position: sticky; left: 0; background: var(--surface); z-index: 3; padding: 14px; border-right: 1px solid var(--border); }
.epg-hours time { padding-left: 8px; }
@media (max-width:759px) {
  body.app-page { height: calc(100 * var(--viewport-height-unit)); overflow: hidden; }
  .app-layout { grid-template-columns: minmax(0,1fr); grid-template-rows: repeat(2,minmax(0,1fr)); height: calc(100 * var(--viewport-height-unit)); }
  .home-panel .discovery-card { height: auto; min-height: min-content; }
  .home-panel>.section-heading { min-height: 72px; }
  .app-header .brand { top: 20px; }
  .app-header .account-tools { top: 20px; right: 20px; max-width: 150px; gap: 10px; }
  .app-header .brand { left: 16px; max-width: calc(100vw - 128px); gap: 8px; font-size: clamp(18px,5.5vw,23px); }
  .app-header .brand img.brand-mark { width: 36px; height: 36px; }
  .app-header .brand>span { min-width: 0; overflow-wrap: anywhere; }
  .app-header .brand small { font-size: 7px; letter-spacing: 1px; }
  .app-header .account-tools { right: 16px; }
  body:has(#timer:not([style*="none"])) .account-tools>[data-action="open-pass"] { display: none; }
  .home-panel { grid-template-rows: minmax(360px,max-content) auto auto auto auto; display: block; padding-block: calc(1.1331435 * var(--viewport-height-unit)); }
  .home-panel>:not(.hero) { display: none; }
  .home-panel .hero { height: 100%; min-height: 0; }
  .home-panel .hero-content { padding-top: 24px; overflow: auto; min-height: 0; height: 100%; max-height: none; padding-bottom: 24px; }
  .app-layout>.stage { grid-row: 1; padding-top: 78px; }
  .checkout-panel .checkout-columns .plans { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .checkout-panel .checkout-heading h1 { max-width: none; }
  .stage .panel.checkout-panel { padding-top: calc(24 * var(--ui-unit)); padding-block: 0; }
  .checkout-panel { --text-unit: .95px; }
  .stage>.panel { top: 78px; }
  .stage>.player-panel { top: 78px; height: calc(100% - 78px); }
  .home-panel .hero-content { padding-block: 12px; }
  .app-layout>.library { grid-row: 2; border-right: 0; border-top: 1px solid var(--border); padding-top: 10px; }
  .checkout-panel .checkout-columns { grid-template-columns: minmax(0,1fr); }
  .home-panel .hero { display: grid; grid-template-rows: minmax(0,1fr) auto; }
  .home-panel .hero-actions { display: none; }
}
.app-header .account-tools { font-size: 16.8px; column-gap: 9px; }
.account-tools #logout .icon-button { color: #fff; display: flex; align-items: center; justify-content: center; line-height: 1; padding: 0; margin: 0; }
.app-header .account-tools>[data-action="open-pass"] { padding-inline: 8px; gap: 10px; }
.home-panel>div.app-promo>a.button { margin-top: 1lh; flex-shrink: 0; height: auto; min-height: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; background: var(--accent); border-color: var(--accent); color: #182311; line-height: min(1.3em,calc(2.925 * var(--viewport-height-unit))); }

/* TV Guide timeline. */
.epg-time-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin: 18px 0; font-size: 13px; }
.epg-timeline { overflow: auto; max-width: 100%; border: 1px solid var(--border); border-radius: 8px; }
.epg-timeline-header { display: grid; grid-template-columns: 180px minmax(780px,1fr); position: sticky; top: 0; z-index: 4; background: var(--surface); }
.epg-timeline-row { display: grid; grid-template-columns: 180px minmax(780px,1fr); }
.epg-channel { position: sticky; left: 0; background: var(--surface); z-index: 3; padding: 14px; border-right: 1px solid var(--border); width: 100%; text-align: left; overflow-wrap: anywhere; }
.epg-channel strong { display: block; line-height: 1.5; }
.epg-channel small { display: block; line-height: 1.5; color: var(--muted); font-size: 11px; }
.epg-hours { display: grid; grid-template-columns: repeat(6,1fr); padding: 14px 0; font-size: 12px; }
.epg-track { position: relative; height: 80px; background: repeating-linear-gradient(90deg,transparent 0,transparent calc(16.6667% - 1px),var(--border) calc(16.6667% - 1px),var(--border) 16.6667%); border-top: 1px solid var(--border); }
.epg-programme { position: absolute; top: 5px; bottom: 5px; padding: 8px; overflow: hidden; text-align: left; background: var(--surface); border: 1px solid var(--border); border-radius: 5px; color: var(--text); }
.epg-programme:hover,.epg-programme:focus-visible { border-color: var(--accent); background: #273127; z-index: 2; }
.epg-programme time { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.epg-programme strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.epg-programme time { color: var(--accent); margin-bottom: 5px; font-size: 11px; }
.epg-track-empty { display: block; padding: 28px 14px; color: var(--muted); font-size: 12px; }
.epg-now-line { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--accent); pointer-events: none; z-index: 2; }
.stage .panel.epg-panel { padding-top: calc(24 * var(--ui-unit)); }

/* Video overlays: opaque content over a half-opaque background. */
.stage>.playback-overlay { z-index: 1; background: rgb(16 20 19 / 50%); opacity: 1; }
.stage>.overlay-video { z-index: 0; pointer-events: none; }
@media (min-width:760px) {
  .home-panel .card-film .card-kicker { font-size: calc(8 * var(--text-unit)); letter-spacing: calc(1.5 * var(--discovery-space)); }
  .home-panel .card-film strong { font-size: calc(22 * var(--text-unit)); letter-spacing: calc(-1 * var(--discovery-space)); }
  .home-panel .card-film>span:last-child { font-size: calc(10 * var(--text-unit)); }
  .home-panel .card-film b { font-size: calc(17 * var(--text-unit)); }
  .stage>.panel:not(.home-panel):not(.checkout-panel):not(.player-panel):not(.epg-panel) { --text-unit: min(1px,calc(calc(100 * var(--viewport-height-unit)) / 531.659788776)); }
  .stage>.checkout-panel { --ui-unit: 1px; padding-bottom: 16px; }
  .stage>.epg-panel { --ui-unit: 1px; padding-bottom: 16px; font-size: 16.8px; }
  .checkout-panel .checkout-heading { padding-bottom: 10px; }
  .checkout-panel .checkout-heading .text-button { margin-bottom: 8px; }
  .checkout-panel .checkout-columns { grid-template-columns: minmax(180px,.8fr) minmax(0,1.2fr); }
  .checkout-panel .checkout-columns .surface h2 { margin: 6px 0; }
  .checkout-panel .checkout-columns .surface label { margin-top: 7px; }
  .checkout-panel .checkout-columns .plans { grid-template-columns: repeat(auto-fit,minmax(max(104px,calc((100% - 18px) / 4)),1fr)); }
  .checkout-panel .checkout-columns .plan label { margin: 0; }
  .checkout-panel .plan label span { white-space: nowrap; }
  .epg-panel .checkout-heading { padding-bottom: 10px; }
  .epg-panel .checkout-heading .text-button { margin-bottom: 8px; }
  .epg-panel .epg-timeline-inner { width: 960px; }
  .epg-panel .epg-timeline-header,.epg-panel .epg-timeline-row { grid-template-columns: 180px 780px; }
  .home-panel .hero-actions { --ui-unit: min(1px,calc(calc(100 * var(--viewport-height-unit)) / 953),calc((100vw - 310px) / 714)); margin-top: calc(10 * var(--hero-space)); }
  .home-panel>div.app-promo { padding: min(24px,calc(2.518363 * var(--viewport-height-unit)),calc(24 * var(--discovery-space))); gap: calc(4 * var(--discovery-space)); }
  .home-panel .social-links a { width: calc(28 * var(--discovery-space)); height: calc(28 * var(--discovery-space)); padding: calc(4 * var(--discovery-space)); }
  .home-panel .social-links svg { width: calc(18 * var(--discovery-space)); height: calc(18 * var(--discovery-space)); }
}
@media (max-width:759px) {
  .app-header .account-tools { column-gap: 5px; }
  .stage .panel.epg-panel { padding-block: 0; }
  .epg-timeline-header,.epg-timeline-row { grid-template-columns: 140px minmax(780px,1fr); }
  .epg-timeline-inner { min-width: 920px; }
}
.epg-panel { --text-unit: clamp(.95px,calc(.435714286px + .0502232143vw),1.6px); isolation: isolate; }
.epg-panel .checkout-heading h1 { font-size: calc(25 * var(--text-unit)); line-height: 1.1; margin: calc(6 * var(--ui-unit)) 0; }
.epg-panel .checkout-heading .text-button { font-size: calc(12 * var(--text-unit)); }
@media (max-width:759px) {
  .epg-panel { --text-unit: .95px; }
}
@media (min-width:760px) {
  .checkout-panel,.epg-panel { --text-unit: 1.2px; }
  .checkout-panel .checkout-heading h1 { margin: 6px 0; }
  .checkout-panel .checkout-columns .surface { min-width: 0; padding: 16px; }
  .epg-panel .checkout-heading p { font-size: 14.4px; line-height: 20.16px; margin: 6px 0 0; }
  .home-panel { --discovery-space: min(1px,calc(calc(100 * var(--viewport-height-unit)) / 640),calc((100vw - 310px) / 714)); --hero-space: var(--discovery-space); --text-unit: min(1.2px,calc(calc(100 * var(--viewport-height-unit)) / 626.317317347),calc((100vw - 310px) / 595)); padding: calc(14.5042368 * var(--discovery-space)); gap: calc(9.065184 * var(--discovery-space)); }
  .home-panel .discovery-card { padding: min(15.96px,calc(1.674711395 * var(--viewport-height-unit)),calc(15.96 * var(--discovery-space))); gap: calc(4 * var(--discovery-space)); }
  .home-panel>.app-promo { padding: min(24px,calc(2.518363 * var(--viewport-height-unit)),calc(24 * var(--discovery-space))); gap: calc(4 * var(--discovery-space)); }
  .home-panel .discovery-card strong { margin-block: calc(2 * var(--discovery-space)); }
  .home-panel>.app-promo h3 { margin-bottom: calc(4 * var(--discovery-space)); }
  .home-panel .social-links { gap: calc(6 * var(--discovery-space)); }
  .home-panel .hero-content { padding: calc(24 * var(--hero-space)) calc(24 * var(--hero-space)) calc(48 * var(--hero-space)); }
  .home-panel .pill { padding: calc(9 * var(--hero-space)) calc(13 * var(--hero-space)); }
  .home-panel .hero h1 { margin-block: calc(10 * var(--hero-space)); }
  .home-panel .hero p { margin-block: calc(8 * var(--hero-space)); }
  .home-panel .hero-bottom { padding: calc(12 * var(--hero-space)) calc(24 * var(--hero-space)); gap: calc(12 * var(--hero-space)); }
}
.home-panel .hero h1 { line-height: min(1.08em,calc(5.796765 * var(--viewport-height-unit))); }
.home-panel .hero p { line-height: min(1.5em,calc(3.375 * var(--viewport-height-unit))); }
.home-panel .discovery-card strong { line-height: min(1.05em,calc(4.33125 * var(--viewport-height-unit))); }
.home-panel .app-promo p { line-height: min(1.4em,calc(2.8875 * var(--viewport-height-unit))); }
.home-panel .hero-bottom>span { line-height: min(1.2em,calc(1.8 * var(--viewport-height-unit))); }
@media (min-width:760px) and (max-width:800px) {
  .home-panel .hero-content { padding-top: max(clamp(46px,calc(7.5 * var(--viewport-height-unit)),70px),calc(24 * var(--hero-space))); }
}

/* Premium email confirmation keeps email CSS inside its sandbox. */
#message:has(.payment-email) { overflow: auto; }
#message .surface:has(.payment-email) { width: min(760px, 100%); max-width: 100%; }
.payment-email { display: block; width: 100%; height: 650px; border: 0; background: var(--bg); color-scheme: dark; }

#message .surface:has(.payment-email) > .eyebrow, #message .surface:has(.payment-email) > h1 { display: none; }
#message:has(.payment-email) { align-items: start; padding-top: 24px; }
#message .surface:has(.payment-email) { padding: 12px; }

.account-tools #extend .icon-button { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--accent); }
.account-tools #extend svg { display: block; }

.app-header .account-tools #logout .icon-button { font-size: 23px; }
.account-tools #extend svg { width: 20px; height: 20px; }
@media (max-width:759px) {
  .account-tools #extend { display: inline; }
  .account-tools #extend .icon-button,.account-tools #logout .icon-button { width: 24px; height: 28px; }
  .app-header .account-tools { align-items: center; flex-wrap: nowrap; }
  .app-header .account-tools .timer { font-size: 11px; padding: 0; white-space: nowrap; }
}
@media (max-width:359px) {
  body:has(#timer:not([style*="none"])) .brand { font-size: 16px; gap: 6px; }
  body:has(#timer:not([style*="none"])) .brand img.brand-mark { width: 28px; height: 28px; }
  body:has(#timer:not([style*="none"])) .brand small { font-size: 6px; }
}

#message_content:has(.payment-email) { padding-top: 0; }
@media (max-width:759px) {
  #message:has(.payment-email) { padding-top: 0; }
}

/* Phone hero: readable copy above a dedicated footer/download row. */
.hero-apk { display: none; }
@media (max-width:759px) {
  .home-panel .hero { grid-template-rows: minmax(0,1fr) auto; }
  .home-panel .hero-content { height: auto; padding: 12px; overflow: auto; }
  .home-panel .pill { padding: 7px 10px; font-size: 9px; line-height: 1.2; letter-spacing: 1px; }
  .home-panel .hero h1 { font-size: clamp(22px,7.4vw,30px); line-height: 1.06; letter-spacing: -1.2px; margin: 8px 0 6px; }
  .home-panel .hero p { font-size: 12px; line-height: 1.35; margin: 0; }
  .home-panel .hero-bottom { position: relative; padding: 8px 12px; gap: 8px; align-items: center; font-size: 8px; letter-spacing: 1px; }
  .home-panel .hero-bottom>span { line-height: 1.2; }
  .home-panel .hero-bottom>span:nth-child(2) { display: none; }
  .home-panel .hero-apk { display: inline-flex; flex-shrink: 0; min-height: 30px; padding: 6px 10px; gap: 6px; font-size: 11px; line-height: 1.2; letter-spacing: 0; }
}

/* Older Android WebViews retain vh; supported engines use dynamic viewport height. */
@supports (height: 1dvh) { :root { --viewport-height-unit: 1dvh; } }

/* Video remains remote-focusable without drawing an outline behind native playback. */
.player-panel:focus,.player-panel:focus-visible { outline: none !important; box-shadow: none !important; }

/* Transient notices close after five seconds, fading during the final 300ms. */
.app-notice{opacity:1;transition:opacity .3s ease}
.app-notice.is-fading{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.app-notice{transition:none}}

/* Frozen channel-content pilot: keep related discovery links readable. */
.home-panel .hero p.channel-context-links { margin-top: 10px; line-height: 1.5; }

#payment-country-notice { color: #ff5252; font-weight: 700; }

/* Branded delivery artwork sits directly under Choose your pass. */
.instant-delivery { margin: 0 auto 12px; padding: 0; width: 100%; max-width: 450px; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: var(--surface); }
.instant-delivery img { display: block; width: 100%; height: auto; }
.instant-delivery figcaption { padding: 8px 12px; color: var(--muted); font-size: 11px; line-height: 1.5; text-align: center; }

.crypto-payment .exact-payment-note { border-left: 3px solid var(--accent); padding-left: 12px; color: var(--text); }
.crypto-payment .crypto-payment-status { color: var(--accent); }
