@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); }