Amnezichat/client/static/styles.css

244 lines
4.6 KiB
CSS
Raw Normal View History

2025-02-08 22:29:25 +03:00
html, body {
height: 100%;
margin: 0;
2025-04-14 14:57:01 +03:00
font-family: 'Helvetica Neue', Arial, sans-serif;
2025-04-19 13:30:28 +03:00
background-color: #121212;
2025-04-14 14:57:01 +03:00
color: #e1e1e1;
2025-04-19 13:30:28 +03:00
scroll-behavior: smooth;
2025-04-14 14:57:01 +03:00
}
* {
box-sizing: border-box;
2025-04-19 13:30:28 +03:00
transition: all 0.3s ease;
2025-02-08 22:29:25 +03:00
}
.container {
display: flex;
flex-direction: column;
height: 100%;
2025-04-19 13:30:28 +03:00
width: 100%;
padding: 24px;
2025-02-08 22:29:25 +03:00
}
2025-04-14 14:57:01 +03:00
/* Messages area */
2025-02-08 22:29:25 +03:00
#messages {
flex-grow: 1;
2025-04-19 13:30:28 +03:00
width: 100%;
padding: 20px;
2025-02-08 22:29:25 +03:00
overflow-y: auto;
2025-04-19 13:30:28 +03:00
background: rgba(44, 47, 54, 0.7);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 16px;
2025-02-08 22:29:25 +03:00
display: flex;
flex-direction: column;
2025-04-19 13:30:28 +03:00
gap: 12px;
margin-bottom: 24px;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
2025-02-08 22:29:25 +03:00
}
2025-04-14 14:57:01 +03:00
.message-row {
display: flex;
align-items: flex-start;
2025-04-19 13:30:28 +03:00
gap: 12px;
2025-04-14 14:57:01 +03:00
max-width: 100%;
}
.profile-pic {
2025-04-19 13:30:28 +03:00
width: 48px;
height: 48px;
2025-04-14 14:57:01 +03:00
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
2025-04-19 13:30:28 +03:00
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
2025-04-14 14:57:01 +03:00
}
.message-bubble {
2025-04-19 13:30:28 +03:00
background: linear-gradient(to bottom right, #3a3f4b, #2e333d);
padding: 12px 18px;
border-radius: 16px;
2025-04-14 14:57:01 +03:00
display: flex;
flex-direction: column;
2025-04-19 13:30:28 +03:00
gap: 6px;
2025-04-14 14:57:01 +03:00
word-break: break-word;
2025-04-19 13:30:28 +03:00
box-shadow: 0 2px 6px rgba(0,0,0,0.25);
2025-04-14 14:57:01 +03:00
}
.message-bubble p {
margin: 0;
2025-04-19 13:30:28 +03:00
line-height: 1.6;
font-size: 15px;
2025-04-14 14:57:01 +03:00
}
/* Media content */
.media-img,
.media-video {
2025-04-19 13:30:28 +03:00
width: 480px;
height: 480px;
2025-04-14 14:57:01 +03:00
object-fit: cover;
2025-04-19 13:30:28 +03:00
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
2025-02-08 22:29:25 +03:00
}
2025-04-14 14:57:01 +03:00
/* Input section */
2025-02-08 22:29:25 +03:00
.input-container {
display: flex;
2025-04-19 13:30:28 +03:00
gap: 12px;
2025-02-08 22:29:25 +03:00
align-items: center;
2025-04-19 13:30:28 +03:00
width: 100%;
2025-02-08 22:29:25 +03:00
}
input[type="text"] {
2025-04-14 14:57:01 +03:00
flex-grow: 1;
2025-04-19 13:30:28 +03:00
padding: 12px 16px;
border-radius: 30px;
border: 1px solid #3a3f4b;
background-color: #1f2128;
2025-04-14 14:57:01 +03:00
color: #e1e1e1;
2025-04-19 13:30:28 +03:00
font-size: 15px;
box-shadow: inset 0 2px 4px rgba(0,0,0,0.4);
2025-02-08 22:29:25 +03:00
}
input[type="text"]:focus {
outline: none;
2025-04-14 14:57:01 +03:00
border-color: #4c8bf5;
2025-04-19 13:30:28 +03:00
box-shadow: 0 0 0 3px rgba(76, 139, 245, 0.25);
2025-02-08 22:29:25 +03:00
}
2025-04-14 14:57:01 +03:00
/* Button styles */
2025-02-08 22:29:25 +03:00
button {
2025-04-19 13:30:28 +03:00
padding: 10px 22px;
2025-02-08 22:29:25 +03:00
border: none;
2025-04-19 13:30:28 +03:00
border-radius: 30px;
background: linear-gradient(135deg, #4c8bf5, #3b74d4);
2025-02-08 22:29:25 +03:00
color: white;
cursor: pointer;
2025-04-19 13:30:28 +03:00
font-size: 15px;
font-weight: 600;
box-shadow: 0 2px 10px rgba(0,0,0,0.3);
2025-02-08 22:29:25 +03:00
}
button:hover {
2025-04-19 13:30:28 +03:00
background: linear-gradient(135deg, #3b74d4, #2f5eb8);
2025-02-08 22:29:25 +03:00
}
2025-04-14 14:57:01 +03:00
button:active {
2025-04-19 13:30:28 +03:00
background: #2f5eb8;
transform: scale(0.98);
2025-02-08 22:29:25 +03:00
}
2025-04-14 14:57:01 +03:00
/* Settings overlay */
2025-02-08 22:29:25 +03:00
#settings {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
2025-04-19 13:30:28 +03:00
background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(6px);
2025-02-08 22:29:25 +03:00
justify-content: center;
align-items: center;
}
2025-04-14 14:57:01 +03:00
/* Settings content */
2025-02-08 22:29:25 +03:00
.settings-content {
2025-04-19 13:30:28 +03:00
background-color: #1f2229;
padding: 24px;
border-radius: 16px;
width: 320px;
2025-04-14 14:57:01 +03:00
display: flex;
flex-direction: column;
2025-04-19 13:30:28 +03:00
gap: 14px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
2025-02-08 22:29:25 +03:00
}
.settings-content h2 {
margin-top: 0;
2025-04-19 13:30:28 +03:00
color: #ffffff;
font-size: 20px;
2025-02-08 22:29:25 +03:00
}
2025-04-14 14:57:01 +03:00
/* Modal styles */
#mediaModal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
2025-02-08 22:29:25 +03:00
width: 100%;
2025-04-14 14:57:01 +03:00
height: 100%;
overflow: auto;
2025-04-19 13:30:28 +03:00
background-color: rgba(0,0,0,0.85);
2025-04-14 14:57:01 +03:00
justify-content: center;
align-items: center;
padding: 20px;
2025-02-08 22:29:25 +03:00
}
2025-04-14 14:57:01 +03:00
#mediaModal img,
#mediaModal video {
max-width: 90%;
max-height: 90%;
2025-04-19 13:30:28 +03:00
border-radius: 16px;
2025-04-14 14:57:01 +03:00
object-fit: contain;
}
#mediaModal .close-btn {
position: absolute;
top: 20px;
right: 30px;
2025-04-19 13:30:28 +03:00
font-size: 32px;
2025-04-14 14:57:01 +03:00
color: white;
cursor: pointer;
z-index: 1001;
}
2025-04-19 13:30:28 +03:00
/* Light Theme Modernization */
2025-04-14 14:57:01 +03:00
body.light-theme {
2025-04-19 13:30:28 +03:00
background-color: #f1f3f5;
2025-04-14 14:57:01 +03:00
color: #1a1a1a;
}
body.light-theme #messages {
2025-04-19 13:30:28 +03:00
background: rgba(255, 255, 255, 0.7);
backdrop-filter: blur(12px);
border: 1px solid #ccc;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
2025-04-14 14:57:01 +03:00
}
body.light-theme .message-bubble {
2025-04-19 13:30:28 +03:00
background: #ffffff;
box-shadow: 0 2px 4px rgba(0,0,0,0.06);
2025-04-14 14:57:01 +03:00
}
body.light-theme input[type="text"] {
background-color: #ffffff;
color: #1a1a1a;
border-color: #ccc;
}
body.light-theme input[type="text"]:focus {
border-color: #4c8bf5;
2025-04-19 13:30:28 +03:00
box-shadow: 0 0 0 3px rgba(76, 139, 245, 0.2);
2025-04-14 14:57:01 +03:00
}
body.light-theme button {
2025-04-19 13:30:28 +03:00
background: linear-gradient(135deg, #4c8bf5, #3b74d4);
2025-04-14 14:57:01 +03:00
color: white;
}
body.light-theme .settings-content {
background-color: #ffffff;
color: #1a1a1a;
2025-04-19 13:30:28 +03:00
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
2025-04-14 14:57:01 +03:00
}
body.light-theme .settings-content h2 {
color: #1a1a1a;
}
body.light-theme .media-img,
body.light-theme .media-video {
border: 1px solid #ddd;
2025-02-08 22:29:25 +03:00
}