:root{--bg:#070812;--panel:#121526dd;--line:#ffffff18;--text:#f8f8ff;--muted:#9ea3ba}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 0,#20184a,#070812 50%,#04050a);color:var(--text);font-family:Inter,system-ui,Arial}header{height:76px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#05060bcc;backdrop-filter:blur(15px)}header a{color:#b8bbcf;text-decoration:none}.brand{display:flex;align-items:center;gap:12px}.logo{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#ead8ff,#7c3aed,#2563eb);font-weight:900;font-size:23px;box-shadow:0 0 30px #7c3aed55}.brand small{display:block;color:#7f849b;font-size:9px;letter-spacing:2px}.glow{position:fixed;border-radius:50%;filter:blur(90px);opacity:.2;pointer-events:none}.glow.a{width:360px;height:360px;background:#7c3aed;left:-120px;top:120px}.glow.b{width:320px;height:320px;background:#2563eb;right:-120px;bottom:80px}main{width:min(1420px,92%);margin:auto}.hero{text-align:center;padding:45px 0 25px}.hero>span,.modalbox>span{font-size:10px;letter-spacing:3px;color:#bfa7ff;font-weight:900}.hero h1{font-size:clamp(40px,6vw,72px);line-height:1;margin:12px 0}.hero em{font-style:normal;background:linear-gradient(90deg,#fff,#a78bfa,#60a5fa);-webkit-background-clip:text;color:transparent}.hero p{color:var(--muted)}.layout{display:grid;grid-template-columns:280px minmax(400px,1fr) 280px;gap:26px;align-items:center}.card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 25px 70px #0006;backdrop-filter:blur(16px)}.head{display:flex;justify-content:space-between;align-items:center}.head h2{font-size:17px;margin:0}.head i{font-style:normal;font-size:8px;color:#70efad;border:1px solid #70efad44;padding:5px 7px;border-radius:20px}.card>p{font-size:12px;line-height:1.7;color:var(--muted)}label{font-size:9px;letter-spacing:2px;color:#858aa2}.code{display:flex;gap:7px;margin-top:8px}.code input{min-width:0;flex:1}input{background:#080a13;border:1px solid var(--line);border-radius:11px;padding:12px;color:#fff;outline:none}button{border:0;border-radius:11px;padding:12px 15px;background:linear-gradient(135deg,#8b5cf6,#4f46e5);color:#fff;font-weight:900;cursor:pointer}button:disabled{opacity:.45}.ok{color:#6cf0aa;font-size:12px;margin-top:8px}.bad{color:#ff899b;font-size:12px;margin-top:8px}.card hr{border:0;border-top:1px solid var(--line);margin:20px 0}.tip{margin:16px 0}.tip b,.tip small{display:block}.tip small{color:#8f94aa;font-size:10px;margin-top:4px}.wheel{text-align:center}.wheelbox{position:relative;width:min(680px,100%);aspect-ratio:1;margin:auto;filter:drop-shadow(0 35px 55px #0009)}canvas{width:100%;height:100%;display:block}.pointer{position:absolute;z-index:3;left:50%;top:-6px;transform:translateX(-50%);font-size:43px;color:#fff;text-shadow:0 4px 15px #000;filter:drop-shadow(0 0 9px #b58cff)}.center{position:absolute;inset:40%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2b2e54,#080a13 70%);border:4px solid #ddd7ff99;box-shadow:0 0 38px #8b5cf655,inset 0 0 25px #000}.center button{width:78%;height:78%;border-radius:50%;font-size:12px;letter-spacing:1px}.result{margin:13px auto 0;padding:13px;border:1px solid var(--line);background:#0c0f1add;border-radius:15px;max-width:600px}.result small,.result b{display:block}.result small{font-size:8px;letter-spacing:2px;color:#858aa2}.result b{margin-top:4px}.pr{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.pr>i{width:9px;height:9px;border-radius:50%;margin-top:4px}.pr b,.pr small{display:block}.pr small{font-size:10px;color:#8f94aa;margin-top:3px}.modal{display:none;position:fixed;inset:0;background:#000b;place-items:center;z-index:20;padding:20px}.modal.show{display:grid}.modalbox{position:relative;width:min(420px,100%);padding:40px;text-align:center;border:1px solid #ffffff22;border-radius:28px;background:#111427;box-shadow:0 30px 100px #000}.cup{font-size:60px}.modalbox h2{font-size:32px;margin:8px}.modalbox p{color:#a8acc0}.modalbox>strong{display:block;padding:12px;background:#080a12;border-radius:11px;color:#c7b3ff;margin:18px 0}.done{width:100%}.x{position:absolute;right:14px;top:14px;background:#fff1}@media(max-width:1000px){.layout{grid-template-columns:1fr}.wheel{order:-1}.controls,.prizes{max-width:680px;width:100%;margin:auto}}
