/* Vivid Cinema — shared design system. */
:root {
  color-scheme: dark;
  --vivid-font-sans: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --vivid-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --vivid-text-xs:.75rem; --vivid-text-sm:.875rem; --vivid-text-md:1rem; --vivid-text-lg:1.125rem;
  --vivid-text-xl:1.375rem; --vivid-text-2xl:clamp(1.75rem,3vw,2.5rem); --vivid-text-3xl:clamp(2.25rem,5vw,4.5rem);
  --vivid-leading-tight:1.05; --vivid-leading-body:1.5;
  --vivid-weight-regular:400; --vivid-weight-medium:500; --vivid-weight-semibold:600; --vivid-weight-bold:700;
  --vivid-space-1:.25rem; --vivid-space-2:.5rem; --vivid-space-3:.75rem; --vivid-space-4:1rem; --vivid-space-5:1.25rem;
  --vivid-space-6:1.5rem; --vivid-space-8:2rem; --vivid-space-10:2.5rem; --vivid-space-12:3rem; --vivid-space-16:4rem; --vivid-space-20:5rem;
  --vivid-content-width:1500px; --vivid-reading-width:720px; --vivid-page-gutter:clamp(1rem,2.8vw,3rem);
  --vivid-section-gap:clamp(2.5rem,6vw,5rem); --vivid-grid-gap:clamp(.7rem,1.3vw,1.25rem);
  --vivid-bg:#080a0e; --vivid-bg-elevated:#0d1015; --vivid-surface-solid:#111318; --vivid-surface:rgba(17,19,24,.82);
  --vivid-surface-soft:rgba(255,255,255,.055); --vivid-surface-strong:rgba(255,255,255,.09);
  --vivid-text:#f4f2ed; --vivid-text-muted:#b7b6bc; --vivid-text-subtle:#92939a; --vivid-accent:#c7ff55;
  --vivid-danger:#ff5f56; --vivid-success:#32d583; --vivid-border:rgba(255,255,255,.09); --vivid-border-strong:rgba(255,255,255,.16);
  --vivid-radius-xs:8px; --vivid-radius-sm:12px; --vivid-radius-md:16px; --vivid-radius-lg:24px; --vivid-radius-xl:32px; --vivid-radius-pill:999px;
  --vivid-shadow-sm:0 8px 24px rgba(0,0,0,.18); --vivid-shadow-md:0 18px 50px rgba(0,0,0,.28); --vivid-shadow-lg:0 28px 90px rgba(0,0,0,.42);
  --vivid-glass-blur:22px; --vivid-ease-out:cubic-bezier(.2,.7,.2,1); --vivid-duration-fast:160ms; --vivid-duration-standard:280ms; --vivid-duration-slow:500ms;
}
.vivid-shell{width:min(100% - (var(--vivid-page-gutter)*2),var(--vivid-content-width));margin-inline:auto}
.vivid-section{padding-block:var(--vivid-section-gap)}
.vivid-stack{display:flex;flex-direction:column;gap:var(--vivid-space-4)}
.vivid-row{display:flex;align-items:center;gap:var(--vivid-space-3)}
.vivid-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--vivid-space-3)}
.vivid-glass,.vivid-surface{border:1px solid var(--vivid-border);border-radius:var(--vivid-radius-md);background:var(--vivid-surface);box-shadow:var(--vivid-shadow-sm)}
.vivid-glass{backdrop-filter:blur(var(--vivid-glass-blur)) saturate(120%);-webkit-backdrop-filter:blur(var(--vivid-glass-blur)) saturate(120%)}
.vivid-glass--strong{background:var(--vivid-surface-strong);border-color:var(--vivid-border-strong)}
.vivid-surface--solid{background:var(--vivid-surface-solid)} .vivid-surface--flat{box-shadow:none}
.vivid-button,.vivid-icon-button,.vivid-input,.vivid-select{font:inherit;color:var(--vivid-text)}
.vivid-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;border:1px solid transparent;border-radius:var(--vivid-radius-sm);cursor:pointer;font-weight:600;text-decoration:none;transition:transform var(--vivid-duration-fast) var(--vivid-ease-out),background var(--vivid-duration-fast) ease,border-color var(--vivid-duration-fast) ease,opacity var(--vivid-duration-fast) ease}
.vivid-button:hover{transform:translateY(-1px)} .vivid-button:active{transform:translateY(0)} .vivid-button--primary{background:#fff;color:#08090b}
.vivid-button--secondary{background:var(--vivid-surface-strong);border-color:var(--vivid-border)} .vivid-button--ghost{background:transparent;border-color:transparent}
.vivid-button:disabled{cursor:not-allowed;opacity:.5;transform:none}
.vivid-icon-button{width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--vivid-border);border-radius:50%;background:var(--vivid-surface-soft);cursor:pointer;transition:background var(--vivid-duration-fast) ease,transform var(--vivid-duration-fast) var(--vivid-ease-out)}
.vivid-icon-button:hover{transform:translateY(-1px);background:var(--vivid-surface-strong)}
.vivid-input,.vivid-select{width:100%;min-height:46px;padding:.7rem .9rem;border:1px solid var(--vivid-border);border-radius:var(--vivid-radius-sm);background:rgba(255,255,255,.045);outline:0}
.vivid-input::placeholder{color:var(--vivid-text-subtle)}
.vivid-input:focus-visible,.vivid-select:focus-visible,.vivid-button:focus-visible,.vivid-icon-button:focus-visible,.vivid-link:focus-visible{outline:2px solid #fff;outline-offset:3px}
.vivid-card{overflow:hidden;border:1px solid var(--vivid-border);border-radius:var(--vivid-radius-md);background:var(--vivid-surface-solid);box-shadow:var(--vivid-shadow-sm)}
.vivid-card__media{aspect-ratio:2/3;background:var(--vivid-bg-elevated);overflow:hidden}.vivid-card__media>img{width:100%;height:100%;display:block;object-fit:cover}.vivid-card__body{padding:var(--vivid-space-4)}
.vivid-pill{display:inline-flex;align-items:center;min-height:30px;padding-inline:.7rem;border:1px solid var(--vivid-border);border-radius:999px;background:var(--vivid-surface-soft);color:var(--vivid-text-muted);font-size:.875rem;font-weight:500}
.vivid-skeleton{min-height:1rem;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.1),rgba(255,255,255,.05));background-size:200% 100%;animation:vivid-shimmer 1.5s linear infinite}
@keyframes vivid-shimmer{to{background-position:-200% 0}} .vivid-link{color:inherit;text-decoration:none}
@media(max-width:767px){:root{--vivid-page-gutter:12px;--vivid-section-gap:2.5rem}.vivid-button{min-height:46px}}
@media(prefers-reduced-motion:reduce){.vivid-skeleton{animation:none}.vivid-button,.vivid-icon-button{transition:none}}
.vivid-site-brand{line-height:1;text-decoration:none!important;white-space:nowrap}
.vivid-brand-icon{width:32px;height:32px;display:block;flex:0 0 32px;object-fit:contain}
.vivid-site-brand .vivid-brand-wordmark{display:inline-flex;align-items:baseline;font-weight:800;letter-spacing:-.04em}
.vivid-site-brand .vivid-brand-wordmark>span{font-weight:500;color:#aeb4bd}
.vivid-legal-brand .vivid-brand-icon{width:34px;height:34px;flex-basis:34px}
@media(max-width:640px){.vivid-brand-icon{width:29px;height:29px;flex-basis:29px}.vivid-site-brand{gap:7px}}


/* Vivid Cinema 3.0 — unified material, type, motion and theme tokens. */
:root{
  --vivid-font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --vivid-ui-blur:28px;
  --vivid-ui-blur-strong:42px;
  --vivid-material:rgba(255,255,255,.065);
  --vivid-material-strong:rgba(255,255,255,.105);
  --vivid-material-solid:rgba(20,22,28,.86);
  --vivid-highlight:rgba(255,255,255,.20);
  --vivid-glow:rgba(160,190,255,.12);
  --vivid-focus:rgba(200,215,255,.52);
  --vivid-motion:cubic-bezier(.22,.8,.22,1);
  --vivid-duration-ui:220ms;
}
html[data-vivid-theme="dark"]{color-scheme:dark}
html[data-vivid-theme="light"]{
  color-scheme:light;
  --vivid-bg:#f2f4f7;
  --vivid-bg-elevated:#e9ecf1;
  --vivid-surface-solid:#ffffff;
  --vivid-surface:rgba(255,255,255,.70);
  --vivid-surface-soft:rgba(20,28,40,.055);
  --vivid-surface-strong:rgba(20,28,40,.09);
  --vivid-text:#10131a;
  --vivid-text-muted:#59616d;
  --vivid-text-subtle:#7a828e;
  --vivid-accent:#10131a;
  --vivid-border:rgba(20,28,40,.12);
  --vivid-border-strong:rgba(20,28,40,.20);
  --vivid-material:rgba(255,255,255,.62);
  --vivid-material-strong:rgba(255,255,255,.78);
  --vivid-material-solid:rgba(255,255,255,.88);
  --vivid-highlight:rgba(255,255,255,.72);
  --vivid-glow:rgba(100,130,190,.14);
  --vivid-focus:rgba(70,100,170,.45);
}
html[data-vivid-theme="light"] body{
  background:var(--vivid-bg);
  color:var(--vivid-text);
}
.vivid-theme-toggle{
  width:40px;height:40px;display:inline-grid;place-items:center;flex:0 0 40px;
  border:1px solid var(--vivid-border);border-radius:999px;
  background:var(--vivid-material);color:var(--vivid-text);
  cursor:pointer;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  transition:transform var(--vivid-duration-ui) var(--vivid-motion),background var(--vivid-duration-ui) ease,border-color var(--vivid-duration-ui) ease;
}
.vivid-theme-toggle:hover{transform:translateY(-1px);background:var(--vivid-material-strong)}
.vivid-theme-toggle:active{transform:scale(.95)}
.vivid-theme-toggle:focus-visible{outline:2px solid var(--vivid-focus);outline-offset:3px}
html[data-vivid-theme="light"] .vivid-button--primary{background:#10131a;color:#fff}
html[data-vivid-theme="light"] .vivid-card,
html[data-vivid-theme="light"] .vivid-surface{box-shadow:0 14px 40px rgba(20,28,40,.10)}
html[data-vivid-theme="light"] .vivid-input,
html[data-vivid-theme="light"] .vivid-select{background:rgba(255,255,255,.72);color:var(--vivid-text)}
@media(prefers-reduced-motion:reduce){
  .vivid-theme-toggle{transition:none}
}


/* Cross-page consistency: one type scale, one interaction language, one responsive frame. */
html,body,button,input,textarea,select{font-family:var(--vivid-font-sans)}
body{line-height:var(--vivid-leading-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--vivid-font-sans);font-weight:700;letter-spacing:-.035em}
button,a,.vivid-card,.vivid-discovery-card,.vivid-feature-card,.vivid-mode-chip,.vivid-provider-chip{
  -webkit-tap-highlight-color:transparent;
}
.vivid-button,.vivid-icon-button,.vivid-input,.vivid-select,.vivid-card,.vivid-discovery-card,.vivid-mode-chip,.vivid-provider-chip{
  transition-duration:var(--vivid-duration-ui);
  transition-timing-function:var(--vivid-motion);
}
@media(max-width:767px){
  .vivid-discovery-main,.vivid-collection-main{padding-left:14px;padding-right:14px}
}


/* Light theme contrast pass: inherited legacy white text must follow the active theme. */
html[data-vivid-theme="light"] .vivid-atmosphere,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-section-wrap,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-discovery-main,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-collection-main{color:var(--vivid-text)}
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-card,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-surface,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-filter-panel,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-collection-toolbar,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-library-tabs,
html[data-vivid-theme="light"] .vivid-atmosphere .account-card,
html[data-vivid-theme="light"] .vivid-atmosphere .auth-container,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-search-panel,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-release-popover,
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-collection-card{color:var(--vivid-text)}
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-card :is(h1,h2,h3,h4,h5,h6,p,span),
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-filter-panel :is(h1,h2,h3,h4,h5,h6,p,span),
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-search-panel :is(h1,h2,h3,h4,h5,h6,p,span){color:inherit}
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-text-muted{color:var(--vivid-text-muted)!important}
html[data-vivid-theme="light"] .vivid-atmosphere .vivid-text-subtle{color:var(--vivid-text-subtle)!important}

/* Light mode consistency pass. */
html[data-vivid-theme="light"] body.vivid-discovery-page,
html[data-vivid-theme="light"] body.vivid-collection-page,
html[data-vivid-theme="light"] body.vivid-library-page,
html[data-vivid-theme="light"] body.vivid-watch-page,
html[data-vivid-theme="light"] body.account-page,
html[data-vivid-theme="light"] body[data-vivid-page="auth"],
html[data-vivid-theme="light"] body[data-vivid-page="login"]{background:var(--vivid-bg)!important;color:var(--vivid-text)!important}
html[data-vivid-theme="light"] .vivid-discovery-nav,
html[data-vivid-theme="light"] .vivid-library-nav,
html[data-vivid-theme="light"] .vivid-watch-nav,
html[data-vivid-theme="light"] .vivid-topbar,
html[data-vivid-theme="light"] .vivid-title-nav{background:var(--vivid-material)!important;border-color:var(--vivid-border)!important;box-shadow:0 10px 30px rgba(20,28,40,.08)!important}
html[data-vivid-theme="light"] .vivid-discovery-nav nav a,
html[data-vivid-theme="light"] .vivid-library-nav nav a,
html[data-vivid-theme="light"] .vivid-watch-nav nav a,
html[data-vivid-theme="light"] .vivid-navlinks a{color:var(--vivid-text-muted)!important}
html[data-vivid-theme="light"] .vivid-discovery-nav nav a:hover,
html[data-vivid-theme="light"] .vivid-discovery-nav nav a.is-active,
html[data-vivid-theme="light"] .vivid-library-nav nav a:hover,
html[data-vivid-theme="light"] .vivid-library-nav nav a[aria-current="page"],
html[data-vivid-theme="light"] .vivid-navlinks a:hover,
html[data-vivid-theme="light"] .vivid-navlinks a[aria-current="true"]{color:var(--vivid-text)!important;background:rgba(20,28,40,.07)!important}
html[data-vivid-theme="light"] .vivid-discovery-page .vivid-filter-panel,
html[data-vivid-theme="light"] .vivid-collection-toolbar,
html[data-vivid-theme="light"] .vivid-collection-card,
html[data-vivid-theme="light"] .vivid-library-tabs,
html[data-vivid-theme="light"] .account-card,
html[data-vivid-theme="light"] .auth-container{background:var(--vivid-surface)!important;border-color:var(--vivid-border)!important;box-shadow:0 16px 45px rgba(20,28,40,.08)!important}
html[data-vivid-theme="light"] .vivid-discovery-search input,
html[data-vivid-theme="light"] .vivid-filter-row select,
html[data-vivid-theme="light"] .vivid-collection-toolbar select,
html[data-vivid-theme="light"] .vivid-collection-toolbar>button,
html[data-vivid-theme="light"] .account-field input,
html[data-vivid-theme="light"] .account-field select,
html[data-vivid-theme="light"] .auth-container input{background:#fff!important;color:var(--vivid-text)!important;border-color:var(--vivid-border)!important}
html[data-vivid-theme="light"] .vivid-discovery-copy strong,
html[data-vivid-theme="light"] .vivid-library-card,
html[data-vivid-theme="light"] .vivid-watch-rec-card,
html[data-vivid-theme="light"] .account-card,
html[data-vivid-theme="light"] .auth-container{color:var(--vivid-text)!important}
html[data-vivid-theme="light"] .vivid-discovery-copy small,
html[data-vivid-theme="light"] .vivid-library-card small,
html[data-vivid-theme="light"] .vivid-watch-head p,
html[data-vivid-theme="light"] .account-header p,
html[data-vivid-theme="light"] .account-field label,
html[data-vivid-theme="light"] .account-toggle small,
html[data-vivid-theme="light"] .auth-container>p,
html[data-vivid-theme="light"] .auth-switch,
html[data-vivid-theme="light"] .auth-divider{color:var(--vivid-text-muted)!important}
html[data-vivid-theme="light"] .auth-container .google-auth{background:var(--vivid-surface-strong)!important;color:var(--vivid-text)!important}
html[data-vivid-theme="light"] .vivid-page-back{color:var(--vivid-text-muted);background:rgba(20,28,40,.055);border-color:var(--vivid-border)}
html[data-vivid-theme="light"] .vivid-page-back:hover,
html[data-vivid-theme="light"] .vivid-page-back:focus-visible{color:var(--vivid-text);background:rgba(20,28,40,.09)}


/* Apple TV-inspired refinement: quiet chrome, stronger hierarchy, calmer surfaces.
   Shared across browser and installed-PWA modes. Preserve existing component behavior. */
:root{
  --vivid-content-width:1440px;
  --vivid-page-gutter:clamp(16px,2.4vw,40px);
  --vivid-section-gap:clamp(2.25rem,4.5vw,4.5rem);
  --vivid-grid-gap:clamp(.65rem,1vw,1rem);
  --vivid-radius-sm:12px;
  --vivid-radius-md:14px;
  --vivid-radius-lg:22px;
}
body{
  min-width:320px;
  background:var(--vivid-bg);
}
.vivid-shell{
  width:min(100% - (var(--vivid-page-gutter)*2),var(--vivid-content-width));
}
.vivid-button{
  min-height:42px;
  padding:.62rem .95rem;
  border-radius:12px;
  letter-spacing:-.01em;
}
.vivid-icon-button{
  width:42px;
  height:42px;
}
.vivid-card{
  border-radius:14px;
  box-shadow:none;
}
.vivid-pill{
  min-height:28px;
  font-size:.8rem;
}
.vivid-page-back{
  font-size:.8rem;
}
.vivid-discovery-main,
.vivid-collection-main{
  max-width:var(--vivid-content-width);
}
.vivid-discovery-main h1,
.vivid-collection-main h1,
.vivid-library-main h1,
.vivid-title-page h1{
  line-height:1.02;
  text-wrap:balance;
}
.vivid-discovery-main h2,
.vivid-collection-main h2,
.vivid-library-main h2,
.vivid-title-page h2{
  line-height:1.08;
  text-wrap:balance;
}
.vivid-discovery-main p,
.vivid-collection-main p,
.vivid-library-main p{
  line-height:1.55;
}
.vivid-card:focus-visible,
.vivid-discovery-card:focus-visible,
.vivid-feature-card:focus-visible,
.vivid-button:focus-visible,
.vivid-icon-button:focus-visible,
.vivid-link:focus-visible{
  outline:2px solid var(--vivid-focus);
  outline-offset:3px;
}
@media(max-width:767px){
  :root{
    --vivid-page-gutter:14px;
    --vivid-section-gap:2.5rem;
  }
  .vivid-shell{width:min(100% - 28px,var(--vivid-content-width))}
  .vivid-card{border-radius:12px}
}
@media(prefers-reduced-motion:reduce){
  .vivid-card,.vivid-button,.vivid-icon-button{transition:none!important}
}


/* Home landing-page density refinement.
   Keep the cinematic hero, but remove visual congestion and excess copy on entry. */
.vivid-catalogue-explore{
  max-width:var(--vivid-content-width);
  margin:0 auto;
  padding:22px var(--vivid-page-gutter) 8px;
}
.vivid-catalogue-explore-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:14px;
}
.vivid-catalogue-explore-head > div{min-width:0}
.vivid-catalogue-explore-head > div > span{
  display:block;
  margin-bottom:5px;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--vivid-text-subtle);
}
.vivid-catalogue-explore-head h2{
  margin:0;
  font-size:clamp(1.25rem,2.2vw,1.65rem);
  line-height:1.08;
}
.vivid-catalogue-explore-head p{
  margin:5px 0 0;
  max-width:520px;
  font-size:.78rem;
  line-height:1.45;
  color:var(--vivid-text-muted);
}
.vivid-catalogue-explore-head > a{
  flex:0 0 auto;
  color:var(--vivid-text-muted);
  font-size:.76rem;
  text-decoration:none;
  white-space:nowrap;
}
.vivid-catalogue-chips{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:2px 2px 8px;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
}
.vivid-catalogue-chips::-webkit-scrollbar{display:none}
.vivid-catalogue-chips a{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid var(--vivid-border);
  border-radius:999px;
  color:var(--vivid-text-muted);
  background:var(--vivid-surface-soft);
  font-size:.72rem;
  text-decoration:none;
}
.vivid-catalogue-chips a:hover{
  color:var(--vivid-text);
  background:var(--vivid-surface-strong);
}
@media(max-width:640px){
  .vivid-catalogue-explore{padding:18px 12px 4px}
  .vivid-catalogue-explore-head{display:block;margin-bottom:10px}
  .vivid-catalogue-explore-head > a{display:inline-block;margin-top:8px}
  .vivid-catalogue-explore-head p{max-width:360px;font-size:.74rem}
  .vivid-catalogue-chips{gap:6px}
}

/* Phase I — explainable recommendation signals. */
.vivid-card-reason{
  margin-bottom:4px;
  color:#8e8e93;
  font:600 10px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;
  letter-spacing:.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#recommended-rail .vivid-card-info,
#because-rail .vivid-card-info{min-height:66px}
@media(max-width:640px){.vivid-card-reason{font-size:9px}}


/* Phase K — shared design-system normalization. */
:where(body){font-family:var(--vivid-font-text)}
:where(a,button,input,select,textarea){font-family:var(--vivid-font-text)}
:where(:focus-visible){outline:2px solid rgba(255,255,255,.9);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  :where(html){scroll-behavior:auto!important}
  :where(*,::before,::after){animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}


/* Phase M — accessible navigation and interaction affordances. */
.vivid-skip-link{position:fixed;top:8px;left:8px;z-index:20000;transform:translateY(-160%);padding:10px 14px;border-radius:9px;background:#f5f5f7;color:#090a0c;font:600 13px/1 var(--vivid-font-text);text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.vivid-skip-link:focus{transform:translateY(0);outline:3px solid #fff;outline-offset:2px}
:where(button,a,input,select,textarea):focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(forced-colors:active){
  :where(button,a,input,select,textarea):focus-visible{outline:2px solid CanvasText;outline-offset:3px}
  .vivid-skip-link{border:1px solid ButtonText;background:Canvas;color:CanvasText}
}
@media(prefers-reduced-motion:reduce){.vivid-skip-link{transition:none!important}}


/* Vivid Cinema — shared Liquid Glass material system. Progressive enhancement. */
:root{--vivid-glass-stroke:rgba(255,255,255,.13);--vivid-glass-stroke-soft:rgba(255,255,255,.075);--vivid-glass-shadow:0 18px 54px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.075);--vivid-glass-blur:22px;--vivid-glass-radius:20px}
@supports(color:color-mix(in srgb,white,black)){:root{--vivid-glass-stroke:color-mix(in srgb,white 14%,transparent);--vivid-glass-stroke-soft:color-mix(in srgb,white 8%,transparent)}}
.vivid-topbar,.vivid-mobile-nav,.vivid-release-popover,.vivid-search-dialog,.vivid-search-panel{-webkit-backdrop-filter:blur(var(--vivid-glass-blur)) saturate(165%);backdrop-filter:blur(var(--vivid-glass-blur)) saturate(165%);border-color:var(--vivid-glass-stroke);box-shadow:0 28px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08)}
.vivid-topbar{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.065),transparent 42%),linear-gradient(180deg,rgba(20,23,29,.78),rgba(10,12,16,.66));border-bottom-color:var(--vivid-glass-stroke)}
.vivid-topbar:after{content:"";position:absolute;inset:0 0 auto;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2) 22%,rgba(255,255,255,.07) 72%,transparent)}
.vivid-topbar .vivid-navlinks a,.vivid-topbar .vivid-nav-action,.vivid-notification-button{transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease}
.vivid-topbar .vivid-navlinks a:hover,.vivid-topbar .vivid-navlinks a[aria-current="page"],.vivid-topbar .vivid-nav-action:hover{background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
.vivid-nav-search,.vivid-live-search,.vivid-input,.vivid-select,.vivid-search-input{background:rgba(255,255,255,.045);border-color:var(--vivid-glass-stroke-soft);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.vivid-nav-search:focus-within,.vivid-live-search:focus-within,.vivid-input:focus-visible,.vivid-select:focus-visible,.vivid-search-input:focus-visible{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.24)}
.vivid-release-popover,.vivid-search-dialog,.vivid-search-panel,.vivid-mobile-nav{background:linear-gradient(145deg,rgba(35,39,47,.9),rgba(11,13,18,.88));border:1px solid var(--vivid-glass-stroke);-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%);box-shadow:0 28px 90px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.09)}
.vivid-glass,.vivid-glass--strong{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018) 54%,rgba(255,255,255,.035));border:1px solid var(--vivid-glass-stroke);-webkit-backdrop-filter:blur(var(--vivid-glass-blur)) saturate(150%);backdrop-filter:blur(var(--vivid-glass-blur)) saturate(150%);box-shadow:var(--vivid-glass-shadow)}
.vivid-glass--strong{background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035))}
.vivid-card,.vivid-surface,.vivid-catalogue-explore,.vivid-news-home-card,.vivid-live-guide,.vivid-live-player,.vivid-live-recent{border-color:var(--vivid-glass-stroke-soft);box-shadow:var(--vivid-glass-shadow)}
.vivid-card,.vivid-discovery-card,.vivid-feature-card{transition:transform .24s cubic-bezier(.2,.75,.25,1),border-color .24s ease,box-shadow .24s ease,background .24s ease}
.vivid-card:hover,.vivid-discovery-card:hover,.vivid-feature-card:hover{border-color:var(--vivid-glass-stroke);box-shadow:0 18px 44px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.07)}
.vivid-button,.vivid-icon-button,.vivid-theme-toggle,.vivid-page-back,.vivid-live-try-next,.vivid-live-favorite,.vivid-live-favorites-toggle{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.vivid-button--secondary,.vivid-button--ghost,.vivid-icon-button,.vivid-theme-toggle,.vivid-page-back{background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.025));border-color:var(--vivid-glass-stroke-soft);box-shadow:inset 0 1px 0 rgba(255,255,255,.055)}
.vivid-button--secondary:hover,.vivid-icon-button:hover,.vivid-theme-toggle:hover,.vivid-page-back:hover{background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.045));border-color:var(--vivid-glass-stroke)}
.vivid-pill,.vivid-catalogue-chips a,.vivid-nav-search,.vivid-live-filters button{-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}
.vivid-button:focus-visible,.vivid-icon-button:focus-visible,.vivid-link:focus-visible,.vivid-topbar a:focus-visible,.vivid-topbar button:focus-visible,.vivid-mobile-nav a:focus-visible,.vivid-mobile-nav button:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.vivid-card:hover,.vivid-discovery-card:hover,.vivid-feature-card:hover{transform:translateY(-2px)}}
@media(max-width:700px){:root{--vivid-glass-blur:18px;--vivid-glass-radius:16px}.vivid-topbar{-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.vivid-release-popover,.vivid-search-dialog,.vivid-search-panel,.vivid-mobile-nav{-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}}
@media(prefers-reduced-motion:reduce){.vivid-card,.vivid-discovery-card,.vivid-feature-card,.vivid-button,.vivid-icon-button,.vivid-theme-toggle,.vivid-page-back,.vivid-navlinks a,.vivid-topbar .vivid-nav-action{transition:none!important;animation:none!important;scroll-behavior:auto!important}.vivid-card:hover,.vivid-discovery-card:hover,.vivid-feature-card:hover,.vivid-button:hover,.vivid-icon-button:hover,.vivid-theme-toggle:hover{transform:none!important}}
@media(forced-colors:active){.vivid-glass,.vivid-glass--strong,.vivid-card,.vivid-surface,.vivid-topbar,.vivid-release-popover,.vivid-mobile-nav{border:1px solid CanvasText;backdrop-filter:none;-webkit-backdrop-filter:none}}


/* Shared native-scroll polish — affects programmatic/anchor scrolling, not finger or wheel speed. */
:where(html){scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){:where(html){scroll-behavior:auto!important;}}


/* Vivid Cinema — true bold typography, enforced consistently across every page.
   Use the loaded bold font face (700) instead of relying on lighter defaults.
   Keep icon glyphs and SVG artwork untouched. */
body,
body :where(*):not(i):not(svg):not(path):not([class*="bi-"]):not([aria-hidden="true"]) {
  font-weight: 700 !important;
  font-synthesis: weight;
}
body :is(h1,h2,h3,.vivid-page-title,.vivid-hero-title,.vivid-brand-wordmark) {
  font-weight: 800 !important;
}
body :is(h4,h5,h6,strong,b,th,legend,label,button,[role="button"]) {
  font-weight: 700 !important;
}
