:root{
  --brand-blue:#1B3F8F; --brand-purple:#3E0F6E;
  --accent:#7fe3ff; --accent-2:#c9bbff; --violet:#9b7bff; --accent-dark:#6a4be0;
  --card:rgba(16,10,58,.62); --card-border:rgba(190,170,255,.24);
  --ui:'Barlow Condensed',system-ui,sans-serif;
  --brush:'Knewave',Impact,sans-serif;
  --my:'Noto Sans Myanmar','Padauk','Myanmar Text','Pyidaungsu',sans-serif;
  --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;background:#0f0830;color:#fff;font-family:var(--ui);overflow:hidden;overscroll-behavior:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
img{user-select:none;-webkit-user-drag:none}
.my,.hl-my,.pill,.note,.modal,.toast,.spin-my{font-family:var(--my)}

.app{position:relative;width:100%;max-width:480px;height:100vh;height:100dvh;margin:0 auto;overflow:hidden;display:flex;flex-direction:column;isolation:isolate;user-select:none;touch-action:manipulation}

/* background */
.bg{position:absolute;inset:0;z-index:-1;overflow:hidden;
  background:radial-gradient(120% 55% at 50% 0%,rgba(60,110,230,.45),transparent 60%),
    linear-gradient(160deg,#1B3F8F 0%,#22307f 32%,#2c1869 62%,#3E0F6E 85%,#2a0a52 100%)}
.glow{position:absolute;border-radius:50%;filter:blur(40px);opacity:.6}
.glow-a{width:80%;height:40%;left:-30%;top:-10%;background:radial-gradient(circle,#3d7bff,transparent 70%)}
.glow-b{width:90%;height:45%;right:-35%;bottom:-5%;background:radial-gradient(circle,#9a4dff,transparent 70%)}
.rays{position:absolute;left:50%;top:56%;width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;opacity:.13;
  background:repeating-conic-gradient(from 0deg,#fff 0 6deg,transparent 6deg 18deg);
  -webkit-mask:radial-gradient(circle,#000 0,transparent 55%);mask:radial-gradient(circle,#000 0,transparent 55%);
  animation:spinRays 60s linear infinite}
@keyframes spinRays{to{transform:rotate(360deg)}}
.sparkles{position:absolute;inset:0;opacity:.7;
  background:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.6px) 0 0/53px 61px,
    radial-gradient(circle,rgba(127,227,255,.8) 0 1px,transparent 1.6px) 21px 33px/71px 67px,
    radial-gradient(circle,rgba(201,187,255,.8) 0 1.2px,transparent 1.8px) 40px 12px/89px 97px}

/* header */
.topbar{flex:none;display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}
.logo{height:36px;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.icon-btn{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;opacity:.9}
.icon-btn svg{width:26px;height:26px}
.icon-btn .mute{display:none}
.icon-btn[aria-pressed="false"] .mute{display:block}
.icon-btn[aria-pressed="false"] .wave{display:none}
.icon-btn:active{background:rgba(255,255,255,.12)}

/* main */
.main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:0 16px calc(14px + var(--safe-b))}
.headline{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:2px;flex:none}
.hl-1{font-family:var(--brush);font-weight:400;font-size:clamp(46px,14vw,60px);line-height:1;text-transform:uppercase;
  transform:skewX(-6deg) rotate(-3deg);padding:0 8px;
  background:linear-gradient(180deg,#fff 0%,#bff2ff 40%,#8fb4ff 70%,#a98bff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 3px 0 #3a1690) drop-shadow(0 8px 14px rgba(10,0,40,.5))}
.hl-my{font-size:clamp(16px,4.6vw,19px);font-weight:700;line-height:1.9;margin-top:2px;color:#fff;text-shadow:0 2px 8px rgba(10,0,40,.5)}

.pill{display:flex;align-items:center;gap:10px;margin-top:6px;margin-bottom:30px;padding:4px 16px;border-radius:999px;flex:none;
  background:var(--card);border:1px solid var(--card-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 6px 18px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08);font-size:14px;line-height:2}
.pill-label{color:rgba(255,255,255,.8);font-weight:600}
.pill-dots{display:flex;gap:5px}
.pill-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);transition:background .3s,box-shadow .3s}
.pill-dots i.on{background:var(--accent);box-shadow:0 0 8px var(--accent)}
.pill-count{font-weight:800;color:var(--accent);font-size:15px}
.pill.empty .pill-count{color:#ffb3cf}

/* wheel */
.wheel-wrap{position:relative;flex:none;margin:auto;width:min(92vw,400px,calc(100dvh - 400px));aspect-ratio:1}
.wheel-glow{position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle,rgba(127,227,255,.35) 0,rgba(155,123,255,.25) 45%,transparent 70%);filter:blur(10px)}
.wheel{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 14px 24px rgba(8,0,30,.55))}
.wheel .rotor{will-change:transform}
.wheel text{font-family:var(--my);font-weight:700;fill:#fff;paint-order:stroke;stroke:rgba(20,6,60,.35);stroke-width:2px}
.wheel .bulb{fill:#fff}
.wheel .bulb.alt{fill:#7fe3ff}
.wheel.lit .bulb{animation:blink .9s steps(1) infinite}
.wheel.lit .bulb.alt{animation-delay:.45s}
.wheel.spinning .bulb{animation-duration:.25s}
.wheel.spinning .bulb.alt{animation-delay:.125s}
@keyframes blink{50%{opacity:.25}}
.wheel .seg.win-hl{animation:segFlash .5s ease-in-out 4 alternate}
@keyframes segFlash{to{filter:brightness(1.7) saturate(1.2)}}

.pointer{position:absolute;left:50%;top:-6.5%;width:15%;margin-left:-7.5%;z-index:3;transform-origin:50% 34%;filter:drop-shadow(0 4px 6px rgba(10,0,40,.5))}
.pointer svg{display:block;width:100%;height:auto}
.pointer.tick{animation:tick .12s ease-out}
@keyframes tick{40%{transform:rotate(-22deg)}100%{transform:rotate(0)}}

.spin-btn{position:absolute;left:50%;top:50%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--brand-purple);
  background:radial-gradient(circle at 50% 30%,#fff 0,#f1ecff 55%,#d6caff 100%);
  box-shadow:0 0 0 5px rgba(255,255,255,.9),0 0 0 9px rgba(62,15,110,.55),0 0 26px 10px rgba(127,227,255,.45),0 8px 18px rgba(0,0,0,.45),inset 0 -5px 0 rgba(106,75,224,.35);
  transition:transform .15s,filter .2s}
.spin-btn:not([disabled]){animation:pulse 1.8s ease-in-out infinite}
.spin-btn:active:not([disabled]){transform:translate(-50%,-50%) scale(.94)}
.spin-btn[disabled]{cursor:default;filter:saturate(.6) brightness(.85)}
@keyframes pulse{50%{box-shadow:0 0 0 5px rgba(255,255,255,.95),0 0 0 9px rgba(62,15,110,.55),0 0 40px 16px rgba(127,227,255,.6),0 8px 18px rgba(0,0,0,.45),inset 0 -5px 0 rgba(106,75,224,.35)}}
.spin-en{font-family:var(--ui);font-weight:800;font-style:italic;font-size:clamp(22px,7vw,30px);letter-spacing:1px;line-height:1;text-transform:uppercase}
.spin-my{font-size:clamp(10px,3vw,12px);font-weight:700;line-height:1.7;opacity:.85}

.btn-cta{flex:none;width:100%;max-width:330px;height:58px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px}
.btn-cta .cta-en{font-family:var(--ui);font-weight:800;font-style:italic;font-size:26px;letter-spacing:1.5px;text-transform:uppercase;line-height:1}
.btn-cta .cta-my{font-size:16px;font-weight:700;line-height:1.6;opacity:.85;padding-left:10px;border-left:2px solid rgba(62,15,110,.25)}
.btn-cta[disabled]{filter:saturate(.5) brightness(.8);transform:translateY(3px);box-shadow:0 2px 0 var(--accent-dark)}
.note{padding-top:10px;font-size:14px;line-height:1.9;color:rgba(255,255,255,.75);text-align:center;flex:none}
.note b{color:var(--accent)}

/* modal */
.modal{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(12,4,40,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal[hidden]{display:none}
.confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.card{position:relative;z-index:1;width:100%;max-width:350px;padding:26px 20px 22px;border-radius:24px;text-align:center;
  background:linear-gradient(160deg,rgba(27,63,143,.97),rgba(62,15,110,.97));border:2px solid rgba(201,187,255,.55);
  box-shadow:0 0 40px rgba(155,123,255,.35),0 20px 40px rgba(0,0,0,.45);animation:pop .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes pop{from{transform:scale(.6);opacity:0}}
.badge{width:78px;height:78px;margin:-66px auto 6px;border-radius:50%;display:grid;place-items:center;font-size:40px;
  background:radial-gradient(circle at 50% 30%,#fff,#e4dcff);box-shadow:0 0 0 5px rgba(62,15,110,.6),0 0 30px rgba(127,227,255,.6)}
.badge svg{width:44px;height:44px}
.m-title{font-size:26px;font-weight:800;line-height:1.8;color:#fff}
.m-title.long{font-size:21px}
.m-sub{font-size:14px;color:rgba(255,255,255,.75);line-height:1.8}
.m-prize{margin:6px 0 4px;font-size:24px;font-weight:800;line-height:1.75;color:var(--accent);text-shadow:0 0 18px rgba(127,227,255,.4)}
.m-prize.long{font-size:20px}
.m-code{margin:10px auto 2px;padding:8px 12px 10px;border-radius:14px;border:1.5px dashed rgba(201,187,255,.6);background:rgba(10,4,40,.35);display:flex;flex-direction:column;gap:2px}
.m-code[hidden]{display:none}
.m-code-label{font-size:12px;color:rgba(255,255,255,.75);line-height:1.8}
.m-code b{font-family:var(--ui);font-size:28px;letter-spacing:3px;font-weight:800;color:#fff;line-height:1.1;user-select:all}
.m-code-hint{font-size:12px;line-height:1.8;color:rgba(255,255,255,.7)}
.m-left{margin-top:8px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.8)}
.actions{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.btn{height:52px;border-radius:999px;font-family:var(--my);font-weight:800;font-size:17px;line-height:1.6;transition:transform .12s}
.btn:active{transform:scale(.97)}
.btn-primary{color:var(--brand-purple);background:linear-gradient(180deg,#fff,#f1ecff 55%,#ddd3ff);
  box-shadow:0 5px 0 var(--accent-dark),0 10px 24px rgba(150,120,255,.45),inset 0 2px 0 rgba(255,255,255,.6)}
.btn-primary:active{transform:translateY(3px);box-shadow:0 2px 0 var(--accent-dark)}
.btn-outline{color:#fff;border:2px solid rgba(255,255,255,.85);background:rgba(20,10,60,.3)}
.btn[hidden]{display:none}

.toast{position:absolute;left:50%;bottom:calc(24px + var(--safe-b));transform:translateX(-50%);z-index:30;max-width:90%;
  padding:8px 18px;border-radius:14px;background:rgba(14,6,44,.92);border:1px solid var(--card-border);font-size:14px;line-height:1.8;text-align:center}
.toast[hidden]{display:none}

@media (max-height:700px){ .hl-1{font-size:40px} .hl-my{font-size:15px} .wheel-wrap{margin-top:16px} }
@media (min-width:481px){ body{background:radial-gradient(circle at 50% 30%,#1B3F8F,#3E0F6E 55%,#120630 100%)} .app{box-shadow:0 0 60px rgba(0,0,0,.6)} }
@media (prefers-reduced-motion:reduce){ .rays,.spin-btn{animation:none!important} }
