#splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999999;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .7s ease,visibility .7s ease}#splash-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,#0f1e40,#080d1c 55%,#050810)}.splash-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(20,184,166,.18) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(99,102,241,.18) 0%,transparent 50%)}.splash-bg:after{content:"";position:absolute;width:500px;height:500px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(20,184,166,.12) 0%,transparent 70%);animation:splashPulse 2s ease-in-out infinite;border-radius:50%}@keyframes splashPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}.splash-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;animation:splashFadeIn .6s ease-out both}@keyframes splashFadeIn{0%{opacity:0;transform:translateY(24px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.splash-logo-wrap{width:140px;height:140px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 32px rgba(20,184,166,.55)) drop-shadow(0 0 64px rgba(99,102,241,.3));animation:splashLogoBounce .7s cubic-bezier(.34,1.56,.64,1) .15s both}@keyframes splashLogoBounce{0%{opacity:0;transform:scale(.6) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.splash-logo{width:140px;height:140px;border-radius:28px;object-fit:cover}.splash-title{font-family:Outfit,sans-serif;font-size:2.8rem;font-weight:800;letter-spacing:-1.5px;color:#fff;line-height:1;animation:splashFadeIn .5s ease-out .35s both}.splash-title span{color:#14b8a6}.splash-tagline{font-family:Outfit,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#ffffff73;animation:splashFadeIn .5s ease-out .5s both}.splash-loader{width:160px;height:3px;background:#ffffff14;border-radius:10px;overflow:hidden;margin-top:8px;animation:splashFadeIn .5s ease-out .6s both}.splash-loader-bar{height:100%;background:linear-gradient(90deg,#14b8a6,#318fdc,#6366f1);border-radius:10px;width:0%;animation:splashLoadFill 2.6s cubic-bezier(.4,0,.2,1) .4s forwards}@keyframes splashLoadFill{0%{width:0%}60%{width:75%}90%{width:92%}to{width:100%}}:root{--bg-main: #09090b;--bg-card: #18181b;--accent-primary: #14B8A6;--accent-secondary: #318FDC;--accent-warning: #F59E0B;--text-white: #ffffff;--text-muted: #a1a1aa;--border-light: rgba(255,255,255,.08);--shadow-main: 0 10px 40px rgba(0,0,0,.8)}[data-theme=ocean]{--bg-main: #0c1a2e;--bg-card: #102236;--accent-primary: #06B6D4;--accent-secondary: #0EA5E9;--accent-warning: #F59E0B}[data-theme=sunset]{--bg-main: #1a0a1a;--bg-card: #261020;--accent-primary: #F472B6;--accent-secondary: #EC4899;--accent-warning: #FB923C}[data-theme=cyberpunk]{--bg-main: #080810;--bg-card: #0d0d1a;--accent-primary: #39FF14;--accent-secondary: #00FFFF;--accent-warning: #FF00FF;--text-muted: #7777aa;--border-light: rgba(57,255,20,.12)}body,#app,.screen,.modal-content,.mode-card,.pu-btn,.icon-btn,.btn-member-premium,.btn-guest-secondary{transition:background-color .4s ease,border-color .4s ease,color .35s ease,box-shadow .4s ease}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.theme-card{border:2px solid var(--border-light);border-radius:10px;overflow:hidden;cursor:pointer;transition:.25s}.theme-card:hover{transform:translateY(-2px);border-color:#ffffff40}.theme-card.t-active{border-color:var(--accent-primary);box-shadow:0 0 12px #0006}.theme-swatch{height:40px}.theme-name{padding:5px 2px;font-size:.55rem;font-weight:800;text-align:center;background:var(--bg-card);white-space:nowrap;overflow:hidden}.settings-section{margin-bottom:18px}.settings-section:last-of-type{margin-bottom:0}.settings-label{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border-light);display:block}.sound-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:#ffffff0a;border:1px solid var(--border-light);border-radius:12px;padding:13px 16px;cursor:pointer;transition:.2s;color:#fff;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700}.sound-toggle:hover{background:#ffffff14}.sound-toggle.active{border-color:var(--accent-primary);background:#14b8a61a}.sound-toggle-pip{width:40px;height:22px;border-radius:11px;background:#ffffff26;position:relative;transition:.25s}.sound-toggle-pip:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.25s}.sound-toggle.active .sound-toggle-pip{background:var(--accent-primary)}.sound-toggle.active .sound-toggle-pip:after{left:21px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;font-family:Outfit,sans-serif}body{background:var(--bg-main);color:var(--text-white);height:100dvh;overflow:hidden;display:flex;justify-content:center;align-items:center;overscroll-behavior:none;-webkit-overflow-scrolling:auto;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}#app{width:100%;max-width:480px;height:100dvh;position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-main);isolation:isolate}.screen{flex:1;display:flex;flex-direction:column;padding:25px;transition:.4s ease;background:var(--bg-main);z-index:10;width:100%;height:100%;overflow-y:auto}#game-screen{padding:10px 14px 8px;overflow:hidden;justify-content:space-between;gap:0;touch-action:none;transform:translateZ(0);-webkit-transform:translateZ(0)}.screen.hidden{display:none;opacity:0;pointer-events:none}.auth-logo{text-align:center;margin-top:20%;margin-bottom:3rem;font-size:3.5rem;font-weight:800;letter-spacing:-2px}.auth-logo span{color:var(--accent-primary)}.auth-buttons{display:flex;flex-direction:column;gap:15px;margin-top:10px}.btn-member-premium{background:#fff;color:#000;font-weight:800;padding:18px;border-radius:12px;border:none;font-size:1rem;cursor:pointer;transition:.3s;width:100%;letter-spacing:-.2px;box-shadow:0 4px 20px #ffffff1a}.btn-member-premium:hover{transform:translateY(-2px);box-shadow:0 8px 30px #fff3}.btn-guest-secondary{background:#ffffff0d;color:#fff;font-weight:700;padding:18px;border-radius:12px;border:1px solid var(--border-light);font-size:.9rem;cursor:pointer;transition:.3s;width:100%}.btn-guest-secondary:hover{background:#ffffff1a}.btn-social{width:100%;padding:14px 18px;border-radius:12px;border:none;font-size:.95rem;font-weight:700;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;gap:10px;font-family:Outfit,sans-serif}.btn-social:hover{transform:translateY(-2px)}.btn-social:active{transform:scale(.97)}.btn-social:disabled{opacity:.6;transform:none;cursor:not-allowed}.btn-google{background:#fff;color:#1f1f1f;box-shadow:0 2px 12px #0000004d}.btn-google:hover{background:#f5f5f5;box-shadow:0 4px 20px #0006}.btn-apple{background:#1c1c1e;color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:0 2px 12px #0006}.btn-apple:hover{background:#2c2c2e}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.78rem;margin:2px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.btn{background:var(--accent-primary);color:#fff;border:none;padding:16px;border-radius:12px;font-weight:700;cursor:pointer;transition:.3s;font-family:Outfit,sans-serif}.btn:active{transform:scale(.96)}.icon-btn{background:#ffffff12;color:#fff;border:1px solid var(--border-light);padding:8px 14px;border-radius:10px;font-size:.75rem;font-weight:700;cursor:pointer;transition:.2s;font-family:Outfit,sans-serif}.icon-btn:hover{background:#ffffff21}.icon-btn.warn{border-color:var(--accent-warning);color:var(--accent-warning)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:.3s;z-index:10000}.modal-overlay.active{opacity:1;pointer-events:all}.modal-content{background:var(--bg-card);padding:35px;border-radius:25px;width:85%;max-width:400px;border:1px solid var(--border-light);position:relative;box-shadow:var(--shadow-main)}.modal-content h2{margin-bottom:25px;font-weight:800;letter-spacing:-.5px}input{width:100%;background:#ffffff08;border:1px solid var(--border-light);padding:15px;border-radius:10px;color:#fff;font-size:1rem;margin-bottom:5px;transition:.3s}input:focus{border-color:var(--accent-primary);outline:none;background:#ffffff0d}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.score-container{text-align:center}.score-label{display:block;font-size:.65rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.score-value{font-size:2rem;font-weight:800;color:#fff;line-height:1}.grid-container{background:var(--bg-card);padding:10px;border-radius:18px;box-shadow:var(--shadow-main),0 0 0 1px #ffffff0a inset;border:1px solid var(--border-light);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.grid{display:grid;gap:3px;touch-action:none;background:#0000004d;border-radius:8px;contain:layout style paint;transform:translateZ(0);-webkit-transform:translateZ(0)}.cell{background:#ffffff06;border-radius:5px;border:1px solid rgba(255,255,255,.04);box-shadow:inset 0 1px 2px #00000080;transition:background .15s;box-sizing:border-box}.cell.filled{border:none!important;overflow:hidden}@keyframes shadowPulse{0%,to{box-shadow:0 0 0 2px var(--shadow-color,rgba(20,184,166,.9)),0 0 16px var(--shadow-color,rgba(20,184,166,.6)) inset;opacity:.82}50%{box-shadow:0 0 0 3px var(--shadow-color,rgba(20,184,166,1)),0 0 28px var(--shadow-color,rgba(20,184,166,.9)) inset;opacity:1}}.cell.shadow{border-radius:5px;animation:shadowPulse .7s ease-in-out infinite!important;border:none!important;transition:none!important}.piece-tray{display:flex;justify-content:space-around;align-items:center;min-height:160px;height:auto;margin-top:20px;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:10px;touch-action:none;box-shadow:inset 0 1px #ffffff14,0 4px 20px #0006}#game-screen .grid-outer-frame{display:flex;align-items:center;justify-content:center;flex-shrink:0}#game-screen .grid-container{padding:8px;border-radius:14px;width:auto;display:flex;align-items:center;justify-content:center}#game-screen .piece-tray{min-height:130px;height:auto;padding:14px 8px;border-radius:16px;flex-shrink:0}#game-screen .game-header,#game-screen .powerup-bar{flex-shrink:0}.grid-bottom-spacer{flex:1;min-height:0;max-height:40px}.piece-preview{cursor:grab;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;will-change:transform;filter:drop-shadow(0 6px 12px rgba(0,0,0,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.4));transition:transform .18s cubic-bezier(.34,1.56,.64,1),filter .18s ease}.piece-preview:hover{transform:translateY(-6px) scale(1.08);filter:drop-shadow(0 12px 20px rgba(0,0,0,.7)) drop-shadow(0 0 12px rgba(255,255,255,.15)) brightness(1.18)}.piece-preview.dragging{cursor:grabbing;filter:drop-shadow(0 20px 32px rgba(0,0,0,.8)) drop-shadow(0 0 16px rgba(255,255,255,.2)) brightness(1.22)}.mode-card{background:var(--bg-card);padding:25px;border-radius:20px;border:1px solid var(--border-light);cursor:pointer;transition:.3s;text-align:center}.mode-card:hover{transform:translateY(-5px);border-color:var(--accent-primary);background:#14b8a60d}.mode-card h3{font-size:1.4rem;font-weight:800;margin-bottom:5px}.mode-card p{color:var(--text-muted);font-size:.85rem}@media(max-width:380px){.grid{gap:2px}.auth-logo{font-size:2.8rem}}.powerup-bar{display:flex;justify-content:center;gap:10px;padding:6px 15px 2px}.pu-btn{display:flex;flex-direction:column;align-items:center;gap:3px;background:#ffffff0a;border:1px solid var(--border-light);border-radius:12px;padding:7px 16px;cursor:pointer;transition:.2s;color:#fff;font-size:1.3rem;min-width:62px;font-family:Outfit,sans-serif}.pu-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.pu-btn.active{border-color:var(--accent-primary);background:#14b8a626;box-shadow:0 0 18px #14b8a659}.pu-btn:disabled{opacity:.28;cursor:not-allowed}.pu-count{font-size:.62rem;font-weight:800;background:var(--accent-primary);color:#000;border-radius:10px;padding:1px 7px;min-width:18px;text-align:center}.pu-btn.active .pu-count{background:#fff}#game-screen .powerup-bar{gap:6px;padding:4px 10px 2px}#game-screen .pu-btn{padding:5px 12px;font-size:1.1rem;min-width:52px;border-radius:10px}.grid.hammer-mode .cell:not(.locked){cursor:crosshair!important}.grid.hammer-mode .cell:hover:not(.locked){background:#ec489959!important;filter:brightness(1.3);transition:background .1s}@keyframes cellPop{0%{transform:scale(1)}40%{transform:scale(1.35)}65%{transform:scale(.92)}to{transform:scale(1)}}@-webkit-keyframes cellPop{0%{-webkit-transform:scale(1)}40%{-webkit-transform:scale(1.35)}65%{-webkit-transform:scale(.92)}to{-webkit-transform:scale(1)}}@keyframes placeLand{0%{transform:scale(1.18);opacity:.7}55%{transform:scale(.94);opacity:1}80%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}@keyframes cellClear{0%{opacity:1;transform:scale(1.05);box-shadow:0 0 #fff0}25%{opacity:1;transform:scale(1.15);box-shadow:0 0 18px #fffffff2}to{opacity:0;transform:scale(.1);box-shadow:0 0 #fff0}}@-webkit-keyframes cellClear{0%{opacity:1;-webkit-transform:scale(1.05)}25%{opacity:1;-webkit-transform:scale(1.15)}to{opacity:0;-webkit-transform:scale(.1)}}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(540deg);opacity:0}}@-webkit-keyframes confettiFall{0%{-webkit-transform:translateY(0) rotate(0deg);opacity:1}to{-webkit-transform:translateY(100vh) rotate(540deg);opacity:0}}@keyframes scorePop{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes comboIn{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes comboOut{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.4);opacity:0}}.cell-pop{animation:cellPop .28s cubic-bezier(.36,.07,.19,.97) both;-webkit-animation:cellPop .28s cubic-bezier(.36,.07,.19,.97) both}.cell-clear{animation:cellClear .42s ease-out forwards;-webkit-animation:cellClear .42s ease-out forwards;pointer-events:none}.score-pop{animation:scorePop .3s ease;-webkit-animation:scorePop .3s ease}.xp-bar-track{width:100%;height:6px;background:#ffffff0f;border-radius:10px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#14b8a6,#318fdc,#6366f1);border-radius:10px;transition:width .7s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #14b8a680}.btn-watch-ad{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:14px;padding:14px 18px;color:#f59e0b;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:.2s}.btn-watch-ad:hover:not(:disabled){background:#f59e0b24;border-color:#f59e0b8c;transform:translateY(-2px)}.btn-watch-ad:active{transform:scale(.97)}.btn-watch-ad:disabled{opacity:.4;cursor:not-allowed}.watch-ad-reward{background:#f59e0b;color:#000;font-size:.78rem;font-weight:800;border-radius:8px;padding:3px 10px}.watch-ad-count{font-size:.7rem;font-weight:700;color:#f59e0ba6;margin-left:auto}.levelup-modal-content{background:linear-gradient(160deg,#0f1e40 0%,var(--bg-card) 60%)!important;border-color:#6366f159!important}.levelup-burst{font-size:3rem;animation:levelupBurst .6s cubic-bezier(.34,1.56,.64,1) both;display:block;margin-bottom:8px}@keyframes levelupBurst{0%{transform:scale(0) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.levelup-number{font-size:5rem;font-weight:800;line-height:1;background:linear-gradient(135deg,#14b8a6,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:levelupBurst .5s cubic-bezier(.34,1.56,.64,1) .1s both}.levelup-rewards{display:flex;justify-content:center;gap:12px}.levelup-reward-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:#ffffff0d;border:1px solid var(--border-light);border-radius:14px;padding:14px 20px;font-size:.85rem;font-weight:700}.quest-modal-inner{padding:0!important;display:flex;flex-direction:column;max-height:88vh;overflow:hidden}.quest-modal-header{padding:20px 20px 12px;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06)}.quest-modal-footer{padding:12px 20px;flex-shrink:0;border-top:1px solid rgba(255,255,255,.06)}.quest-scroll-area{flex:1;min-height:0;overflow-y:auto;padding:12px 20px 8px;display:flex;flex-direction:column;gap:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--accent-primary) rgba(255,255,255,.04)}.quest-scroll-area::-webkit-scrollbar{width:4px}.quest-scroll-area::-webkit-scrollbar-track{background:#ffffff0a;border-radius:4px}.quest-scroll-area::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px;opacity:.8}.quest-scroll-area::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.quest-cat-label{font-size:.63rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:14px 0 8px;padding-left:2px}.quest-cat-label:first-child{margin-top:2px}.quest-card{position:relative;background:#ffffff09;border:1px solid var(--border-light);border-radius:16px;padding:14px 14px 12px;margin-bottom:10px;transition:border-color .2s}.quest-card--done{border-color:#34d39973;background:#34d3990a}.quest-done-badge{position:absolute;top:9px;right:11px;font-size:.58rem;font-weight:800;background:#34d399;color:#000;border-radius:6px;padding:2px 8px;letter-spacing:.04em}.quest-card-body{display:flex;align-items:flex-start;gap:12px}.quest-icon{font-size:1.55rem;line-height:1.1;flex-shrink:0}.quest-info{flex:1;min-width:0}.quest-title{font-weight:700;font-size:.88rem;line-height:1.3;color:var(--text-white)}.quest-desc{font-size:.68rem;color:var(--text-muted);margin-top:3px;line-height:1.4}.quest-progress-bar{margin-top:10px;height:5px;background:#ffffff12;border-radius:4px;overflow:hidden}.quest-progress-fill{height:100%;border-radius:4px;transition:width .6s ease}.quest-meta{display:flex;justify-content:space-between;align-items:center;margin-top:7px;gap:8px}.quest-reward{font-size:.69rem;font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quest-count{font-size:.66rem;color:var(--text-muted);flex-shrink:0;font-weight:600}@media(min-width:600px)and (min-height:700px){#app{max-width:680px;border-left:1px solid var(--border-light);border-right:1px solid var(--border-light);box-shadow:0 0 50px #0006}}@media(min-width:900px)and (min-height:800px){#app{max-width:800px;height:96dvh;border-radius:20px;border:1px solid var(--border-light)}}@media(max-height:600px){.auth-logo{margin-top:5%;margin-bottom:1.5rem}.piece-tray{height:120px;margin-top:10px}#game-screen .piece-tray{height:100px;margin-top:5px}.grid-container{padding:5px}.grid-bottom-spacer{max-height:20px}}#rotate-device-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background:var(--bg-main);color:#fff;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}@keyframes tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}@media screen and (orientation:landscape)and (max-height:900px)and (hover:none){#app,#splash-screen,#drag-overlay{display:none!important}#rotate-device-overlay{display:flex}}
