@import "https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;600;700&family=Nunito:wght@400;500;600;700&display=swap";
:root{--primary:#ffe4ec;--secondary:#ffb6c1;--accent:#ff69b4;--accent-dark:#db7093;--background:#fff5f8;--card-bg:#fff;--text-primary:#4a2c2a;--text-secondary:#8b6b6b;--success:#98d8aa;--warning:#ffd93d;--border:#f8d7e0;--shadow:#ff69b426;--shadow-strong:#ff69b440}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--background);color:var(--text-primary);min-height:100vh;font-family:Nunito,sans-serif;overflow-x:hidden}body:before{content:"";opacity:.03;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:Comfortaa,cursive;font-weight:600}.app-container{z-index:1;min-height:100vh;padding-bottom:80px;position:relative}.header{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);text-align:center;box-shadow:0 4px 20px var(--shadow);border-radius:0 0 24px 24px;padding:20px 16px;position:relative;overflow:hidden}.header:before{content:"✿";opacity:.3;font-size:24px;animation:3s ease-in-out infinite float;position:absolute;top:10px;left:20px}.header:after{content:"♪";opacity:.3;font-size:20px;animation:3s ease-in-out 1s infinite float;position:absolute;top:15px;right:20px}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(5deg)}}.header h1{color:var(--text-primary);justify-content:center;align-items:center;gap:8px;font-size:22px;display:flex}.header h1 span{font-size:28px}.header-date{color:var(--text-secondary);margin-top:4px;font-size:14px}.calendar-nav{background:var(--card-bg);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:16px;display:flex}.nav-btn{background:var(--primary);cursor:pointer;width:36px;height:36px;color:var(--text-primary);border:none;border-radius:50%;font-size:16px;transition:all .2s}.nav-btn:hover{background:var(--accent);color:#fff}.view-toggle{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.toggle-view-btn{border:2px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:20px;padding:8px 20px;font-size:13px;font-weight:600;transition:all .2s}.toggle-view-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.nav-btn{background:var(--card-bg);border:2px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.nav-btn:hover{background:var(--primary);transform:scale(1.05)}.nav-btn:active{transform:scale(.95)}.month-year{color:var(--text-primary);font-family:Comfortaa,cursive;font-size:16px;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;padding:0 16px;display:grid}.calendar-header-cell{text-align:center;color:var(--text-secondary);text-transform:uppercase;padding:8px 0;font-size:12px;font-weight:600}.calendar-cell{aspect-ratio:1;background:var(--card-bg);cursor:pointer;border:2px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.calendar-cell.empty{cursor:default;background:0 0}.calendar-cell.today{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary)}.calendar-cell.has-workout:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:4px}.calendar-cell.completed{background:linear-gradient(135deg, var(--success) 0%, #7bc88f 100%)}.calendar-cell.pending{background:linear-gradient(135deg,#fff3e0 0%,#ffe0b2 100%);border:2px solid #ffb74d}.calendar-cell.pending:after{content:"○";color:#f57c00;font-size:14px;font-weight:700;position:absolute}.calendar-cell.completed:after{content:"✓";color:#fff;font-size:16px;font-weight:700;position:absolute}.calendar-cell.modified{border-color:var(--warning)}.calendar-cell:hover:not(.empty){box-shadow:0 4px 12px var(--shadow);transform:scale(1.05)}.calendar-cell .day-number{color:var(--text-primary);font-size:14px;font-weight:600}.month-dot{border-radius:50%;width:8px;height:8px;margin-top:4px}.month-dot.pending-dot{background:#ffb74d}.month-dot.completed{background:#4caf50}.calendar-cell.other-month .day-number{color:var(--text-secondary);opacity:.5}.workout-indicator{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex;position:absolute;bottom:2px}.workout-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.workout-dot.completed{background:#fff}.workout-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:90%;font-size:8px;overflow:hidden}.today-section{padding:16px}.today-card{background:var(--card-bg);box-shadow:0 4px 20px var(--shadow);border:2px solid var(--border);border-radius:24px;padding:20px}.today-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.today-title{color:var(--text-primary);font-family:Comfortaa,cursive;font-size:18px}.today-subtitle{color:var(--text-secondary);font-size:14px}.workout-type-badge{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);color:#fff;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600}.section-title{color:var(--text-primary);align-items:center;gap:8px;margin:20px 0 12px;font-family:Comfortaa,cursive;font-size:16px;display:flex}.section-title:before{content:"•";color:var(--accent);font-size:20px}.exercise-list{flex-direction:column;gap:12px;display:flex}.exercise-card{background:var(--primary);cursor:pointer;border:2px solid var(--border);border-radius:16px;padding:16px;transition:all .2s}.exercise-card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.exercise-card.expanded{background:var(--card-bg)}.exercise-header{justify-content:space-between;align-items:center;display:flex}.exercise-name{color:var(--text-primary);font-size:15px;font-weight:600}.exercise-meta{color:var(--text-secondary);margin-top:4px;font-size:12px}.exercise-toggle{background:var(--secondary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:transform .2s;display:flex}.exercise-card.expanded .exercise-toggle{transform:rotate(180deg)}.exercise-details{border-top:1px solid var(--border);margin-top:12px;padding-top:12px;display:none}.exercise-card.expanded .exercise-details{animation:.2s slideDown;display:block}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.exercise-description{color:var(--text-secondary);margin-bottom:12px;font-size:14px;line-height:1.5}.exercise-sets-reps{gap:16px;margin-bottom:12px;display:flex}.set-rep-item{background:var(--primary);border-radius:12px;padding:8px 16px;font-size:13px}.set-rep-item strong{color:var(--accent-dark)}.youtube-btn{color:#fff;background:linear-gradient(135deg,red 0%,#c00 100%);border-radius:20px;align-items:center;gap:8px;margin-top:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.youtube-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff00004d}.exercise-tips{border-left:3px solid var(--warning);background:#fff9e6;border-radius:12px;margin-top:12px;padding:12px}.exercise-tips-title{color:var(--text-primary);margin-bottom:6px;font-size:12px;font-weight:700}.exercise-tips ul{color:var(--text-secondary);padding-left:16px;font-size:13px}.exercise-tips li{margin-bottom:4px}.complete-btn{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);color:#fff;cursor:pointer;border:none;border-radius:24px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:20px;padding:16px 24px;font-family:Comfortaa,cursive;font-size:16px;font-weight:600;transition:all .2s;display:flex}.complete-btn:hover{box-shadow:0 4px 20px var(--shadow-strong);transform:scale(1.02)}.complete-btn:active{transform:scale(.98)}.complete-btn.completed{background:linear-gradient(135deg, var(--success) 0%, #7bc88f 100%)}.complete-btn.confetti{animation:.5s confetti}@keyframes confetti{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.notes-section{margin-top:16px}.notes-input{background:var(--primary);border:2px solid var(--border);width:100%;color:var(--text-primary);resize:vertical;border-radius:16px;min-height:60px;padding:12px 16px;font-family:Nunito,sans-serif;font-size:14px;transition:border-color .2s}.notes-input:focus{border-color:var(--accent);outline:none}.notes-input::placeholder{color:var(--text-secondary)}.feelings-section{background:var(--card-bg);border:2px solid var(--border);border-radius:20px;margin-top:20px;padding:16px}.feelings-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-family:Comfortaa,cursive;font-size:16px;display:flex}.emoji-rating{justify-content:space-around;margin-bottom:16px;display:flex}.emoji-btn{cursor:pointer;opacity:.5;filter:grayscale();background:0 0;border:none;font-size:32px;transition:transform .2s}.emoji-btn:hover{transform:scale(1.2)}.emoji-btn.active{opacity:1;filter:grayscale(0%);transform:scale(1.1)}.feelings-textarea{background:var(--primary);border:2px solid var(--border);width:100%;color:var(--text-primary);resize:vertical;border-radius:16px;min-height:80px;padding:12px 16px;font-family:Nunito,sans-serif;font-size:14px}.feelings-textarea:focus{border-color:var(--accent);outline:none}.save-feelings-btn{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:20px;width:100%;margin-top:12px;padding:12px 24px;font-family:Comfortaa,cursive;font-size:14px;font-weight:600;transition:all .2s}.save-feelings-btn:hover{transform:scale(1.02)}.bottom-nav{background:var(--card-bg);box-shadow:0 -4px 20px var(--shadow);z-index:100;border-radius:24px 24px 0 0;justify-content:space-around;padding:12px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{cursor:pointer;background:0 0;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;transition:all .2s;display:flex}.nav-item.active{background:var(--primary)}.nav-item-icon{font-size:24px}.nav-item-label{color:var(--text-secondary);font-size:12px;font-weight:600}.nav-item.active .nav-item-label{color:var(--accent)}.no-workout-card{background:var(--card-bg);text-align:center;box-shadow:0 4px 20px var(--shadow);border-radius:24px;padding:40px 20px}.no-workout-icon{margin-bottom:16px;font-size:48px}.no-workout-title{color:var(--text-primary);margin-bottom:8px;font-family:Comfortaa,cursive;font-size:18px}.no-workout-text{color:var(--text-secondary);font-size:14px}.history-section{padding:16px}.history-card{background:var(--card-bg);box-shadow:0 2px 10px var(--shadow);border:2px solid var(--border);border-radius:16px;margin-bottom:12px;padding:16px}.history-date{color:var(--text-primary);margin-bottom:8px;font-weight:600}.history-status{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.history-status.completed{color:var(--success)}.history-feeling{margin-top:8px;font-size:20px}.history-note{color:var(--text-secondary);margin-top:8px;font-size:13px;font-style:italic}.streak-display{background:linear-gradient(135deg, var(--warning) 0%, #ffe066 100%);border-radius:16px;justify-content:center;align-items:center;gap:8px;margin:16px;padding:12px;display:flex}.streak-icon{font-size:24px}.streak-count{color:var(--text-primary);font-family:Comfortaa,cursive;font-size:18px;font-weight:700}.streak-label{color:var(--text-secondary);font-size:14px}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);border-radius:24px 24px 0 0;width:100%;max-height:80vh;padding:24px;animation:.3s slideUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-title{color:var(--text-primary);font-family:Comfortaa,cursive;font-size:18px}.modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:24px}.success-toast{background:var(--success);color:#fff;box-shadow:0 4px 20px var(--shadow-strong);z-index:300;border-radius:20px;padding:12px 24px;font-weight:600;animation:.3s toastIn,.3s 2s forwards toastOut;position:fixed;top:20px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(-100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-100%)}}.rest-day-card{background:linear-gradient(135deg, var(--primary) 0%, #e8f4e8 100%);text-align:center;box-shadow:0 4px 20px var(--shadow);border:2px solid var(--success);border-radius:24px;padding:40px 20px}.rest-icon{margin-bottom:16px;font-size:48px}.rest-title{color:var(--text-primary);margin-bottom:8px;font-family:Comfortaa,cursive;font-size:18px}.rest-text{color:var(--text-secondary);font-size:14px;line-height:1.6}.duration-badge{background:var(--secondary);color:#fff;border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.video-modal{z-index:1000;background:#000000e6;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.video-modal-content{aspect-ratio:16/9;background:#000;border-radius:16px;width:90%;max-width:600px;position:relative;overflow:hidden}.video-modal-content iframe{border:none;width:100%;height:100%}.close-video{cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex;position:absolute;top:-40px;right:0}.add-exercise-btn{background:var(--primary);width:100%;color:var(--accent-dark);border:2px dashed var(--accent);cursor:pointer;border-radius:16px;margin-top:16px;padding:16px;font-family:Comfortaa,cursive;font-size:14px;font-weight:600;transition:all .2s}.add-exercise-btn:hover{background:var(--accent);color:#fff}.add-exercise-form{background:var(--primary);border:2px solid var(--accent);border-radius:16px;margin-top:16px;padding:20px}.add-exercise-form h4{color:var(--text-primary);margin-bottom:16px;font-family:Comfortaa,cursive;font-size:16px}.add-exercise-form input,.add-exercise-form textarea{background:var(--card-bg);border:2px solid var(--border);width:100%;color:var(--text-primary);border-radius:12px;margin-bottom:12px;padding:12px 16px;font-family:Nunito,sans-serif;font-size:14px}.add-exercise-form input:focus,.add-exercise-form textarea:focus{border-color:var(--accent);outline:none}.add-exercise-form .form-row{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.form-buttons{gap:12px;margin-top:16px;display:flex}.save-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-family:Comfortaa,cursive;font-size:14px;font-weight:600}.cancel-btn{color:var(--text-secondary);border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;flex:1;padding:12px;font-family:Comfortaa,cursive;font-size:14px;font-weight:600}.exercise-card.custom{border-color:var(--warning);background:linear-gradient(135deg,#fff9e6 0%,#fff3d0 100%)}.custom-badge{margin-left:6px;font-size:12px}.remove-exercise-btn{color:#ff6b6b;cursor:pointer;background:#ffe4e4;border:none;border-radius:12px;margin-top:12px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s}.remove-exercise-btn:hover{color:#fff;background:#ff6b6b}.celebration-modal{z-index:1000;background:linear-gradient(135deg,#ff69b4f2 0%,#db7093f2 100%);justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.celebration-content{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:400px;padding:32px 24px;animation:.5s celebrateIn;position:relative;box-shadow:0 20px 60px #0000004d}@keyframes celebrateIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.close-celebration{background:var(--primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex;position:absolute;top:16px;right:16px}.celebration-header{margin-bottom:20px}.celebration-emoji{margin-bottom:8px;font-size:48px;animation:1s infinite bounce;display:block}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.celebration-header h2{color:var(--accent);margin-bottom:4px;font-family:Comfortaa,cursive;font-size:22px}.celebration-subtitle{color:var(--text-secondary);font-size:14px}.celebration-cat{background:var(--primary);border-radius:16px;justify-content:center;align-items:center;min-height:180px;margin:20px 0;display:flex;overflow:hidden}.cat-image{object-fit:cover;border-radius:16px;width:100%;height:200px}.cat-loading{color:var(--accent);padding:40px;font-size:16px}.cat-fallback{padding:40px;font-size:64px}.celebration-quote{background:linear-gradient(135deg, var(--primary) 0%, #fff9e6 100%);border-left:4px solid var(--accent);border-radius:16px;margin-bottom:20px;padding:20px}.celebration-quote blockquote{color:var(--text-primary);margin:0 0 8px;font-size:15px;font-style:italic;line-height:1.6}.celebration-quote cite{color:var(--accent-dark);font-size:13px;font-style:normal}.celebration-btn{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);color:#fff;cursor:pointer;border:none;border-radius:24px;width:100%;padding:16px 32px;font-family:Comfortaa,cursive;font-size:16px;font-weight:600;transition:all .2s}.celebration-btn:hover{box-shadow:0 4px 20px var(--shadow-strong);transform:scale(1.02)}.quick-actions{justify-content:center;gap:16px;margin-bottom:8px;padding:12px 16px;display:flex}.quick-action-btn{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:all .2s;display:flex}.quick-action-btn:hover{border-color:var(--accent);box-shadow:0 4px 12px var(--shadow);transform:scale(1.1)}.playlist-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.playlist-item{background:var(--primary);color:var(--text-primary);border-radius:12px;align-items:center;gap:12px;padding:12px;text-decoration:none;transition:all .2s;display:flex}.playlist-item:hover{background:var(--accent);color:#fff}.playlist-icon{font-size:24px}.playlist-info{flex-direction:column;display:flex}.playlist-info strong{font-size:14px}.playlist-info span{color:var(--text-secondary);font-size:12px}.playlist-item:hover .playlist-info span{color:#fffc}.meditation-list{flex-direction:column;gap:16px;max-height:400px;margin-top:16px;display:flex;overflow-y:auto}.meditation-card{background:var(--primary);border-radius:16px;padding:16px}.meditation-card h4{color:var(--text-primary);margin-bottom:4px;font-family:Comfortaa,cursive}.meditation-duration{color:var(--accent);font-size:12px}.meditation-card p{color:var(--text-secondary);margin:8px 0;font-size:13px}.meditation-steps{flex-direction:column;gap:8px;margin-top:12px;display:flex}.step-item{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:12px;display:flex}.step-number{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:flex}.nutrition-list{flex-direction:column;gap:12px;max-height:400px;margin-top:16px;display:flex;overflow-y:auto}.nutrition-card{background:var(--primary);border-radius:12px;align-items:flex-start;gap:12px;padding:12px;display:flex}.nutrition-icon{flex-shrink:0;font-size:24px}.nutrition-content h4{color:var(--text-primary);margin-bottom:4px;font-family:Comfortaa,cursive;font-size:14px}.nutrition-content p{color:var(--text-secondary);font-size:12px;line-height:1.4}.settings-list{flex-direction:column;gap:16px;margin-top:16px;display:flex}.setting-item{background:var(--primary);border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.setting-item span{color:var(--text-primary);font-size:14px}.toggle-btn{border:2px solid var(--border);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .2s}.toggle-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.app-info{text-align:center;border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.app-info p{color:var(--text-primary);font-size:14px}.notification-setting{flex-direction:column;align-items:flex-start;gap:8px}.notification-label{flex-direction:column;gap:2px;display:flex}.notification-controls{align-items:center;gap:12px;width:100%;display:flex}.time-picker{border:2px solid var(--border);color:var(--text-primary);background:#fff;border-radius:12px;padding:8px 12px;font-family:inherit;font-size:14px}.time-picker:focus{border-color:var(--accent);outline:none}@media (min-width:768px){.app-container{max-width:480px;box-shadow:0 0 40px var(--shadow);border-radius:0 0 24px 24px;min-height:100vh;margin:0 auto}.header{border-radius:0}.bottom-nav{border-radius:24px 24px 0 0;max-width:480px;left:50%;transform:translate(-50%)}}
