diff --git a/app.js b/app.js
index 7bb7216..6aa96ef 100644
--- a/app.js
+++ b/app.js
@@ -29,7 +29,7 @@ const CLEARED_LINES_NAMES = [
     "SINGLE",
     "DOUBLE",
     "TRIPLE",
-    "<h4>QUATRIS</h4>",
+    "QUATRIS",
 ]
 
 const DELAY = {
@@ -379,11 +379,9 @@ class Settings {
     load() {
         for (let input of keyBindFielset.getElementsByTagName("input")) {
             this[input.name] = KEY_NAMES[input.value] || input.value
-            localStorage[input.name] = input.value
         }
         for (let input of autorepearFieldset.getElementsByTagName("input")) {
             this[input.name] = input.valueAsNumber
-            localStorage[input.name] = input.value
         }
     
         this.keyBind = {}
@@ -447,8 +445,10 @@ class Stats {
             this.lockDelay = 500 * Math.pow(0.9, level - 15)
         levelInput.value = level
         levelCell.innerText = level
-        levelSpan.innerHTML =  `<h1>LEVEL<br/>${this.level}</h1>`
-        levelSpan.classList.add("show-level-animation")
+        let div = document.createElement("div")
+        div.className = "show-level-animation"
+        div.innerHTML = `<h1>LEVEL<br/>${this.level}</h1>`
+        messagesSpan.appendChild(div)
     }
 
     get level() {
@@ -480,20 +480,20 @@ class Stats {
             let div = document.createElement("div")
             div.className = "rotate-in-animation"
             div.innerHTML = tSpin
-            scoreSpan.appendChild(div)
+            messagesSpan.appendChild(div)
         }
         if (nbClearedLines) {
             let div = document.createElement("div")
             div.className = "zoom-in-animation"
             div.innerHTML = CLEARED_LINES_NAMES[nbClearedLines]
-            scoreSpan.appendChild(div)
+            messagesSpan.appendChild(div)
         }
         if (patternScore) {
             let div = document.createElement("div")
             div.className = "zoom-in-animation"
-            div.style = "animation-delay: .2s; animation-duration: .8s"
+            div.style = "animation-delay: .2s"
             div.innerHTML = patternScore
-            scoreSpan.appendChild(div)
+            messagesSpan.appendChild(div)
             this.score += patternScore
         }
 
@@ -504,9 +504,9 @@ class Stats {
                 let comboScore = (nbClearedLines == 1 ? 20 : 50) * this.combo * this.level
                 let div = document.createElement("div")
                 div.className = "zoom-in-animation"
-                div.style = "animation-delay: .4s; animation-duration: .6s"
+                div.style = "animation-delay: .4s"
                 div.innerHTML = `COMBO x${this.combo}<br/>${comboScore}`
-                scoreSpan.appendChild(div)
+                messagesSpan.appendChild(div)
                 this.score += comboScore
             }
         } else {
@@ -520,9 +520,9 @@ class Stats {
                 let b2bScore = patternScore / 2
                 let div = document.createElement("div")
                 div.className = "zoom-in-animation"
-                div.style = "animation-delay: .4s; animation-duration: .6s"
+                div.style = "animation-delay: .4s"
                 div.innerHTML = `BACK TO BACK x${this.b2b}<br/>${b2bScore}`
-                scoreSpan.appendChild(div)
+                messagesSpan.appendChild(div)
                 this.score += b2bScore
             }
         } else if ((0 < nbClearedLines) && (nbClearedLines < 4) && !tSpin) {
@@ -545,7 +545,7 @@ onanimationend = function (event) {
     event.target.classList.remove(event.animationName)
 }
 
-scoreSpan.onanimationend = function(event) {
+messagesSpan.onanimationend = function(event) {
     event.target.remove() 
 }
 
@@ -570,7 +570,7 @@ function pause() {
     settings.modal.show()
 }
 
-//window.onblur = pause()
+window.onblur = pause()
 
 pause()
 
@@ -767,9 +767,17 @@ function gameOver() {
     
     scheduler.clearInterval(clock)
 
+    let div = document.createElement("div")
+    div.className = "show-level-animation"
+    div.innerHTML = "<h1>GAME<br/>OVER</h1>"
+    messagesSpan.appendChild(div)
+}
+
+window.onbeforeunload = function(event) {
     localStorage["highScore"] = stats.highScore
-    levelSpan.innerHTML =  "<h1>GAME<br/>OVER</h1>"
-    levelSpan.classList.add("show-level-animation")
+    for (let input of settingsForm.getElementsByTagName("input")) {
+        localStorage[input.name] = input.value
+    }
 }
 
 if ('serviceWorker' in navigator) {
diff --git a/css/common.css b/css/common.css
index 5810dca..b6dbf45 100644
--- a/css/common.css
+++ b/css/common.css
@@ -72,7 +72,7 @@ td.hard-drop-animation {
     from {
         background-color: rgb(206, 255, 255, 40%);
         filter: saturate(50%) brightness(300%);
-        box-shadow: -60px 0 5px white, 60px 0 5px white;
+        box-shadow: -100px 0 5px white, 100px 0 5px white;
     }
     to {
         background-color: transparent;
@@ -85,7 +85,7 @@ tr.cleared-line-animation{
 
 span {
     position: absolute;
-    top: 20%;
+    top: 25%;
     left: 50%;
     transform: translate(-50%, 0);
     color: rgba(255, 255, 255, 0.8);
@@ -94,29 +94,27 @@ span {
     text-align: center;
 }
 
-#levelSpan {
-    font-size: 4vmin;
-    font-weight: bold;
+#messagesSpan div {
     opacity: 0;
 }
 
 @keyframes show-level-animation {
     from {
         opacity: 0;
-        top: 70%;
+        transform: translateY(200%);
     }
     50% {
         opacity: 100%;
-        top: 40%
+        transform: translateY(0);
     }
     to {
         opacity: 0;
-        top: 20%
+        transform: translateY(-100%);
     }
 }
 
-#levelSpan.show-level-animation {
-    animation: cubic-bezier(0.4, 0, 0.6, 1) 2s show-level-animation;
+div.show-level-animation {
+    animation: show-level-animation cubic-bezier(0.4, 0, 0.6, 1) 2s 1s;
 }
 
 @keyframes zoom-in-animation {
@@ -162,19 +160,15 @@ span {
     }
 }
 
-#scoreSpan div {
-    opacity: 0;
-}
-
-#scoreSpan div.rotate-in-animation {
+#messagesSpan div.rotate-in-animation {
     animation-name:  rotate-in-animation;
     animation-timing-function: cubic-bezier(.25,.46,.45,.94);
-    animation-duration: 1s;
+    animation-duration: 1.5s;
 }
 
-#scoreSpan div.zoom-in-animation {
+#messagesSpan div.zoom-in-animation {
     animation-name: zoom-in-animation;
     animation-timing-function: cubic-bezier(.25,.46,.45,.94);
     transform-origin:center;
-    animation-duration: 1s;
+    animation-duration: 1.5s;
 }
\ No newline at end of file
diff --git a/index.html b/index.html
index 69b3ffe..76d97f5 100644
--- a/index.html
+++ b/index.html
@@ -157,8 +157,7 @@
               <tr class="border"><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
             </table>
           </div>
-          <span id="levelSpan"></span>
-          <span id="scoreSpan"></span>
+          <span id="messagesSpan"></span>
         </div>
         <div class="col">
           <div class="card">