:root{color:#f7f6ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg-deep:#07091d;--color-bg-surface:#101333;--color-bg-panel:#171842c2;--color-bg-panel-strong:#1c184bf0;--color-accent-cyan:#20d9ff;--color-accent-purple:#875cff;--color-accent-pink:#f5b;--color-accent-gold:#ffc52f;--color-accent-green:#33d657;--color-accent-blue:#267de4;--color-text-primary:#f8f7ff;--color-text-secondary:#b8b9dc;--color-border-glow:#875cff9e;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--shadow-panel:0 24px 60px #0000006b, inset 0 1px 0 #ffffff14;--shadow-glow-cyan:0 0 28px #20d9ff40;--shadow-glow-purple:0 0 34px #875cff47;--transition-ui:.15s ease;--modal-background:radial-gradient(circle at 50% 0, #7e49e033, transparent 44%), linear-gradient(160deg, #261f5bf7, #121139f7);--modal-border:#d35aff7a;--modal-radius:24px;--modal-shadow:0 28px 70px #0009, 0 0 34px #c042ec3d, inset 0 1px 0 #ffffff1a;--modal-overlay-color:#030414b3;--modal-overlay-blur:9px;--modal-button-height:56px;--modal-spacing:clamp(18px, 4vw, 28px);background:#07091d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;min-height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 18% 18%,#149aee38,#0000 30%),radial-gradient(circle at 82% 28%,#cb34d533,#0000 32%),radial-gradient(circle at 52% 108%,#482ec459,#0000 44%),linear-gradient(145deg,#070a21 0%,#0a0c27 48%,#100a29 100%);min-height:100dvh}body:before{z-index:-1;content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff03 1px,#0000 1px),linear-gradient(90deg,#ffffff03 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 78%);mask-image:radial-gradient(circle,#000,#0000 78%)}button{font:inherit}.app{isolation:isolate;background:var(--color-bg-deep);width:100%;height:100%;position:relative}.app-background{z-index:-2;pointer-events:none;background:url(/assets/background-CC-Hcj8-.png) 50%/cover no-repeat;position:fixed;inset:0}.screen-transition{isolation:isolate;will-change:opacity, transform;width:100%;height:100%;position:relative}.screen-transition:before{z-index:-1;content:"";pointer-events:none;background:#03051847;transition:background-color .19s,-webkit-backdrop-filter .19s,backdrop-filter .19s;position:fixed;inset:0}.screen-transition[data-screen=game]:before{-webkit-backdrop-filter:saturate(.76);background:#03051894}.screen-transition[data-screen=highScore]:before,.screen-transition[data-screen=settings]:before{background:var(--modal-overlay-color);-webkit-backdrop-filter:blur(5px)saturate(.72)}.screen-transition--entering{animation:.19s cubic-bezier(.2,.8,.2,1) both screen-enter}.screen-transition--exiting{pointer-events:none;animation:.19s cubic-bezier(.4,0,1,1) both screen-exit}@keyframes screen-enter{0%{opacity:0;transform:translateY(8px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes screen-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-5px)scale(.995)}}.game-layout{grid-template:"header header header""stats stage next"minmax(0,1fr)/minmax(150px,190px) minmax(280px,520px) minmax(150px,190px);justify-content:center;gap:clamp(12px,2vw,28px);width:min(100%,1280px);height:100%;margin:0 auto;padding:clamp(10px,2vw,24px);display:grid}.game-header{grid-area:header;justify-content:center;align-items:center;min-height:44px;display:flex;position:relative}.game-brand{object-fit:contain;filter:drop-shadow(0 0 10px #20d9ff47);width:clamp(90px,13vw,150px);height:42px}.pause-button{width:64px;height:64px;color:var(--color-text-primary);cursor:pointer;transition:transform var(--transition-ui), border-color var(--transition-ui), filter var(--transition-ui);background:radial-gradient(circle at 34% 25%,#748bff8f,#0000 48%),linear-gradient(145deg,#4f42b0f5,#162364fa);border:2px solid #8fd5ffb8;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:900;display:grid;position:absolute;right:0;box-shadow:0 8px 18px #0000004d,inset 0 1px #ffffff29,0 0 28px #4e97ff6b,0 0 18px #9d52ff52}.pause-button:hover{border-color:var(--color-accent-cyan);filter:brightness(1.12);transform:translateY(-2px)scale(1.025)}.pause-button:active{transform:translateY(2px)scale(.96);box-shadow:0 4px 12px #0000004d,inset 0 2px 5px #0003,0 0 15px #4e97ff4d}.pause-button:disabled{cursor:default;filter:grayscale(.45);opacity:.45}.pause-button:focus-visible,.theme-button:focus-visible{outline:3px solid var(--color-accent-cyan);outline-offset:3px}.pause-button img{object-fit:contain;filter:brightness(1.25)drop-shadow(0 0 6px #ffffff7a);width:32px;height:32px}.game-stage{border-radius:var(--radius-lg);min-width:0;min-height:0;box-shadow:var(--shadow-panel), var(--shadow-glow-purple), inset 0 0 38px #20d9ff0f;background:radial-gradient(circle at 85% 15%,#ff4cb52b,#0000 30%),radial-gradient(circle at 10% 85%,#20d9ff21,#0000 34%),#0a0c27a3;border:1px solid #945bff99;grid-area:stage;place-self:stretch stretch;position:relative;overflow:hidden}.game-stage__glow{pointer-events:none;background:radial-gradient(circle at 22% 28%,#ff4dbe1c,#0000 24%),radial-gradient(circle at 78% 65%,#2bd3ff1a,#0000 28%);position:absolute;inset:0}.game-canvas{z-index:1;width:100%;height:100%;position:relative}.game-canvas canvas{width:100%;height:100%;display:block}.game-canvas canvas,.game-touch-surface{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.game-touch-surface{z-index:2;touch-action:none;overscroll-behavior:contain;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.touch-gesture-help{display:none}.hud{display:contents}.hud__stats{grid-area:stats;align-content:center;gap:12px;min-width:0;margin:0;display:grid}.hud-card{border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(14px);background:linear-gradient(145deg,#231f57cc,#101236b8);border:1px solid #a98bff40;padding:clamp(12px,1.7vw,18px)}.hud-card--score{box-shadow:var(--shadow-panel), 0 0 22px #ffc52f14;border-color:#ffc52f59}.hud-card dt,.hud-card h2{color:var(--color-text-secondary);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.hud-card dd{min-width:7ch;color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-shadow:0 0 16px #875cff33;margin:6px 0 0;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:900;line-height:1.05}.hud-card--score dd{color:var(--color-accent-gold);text-shadow:0 0 18px #ffc52f57;font-size:clamp(1.55rem,3.2vw,2.25rem)}.hud-value--score{animation:.22s ease-out score-pop}.hud-value--level{animation:.25s ease-out level-up}.hud-value--lines{animation:.22s ease-out lines-pop}@keyframes score-pop{0%{opacity:.7;transform:translateY(3px)scale(.94)}55%{filter:brightness(1.35);transform:translateY(0)scale(1.08)}to{opacity:1;filter:brightness();transform:scale(1)}}@keyframes level-up{0%{color:var(--color-accent-gold);text-shadow:0 0 22px #ffc52fb3;transform:scale(.9)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes lines-pop{0%{color:var(--color-accent-cyan);text-shadow:0 0 18px #20d9ffb3;transform:scale(.92)}to{transform:scale(1)}}.hud-card--next{grid-area:next;align-self:center;gap:14px;display:grid}.next-piece-preview{aspect-ratio:1;border-radius:var(--radius-sm);background-color:#05071c9e;background-image:linear-gradient(#20d9ff06 1px,#0000 1px),linear-gradient(90deg,#20d9ff06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:25% 25%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #875cff3d;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);place-self:center;width:min(100%,150px);padding:12px;animation:.2s ease-out next-piece-enter;display:grid}@keyframes next-piece-enter{0%{opacity:0;transform:translate(6px)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}.next-piece-preview__cell{min-width:0;min-height:0}.gameplay-feedback{z-index:4;pointer-events:none;width:max-content;max-width:calc(100% - 32px);position:absolute;top:clamp(16px,5%,34px);left:50%;transform:translate(-50%)}.gameplay-feedback__badge{--feedback-peak-scale:1.08;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 14px #ffffff57;background:radial-gradient(circle at 50% 0,#ff7acc57,#0000 65%),linear-gradient(145deg,#682697f5,#301b68f0);border:1px solid #ff79cbd1;border-radius:999px;justify-items:center;gap:5px;min-width:min(260px,100vw - 64px);padding:12px 22px 13px;animation:1.4s cubic-bezier(.2,.75,.25,1) both gameplay-feedback-pop;display:grid;box-shadow:0 10px 28px #00000061,0 0 25px #ff55bb6b,inset 0 1px #ffffff40}.gameplay-feedback__badge strong{letter-spacing:.055em;font-size:clamp(1.25rem,4.4vw,1.85rem);font-weight:950;line-height:1}.gameplay-feedback__badge span{color:#ff9bd7;letter-spacing:.16em;font-size:clamp(.68rem,2.2vw,.82rem);font-weight:900}.gameplay-feedback__badge--triple{--feedback-peak-scale:1.12;transform-origin:50%;border-color:#ffc52fcc;box-shadow:0 10px 28px #00000061,0 0 29px #ffc52f59,inset 0 1px #ffffff40}.gameplay-feedback__badge--mesitrix{--feedback-peak-scale:1.16;background:radial-gradient(circle at 50% 0,#20d9ff52,#0000 62%),linear-gradient(145deg,#4b2ca0fa,#1f1d65f5);border-width:2px;border-color:#20d9ffdb;box-shadow:0 10px 30px #0006,0 0 34px #20d9ff6b,inset 0 1px #ffffff47}.gameplay-feedback__badge--mesitrix strong{color:#bff8ff;letter-spacing:.1em;text-shadow:0 0 12px #ffffff8c,0 0 25px #20d9ff8c;font-size:clamp(1.45rem,5vw,2.1rem)}@keyframes gameplay-feedback-pop{0%{opacity:0;transform:translateY(-7px)scale(.78)}18%{opacity:1;transform:translateY(0) scale(var(--feedback-peak-scale))}32%,76%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-4px)scale(.97)}}.cascade-feedback{z-index:4;pointer-events:none;width:max-content;max-width:calc(100% - 44px);position:absolute;top:clamp(82px,14%,112px);left:50%;transform:translate(-50%)}.cascade-feedback__badge{color:#e8feff;font-variant-numeric:tabular-nums;background:radial-gradient(circle at 50% 0,#43e9f23d,#0000 66%),linear-gradient(145deg,#08536cf0,#0a2b4cf0);border:1px solid #47e8f2c7;border-radius:999px;justify-items:center;gap:3px;min-width:min(190px,100vw - 88px);padding:8px 18px 9px;animation:.85s ease-out both cascade-feedback-rise;display:grid;box-shadow:0 8px 22px #00000052,0 0 20px #27dceb4d,inset 0 1px #fff3}.cascade-feedback__badge strong{letter-spacing:.045em;font-size:clamp(.82rem,2.8vw,1.05rem);font-weight:900;line-height:1.1}.cascade-feedback__badge span{color:#66f4ff;letter-spacing:.12em;font-size:clamp(.72rem,2.4vw,.9rem);font-weight:950}.cascade-feedback__badge--tier-up{animation:.85s ease-out both cascade-tier-up}@keyframes cascade-feedback-rise{0%{opacity:0;transform:translateY(6px)scale(.94)}22%,74%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-3px)scale(.99)}}@keyframes cascade-tier-up{0%{opacity:0;transform:translateY(6px)scale(.94);box-shadow:0 8px 22px #00000052,0 0 20px #27dceb4d}22%{opacity:1;transform:translateY(0)scale(1.12);box-shadow:0 10px 26px #00000057,0 0 38px #3df3ffc7,0 0 15px #befcffa8}38%,74%{opacity:1;transform:translateY(0)scale(1);box-shadow:0 8px 22px #00000052,0 0 20px #27dceb4d}to{opacity:0;transform:translateY(-3px)scale(.99)}}.perfect-clear-feedback{z-index:5;pointer-events:none;width:max-content;max-width:calc(100% - 40px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.perfect-clear-feedback__badge{color:#fffbd1;background:radial-gradient(circle at 50% 0,#ffec784d,#0000 65%),linear-gradient(145deg,#435b7df5,#0f3652f5);border:2px solid #ffe15be6;border-radius:20px;justify-items:center;gap:7px;min-width:min(280px,100vw - 72px);padding:15px 24px 16px;animation:1.4s ease-out both perfect-clear-reveal;display:grid;box-shadow:0 12px 32px #0000006b,0 0 30px #ffda4161,inset 0 1px #ffffff47}.perfect-clear-feedback__badge strong{letter-spacing:.055em;text-align:center;font-size:clamp(1.28rem,4.8vw,1.9rem);font-weight:950}.perfect-clear-feedback__badge span{color:#fff06d;letter-spacing:.12em;font-size:clamp(.9rem,3vw,1.15rem);font-weight:950}@keyframes perfect-clear-reveal{0%{opacity:0;transform:translateY(8px)scale(.9)}18%,76%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-5px)scale(.98)}}.level-up-feedback{z-index:5;pointer-events:none;width:max-content;max-width:calc(100% - 44px);position:absolute;top:clamp(148px,28%,210px);left:50%;transform:translate(-50%)}.level-up-feedback__badge{color:#f4fcff;background:radial-gradient(circle at 50% 0,#89e0ff4d,#0000 66%),linear-gradient(145deg,#2a5b9ef5,#202b68f5);border:1px solid #7cd3ffe0;border-radius:999px;justify-items:center;gap:5px;min-width:min(230px,100vw - 80px);padding:11px 21px 12px;animation:1.4s ease-out both level-up-reveal;display:grid;box-shadow:0 10px 27px #0000005c,0 0 26px #49c1ff66,inset 0 1px #ffffff3d}.level-up-feedback__badge strong{letter-spacing:.085em;font-size:clamp(1.05rem,3.7vw,1.42rem);font-weight:950}.level-up-feedback__badge span{color:#aeeaff;letter-spacing:.08em;font-size:clamp(.76rem,2.5vw,.94rem);font-weight:900}@keyframes level-up-reveal{0%{opacity:0;transform:translateY(7px)scale(.9)}18%,78%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.98)}}.next-piece-preview__cell--occupied{border:1px solid #e4f8ffb8;border-radius:3px;box-shadow:inset 0 3px 4px #ffffff4d,inset 0 -4px 5px #06274959,0 0 10px #20d9ffb3}.modal-overlay{z-index:20;background:var(--modal-overlay-color);-webkit-backdrop-filter:blur(var(--modal-overlay-blur)) saturate(.78);pointer-events:auto;place-items:center;padding:clamp(14px,4vw,28px);animation:.15s ease-out both overlay-enter;display:grid;position:fixed;inset:0;overflow:auto}.modal-shell{border:1px solid var(--modal-border);border-radius:var(--modal-radius);background:var(--modal-background);width:min(100%,390px);box-shadow:var(--modal-shadow);text-align:center;padding:clamp(22px,5vw,38px);animation:.18s cubic-bezier(.2,.8,.2,1) modal-enter;position:relative}.modal-shell h2{color:var(--color-text-primary);letter-spacing:.06em;margin:0;font-size:clamp(1.55rem,5vw,2.25rem);font-weight:950}.modal-shell__eyebrow{color:var(--color-accent-cyan);letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;font-size:.7rem;font-weight:850;display:block}.modal-shell__hint{color:var(--color-text-secondary);margin:10px 0 0;font-size:.9rem}.pause-modal__logo{object-fit:contain;filter:drop-shadow(0 0 14px #20d9ff38);width:min(100%,220px);height:72px;margin:0 auto 12px;display:block}.modal-shell__actions{gap:12px;margin-top:26px;display:grid}.theme-button{min-height:var(--modal-button-height);color:#fff;letter-spacing:.025em;cursor:pointer;transition:transform var(--transition-ui), filter var(--transition-ui), box-shadow var(--transition-ui);border:1px solid #ffffff57;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:12px 22px;font-weight:900;display:inline-flex;box-shadow:0 10px 22px #00000047,inset 0 1px #ffffff47}.theme-button img,.home-action img{object-fit:contain;flex:none;width:26px;height:26px}.theme-button--primary{background:linear-gradient(#3ede5c,#1cad3d);box-shadow:0 10px 24px #17b83d47,inset 0 1px #ffffff59}.theme-button--secondary{background:linear-gradient(#7662e8,#4933ac)}.theme-button--tertiary{background:linear-gradient(#347fd8,#17549f)}.theme-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.theme-button:active{filter:brightness(.96);transform:translateY(2px)scale(.985);box-shadow:0 5px 12px #0000003d,inset 0 2px 4px #00000029}.theme-button:disabled,.home-action:disabled{box-shadow:none;cursor:not-allowed;filter:grayscale(.35);opacity:.48;transform:none}.game-over-modal h2{color:#ff67bd;text-shadow:0 0 18px #ff55bb73}.game-over-modal__score{border-radius:var(--radius-sm);background:#07082070;border:1px solid #ffffff14;margin-top:20px;padding:16px}.game-over-modal__score span{color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:850;display:block}.game-over-modal__score strong{color:var(--color-accent-gold);font-variant-numeric:tabular-nums;text-shadow:0 0 20px #ffc52f6b;margin-top:4px;font-size:clamp(2.2rem,8vw,3.3rem);line-height:1;display:block}.game-over-modal__stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 0;display:grid}.game-over-modal__stats div{border-right:1px solid #ffffff1a;min-width:0;padding:0 8px}.game-over-modal__stats div:last-child{border-right:0}.game-over-modal__stats dt{color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.game-over-modal__stats dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:clamp(1rem,4vw,1.35rem);font-weight:900}.game-over-modal__record{color:#fff;letter-spacing:.06em;background:linear-gradient(135deg,#d72c93,#9233c7);border:1px solid #ff6ec39e;border-radius:999px;margin:16px 0;padding:7px 14px;font-size:.78rem;font-weight:900;display:inline-block;box-shadow:0 0 20px #ff55bb47}.game-over-modal>.modal-shell__actions{margin-top:18px}.home-screen,.app-screen{place-items:center;width:100%;min-height:100%;padding:clamp(14px,4vw,42px);display:grid;overflow:auto}.home-screen__panel,.app-screen__panel{border-radius:var(--radius-lg);width:min(100%,520px);box-shadow:var(--shadow-panel), var(--shadow-glow-purple), inset 0 1px 0 #ffffff17;-webkit-backdrop-filter:blur(16px);background:radial-gradient(circle at 50% 0,#823dcf2e,#0000 42%),linear-gradient(155deg,#1d1b4deb,#0c0e2df0);border:1px solid #8f5bff80;padding:clamp(20px,5vw,42px);position:relative}.home-screen__panel{z-index:1;background:radial-gradient(circle at 50% 0,#823dcf24,#0000 44%),linear-gradient(155deg,#1d1b4dd1,#080a26e0);justify-items:center;display:grid}.home-screen__logo{object-fit:contain;filter:drop-shadow(0 0 12px #20d9ff3d)drop-shadow(0 0 22px #ff55bb29);width:min(100%,440px);max-height:clamp(150px,34vh,300px);animation:7s ease-in-out infinite home-logo-float;display:block}html[data-app-visibility=hidden] .home-screen__logo,html[data-app-visibility=hidden] .screen-transition--entering,html[data-app-visibility=hidden] .screen-transition--exiting{animation-play-state:paused}.home-screen__actions{gap:14px;width:min(100%,370px);margin-top:clamp(12px,2.8vh,28px);display:grid}.home-action{color:#fff;letter-spacing:.035em;cursor:pointer;min-height:68px;transition:transform var(--transition-ui), filter var(--transition-ui), box-shadow var(--transition-ui);white-space:nowrap;border:1px solid #ffffff57;border-radius:11px;justify-content:center;align-items:center;gap:15px;padding:15px 24px;font-size:clamp(1rem,3.8vw,1.15rem);font-weight:900;display:flex;box-shadow:0 12px 24px #00000047,inset 0 1px #ffffff4d}.home-action--install{min-height:48px;color:var(--color-accent-cyan);background:linear-gradient(145deg,#234574d1,#131b43e6);border-color:#20d9ff6b;box-shadow:0 10px 20px #0000003d,0 0 20px #20d9ff1f,inset 0 1px #ffffff29}.pwa-update{z-index:60;border-radius:var(--radius-md);width:min(560px,100vw - 24px);box-shadow:var(--shadow-panel), var(--shadow-glow-cyan);-webkit-backdrop-filter:blur(16px);background:radial-gradient(circle at 0 0,#20d9ff24,#0000 45%),#12143af5;border:1px solid #20d9ff7a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;animation:.16s ease-out pwa-update-enter;display:grid;position:fixed;bottom:clamp(12px,3vw,30px);right:clamp(12px,3vw,30px)}.pwa-update strong{color:var(--color-accent-cyan);letter-spacing:.1em;font-size:.82rem;font-weight:950;display:block}.pwa-update p{color:var(--color-text-secondary);margin:5px 0 0;font-size:.82rem;line-height:1.4}.pwa-update__actions{gap:8px;display:flex}.pwa-update__actions .theme-button{min-height:42px;padding:9px 13px;font-size:.75rem}.pwa-update--compact{width:min(480px,100vw - 24px);padding:12px}@keyframes pwa-update-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.pwa-update{grid-template-columns:1fr;gap:12px}.pwa-update__actions{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){.pwa-update{animation:none}}@media (width<=767px){.app-screen__panel,.app-screen--settings .app-screen__panel{border-radius:20px;width:min(100% - 20px,510px);max-height:calc(100dvh - 20px);padding:18px 14px}.app-screen__header{padding-inline:44px}.app-screen__panel .app-screen__header h1{font-size:clamp(1.55rem,7vw,2rem)}.app-screen__content{margin-block:10px 14px}.high-score-heading img{width:50px;height:50px}.high-score-list__row{min-height:35px;padding-block:5px}.settings-section{padding:12px}.control-group{padding:8px}.control-row{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding-inline:7px}.control-row__icon{min-width:38px;font-size:1.3rem}.control-row__icon--drop,.control-row__icon--rotate{font-size:1.7rem}.keycap{min-width:28px;padding-inline:6px}.keycap--space{min-width:54px;font-size:.7rem}.language-options{grid-template-columns:1fr}}.home-action--primary{background:linear-gradient(#42df60,#18a73b)}.home-action--trophy{background:linear-gradient(#8b55df,#5728a9)}.home-action--settings{background:linear-gradient(#2f91e7,#1856a8)}.home-action:hover{filter:brightness(1.12);transform:translateY(-1px)}.home-action:active{filter:brightness(.97);transform:translateY(2px)scale(.985);box-shadow:0 5px 13px #0000003d,inset 0 2px 4px #00000029}.home-action:focus-visible{outline:3px solid var(--color-accent-cyan);outline-offset:3px}.home-screen__version{color:#b8b9dc9e;letter-spacing:.08em;margin-top:18px;font-size:.7rem}.home-screen__tagline{color:#e8e8ffc7;letter-spacing:.02em;margin:16px 0 0;font-size:.82rem;font-weight:650}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-screen__panel{text-align:center;width:min(100%,560px);padding:clamp(26px,6vw,48px)}.app-screen__panel h1{color:var(--color-text-primary);letter-spacing:.055em;margin:0;font-size:clamp(1.7rem,5.4vw,2.45rem);font-weight:950}.app-screen__content{margin:clamp(24px,5.5vw,40px) 0}.app-screen__back{width:min(100%,280px);min-height:56px;font-size:1rem}.high-score-card{border-radius:var(--radius-md);background:radial-gradient(circle at 50% 12%,#ffc52f1a,#0000 46%),#0809239e;border:1px solid #ffc52f4d;justify-items:center;gap:12px;padding:clamp(28px,7vw,44px);display:grid;box-shadow:inset 0 1px #ffffff0f,0 0 30px #ffc52f1a}.high-score-card img{object-fit:contain;width:88px;height:88px}.high-score-card span{color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;font-weight:850}.high-score-card strong{color:var(--color-accent-gold);font-variant-numeric:tabular-nums;text-shadow:0 0 24px #ffc52f5c;font-size:clamp(2.4rem,10vw,4rem);line-height:1}.settings-info{text-align:left;gap:12px;margin:0;display:grid}.settings-info div{border-radius:var(--radius-sm);background:#08092366;border:1px solid #a98bff2e;padding:16px 18px}.settings-info dt{color:var(--color-accent-cyan);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:850}.settings-info dd{color:var(--color-text-primary);margin:5px 0 0;line-height:1.5}.settings-toggle{cursor:pointer;align-items:center;gap:14px;min-height:44px;display:flex}.settings-toggle input{width:24px;height:24px;accent-color:var(--color-accent-cyan);flex:none}.settings-toggle span{gap:3px;display:grid}.settings-toggle small{color:var(--color-text-secondary);line-height:1.4}.app-screen{background:0 0}.app-screen__panel{width:min(100% - 28px,430px);max-height:min(860px,100dvh - 28px);padding:var(--modal-spacing);border:1px solid var(--modal-border);border-radius:var(--modal-radius);background:var(--modal-background);box-shadow:var(--modal-shadow);-webkit-backdrop-filter:none;grid-template-rows:auto minmax(0,1fr) auto;animation:.18s cubic-bezier(.2,.8,.2,1) modal-enter;display:grid;overflow:hidden}.app-screen--settings .app-screen__panel{width:min(100% - 28px,510px)}.app-screen__header{min-height:44px;padding:4px 48px 8px;position:relative}.app-screen__panel .app-screen__header h1{text-shadow:0 0 20px #ca6bff42;font-size:clamp(1.75rem,6vw,2.35rem);line-height:1.1}.app-screen__close{color:#f8f7ff;cursor:pointer;background:#191846db;border:1px solid #e4dcffb8;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:1.8rem;line-height:1;display:grid;position:absolute;top:0;right:0;box-shadow:0 6px 14px #00000047,inset 0 1px #ffffff24}.app-screen__close:hover{border-color:var(--color-accent-pink);filter:brightness(1.15)}.app-screen__close img{object-fit:contain;width:22px;height:22px}.app-screen__close:focus-visible{outline:3px solid var(--color-accent-cyan);outline-offset:3px}.app-screen__content{overscroll-behavior:contain;scrollbar-color:#875cffb3 transparent;min-height:0;margin:14px 0 18px;overflow:auto}.app-screen__back{width:min(100%,280px);min-height:var(--modal-button-height);margin:0 auto;font-size:1.05rem}.app-screen__back-icon{font-size:1.55rem;line-height:1}.high-score-heading{justify-items:center;gap:4px;margin-bottom:12px;display:grid}.high-score-heading img{object-fit:contain;filter:drop-shadow(0 0 14px #ffc52f61);width:64px;height:64px}.high-score-heading span{color:var(--color-accent-gold);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:900}.high-score-list{text-align:left;gap:4px;margin:0;padding:0;list-style:none;display:grid}.high-score-list__row{min-height:38px;color:var(--color-text-secondary);background:#0809236b;border:1px solid #8c7ed921;border-radius:8px;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 12px;font-size:.88rem;display:grid}.high-score-list__row--player{color:var(--color-accent-gold);box-shadow:inset 3px 0 0 var(--color-accent-gold);background:linear-gradient(90deg,#ffc52f21,#0000),#1c1c4ad1;border-color:#ffc52f66}.high-score-list__rank{font-variant-numeric:tabular-nums;font-weight:850}.high-score-list__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.high-score-list data,.high-score-list__empty{font-variant-numeric:tabular-nums;text-align:right;font-weight:900}.settings-sections{text-align:left;gap:12px;display:grid}.settings-section{background:linear-gradient(145deg,#171643d1,#090b2ab3);border:1px solid #987aeb33;border-radius:14px;padding:15px;box-shadow:inset 0 1px #ffffff09}.settings-section h2{color:#c8c5ee;letter-spacing:.1em;text-transform:uppercase;margin:0 0 11px;font-size:.76rem;font-weight:900}.settings-section p{color:var(--color-text-secondary);margin:0;font-size:.86rem;line-height:1.55}.control-groups{gap:12px;display:grid}.control-group{background:#05071e6b;border:1px solid #8067d32e;border-radius:12px;padding:11px}.control-group h3{color:var(--color-accent-cyan);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.68rem;font-weight:900}.control-group__rows{gap:6px;display:grid}.control-row{background:#14133eb3;border:1px solid #9381da1f;border-radius:9px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:54px;padding:8px 10px;display:grid}.control-row__icon{color:#fff;letter-spacing:-.1em;text-shadow:0 0 9px #bddaff61;place-items:center;min-width:48px;font-size:1.55rem;font-weight:900;line-height:1;display:grid}.control-row__icon--drop{padding-bottom:6px;font-size:1.9rem;position:relative}.control-row__icon--drop:after{content:"";border-top:2px solid #ffffffdb;border-bottom:1px solid #ffffff8a;width:24px;height:5px;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.control-row__icon--rotate{font-size:2rem}.control-row__copy{gap:2px;min-width:0;display:grid}.control-row__copy strong{color:var(--color-text-primary);font-size:.84rem;line-height:1.25}.control-row__copy small{color:var(--color-text-secondary);font-size:.72rem;line-height:1.35}.control-row__keycaps{justify-content:flex-end;align-items:center;gap:5px;display:flex}.keycap{color:#fff;background:linear-gradient(#332b6ff0,#161441f0);border:1px solid #a487f180;border-radius:6px;place-items:center;min-width:30px;height:30px;padding:0 7px;font-family:inherit;font-size:.78rem;font-weight:850;line-height:1;display:inline-grid;box-shadow:inset 0 1px #ffffff1a,inset 0 -2px 3px #0000003d}.keycap--space{min-width:62px}.control-row--disabled{opacity:.48}.control-row--disabled .control-row__icon{text-shadow:none}.settings-section__rows{gap:8px;display:grid}.settings-toggle{background:#05071e52;border:1px solid #9986e11f;border-radius:10px;grid-template-columns:minmax(0,1fr) 50px;align-items:center;gap:14px;min-height:52px;padding:9px 10px;display:grid;position:relative}.settings-toggle__copy{gap:3px;display:grid}.settings-toggle__copy strong{font-size:.92rem}.settings-toggle__copy small{color:var(--color-text-secondary);font-size:.76rem;line-height:1.35}.settings-toggle input{opacity:0;width:1px;height:1px;position:absolute}.settings-toggle__control{width:48px;height:28px;transition:background var(--transition-ui), border-color var(--transition-ui);background:#080923e6;border:1px solid #b5aee06b;border-radius:999px;position:relative}.settings-toggle__control:after{content:"";width:20px;height:20px;transition:transform var(--transition-ui);background:#c8c5de;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0006}.settings-toggle input:checked+.settings-toggle__control{background:linear-gradient(135deg,#1a9dd4,#6a42d6);border-color:#20d9ffcc}.settings-toggle input:checked+.settings-toggle__control:after{background:#fff;transform:translate(20px)}.settings-toggle input:focus-visible+.settings-toggle__control{outline:3px solid var(--color-accent-cyan);outline-offset:3px}.settings-toggle:has(input:disabled){cursor:not-allowed;opacity:.58}.settings-toggle input:disabled+.settings-toggle__control{background:#0809238c;border-color:#b5aee033}.language-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.language-options button{min-height:46px;color:var(--color-text-secondary);background:#0b0d30b8;border:1px solid #8877cf6b;border-radius:8px;padding:8px 6px;font-size:.76rem;font-weight:800}.language-options button[aria-pressed=true]{color:#fff;background:linear-gradient(145deg,#9030c6cc,#44278de6);border-color:#de41ffc2;box-shadow:0 0 14px #d345ff33}.language-options button:focus-visible{outline:3px solid var(--color-accent-cyan);outline-offset:3px}.language-options button:hover{filter:brightness(1.1);border-color:#20d9ff9e}.language-options button:active{filter:brightness(.95);transform:translateY(1px)scale(.985)}.language-options button:disabled{opacity:.58}.settings-version{background:#05071e4d;border:1px solid #9986e129;border-radius:9px;justify-content:space-between;align-items:center;min-height:44px;padding:9px 11px;display:flex}.settings-version span{color:var(--color-text-secondary)}.settings-version strong{font-variant-numeric:tabular-nums}.home-action img{width:34px;height:34px}@keyframes modal-enter{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes home-logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (width>=768px) and (width<=1199px){.game-layout{grid-template-columns:minmax(280px,520px) minmax(170px,220px);grid-template-areas:"header header""stage stats"}.hud{grid-area:stats;align-content:center;gap:12px;min-width:0;display:grid}.hud__stats,.hud-card--next{grid-area:auto}}@media (width<=767px){.game-layout{grid-template:"header""stats""stage"minmax(0,1fr)"help"/minmax(0,1fr);gap:8px;padding:8px}.game-header{min-height:42px}.pause-button{width:58px;height:58px}.hud{grid-area:stats;grid-template-columns:minmax(0,1fr) 82px;gap:8px;display:grid}.hud__stats{grid-area:auto;grid-template-columns:repeat(4,minmax(0,1fr));align-content:stretch;gap:6px}.hud-card{text-align:center;border-radius:10px;padding:8px 6px}.hud-card dt,.hud-card h2{letter-spacing:.06em;font-size:clamp(.52rem,2.3vw,.66rem)}.hud-card dd,.hud-card--score dd{min-width:0;margin-top:4px;font-size:clamp(.9rem,4.2vw,1.2rem)}.hud-card--next{grid-area:auto;align-self:stretch;gap:3px}.next-piece-preview{border:0;width:58px;padding:3px}.game-stage{border-radius:18px}.touch-gesture-help{color:#b8b9dcc2;text-align:center;grid-area:help;margin:0;padding:3px 8px 1px;font-size:clamp(.58rem,2.2vw,.72rem);line-height:1.35;display:block}.modal-overlay{padding:12px}.modal-shell{padding:22px 18px}.home-screen,.app-screen{align-items:center;padding:10px}.home-screen__panel,.app-screen__panel{padding:clamp(16px,5vw,26px)}.home-screen__logo{max-height:min(30vh,230px)}.home-action{min-height:52px}}@media (width<=374px){.game-layout{gap:6px;padding:6px}.game-brand{width:86px}.hud{grid-template-columns:minmax(0,1fr) 70px}.hud-card{padding-inline:3px}.next-piece-preview{width:48px}}@media (height<=620px){.home-screen{align-items:start}.home-screen__logo{max-height:190px}.home-screen__actions{gap:8px;margin-top:8px}.home-action{min-height:46px;padding-block:8px}.home-screen__version{margin-top:10px}}@media (prefers-reduced-motion:reduce){:root{--transition-ui:0s}.modal-shell{animation:.1s linear overlay-enter}.screen-transition,.hud-value--score,.hud-value--level,.hud-value--lines,.next-piece-preview,.gameplay-feedback__badge,.cascade-feedback__badge,.perfect-clear-feedback__badge,.level-up-feedback__badge{animation:none}.cascade-feedback__badge--tier-up{animation:.18s linear both cascade-tier-up-reduced}.home-screen__logo,.app-screen__panel{animation:none}}@keyframes cascade-tier-up-reduced{0%{opacity:.84}to{opacity:1}}
