@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/falling-blocks/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/falling-blocks/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/falling-blocks/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/falling-blocks/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/falling-blocks/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/falling-blocks/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/falling-blocks/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/falling-blocks/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/falling-blocks/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/falling-blocks/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/play/falling-blocks/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-top: #0b0d16;--bg-bottom: #06070c;--bg-lift: #1a1f3a;--bg-lift-at: 25%;--panel: #0b1220;--text: #eaf2ff;--text-dim: #9fb3c8;--accent: #f5b942;--accent-ink: #2a1d00;--surface: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .18);--radius: 18px;--well: #10131f;--well-rim: #2a3150;--well-grid: #181c2c;--well-radius: .3;--tile-radius: .1;--piece-I: #2fd0c8;--piece-O: #ffd447;--piece-T: #c66cf0;--piece-S: #8ee35a;--piece-Z: #ff5f6d;--piece-J: #5b7cff;--piece-L: #ff9a4d;--tile-gutter: 1px;--tile-top: 2px;--tile-bottom: 1px;--tile-lighten: .2;--tile-darken: .25;--ghost-line: 2px;--ghost-alpha: .55;--ghost-alpha-low: .35;--ghost-alpha-still: .45;--hold-scale: .6;--hold-dim: .35;--queue-dim: .8;--tile-over: #3a4058;--flash: #ffffff;--paused-dim: .2;--canvas-cols: 16;--canvas-rows: 20;--canvas-margin: 8px;--cell-max: 40px;--pad-h: 128px;--control-min: 48px;--pad-button-w: 56px;--pad-button-h: 48px;--pad-gap: 8px;--column-w: 412px;--sheet-w: 380px;--scrim: rgba(0, 0, 0, .6);--switch-off: rgba(255, 255, 255, .16);--switch-knob: 20px;--switch-inset: 12px;--flag-w: 28px;--flag-h: 20px;font-family:Nunito,system-ui,sans-serif;font-weight:600;color:var(--text);color-scheme:dark;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(circle at 50% var(--bg-lift-at),var(--bg-lift),transparent 60%),linear-gradient(var(--bg-top),var(--bg-bottom));background-color:var(--bg-bottom);overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:manipulation}.screen{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.home{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;max-width:var(--column-w);margin:0 auto}.home-mark{width:96px;height:96px}.home-title{margin:0;font-size:40px;font-weight:800}.home-version{position:absolute;right:calc(16px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));margin:0;font-size:12px;color:var(--text-dim)}.home-best{margin:12px 0 0;text-align:center}.home-line{margin:0;color:var(--text-dim)}.home-gear{position:absolute;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right))}.icon-button{width:var(--control-min);height:var(--control-min);border:0;border-radius:50%;background:var(--surface);color:var(--text);font:inherit;font-size:24px;line-height:1;cursor:pointer}.button{min-width:160px;min-height:var(--control-min);padding:0 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:18px;cursor:pointer}.button.primary{border-color:transparent;background:var(--accent);color:var(--accent-ink);font-weight:800}.button.small{min-width:0;font-size:15px}.game{display:flex;flex-direction:column;touch-action:none}.game-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.board{position:relative}.well-canvas{display:block;touch-action:none}.hud-numbers{position:absolute;left:0;top:calc(var(--cell) * 3.4);width:calc(var(--cell) * 2.75);margin:0;display:flex;flex-direction:column;gap:calc(var(--cell) * .35);pointer-events:none}.stat dt{font-size:max(10px,calc(var(--cell) * .42));font-variant:small-caps;text-transform:lowercase;letter-spacing:.04em;color:var(--text-dim)}.stat dd{margin:0;font-size:max(13px,calc(var(--cell) * .6));font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat.large dd{font-size:max(16px,calc(var(--cell) * .85))}.hud-next{position:absolute;right:0;top:0;width:calc(var(--cell) * 2.75);height:calc(var(--cell) * .9);font-size:max(10px,calc(var(--cell) * .42));font-variant:small-caps;text-transform:lowercase;color:var(--text-dim);text-align:center;pointer-events:none}.hud-pause{position:absolute;right:0;bottom:0;width:max(var(--control-min),calc(var(--cell) * 2.75));height:var(--control-min);border:1px solid var(--well-rim);border-radius:calc(var(--cell) * .3);background:var(--well);color:var(--text-dim);font:inherit;font-size:16px;cursor:pointer}.key-hints{margin:0 0 12px;text-align:center;font-size:13px;color:var(--text-dim)}.pad{height:var(--pad-h);flex:none;display:flex;justify-content:space-between;align-items:center;padding:0 16px;max-width:560px;width:100%;margin:0 auto;touch-action:none}.pad-cluster{display:grid;grid-template-columns:repeat(2,var(--pad-button-w));grid-auto-rows:var(--pad-button-h);gap:var(--pad-gap)}.pad-cluster.left .pad-soft{grid-column:1 / span 2;justify-self:center}.pad-button{min-width:var(--pad-button-w);min-height:var(--pad-button-h);border:1px solid var(--well-rim);border-radius:12px;background:var(--well);color:var(--text);font:inherit;font-size:22px;touch-action:none}.pad-button.pad-hold{font-size:14px}.pad-button:active{background:var(--well-rim)}.floaters{position:absolute;left:calc(var(--cell) * 3);top:0;width:calc(var(--cell) * 10);height:calc(var(--cell) * 20);pointer-events:none}.floater{position:absolute;left:0;right:0;top:calc(var(--cell) * 9.4);text-align:center;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text);font-size:max(16px,calc(var(--cell) * .9));animation:float-up var(--points-float) ease-out both}.floater.level{top:calc(var(--cell) * 8.2);color:var(--accent);font-size:max(20px,calc(var(--cell) * 1.2));animation-duration:var(--level-label)}.stat.flash dd{animation:best-flash var(--best-flash) ease-out}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;touch-action:manipulation}.overlay-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(320px,calc(100% - 32px));padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.overlay{animation:fade-in var(--overlay-slide) ease-out both}.overlay-card{animation:slide-up var(--overlay-slide) cubic-bezier(.2,.9,.3,1) both}.overlay.over .new-best{animation:bounce-in .36s calc(var(--overlay-slide) + var(--count-up)) cubic-bezier(.3,1.6,.6,1) both}.overlay-card h2{margin:0 0 4px;font-size:28px;font-weight:800}.result{display:flex;gap:20px;margin:0;text-align:center}.new-best{margin:0;color:var(--accent);font-weight:800;font-size:20px}.sheet{width:calc(100% - 32px);max-width:var(--sheet-w);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:16px 20px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);overflow-y:auto}.sheet::backdrop{background:var(--scrim)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--control-min)}.sheet-heading h2{margin:0;font-size:24px;font-weight:800}.sheet>.button{display:block;width:100%;margin-top:10px}.sheet p{margin:8px 0}.sheet-version{text-align:center;font-size:12px;color:var(--text-dim)}.setting-group{margin:8px 0}.languages,.segments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.languages .button,.segments .button{min-width:0;padding:0 12px;font-size:16px}.language{display:flex;align-items:center;justify-content:center;gap:8px}.language img{width:var(--flag-w);height:var(--flag-h);object-fit:cover;border-radius:3px}.button.chosen{border-color:var(--accent);color:var(--accent)}.setting{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--control-min)}.setting input{appearance:none;position:relative;width:var(--control-min);height:var(--control-min);margin:0;background:none;cursor:pointer}.setting input:before{content:"";position:absolute;inset:var(--switch-inset) 0;border-radius:999px;background:var(--switch-off)}.setting input:after{content:"";position:absolute;top:calc(var(--switch-inset) + 2px);left:4px;width:var(--switch-knob);height:var(--switch-knob);border-radius:50%;background:var(--text-dim);transition:transform .12s ease-out}.setting input:checked:before{background:var(--accent)}.setting input:checked:after{transform:translate(var(--switch-knob));background:var(--accent-ink)}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(var(--cell) * -2))}}@keyframes best-flash{30%{color:var(--accent)}}@keyframes slide-up{0%{opacity:0;transform:translateY(40%)}}@keyframes fade-in{0%{opacity:0}}@keyframes bounce-in{0%{opacity:0;transform:scale(.4)}}@media(prefers-reduced-motion:reduce){.overlay,.overlay-card,.overlay.over .new-best,.stat.flash dd,.floater{animation:none}}
