@import url('https://fonts.googleapis.com/css2?family=Special+Elite&display=swap');
:root{--black:#080808;--red:#a51b18;--red2:#c52b25;--cream:#ded1b8;--gray:#181818;--line:#3a3630}
*{box-sizing:border-box}body{margin:0;background:var(--black);color:var(--cream);font-family:'Special Elite',Georgia,serif;line-height:1.7}.film-grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.nav{position:absolute;top:0;width:100%;padding:18px 5vw;display:flex;justify-content:space-between;align-items:center;z-index:5;border-bottom:1px solid #333}.nav-dark{position:relative;background:#090909}.brand img{width:145px;display:block}.nav-links{display:flex;gap:25px}.nav a{color:var(--cream);text-decoration:none;font-size:.75rem}.nav a:hover{color:var(--red2)}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 40%,#28231f,#0b0b0b 65%)}.hero:before{content:"";position:absolute;width:68vw;height:68vw;max-width:900px;max-height:900px;border:1px solid #721714;border-radius:50%;left:50%;top:47%;transform:translate(-50%,-50%);box-shadow:0 0 0 18px #7217140c,0 0 0 42px #72171407}.hero-inner{width:min(1000px,90%);margin:90px auto 30px;position:relative;text-align:center;z-index:2}.logo-lockup img{width:min(390px,70vw);filter:drop-shadow(0 15px 30px #000)}.eyebrow{font-size:.68rem;letter-spacing:.22em;color:#c52b25;text-transform:uppercase}.hero h1,.page-heading h1,.login h1{font-family:Georgia,serif;font-weight:900;text-transform:uppercase;line-height:1.02}.hero h1{font-size:clamp(2.4rem,6vw,5.3rem);margin:18px 0}.hero h1 em,.page-heading h1 em,h2 em,.login h1 em{color:var(--red2);font-style:normal}.tagline{color:#aaa093;max-width:620px;margin:25px auto}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:11px 18px;border:1px solid #b9ad98;color:var(--cream);text-decoration:none;background:none;font:inherit;cursor:pointer;text-transform:uppercase;font-size:.72rem}.btn-primary{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 4px 0 #5b0d0c}.btn-danger{background:#5d1715;border-color:#8b2723;color:#fff}.section{width:min(1100px,88%);margin:auto;padding:95px 0;display:grid;grid-template-columns:180px 1fr;gap:50px}.section-label{font-size:.65rem;color:var(--red2);letter-spacing:.18em}.section h2{font:900 clamp(2.4rem,5vw,4.3rem)/1.04 Georgia,serif;text-transform:uppercase;margin:0 0 28px}.section p{color:#a79f93}.status-band{padding:18px 6vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;color:#92897e;font-size:.72rem;letter-spacing:.1em}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:9px}.status-dot.open{background:#bb2923;box-shadow:0 0 10px #bb2923}.status-dot.closed{background:#666}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.movie-card{display:grid;grid-template-columns:145px 1fr;background:#1a1917;border:1px solid #3c372f;box-shadow:0 12px 25px #000}.poster{min-height:230px;background:#0d0d0d}.poster img,.catalog-poster img,.mini-poster img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) sepia(.15)}.poster span,.catalog-poster span,.mini-poster span{height:100%;display:flex;align-items:center;justify-content:center;color:#5e574d}.card-body{padding:20px}.movie-meta{font-size:.62rem!important;color:#c02a23!important}.card-body h3,.catalog-card h2,.admin-info h2{font-family:Georgia,serif;text-transform:uppercase}.card-body h3{margin:0 0 10px}.card-body p{font-size:.78rem;margin:0 0 10px}.card-body small,.admin-info small{color:#716a61;font-size:.63rem}.empty{border:1px dashed #443d35;padding:45px;text-align:center;color:#777}.empty:first-letter{color:var(--red)}footer{border-top:1px solid var(--line);padding:24px 6vw;display:flex;justify-content:space-between;align-items:center;color:#70695f;font-size:.62rem;letter-spacing:.12em}footer img{width:105px}
.page{width:min(1100px,88%);margin:auto;padding:65px 0}.page-heading{padding:55px 0 40px}.page-heading h1{font-size:clamp(3rem,8vw,6rem);margin:0}.catalog{display:grid;gap:18px}.catalog-card{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:18px;background:#181715;border:1px solid #39342e}.catalog-poster{height:255px;background:#0b0b0b}.catalog-card h2{font-size:2rem}.catalog-card p{color:#9d9589}.narrow{max-width:850px}.form{display:grid;gap:20px;background:#171614;border:1px solid #3e3830;padding:34px;box-shadow:0 15px 40px #000}.form label{display:grid;gap:8px;color:#aaa195;font-size:.74rem}.form input,.form textarea{background:#090909;color:var(--cream);border:1px solid #484138;padding:12px;font:inherit}.form input:focus,.form textarea:focus{outline:none;border-color:var(--red)}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.file-help{font-size:.6rem;color:#777}.form-actions{display:flex;justify-content:flex-end;gap:12px}
.login{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle,#25201d,#050505 70%)}.login-box{width:min(480px,100%);text-align:center}.login-logo{width:210px}.login h1{font-size:3rem}.login-box .form{text-align:left;margin-top:25px}.error{border:1px solid #81231f;color:#d87b73;padding:9px;font-size:.75rem}.back{color:var(--red2);display:inline-block;margin-top:20px;text-decoration:none}.admin-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:25px}.admin-head h1{font:900 2.2rem Georgia;text-transform:uppercase;margin:0}.admin-controls{display:flex;justify-content:space-between;align-items:center;padding:24px 0}.counter{font-size:.72rem;color:#777}.counter strong{font-size:2rem;color:var(--red2)}.admin-list{display:grid;gap:12px}.admin-item{display:grid;grid-template-columns:95px 1fr 35px;gap:20px;padding:16px;background:#181715;border:1px solid #38332c}.mini-poster{height:125px;background:#0b0b0b}.admin-info p{margin:4px 0;color:#938b80;font-size:.76rem}.admin-info h2{margin:3px 0}.delete{border:0;background:none;color:#756d63;font-size:2rem;cursor:pointer}
@media(max-width:700px){.brand img{width:110px}.nav-links{gap:12px}.nav-links a{font-size:.62rem}.hero-inner{margin-top:110px}.logo-lockup img{width:75vw}.section{display:block;padding:65px 0}.section-label{margin-bottom:22px}.cards{grid-template-columns:1fr}.movie-card{grid-template-columns:105px 1fr}.poster{min-height:190px}.catalog-card{grid-template-columns:90px 1fr;gap:15px}.catalog-poster{height:140px}.catalog-card h2{font-size:1.2rem}.two{grid-template-columns:1fr}.admin-head{display:block}.admin-item{grid-template-columns:65px 1fr 20px}.mini-poster{height:95px}footer{gap:15px;flex-wrap:wrap}}

.raffle-wrap{margin-top:45px}.raffle-intro{max-width:700px;margin-bottom:35px}.raffle-intro h2{font:900 clamp(2.7rem,6vw,5rem)/.95 Georgia,serif;text-transform:uppercase;margin:0 0 20px}.raffle-intro p{color:#9e968b}.raffle-stage{position:relative;overflow:hidden;border:1px solid #4b4136;background:radial-gradient(circle at 50% 42%,#2a2520,#10100f 62%,#080808);min-height:430px;display:grid;place-items:center;box-shadow:inset 0 0 80px #000}.raffle-stage:before,.raffle-stage:after{content:"";position:absolute;left:0;right:0;height:2px;background:#8f1916;opacity:.65}.raffle-stage:before{top:26px}.raffle-stage:after{bottom:26px}.raffle-screen{position:relative;z-index:2;width:min(330px,70%);text-align:center}.roulette-card{background:#151412;border:3px solid #9e1c18;padding:12px;box-shadow:0 0 0 8px #1c1915,0 15px 45px #000;transform:scale(1);transition:transform .2s}.roulette-card.winner-pop{animation:winnerPop .75s ease both}.roulette-poster{height:270px;background:#080808;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#635b50}.roulette-poster img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) sepia(.1)}.roulette-card h3{font:900 1.35rem/1.1 Georgia,serif;text-transform:uppercase;margin:14px 4px 5px}.raffle-stage.spinning .roulette-card{animation:cardShake .16s linear infinite}.raffle-stage.spinning .roulette-filmstrip{animation:filmFlash .35s linear infinite}.raffle-filmstrip{position:absolute;left:3%;right:3%;bottom:36px;height:8px;background:repeating-linear-gradient(90deg,#b8aa92 0 18px,#171513 18px 28px);opacity:.16}.raffle-stage.celebrate{box-shadow:inset 0 0 90px #64120f,0 0 35px #741714}.raffle-actions{text-align:center;padding:28px}.raffle-button{font-size:.85rem;padding:15px 25px;letter-spacing:.08em}.raffle-button:disabled{opacity:.55;cursor:not-allowed}.no-more{color:#777}.winner-banner{margin:0 0 30px;border:1px solid #9d1b18;background:linear-gradient(110deg,#241816,#151413);padding:24px;box-shadow:0 10px 35px #000}.winner-badge{color:#d13a31;text-align:center;font-size:.7rem;letter-spacing:.18em;margin-bottom:20px}.winner-content{display:grid;grid-template-columns:145px 1fr;gap:25px;align-items:center}.winner-poster{height:205px;background:#090909}.winner-poster img{width:100%;height:100%;object-fit:cover}.winner-poster span{height:100%;display:grid;place-items:center;color:#625a50}.winner-content h2{font:900 2rem/1.05 Georgia,serif;text-transform:uppercase;margin:4px 0 10px}.winner-content p{color:#999187}.proposal-pool{margin-top:25px}.pool-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3b352e;padding-bottom:13px;margin-bottom:18px}.pool-head h2{font:900 1.3rem Georgia,serif;text-transform:uppercase;margin:0}.pool-head span{color:#8d857a;font-size:.7rem}.pool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}.pool-card{background:#161513;border:1px solid #37322c;padding:8px;transition:.25s}.pool-card:hover{transform:translateY(-4px);border-color:#7f1a17}.pool-thumb{height:190px;background:#0a0a0a;overflow:hidden}.pool-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) sepia(.12)}.pool-thumb span{height:100%;display:grid;place-items:center;color:#5f584f}.pool-card h3{font:900 .86rem/1.15 Georgia,serif;text-transform:uppercase;margin:9px 3px 5px}.viewed-section{margin-top:45px}.viewed-list{display:flex;flex-wrap:wrap;gap:8px}.viewed-item{border:1px solid #302d29;padding:7px 10px;color:#716b62;font-size:.68rem}.viewed-item span{color:#a51b18;margin-right:6px}@keyframes cardShake{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-5px) rotate(-1deg)}75%{transform:translateX(5px) rotate(1deg)}}@keyframes filmFlash{50%{opacity:.35}}@keyframes winnerPop{0%{transform:scale(1)}45%{transform:scale(1.1) rotate(-2deg)}70%{transform:scale(.97) rotate(1deg)}100%{transform:scale(1)}}#confetti{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
@media(max-width:700px){.winner-content{grid-template-columns:95px 1fr;gap:15px}.winner-poster{height:140px}.winner-content h2{font-size:1.25rem}.raffle-stage{min-height:390px}.roulette-poster{height:225px}.pool-grid{grid-template-columns:repeat(2,1fr)}}

/* V4 — estados de función y control del registro */
.registration-control{margin:35px 0 48px;padding:24px 28px;border:1px solid #463d34;background:linear-gradient(110deg,#1d1916,#121211);display:flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:0 12px 30px #000}.registration-control h2{font:900 1.7rem/1.05 Georgia,serif;text-transform:uppercase;margin:4px 0 7px}.registration-control p:not(.eyebrow){margin:0;color:#958d82;font-size:.78rem}.registration-control form{margin:0}.movie-status{display:inline-block;font-size:.61rem;letter-spacing:.13em;padding:4px 8px;margin-bottom:8px;border:1px solid;text-transform:uppercase}.movie-status.next{color:#e1b86a;border-color:#8b6a32;background:#3b2810}.movie-status.viewed{color:#8f8980;border-color:#4d4942;background:#22211f}.movie-card.is-next,.catalog-card.is-next{border-color:#9b211c;box-shadow:0 0 0 1px #5e1512,0 12px 30px #000}.movie-card.is-viewed,.catalog-card.is-viewed{opacity:.72}.movie-card.is-viewed img,.catalog-card.is-viewed img{filter:grayscale(.75) sepia(.08)}.winner-badge{font-weight:bold}.admin-status{white-space:nowrap}
@media(max-width:700px){.registration-control{display:block}.registration-control form{margin-top:18px}.registration-control .btn{width:100%}}

/* V5 — portada: navegación limpia, sin logo superior ni línea sobre el héroe */
.index-nav{border-bottom:0;background:transparent}
.index-nav .nav-links{margin-left:auto}

.login-note{color:#8f877c;font-size:.74rem;max-width:360px;margin:8px auto 0}
