:root{--bg:#070d1b;--panel:#17233a;--panel2:#202e49;--line:#354664;--gold:#f3c65d;--gold2:#d79d2b;--text:#ecf1ff;--muted:#a4b1c9;--green:#4ddbaf;--red:#ff8c8c}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 20% 0%,#162845 0%,#080f20 50%,#070b16 100%);color:var(--text);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}
a{color:var(--gold);text-decoration:none}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,3vw,38px);line-height:1.15;color:#ffe5a2}h2{font-size:20px;color:#ffe5a2}h3{font-size:16px}p,.muted,small,.sub-instruction{color:var(--muted)}
.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--gold);margin-bottom:8px}.wrap{max-width:1360px;margin:auto;padding:32px 20px}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#202d45,#111b30);border-radius:22px;padding:22px;box-shadow:0 20px 45px #0004}
label{display:block;font-size:13px;color:#bbc8de;margin:12px 0;font-weight:700}input,select{display:block;width:100%;padding:14px 13px;margin-top:6px;border-radius:11px;border:1px solid #354562;background:#0a1325;color:#fff;font:inherit;outline:none}input:focus,select:focus{border-color:var(--gold)}
button{font:inherit;cursor:pointer;border-radius:12px;border:1px solid var(--line);background:#263855;color:#fff;padding:12px 15px;font-weight:800;transition:filter .18s ease,transform .18s ease,box-shadow .18s ease}button:hover{filter:brightness(1.12)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:wait}
.primary{color:#241803;border:0;background:linear-gradient(#ffe390,#d69d26);width:100%;box-shadow:0 5px 20px #a36c2250}
.alert{padding:12px 14px;margin:12px 0;border:1px solid #98515b;border-radius:12px;background:#56252d;color:#ffe1e1}.success{color:var(--green)}.center-page{display:grid;place-items:center;padding:24px}.auth{width:min(100%,430px)}.auth button{margin:14px 0}.auth small{display:block;margin-top:18px}
.hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.hero-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.chip{border:1px solid #52617c;background:#2a3650;padding:9px 14px;border-radius:13px;color:#ffe8ad;font-weight:900;display:inline-flex;align-items:center;gap:8px}.chip-live{color:#d9ffd8}.dot-live{width:10px;height:10px;border-radius:50%;background:#3ee08c;box-shadow:0 0 15px #3ee08c;animation:pulse 1.3s infinite alternate}@keyframes pulse{to{transform:scale(1.25);opacity:.75}}
.machine-grid{display:grid;grid-template-columns:minmax(285px,330px) minmax(0,1fr);gap:18px}.machine-panel{position:relative;overflow:hidden}.side .primary{margin-top:12px}.info{padding:14px;background:#ffffff0a;border:1px solid var(--line);border-radius:13px;margin:15px 0}.mini-status{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.mini-card{padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffff08}.mini-card span{display:block;font-size:12px;color:#aebbd3}.mini-card strong{display:block;margin-top:3px;color:#ffeab0;font-size:15px}
.prize-list{padding-left:17px;font-size:13px;line-height:2;color:#d6def2}.recent-item{border:1px solid #42506b;padding:10px;border-radius:11px;margin-top:9px;font-size:12px;background:#ffffff08}
.machine-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:14px 0;flex-wrap:wrap}.top-controls{margin-top:0}.machine-indicators{display:flex;gap:10px;flex-wrap:wrap}.action-controls{margin-top:16px}.control-pad{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pad-btn{min-width:64px;background:linear-gradient(180deg,#314464,#1c2a43);border-color:#4d5f7d;box-shadow:0 6px 18px #0004}.primary-action{min-width:170px;background:linear-gradient(#ffe18c,#c8952c)!important;color:#251803;border:0}
.arcade-shell{position:relative;padding-top:18px}.arcade-lights{position:absolute;top:0;left:22px;right:22px;display:flex;justify-content:space-between;pointer-events:none;z-index:6}.arcade-lights span{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff7b5,#f0a323 65%,#a95f14);box-shadow:0 0 16px #f0b848;animation:blink 1.6s infinite alternate}.arcade-lights span:nth-child(2n){animation-delay:.5s}.arcade-lights span:nth-child(3n){animation-delay:.9s}@keyframes blink{to{opacity:.45;transform:scale(.88)}}
.arcade{position:relative;overflow:hidden;height:min(560px,62vw);min-height:420px;background:radial-gradient(ellipse at 50% 5%,#4d5d79,#293752 45%,#152039);border:1px solid #54647f;border-radius:26px;box-shadow:inset 0 0 55px #050a18,0 25px 55px #0004}.ambient-glow{position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,#fff2 20%,transparent 32%,transparent 65%,#ffffff12 78%,transparent 100%);mix-blend-mode:screen;opacity:.45;animation:sweep 8s linear infinite}@keyframes sweep{from{transform:translateX(-30%)}to{transform:translateX(30%)}}
.arcade:after{content:'';position:absolute;bottom:0;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,#f1a851 0 50px,#34c6ec 50px 95px,#4adab7 95px 140px,#ce478d 140px 190px);box-shadow:0 0 22px #42c4d8;opacity:.9}
.rail{position:absolute;top:26px;left:7%;width:86%;height:9px;border-radius:5px;background:linear-gradient(#f3f3ff,#7385ae);box-shadow:0 2px 11px #0008}
.claw{position:absolute;top:19px;left:50%;transform:translateX(-50%);z-index:5;transition:left 1s cubic-bezier(.2,.9,.2,1),top 1.2s cubic-bezier(.3,.7,.2,1)}.carriage{width:58px;height:32px;background:linear-gradient(#ffe491,#d29c28);border:1px solid #fff3aa;border-radius:12px;margin:auto;box-shadow:0 10px 18px #0003}.rope{width:4px;height:82px;background:linear-gradient(#dfe7ff,#95a8cc);margin:auto;box-shadow:0 0 8px #dfe7ff33}.grip{width:64px;height:36px;border-radius:12px 12px 30px 30px;background:linear-gradient(120deg,#eff5ff,#61789e);border:2px solid #e2eaff;position:relative;transition:transform .3s ease}.grip:before,.grip:after{content:'';position:absolute;top:23px;width:5px;height:26px;background:#cad7f3;border-radius:5px;transform-origin:top center;transition:transform .3s ease}.grip:before{left:-9px;transform:rotate(29deg)}.grip:after{right:-9px;transform:rotate(-29deg)}.claw.claw-closed .grip:before{transform:rotate(10deg)}.claw.claw-closed .grip:after{transform:rotate(-10deg)}.claw.claw-carrying .grip{transform:scale(1.03)}
.captured-prize{position:absolute;left:50%;top:126px;transform:translateX(-50%) scale(.6);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:1000;font-size:28px;font-style:italic;color:#ffcc46;text-shadow:0 2px #735323,0 0 10px #ffd76e44;background:radial-gradient(circle at 30% 25%,#5d6882,#1b2945 70%);border:2px solid #ffffff24;box-shadow:0 7px 14px #0006;opacity:0;transition:opacity .25s ease,transform .25s ease}.captured-prize.show{opacity:1;transform:translateX(-50%) scale(1)}.captured-prize.dropping{transition:top .7s ease,opacity .7s ease;top:220px;opacity:.1}
.ball{position:absolute;width:62px;height:62px;border:2px solid #ffffff24;border-radius:50%;background:radial-gradient(circle at 30% 25%,#5d6882,#1b2945 70%);display:grid;place-items:center;font-weight:1000;font-size:38px;font-style:italic;color:#ffcc46;text-shadow:0 3px #735323,0 0 12px #ffd76e44;box-shadow:0 7px 14px #0006;transition:transform .45s ease,filter .35s ease,opacity .25s ease;background-clip:padding-box;animation:float 2.3s ease-in-out infinite;cursor:pointer}.ball span{pointer-events:none}.ball:nth-child(2n){animation-duration:2.7s}.ball:nth-child(3n){animation-duration:3.1s}@keyframes float{50%{transform:translateY(-6px)}}.ball.selected{outline:3px solid var(--gold);transform:scale(1.12);filter:drop-shadow(0 0 14px #ffce5a66)}.ball.targeted{outline:3px solid #fff0a9;transform:scale(1.1);box-shadow:0 0 20px #ffd86677}.ball.captured{opacity:.08;transform:scale(.72)}
.drop-zone{position:absolute;bottom:19px;left:39%;width:22%;height:56px;border:1px solid #50617e;border-radius:0 0 22px 22px;background:linear-gradient(180deg,#7a8cb426,#445a8622);box-shadow:inset 0 0 16px #7184b544;display:flex;align-items:flex-start;justify-content:center}.drop-label{margin-top:8px;font-size:11px;letter-spacing:1px;color:#bcc8de;font-weight:800}
.progress-wrap{height:12px;border-radius:999px;background:#0b1528;border:1px solid #374660;overflow:hidden;margin-top:16px}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#f0ae3a,#ffe087,#3fe09a);box-shadow:0 0 20px #f5cf6f88;transition:width .45s ease}
.output{padding:15px;border:1px solid #a98744;background:#b8872520;border-radius:14px;font-weight:750;margin-top:14px}.hide{display:none!important}
.confetti-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:18%;width:10px;height:18px;border-radius:3px;background:linear-gradient(#ffe28a,#d48a20);box-shadow:0 0 10px #ffffff55;animation:confettiFall linear forwards}.confetti-piece:nth-child(4n){background:linear-gradient(#5ce8ff,#2d8fd0)}.confetti-piece:nth-child(4n+1){background:linear-gradient(#ff95c7,#cc4b94)}.confetti-piece:nth-child(4n+2){background:linear-gradient(#8cffbc,#22b770)}.confetti-piece:nth-child(4n+3){background:linear-gradient(#ffe28a,#d48a20)}@keyframes confettiFall{to{transform:translateY(310px) rotate(280deg);opacity:0}}
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px}.stat{padding:17px;border:1px solid var(--line);border-radius:17px;background:#18243c}.stat strong{display:block;font-size:30px;color:#ffe19a}.admin-cols{display:grid;grid-template-columns:330px 1fr;gap:18px}.tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}.tools input{max-width:290px;margin:0}.table-wrap{overflow:auto;max-height:500px;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:13px}th,td{padding:10px 12px;border-bottom:1px solid #38455d}th{background:#293855;position:sticky;top:0;color:#ffe6a3}td button{padding:5px 10px;font-size:12px}.tag{padding:3px 8px;border:1px solid #67758b;border-radius:8px}.prize-toggle{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:10px 0;gap:10px;font-size:13px}.prize-toggle button{font-size:12px;padding:6px 9px}.toast{position:fixed;right:20px;bottom:20px;background:#314461;border:1px solid var(--gold);padding:15px;border-radius:12px;max-width:370px;z-index:10}
@media(max-width:900px){.machine-grid,.admin-cols{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.arcade{height:480px}.hero{align-items:flex-start}.top-controls{align-items:flex-start}.mini-status{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.wrap{padding:18px 12px}.panel{padding:15px}.arcade{height:400px;min-height:400px}.ball{width:50px;height:50px;font-size:30px}.machine-controls button{flex:1}.stats{gap:7px}.stat{padding:10px}.stat strong{font-size:22px}.mini-status{grid-template-columns:1fr}.control-pad{width:100%}.primary-action{min-width:0}}

/* V10 PROFESSIONAL: member-only visual enhancements; legacy dashboard styles stay intact. */
.machine-panel{background:linear-gradient(145deg,#23314c 0%,#101a30 65%,#0b1425 100%);border:1px solid #8b7546aa;box-shadow:0 20px 65px #0008,0 0 0 1px #e5bd6240 inset}
.arcade-shell{padding:22px 7px 4px;background:linear-gradient(145deg,#111e33,#27314c 45%,#0b1428);border:5px solid #b38a3e;border-radius:30px;box-shadow:0 12px 0 #624b2c,0 20px 35px #0008,0 0 30px #ddb65f33 inset}
.arcade{border:2px solid #bfd2ef7d;background:radial-gradient(ellipse at 50% 12%,#566786,#263752 48%,#0c1428 100%);box-shadow:inset 0 0 80px #0008,0 0 14px #d5e6ff33}
.arcade-brand{position:absolute;top:16px;left:22px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;opacity:.8;text-shadow:0 2px 14px #000}
.arcade-brand strong{letter-spacing:2px;color:#fff3ce;font-size:21px}.arcade-brand strong span{color:#ffd05e}.arcade-brand small{font-size:8px;letter-spacing:1.5px;color:#bdd0ec}
.glass-shine{position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 14%,#e8f4ff08 25%,transparent 34%,transparent 72%,#e8f4ff08 82%,transparent 88%)}
.ball{border:2px solid #fbe8c04f;box-shadow:inset -9px -12px 18px #0007,inset 5px 8px 10px #ffffff30,0 12px 20px #0009,0 0 10px #f6c65f22;background:radial-gradient(circle at 28% 20%,#687899,#253554 45%,#111e37 82%)}
.ball.selected{outline-offset:4px;box-shadow:inset -9px -12px 18px #0007,0 0 24px #ffdb7cbb}
.claw .carriage{border:2px solid #fff1b7;box-shadow:inset 0 4px 6px #fff6d280,0 8px 10px #0007}
.claw .carriage i{display:block;width:15px;height:5px;margin:12px auto;background:#fff8cc;border-radius:5px;box-shadow:0 0 12px #fff5c1}
.top-controls strong{color:#ffe9ad}.sound-toggle{border:1px solid #846a3e;background:#3a3229;color:#ffe4a0;padding:9px 12px;font-size:12px}
.win-modal{position:fixed;z-index:200;inset:0;background:#020610d9;backdrop-filter:blur(9px);display:grid;place-items:center;padding:18px;animation:fadein .25s ease}
.win-card{position:relative;max-width:520px;width:100%;border-radius:28px;padding:32px 28px;text-align:center;background:radial-gradient(circle at 50% 0%,#594629,#1c2840 50%,#0c1426 100%);border:2px solid #edc873;box-shadow:0 0 0 7px #e5bc4526,0 35px 100px #000e,0 0 70px #d7a32b33 inset;animation:popin .5s cubic-bezier(.2,.9,.3,1.2)}
.win-spark{letter-spacing:15px;color:#ffe59d;font-size:30px;text-shadow:0 0 25px #f7d264;animation:pulse 1s infinite alternate}
.win-kicker{letter-spacing:3px;color:#dcb964;font-weight:900;font-size:12px;margin:8px}.win-icon{font-size:52px;filter:drop-shadow(0 0 20px #ffe18188)}.win-card h2{font-size:clamp(30px,5vw,48px);margin:0;text-shadow:0 5px 15px #0009}.win-sub{margin:2px 0 16px}.win-prize{font-size:clamp(22px,4vw,34px);font-weight:1000;color:#ffdf78;padding:16px;border:1px solid #e8c062aa;background:#ffffff10;border-radius:18px;text-shadow:0 0 22px #e7b94455;overflow-wrap:anywhere}
.win-user{margin:14px 0 4px;font-weight:800;color:#e4ebfa}.win-code{font-size:13px;color:#aabbd6;overflow-wrap:anywhere}.win-note{font-size:13px;margin:18px 0;color:#b9c6dd}.win-actions{display:flex;gap:10px}.win-actions button{flex:1}.win-actions .primary{width:auto}
@keyframes popin{from{opacity:0;transform:scale(.68) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadein{from{opacity:0}to{opacity:1}}
@media(max-width:480px){.arcade-shell{padding:16px 3px 3px;border-width:3px}.arcade-brand{left:12px;top:10px}.arcade-brand strong{font-size:15px}.arcade-brand small{font-size:6px}.win-card{padding:22px 15px}.win-actions{flex-direction:column}.machine-indicators{gap:5px}.sound-toggle{padding:7px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.arcade-lights span,.ball,.ambient-glow,.dot-live,.win-spark{animation:none!important}}
