:root{--bg: #0a0a0a;--surface: #161616;--surface-2: #1f1f1f;--border: #2a2a2a;--text: #f5f5f5;--text-dim: #9a9a9a;--accent: #f08c50;--accent-hover: #f5a06b;--slot-red: #7b1e2b;--slot-red-dark: #350912;--slot-panel: #10080b;--gold: #f7c948;--reel-symbol-height: 104px;--success: #22c55e;--danger: #ef4444;--font-mono: Arial, Helvetica, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:var(--bg);font-family:Arial,Helvetica,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(720px 240px at 50% -80px,rgb(240 140 80 / 18%),transparent 70%),radial-gradient(580px 320px at 10% 12%,rgb(123 30 43 / 28%),transparent 64%),var(--bg)}button,a{font:inherit}.loading,.shell{min-height:100vh}.loading{display:grid;place-items:center}.shell{display:flex;flex-direction:column;gap:18px;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:0 0 48px}.topbar{position:sticky;top:0;z-index:10;display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:16px;padding:0;border-bottom:1px solid var(--border);background:#0a0a0ae0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;min-width:0;align-items:center;gap:10px;font-size:18px;font-weight:800}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgb(240 140 80 / 45%);border-radius:8px;background:#111}.brand-mark img{width:28px;height:28px;object-fit:contain}.brand-accent{color:var(--accent)}.session{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:14px}.hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding:44px 0 10px}.eyebrow{margin:0 0 12px;color:var(--gold);font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1{max-width:760px;margin:0;font-size:clamp(2.25rem,6vw,5.2rem);line-height:1;letter-spacing:0}.subcopy{max-width:620px;margin:18px 0 0;color:var(--text-dim);font-size:1.08rem;line-height:1.55}.requirement{margin:14px 0 0;color:var(--text-dim);font-size:.98rem;font-weight:800}.requirement.met{color:var(--success)}.requirement.blocked{color:var(--danger)}.hero-logo{display:grid;width:clamp(112px,18vw,210px);aspect-ratio:1;place-items:center;border:1px solid rgb(247 201 72 / 38%);border-radius:12px;background:radial-gradient(circle at 50% 35%,rgb(247 201 72 / 16%),transparent 58%),linear-gradient(135deg,rgb(123 30 43 / 48%),transparent 46%),var(--surface);box-shadow:0 22px 80px #f08c5029}.hero-logo img{width:78%;height:78%;object-fit:contain}.btn,.ball{border:0;border-radius:8px;cursor:pointer}.btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid transparent;color:#000;background:var(--accent);font-weight:800;text-decoration:none}.btn:hover{background:var(--accent-hover)}.btn-secondary{color:var(--text);background:var(--surface-2);border-color:var(--border)}.btn-secondary:hover{background:#262626}.status{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--border)}.status div{display:flex;min-height:96px;flex-direction:column;justify-content:center;padding:18px;background:var(--surface)}.status span{color:var(--text-dim);font-size:.88rem}.status strong{margin-top:5px;font-size:1.8rem}.panel{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.game{position:relative;display:grid;gap:22px;padding:30px;overflow:hidden;background:radial-gradient(circle at 50% 0%,rgb(247 201 72 / 18%),transparent 34%),linear-gradient(135deg,#7b1e2beb,#10080bf5);box-shadow:inset 0 0 0 1px #f7c9482e,inset 0 0 60px #0000006b}.game:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;pointer-events:none;border:2px solid rgb(247 201 72 / 26%);border-radius:8px;box-shadow:inset 0 0 0 8px #0000002e,0 0 34px #f7c9481a}.game:after{content:"";position:absolute;top:24px;left:50%;width:min(520px,70%);height:8px;pointer-events:none;border:0;border-radius:999px;background:linear-gradient(90deg,transparent,var(--gold),transparent);box-shadow:0 0 22px #f7c9488c;transform:translate(-50%,-50%)}.game-header{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:12px;color:#fff}.game-header span{color:#ffffffb8;font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.game-header strong{color:var(--gold);font-size:1.25rem}.balls{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));gap:10px;padding:18px;border:1px solid rgb(247 201 72 / 32%);border-radius:12px;background:linear-gradient(180deg,rgb(255 255 255 / 10%),transparent 18%),var(--slot-panel);box-shadow:inset 0 0 0 8px #00000047,0 18px 48px #00000047}.ball{display:block;min-height:168px;padding:0;color:var(--text);border:0;background:transparent;perspective:900px;transition:opacity .15s ease,transform .15s ease}.ball:not(:disabled):hover{transform:translateY(-2px)}.ball:disabled{cursor:not-allowed}.card-inner{position:relative;display:block;width:100%;min-height:168px;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.ball.used .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;min-height:168px;place-items:center;padding:16px;overflow:hidden;backface-visibility:hidden;border:1px solid rgb(255 255 255 / 14%);border-radius:8px;box-shadow:inset 0 -5px #0000002e}.card-front{grid-template-rows:minmax(0,1fr) auto;gap:10px;background:linear-gradient(180deg,rgb(255 255 255 / 10%),transparent 26%),linear-gradient(135deg,#0c0c0ceb,#290c12eb)}.ball:not(:disabled):hover .card-front{border-color:#f7c948b8;background:radial-gradient(circle at 50% 38%,rgb(247 201 72 / 20%),transparent 48%),linear-gradient(135deg,#121212f5,#44121cf5)}.card-back{color:#000;background:radial-gradient(circle at 50% 28%,rgb(255 255 255 / 35%),transparent 38%),linear-gradient(135deg,var(--gold),var(--accent));transform:rotateY(180deg)}.slot-window{position:relative;display:block;width:min(100%,112px);height:var(--reel-symbol-height);overflow:hidden;border:2px solid rgb(247 201 72 / 70%);border-radius:8px;background:linear-gradient(180deg,rgb(255 255 255 / 16%),transparent 22%,transparent 78%,rgb(0 0 0 / 24%)),#070707;box-shadow:inset 0 0 18px #000000b3,0 0 18px #f7c94824}.slot-window:before,.slot-window:after{content:"";position:absolute;right:0;left:0;z-index:1;height:14px;pointer-events:none}.slot-window:before{top:0;background:linear-gradient(180deg,rgb(0 0 0 / 72%),transparent)}.slot-window:after{bottom:0;background:linear-gradient(0deg,rgb(0 0 0 / 72%),transparent)}.reel-strip{display:grid;animation:reel-idle 1.8s steps(5) infinite}.ball.spinning .reel-strip{animation:reel-spin .18s linear infinite}.reel-symbol{display:grid;height:var(--reel-symbol-height);place-items:center;color:var(--gold);font-size:clamp(1.35rem,3vw,2rem);font-weight:900;line-height:1;text-shadow:0 0 16px rgb(247 201 72 / 34%)}.slot-label{display:inline-flex;min-width:68px;min-height:28px;align-items:center;justify-content:center;border:1px solid rgb(247 201 72 / 36%);border-radius:999px;color:#000;background:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:0}.prize-label{display:block;max-width:100%;font-size:.82rem;font-weight:800;line-height:1.2;text-align:center;overflow-wrap:anywhere}@keyframes reel-idle{0%{transform:translateY(0)}to{transform:translateY(calc(var(--reel-symbol-height) * -5))}}@keyframes reel-spin{0%{transform:translateY(0)}to{transform:translateY(calc(var(--reel-symbol-height) * -5))}}@media(prefers-reduced-motion:reduce){.card-inner{transition:none}.reel-strip,.ball.spinning .reel-strip{animation:none}.ball:not(:disabled):hover{transform:none}}.result{padding:16px 18px;border-radius:8px;color:#000;background:var(--accent);font-size:1.15rem;font-weight:800}@media(max-width:740px){.shell{--reel-symbol-height: 76px;width:min(100% - 24px,1120px);padding-top:18px}.hero,.status{grid-template-columns:1fr}.hero{align-items:start}.topbar,.session{justify-content:flex-start}.topbar{position:static;min-height:auto;align-items:flex-start;flex-direction:column;padding:14px 0}.session{width:100%;flex-wrap:wrap}.balls{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:10px}.ball,.card-inner,.card-face{min-height:128px}.reel-symbol{font-size:1rem}.game{padding:16px}}
