/* assets/style.css (FINAL - Premium + readable wheel labels) */
:root{
  --bg1:#070a1a;
  --bg2:#2a0a57;
  --card:rgba(10,16,40,.72);
  --text:#f4f6ff;
  --muted:#b8bce8;

  --sliceA:#8b5cf6;
  --sliceB:#121b45;

  --ring:rgba(255,255,255,.13);
  --ring2:rgba(255,255,255,.06);

  --btn1:#2b3b76;
  --btn2:#1c2650;
  --accent:#b78cff;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  min-height:100vh;

  background:
    radial-gradient(900px 500px at 25% 10%, rgba(183,140,255,.35), transparent 60%),
    radial-gradient(900px 500px at 80% 40%, rgba(139,92,246,.28), transparent 60%),
    radial-gradient(1200px 700px at 40% 90%, rgba(42,10,87,.55), transparent 65%),
    linear-gradient(180deg, var(--bg1), var(--bg2));
}

.wrap{max-width:1100px;margin:0 auto;padding:26px}
.hero{padding:12px 6px 18px}
.brand{font-weight:900;letter-spacing:.6px;font-size:38px;line-height:1}
.sub{color:var(--muted);margin-top:10px}

.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
@media (max-width: 900px){.grid{grid-template-columns:1fr}}

.card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:18px;
  box-shadow:0 14px 40px rgba(0,0,0,.34);
  backdrop-filter: blur(10px);
}

.wheel-area{
  position:relative;
  width:min(440px, 92vw);
  aspect-ratio:1/1;
  margin:6px auto 14px;
}

.wheel{
  width:100%;
  height:100%;
  border-radius:50%;
  border:10px solid var(--ring);
  box-shadow:
    inset 0 0 0 6px var(--ring2),
    0 20px 60px rgba(0,0,0,.45);
  position:relative;
  transform: rotate(0deg);
}

/* shiny overlay */
.wheel::after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), transparent 45%);
  pointer-events:none;
}

.label{
  position:absolute;
  font-weight:900;
  letter-spacing:.25px;
  color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.75);

  padding:6px 10px;
  border-radius:999px;

  /* bikin seperti "badge" premium */
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.20));
  border:1px solid rgba(255,255,255,.20);
  box-shadow:
    0 10px 22px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.18);

  text-align:center;
  line-height:1.05;
  white-space:normal;
  word-break:break-word;

  /* biar badge tidak terlihat kepotong */
  backdrop-filter: blur(3px);
}



.pointer{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  width:0;height:0;
  border-left:16px solid transparent;
  border-right:16px solid transparent;
  border-bottom:28px solid rgba(255,255,255,.92);
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.45));
}

/* result */
.result{margin-top:10px}
.result-title{font-weight:900;color:var(--muted);letter-spacing:.3px}
.result-text{font-size:18px;font-weight:900;margin-top:8px}

h2{margin:0 0 12px}

.form{display:flex;flex-direction:column;gap:10px}
label{font-size:13px;color:var(--muted)}

input{
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.20);
  color:var(--text);
  outline:none;
}
input:focus{
  border-color:rgba(183,140,255,.75);
  box-shadow:0 0 0 3px rgba(183,140,255,.12);
}

button{
  margin-top:6px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,var(--btn1),var(--btn2));
  color:var(--text);
  font-weight:900;
  cursor:pointer;
}
button:hover{filter:brightness(1.06)}
button:disabled{opacity:.65;cursor:not-allowed}

.hint{min-height:18px;color:#ffb4b4;font-weight:800}
.note{margin-top:10px;color:var(--muted);font-size:13px}