
/* Plex Zone — Cinema. Based on the approved Cinema mockup. */
:root { --bg:#0b1016; --bg-2:#0b1016; --surface:#151d26; --surface-2:#1c2732; --panel:#151d26; --card:#151d26; --text:#f5f7fa; --muted:#a9b5c2; --line:#293542; --bd:#293542; --accent:#e5a00d; --plex:#e5a00d; --accent-2:#a9c6ae; --radius:13px; --shadow:0 10px 28px #0003; color-scheme:dark; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:96px; }
body.pz-page, body#plex-cinema { margin:0; background:#0b1016; color:#f5f7fa; font-family:Inter,"Segoe UI",sans-serif; font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased; }
:focus-visible { outline:2px solid #e5a00d; outline-offset:4px; }
.pz-head { position:relative; z-index:80; min-height:74px; display:flex; align-items:center; gap:28px; padding:0 5%; border-bottom:1px solid #293542; background:#0d141b; }
.pz-head a { text-decoration:none; }
.pz-brand { display:flex; align-items:center; gap:10px; font-size:17px; font-weight:700; letter-spacing:-.03em; white-space:nowrap; color:#f5f7fa; }
.pz-brand > span:last-child > span { color:#a9b5c2; font-weight:400; }
.pz-mark { display:grid; place-items:center; flex:none; width:32px; height:32px; background:#e5a00d; color:#17120a; border-radius:10px; font-size:19px; }
.pz-nav { display:flex; align-items:center; gap:22px; font-size:13px; flex:1; min-width:0; }
.pz-nav a { color:#a9b5c2; white-space:nowrap; padding-block:12px; }
.pz-nav a:hover, .pz-nav a[aria-current] { color:#f5f7fa; }
.pz-request { background:#e5a00d; color:#17120a; padding:11px 15px; border-radius:10px; font-size:13px; font-weight:700; white-space:nowrap; }
.pz-request:hover { background:#f2b531; }
.pz-account { position:relative; flex:none; font-size:13px; }
.pz-account summary { display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; color:#a9b5c2; }
.pz-account summary::-webkit-details-marker { display:none; }
.pz-avatar { display:grid; place-items:center; width:32px; height:32px; border:1px solid #293542; border-radius:50%; font-weight:600; color:#f5f7fa; }
.pz-account-menu { position:absolute; right:0; top:44px; width:210px; padding:8px; background:#151d26; border:1px solid #293542; border-radius:12px; box-shadow:0 16px 45px #0008; }
.pz-head .pz-account-menu a, .pz-account-name { display:block; padding:10px 12px; color:#d0d5dc; font-size:13px; border-radius:7px; }
.pz-account-name { color:#e5a00d; border-bottom:1px solid #293542; margin-bottom:4px; overflow-wrap:anywhere; }
.pz-account-menu a:hover { background:#1c2732; }
.pz-eyebrow { color:#e5a00d; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.16em; }
.pz-page h1 { color:#f5f7fa; font-style:normal; text-transform:none; text-shadow:none; text-align:left; letter-spacing:-.04em; line-height:1.1; }
.pz-page button, .pz-page input, .pz-page select, .pz-page textarea { font-family:inherit; }
.pz-page input:not([type=checkbox]):not([type=radio]), .pz-page select, .pz-page textarea { color:#f5f7fa; background:#0d141b; border:1px solid #33404e; border-radius:10px; padding:12px 14px; }
.pz-page input::placeholder, .pz-page textarea::placeholder { color:#8795a4; }
.pz-page input:focus, .pz-page textarea:focus, .pz-page select:focus { border-color:#e5a00d; box-shadow:0 0 0 3px #e5a00d20; }
.pz-page .card, .pz-page .block, .pz-page .rail-block, .pz-page .box { background:#151d26; border:1px solid #293542; border-radius:13px; box-shadow:none; }
.pz-page .muted, .pz-page .sub, .pz-page .hint, .pz-page .subtitle { color:#a9b5c2; }
.pz-page .btn, .pz-page input[type=submit] { border-radius:10px; font-weight:600; }
.pz-page table { border-collapse:collapse; }
.pz-page th { background:#101820; color:#a9b5c2; }
.pz-page th, .pz-page td { border-color:#293542; }
.pz-page .brand, .pz-page .backsite { display:inline-flex; align-items:center; padding:10px 14px; background:#151d26; border:1px solid #293542; border-radius:10px; color:#f5f7fa; font-family:inherit; font-size:13px; font-weight:500; text-decoration:none; letter-spacing:0; text-transform:none; text-shadow:none; animation:none; }
.pz-page .brand span { color:#e5a00d; }
.pz-editorial > .wrap, .pz-editorial > .container { width:min(90%,1320px); max-width:1320px; margin:32px auto; padding:0; }
.pz-editorial .masthead { padding:36px; margin-bottom:24px; border:1px solid #293542; border-radius:16px; background:radial-gradient(ellipse at 85% 10%,#74614138,transparent 55%),#111820; }
.pz-editorial .masthead .title { margin:0; color:#f5f7fa; text-align:left; font-size:clamp(28px,4vw,48px); font-weight:700; font-style:normal; letter-spacing:-.04em; line-height:1.1; text-shadow:none; text-transform:none; animation:none; background:none; border:none; backdrop-filter:none; }
.pz-editorial .masthead .subtitle { max-width:65ch; margin:16px 0 0; color:#a9b5c2; font-size:15px; line-height:1.65; font-weight:400; letter-spacing:0; text-transform:none; text-decoration:none; text-shadow:none; animation:none; }
.pz-editorial .masthead .tag { margin-top:12px; }
.pz-editorial .block, .pz-editorial .rail-block { padding:24px; }
.pz-editorial .block h2, .pz-editorial .rail-block h2 { color:#f5f7fa; font-size:20px; letter-spacing:-.02em; }
.pz-editorial .content { color:#c6cfd8; line-height:1.7; }
.pz-list > header:not(.pz-head) { position:relative; background:#0b1016; border:none; backdrop-filter:none; }
.pz-list > header:not(.pz-head) .wrap { max-width:1320px; width:90%; padding:24px 0; }
.pz-list > header[style] { flex-wrap:wrap; gap:8px; padding:16px 5% !important; background:#0b1016 !important; }
.pz-list .title h1 { font-size:clamp(28px,3.5vw,42px); }
.pz-list .controls { margin-top:24px; gap:14px; }
.pz-list main > .grid { max-width:1320px; }
.pz-list .card { padding:20px; gap:10px; }
.pz-list .card h3 { color:#f5f7fa; font-size:17px; }
.pz-list .tag, .pz-list .pill { background:#1c2732; border-color:#293542; color:#a9b5c2; }
.pz-list dialog { background:#151d26; border-color:#293542; }
.pz-wishlist > .wrap { max-width:1280px; width:90%; padding:32px 0 48px; }
.pz-page-intro { margin-bottom:28px; max-width:680px; }
.pz-page-intro h1 { font-size:clamp(32px,4vw,48px); margin:12px 0; }
.pz-page-intro p { color:#a9b5c2; margin:0; line-height:1.65; }
.pz-wishlist .split { grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); gap:24px; }
.pz-wishlist .split > .card { padding:26px; overflow:visible; }
.pz-wishlist .split > .card > h2 { text-align:left; font-size:20px; margin:0 0 22px; letter-spacing:-.02em; }
.pz-wishlist form > div { margin-bottom:18px; }
.pz-wishlist label { color:#a9b5c2; font-size:13px; margin-bottom:8px; }
.pz-wishlist .request-card { background:#101820; border:1px solid #293542; padding:18px; border-radius:11px; }
.pz-wishlist .request-title { font-weight:600; font-size:15px; }
.pz-wishlist .pill { border-color:#293542; background:#1c2732; color:#a9b5c2; font-size:12px; padding:7px 10px; }
.pz-wishlist .btn { padding:12px 16px; }
body.pz-auth { display:block; padding:0; background:#0b1016; }
.pz-auth .pz-head { justify-content:space-between; }
.pz-auth-help { color:#a9b5c2; font-size:13px; }
.pz-auth-layout { min-height:calc(100vh - 74px); width:min(90%,1180px); margin:auto; display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:80px; padding:56px 0; }
.pz-auth-intro { max-width:550px; padding:24px 0; }
.pz-auth-intro h1 { font-size:clamp(38px,5vw,62px); margin:16px 0 20px; }
.pz-auth-intro p { color:#a9b5c2; max-width:440px; line-height:1.7; }
.pz-auth-art { height:140px; margin-top:30px; border-radius:14px; background:radial-gradient(ellipse at 76% 24%,#746141 0,#31303a 22%,transparent 50%),linear-gradient(110deg,#111820 8%,#20242b 48%,#10151b 100%); border:1px solid #293542; }
.pz-auth-layout > .card { width:100%; max-width:440px; padding:34px; position:relative; overflow:visible; }
.pz-auth .card::before { content:none !important; }
.pz-auth .card h2 { text-align:left; font-size:25px; margin-bottom:24px; letter-spacing:-.025em; }
.pz-auth .card h3 { text-align:left; font-size:17px; }
.pz-auth form label { display:block; font-size:13px; color:#a9b5c2; margin-bottom:7px; }
.pz-auth form button { background:#e5a00d; color:#17120a; padding:13px; font-weight:700; }
.pz-auth .links { font-size:13px; line-height:1.9; }
.pz-auth .links a { font-weight:400; color:#a9b5c2; }
body.pz-admin { display:block; padding:0; }
.pz-admin > .wrap, .pz-admin > .container { margin:32px auto; max-width:1320px; width:90%; }
.pz-admin > .card { width:90%; max-width:1200px; margin:32px auto; padding:28px; }
.pz-admin h2 { color:#f5f7fa; text-align:left; letter-spacing:-.025em; }
.pz-admin h3 { text-align:left; }
.pz-admin a { text-transform:none; }
.pz-page footer { color:#a9b5c2; border-color:#293542; }
@media(max-width:1100px) { .pz-head { gap:18px; } .pz-nav { gap:16px; overflow-x:auto; scrollbar-width:none; } .pz-nav::-webkit-scrollbar { display:none; } .pz-account-label { display:none; } .pz-auth-layout { gap:40px; } }
@media(max-width:780px) {
  html { scroll-padding-top:24px; }
  .pz-head { flex-wrap:wrap; gap:12px; padding:14px 5%; }
  .pz-nav { order:3; flex-basis:100%; overflow-x:auto; gap:17px; padding:5px 0; scrollbar-width:none; }
  .pz-nav a { padding-block:4px; }
  .pz-request { margin-left:auto; }
  .pz-wishlist .split { grid-template-columns:1fr; }
  .pz-wishlist .split > .card { padding:22px; }
  .pz-auth-layout { min-height:auto; grid-template-columns:1fr; gap:26px; padding:30px 0 50px; }
  .pz-auth-intro { padding:0; max-width:none; }
  .pz-auth-intro h1 { font-size:38px; }
  .pz-auth-art { display:none; }
  .pz-auth-layout > .card { max-width:none; }
  .pz-editorial .masthead { padding:26px; }
}
@media(max-width:420px) { .pz-brand { font-size:15px; } .pz-request { font-size:12px; padding:10px 12px; } .pz-auth-layout > .card { padding:24px; } .pz-page input,.pz-page select,.pz-page textarea { font-size:16px; } .pz-editorial .block,.pz-editorial .rail-block { padding:18px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }

      #plex-cinema {
        --pz-bg: #0b1016;
        --pz-surface: #151d26;
        --pz-surface-2: #1c2732;
        --pz-text: #f5f7fa;
        --pz-muted: #a9b5c2;
        --pz-line: #293542;
        --pz-gold: #e5a00d;
        color-scheme: dark;
        background: var(--pz-bg);
        color: var(--pz-text);
        font-family: Inter, "Segoe UI", sans-serif;
        border-radius: 22px;
        overflow: hidden;
        min-height: 1070px;
      }
      #plex-cinema * { box-sizing: border-box; }
      #plex-cinema a { color: inherit; text-decoration: none; }
      #plex-cinema .pz-head {
        min-height: 74px; display: flex; align-items: center; gap: 28px;
        padding: 0 5%; border-bottom: 1px solid var(--pz-line); background: #0d141b;
      }
      #plex-cinema .pz-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; white-space: nowrap; letter-spacing: -.03em; }
      #plex-cinema .pz-mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--pz-gold); color: #17120a; font-size: 19px; }
      #plex-cinema .pz-brand span:last-child { color: var(--pz-muted); font-weight: 400; }
      #plex-cinema .pz-nav { display: flex; align-items: center; gap: 22px; color: var(--pz-muted); font-size: 13px; flex: 1; }
      #plex-cinema .pz-nav a:hover, #plex-cinema .pz-nav a:focus-visible { color: var(--pz-text); }
      #plex-cinema .pz-request { background: var(--pz-gold); color: #17120a; padding: 11px 15px; border-radius: 10px; font-size: 13px; font-weight: 700; white-space: nowrap; }
      #plex-cinema .pz-hero {
        min-height: 390px; display: flex; align-items: end; padding: 52px 7%;
        background: radial-gradient(ellipse at 76% 24%, #746141 0, #31303a 22%, transparent 50%), linear-gradient(110deg, #111820 8%, #20242b 48%, #10151b 100%);
        position: relative; isolation: isolate;
      }
      #plex-cinema .pz-hero:after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(11,16,22,.95), rgba(11,16,22,.52) 55%, rgba(11,16,22,.08)); }
      #plex-cinema .pz-hero-copy { max-width: 570px; }
      #plex-cinema .pz-eyebrow { color: var(--pz-gold); text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .16em; }
      #plex-cinema h1 { font-size: clamp(34px, 5vw, 57px); line-height: 1.02; letter-spacing: -.045em; margin: 13px 0; }
      #plex-cinema .pz-hero p { color: #d0d5dc; max-width: 465px; line-height: 1.65; font-size: 15px; }
      #plex-cinema .pz-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
      #plex-cinema .pz-action { border: 1px solid #ffffff30; padding: 12px 16px; border-radius: 10px; background: #ffffff12; font-size: 13px; font-weight: 600; }
      #plex-cinema .pz-action.primary { background: var(--pz-gold); border-color: var(--pz-gold); color: #17120a; }
      #plex-cinema .pz-content { padding: 26px 5% 42px; }
      #plex-cinema .pz-section { margin: 4px 0 29px; }
      #plex-cinema .pz-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 13px; }
      #plex-cinema h2 { font-size: 19px; letter-spacing: -.02em; margin: 0; }
      #plex-cinema .pz-more { font-size: 12px; color: var(--pz-muted); }
      #plex-cinema .pz-posters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
      #plex-cinema .pz-poster { min-width: 0; }
      #plex-cinema .pz-art { aspect-ratio: 3 / 4; border-radius: 13px; padding: 15px; display: flex; align-items: end; overflow: hidden; position: relative; background: linear-gradient(135deg,#293b48,#111820 78%); }
      #plex-cinema .pz-art:before { content: ""; position: absolute; width: 150px; height: 150px; border-radius: 50%; right: -25px; top: -60px; background: #e5a00d44; filter: blur(1px); }
      #plex-cinema .pz-art.alt1 { background: linear-gradient(135deg,#415044,#171d1b 78%); }
      #plex-cinema .pz-art.alt1:before { background: #a4bc8c33; }
      #plex-cinema .pz-art.alt2 { background: linear-gradient(135deg,#4a3941,#1b151b 78%); }
      #plex-cinema .pz-art.alt2:before { background: #c06b7038; }
      #plex-cinema .pz-art.alt3 { background: linear-gradient(135deg,#374454,#141922 78%); }
      #plex-cinema .pz-art.alt3:before { background: #87a9ca3b; }
      #plex-cinema .pz-art strong { position: relative; max-width: 85%; font-size: clamp(15px, 2vw, 21px); line-height: 1.05; letter-spacing: -.03em; text-shadow: 0 2px 10px #000; }
      #plex-cinema .pz-poster small { display: block; color: var(--pz-muted); font-size: 12px; margin: 8px 2px 0; }
      #plex-cinema .pz-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
      #plex-cinema .pz-link { background: var(--pz-surface); padding: 16px; border-radius: 12px; display: flex; align-items: center; justify-content: space-between; font-size: 14px; }
      #plex-cinema .pz-link span { color: var(--pz-gold); }
      #plex-cinema .pz-footer { border-top: 1px solid var(--pz-line); padding: 21px 5%; color: var(--pz-muted); font-size: 12px; display: flex; justify-content: space-between; }
      @media (max-width: 780px) {
        #plex-cinema { min-height: 1320px; border-radius: 16px; }
        #plex-cinema .pz-head { flex-wrap: wrap; gap: 12px; padding: 14px 5%; }
        #plex-cinema .pz-nav { order: 3; flex-basis: 100%; overflow-x: auto; gap: 17px; padding: 5px 0; }
        #plex-cinema .pz-nav a { white-space: nowrap; }
        #plex-cinema .pz-request { margin-left: auto; }
        #plex-cinema .pz-hero { min-height: 350px; padding: 42px 6%; }
        #plex-cinema .pz-posters { grid-template-columns: repeat(2, minmax(0,1fr)); }
        #plex-cinema .pz-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
      }
      @media (max-width: 420px) {
        #plex-cinema { min-height: 1510px; }
        #plex-cinema .pz-content { padding-inline: 18px; }
        #plex-cinema .pz-hero { min-height: 370px; }
        #plex-cinema .pz-poster small { font-size: 11px; }
        #plex-cinema .pz-link { padding: 13px 11px; font-size: 12px; }
        #plex-cinema .pz-footer { flex-direction: column; gap: 8px; }
      }
    
/* Keep the approved composition when displayed as a complete website. */
body#plex-cinema { border-radius:0; min-height:100vh; }
#plex-cinema h1 { color:#f5f7fa; font-style:normal; text-align:left; text-transform:none; text-shadow:none; }
#plex-cinema .pz-hero { align-items:flex-end; }
#plex-cinema .pz-hero-copy { width:100%; }
#plex-cinema .pz-action, #plex-cinema .pz-request { display:inline-flex; align-items:center; gap:8px; }
#plex-cinema .pz-head .pz-request { color:#17120a; }
#plex-cinema .pz-brand > span:last-child { color:#f5f7fa; font-weight:700; }
#plex-cinema .pz-brand > span:last-child > span { color:#a9b5c2; font-weight:400; }
#plex-cinema .pz-posters { grid-auto-flow:column; grid-auto-columns:calc((100% - 56px)/6.25); grid-template-columns:none; overflow-x:auto; padding:0 0 12px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#293542 transparent; }
#plex-cinema .pz-poster { scroll-snap-align:start; background:none; border:0; box-shadow:none; padding:0; transition:transform .18s ease; }
#plex-cinema .pz-poster:hover { transform:translateY(-3px); }
#plex-cinema .pz-art { aspect-ratio:3 / 4; border-radius:13px; }
#plex-cinema .pz-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:1; padding:0; z-index:1; }
#plex-cinema .pz-art:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,#0b1016e0 100%); }
#plex-cinema .pz-art strong { z-index:1; font-size:clamp(17px,1.6vw,24px); }
#plex-cinema .pz-poster small { line-height:1.5; }
#plex-cinema .pz-poster .countdown { box-sizing:border-box; width:100%; font-size:11px; border:1px solid #293542; background:#151d26; margin:8px 0 0; border-radius:7px; padding:6px 4px; }
#plex-cinema .pz-poster .countdown .slots { width:100%; justify-content:center; gap:2px; }
#plex-cinema .pz-poster .countdown .slot { gap:1px; }
#plex-cinema .pz-poster .countdown .sep { margin:0; }
#plex-cinema .pz-poster .countdown .num { font-size:11px; }
#plex-cinema .pz-poster .countdown .unit { font-size:8px; }
@media(max-width:480px) {
  #plex-cinema .pz-poster .countdown .slots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 2px; }
  #plex-cinema .pz-poster .countdown .slot { justify-content:center; min-width:0; }
  #plex-cinema .pz-poster .countdown .sep { display:none; }
}
#plex-cinema .pz-rail-controls { display:flex; gap:6px; align-items:center; }
#plex-cinema .pz-rail-controls button { width:28px; height:28px; border:1px solid #293542; border-radius:7px; background:#151d26; color:#a9b5c2; font:inherit; cursor:pointer; }
#plex-cinema .pz-rail-controls button:hover { color:#f5f7fa; border-color:#a9b5c2; }
#plex-cinema .pz-rail-controls button:disabled { opacity:.3; cursor:default; }
#plex-cinema .pz-link { border:1px solid transparent; text-align:left; width:100%; font-family:inherit; line-height:1.5; }
#plex-cinema .pz-link:hover { border-color:#293542; background:#1c2732; }
#plex-cinema .pz-link-group { position:relative; }
#plex-cinema .pz-link-group summary { cursor:pointer; list-style:none; }
#plex-cinema .pz-link-group summary::-webkit-details-marker { display:none; }
#plex-cinema .pz-link-options { position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:4; padding:6px; border:1px solid #293542; background:#151d26; border-radius:10px; box-shadow:0 12px 30px #0007; }
#plex-cinema .pz-link-options a { display:block; padding:10px; color:#a9b5c2; font-size:13px; border-radius:6px; }
#plex-cinema .pz-link-options a:hover { background:#1c2732; color:#f5f7fa; }
#plex-cinema .pz-section:has(.pz-links) { margin-bottom:32px; }
#plex-cinema .pz-section-head h2 { scroll-margin-top:24px; }
#plex-cinema .pz-section > .portfolio-sub { color:#a9b5c2; font-size:13px; }
#plex-cinema .rankings { margin-top:0; }
#plex-cinema .rankings-grid { gap:14px; }
#plex-cinema .rank-card { padding:18px; background:#151d26; border:1px solid #293542; border-radius:13px; box-shadow:none; }
#plex-cinema .rank-title { font-size:16px; letter-spacing:-.02em; margin:0 0 12px; }
#plex-cinema .rank-table { min-width:300px; font-size:13px; }
#plex-cinema .rank-table th { padding:10px; background:#101820; font-size:11px; text-transform:none; letter-spacing:0; }
#plex-cinema .rank-table td { padding:10px; line-height:1.4; }
#plex-cinema .rank-table td:nth-child(3), #plex-cinema .rank-table th:nth-child(3) { text-align:left; }
#plex-cinema .rank-btn-switch.is-active { background:#e5a00d20 !important; border-color:#e5a00d66 !important; }
#plex-cinema .ticker { margin:0; border:0; border-radius:0; background:#101820; height:34px; font-size:12px; }
#plex-cinema .pz-footer { align-items:center; gap:20px; flex-wrap:wrap; }
#plex-cinema .pz-footer-credit { display:flex; align-items:center; gap:12px; }
#plex-cinema .pz-footer img { width:32px; height:32px; object-fit:contain; }
@media(max-width:780px) { #plex-cinema { border-radius:0; min-height:100vh; } #plex-cinema .pz-posters { grid-auto-columns:calc((100% - 14px)/2); grid-template-columns:none; } #plex-cinema .pz-head { gap:12px; } #plex-cinema .pz-account-label { display:none; } }
@media(max-width:420px) { #plex-cinema { min-height:100vh; } #plex-cinema .pz-brand { font-size:15px; } #plex-cinema .pz-request { padding:10px 12px; font-size:12px; } #plex-cinema .pz-art { padding:12px; } #plex-cinema .pz-art strong { font-size:17px; } #plex-cinema .pz-footer { align-items:flex-start; } }
/* Isolate the shared navigation from legacy page-wide selectors. */
.pz-page .pz-head { margin:0; width:100%; border:0; border-bottom:1px solid #293542; border-radius:0; }
.pz-head, .pz-head * { font-family:Inter,"Segoe UI",sans-serif; text-transform:none; font-style:normal; text-shadow:none; }
.pz-head .pz-nav { background:transparent; width:auto; margin:0; }
.pz-head a { height:auto; white-space:nowrap; }
.pz-head .pz-brand { padding:0; }
.pz-head .pz-nav a { padding-inline:0; }
body.pz-page { display:block; }
.pz-page .pz-head .pz-brand > span:last-child > span { color:#a9b5c2; }
.pz-page .pz-head .pz-request { color:#17120a; }
.pz-page .pz-head .pz-account-menu a { color:#d0d5dc; }
#plex-cinema .pz-art img[hidden] { display:none; }
@media(max-width:780px) { .pz-head .pz-nav { flex-basis:100%; } }
.pz-editorial .container > header:not(.pz-head) { background:radial-gradient(ellipse at 85% 10%,#74614138,transparent 55%),#111820; border:1px solid #293542; border-radius:16px; padding:32px; }
.pz-editorial .toc { background:#151d26; border-color:#293542; border-radius:13px; padding:24px; }
.pz-editorial .toc h2 { text-align:left; }
.pz-editorial .header-bar { background:#0b1016; padding:28px 5%; gap:24px; border-bottom:1px solid #293542; }
.pz-editorial .header-bar .logo img { height:64px; }
.pz-editorial .header-bar .site-title { color:#f5f7fa; font-family:inherit; font-size:clamp(18px,2.5vw,28px); letter-spacing:-.025em; }
.pz-admin > .card { overflow-x:auto; }
@media(max-width:780px) { .pz-editorial .header-bar { flex-direction:column; gap:12px; } .pz-editorial .container > header:not(.pz-head) { padding:24px; } }

/* The mockup container must not clip the complete home page. */
html.pz-home-root { height:auto; min-height:100%; overflow-x:clip; overflow-y:auto; }
body#plex-cinema { height:auto; min-height:100vh; overflow-x:clip; overflow-y:visible; }
#plex-cinema .ticker { height:40px; border-bottom:1px solid #293542; }

/* Compact Top 5 panels and consistent banner typography. */
#plex-cinema .rankings { max-width:1000px; }
#plex-cinema .rankings .pz-section-head { margin-bottom:10px; }
#plex-cinema .rankings .pz-section-head h2 { font-size:17px; }
#plex-cinema .rankings-grid { gap:12px; }
#plex-cinema .rank-card { padding:12px; border-radius:11px; }
#plex-cinema .rank-title { font-size:14px; margin:0 0 8px; }
#plex-cinema .rank-switch { margin:0 0 8px !important; gap:6px !important; font-size:11px; }
#plex-cinema .rank-btn-switch { padding:3px 8px !important; font-size:11px; line-height:1.25; }
#plex-cinema .rank-table { font-size:12px; }
#plex-cinema .rank-table th { padding:6px 8px; font-size:10px; }
#plex-cinema .rank-table td { padding:5px 8px; font-size:12px; line-height:1.3; }
#plex-cinema .ticker { height:32px; }
#plex-cinema .ticker .item,
#plex-cinema .ticker .item.title,
#plex-cinema .ticker .sep { font-size:12px; line-height:1; font-weight:600; }
#plex-cinema .ticker .item.title { letter-spacing:.02em; }

/* Original media text palette: Plex gold for films, cyan for series. */
#plex-cinema { --media-film:#e5a00d; --media-series:#01b4e4; }
#plex-cinema .ticker { --plex:#e5a00d; --accent:#01b4e4; --accent-2:#90cea1; --violet:#7e389e; }
#plex-cinema .ticker .film { color:var(--media-film); }
#plex-cinema .ticker .serie { color:var(--media-series); }
#plex-cinema .ticker .actu { color:#90cea1; }
#plex-cinema .rank-card:has(#tableFilms) { --rank-color:var(--media-film); }
#plex-cinema .rank-card:has(#tableSeries) { --rank-color:var(--media-series); }
#plex-cinema .rank-card .rank-title,
#plex-cinema .rank-card tbody td:nth-child(3) { color:var(--rank-color); }
#plex-cinema .rank-card .rank-switch strong { color:var(--rank-color) !important; }
#plex-cinema .rank-card:has(#tableSeries) .rank-btn-switch.is-active { background:rgba(1,180,228,.18) !important; border-color:rgba(1,180,228,.4) !important; }
/* Show a clear status once a countdown target is reached. */
#plex-cinema .countdown .slots[hidden],
#plex-cinema .countdown .cd-status[hidden] { display:none; }
#plex-cinema .countdown .cd-status { color:var(--pz-muted); font-size:11px; line-height:1.25; }

/* Horizontal rows: visible scrollbar, free wheel movement, mouse dragging. */
#plex-cinema .pz-posters { scrollbar-width:auto; scrollbar-color:#617183 #151d26; scroll-snap-type:none; }
#plex-cinema .pz-posters::-webkit-scrollbar { height:12px; }
#plex-cinema .pz-posters::-webkit-scrollbar-track { background:#151d26; border-radius:8px; }
#plex-cinema .pz-posters::-webkit-scrollbar-thumb { background:#617183; border:3px solid #151d26; border-radius:8px; }
#plex-cinema .pz-posters::-webkit-scrollbar-thumb:hover { background:var(--pz-gold); }
#plex-cinema .pz-posters.is-dragging { scroll-snap-type:none; user-select:none; }
#plex-cinema .pz-posters.is-dragging, #plex-cinema .pz-posters.is-dragging * { cursor:grabbing; }
@media (pointer:fine) { #plex-cinema .pz-posters .pz-poster { cursor:grab; } }

/* Card management shortcuts are rendered only for the administrator. */
#plex-cinema .pz-section-tools { display:flex; align-items:center; gap:16px; }
#plex-cinema .pz-manage { display:inline-flex; align-items:center; min-height:28px; padding:4px 9px; margin-right:6px; border:1px solid #47505a; border-radius:7px; color:#e5a00d; font-size:12px; }
#plex-cinema .pz-manage:hover { background:#e5a00d18; border-color:#e5a00d; }
@media(max-width:480px) { #plex-cinema .pz-section-tools { gap:8px; } #plex-cinema .pz-section-tools .pz-more { font-size:10px; } }

/* Preserve the complete image; the blurred duplicate fills the spare space. */
#plex-cinema .pz-art:before, #plex-cinema .pz-art:after { content:none; }
#plex-cinema .pz-art img.pz-art-backdrop { object-fit:cover; padding:0; z-index:0; opacity:.3; filter:blur(18px); transform:scale(1.15); pointer-events:none; }
#plex-cinema .pz-poster-title { display:block; min-height:2.5em; margin:8px 2px 0; font-size:clamp(14px,1.2vw,17px); line-height:1.25; letter-spacing:-.02em; color:var(--pz-text); overflow-wrap:anywhere; }
#plex-cinema .pz-poster-tags { display:flex; flex-wrap:wrap; align-content:flex-start; gap:4px; margin:4px 2px 0; }
#plex-cinema .pz-poster-tag { display:inline-block; max-width:100%; padding:2px 5px; border:1px solid #33404e; border-radius:5px; background:#1c2732; color:#c6cfd8; font-size:10px; line-height:1.25; overflow-wrap:anywhere; }
#plex-cinema .pz-poster-tag.is-film { border-color:#e5a00d66; color:var(--media-film,#e5a00d); }
#plex-cinema .pz-poster-tag.is-series { border-color:#01b4e466; color:var(--media-series,#01b4e4); }
@media(max-width:480px) { #plex-cinema .pz-poster-tag { font-size:9px; padding:2px 4px; } }
@media(max-width:1100px) { #plex-cinema .pz-posters { grid-auto-columns:calc((100% - 42px)/5); } }
@media(max-width:780px) { #plex-cinema .pz-posters { grid-auto-columns:calc((100% - 28px)/3.75); } }
@media(max-width:480px) { #plex-cinema .pz-posters { grid-auto-columns:max(100px,calc((100% - 28px)/2.8125)); } }

/* Manual banner movement keeps the automatic animation running. */
#plex-cinema .ticker.is-interactive { cursor:grab; user-select:none; touch-action:pan-y; }
#plex-cinema .ticker.is-interactive.is-dragging { cursor:grabbing; }
#plex-cinema .ticker.is-interactive:focus-visible { outline:2px solid var(--pz-gold, #e5a00d); outline-offset:-2px; }
#plex-cinema .ticker.is-interactive .ticker-track { flex-shrink:0; animation-play-state:running; }
#plex-cinema .ticker .ticker-segment { display:inline-flex; align-items:center; flex-shrink:0; }

/* Plex logo alongside the home headline. */
#plex-cinema .pz-hero-copy { max-width:none; }
#plex-cinema .pz-hero-title { display:flex; align-items:center; justify-content:space-between; gap:clamp(16px,5vw,72px); }
#plex-cinema .pz-hero-title h1 { min-width:0; }
#plex-cinema .pz-hero-plex { display:flex; align-items:center; flex:0 0 auto; gap:18px; margin-right:5%; }
#plex-cinema .pz-hero-plex-name { color:var(--pz-text); font-size:clamp(42px,6vw,78px); font-weight:700; line-height:1; letter-spacing:-.045em; }
#plex-cinema .pz-hero-plex-logo { display:block; flex:0 0 auto; width:clamp(100px,18vw,210px); height:auto; aspect-ratio:1; object-fit:contain; border-radius:28px; border:1px solid #e5a00d20; box-shadow:0 18px 50px #00000030; }
@media(max-width:780px) {
  #plex-cinema .pz-hero-title { gap:16px; }
  #plex-cinema .pz-hero-plex { flex-direction:column; gap:8px; margin-right:0; }
  #plex-cinema .pz-hero-plex-name { order:1; font-size:clamp(22px,4.5vw,34px); }
  #plex-cinema .pz-hero-plex-logo { order:0; }
  #plex-cinema .pz-hero-plex-logo { width:clamp(64px,20vw,110px); margin-right:0; border-radius:18px; }
}
@media(max-width:420px) {
  #plex-cinema .pz-hero-title { gap:12px; }
  #plex-cinema .pz-hero-title h1 { font-size:clamp(26px,8vw,34px); }
}

/* Gold lighting draws attention to browsing and requesting content. */
.pz-head .pz-request,
#plex-cinema .pz-head .pz-request {
  position:relative; isolation:isolate; overflow:hidden;
  background:linear-gradient(125deg,#ffd574,#efb226 42%,#e5a00d);
  border:1px solid #ffe3a3;
  box-shadow:0 0 18px #e5a00d55,0 4px 14px #00000030;
  transition:box-shadow .22s ease,transform .22s ease;
}
.pz-head .pz-request::before {
  content:""; position:absolute; z-index:-1; inset:0; pointer-events:none;
  background:linear-gradient(105deg,transparent 25%,#ffffff70 50%,transparent 75%);
  transform:translateX(-130%); animation:pzWishlistShine 7s ease-in-out infinite;
}
.pz-head .pz-request:hover,
.pz-head .pz-request:focus-visible,
#plex-cinema .pz-head .pz-request:hover,
#plex-cinema .pz-head .pz-request:focus-visible {
  box-shadow:0 0 28px #e5a00d88,0 5px 16px #00000040;
  transform:translateY(-1px);
}
.pz-head .pz-request:focus-visible { outline:2px solid #fff0c7; outline-offset:3px; }
@keyframes pzWishlistShine {
  0%,65% { transform:translateX(-130%); }
  88%,100% { transform:translateX(130%); }
}
#plex-cinema .pz-nav a[href="#liste"] { color:#f2bd4b; font-weight:600; text-shadow:0 0 16px #e5a00d44; }
#plex-cinema .pz-action[href="#liste"] { border-color:#e5a00d80; background:#e5a00d16; box-shadow:0 0 18px #e5a00d18; }
#plex-cinema .pz-action[href="#liste"]:hover,
#plex-cinema .pz-action[href="#liste"]:focus-visible { background:#e5a00d2b; box-shadow:0 0 24px #e5a00d35; }
#plex-cinema .pz-lists-featured {
  position:relative; padding:24px; border-radius:18px; border:1px solid #e5a00d75;
  background:radial-gradient(ellipse at 12% 0%,#e5a00d24,transparent 65%),linear-gradient(125deg,#1b2027,#111820);
  box-shadow:0 0 30px #e5a00d18,inset 0 1px 0 #ffe3a322;
}
#plex-cinema .pz-lists-featured .pz-section-head h2 { color:#ffd574; text-shadow:0 0 20px #e5a00d40; }
#plex-cinema .pz-lists-featured .pz-more { color:#f2bd4b; font-weight:600; }
#plex-cinema .pz-lists-featured .pz-link {
  border-color:#e5a00d45; font-weight:600;
  background:linear-gradient(135deg,#e5a00d1f,#151d26 80%);
  box-shadow:inset 0 1px 0 #ffe3a314;
  transition:box-shadow .22s ease,border-color .22s ease,background .22s ease,transform .22s ease;
}
#plex-cinema .pz-lists-featured .pz-link:hover,
#plex-cinema .pz-lists-featured .pz-link:focus-visible,
#plex-cinema .pz-lists-featured .pz-link-group[open] > .pz-link {
  border-color:#f2bd4b; background:linear-gradient(135deg,#e5a00d38,#1c2732 85%);
  box-shadow:0 0 20px #e5a00d33,inset 0 1px 0 #ffe3a333; transform:translateY(-2px);
}
#plex-cinema .pz-lists-featured .pz-link:focus-visible { outline:2px solid #ffd574; outline-offset:3px; }
#plex-cinema .pz-lists-featured .pz-link-options { border-color:#e5a00d80; box-shadow:0 12px 30px #0009,0 0 20px #e5a00d22; }
@media(max-width:780px) {
  #plex-cinema .pz-lists-featured { padding:20px; }
  #plex-cinema .pz-lists-featured .pz-section-head,
  #plex-cinema .pz-lists-featured .pz-section-tools { flex-wrap:wrap; }
}
@media(max-width:420px) { #plex-cinema .pz-lists-featured { padding:16px; border-radius:15px; } }
@media(prefers-reduced-motion:reduce) {
  .pz-head .pz-request::before { animation:none !important; }
  .pz-head .pz-request:hover, .pz-head .pz-request:focus-visible,
  #plex-cinema .pz-head .pz-request:hover, #plex-cinema .pz-head .pz-request:focus-visible,
  #plex-cinema .pz-lists-featured .pz-link:hover,
  #plex-cinema .pz-lists-featured .pz-link:focus-visible,
  #plex-cinema .pz-lists-featured .pz-link-group[open] > .pz-link { transform:none; }
}

/* Version marker shared by the site headers. */
.pz-brand .pz-version {
  display:inline-flex; align-items:center; vertical-align:middle; margin-left:8px;
  padding:3px 5px; border-radius:5px; border:1px solid #e5a00d66;
  background:#e5a00d1a; color:#ffd574; font-size:9px; font-weight:800;
  line-height:1.2; letter-spacing:.04em; text-transform:uppercase;
  box-shadow:0 0 10px #e5a00d18;
}
/* Pause on hover while keeping manual banner movement available. */
@media(hover:hover) { #plex-cinema .ticker.is-interactive:hover .ticker-track { animation-play-state:paused; } }

/* Attribution in the site credits for TMDB-sourced card artwork and metadata. */
#plex-cinema .pz-tmdb-credit { display:inline-flex; align-items:center; gap:9px; max-width:390px; font-size:11px; line-height:1.4; color:#a9b5c2; }
#plex-cinema .pz-footer .pz-tmdb-credit img { display:block; flex:none; width:64px; height:auto; max-height:28px; object-fit:contain; }
#plex-cinema .pz-tmdb-credit a { flex:none; }
