.auth-screen{position:fixed;inset:0;z-index:100;background:radial-gradient(120% 70% at 50% 0%,rgba(139,92,246,.35),transparent 60%),var(--bg-page);display:flex;align-items:center;justify-content:center;padding:20px;transition:opacity .3s ease,transform .3s ease}
.auth-screen.hidden{opacity:0;pointer-events:none;transform:translateY(-10px)}
.auth-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--border-str);border-radius:26px;padding:26px 22px 22px;text-align:center}
.auth-logo{font-size:52px;line-height:1;margin-bottom:6px}
.auth-title{font-size:23px;margin:0 0 4px;font-weight:800}
.auth-sub{font-size:12px;color:var(--text-dim);margin:0 0 18px}
.auth-tabs{display:flex;background:var(--panel-2);border-radius:999px;padding:3px;margin-bottom:16px}
.auth-tab{flex:1;height:32px;border:none;border-radius:999px;background:none;color:var(--text-dim);font:700 12.5px 'Outfit',sans-serif;cursor:pointer}
.auth-tab.active{background:var(--violet);color:#fff}
.auth-field{text-align:left;margin-bottom:11px}
.auth-field label{display:block;font-size:11px;color:var(--text-dim);margin-bottom:5px;font-weight:700}
.auth-field input{width:100%;height:42px;border-radius:12px;background:var(--input-bg);border:1px solid var(--border-str);color:var(--text);padding:0 12px;font:500 13px 'Outfit',sans-serif;outline:none}
.auth-submit{width:100%;margin-top:4px;padding:13px}
.auth-forgot{display:block;text-align:right;font-size:11px;color:var(--violet);cursor:pointer;margin-top:-4px;margin-bottom:8px;background:none;border:none;padding:4px 0;font-family:inherit;font-weight:600;width:100%}
.auth-or{position:relative;margin:16px 0;font-size:10.5px;color:var(--text-dim);letter-spacing:.08em;font-weight:700}
.auth-or::before,.auth-or::after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-str)}
.auth-or::before{left:0}.auth-or::after{right:0}
.auth-google{width:100%;height:46px;border-radius:12px;background:#fff;color:#111;border:none;font:700 13px 'Outfit',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}
.auth-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:var(--panel-2);border:1px solid var(--border-str);color:var(--text);font-size:18px;cursor:pointer}
.auth-note{font-size:10px;color:var(--text-dim);margin-top:14px;line-height:1.5;opacity:.7}
.modal-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
.modal-overlay.show{opacity:1;pointer-events:auto}
.modal-card{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--border-str);border-radius:24px;padding:26px 22px;text-align:center}
.modal-icon{font-size:56px;line-height:1;margin-bottom:10px}
.modal-title{font-size:22px;font-weight:800;margin:0 0 6px}
.modal-desc{font-size:12.5px;color:var(--text-dim);margin:0 0 16px;line-height:1.5}
.modal-rewards{display:flex;gap:10px;justify-content:center;margin:14px 0 4px}
.modal-rewards div{background:var(--panel-2);border:1px solid var(--border-str);border-radius:12px;padding:10px 16px;min-width:88px}
.modal-rewards b{display:block;font-size:20px;color:var(--gold);font-weight:800}
.modal-rewards span{font-size:10.5px;color:var(--text-dim);font-weight:600}
.modal-btns{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.ach-toast{position:fixed;top:80px;left:50%;transform:translate(-50%,-20px);z-index:95;background:linear-gradient(135deg,#FFD54F,#ff8a00);color:#2b1d00;padding:11px 18px;border-radius:14px;display:flex;align-items:center;gap:11px;box-shadow:0 12px 32px rgba(255,213,79,.5);opacity:0;pointer-events:none;transition:all .35s;max-width:88vw}
.ach-toast.show{opacity:1;transform:translate(-50%,0)}
.ach-toast .ai{font-size:22px}.ach-toast .at{font-size:9px;font-weight:800;letter-spacing:.06em;opacity:.7}.ach-toast .an{font-size:13px;font-weight:800}.ach-toast .ad{font-size:10.5px;opacity:.75}
.bigwin-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,rgba(0,0,0,.75),rgba(0,0,0,.95));backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .4s ease;overflow:hidden}
.bigwin-overlay.show{opacity:1;pointer-events:auto}
.bigwin-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 30px;text-align:center;transform:scale(.5);transition:transform .6s cubic-bezier(.2,1.6,.4,1)}
.bigwin-overlay.show .bigwin-inner{transform:scale(1)}
.bigwin-rays{position:absolute;inset:-200px;z-index:-1;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,213,79,.35) 15deg,transparent 30deg,transparent 45deg,rgba(251,191,36,.3) 60deg,transparent 75deg,transparent 90deg,rgba(255,213,79,.35) 105deg,transparent 120deg,transparent 135deg,rgba(251,191,36,.3) 150deg,transparent 165deg,transparent 180deg,rgba(255,213,79,.35) 195deg,transparent 210deg,transparent 225deg,rgba(251,191,36,.3) 240deg,transparent 255deg,transparent 270deg,rgba(255,213,79,.35) 285deg,transparent 300deg,transparent 315deg,rgba(251,191,36,.3) 330deg,transparent 345deg);animation:bigwinRotate 6s linear infinite;opacity:.85}
@keyframes bigwinRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.bigwin-icon{font-size:80px;filter:drop-shadow(0 8px 20px rgba(251,191,36,.9));animation:bigwinBounce 1s ease infinite}
@keyframes bigwinBounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.08)}}
.bigwin-title{font-size:38px;font-weight:900;background:linear-gradient(180deg,#fff9c4 0%,#FFD54F 45%,#f59e0b 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:.02em;line-height:1;text-shadow:0 4px 20px rgba(251,191,36,.5);animation:bigwinShine 1.5s ease-in-out infinite;padding:0 8px}
@keyframes bigwinShine{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35) drop-shadow(0 0 18px rgba(251,191,36,.85))}}
.bigwin-title.super{background:linear-gradient(180deg,#fff 0%,#fde68a 30%,#fbbf24 65%,#dc2626 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.bigwin-title.mega{background:linear-gradient(180deg,#fff 0%,#a78bfa 40%,#8b5cf6 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.bigwin-amount{font-size:44px;font-weight:900;color:#fff;text-shadow:0 0 30px #fbbf24,0 0 60px rgba(251,191,36,.6),0 4px 14px rgba(0,0,0,.9);animation:bigwinPulse 1.3s ease-in-out infinite;font-variant-numeric:tabular-nums}
@keyframes bigwinPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.bigwin-amount small{font-size:20px;opacity:.85;margin-right:4px}
.bigwin-sub{font-size:12px;color:rgba(255,255,255,.7);font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.bigwin-sparks{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.bigwin-spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#FFD54F;box-shadow:0 0 14px #fbbf24,0 0 4px #fff;animation:bigwinSparkFly 2s linear infinite}
@keyframes bigwinSparkFly{0%{transform:translate(0,0) scale(1);opacity:0}10%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
.lvl-pop{position:absolute;inset:0;z-index:9;background:var(--header-bg);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:26px}
.lvl-pop .lvl-star{font-size:56px}.lvl-pop h3{margin:0;font-size:23px;font-weight:800}.lvl-pop p{margin:0;color:var(--gold);font-size:14px;font-weight:700}.lvl-pop .lvl-next{font-size:11.5px;color:var(--text-dim);margin-bottom:10px}
.fullscreen-fs-overlay{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle,rgba(251,191,36,.35),rgba(0,0,0,.96));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;animation:fsOverlayIn .6s cubic-bezier(.2,1.4,.5,1);pointer-events:none}
.fullscreen-fs-overlay .big{font-size:72px;filter:drop-shadow(0 6px 14px rgba(251,191,36,.85));animation:mjLantern 1.2s ease-in-out infinite}
.fullscreen-fs-overlay .t{font-size:32px;font-weight:900;color:#fbbf24;text-shadow:0 3px 14px rgba(0,0,0,.95)}
.fullscreen-fs-overlay .s{font-size:14px;color:#fef3c7;opacity:.95;text-align:center;padding:0 20px;font-weight:600}
@keyframes fsOverlayIn{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}
@keyframes mjLantern{0%,100%{transform:rotate(-6deg) scale(1)}50%{transform:rotate(6deg) scale(1.12)}}
.mj-shard{position:absolute;width:12px;height:12px;pointer-events:none;z-index:10;box-shadow:0 0 18px currentColor,0 0 6px currentColor;will-change:transform,opacity;border-radius:2px}
.mj-spark{position:absolute;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:11;background:#fff;box-shadow:0 0 22px #FFD54F,0 0 8px #fff,0 0 32px #fbbf24;will-change:transform,opacity}
.mj-shock{position:absolute;width:20px;height:20px;border-radius:50%;pointer-events:none;z-index:9;border:3px solid #FFD54F;box-shadow:0 0 22px #FFD54F,inset 0 0 12px rgba(255,213,79,.6);will-change:transform,opacity}
