/* MUSE — neon velvet */
:root{
  --ink:#120818;
  --panel:#170d20;
  --velvet:#241033;
  --gold:#ff2d96;            /* hot orchid */
  --gold-hi:#ffb46b;         /* amber pop */
  --gold-dim:rgba(255,45,150,.4);
  --rose:#c96bff;            /* ultraviolet */
  --cream:#f4ecff;           /* ghost */
  --muted:#9d8fb0;
  --serif:"Bricolage Grotesque",-apple-system,sans-serif;
  --sans:"Schibsted Grotesk",-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  background:#050308;
  font-family:var(--sans);
  color:var(--cream);
  display:flex;justify-content:center;align-items:center;
  overflow:hidden;
}
#phone{
  position:relative;
  width:min(430px,100vw);
  height:min(932px,100dvh);
  background:
    radial-gradient(120% 60% at 50% -10%,#2a1530 0%,transparent 60%),
    radial-gradient(90% 40% at 50% 110%,#1c0f22 0%,transparent 55%),
    var(--ink);
  overflow:clip;
  box-shadow:0 40px 120px rgba(0,0,0,.8);
}
@media(min-width:480px) and (min-height:990px){
  #phone{border-radius:44px;border:1px solid #2b2133}
}
.grain{
  position:absolute;inset:0;z-index:60;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- shared ---------- */
.screen{position:absolute;inset:0;display:none;flex-direction:column;z-index:2}
.screen.active{display:flex}
.screen.enter>*{animation:rise .55s cubic-bezier(.2,.7,.2,1) both}
.screen.enter>*:nth-child(2){animation-delay:.06s}
.screen.enter>*:nth-child(3){animation-delay:.12s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.app-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:calc(env(safe-area-inset-top) + 18px) 20px 12px;
}
.logo-sm{
  font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.42em;
  color:var(--gold);text-indent:.42em;
}
.keys-pill{
  display:flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,#241628,#180f1e);
  border:1px solid var(--gold-dim);border-radius:100px;
  color:var(--gold-hi);padding:7px 14px;font-family:var(--sans);font-size:14px;cursor:pointer;
}
.keys-pill b{font-weight:600}
.key-ico{width:15px;height:15px}
.back-btn{
  width:38px;height:38px;border-radius:50%;
  background:rgba(12,9,16,.55);backdrop-filter:blur(8px);
  border:1px solid rgba(245,238,226,.16);color:var(--cream);
  font-size:24px;line-height:1;cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;padding-bottom:3px;
}
.back-btn.inline{background:transparent;border-color:transparent}

.btn-gold{
  font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.02em;
  color:#1d1206;background:linear-gradient(120deg,#b98d43,#ecd192 45%,#c99f52);
  background-size:200% 100%;
  border:none;border-radius:100px;padding:15px 26px;cursor:pointer;
  transition:transform .15s;
  animation:shimmer 5s ease-in-out infinite;
}
@keyframes shimmer{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
.btn-gold:active{transform:scale(.97)}
.btn-sm{padding:9px 18px;font-size:13px;animation:none}
.btn-cta{width:100%;margin-top:6px}
.btn-ghost{
  width:100%;background:transparent;border:1px solid rgba(245,238,226,.22);
  color:var(--cream);border-radius:100px;padding:13px;font-family:var(--sans);
  font-size:14px;cursor:pointer;margin-top:10px;
}

.row-head{display:flex;align-items:baseline;gap:14px;padding:26px 20px 14px}
.row-head h2{
  font-family:var(--serif);font-weight:400;font-style:italic;font-size:19px;color:var(--cream);
  white-space:nowrap;
}
.row-rule{flex:1;height:1px;background:linear-gradient(90deg,var(--gold-dim),transparent)}

/* ---------- splash ---------- */
#splash{
  position:absolute;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(90% 60% at 50% 40%,#241329 0%,var(--ink) 70%);
  transition:opacity .8s ease .1s,visibility .8s;
}
#splash.gone{opacity:0;visibility:hidden}
.splash-mark{text-align:center;color:var(--gold)}
.monogram{width:120px;height:120px;animation:spin-in 1.4s cubic-bezier(.2,.8,.2,1) both}
.monogram-m{font-family:var(--serif);font-size:56px;font-style:italic;fill:var(--gold-hi)}
@keyframes spin-in{from{opacity:0;transform:scale(.6) rotate(-14deg)}to{opacity:1;transform:none}}
.wordmark{
  font-family:var(--serif);font-weight:300;font-size:44px;letter-spacing:.5em;text-indent:.5em;
  color:var(--cream);margin-top:18px;animation:rise 1s .3s both;
}
.splash-tag{
  font-family:var(--serif);font-style:italic;color:var(--rose);font-size:16px;margin-top:10px;
  letter-spacing:.08em;animation:rise 1s .55s both;
}

/* ---------- home ---------- */
.home-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:110px;scrollbar-width:none}
.home-scroll::-webkit-scrollbar{display:none}
.hero-wrap{position:relative;padding:6px 0 0}
.hero-track{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  gap:14px;padding:0 20px;
}
.hero-track::-webkit-scrollbar{display:none}
.hero-card{
  position:relative;flex:0 0 100%;scroll-snap-align:center;
  border-radius:22px;overflow:hidden;aspect-ratio:3/4;
  border:1px solid rgba(210,167,93,.2);cursor:pointer;
}
.hero-card img{width:100%;height:100%;object-fit:cover;display:block}
.hero-card .shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,9,16,0) 30%,rgba(12,9,16,.55) 68%,rgba(12,9,16,.96) 100%);
}
.hero-text{position:absolute;left:20px;right:20px;bottom:18px}
.hero-kicker{
  font-size:10px;letter-spacing:.34em;color:var(--gold-hi);text-transform:uppercase;margin-bottom:8px;
}
.hero-title{
  font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.04;letter-spacing:.01em;
}
.hero-sub{color:var(--muted);font-size:13px;margin-top:7px}
.hero-badge{
  position:absolute;top:14px;left:14px;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  background:rgba(12,9,16,.6);backdrop-filter:blur(6px);
  border:1px solid var(--gold-dim);color:var(--gold-hi);
  padding:6px 12px;border-radius:100px;
}
.hero-dots{display:flex;gap:7px;justify-content:center;padding:14px 0 0}
.hero-dots i{width:5px;height:5px;border-radius:50%;background:#453a4f;transition:.3s}
.hero-dots i.on{background:var(--gold);width:18px;border-radius:3px}

.poster-row{display:flex;gap:12px;overflow-x:auto;padding:0 20px;scrollbar-width:none}
.poster-row::-webkit-scrollbar{display:none}
.poster-card{flex:0 0 128px;cursor:pointer}
.poster-card .pimg{
  position:relative;border-radius:14px;overflow:hidden;aspect-ratio:2/3;
  border:1px solid rgba(245,238,226,.1);
}
.poster-card img{width:100%;height:100%;object-fit:cover}
.poster-card .pt{font-size:12.5px;margin-top:8px;color:var(--cream);line-height:1.25}
.poster-card .ps{font-size:11px;color:var(--muted);margin-top:2px}
.pill-free{
  position:absolute;bottom:8px;left:8px;font-size:9px;letter-spacing:.14em;
  background:var(--gold);color:#1d1206;font-weight:700;padding:4px 8px;border-radius:4px;
}
.pill-dev{
  position:absolute;bottom:8px;left:8px;font-size:9px;letter-spacacing:.14em;letter-spacing:.14em;
  background:rgba(12,9,16,.72);border:1px solid rgba(245,238,226,.25);color:var(--cream);
  padding:4px 8px;border-radius:4px;
}
.tease-card{
  margin:0 20px;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;cursor:pointer;
  border:1px solid rgba(230,162,184,.25);
}
.tease-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.tease-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,9,16,.9) 0%,rgba(12,9,16,.25) 70%)}
.tease-text{position:absolute;left:18px;top:50%;transform:translateY(-50%);max-width:70%}
.tease-text .hero-kicker{color:var(--rose)}
.tease-text h3{font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.1}
.tease-text span{display:block;font-size:12px;color:var(--muted);margin-top:6px}

