:root{--navy:#071a3d;--red:#d71920;--gold:#d6a751;--cream:#fffaf0}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--navy)}.draw-page{min-height:100vh;background:radial-gradient(circle at 50% 20%,#fff 0,#fff8e8 40%,#ecd29d 100%);position:relative}.draw-page:before{content:"";position:fixed;inset:0;background-image:linear-gradient(30deg,rgba(214,167,81,.08) 12%,transparent 12.5%,transparent 87%,rgba(214,167,81,.08) 87.5%);background-size:70px 120px;pointer-events:none}.stage{max-width:1250px;margin:auto;padding:24px 28px;position:relative}.brand{display:flex;align-items:center;justify-content:center;gap:28px;text-align:center}.brand img{width:105px;height:105px;object-fit:contain;mix-blend-mode:multiply}.brand p{font-size:12px;letter-spacing:3px;font-weight:800;margin:0;color:#a87b32}.brand h1{font-family:Georgia,serif;font-size:clamp(28px,4vw,52px);margin:5px}.draw-card{margin:20px 0;display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(320px,.8fr);align-items:center;gap:55px;background:rgba(255,255,255,.72);border:1px solid rgba(214,167,81,.45);border-radius:32px;padding:36px;box-shadow:0 30px 80px rgba(72,39,3,.16);backdrop-filter:blur(14px)}.wheel-area{position:relative;aspect-ratio:1}.wheel{width:100%;height:100%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 16px 16px rgba(0,0,0,.22));transition:transform 5s cubic-bezier(.08,.75,.12,1);will-change:transform}.pointer{position:absolute;z-index:3;left:50%;top:-19px;transform:translateX(-50%);width:0;height:0;border-left:26px solid transparent;border-right:26px solid transparent;border-top:62px solid var(--red);filter:drop-shadow(0 5px 3px rgba(0,0,0,.3))}.wheel-glow{position:absolute;inset:1%;border-radius:50%;box-shadow:inset 0 0 30px #fff5a8;pointer-events:none}.entry-panel{padding:10px}.eyebrow{color:var(--red);font-size:12px;letter-spacing:2px;font-weight:900}.entry-panel h2{font-family:Georgia,serif;font-size:40px;line-height:1.05;margin:8px 0 14px}.intro{color:#667085;line-height:1.6}label{display:block;font-weight:700;font-size:13px;margin:18px 0 7px}input{display:block;width:100%;border:1px solid #d9d1c2;border-radius:10px;padding:13px 14px;margin-top:7px;font:inherit;background:#fff}input:focus{outline:3px solid rgba(214,167,81,.2);border-color:var(--gold)}button,.export{border:0;border-radius:10px;padding:14px 20px;background:var(--red);color:#fff;font-weight:900;letter-spacing:.5px;cursor:pointer;text-decoration:none;display:inline-block}#spin-button{width:100%;margin-top:20px;font-size:17px;box-shadow:0 8px 20px rgba(215,25,32,.25)}button:disabled{opacity:.6;cursor:wait}#form-message{min-height:22px;color:var(--red);font-size:13px}.result{background:linear-gradient(135deg,#fff7d7,#f0c15d);border:2px solid var(--gold);padding:18px;text-align:center;border-radius:15px;animation:pop .5s ease}.result span,.result small{display:block}.result span{font-size:11px;letter-spacing:2px}.result strong{font:700 27px Georgia;display:block;margin:7px}.stage footer{text-align:center;color:#8a744f;font-size:12px}@keyframes pop{from{transform:scale(.85);opacity:0}}
.admin-body{background:#f3f5f9;min-height:100vh}.login-card{max-width:420px;margin:8vh auto;background:white;padding:40px;border-radius:20px;box-shadow:0 20px 60px #ccd2df}.login-card img{width:100px;height:100px;object-fit:contain;display:block;margin:auto}.login-card h1{text-align:center}.login-card>p{text-align:center;color:#687084}.login-card button{width:100%;margin:15px 0}.login-card>a{color:#687084;font-size:13px}.alert,.notice{padding:13px;border-radius:8px;background:#eaf8ef;color:#18723a}.notice.error{background:#fff0f0;color:#a31318}.admin-nav{background:var(--navy);color:white;padding:18px max(25px,calc((100% - 1200px)/2));display:flex;justify-content:space-between;align-items:center}.admin-nav span{display:block;font-size:11px;opacity:.6}.admin-nav a{color:white;text-decoration:none;margin-left:20px}.admin-main{max-width:1200px;margin:30px auto;padding:0 20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats div,.panel{background:#fff;border:1px solid #e5e8ef;border-radius:14px;padding:22px}.stats span{display:block;font-size:12px;color:#6b7280}.stats strong{font-size:28px}.panel{margin-top:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel h2{margin:0}.panel p{margin:5px 0;color:#758096;font-size:13px}.prize-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.prize-setting{border-top:5px solid var(--prize);background:#f8f9fb;padding:14px;border-radius:8px}.prize-setting b{color:var(--prize)}.prize-setting input{padding:9px}.prize-setting label{display:flex;align-items:center;gap:5px;margin:5px 0}.prize-setting .weight{width:90px}.panel form>button{margin-top:16px}.password-form{max-width:520px}.bad{color:var(--red)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:13px;border-bottom:1px solid #edf0f5;font-size:13px}th{color:#6d7687}.pill{background:#fff1d7;color:#8c5b00;border-radius:999px;padding:5px 9px}.empty{text-align:center;color:#8d94a2;padding:40px}
@media(max-width:850px){.stage{width:100%;padding:16px;overflow:hidden}.brand{gap:12px}.brand img{width:64px;height:64px;flex:0 0 auto}.brand h1{font-size:clamp(23px,7vw,34px)}.draw-card{display:block;width:100%;padding:20px;margin:14px 0;border-radius:22px}.wheel-area{width:min(100%,540px);max-width:100%;margin:12px auto 28px}.entry-panel{padding:0 4px}.entry-panel h2{font-size:32px}.stats{grid-template-columns:1fr 1fr}.prize-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.stage{padding:10px}.brand{justify-content:space-between;gap:6px}.brand img{width:48px;height:48px}.brand>div{min-width:0}.brand p{display:none}.brand h1{font-size:21px;line-height:1.05}.draw-card{padding:14px 12px;border-radius:16px;box-shadow:0 14px 35px rgba(72,39,3,.14)}.wheel-area{width:calc(100% - 10px);margin-top:16px;margin-bottom:24px}.pointer{top:-10px;border-left-width:18px;border-right-width:18px;border-top-width:43px}.entry-panel h2{font-size:27px;margin-top:4px}.intro{font-size:14px}.entry-panel label{margin-top:14px}input{font-size:16px;padding:13px 12px}#spin-button{margin-top:16px}.stats,.prize-grid{grid-template-columns:1fr}.admin-main{padding:0 12px}.admin-nav{padding:14px 12px}.admin-nav nav a:first-child{display:none}.panel{padding:16px}.panel-head{align-items:flex-start;gap:12px}.export{white-space:nowrap;padding:10px}.login-card{margin:20px 12px;padding:26px}.stage footer{padding:8px 10px 15px}}

.result #result-close{display:none}
@media(max-width:850px){
  .draw-card{display:flex;flex-direction:column}
  .entry-panel{display:contents}
  .entry-panel .eyebrow{order:1}
  .entry-panel h2{order:2}
  .entry-panel .intro{order:3}
  .entry-panel form{order:4;width:100%}
  .wheel-area{order:5;margin-top:28px;margin-bottom:8px}
  .entry-panel .result{order:6;position:fixed;z-index:21;left:50%;top:50%;width:min(88vw,390px);transform:translate(-50%,-50%);padding:28px 20px;box-shadow:0 25px 80px rgba(0,0,0,.4);animation:mobile-pop .4s ease}
  .result-open:after{content:"";position:fixed;inset:0;background:rgba(7,26,61,.68);z-index:20;backdrop-filter:blur(3px)}
  .result strong{font-size:32px;margin:12px 0}
  .result #result-close{display:block;margin:20px auto 0;width:100%;background:var(--navy)}
}

.prize-totals{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.prize-totals .total-card{background:var(--navy);color:#fff}.prize-totals .total-card span{color:#cbd5e1}.device-cell{min-width:190px;white-space:nowrap}
.draw-settings{margin-bottom:20px}.toggle-row{display:flex;align-items:center;gap:14px;margin:0 0 15px;cursor:pointer}.toggle-row>input{position:absolute;opacity:0;width:1px}.toggle{position:relative;flex:0 0 48px;width:48px;height:27px;border-radius:999px;background:#c7cdd8;transition:.2s}.toggle:after{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:white;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.2s}.toggle-row>input:checked+.toggle{background:#22a45d}.toggle-row>input:checked+.toggle:after{transform:translateX(21px)}.toggle-row>input:focus-visible+.toggle{outline:3px solid rgba(214,167,81,.4)}.toggle-row strong,.toggle-row small{display:block}.toggle-row small{font-weight:400;color:#758096;margin-top:3px}.draw-settings form>button{margin-top:0}


body.modal-open{overflow:hidden}.qualification-modal{position:fixed;z-index:50;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(7,26,61,.72);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.qualification-modal.open{opacity:1;visibility:visible}.qualification-card{width:min(100%,460px);max-height:calc(100dvh - 36px);overflow:auto;background:#fffdf8;border:1px solid rgba(214,167,81,.55);border-radius:24px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.38);transform:translateY(18px) scale(.97);transition:transform .3s ease}.qualification-modal.open .qualification-card{transform:none}.qualification-card h2{font:700 36px/1.05 Georgia,serif;margin:6px 0 8px}.qualification-card>p:not(.eyebrow){color:#667085;margin:0 0 8px}.modal-logos{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:12px}.modal-logos img{width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply}.modal-logos span{color:var(--gold);font-weight:900}.qualification-card #qualify-button{width:100%;margin-top:18px}.qualification-card #qualify-message{min-height:20px;color:var(--red);font-size:13px}.qualified-user{background:#fff8e8;border:1px solid #ead29e;border-radius:12px;padding:14px;margin:18px 0}.qualified-user span,.qualified-user small{display:block}.qualified-user span{font-size:10px;letter-spacing:1.5px;color:#9a6d20;font-weight:900}.qualified-user strong{display:block;font-size:20px;margin:4px 0}.qualified-user small{color:#667085}.qualified-user #edit-details{background:none;color:var(--red);padding:5px 0;margin-top:7px;font-size:12px}.entry-panel>#spin-button{width:100%;font-size:17px;box-shadow:0 8px 20px rgba(215,25,32,.25)}
@media(max-width:850px){.draw-card{display:flex}.wheel-area{order:1;margin:12px auto 24px}.entry-panel{display:block;order:2;width:100%}.qualification-card{padding:22px 18px;border-radius:20px}.qualification-card h2{font-size:30px}.modal-logos img{width:52px;height:52px}}

/* On phones, keep the qualified player and Spin button above the wheel so
   the primary action is visible as soon as registration closes. */
@media(max-width:850px){
  .entry-panel{order:1}
  .wheel-area{order:2;margin:22px auto 8px}
  .entry-panel>.eyebrow,.entry-panel>#welcome-title,.entry-panel>#welcome-copy{display:none}
  .qualified-user{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;margin:0 0 10px;padding:10px 12px}
  .qualified-user[hidden]{display:none}
  .qualified-user span,.qualified-user strong,.qualified-user small{grid-column:1}
  .qualified-user strong{font-size:17px;margin:2px 0}
  .qualified-user #edit-details{grid-column:2;grid-row:1/4;margin:0;padding:8px}
  .entry-panel>#spin-button{margin:0;min-height:54px;font-size:18px}
  .entry-panel>#form-message{min-height:0;margin:7px 0 0}
}
@keyframes mobile-pop{from{transform:translate(-50%,-50%) scale(.8);opacity:0}}

/* Keep the prize card sharp on mobile Safari; the former backdrop created a
   stacking layer above the dialog on some iPhones. */
@media(max-width:850px){
  .result-open:after{display:none!important;content:none!important;backdrop-filter:none!important}
  .entry-panel .result{background:linear-gradient(135deg,#fffdf5,#f0c15d);box-shadow:0 18px 65px rgba(7,26,61,.45);filter:none!important;opacity:1}
}
