:root{--bg:#0e0b1f;--ink:#f6efe0;--muted:#a9a3c2;--card:#1a1536;--line:#f2c14e;--accent:#e8366f;--gold:#f2c14e;--display:"Instrument Serif",Georgia,serif;--radius:20px}
body{background:radial-gradient(60vmax 40vmax at 50% -5%,#3a1f6b 0,transparent 65%),radial-gradient(40vmax 40vmax at 100% 60%,#5a1038 0,transparent 60%),var(--bg);color:var(--ink)}
.logo{color:var(--ink)}.logo span{font-family:var(--display);font-size:24px}
.toplink{font-size:12px;font-weight:800;color:var(--gold);letter-spacing:.12em;text-transform:uppercase}
h1{font-size:46px;font-weight:400}h1 em{color:var(--gold)}
.lead{color:#cfc8e8}
.btn{background:#241d4a;color:var(--ink);border-color:var(--gold);box-shadow:0 4px 0 var(--gold)}
.btn:active{box-shadow:0 1px 0 var(--gold)}
.btn.primary{background:var(--ink);color:#1a1536}
.btn.accent{background:var(--accent);color:#fff;border-color:#ff9bb8;box-shadow:0 4px 0 #ff9bb8}
.btn.gold{background:var(--gold);color:#241d4a;border-color:#fff3c9;box-shadow:0 4px 0 #fff3c9}
.btn.ghost{color:var(--muted)}
.curtain{position:relative;height:210px;border-radius:24px;background:linear-gradient(180deg,#7a0f2e,#3b0716);border:2px solid var(--gold);box-shadow:0 6px 0 var(--gold);overflow:hidden;text-align:center;padding-top:20px;margin:4px 0 22px}
.curtain:before,.curtain:after{content:"";position:absolute;top:0;bottom:0;width:28%;background:repeating-linear-gradient(90deg,#a3173f 0 14px,#6e0d28 14px 28px);opacity:.75}
.curtain:before{left:0;border-radius:0 60% 60% 0/0 40% 40% 0}.curtain:after{right:0;border-radius:60% 0 0 60%/40% 0 0 40%}
.spot{position:absolute;left:50%;top:-30px;width:260px;height:260px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,236,170,.55),transparent);}
.gold-t{position:relative;color:var(--gold);letter-spacing:.3em;font-size:14px}
.big-t{position:relative;font-family:var(--display);font-size:34px;line-height:1.05;margin-top:8px;color:#fff3d6}
.big-t b{color:var(--gold);font-weight:400}
.lbl{display:block;font-weight:800;font-size:14px;margin:16px 0 6px}.lbl small{color:var(--muted);font-weight:600}
input.field{background:#141030;color:var(--ink);border-color:#4a3f86}
input.field:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(242,193,78,.25)}
.addrow{display:flex;gap:8px}.addrow .btn{padding:0 18px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px;min-height:8px}
.chip{display:inline-flex;align-items:center;gap:6px;background:#2c2360;border:2px solid #4a3f86;border-radius:99px;padding:6px 8px 6px 14px;font-weight:700;font-size:15px}
.chip button{background:rgba(255,255,255,.12);border:0;color:var(--ink);width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1}
.hint{font-size:13px;color:var(--muted);margin:2px 0 14px}
.meta{color:var(--muted)}.meta a{color:var(--gold)}
.disclaimer{color:#8a84a8}
.dots{display:flex;gap:6px;justify-content:center;margin:6px 0 14px;flex-wrap:wrap}.dots i{width:9px;height:9px;border-radius:50%;background:#3a3170}.dots i.on{background:var(--gold)}.dots i.done{background:#8a7a3a}
.stage{min-height:430px;border-radius:28px;border:2px solid var(--gold);box-shadow:0 6px 0 var(--gold);background:radial-gradient(80% 60% at 50% 0,#3a2a78,#1a1536);text-align:center;padding:26px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fade .3s}
.st-emoji{font-size:84px;line-height:1;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4))}
.st-pre{color:var(--muted);font-size:14px;margin-top:12px;letter-spacing:.1em;text-transform:uppercase}
.st-title{font-family:var(--display);font-weight:400;font-size:38px;line-height:1.05;margin:6px 0 16px;color:#fff3d6}
.st-drum{color:var(--gold);font-weight:800;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.45}}
.st-win{display:none}.revealed .st-win{display:block;animation:pop .45s cubic-bezier(.2,1.6,.4,1)}.revealed .st-drum{display:none}
@keyframes pop{from{transform:scale(.5);opacity:0}to{transform:none;opacity:1}}
.st-win .gt{color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-size:12px}
.st-win .nm{font-family:var(--display);font-size:60px;line-height:1;color:var(--gold);margin:6px 0 12px;word-break:break-word}
.st-win .cit{font-size:16px;color:#e7e0f7;max-width:360px;margin:0 auto}
.showbtns{display:flex;gap:8px;margin-top:16px}.showbtns .btn{flex:1}
.poster{border-radius:28px;border:2px solid var(--gold);box-shadow:0 6px 0 var(--gold);background:radial-gradient(90% 40% at 50% 0,#3a2a78,#1a1536);padding:22px 14px 14px;text-align:center}
.p-k{color:var(--gold);letter-spacing:.3em;font-size:12px}.p-t{font-family:var(--display);font-weight:400;font-size:42px;color:#fff3d6;line-height:1;margin:6px 0 2px}.p-sub{color:var(--gold);letter-spacing:.2em;font-size:12px;margin-bottom:14px;font-weight:800}
.plist{text-align:left;display:flex;flex-direction:column;gap:8px}
.prow{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(242,193,78,.25);border-radius:14px;padding:9px 10px}
.prow .e{font-size:24px;flex:0 0 32px;text-align:center}.prow .t{flex:1;min-width:0}.prow .t small{display:block;color:var(--muted);font-size:11.5px;line-height:1.2}.prow .t b{font-size:16px;color:var(--gold)}
.prow button{background:transparent;border:0;font-size:18px;cursor:pointer;padding:6px;border-radius:10px}
.prow button:active{background:rgba(255,255,255,.1)}
.tip{color:var(--muted);font-size:12.5px;text-align:center;margin:10px 0 0}
.cta{background:#1a1536}.cta h3{font-family:var(--display);font-weight:400;font-size:28px}
.small-note,.foot,.store{color:var(--muted)}
.toy{background:#1a1536;border-color:#3a3170;color:var(--ink)}
.cross h4{color:var(--muted)}
.cta-badge{color:#241d4a}
.modal-tip{color:#fff}
.friend-only{margin-top:4px}
.btn.big.friend-only{display:none}.is-friend .btn.big.friend-only{display:flex}