.daily-strip{
  margin:26px 20px 0;padding:16px 18px;border-radius:16px;
  background:linear-gradient(120deg,#241628,#1a1020);
  border:1px solid var(--gold-dim);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.daily-strip b{display:block;font-size:14px}
.daily-strip span{font-size:12px;color:var(--muted)}
.home-footer{
  text-align:center;font-size:9px;letter-spacing:.4em;color:#5c4f68;
  padding:34px 0 8px;text-indent:.4em;
}

.bottom-nav{
  position:absolute;left:0;right:0;bottom:0;z-index:20;
  display:flex;justify-content:space-around;
  padding:10px 10px calc(env(safe-area-inset-bottom) + 14px);
  background:linear-gradient(180deg,rgba(12,9,16,0),rgba(12,9,16,.92) 40%);
  backdrop-filter:blur(10px);
}
.nav-btn{
  background:none;border:none;color:#6d5f79;font-family:var(--sans);font-size:10.5px;
  letter-spacing:.08em;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;
  width:70px;
}
.nav-btn .nav-ico{font-size:15px;line-height:1}
.nav-btn.active{color:var(--gold-hi)}

/* ---------- series ---------- */
#series{overflow-y:auto;display:none;flex-direction:column;scrollbar-width:none}
#series.active{display:block}
#series::-webkit-scrollbar{display:none}
.series-hero{position:relative;height:62vh;min-height:430px}
.series-hero img{width:100%;height:100%;object-fit:cover;object-position:top}
.series-hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,9,16,.25) 0%,rgba(12,9,16,0) 30%,rgba(12,9,16,.65) 74%,var(--ink) 100%);
}
.series-hero .back-btn{position:absolute;top:calc(env(safe-area-inset-top) + 16px);left:16px}
.series-hero-text{position:absolute;left:22px;right:22px;bottom:18px}
.series-register{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:10px}
.series-title{font-family:var(--serif);font-weight:500;font-size:38px;line-height:1.02}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tag{
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--rose);
  border:1px solid rgba(230,162,184,.35);padding:5px 11px;border-radius:100px;
}
.series-body{padding:20px 22px 60px}
.logline{
  font-family:var(--serif);font-weight:300;font-size:16.5px;line-height:1.55;color:#d9cfe0;
}
.logline::first-letter{
  font-size:290%;float:left;line-height:.8;padding:6px 8px 0 0;color:var(--gold);font-style:italic;
}
.cast-note{
  display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12.5px;color:var(--muted);
}
.cast-note img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid var(--gold-dim)}
.cast-note b{color:var(--gold-hi);font-weight:600}
.ep-list-head{display:flex;align-items:baseline;justify-content:space-between;margin:30px 0 6px}
.ep-list-head h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px}
.ep-list-head span{font-size:11px;color:var(--muted);letter-spacing:.1em}
.ep-row{
  display:flex;align-items:center;gap:14px;padding:15px 0;
  border-bottom:1px solid rgba(245,238,226,.07);cursor:pointer;
}
.ep-num{
  font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold);width:34px;flex-shrink:0;
  text-align:center;
}
.ep-info{flex:1;min-width:0}
.ep-info b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-info span{font-size:11.5px;color:var(--muted)}
.ep-state{font-size:11px;color:var(--gold-hi);display:flex;align-items:center;gap:5px;flex-shrink:0}
.ep-state .key-ico{width:12px;height:12px}
.ep-state.free{color:#1d1206;background:var(--gold);padding:4px 10px;border-radius:4px;font-weight:700;letter-spacing:.1em}
.ep-state.dim{color:var(--muted)}
.ep-more{text-align:center;padding:18px 0 0;font-size:12px;color:var(--muted);letter-spacing:.06em}

/* ---------- casting ---------- */
#casting{background:radial-gradient(100% 50% at 50% 0%,#2a1530 0%,var(--ink) 60%)}
.casting-header{
  display:flex;align-items:center;gap:4px;
  padding:calc(env(safe-area-inset-top) + 14px) 14px 6px;
}
.casting-series{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.casting-scroll{flex:1;overflow-y:auto;padding:8px 22px 50px;scrollbar-width:none}
.casting-scroll::-webkit-scrollbar{display:none}
.casting-step{margin-bottom:34px}
.step-label{
  font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;
}
.casting-q{font-family:var(--serif);font-weight:400;font-size:27px;font-style:italic;margin-bottom:18px}
.cast-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cast-card{
  position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4.4;cursor:pointer;
  border:1.5px solid rgba(245,238,226,.12);transition:border-color .25s,transform .2s;
}
.cast-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cast-card .cc-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(12,9,16,.92) 100%);
}
.cast-card .cc-name{
  position:absolute;left:14px;right:14px;bottom:12px;
  font-family:var(--serif);font-size:17px;font-weight:500;
}
.cast-card .cc-sub{
  position:absolute;left:14px;bottom:34px;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rose);
}
.cast-card .cc-check{
  position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;
  background:var(--gold);color:#1d1206;font-size:14px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.5);transition:.25s;
}
.cast-card.selected{border-color:var(--gold);box-shadow:0 0 30px rgba(210,167,93,.25)}
.cast-card.selected .cc-check{opacity:1;transform:none}
.cast-card.selected img{transform:scale(1.04)}
.cast-card .cc-tag{
  position:absolute;top:10px;left:10px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(12,9,16,.65);border:1px solid rgba(245,238,226,.2);
  padding:4px 9px;border-radius:100px;color:var(--cream);backdrop-filter:blur(6px);
}
.cast-card.locked{pointer-events:none}
.cast-card.locked img{filter:grayscale(.9) brightness(.5)}
.cast-card.locked .cc-lock{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;color:var(--muted);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
}
.li-note{font-size:12px;color:var(--muted);margin-top:12px;font-style:italic}
.casting-fine{text-align:center;font-size:11.5px;color:#6d5f79;margin-top:16px}

/* ---------- player ---------- */
#player{background:#000}
#video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.player-shade{position:absolute;left:0;right:0;height:130px;pointer-events:none;transition:opacity .4s}
.player-shade.top{top:0;background:linear-gradient(180deg,rgba(0,0,0,.75),transparent)}
.player-shade.bottom{bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent)}
.player-ui{position:absolute;inset:0;display:flex;flex-direction:column;transition:opacity .4s}
.player-ui.hidden,.player-ui.hidden~.player-shade{opacity:0}
.player-top{
  display:flex;align-items:center;gap:12px;
  padding:calc(env(safe-area-inset-top) + 14px) 16px 0;
}
.player-meta{flex:1;min-width:0}
.player-meta b{display:block;font-family:var(--serif);font-size:16px;font-weight:500}
.player-meta span{font-size:11px;color:rgba(245,238,226,.7);letter-spacing:.14em;text-transform:uppercase}
.cast-chip{
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hi);
  border:1px solid var(--gold-dim);background:rgba(12,9,16,.5);backdrop-filter:blur(6px);
  padding:6px 11px;border-radius:100px;white-space:nowrap;
}
.player-center{flex:1;display:flex;align-items:center;justify-content:center}
.play-glyph{
  width:74px;height:74px;border-radius:50%;color:var(--cream);font-size:26px;
  background:rgba(12,9,16,.45);border:1px solid rgba(245,238,226,.3);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;padding-left:6px;
  transition:opacity .3s,transform .3s;
}
.play-glyph.off{opacity:0;transform:scale(1.3)}
.player-bottom{padding:0 16px calc(env(safe-area-inset-bottom) + 22px)}
.preview-banner{
  font-size:11px;color:var(--gold-hi);letter-spacing:.06em;
  padding:8px 12px;margin-bottom:12px;border-radius:8px;
  background:rgba(38,19,42,.75);border:1px solid var(--gold-dim);backdrop-filter:blur(6px);
  display:none;
}
.preview-banner.show{display:block}
.scrub{height:3px;border-radius:2px;background:rgba(245,238,226,.22);overflow:hidden}
.scrub-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-hi));border-radius:2px}

