diff --git a/static/css/base.css b/static/css/base.css new file mode 100644 index 0000000..10b298f --- /dev/null +++ b/static/css/base.css @@ -0,0 +1,14 @@ + +@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'); + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +html, body { + height: 100%; + font-family: Inter, Arial, sans-serif; + background-color: #f2f2f2; +} \ No newline at end of file diff --git a/static/css/footer.css b/static/css/footer.css new file mode 100644 index 0000000..de7a072 --- /dev/null +++ b/static/css/footer.css @@ -0,0 +1,20 @@ + +.footer { + position: absolute; + bottom: 1rem; + text-align: center; + color: #0005; + font-size: 0.9rem; + user-select: none; + pointer-events: none; +} + +@media only screen and (max-width: 450px) { + .footer { + position: absolute; + bottom: 1rem; + left: 50%; + translate: -50% 0; + z-index: 999; + } +} diff --git a/static/css/login.css b/static/css/login.css new file mode 100644 index 0000000..06a981c --- /dev/null +++ b/static/css/login.css @@ -0,0 +1,63 @@ +@import "./ui.css"; + +.container { + display: flex; + flex-direction: column; + min-height: 100vh; + justify-content: center; + align-items: center; + padding: 2rem; + position: relative; + background: #ffffff; + background: linear-gradient(0deg,rgba(255, 255, 255, 1) 90%, rgba(30, 144, 255, 1) 100%); + background-image: url(/static/overlay.jpg); + background-position: center; + background-size: cover; + background-repeat: no-repeat; +} + +.modal-box { + background-color: white; + padding: 2rem; + border-radius: 8px; + border: 1px solid #ddd; + max-width: 400px; + width: 100%; + z-index: 1; +} + +.modal-title { + font-size: 28px; + font-weight: 600; + margin-bottom: 5px; +} + +.modal-description { + font-size: 16px; + font-weight: 400; + margin-bottom: 15px; +} + +.form { + margin-top: 25px; +} + +@media only screen and (max-width: 450px) { + .container { + padding: 0; + margin: 0; + width: 100vw; + height: 100vh; + min-width: 100vw; + } + + .modal-box { + flex: 1; + width: 100vw; + min-width: 100vw; + height: 100vh; + padding: 20px; + padding-top: 50px; + } +} + diff --git a/static/css/register.css b/static/css/register.css new file mode 100644 index 0000000..06a981c --- /dev/null +++ b/static/css/register.css @@ -0,0 +1,63 @@ +@import "./ui.css"; + +.container { + display: flex; + flex-direction: column; + min-height: 100vh; + justify-content: center; + align-items: center; + padding: 2rem; + position: relative; + background: #ffffff; + background: linear-gradient(0deg,rgba(255, 255, 255, 1) 90%, rgba(30, 144, 255, 1) 100%); + background-image: url(/static/overlay.jpg); + background-position: center; + background-size: cover; + background-repeat: no-repeat; +} + +.modal-box { + background-color: white; + padding: 2rem; + border-radius: 8px; + border: 1px solid #ddd; + max-width: 400px; + width: 100%; + z-index: 1; +} + +.modal-title { + font-size: 28px; + font-weight: 600; + margin-bottom: 5px; +} + +.modal-description { + font-size: 16px; + font-weight: 400; + margin-bottom: 15px; +} + +.form { + margin-top: 25px; +} + +@media only screen and (max-width: 450px) { + .container { + padding: 0; + margin: 0; + width: 100vw; + height: 100vh; + min-width: 100vw; + } + + .modal-box { + flex: 1; + width: 100vw; + min-width: 100vw; + height: 100vh; + padding: 20px; + padding-top: 50px; + } +} + diff --git a/static/css/styles.css b/static/css/styles.css deleted file mode 100644 index 1d2d8e8..0000000 --- a/static/css/styles.css +++ /dev/null @@ -1,80 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'); - -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -html, body { - height: 100%; - font-family: Inter, Arial, sans-serif; - background-color: #f2f2f2; -} - -.container { - display: flex; - flex-direction: column; - min-height: 100vh; - justify-content: center; - align-items: center; - padding: 2rem; - position: relative; - background: #ffffff; - background: linear-gradient(0deg,rgba(255, 255, 255, 1) 90%, rgba(30, 144, 255, 1) 100%); -} - -.modal-box { - background-color: white; - padding: 2rem; - border-radius: 8px; - border: 1px solid #ddd; - max-width: 400px; - width: 100%; - z-index: 1; -} - -.modal-title { - font-size: 28px; - font-weight: 600; - margin-bottom: 15px; -} - -.input-group { - display: flex; - flex-direction: row; - align-items: stretch; - border: 1px solid #ccc; - border-radius: 5px; - margin-bottom: 10px; -} - -.input-icon { - padding: 10px; -} - -.input-field { - flex: 1; - border: none; -} - -.icon-wrapper { - display: flex; - justify-content: center; - align-items: center; - margin-bottom: 20px; -} - -.icon { - width: 64px; - height: 64px; -} - -.footer { - position: absolute; - bottom: 1rem; - text-align: center; - color: #999; - font-size: 0.9rem; -} - diff --git a/static/css/ui.css b/static/css/ui.css new file mode 100644 index 0000000..7ce2aca --- /dev/null +++ b/static/css/ui.css @@ -0,0 +1,72 @@ + +.input-group { + display: flex; + flex-direction: row; + align-items: stretch; + border: 1px solid #ccc; + border-radius: 5px; + margin-bottom: 10px; +} + +.input-icon { + padding: 10px; +} + +.input-field { + flex: 1; + border: none; +} + +.input-field:focus { + border: none; + outline: none; +} + +.input-icon { + font-size: 1rem; + color: #777; +} + +.input-icon > img { + width: 1rem; + height: 1rem; +} + +.checkbox-group { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: 10px; + font-size: 0.85rem; + color: #0008; + margin: 15px 0; +} + +.button { + display: block; + padding: 10px 15px; + border-radius: 5px; + cursor: pointer; + border: none; + outline: none; + width: 100%; + font-size: 0.9rem; + font-weight: 500; +} + +.button.primary { + background-color: rgb(13, 112, 212); + color: #fefefe; +} + +.icon-wrapper { + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 20px; +} + +.icon { + width: 64px; + height: 64px; +} \ No newline at end of file