37123-vm/static/css/custom.css
Flatlogic Bot a3acd1329c mh3
2025-12-22 19:38:46 +00:00

233 lines
4.3 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=Lexend+Deca:wght@600;700&display=swap');
:root {
--primary-color: #8a2be2; /* Deep purple */
--secondary-color: #4b0082; /* Indigo */
--light-gray: #f8f9fa;
--dark-gray: #1f2937;
--text-color: #e0e0e0; /* Lighter text for dark background */
}
body {
font-family: 'Inter', sans-serif;
color: var(--text-color);
background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
background-size: 400% 400%;
animation: gradient 15s ease infinite;
height: 100vh;
overflow: hidden; /* Prevent scrollbars */
}
@keyframes gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.breathing-canvas {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
position: relative;
}
.pulsing-circle {
width: 80px;
height: 80px;
background-color: rgba(255, 255, 255, 0.8);
border-radius: 50%;
cursor: pointer;
animation: pulse 2s infinite;
box-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
position: absolute;
bottom: 50px;
}
@keyframes pulse {
0% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
}
70% {
transform: scale(1);
box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
}
100% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
}
}
.fw-medium {
font-weight: 500;
}
.fw-semibold {
font-weight: 600;
}
.fw-bold {
font-weight: 700;
}
.navbar {
background-color: transparent !important;
position: absolute;
width: 100%;
top: 0;
z-index: 10;
}
.navbar-brand {
font-family: 'Lexend Deca', sans-serif;
font-weight: 700;
color: var(--text-color) !important;
}
.nav-link {
color: var(--text-color) !important;
}
.btn-primary {
background-color: transparent;
border-color: var(--text-color);
padding: 0.75rem 1.5rem;
font-weight: 500;
transition: all 0.2s ease-in-out;
color: var(--text-color);
}
.btn-primary:hover {
background-color: rgba(255, 255, 255, 0.1);
border-color: var(--text-color);
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
background-color: transparent;
}
/* Modal styles */
.modal {
display: none;
position: fixed;
z-index: 100;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
background-color: #1f2937;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
max-width: 500px;
border-radius: 20px;
animation: bloom 0.5s ease-out;
}
@keyframes bloom {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
.close-button {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close-button:hover,
.close-button:focus {
color: white;
text-decoration: none;
cursor: pointer;
}
/* Mood slider */
.mood-slider-container {
margin: 20px 0;
}
.mood-slider {
-webkit-appearance: none;
width: 100%;
height: 15px;
border-radius: 5px;
background: #ddd;
outline: none;
opacity: 0.7;
-webkit-transition: .2s;
transition: opacity .2s;
}
.mood-slider:hover {
opacity: 1;
}
.mood-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 25px;
height: 25px;
border-radius: 50%;
background: var(--primary-color);
cursor: pointer;
}
.mood-slider::-moz-range-thumb {
width: 25px;
height: 25px;
border-radius: 50%;
background: var(--primary-color);
cursor: pointer;
}
.mood-labels {
display: flex;
justify-content: space-between;
margin-top: 10px;
}
/* Activity bubbles */
.activity-bubbles {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 15px;
margin: 20px 0;
}
.activity-bubble {
padding: 10px 20px;
border-radius: 20px;
background-color: #4b5563;
cursor: pointer;
transition: background-color 0.3s;
}
.activity-bubble.selected {
background-color: var(--primary-color);
}