.prod-slate{position:absolute;inset:0;display:none;background:var(--ink)}
.prod-slate.show{display:block}
.prod-slate img{width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.85)}
.prod-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,9,16,.3),rgba(12,9,16,.92) 85%)}
.prod-slate .back-btn{position:absolute;top:calc(env(safe-area-inset-top) + 16px);left:16px}
.prod-text{position:absolute;left:26px;right:26px;bottom:60px}
.prod-badge{
  display:inline-block;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#ff6a6a;
  border:1px solid rgba(255,106,106,.4);padding:7px 13px;border-radius:100px;margin-bottom:16px;
  animation:blink 2.4s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.45}}
.prod-text h2{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.05;margin-bottom:12px}
.prod-text p{font-size:14px;line-height:1.55;color:#cfc4d8;margin-bottom:22px}

.endcard{
  position:absolute;inset:0;display:none;align-items:flex-end;
  background:linear-gradient(180deg,rgba(12,9,16,.35),rgba(12,9,16,.96) 70%);
  backdrop-filter:blur(4px);
}
.endcard.show{display:flex}
.endcard-inner{padding:0 26px calc(env(safe-area-inset-bottom) + 46px);width:100%}
.endcard h2{font-family:var(--serif);font-weight:500;font-size:30px;margin:8px 0 10px}
.endcard p{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--rose);line-height:1.5;margin-bottom:20px}

