/* NightCast cinematic experience — original cosmic design system */
:root{color-scheme:dark;--nc-night:#030611;--nc-deep:#071126;--nc-panel:rgba(9,20,43,.72);--nc-line:rgba(164,199,255,.18);--nc-text:#f3f6ff;--nc-muted:#a8b5d0;--nc-cyan:#8ce8ff;--nc-violet:#a69bff;--nc-gold:#e8c995;--nc-radius:24px}
html{scroll-behavior:smooth;scroll-padding-top:100px;background:var(--nc-night)}
body{font-family:"Vazirmatn",Tahoma,sans-serif!important;background:radial-gradient(ellipse at 50% -15%,#182b55 0,transparent 48%),linear-gradient(180deg,#030611 0%,#050a18 55%,#02040b 100%)!important;color:var(--nc-text)!important;overflow-x:clip}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(1px 1px at 12% 18%,#fff 98%,transparent),radial-gradient(1px 1px at 74% 11%,#bfeaff 98%,transparent),radial-gradient(1px 1px at 88% 42%,#fff 98%,transparent),radial-gradient(1px 1px at 33% 68%,#d5caff 98%,transparent),radial-gradient(1px 1px at 59% 84%,#fff 98%,transparent);background-size:290px 260px;opacity:.6;animation:ncStarDrift 90s linear infinite}
#nc-cosmos-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.72}
/* Keep the splash and other fixed overlays fixed; only the page layers need a foreground stacking level. */
#appSplash.splash{z-index:1}
.auth-page,.login-page{position:relative;z-index:1}
a,button,input,textarea,select{transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease}
a{color:#b8eaff}a:hover{color:#fff}
button{font:inherit}
:focus-visible{outline:2px solid var(--nc-cyan)!important;outline-offset:4px}
.nc-header,.nc-nav,.navbar,.site-header{backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.nc-header{background:rgba(3,7,18,.76)!important;border-bottom:1px solid var(--nc-line)!important;box-shadow:0 12px 50px #0002}
button,[role=button],.btn,a.button{border-radius:999px}
button:hover,.btn:hover,a.button:hover{transform:translateY(-2px)}
main,section{scroll-margin-top:90px}
section:not(.nc-detail-dialog):not(.nc-comments-card){position:relative}
section h1,section h2,main h1,main h2{letter-spacing:-.035em;line-height:1.35}
p{line-height:1.95}
input,textarea,select{background:rgba(5,12,28,.86)!important;color:var(--nc-text)!important;border:1px solid var(--nc-line)!important;border-radius:14px!important}
input:focus,textarea:focus,select:focus{border-color:var(--nc-cyan)!important;box-shadow:0 0 0 4px #8ce8ff18!important}
.card,.podcast-card,.episode-card,article,.nc-card,[class*="podcast-card"],[class*="episode-card"],[class*="feature-card"]{background:linear-gradient(145deg,rgba(16,30,59,.86),rgba(5,11,26,.82))!important;border:1px solid var(--nc-line)!important;border-radius:var(--nc-radius)!important;box-shadow:0 18px 60px #0003,inset 0 1px #ffffff08!important;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}
.card:hover,.podcast-card:hover,.episode-card:hover,article:hover,.nc-card:hover,[class*="podcast-card"]:hover,[class*="episode-card"]:hover,[class*="feature-card"]:hover{transform:translateY(-6px);border-color:#8ce8ff66!important;box-shadow:0 25px 70px #0005,0 0 35px #477dff12!important}
img{border-radius:inherit}
#episodes{position:relative;z-index:1}
#episodes>.card{min-height:220px}
#episodes .listen,.listen,button[type=submit],.primary-button,.btn-primary{background:linear-gradient(110deg,#b9f2ff,#a9a0ff)!important;color:#071126!important;border:0!important;font-weight:800;box-shadow:0 8px 30px #8ce8ff1c}
#episodes .listen:hover,.listen:hover,button[type=submit]:hover,.primary-button:hover,.btn-primary:hover{box-shadow:0 12px 38px #8ce8ff35!important}
#hero,.hero,.hero-section,[class*="hero"]{isolation:isolate;overflow:hidden;position:relative;background:radial-gradient(ellipse at 18% 12%,#6d72c92b,transparent 38%),radial-gradient(ellipse at 82% 90%,#49c8e626,transparent 40%),linear-gradient(135deg,rgba(10,23,52,.96),rgba(3,8,21,.94))!important;border:1px solid var(--nc-line)!important;border-radius:32px!important;box-shadow:0 30px 100px #0004}
#hero:after,.hero:after,.hero-section:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #b6dfff20;border-radius:50%;inset:auto -65px -150px auto;box-shadow:0 0 0 28px #b6dfff08,0 0 0 58px #b6dfff05;pointer-events:none;z-index:-1}
#hero h1,#hero h2,.hero h1,.hero h2,.hero-section h1,.hero-section h2{color:#f6f8ff}
#hero p,.hero p,.hero-section p{color:#bdc9e2}
#appSplash,.splash{background:radial-gradient(ellipse at 50% 42%,#172957 0%,#080f25 36%,#02040b 78%)!important;color:#f6f8ff!important}
#appSplash:before,.splash:before{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 15% 22%,#fff 99%,transparent),radial-gradient(1px 1px at 72% 35%,#b8eaff 99%,transparent),radial-gradient(2px 2px at 80% 75%,#fff 99%,transparent),radial-gradient(1px 1px at 35% 80%,#fff 99%,transparent);background-size:230px 210px;animation:ncStarDrift 40s linear infinite}
.logo-circle{box-shadow:0 0 0 12px #8ce8ff0b,0 0 55px #8ce8ff32!important;border-color:#8ce8ff!important;color:#bcefff!important;animation:ncPulse 3.5s ease-in-out infinite}
.loader-bar{background:#ffffff14!important;border-radius:99px!important;overflow:hidden}
.loader-bar span{background:linear-gradient(90deg,#8ce8ff,#a69bff,#e8c995)!important;box-shadow:0 0 20px #8ce8ff88}
#overlay.show{backdrop-filter:blur(9px);background:#01040bd9!important}
#playerSheet,.player-sheet,.nc-detail-dialog,.nc-comments-card{background:linear-gradient(145deg,#101c38,#050a18)!important;border:1px solid var(--nc-line)!important;box-shadow:0 30px 100px #0009!important;color:var(--nc-text)!important}
.nc-detail-dialog,.nc-comments-card{border-radius:28px!important}
.nc-detail-topbar,.nc-comments-head{border-color:var(--nc-line)!important}
.nc-detail-close,.nc-comments-close{background:#ffffff0b!important;color:#fff!important;border:1px solid var(--nc-line)!important}
.nc-detail-scroll,.nc-comments-list{scrollbar-color:#617da8 transparent}
footer{background:linear-gradient(180deg,transparent,#02040bf0)!important;border-top:1px solid var(--nc-line)!important}
hr{border-color:var(--nc-line)!important}
.nc-cinematic-intro{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#02040b;opacity:1;visibility:visible;transition:opacity .8s ease,visibility .8s ease;pointer-events:none}
.nc-cinematic-intro.is-gone{opacity:0;visibility:hidden}
.nc-intro-core{text-align:center;color:#f3f6ff;transform:translateY(8px);animation:ncIntroRise 1.1s ease forwards}
.nc-intro-orbit{width:72px;height:72px;border:1px solid #8ce8ff80;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;box-shadow:0 0 45px #8ce8ff22,inset 0 0 25px #8ce8ff12;position:relative}
.nc-intro-orbit:before,.nc-intro-orbit:after{content:"";position:absolute;inset:-12px;border:1px solid #a69bff45;border-radius:50%;transform:rotateX(65deg)}
.nc-intro-orbit:after{inset:-22px;transform:rotateX(65deg) rotate(60deg);border-color:#e8c99535}
.nc-intro-orbit i{font-size:25px;color:var(--nc-cyan)}
.nc-intro-title{font-size:clamp(26px,5vw,42px);font-weight:800;letter-spacing:.12em;direction:ltr}
.nc-intro-caption{margin-top:9px;color:#a8b5d0;font-size:12px;letter-spacing:.16em}
.nc-intro-progress{height:2px;width:140px;background:#ffffff18;margin:24px auto 0;overflow:hidden}
.nc-intro-progress:after{content:"";display:block;height:100%;width:45%;background:linear-gradient(90deg,#8ce8ff,#a69bff);animation:ncIntroLoad 1.1s ease-in-out infinite alternate}
.nc-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.nc-reveal.nc-visible{opacity:1;transform:none}
@keyframes ncStarDrift{to{background-position:290px 260px}}
@keyframes ncPulse{0%,100%{box-shadow:0 0 0 10px #8ce8ff08,0 0 35px #8ce8ff22}50%{box-shadow:0 0 0 15px #8ce8ff0d,0 0 60px #8ce8ff42}}
@keyframes ncIntroRise{to{transform:translateY(0)}}
@keyframes ncIntroLoad{from{transform:translateX(-70%)}to{transform:translateX(180%)}}
@media(min-width:1000px){#episodes{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}#hero,.hero,.hero-section{padding:clamp(32px,5vw,76px)!important}}
@media(max-width:760px){:root{--nc-radius:20px}#episodes{padding:14px!important;gap:14px!important}#hero,.hero,.hero-section,[class*="hero"]{border-radius:24px!important;margin-inline:12px!important}header{gap:10px!important}header h1{font-size:clamp(18px,5vw,24px)!important}.nc-cinematic-intro{padding:20px}.nc-intro-title{letter-spacing:.08em}}
@media(min-width:1600px){body{font-size:17px}main{max-width:1600px;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.nc-reveal{opacity:1;transform:none}#nc-cosmos-canvas{display:none}}


/* Remove the unintended blank strip after the page footer on every route. */
html, body {
  margin-block-end: 0 !important;
}
body {
  padding-block-end: 0 !important;
}
footer, .nc-footer {
  margin-block-end: 0 !important;
}
body > footer:last-of-type,
body > .nc-footer:last-of-type {
  margin-block-end: 0 !important;
}
