:root{--bg:#070707;--panel:#121212;--panel2:#171717;--cream:#f5f1e8;--muted:#98938b;--gold:#c7a45b;--gold2:#e1c989;--line:rgba(199,164,91,.28);--green:#75c58a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--cream);background:radial-gradient(circle at 12% 5%,rgba(199,164,91,.1),transparent 30%),radial-gradient(circle at 88% 20%,rgba(199,164,91,.07),transparent 28%),linear-gradient(#090909,#0b0b0b 55%,#070707);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.03;background-image:radial-gradient(#fff .6px,transparent .6px);background-size:5px 5px}button,input{font:inherit}.site-shell{width:min(1180px,calc(100% - 30px));margin:auto}.topbar{padding:22px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand-mark{width:45px;height:45px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2)}.brand-name{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:14px}.brand-sub{color:var(--gold2);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-top:4px}.hero{text-align:center;padding:70px 0 42px}.eyebrow{color:var(--gold2);letter-spacing:.28em;text-transform:uppercase;font-size:10px;font-weight:800}.hero h1{font:400 clamp(44px,7vw,78px)/.95 Georgia,serif;margin:16px 0}.hero p{max-width:670px;margin:auto;color:#d2ccc1;line-height:1.75}.vote-container{max-width:1040px;margin:0 auto 70px}.card{background:linear-gradient(145deg,rgba(23,23,23,.97),rgba(12,12,12,.97));border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 70px rgba(0,0,0,.45)}.panel{padding:clamp(24px,5vw,48px)}.step{display:none}.step.active{display:block}.panel-head{text-align:center;margin-bottom:30px}.panel-head h2{font:400 clamp(30px,4vw,46px) Georgia,serif;margin:12px 0}.panel-head p{color:var(--muted);line-height:1.65}.form-stack{display:grid;gap:14px;max-width:520px;margin:auto}.ticket-input{width:100%;padding:17px;border-radius:12px;background:#080808;color:var(--cream);border:1px solid #444;outline:none;text-align:center;letter-spacing:.12em;font-size:18px}.ticket-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,164,91,.12)}.primary-btn,.secondary-btn,.google-btn{width:100%;padding:15px 18px;border-radius:12px;cursor:pointer;font-weight:700}.primary-btn{color:#16120b;border:1px solid var(--gold2);background:linear-gradient(135deg,var(--gold2),var(--gold))}.primary-btn:disabled{opacity:.55;cursor:wait}.secondary-btn{color:var(--cream);background:transparent;border:1px solid #4a4a4a}.google-btn{background:#fff;color:#202124;border:0}.google-icon{font-weight:900;color:#4285f4;margin-right:9px}.status-line{text-align:center;min-height:20px;color:var(--muted);font-size:13px}.success-text{color:var(--green)}.error-box{display:none;padding:13px 15px;border-radius:10px;background:rgba(223,123,112,.1);border:1px solid rgba(223,123,112,.35);color:#f1b0aa;margin-bottom:16px;text-align:center}.error-box.show{display:block}.movie-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.movie-card{position:relative;overflow:hidden;text-align:left;padding:0;background:#0b0b0b;color:var(--cream);border:1px solid #333;border-radius:14px;cursor:pointer;transition:.2s}.movie-card:hover,.movie-card.selected{border-color:var(--gold2);transform:translateY(-2px);box-shadow:0 0 0 2px rgba(199,164,91,.15)}.movie-poster{aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#25211b,#0e0e0e)}.movie-poster img{width:100%;height:100%;object-fit:cover}.poster-placeholder{color:var(--gold);text-align:center;letter-spacing:.2em;font-size:10px}.movie-card-body{padding:13px}.movie-number{color:var(--gold);font-size:10px;letter-spacing:.15em}.movie-card h3{font:400 17px Georgia,serif;margin:7px 0 5px}.movie-card p{margin:0;color:var(--muted);font-size:12px}.movie-radio{position:absolute;right:12px;top:12px;width:18px;height:18px;border-radius:50%;border:1px solid #aaa;background:#000a}.movie-card.selected .movie-radio{border-color:var(--gold2);box-shadow:inset 0 0 0 4px #0b0b0b;background:var(--gold2)}.confirm-box,.success-screen{max-width:600px;margin:auto;text-align:center}.selection{margin:25px 0;padding:25px;border:1px solid var(--line);border-radius:14px;background:rgba(199,164,91,.06)}.selection strong,.success-screen strong{display:block;color:var(--gold2);font:400 28px Georgia,serif;margin-top:8px}.warning{color:#cfc6b8;font-size:13px;line-height:1.6}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.success-icon{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold2);font-size:34px}.site-footer{padding:35px 0 55px;text-align:center;border-top:1px solid var(--line);color:#777;font-size:11px;letter-spacing:.1em}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}.admin-stat{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.admin-stat strong{display:block;font:32px Georgia,serif;color:var(--gold2)}.admin-stat span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.admin-movie-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #292929}.admin-movie-row strong{color:var(--gold2)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid #2b2b2b}th{color:var(--gold2);font-size:11px;text-transform:uppercase}.pill{display:inline-block;padding:4px 8px;border-radius:30px;font-size:10px;font-weight:800}.pill-used{color:#f0aaa3;background:rgba(223,123,112,.1)}.pill-free{color:#9bd1a5;background:rgba(117,197,138,.1)}
@media(max-width:900px){.movie-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.movie-grid{grid-template-columns:repeat(2,1fr)}.admin-stats{grid-template-columns:1fr 1fr}.button-row{grid-template-columns:1fr}.hero{padding:50px 0 30px}}@media(max-width:420px){.movie-grid{gap:9px}.movie-card h3{font-size:14px}}