/* ---------- rewards ---------- */
.rewards-scroll{flex:1;overflow-y:auto;padding:4px 20px 120px;scrollbar-width:none}
.rewards-scroll::-webkit-scrollbar{display:none}
.streak-card{
  background:linear-gradient(140deg,#241628,#170e1d);
  border:1px solid var(--gold-dim);border-radius:20px;padding:20px;
}
.streak-card h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px;margin-bottom:16px}
.streak-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:18px}
.streak-day{
  aspect-ratio:1/1.25;border-radius:10px;border:1px solid rgba(245,238,226,.1);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-size:9px;color:var(--muted);letter-spacing:.05em;
}
.streak-day b{font-size:12px;color:var(--gold-hi);font-weight:600}
.streak-day.claimed{background:rgba(210,167,93,.15);border-color:var(--gold);color:var(--gold-hi)}
.streak-day.today{border-color:var(--rose);box-shadow:0 0 14px rgba(230,162,184,.2)}
.packs{display:flex;flex-direction:column;gap:12px}
.pack{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid rgba(245,238,226,.12);border-radius:16px;padding:16px 18px;
  background:rgba(23,16,33,.6);cursor:pointer;
}
.pack.best{border-color:var(--gold);position:relative}
.pack .best-tag{
  position:absolute;top:-9px;right:16px;font-size:9px;letter-spacing:.2em;font-weight:700;
  background:var(--gold);color:#1d1206;padding:3px 10px;border-radius:4px;
}
.pack b{font-size:16px;color:var(--gold-hi)}
.pack .pk-sub{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.pack .pk-price{
  font-weight:700;font-size:14px;color:var(--cream);
  border:1px solid rgba(245,238,226,.25);padding:9px 15px;border-radius:100px;flex-shrink:0;
}

/* ---------- profile ---------- */
.profile-scroll{flex:1;overflow-y:auto;padding:10px 20px 120px;scrollbar-width:none}
.profile-card{
  text-align:center;padding:26px 0 10px;display:flex;flex-direction:column;align-items:center;gap:6px;
}
.profile-ava{
  width:76px;height:76px;border-radius:50%;
  background:linear-gradient(140deg,var(--velvet),#1a1020);
  border:1px solid var(--gold);color:var(--gold-hi);
  font-family:var(--serif);font-style:italic;font-size:34px;
  display:flex;align-items:center;justify-content:center;margin-bottom:6px;
}
.profile-card b{font-size:18px}
.profile-sub{font-size:11.5px;color:var(--muted);letter-spacing:.06em}
.mycast-row{
  display:flex;align-items:center;gap:14px;padding:12px 0;
  border-bottom:1px solid rgba(245,238,226,.07);
}
.mycast-row img{width:46px;height:46px;border-radius:12px;object-fit:cover;border:1px solid var(--gold-dim)}
.mycast-row b{display:block;font-size:14px}
.mycast-row span{font-size:11.5px;color:var(--muted)}

/* ---------- sheet & toast ---------- */
.sheet-veil{
  position:absolute;inset:0;z-index:80;background:rgba(5,3,8,.6);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:.35s;
}
.sheet-veil.show{opacity:1;visibility:visible}
.sheet{
  position:absolute;left:0;right:0;bottom:0;z-index:81;
  background:linear-gradient(180deg,#221427,#140d1a);
  border-radius:26px 26px 0 0;border-top:1px solid var(--gold-dim);
  padding:12px 24px calc(env(safe-area-inset-bottom) + 28px);
  transform:translateY(105%);visibility:hidden;
  transition:transform .42s cubic-bezier(.2,.8,.2,1),visibility .42s;
}
.sheet.show{transform:none;visibility:visible}
.sheet-handle{width:40px;height:4px;border-radius:2px;background:rgba(245,238,226,.25);margin:0 auto 18px}
.sheet .step-label{margin-bottom:6px}
.sheet h3{font-family:var(--serif);font-weight:500;font-size:24px;margin-bottom:8px}
.sheet p{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:18px}
.sheet .cost{color:var(--gold-hi);font-weight:600}
.toast{
  position:absolute;left:50%;bottom:120px;transform:translate(-50%,20px);z-index:90;
  background:rgba(34,20,39,.95);border:1px solid var(--gold-dim);color:var(--cream);
  font-size:13px;padding:12px 20px;border-radius:100px;white-space:nowrap;
  opacity:0;visibility:hidden;transition:.35s;backdrop-filter:blur(8px);
}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* ============================================================
   NEON VELVET overrides — voltage layer
   ============================================================ */

/* phone atmosphere: orchid + violet glows */
#phone{
  background:
    radial-gradient(120% 60% at 85% -10%,rgba(122,60,255,.38) 0%,transparent 55%),
    radial-gradient(90% 45% at 10% 108%,rgba(255,45,150,.30) 0%,transparent 52%),
    var(--ink);
}

/* wordmarks go gradient */
.logo-sm{
  font-family:var(--serif);font-weight:800;font-size:21px;letter-spacing:.16em;text-indent:.16em;
  background:linear-gradient(100deg,#ff2d96 5%,#c96bff 55%,#ffb46b 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.wordmark{
  font-family:var(--serif);font-weight:800;font-size:52px;letter-spacing:.04em;text-indent:0;
  background:linear-gradient(100deg,#ff2d96 10%,#c96bff 50%,#ffb46b 95%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
#splash{background:radial-gradient(90% 60% at 50% 40%,#2a1040 0%,var(--ink) 72%)}
.splash-mark{color:var(--rose)}
.monogram-m{font-family:var(--serif);font-style:normal;font-weight:800;font-size:52px;fill:#ff2d96}
.splash-tag{font-family:var(--sans);font-style:normal;font-weight:500;color:#c9b4dd;letter-spacing:.12em;text-transform:uppercase;font-size:12px}

/* CTAs: orchid→amber gradient, squared, glowing */
.btn-gold{
  background:linear-gradient(100deg,#ff2d96,#ffb46b);background-size:150% 100%;
  color:#120818;border-radius:14px;font-weight:800;
  box-shadow:0 0 24px rgba(255,45,150,.45);
}
.btn-ghost{border-radius:14px;border-color:rgba(201,107,255,.4)}
.keys-pill{border-radius:12px;background:#241033;border-color:rgba(255,180,107,.35);color:#ffb46b}
.nav-btn.active{color:#ff2d96}

/* kill the faux italics — voltage speaks in weight */
.row-head h2,.casting-q,.ep-list-head h3,.streak-card h3,.splash-tag,.endcard p,.li-note{font-style:normal}
.row-head h2{font-weight:700;letter-spacing:-.01em}
.casting-q{font-weight:800;letter-spacing:-.02em;font-size:28px}
.ep-list-head h3,.streak-card h3{font-weight:700}
.ep-num{font-style:normal;font-weight:800;color:#ff2d96}
.dir-num{font-style:normal}
.hero-title{font-weight:800;letter-spacing:-.015em}
.series-title{font-weight:800;letter-spacing:-.02em;font-size:34px}
.player-meta b,.prod-text h2,.endcard h2,.sheet h3{font-weight:800;letter-spacing:-.01em}
.profile-ava{font-style:normal;font-weight:800}
.endcard p{color:var(--rose);font-family:var(--sans);font-weight:500}
.logline{font-family:var(--sans);font-weight:400;font-size:15.5px;color:#cfc2df}
.logline::first-letter{font-style:normal;font-size:100%;float:none;padding:0;color:inherit}

/* chips + badges square off */
.tag{border-radius:9px;border-color:rgba(201,107,255,.5);font-weight:600}
.hero-badge{border-radius:9px;color:#ffb46b}
.cast-chip{border-radius:9px}
.pill-free,.ep-state.free{color:#120818;border-radius:6px}
.cc-check{color:#120818}
.cast-card{border-radius:14px}
.cast-card.selected{border-color:#ff2d96;box-shadow:0 0 30px rgba(255,45,150,.35)}
.cast-card .cc-tag{border-radius:8px}
.cast-card .cc-sub{color:#ffb46b}
.hero-card{border-radius:18px;border-color:rgba(201,107,255,.28)}
.poster-card .pimg{border-radius:12px}
.tease-card{border-radius:14px;border-color:rgba(255,45,150,.35)}

/* surfaces re-tint violet */
.daily-strip{background:linear-gradient(120deg,#241033,#1a0f26);border-radius:14px}
.streak-card{background:linear-gradient(140deg,#241033,#170d20);border-radius:16px}
.streak-day{border-radius:9px}
.streak-day.claimed{background:rgba(255,45,150,.14);border-color:#ff2d96;color:#ffb46b}
.streak-day.today{border-color:#c96bff;box-shadow:0 0 14px rgba(201,107,255,.3)}
.pack{background:rgba(23,13,32,.7);border-radius:14px}
.pack.best{border-color:#ff2d96}
.pack .best-tag{background:linear-gradient(100deg,#ff2d96,#ffb46b);color:#120818;border-radius:5px}
.pack b{color:#ffb46b}
.pack .pk-price{border-radius:10px}
.sheet{background:linear-gradient(180deg,#241033,#150b1e);border-color:rgba(255,45,150,.35)}
.toast{background:rgba(36,16,51,.95);border-color:rgba(201,107,255,.45);border-radius:12px}
.preview-banner{background:rgba(36,16,51,.8);border-color:rgba(255,180,107,.35);color:#ffb46b;border-radius:10px}
#casting{background:radial-gradient(100% 50% at 50% 0%,#2a1040 0%,var(--ink) 62%)}
.casting-fine,.home-footer{color:#6b5a80}
.profile-ava{background:linear-gradient(140deg,#241033,#170d20);border-color:#ff2d96;color:#ffb46b}
.mycast-row img{border-radius:10px}
.hero-kicker{color:#ff2d96}
.tease-text .hero-kicker{color:#ffb46b}
.series-register{color:#ff2d96}
.cast-note b{color:#ffb46b}
.ep-state{color:#ffb46b}
.step-label{color:#ff2d96}
.scrub-fill{background:linear-gradient(90deg,#ff2d96,#ffb46b)}

/* ---------- cast-face badges over story art ---------- */
.cast-badges{
  position:absolute;top:14px;right:14px;z-index:3;
  display:flex;align-items:center;gap:0;
}
.cast-badges .cb{
  width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;
  border:2px solid var(--gold);box-shadow:0 3px 12px rgba(0,0,0,.5),0 0 0 1px rgba(18,8,24,.6);
  margin-left:-12px;background:var(--panel);
}
.cast-badges .cb:first-child{margin-left:0}
.cast-badges .cb:nth-child(2){border-color:var(--gold-hi);z-index:1}
.cast-badges .cb img{width:100%;height:100%;object-fit:cover}
.cast-badges .cb-tag{
  margin-left:8px;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:#120818;background:linear-gradient(100deg,#ff2d96,#ffb46b);
  padding:5px 9px;border-radius:7px;box-shadow:0 3px 10px rgba(0,0,0,.4);
}
/* smaller on the poster-row thumbnails */
.poster-card .cast-badges{top:8px;right:8px}
.poster-card .cast-badges .cb{width:28px;height:28px;border-width:1.5px;margin-left:-9px}
.poster-card .cast-badges .cb-tag{display:none}

/* ---------- prominent recast (series page) ---------- */
.cast-note-txt{flex:1}
.recast-btn{
  display:inline-flex;align-items:center;gap:7px;flex-shrink:0;
  font-family:var(--sans);font-size:13px;font-weight:700;
  color:#120818;background:linear-gradient(100deg,#ff2d96,#ffb46b);
  border:none;border-radius:100px;padding:9px 16px;cursor:pointer;
  box-shadow:0 0 20px rgba(255,45,150,.4);
}
.recast-btn .rc-swap{font-size:15px;line-height:1}
.recast-btn:active{transform:scale(.96)}

/* ---------- player recast ---------- */
.recast-chip{
  display:flex;align-items:center;gap:7px;flex-shrink:0;
  font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.02em;
  color:var(--gold-hi);background:rgba(18,8,24,.5);backdrop-filter:blur(6px);
  border:1px solid var(--gold-dim);border-radius:100px;padding:7px 13px;cursor:pointer;white-space:nowrap;
}
.recast-chip .rc-swap{font-size:14px;line-height:1;color:var(--gold)}
.recast-pop{
  position:absolute;z-index:12;top:calc(env(safe-area-inset-top) + 66px);right:16px;left:16px;
  background:linear-gradient(180deg,#241033,#160c1f);border:1px solid var(--gold-dim);
  border-radius:16px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:.28s;
}
.recast-pop.show{opacity:1;visibility:visible;transform:none}
.recast-pop .rc-title{font-size:12px;color:var(--muted);letter-spacing:.04em;margin-bottom:14px}
.recast-pop .rc-faces{display:flex;gap:14px}
.rc-face{
  flex:1;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;
  align-items:center;gap:8px;padding:0;
}
.rc-face .rc-av{
  width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;
  border:2px solid rgba(245,238,226,.14);transition:.2s;
}
.rc-face .rc-av img{width:100%;height:100%;object-fit:cover}
.rc-face.on .rc-av{border-color:var(--gold);box-shadow:0 0 22px rgba(255,45,150,.4)}
.rc-face .rc-nm{font-size:13px;font-weight:700;color:var(--cream)}
.rc-face.on .rc-nm{color:var(--gold-hi)}

/* active badge ring (home art preview) */
.cast-badges .cb.on{border-color:#fff;box-shadow:0 0 0 2px var(--gold),0 3px 12px rgba(0,0,0,.5)}

/* ---------- story-page cast selector ---------- */
.cast-choose{margin:18px 0 6px}
.cast-choose .cc-label{
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.pick-faces{display:flex;gap:14px}
.pick-face{
  flex:1;max-width:150px;background:none;border:none;cursor:pointer;padding:0;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.pick-face .pick-av{
  width:100%;aspect-ratio:1/1;border-radius:18px;overflow:hidden;
  border:2px solid rgba(245,238,226,.14);transition:.2s;
}
.pick-face .pick-av img{width:100%;height:100%;object-fit:cover}
.pick-face.on .pick-av{border-color:var(--gold);box-shadow:0 0 26px rgba(255,45,150,.4)}
.pick-face .pick-nm{font-family:var(--serif);font-weight:800;font-size:15px;color:var(--cream);line-height:1.1;text-align:center}
.pick-face.on .pick-nm{color:var(--gold-hi)}
.pick-face .pick-role{font-size:11px;color:var(--muted)}

/* ---------- unavailable combo (greyed out) ---------- */
.cast-card.unavail{pointer-events:none}
.cast-card.unavail img{filter:grayscale(.85) brightness(.4)}
.cast-card.unavail .cc-tag,.cast-card.unavail .cc-name{opacity:.4}
.cast-card .cc-na{
  position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--cream);
  padding:0 14px;line-height:1.35;
}
.cast-card .cc-na::before{content:"🔒";display:block;position:absolute;top:38%;font-size:20px;opacity:.7}
/* recast pop: which love interest each cast brings */
.rc-face .rc-with{font-size:10.5px;color:var(--muted);margin-top:2px;line-height:1.2;text-align:center}

/* full-cast picker link on the story page */
.full-cast-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.02em;
  color:var(--gold-hi);background:rgba(36,16,51,.6);
  border:1px solid var(--gold-dim);border-radius:100px;padding:11px 18px;cursor:pointer;
}
.full-cast-link .rc-swap{color:var(--gold);font-size:15px}
.full-cast-link:active{transform:scale(.97)}
