*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  font-family:Arial,Helvetica,sans-serif;
  color:#fff;
  background:radial-gradient(circle at top,#176b3a 0,#061a10 45%,#020604 100%);
}
.page-wrap{
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:24px;
}
.card{
  width:100%;
  max-width:480px;
  padding:24px;
  border:1px solid rgba(122,0,38,.68);
  border-radius:24px;
  background:rgba(0,0,0,.55);
  box-shadow:0 20px 55px rgba(0,0,0,.55), inset 0 0 20px rgba(122,0,38,.68);
  text-align:center;
}
.brand{
  display:inline-block;
  padding:8px 18px;
  border-radius:999px;
  background:linear-gradient(90deg,#FFFFFF,#b3003c);
  color:#151515;
  font-weight:900;
  letter-spacing:1px;
}
h1{margin:18px 0 8px;font-size:28px;color:#ffd700;text-shadow:0 0 16px rgba(255,174,0,.55)}
h2{margin-top:20px;color:#ffd700}
.subtitle{color:#ddd;margin-bottom:18px}
.input-row{display:flex;gap:10px;margin:12px 0}
input,select{
  width:100%;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  outline:none;
  font-size:15px;
  color:#fff;
  background:rgba(255,255,255,.09);
}
select option{color:#111}
label{display:block;text-align:left;margin:14px 0 7px;font-weight:bold;color:#ffd700}
button{
  border:0;
  border-radius:14px;
  padding:14px 18px;
  font-weight:900;
  cursor:pointer;
  color:#111;
  background:linear-gradient(180deg,#ffd700,#ff9800);
  box-shadow:0 5px 0 #9b5800;
}
button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.wide-btn{width:100%;margin-top:16px;font-size:16px}
.message{min-height:24px;margin:12px 0;color:#ffd700;font-weight:bold}
.wheel-area{position:relative;margin:18px auto 12px;width:340px;max-width:100%}
.pointer{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  width:0;height:0;
  border-left:18px solid transparent;
  border-right:18px solid transparent;
  border-top:36px solid #ffd700;
  filter:drop-shadow(0 0 8px #ff9900);
  z-index:2;
}
canvas{width:100%;height:auto;border-radius:50%;box-shadow:0 0 26px rgba(255,215,0,.75)}
#spinBtn{margin-top:18px;width:100%;font-size:18px}
.result{font-size:22px;font-weight:900;color:#00ff9d;margin-top:18px;line-height:1.4}
.small-result{font-size:16px;text-align:left;background:rgba(255,255,255,.08);padding:12px;border-radius:12px;min-height:48px}
.note{font-size:12px;color:#cfcfcf;margin-top:18px}
hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:24px 0}
.admin-card{text-align:left}.admin-card h1,.admin-card h2,.admin-card .subtitle,.admin-card .brand{text-align:center}.admin-card .brand{display:block;width:max-content;margin:auto}
@media(max-width:420px){.input-row{flex-direction:column}h1{font-size:24px}.card{padding:18px}.wheel-area{width:300px}}
