/* Guided Relaxation - Mindfulness Session */ .guided-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at center, #2E7D32, #004D40); z-index: 6000; display: flex; flex-direction: column; align-items: center; justify-content: center; color: white; animation: fadeIn 0.5s ease; padding: 20px; text-align: center; transition: background 1s ease; } /* Mode specific backgrounds */ .guided-overlay.mode-body_scan { background: radial-gradient(circle at center, #4A148C, #311B92); } .guided-overlay.mode-visualization { background: radial-gradient(circle at center, #00695C, #004D40); } .guided-title-large { font-size: 32px; font-weight: 300; margin-bottom: 40px; letter-spacing: 1px; animation: slideInDown 0.5s ease; } .guided-step-icon { font-size: 100px; margin-bottom: 40px; animation: floatIcon 4s ease-in-out infinite; filter: drop-shadow(0 0 30px rgba(255,255,255,0.4)); transition: all 0.5s ease; } @keyframes floatIcon { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-20px) scale(1.05); } } .guided-instruction { font-size: 28px; font-weight: 400; margin-bottom: 20px; line-height: 1.4; max-width: 800px; animation: fadeIn 0.5s ease; } .guided-sub { font-size: 20px; opacity: 0.8; margin-bottom: 50px; max-width: 600px; font-weight: 300; animation: fadeIn 0.5s ease 0.2s both; } /* Progress Bar for auto-playing sessions */ .guided-progress-bar-container { width: 80%; max-width: 300px; height: 6px; background: rgba(255,255,255,0.2); border-radius: 3px; margin-bottom: 40px; overflow: hidden; } .guided-progress-bar { height: 100%; background: white; width: 0%; transition: width linear; } /* Mode Selection Menu */ .guided-mode-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 20px; width: 100%; max-width: 800px; } .guided-mode-card { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.3); border-radius: 20px; padding: 24px; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(10px); } .guided-mode-card:hover { background: rgba(255,255,255,0.2); transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .guided-mode-icon { font-size: 48px; margin-bottom: 16px; display: block; } .guided-mode-title { font-size: 18px; font-weight: 500; } .guided-controls { position: absolute; top: 20px; right: 20px; display: flex; gap: 16px; z-index: 10; } .guided-bottom-controls { display: flex; gap: 20px; align-items: center; } .play-pause-btn { width: 64px; height: 64px; border-radius: 50%; background: white; color: var(--primary-dark); border: none; display: flex; align-items: center; justify-content: center; font-size: 32px; cursor: pointer; box-shadow: 0 4px 20px rgba(0,0,0,0.3); transition: transform 0.2s; } .play-pause-btn:hover { transform: scale(1.1); } .play-pause-btn:active { transform: scale(0.95); } /* Pulse Animation for Body Scan */ .body-scan-pulse { position: absolute; width: 300px; height: 300px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); animation: scanPulse 4s infinite; pointer-events: none; } @keyframes scanPulse { 0% { transform: scale(0.8); opacity: 0; } 50% { opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } } /* RTL Fixes for Guided */ html[dir="rtl"] .guided-controls { right: auto; left: 20px; } /* Stress Slider */ .stress-slider-container { width: 100%; max-width: 400px; margin: 40px 0; } .stress-slider { width: 100%; height: 10px; background: rgba(255,255,255,0.3); border-radius: 5px; outline: none; -webkit-appearance: none; } .stress-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 30px; height: 30px; background: white; border-radius: 50%; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,0.2); } .stress-value { font-size: 48px; font-weight: bold; margin-top: 20px; } /* Settings Modal */ .guided-settings-panel { position: absolute; bottom: 20px; left: 20px; background: rgba(0,0,0,0.6); backdrop-filter: blur(10px); padding: 20px; border-radius: 20px; display: none; animation: slideInUp 0.3s ease; } .guided-settings-panel.active { display: block; } .setting-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: white; } /* Summary Card */ .summary-card { background: white; color: var(--on-surface); padding: 40px; border-radius: 24px; text-align: center; animation: zoomIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); } .summary-stat { font-size: 24px; color: var(--primary); margin: 20px 0; font-weight: bold; }