@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Playfair+Display:wght@700;800&display=swap");:root{color-scheme:dark;--gold:#ffc247;--gold-light:#ffe39a;--ink:#120a2b;--purple:#5d22a5}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;font-family:DM Sans,sans-serif;background:radial-gradient(circle at 50% 15%,rgba(131,69,207,.42),transparent 34%),linear-gradient(145deg,#0b0619,#18082c 52%,#080511);color:#fff}main{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:40px 18px}main:before{content:"";position:absolute;inset:0;opacity:.13;background-image:radial-gradient(#fff .7px,transparent 0);background-size:24px 24px;pointer-events:none}.glow{position:absolute;width:340px;height:340px;border-radius:50%;filter:blur(80px);opacity:.18}.glowOne{background:#a546ff;left:-130px;top:-100px}.glowTwo{background:#ffb520;right:-140px;bottom:-120px}.card{width:min(100%,540px);position:relative;z-index:1;text-align:center;padding:34px clamp(20px,5vw,42px) 38px;border:1px solid rgba(255,255,255,.13);border-radius:30px;background:linear-gradient(155deg,rgba(40,20,75,.93),rgba(20,9,42,.93));box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.eyebrow{display:inline-block;color:var(--gold-light);background:rgba(255,194,71,.1);border:1px solid rgba(255,194,71,.22);border-radius:99px;padding:7px 14px;font-size:11px;font-weight:700;letter-spacing:.18em}h1{margin:13px 0 6px;font-family:Playfair Display,serif;font-size:clamp(38px,9vw,59px);line-height:1;letter-spacing:-.04em}h1 span{color:var(--gold);text-shadow:0 0 28px rgba(255,194,71,.28)}.subtitle{color:#bfb4d7;margin:0 0 28px;font-size:15px}.roulette{position:relative;width:min(100%,330px);margin:auto;padding:8px;border-radius:25px;background:linear-gradient(135deg,var(--gold-light),#9b58d4,var(--gold));box-shadow:0 18px 45px rgba(0,0,0,.42),0 0 35px rgba(142,72,211,.18)}.marker{position:absolute;z-index:4;left:50%;top:-20px;transform:translateX(-50%);color:var(--gold);font-size:27px;filter:drop-shadow(0 3px 2px #5e3400)}.imageFrame{height:min(44vh,380px);min-height:280px;position:relative;overflow:hidden;border-radius:19px;background:#100720}.imageFrame img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .25s ease,filter .25s ease}.isSpinning .imageFrame img{transform:scale(1.06);filter:saturate(1.25) brightness(1.08)}.hasWinner{animation:winnerPulse .65s ease}.speedLines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(255,255,255,.13) 23px,transparent 26px);animation:slide .15s linear infinite}.emptyState{height:100%;display:grid;place-content:center;color:#8f80ab}.emptyState span{color:var(--gold);font-size:46px}.emptyState p{margin:8px 0 0}.status{min-height:52px;margin:19px auto 14px;display:flex;align-items:center;justify-content:center;gap:10px;color:#cbbfe0;font-size:14px}.status small,.status strong{display:block}.status small{max-width:360px;margin-top:3px;color:#9d8caf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status.winner strong{color:var(--gold-light);font-size:16px}.trophy{color:var(--gold);font-size:26px;animation:pop .5s ease}button{width:min(100%,330px);height:58px;border:0;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:17px;cursor:pointer;color:#24112f;background:linear-gradient(135deg,#ffe49b,#ffb51f);box-shadow:0 12px 28px rgba(255,179,27,.22),inset 0 1px rgba(255,255,255,.65);font:700 16px DM Sans,sans-serif;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}button b{font-size:23px;line-height:1}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,179,27,.32)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}@keyframes slide{to{transform:translateY(26px)}}@keyframes pop{50%{transform:scale(1.4) rotate(15deg)}}@keyframes winnerPulse{50%{transform:scale(1.025);box-shadow:0 0 55px rgba(255,194,71,.55)}}@media (max-width:520px){main{padding:14px}.card{border-radius:24px;padding-top:25px}.imageFrame{min-height:245px;height:42vh}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}