.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse at center,#12122a,#0a0a1a 70%)}.login-card{width:100%;max-width:420px;background:#ffffff0a;border:1px solid rgba(201,162,39,.3);border-radius:20px;padding:40px 36px;box-shadow:0 24px 60px #000000b3,0 0 40px #c9a22714;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:36px}.logo-text{font-size:2.6rem;font-weight:900;letter-spacing:.15em;color:#c9a227;text-shadow:0 0 24px rgba(201,162,39,.6);line-height:1}.logo-sub{font-size:.85rem;font-weight:700;letter-spacing:.35em;color:#888;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group label{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:#888;text-transform:uppercase}.form-group input{padding:12px 16px;background:#0006;border:1px solid #2a2a4a;border-radius:10px;color:#e8e8f0;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.form-group input:focus{border-color:#c9a227;box-shadow:0 0 0 3px #c9a22726}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#555}.form-error{padding:10px 14px;background:#ff44441f;border:1px solid rgba(255,68,68,.4);border-radius:8px;color:#ff7070;font-size:.875rem}.login-btn{margin-top:6px;padding:14px;background:linear-gradient(135deg,#e8c43a,#a07a10);border:none;border-radius:12px;color:#0a0a1a;font-size:1rem;font-weight:800;letter-spacing:.1em;cursor:pointer;text-transform:uppercase;box-shadow:0 4px 16px #c9a22766;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #c9a22799;filter:brightness(1.08)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.reels-container{width:100%;max-width:430px;margin:0 auto;padding:5px;background:linear-gradient(135deg,#6d28d9,#be185d,#7c3aed);border-radius:20px;box-shadow:0 0 40px #a855f780,0 0 80px #ec489933,inset 0 1px #ffffff1a}.reels-frame{background:#0a031ee0;border-radius:16px;padding:10px;overflow:hidden}.reels-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.reel-column{display:flex;flex-direction:column;gap:6px}.reel-column.falling-out{animation:fallDown .26s ease-in both}.reel-column.falling-in{animation:fallIn .34s cubic-bezier(.22,1,.36,1) both}@keyframes fallDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(115%);opacity:0}}@keyframes fallIn{0%{transform:translateY(-115%);opacity:0}50%{opacity:1}to{transform:translateY(0);opacity:1}}.symbol-cell{height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.symbol-cell:before{content:"";position:absolute;top:6%;left:12%;width:40%;height:28%;background:#ffffff40;border-radius:50%;transform:rotate(-25deg);pointer-events:none}.symbol-cell.winning{animation:winPop .55s ease infinite alternate;z-index:2}.symbol-emoji{font-size:3rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));position:relative;z-index:1}.win-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(130deg,transparent 25%,rgba(255,255,255,.4) 50%,transparent 75%);background-size:200% 200%;animation:shimmer .75s linear infinite;border-radius:inherit;pointer-events:none}@keyframes winPop{0%{filter:brightness(1);box-shadow:0 0 10px currentColor}to{filter:brightness(1.3);box-shadow:0 0 28px currentColor}}@keyframes shimmer{0%{background-position:200% 0%}to{background-position:-100% 0%}}@media (max-width: 600px){.reels-container{max-width:100%}.reels-frame{padding:6px}.reels-grid{gap:4px}.symbol-cell{height:50px}.symbol-emoji{font-size:2.2rem}}.bet-selector{display:flex;flex-direction:column;align-items:center;gap:5px}.bet-label{font-size:.65rem;font-weight:700;letter-spacing:.15em;color:#c084fc;text-transform:uppercase}.bet-controls{display:flex;align-items:center;gap:8px;background:#6d28d933;border:1px solid rgba(168,85,247,.4);border-radius:30px;padding:5px 10px}.bet-btn{width:30px;height:30px;border-radius:50%;border:1px solid rgba(168,85,247,.6);background:#a855f740;color:#e9d5ff;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease;line-height:1}.bet-btn:hover:not(:disabled){background:#a855f780;transform:scale(1.1)}.bet-btn:disabled{opacity:.3;cursor:not-allowed}.bet-value{min-width:58px;text-align:center;font-size:1rem;font-weight:800;color:#fde68a;letter-spacing:.04em}.spin-button{width:90px;height:90px;border-radius:50%;border:3px solid rgba(255,255,255,.3);background:linear-gradient(135deg,#22c55e,#16a34a 60%,#15803d);color:#fff;font-size:1rem;font-weight:900;letter-spacing:.1em;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;box-shadow:0 0 24px #22c55e99,0 4px 16px #00000080,inset 0 1px #ffffff4d;transition:transform .1s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-shadow:0 1px 3px rgba(0,0,0,.4)}.spin-button:before{content:"";position:absolute;top:10%;left:18%;width:38%;height:22%;background:#ffffff4d;border-radius:50%;transform:rotate(-30deg);pointer-events:none}.spin-button:hover:not(:disabled){transform:scale(1.07);box-shadow:0 0 36px #22c55ecc,0 6px 20px #0009,inset 0 1px #ffffff4d}.spin-button:active:not(:disabled){transform:scale(.96)}.spin-button:focus,.spin-button:focus-visible{outline:none}.spin-button:disabled{opacity:.4;cursor:default;box-shadow:0 2px 8px #0000004d}.spin-button.spinning{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 0 32px #f59e0bb3,0 4px 16px #00000080;animation:spinGlow .7s ease infinite alternate}@keyframes spinGlow{0%{box-shadow:0 0 16px #f59e0b80}to{box-shadow:0 0 48px #f59e0be6}}.spin-dots{display:flex;gap:5px;align-items:center}.spin-dots span{width:7px;height:7px;background:#fff;border-radius:50%;animation:dotBounce .6s ease infinite}.spin-dots span:nth-child(2){animation-delay:.15s}.spin-dots span:nth-child(3){animation-delay:.3s}@keyframes dotBounce{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-5px);opacity:1}}.balance-display{display:flex;flex-direction:column;align-items:center;gap:3px;background:#6d28d933;border:1px solid rgba(168,85,247,.35);border-radius:12px;padding:8px 18px;min-width:120px}.balance-label{font-size:.65rem;font-weight:700;letter-spacing:.15em;color:#c084fc;text-transform:uppercase}.balance-value{font-size:1.25rem;font-weight:800;color:#fde68a;letter-spacing:.04em}.balance-value.flash{animation:balanceFlash .7s ease}@keyframes balanceFlash{0%{color:#fde68a;text-shadow:none}35%{color:#fff;text-shadow:0 0 16px #fde68a,0 0 32px #fbbf24}to{color:#fde68a;text-shadow:none}}.win-display{display:flex;flex-direction:column;align-items:center;gap:8px}.win-display--hidden{visibility:hidden;pointer-events:none}.win-display--visible{animation:winAppear .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes winAppear{0%{opacity:0;transform:scale(.4) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.win-amount{display:flex;flex-direction:column;align-items:center;gap:2px}.win-label{font-size:.7rem;font-weight:700;letter-spacing:.18em;color:#c084fc;text-transform:uppercase}.win-value{font-size:2.2rem;font-weight:900;background:linear-gradient(135deg,#fde68a,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px rgba(251,191,36,.8));animation:winPulse .9s ease infinite alternate}@keyframes winPulse{0%{filter:drop-shadow(0 0 8px rgba(251,191,36,.6))}to{filter:drop-shadow(0 0 24px rgba(251,191,36,1))}}.free-spins-banner{font-size:1.05rem;font-weight:800;color:#fff;letter-spacing:.1em;padding:6px 20px;border-radius:20px;background:linear-gradient(135deg,#a855f7,#ec4899);box-shadow:0 0 20px #a855f799;animation:freeSpinsBounce .7s ease infinite alternate}@keyframes freeSpinsBounce{0%{transform:scale(1);box-shadow:0 0 12px #a855f780}to{transform:scale(1.05);box-shadow:0 0 28px #ec4899cc}}.game-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 20% 10%,rgba(168,85,247,.4) 0%,transparent 50%),radial-gradient(ellipse at 80% 5%,rgba(236,72,153,.3) 0%,transparent 45%),radial-gradient(ellipse at 50% 100%,rgba(109,40,217,.5) 0%,transparent 60%),linear-gradient(180deg,#0f0320,#1a0533 40%,#2d0a5e);overflow:hidden;position:relative}.game-page:before{content:"✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦";position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:.55rem;color:#ffd7004d;letter-spacing:6px;pointer-events:none;white-space:nowrap}.game-header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:#00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(168,85,247,.3);flex-shrink:0;z-index:10}.game-title{display:flex;flex-direction:column;line-height:1}.title-main{font-size:1.6rem;font-weight:900;letter-spacing:.12em;background:linear-gradient(135deg,gold,#ff69b4,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 8px rgba(255,215,0,.4))}.title-sub{font-size:.55rem;font-weight:700;letter-spacing:.35em;color:#c8a0dcb3;margin-top:2px}.header-right{display:flex;align-items:center;gap:16px}.player-name{font-size:.875rem;color:#c9a0dc;font-weight:600}.connection-banner{text-align:center;padding:6px;background:#fb923c26;border-bottom:1px solid rgba(251,146,60,.3);color:#fb923c;font-size:.78rem;font-weight:700;letter-spacing:.08em;animation:pulse 1.2s ease infinite alternate}.free-spins-counter{text-align:center;padding:8px;background:linear-gradient(90deg,#a855f733,#ec489933);border-bottom:1px solid rgba(236,72,153,.4);color:#f0abfc;font-size:.95rem;font-weight:800;letter-spacing:.1em;text-shadow:0 0 12px rgba(240,171,252,.6)}.game-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 16px;z-index:1}.game-center{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:430px}.reels-wrapper{width:100%}.info-bar{height:90px;margin-top:16px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.cascade-info{font-size:.75rem;color:#c084fc;letter-spacing:.06em;font-weight:700;background:#a855f726;padding:3px 14px;border-radius:20px;border:1px solid rgba(168,85,247,.3)}.game-controls{display:flex;align-items:center;justify-content:center;gap:32px;padding:14px 24px;background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(168,85,247,.25);flex-shrink:0;z-index:10}.controls-spacer{min-width:130px}@keyframes pulse{0%{opacity:.7}to{opacity:1}}@media (max-width: 600px){.game-header{padding:8px 12px}.title-main{font-size:1.2rem}.game-controls{gap:16px;padding:10px 12px}.controls-spacer{display:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #1a0533;--color-gold: #ffd700;--color-text: #ffffff;--color-text-muted: #c9a0dc;--font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif}html,body{height:100%;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{height:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#1a0533}::-webkit-scrollbar-thumb{background:#6b21a8;border-radius:3px}button{font-family:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}
