diff --git a/src/screens/Login.vue b/src/screens/Login.vue
index e89f290..4ff4378 100644
--- a/src/screens/Login.vue
+++ b/src/screens/Login.vue
@@ -1,23 +1,25 @@
 <template>
-  <div class="login-screen">
-    <div class="content-wrapper">
-      <h1 class="main-title">NEW QUEST</h1>
+  <div class="login-screen bg-gray-300">
+    <div class="absolute bg-[url('/assets/shapes/select-screen-bg-shape.svg')] bg-no-repeat bg-center w-full h-full z-10 pointer-events-none"></div>
+    <div class="content-wrapper z-20 w-full h-dvh flex items-center justify-between flex-col relative">
+      <div class="filler"></div>
+      <h1 class="main-title mt-[115px] text-center text-6xl">NEW QUEST</h1>
       <form @submit.prevent="loginFunc">
-        <div class="content-elements">
-          <div class="login-form">
-            <div class="form-field">
-              <label for="username">Username</label>
-              <input id="username" v-model="username" type="text" name="username" required autofocus />
+        <div class="content-elements my-[80px] mx-0 w-full flex flex-col gap-[24px]">
+          <div class="login-form w-full grid gap-[15px]">
+            <div class="form-field flex flex-col bg-white bg-opacity-50 rounded-[3px] border border-solid border-gray-50 sm:min-w-[500px] sm:w-unset w-full my-0 mx-auto">
+              <label class="text-black bg-white bg-opacity-50 p-1 text-sm rounded-t-[3px]" for="username">Username</label>
+              <input class="p-1 text-sm focus-visible:outline-none" id="username" v-model="username" type="text" name="username" required autofocus />
             </div>
-            <div class="form-field">
-              <label for="password">Password</label>
-              <input id="password" v-model="password" type="password" name="password" required />
+            <div class="form-field flex flex-col bg-white bg-opacity-50 rounded-[3px] border border-solid border-gray-50 sm:min-w-[500px] sm:w-unset w-full my-0 mx-auto">
+              <label class="text-black bg-white bg-opacity-50 p-1 text-sm rounded-t-[3px]" for="password">Password</label>
+              <input class="p-1 text-sm focus-visible:outline-none" id="password" v-model="password" type="password" name="password" required />
             </div>
           </div>
-          <div class="row-buttons">
-            <button class="button btn-cyan" type="submit"><span>PLAY</span></button>
-            <button class="button btn-cyan" type="button" @click.prevent="registerFunc"><span>REGISTER</span></button>
-            <button class="button btn-cyan"><span>CREDITS</span></button>
+          <div class="row-buttons flex justify-center sm:gap-[15px] gap-[8px]">
+            <button class="button btn-cyan py-2 px-0 min-w-[100px]" type="submit"><span class="m-auto">PLAY</span></button>
+            <button class="button btn-cyan py-2 px-0 min-w-[100px]" type="button" @click.prevent="registerFunc"><span class="m-auto">REGISTER</span></button>
+            <button class="button btn-cyan py-2 px-0 min-w-[100px]"><span class="m-auto">CREDITS</span></button>
           </div>
         </div>
       </form>
@@ -99,121 +101,4 @@ async function registerFunc() {
   socket.setToken(response.token)
   socket.initConnection()
 }
-</script>
-
-<style scoped lang="scss">
-@import '@/assets/scss/main';
-
-.login-screen {
-  &::before {
-    content: '';
-    position: absolute;
-    background-image: url('/assets/shapes/select-screen-bg-shape.svg');
-    background-repeat: no-repeat;
-    background-position: center;
-    background-size: 100% cover;
-    width: 100%;
-    height: 100%;
-    z-index: 1;
-    pointer-events: none;
-  }
-  background-color: $dark-gray;
-
-  .content-wrapper {
-    z-index: 2;
-    width: 100%;
-    height: 100vh;
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    flex-direction: column;
-    position: relative;
-    &::before {
-      content: '';
-    }
-
-    .content-elements {
-      margin: 80px 0;
-      width: inherit;
-      display: flex;
-      flex-direction: column;
-      gap: 24px;
-
-      .login-form {
-        width: inherit;
-        display: grid;
-        gap: 15px;
-
-        .form-field {
-          display: flex;
-          flex-direction: column;
-          background-color: rgba($white, 0.5);
-          border-radius: 3px;
-          border: $light-gray 1px solid;
-          min-width: 500px;
-          margin: 0 auto;
-
-          label {
-            color: $black;
-            background-color: rgba($white, 0.5);
-            padding: 4px;
-            font-size: 0.875rem;
-            border-radius: 3px 3px 0 0;
-          }
-
-          input {
-            padding: 4px;
-            font-size: 0.875rem;
-
-            &:focus-visible {
-              outline: none;
-            }
-          }
-        }
-      }
-
-      .row-buttons {
-        display: flex;
-        justify-content: center;
-        gap: 15px;
-
-        .button {
-          padding: 8px 0;
-          min-width: 100px;
-
-          span {
-            margin: auto;
-          }
-        }
-      }
-    }
-  }
-
-  .main-title {
-    margin-top: 115px;
-    text-align: center;
-    font-size: 4rem;
-  }
-
-  a {
-    text-decoration: none;
-  }
-
-  // Mobile screens (< 450px)
-  @media screen and (max-width: 550px) {
-    .content-wrapper {
-      .content-elements {
-        .login-form {
-          .form-field {
-            width: 100%;
-            min-width: unset;
-          }
-        }
-        .row-buttons {
-          gap: 8px;
-        }
-      }
-    }
-  }
-}
-</style>
+</script>
\ No newline at end of file