:root{font-family:Arial,sans-serif;color:#f6ecff;background:#140921}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#4b176c,#1a0a26 65%)}header{text-align:center;padding:25px 16px 8px}h1{font-size:clamp(27px,5vw,44px);margin:8px 0;color:#ffbd4f;text-shadow:0 3px 10px #000}p{line-height:1.5}.wrap{max-width:1150px;margin:auto;padding:12px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:22px}.panel{background:#261139;border:1px solid #76417e;border-radius:18px;padding:20px;box-shadow:0 10px 40px #0005}button,select,input,textarea{font:inherit}input,select,textarea{padding:11px;border:1px solid #8657a0;background:#160c24;color:white;border-radius:9px;max-width:100%}button{padding:11px 15px;background:#f2a12e;color:#261139;font-weight:800;border:0;border-radius:10px;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}.controls{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.wheel-wrap{width:min(100%,600px);aspect-ratio:1;position:relative;margin:auto}.wheel{width:100%;height:100%;border-radius:50%;border:12px solid #ffc75c;box-shadow:0 0 0 5px #5b285d,0 0 35px #e57c24aa;position:relative;transition:transform 5.2s cubic-bezier(.11,.65,.14,1);overflow:hidden;background:conic-gradient(#ffcc43 0deg 45deg,#f16b35 45deg 90deg,#c92f59 90deg 135deg,#5c3b9f 135deg 180deg,#27a966 180deg 225deg,#4dbbdb 225deg 270deg,#d64a39 270deg 315deg,#f7e98e 315deg 360deg)}canvas{display:block;width:100%;height:100%}.pointer{position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:43px;color:white;text-shadow:2px 2px 4px black;z-index:5}.hub{position:absolute;inset:35%;border-radius:50%;background:linear-gradient(145deg,#ffb743,#77226d);display:flex;align-items:center;justify-content:center;text-align:center;border:6px solid #f8de8a;font-size:clamp(12px,2.5vw,25px);font-weight:900;text-shadow:1px 2px 3px #000;pointer-events:none}.result{margin:16px 0;padding:20px;border-radius:14px;background:#3b2053;border:1px solid #e6ad48;min-height:110px;white-space:pre-wrap}.winner{font-weight:bold;color:#ffe28b;font-size:22px}.list{max-height:340px;overflow:auto}.item{display:flex;gap:10px;align-items:center;border-bottom:1px solid #52305e;padding:10px 0;word-break:break-all}.avatar{width:44px;height:44px;border-radius:50%;background:#75508c;object-fit:cover}.tag{font-size:12px;background:#5d3975;border-radius:10px;padding:4px 7px}.notice{color:#f6d07e;font-size:14px}.admin-wrap{max-width:980px;margin:20px auto;padding:14px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin:10px 0}.muted{color:#cbb8da;font-size:13px}a{color:#ffcb70}footer{text-align:center;padding:18px;color:#d1b8d8}@media(max-width:800px){.wrap,.admin-grid{grid-template-columns:1fr}.panel{padding:14px}}

.front-controls{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin:18px 0}.front-controls select{min-width:180px}.front-controls button{font-size:19px;padding:14px 28px;background:linear-gradient(120deg,#ffda58,#f69a22);box-shadow:0 6px 20px #0006}.wheel.spinning{filter:brightness(1.08)}.result .avatar{display:inline-block;vertical-align:middle;margin-right:8px}.spin-note{text-align:center;color:#ffe29b;font-weight:700;margin-top:10px}
