:root{--primary:#6c5ce7;--secondary:#00cec9;--bg1:#0f1220;--bg2:#1b2439;--glass-bg:rgba(255,255,255,0.08);--glass-border:rgba(255,255,255,0.2);--text:#ffffff;--text-muted:#dbe1ff;--text-shadow:0 1px 2px rgba(0,0,0,.35)}
html,body{height:100%}
body{font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',sans-serif;background:linear-gradient(135deg,var(--bg1) 0%,var(--bg2) 60%,var(--bg1) 100%);color:var(--text);text-shadow:var(--text-shadow)}
.bg-gradient{background:linear-gradient(135deg,var(--bg2),var(--bg1))}
.glass{background:var(--glass-bg);backdrop-filter:blur(12px);border:1px solid var(--glass-border)}
.rounded-xl{border-radius:1.25rem}
.hero{padding:5rem 0;background:radial-gradient(1200px 600px at 0% 0%,rgba(108,92,231,.25),transparent),radial-gradient(1200px 600px at 100% 100%,rgba(0,206,201,.25),transparent)}
.card-glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 20px 40px rgba(0,0,0,.35)}
.btn-primary{background:var(--primary);border-color:var(--primary)}
.btn-secondary{background:var(--secondary);border-color:var(--secondary);color:#0f1220}
.step{display:flex;gap:.75rem;align-items:center;justify-content:center;margin:1rem 0}
.step .item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15)}
.step .item.active{background:rgba(108,92,231,.25);border-color:rgba(108,92,231,.55)}
.badge-glass{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2)}
.table-glass{--bs-table-bg:rgba(255,255,255,.04);--bs-table-color:#fff}
.screen{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.burst{position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none}
.particle{position:absolute;color:var(--text-muted);opacity:0;font-weight:600;animation:float 1.8s ease-out forwards}
.particle.winner{left:50%;top:50%;transform:translate(-50%,-50%) scale(.2);color:var(--primary);font-size:8vw;font-weight:800;text-shadow:var(--text-shadow);animation:winnerPop 1.8s ease-out forwards}
.burst.hide .particle{animation:fadeOut .6s ease-in forwards}
@keyframes float{0%{opacity:0;transform:translateY(20px) scale(.8)}20%{opacity:.9}100%{opacity:.1;transform:translateY(-20px) scale(1.1)}}
@keyframes winnerPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes fadeOut{to{opacity:0}}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:1050;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.reveal{font-size:9vw;font-weight:700;letter-spacing:.02em}
.shadow-soft{box-shadow:0 10px 30px rgba(0,0,0,.35)}
.input-loading{opacity:.7;pointer-events:none}
.screen-layout{display:grid;grid-template-columns:minmax(28vw,40vw) 1fr;gap:3vw;align-items:center;justify-items:center;width:100%;padding:2vw}
.prize-figure{max-width:40vw;max-height:70vh;position:sticky;top:10vh;border-radius:1rem;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.35);border:1px solid var(--glass-border)}
.prize-figure img{width:100%;height:100%;display:block;object-fit:contain}
.prize-title{font-size:4vw;font-weight:800}
.prize-value{font-size:3vw;color:var(--secondary);font-weight:700}
.ticket-badge{font-size:10vw;font-weight:900;letter-spacing:.02em;opacity:0;transform:scale(.6)}
@keyframes ticketPop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
::selection{background:var(--primary);color:#000}
.form-select{background:rgba(255,255,255,.08);border:1px solid var(--glass-border);color:#fff}
.form-select:focus{background:rgba(255,255,255,.16);color:#fff;box-shadow:none}
select option{background-color:var(--bg2);color:#fff}
select option:checked,select option:hover{background-color:var(--primary);color:#000}
.dropdown-menu{background-color:rgba(0,0,0,.7);color:var(--text)}
.dropdown-item{color:var(--text)}
.dropdown-item:hover,.dropdown-item.active{background-color:var(--primary);color:#000}
