@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600&family=Open+Sans&display=swap);*,:after,:before{box-sizing:border-box}body,html{background-color:#eae6f8;font-family:Open Sans,sans-serif}.homepage-container,body,html{overflow-x:hidden;overflow-y:scroll}.homepage-container{height:100vh;width:100%}.section{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:80px 20px;position:relative;text-align:center;width:100vw}.section-title{color:#2e1f49;font-family:Playfair Display,serif;font-size:3.5rem;margin-bottom:20px;transition:all .8s ease}.section-content,.section-title{opacity:0;transform:translateY(20px)}.section-content{color:#444;font-size:1.3rem;max-width:800px;transition:all 1s ease}.section.visible .section-content,.section.visible .section-title{opacity:1;transform:translateY(0)}.hero{background-color:#eae6f8;color:#2e1f49}.overlay{max-width:800px;padding:20px}.fade-in{animation:fadeIn 1s ease-in;font-family:Playfair Display,serif;font-size:4rem;margin-bottom:20px}.fade-in-delay{animation:fadeIn 1.5s ease-in;font-size:2rem}.fade-in-delay2{animation:fadeIn 2s ease-in;font-size:1.2rem;margin-top:10px}.cta-button{background-color:#6a5acd;border:none;border-radius:12px;box-shadow:0 4px 14px #0003;color:#fff;cursor:pointer;font-size:1.1rem;margin-top:2rem;padding:1rem 2.5rem;transition:all .3s ease}.cta-button:hover{background-color:#836fff;box-shadow:0 6px 18px #0000004d;transform:translateY(-3px)}.soulveil-intro{background-color:#fef6e4}.writing-benefits{background-color:#dbe7e4}.features-section{background-color:#f4f1de}.contact-section{background-color:#a3c4bc;color:#fff}.contact-section a{color:#fff;font-weight:700;text-decoration:underline}.modal{background-color:#fff;box-shadow:0 4px 15px #0003;color:#2e1f49;color-scheme:light;max-width:400px;padding:2rem;width:90%}.modal input[type=email],.modal input[type=password],.modal input[type=text]{background-color:#fefefe;border:1px solid #ccc;border-radius:8px;color:#2e1f49;font-size:1rem;margin-bottom:1rem;padding:.8rem;width:100%}.modal input::placeholder{color:#888}.modal-buttons button{background-color:#6a5acd;border-radius:8px;font-size:1rem;padding:.8rem 1rem;transition:background-color .3s ease}.modal-buttons button:hover{background-color:#836fff}@media (max-width:768px){.fade-in{font-size:2.5rem}.fade-in-delay{font-size:1.5rem}.section-title{font-size:2.5rem}.section-content{font-size:1.1rem}}.footer{align-items:center;background-color:#1a1a1a;bottom:0;color:#fff;display:flex;flex-wrap:wrap;font-size:.95rem;justify-content:space-between;padding:1.5rem 2rem;position:sticky;width:100%;z-index:10}.footer-left h2{color:#fff;font-size:1.5rem;margin:0 0 .3rem}.footer-left p{color:#ccc;font-size:.85rem;margin:0}.footer-center{display:flex;flex-wrap:wrap;gap:1.2rem}.footer-center a{color:#ccc;font-weight:500;text-decoration:none;transition:color .3s ease}.footer-center a:hover{color:#fff}.footer-right{display:flex;gap:1rem}.footer-right a{color:#fff;font-size:1.2rem;transition:transform .3s ease,color .3s ease}.footer-right a:hover{color:#836fff;transform:scale(1.2)}.footer-bottom{color:#888;font-size:.75rem;margin-top:1rem;text-align:center;width:100%}@media (max-width:768px){.footer{align-items:flex-start;flex-direction:column;gap:1rem}.footer-center,.footer-right{justify-content:flex-start}}.modal-overlay{background:#0009;height:100vh;width:100vw;z-index:9999}.login-modal{animation:fadeInUp .3s ease;background-color:#fff!important;border-radius:12px;box-shadow:0 8px 30px #0000004d;box-sizing:border-box;color:#2e1f49!important;color-scheme:light!important;font-family:Open Sans,sans-serif;max-width:400px;padding:40px;position:relative;width:90%}.close-btn{color:#333!important;font-size:1.5rem;right:15px;top:12px;transition:color .3s ease}.close-btn:hover{color:#6a5acd!important}.modal-title{color:#2e1f49!important;font-family:Playfair Display,serif;font-size:1.6rem;margin-bottom:20px;text-align:center}.login-form{display:flex;flex-direction:column;gap:15px}.login-form input{background-color:#fefefe!important;border:1px solid #ccc!important;border-radius:8px;box-sizing:border-box;color:#2e1f49!important;font-size:1rem;outline:none;padding:12px}.login-form input::placeholder{color:#888!important}.login-form button{background-color:#6a5acd!important;border:none;border-radius:8px;box-shadow:0 4px 14px #0003;color:#fff!important;cursor:pointer;font-size:1rem;padding:12px;transition:background .3s ease}.login-form button:hover{background-color:#836fff!important}.password-wrapper{position:relative}.password-wrapper input{padding-right:40px;width:100%}.toggle-eye{color:#6a5acd;cursor:pointer;font-size:1.2rem;position:absolute;right:10px;top:12px;transition:color .3s ease}.toggle-eye:hover{color:#836fff}.signup-text{color:#2e1f49!important;font-size:.95rem;text-align:center}.signup-text span{color:#6a5acd!important;cursor:pointer;font-weight:700;text-decoration:underline}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:500px){.login-modal{padding:30px 20px}.modal-title{font-size:1.3rem}.login-form button,.login-form input{font-size:.95rem}}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.dashboard-page{background:var(--background-color);color:var(--text-color);font-family:Segoe UI,sans-serif;min-height:100vh;padding:2rem}.dashboard-title{align-items:center;display:flex;gap:10px;margin-bottom:1.5rem}.notion-title{background:#0000;border:none;border-bottom:2px solid var(--border-color);color:var(--text-color);font-size:1.5rem;outline:none;padding:.2rem;width:100%}.dashboard-greeting{font-size:1.4rem;font-weight:600;margin-bottom:1.5rem}.dashboard-greeting span{color:var(--primary-color)}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.calendar-section,.events-section{background:var(--surface-color);border-radius:1rem;box-shadow:0 4px 10px var(--shadow-color);color:var(--text-color);padding:1.2rem}.calendar-section h3,.events-section h3,.todos-section h3{align-items:center;color:var(--text-dark-contrast);display:flex;font-size:1.1rem;gap:8px;margin-bottom:.8rem}.events-section ul{padding-left:1rem}.events-section input{background:#0000;border:none;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:.95rem;margin-bottom:6px;padding:4px;width:100%}.events-section input::placeholder{color:var(--input-placeholder-color)}.events-section button{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:6px;padding:6px 10px}.events-section button:hover{background:var(--primary-dark-color)}.todos-section{background:var(--background-color);border-radius:1rem;color:var(--text-color);grid-column:1/-1;padding:1.5rem}.todo-week{display:flex;flex-wrap:nowrap;gap:1rem;justify-content:space-between;overflow-x:auto;width:100%}.todo-day{background:var(--surface-color);border-radius:.75rem;box-shadow:0 4px 10px var(--shadow-color);flex:1 0 13%;min-width:120px;padding:.8rem}.todo-day strong{color:var(--text-dark-contrast);display:block;font-size:.95rem;margin-bottom:.5rem}.todo-day textarea{background:var(--input-bg-color);border:none;border-radius:.5rem;color:var(--text-color);font-size:.85rem;height:120px;padding:.5rem;resize:none;width:100%}.todo-day textarea::placeholder{color:var(--input-placeholder-color)}.spotify-widget{background:var(--surface-color);border-radius:1rem;box-shadow:0 4px 10px var(--shadow-color);margin-top:1.5rem;padding:1rem}.spotify-header{align-items:center;display:flex;justify-content:space-between}.edit-icon{color:var(--primary-color);cursor:pointer}.playlist-input input{background-color:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:8px;color:var(--text-color);margin-top:.5rem;padding:.5rem;width:100%}.playlist-input input::placeholder{color:var(--input-placeholder-color)}.playlist-input button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:.5rem;padding:.4rem .8rem}.playlist-input button:hover{background:var(--primary-dark-color)}.events-section ul{list-style:none;padding:0}.events-section li{align-items:center;display:flex;margin-bottom:.5rem}.date-pill{background:var(--light-active-bg);border-radius:4px;color:var(--primary-color);font-size:.85rem;margin-right:8px;padding:2px 6px}.add-event-btn{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:8px;padding:6px 10px}.add-event-btn:hover{background:var(--primary-dark-color)}.react-calendar__tile[title]{position:relative}.react-calendar__tile abbr{text-decoration:none!important}.modal-overlay{background:var(--shadow-color);height:100%;width:100%}.modal{background:var(--surface-color);border-radius:12px;box-shadow:0 4px 15px var(--shadow-color);color:var(--text-color);display:flex;flex-direction:column;gap:.8rem;padding:1.6rem;width:300px}.modal input[type=date],.modal input[type=text]{background:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:6px;color:var(--text-color);padding:.6rem;width:100%}.modal-buttons{display:flex;gap:.5rem;justify-content:space-between}.modal-buttons button{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;padding:.6rem}.modal-buttons button:hover{background:var(--primary-dark-color)}.event-tooltip{background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 2px 6px var(--shadow-color);color:var(--text-color);display:none;font-size:12px;left:50%;opacity:0;padding:6px;position:absolute;top:calc(100% + 5px);transform:translateX(-50%);transition:opacity .2s ease,visibility .2s ease;visibility:hidden;white-space:nowrap;z-index:10}.react-calendar__tile:hover .event-tooltip{display:block;opacity:1;visibility:visible}.events-section li .delete-icon,.events-section li .edit-icon{color:var(--text-light-color);cursor:pointer;margin-left:8px;transition:color .2s ease}.events-section li .edit-icon:hover{color:var(--primary-color)}.events-section li .delete-icon:hover{color:#ef4444}.react-calendar{box-shadow:0 4px 10px var(--shadow-color);font-family:Segoe UI,sans-serif;padding:1.2rem;transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.react-calendar__navigation{background-color:var(--surface-color);color:var(--text-color)}.react-calendar__navigation__label{color:var(--text-dark-contrast)}.react-calendar__month-view__weekdays__weekday,.react-calendar__navigation__arrow{color:var(--text-light-color)}.react-calendar__tile.has-event{border-bottom:2px solid var(--primary-color);padding-bottom:calc(.7em - 2px)}.react-calendar__tile:not(.has-event){padding-bottom:.7em}.react-calendar__century-view__decades__decade,.react-calendar__decade-view__years__year,.react-calendar__year-view__months__month{background-color:var(--surface-color)}.editor-wrapper{align-items:center;box-sizing:border-box;display:flex;font-family:Inter,sans-serif;height:100%;justify-content:center;padding:1rem;transition:background .3s ease;width:100%}.journal-sheet{background:var(--surface-color);border:1px solid var(--border-color-light);border-radius:16px;box-shadow:var(--shadow-color-journal);display:flex;flex-direction:column;gap:20px;height:calc(100% - 2rem);max-width:900px;overflow:hidden;padding:1.5rem 2rem;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;width:100%}.journal-content{flex-grow:1;overflow-y:auto;padding-right:6px}.editor-header{display:flex;flex-direction:column;flex-shrink:0;gap:.5rem}.entry-title{background:#0000;border:none;border-bottom:2px solid var(--primary-color);font-size:1.3rem;outline:none;padding-bottom:.3rem;transition:color .3s ease,border-color .3s ease;width:100%}.entry-title::placeholder{color:var(--text-light-color)}.entry-meta{align-items:center;display:flex;justify-content:space-between}.entry-date,.format-btn{font-size:.95rem}.format-btn{background:none;border:none;color:var(--text-color);cursor:pointer;font-weight:700;padding:0;transition:color .2s ease}.format-btn:hover{color:var(--primary-color)}.soul-prompt{color:var(--text-light-color);font-style:italic;margin-top:8px;text-align:center;transition:color .3s ease}.goal-input,.mood-tracking{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.goal-input label,.mood-tracking label{color:var(--text-color);font-size:.95rem;font-weight:600;transition:color .3s ease}.mood-dropdown{background:var(--input-bg-color);border-radius:8px;color:var(--text-color);cursor:pointer;display:inline-block;padding:8px 12px;position:relative;transition:background .2s ease;-webkit-user-select:none;user-select:none}.mood-dropdown:hover{background:var(--input-bg-hover-color)}.mood-options{background:var(--surface-color);border:1px solid var(--border-color-light);border-radius:8px;box-shadow:var(--shadow-color-journal-dropdown);left:0;list-style:none;margin:0;overflow:hidden;padding:4px 0;position:absolute;right:0;top:110%;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;z-index:10}.mood-options li{color:var(--text-color);cursor:pointer;padding:8px 12px;transition:background .15s ease}.mood-options li:hover{background:var(--input-bg-hover-color)}.goal-input input{background:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:8px;color:var(--text-color);font-size:1rem;outline:none;padding:10px 14px;transition:border-color .2s ease,background .3s ease,color .3s ease;width:100%}.goal-input input::placeholder{color:var(--text-light-color)}.goal-input input:focus{border-color:var(--primary-color);box-shadow:0 0 5px var(--primary-shadow-color)}.journal-textarea{background:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:8px;color:var(--text-color);flex-grow:1;font-family:Inter,sans-serif;font-size:1rem;max-height:220px;min-height:160px;outline:none;padding:1rem;resize:vertical;transition:border-color .2s ease,background .3s ease,color .3s ease;width:100%}.journal-textarea::placeholder{color:var(--text-light-color)}.journal-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 5px var(--primary-shadow-color)}.editor-footer{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-top:auto}.autosave-indicator{color:var(--primary-color);flex-grow:1;font-size:.9rem;font-weight:600;line-height:1.6;padding-left:5px;transition:color .3s ease}.editor-buttons{display:flex;gap:12px}.save-button{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1rem;font-weight:600;padding:.6rem 1.4rem;transition:background-color .2s ease}.save-button:hover{background-color:var(--primary-dark-color)}.new-entry-button{background-color:initial;border:1px solid var(--primary-color);border-radius:8px;color:var(--primary-color);cursor:pointer;font-size:1rem;font-weight:600;padding:.6rem 1.4rem;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.new-entry-button:hover{background-color:var(--primary-color);color:var(--button-text-color)}.cancel-button{background-color:initial;border:1px solid var(--border-color-light);border-radius:8px;color:var(--text-light-color);cursor:pointer;font-size:1rem;font-weight:600;padding:.6rem 1.4rem;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.cancel-button:hover{background-color:var(--input-bg-hover-color);color:var(--text-color)}.format-panel{background:var(--surface-color);border:1px solid var(--border-color-light);border-radius:8px;box-shadow:var(--shadow-color-journal-dropdown);padding:1rem;position:fixed;right:40px;top:80px;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;width:240px;z-index:1000}.format-panel h4{color:var(--text-color);font-size:1rem;font-weight:700;margin-top:0;transition:color .3s ease}.format-options{display:flex;flex-direction:column;gap:10px}.format-options input,.format-options select{background:var(--input-bg-color);border:1px solid var(--input-border-color);color:var(--text-color);font-size:.9rem;padding:6px 8px;transition:background .3s ease,color .3s ease,border-color .3s ease;width:100%}.format-options input::placeholder{color:var(--text-light-color)}.toggle-options{display:flex;gap:8px}.toggle-options button{background:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:6px;color:var(--text-color);cursor:pointer;font-size:1rem;font-weight:700;height:36px;transition:all .2s ease;width:36px}.toggle-options button:hover{background:var(--input-bg-hover-color);border-color:var(--border-color)}.toggle-options button.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--button-text-color)}.toggle-options button.active:hover{background:var(--primary-dark-color)}.toggle-options button:nth-child(2){font-style:italic}.toggle-options button:nth-child(3){text-decoration:underline}@media (max-width:768px){.journal-sheet{height:calc(100% - 2rem);padding:1rem}.editor-footer{align-items:stretch;flex-direction:column;gap:12px}.editor-buttons{justify-content:center}.format-panel{right:5%;top:90px;width:90%}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animated-background{animation:gradientShift 10s ease infinite;background-size:600% 600%}.theme-editor-panel{background:var(--surface-color-secondary);border-radius:8px;box-shadow:var(--shadow-color);margin-top:1rem;padding:1rem;transition:background .3s ease,box-shadow .3s ease}.theme-options button.active{box-shadow:0 0 8px 2px var(--primary-shadow-color)}.theme-options button{color:var(--text-color);font-weight:600;transition:color .3s ease}.close-theme-editor{background:var(--danger-color);border:none;border-radius:6px;color:var(--button-text-color);cursor:pointer;margin-top:1rem;padding:6px 12px;transition:background .2s ease}.close-theme-editor:hover{background:var(--danger-dark-color)}.customize-theme-btn{background-color:var(--accent-color);border:none;border-radius:6px;color:var(--button-text-color);cursor:pointer;font-size:.9rem;font-weight:500;margin-top:1rem;padding:8px 14px;transition:background-color .2s ease}.customize-theme-btn:hover{background-color:var(--accent-dark-color)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.modal-content{background:var(--surface-color);border-radius:12px;box-shadow:var(--shadow-color);color:var(--text-color);max-width:400px;padding:2rem;text-align:center;transition:background .3s ease,color .3s ease,box-shadow .3s ease;width:90%}.modal-content h3{color:var(--primary-color);font-size:1.5rem;margin-bottom:1rem;margin-top:0}.modal-content p{line-height:1.5;margin-bottom:1.5rem}.modal-close-btn{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.journal-editor-page{background:var(--page-bg-color);box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:1rem;height:100%;overflow-y:auto;padding:1rem;width:100%}.editor-topbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.editor-topbar .date{color:var(--text-light);font-size:1rem;font-weight:500}.editor-actions{align-items:center;display:flex;gap:.5rem}.journal-editor-page textarea{background:var(--surface-color);border:1px solid var(--border-color-light);border-radius:8px;color:var(--text-main);font-family:inherit;font-size:1rem;min-height:300px;padding:1rem;resize:vertical;width:100%}.mood-selector{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.mood-icon{background:var(--background-light);border:1px solid #0000;border-radius:8px;cursor:pointer;padding:.5rem;transition:all .2s ease}.mood-icon.selected{background:var(--accent-color-fade);border-color:var(--accent-color)}.modal-close-btn:hover{background-color:var(--primary-dark-color)}.journal-sheet .entry-title{color:var(--text-color)}:root{--surface-color:linear-gradient(135deg,#f0f4f8,#fff);--surface-color-secondary:#fafafa;--text-color:#2e2e2e;--text-light-color:#777;--input-bg-color:#fafafa;--input-border-color:#ddd;--input-border-focus-color:#aaa;--border-color-light:#ddd;--border-color-dark:#bbb;--shadow-color:0 4px 16px #0000000d;--card-shadow-color:0 2px 6px #00000008;--button-bg-color:#fff;--button-bg-hover-color:#f0f0f0;--accent-dark-color:#5845ad;--review-border-color:#b9c8e8;--review-bg-color:#eef3ff;--review-text-color:#3256a8;--review-bg-hover-color:#dbe5ff;--review-border-hover-color:#94aee5;--danger-color:#c00;--danger-border-color:#e0b4b4;--danger-bg-hover-color:#ffecec}.dark-mode{--surface-color-secondary:#252525;--input-border-color:#555;--input-border-focus-color:#888;--border-color:#444;--border-color-light:#404040;--border-color-dark:#666;--shadow-color:0 4px 16px #0006;--card-shadow-color:0 2px 6px #0003;--button-text-color:#fff;--button-bg-color:#4a4a4a;--button-bg-hover-color:#5a5a5a;--accent-color:#8877f0;--accent-dark-color:#7060d8;--review-border-color:#4a5d85;--review-bg-color:#3a4a75;--review-text-color:#a0c0ff;--review-bg-hover-color:#4a5a85;--review-border-hover-color:#5a6d95;--danger-color:#e57373;--danger-border-color:#6a3a3a;--danger-bg-hover-color:#5a2a2a}.entries-wrapper{background:linear-gradient(135deg,#f0f4f8,#fff);background:var(--surface-color);border-radius:16px;box-shadow:0 4px 16px #0000000d;box-shadow:var(--shadow-color);font-family:Inter,sans-serif;margin:2rem auto;max-width:800px;padding:2rem;transition:background .3s ease,color .3s ease,box-shadow .3s ease}.entries-wrapper,.entries-wrapper h2{color:#2e2e2e;color:var(--text-color)}.entries-wrapper h2{font-size:1.5rem;margin-bottom:1rem;text-align:center;transition:color .3s ease}.search-bar{background:#fafafa;background:var(--input-bg-color);border:1px solid #ddd;border:1px solid var(--input-border-color);border-radius:8px;color:#2e2e2e;color:var(--text-color);display:block;font-size:1rem;margin:0 auto 2rem;max-width:400px;outline:none;padding:10px 14px;transition:border-color .2s ease,background .3s ease,color .3s ease;width:100%}.search-bar::placeholder{color:#777;color:var(--text-light-color)}.search-bar:focus{border-color:#aaa;border-color:var(--input-border-focus-color)}.no-entries{color:#777;color:var(--text-light-color);font-style:italic;margin-top:2rem;text-align:center;transition:color .3s ease}.entry-list{display:flex;flex-direction:column;gap:1.5rem}.entry-card{background-color:#fafafa;background-color:var(--surface-color-secondary);border:1px solid #ddd;border:1px solid var(--border-color-light);border-radius:10px;box-shadow:0 2px 6px #00000008;box-shadow:var(--card-shadow-color);padding:1.25rem;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.entry-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.entry-title{color:#2e2e2e;color:var(--text-color);font-size:1.2rem;font-weight:600;margin:0 0 4px}.entry-date,.entry-title{transition:color .3s ease}.entry-date{color:#777;color:var(--text-light-color);font-size:.9rem;margin-bottom:10px}.entry-content{color:#2e2e2e;color:var(--text-color);font-size:1rem;line-height:1.6;margin-top:.5rem;transition:color .3s ease;white-space:pre-wrap}.entry-actions{display:flex;gap:8px}.delete-btn,.edit-btn{background:#fff;background:var(--button-bg-color);border:1px solid #ccc;border:1px solid var(--border-color);border-radius:6px;color:#2e2e2e;color:var(--text-color)}.delete-btn,.edit-btn,.review-btn{cursor:pointer;font-size:.85rem;padding:6px 10px;transition:all .2s ease}.review-btn{background:#eef3ff;background:var(--review-bg-color);border:1px solid #b9c8e8;border:1px solid var(--review-border-color);border-radius:6px;color:#3256a8;color:var(--review-text-color)}.review-btn:hover{background-color:#dbe5ff;background-color:var(--review-bg-hover-color);border-color:#94aee5;border-color:var(--review-border-hover-color)}.edit-btn:hover{background-color:#f0f0f0;background-color:var(--button-bg-hover-color);border-color:#bbb;border-color:var(--border-color-dark)}.delete-btn{border-color:#e0b4b4;border-color:var(--danger-border-color);color:#c00;color:var(--danger-color)}.delete-btn:hover{background-color:#ffecec;background-color:var(--danger-bg-hover-color)}@media (max-width:600px){.entry-card-header{align-items:flex-start;flex-direction:column}.entry-actions{margin-top:8px}}.entries-header{margin-bottom:1rem;text-align:center}.new-entry-btn{background-color:#6a5acd;background-color:var(--accent-color);border:none;border-radius:6px;color:#fff;color:var(--button-text-color);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 14px;transition:background-color .2s ease}.new-entry-btn:hover{background-color:#5845ad;background-color:var(--accent-dark-color)}.date-picker-modal{align-items:center;color:#2e2e2e;color:var(--text-color);display:flex;flex-direction:column;margin-bottom:1rem}.date-picker-modal input[type=date]{background-color:#fafafa;background-color:var(--input-bg-color);border:1px solid #ddd;border:1px solid var(--input-border-color);border-radius:4px;color:#2e2e2e;color:var(--text-color);padding:8px;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.confirm-date-btn{background:#6a5acd;background:var(--accent-color);border:none;border-radius:6px;color:#fff;color:var(--button-text-color);cursor:pointer;font-size:.95rem;margin-top:8px;padding:6px 12px;transition:background .2s ease}.confirm-date-btn:hover{background:#5845ad;background:var(--accent-dark-color)}:root{--primary-color:#4caf50;--primary-dark-color:#388e3c;--accent-color:#6a5acd;--button-text-color:#fff;--page-bg-color:linear-gradient(135deg,#f0f4f8,#fff);--surface-color-secondary:#d4d8d;--surface-color-tertiary:#fff;--input-border-focus-color:var(--primary-color);--shadow-color:#0000000f;--card-shadow-color:#00000014;--calendar-nav-text:#222;--calendar-arrow-color:#555;--calendar-weekday-color:#777;--light-hover-bg:#e0e0e0;--light-active-bg:#e8f5e9}.dark-mode{--primary-color:#76d77e;--primary-dark-color:#fff --accent-color:#8877f0;--page-bg-color:#1a1a1a;--surface-color:#1a1a1a;--surface-color-secondary:#2c2f33;--surface-color-tertiary:#1a1a1a;--input-border-focus-color:var(--primary-color);--shadow-color:#0006;--card-shadow-color:#00000040;--calendar-nav-text:#f0f0f0;--calendar-arrow-color:#b0b0b0;--calendar-weekday-color:#b0b0b0;--light-hover-bg:#4a4a4a;--light-active-bg:#2a5a2a}body{background:linear-gradient(135deg,#f0f4f8,#fff);background:var(--page-bg-color);transition:background .3s ease}.loading-message{font-size:1.2rem;margin-top:50px;text-align:center}.gratitude-page,.loading-message{color:#1b1b1f;color:var(--text-color)}.gratitude-page{border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;font-family:Inter,sans-serif;gap:3rem;min-height:100vh;padding:2rem 4rem;transition:background .3s ease,color .3s ease;width:100%}.left-column{display:flex;flex-direction:column;flex-shrink:0;gap:2rem;padding-top:1rem;width:320px}.gratitude-calendar-section{background:#fff;background:var(--surface-color);border-radius:1rem;box-shadow:0 4px 10px #00000014;box-shadow:0 4px 10px var(--card-shadow-color);padding:1.2rem;text-align:center;transition:background .3s ease,box-shadow .3s ease}.gratitude-calendar-section h2{align-items:center;color:#222;color:var(--text-dark-contrast);display:flex;font-size:1.1rem;gap:8px;justify-content:center;margin-bottom:.8rem;transition:color .3s ease}.entries-for-date{flex-grow:1}.gratitude-main-content{display:flex;flex-direction:column;flex-grow:1;margin:0 auto;max-width:900px;padding-top:1rem}.gratitude-page h1{color:#1b1b1f;color:var(--text-color);font-size:2.4rem;margin-bottom:1rem}.daily-quote,.gratitude-page h1{text-align:center;transition:color .3s ease}.daily-quote{color:#555;color:var(--text-light-color);font-size:1.1rem;font-style:italic;margin-bottom:2rem}.gratitude-section{background:#d4d8d;background:var(--surface-color-secondary);border-radius:12px;box-shadow:0 2px 10px #00000014;box-shadow:0 2px 10px var(--card-shadow-color);margin-bottom:2rem;padding:1.5rem 2rem;transition:background .3s ease,box-shadow .3s ease}.gratitude-section h2{color:#222;color:var(--text-dark-contrast);font-size:1.3rem;margin-bottom:1rem;transition:color .3s ease}.gratitude-form textarea{background:#fff;background:var(--input-bg-color);border:1px solid #ccc;border:1px solid var(--border-color);border-radius:8px;color:#1b1b1f;color:var(--text-color);font-size:1rem;outline:none;padding:1rem;resize:vertical;transition:border .2s ease,background .3s ease,color .3s ease;width:100%}.gratitude-form textarea:focus{border-color:#4caf50;border-color:var(--input-border-focus-color)}.gratitude-form textarea::placeholder{color:#555;color:var(--text-light-color)}.gratitude-form button{background:#4caf50;background:var(--primary-color);border:none;border-radius:8px;color:#fff;color:var(--button-text-color);cursor:pointer;font-size:1rem;margin-top:1rem;padding:.6rem 1.4rem;transition:background .3s ease}.gratitude-form button:hover{background:#388e3c;background:var(--primary-dark-color)}.submitted-message{color:#388e3c;color:var(--primary-dark-color);font-size:1rem;margin-top:1rem;transition:color .3s ease}.react-calendar{background-color:#fff;background-color:var(--surface-color);border:1px solid #ccc;border:1px solid var(--border-color);border-radius:1rem;box-shadow:none;color:#1b1b1f;color:var(--text-color);font-family:Inter,sans-serif;max-width:100%;padding:0;transition:background-color .3s ease,color .3s ease,border-color .3s ease;width:100%}.react-calendar__navigation{background-color:initial;border-bottom:1px solid #ccc;border-bottom:1px solid var(--border-color);color:#222;color:var(--calendar-nav-text);height:3em;margin-bottom:1em}.react-calendar__navigation__label{color:#222;color:var(--calendar-nav-text);font-weight:700}.react-calendar__navigation__arrow{background:#0000;color:#555;color:var(--calendar-arrow-color)}.react-calendar__navigation__arrow:hover{background-color:#e0e0e0;background-color:var(--light-hover-bg);border-radius:4px}.react-calendar__month-view__weekdays__weekday{color:#777;color:var(--calendar-weekday-color);font-size:.9em;padding-bottom:.5em;text-decoration:none}.react-calendar__tile{align-items:center;background:#fff;background:var(--surface-color);color:#1b1b1f;color:var(--text-color);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:40px;padding:.7em .5em;position:relative;transition:background-color .2s ease,color .2s ease}.react-calendar .dot{display:none}.react-calendar__tile.has-entry{border-bottom:2px solid #4caf50;border-bottom:2px solid var(--primary-color);padding-bottom:calc(.7em - 2px)}.react-calendar__tile:not(.has-entry){padding-bottom:.7em}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e0e0e0;background-color:var(--light-hover-bg);border-radius:4px;color:#1b1b1f;color:var(--text-color)}.react-calendar__tile--now{background:#e8f5e9;background:var(--light-active-bg);border-radius:4px;color:#4caf50;color:var(--primary-color);font-weight:700}.react-calendar__tile--active{background:#4caf50;background:var(--primary-color);border-radius:4px;color:#fff;color:var(--button-text-color);font-weight:700}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__tile:disabled{color:#555;color:var(--text-light-color)}.react-calendar__tile:disabled{background-color:#fff;background-color:var(--input-bg-color);opacity:.6}.react-calendar__century-view__decades__decade,.react-calendar__decade-view__years__year,.react-calendar__year-view__months__month{background-color:initial;color:#1b1b1f;color:var(--text-color);padding:.8em .5em;transition:background-color .2s ease,color .2s ease}.react-calendar__century-view__decades__decade:enabled:hover,.react-calendar__decade-view__years__year:enabled:hover,.react-calendar__year-view__months__month:enabled:hover{background-color:#e0e0e0;background-color:var(--light-hover-bg);border-radius:4px}.gratitude-list{list-style:none;margin:0;padding:0}.gratitude-list li{background:#fff;background:var(--surface-color-tertiary);border-radius:6px;color:#1b1b1f;color:var(--text-color);font-size:1rem;margin-bottom:.6rem;padding:.8rem 1rem;transition:background .3s ease,color .3s ease}.insight-cards{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:2rem 0;text-align:center}.insight-cards .card{align-items:center;background:#d4d8d;background:var(--surface-color-secondary);border-radius:12px;box-shadow:0 2px 10px #00000014;box-shadow:0 2px 10px var(--card-shadow-color);color:#1b1b1f;color:var(--text-color);display:flex;flex-direction:column;padding:1.4rem 1rem;transition:transform .2s ease,background .3s ease,color .3s ease,box-shadow .3s ease}.insight-cards .card:hover{transform:translateY(-3px)}.insight-cards .card svg{color:#4caf50;color:var(--primary-color);margin-bottom:.6rem;transition:color .3s ease}.insight-cards .card span{color:#555;color:var(--text-light-color);font-size:.95rem;margin-bottom:.3rem;transition:color .3s ease}.insight-cards .card strong{color:#388e3c;color:var(--primary-dark-color);font-size:1.4rem;transition:color .3s ease}@media (max-width:900px){.gratitude-page{flex-direction:column;gap:2rem;padding:2rem}.left-column{padding-top:0;width:100%}.gratitude-calendar-section{padding-top:1.2rem}.gratitude-main-content{margin:0;max-width:100%}.insight-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.settings-container{background:var(--surface-color);border-radius:1rem;box-shadow:0 4px 16px var(--shadow-color);color:var(--text-color);margin:2rem auto;max-width:600px;padding:2rem;position:relative;transition:background .3s ease,color .3s ease,box-shadow .3s ease}.settings-title{color:var(--text-color);font-size:2rem;margin-bottom:1.5rem;text-align:center;transition:color .3s ease}.close-btn{background:#0000;border:none;color:var(--text-color);cursor:pointer;position:absolute;right:1rem;top:1rem;transition:transform .2s ease,color .3s ease}.close-btn:hover{transform:scale(1.1)}.setting-group{margin-bottom:1.5rem}.setting-group label{color:var(--text-light-color);display:block;font-weight:600;margin-bottom:.5rem;transition:color .3s ease}.setting-group input,.setting-group textarea{background-color:var(--input-bg-color);border:1px solid var(--input-border-color);border-radius:.6rem;color:var(--text-color);font-size:1rem;padding:.75rem;resize:vertical;transition:background-color .3s ease,color .3s ease,border-color .3s ease;width:100%}.setting-group input::placeholder,.setting-group textarea::placeholder{color:var(--text-light-color)}.save-btn{background:var(--primary-color);border:none;border-radius:.6rem;color:#fff;cursor:pointer;font-weight:700;padding:.75rem;transition:background .3s ease;width:100%}.save-btn:hover{background:var(--primary-dark-color)}.status-msg{color:var(--text-color);font-weight:500;margin-top:1rem;text-align:center;transition:color .3s ease}.legal-links{display:flex;flex-direction:column;gap:.8rem;margin-top:2rem;text-align:center}.legal-links a{color:var(--link-color);font-size:.95rem;text-decoration:none;transition:color .2s ease}.legal-links a:hover{color:var(--primary-dark-color)}.dark-mode-toggle-group{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.5rem;margin-top:1rem;padding:.75rem 0}.switch{display:inline-block;height:24px;position:relative;width:40px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.2s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:16px;left:4px;width:16px}input:checked+.slider{background-color:var(--primary-color)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider:before{transform:translateX(16px)}:root{--card-bg:#fff;--card-shadow:#00000014;--heading-color:#333;--text-color-dark:#333;--chart-line-color-1:#8884d8;--chart-line-color-2:#82ca9d;--chart-grid-stroke:#ccc;--chart-axis-text:#666;--bar-morning:#4caf50;--bar-afternoon:#ffc107;--bar-evening:#2196f3}.dark-mode{--card-bg:#2c2c2c;--card-shadow:#0000004d;--heading-color:#e0e0e0;--text-color-dark:#f0f0f0;--chart-line-color-1:#a39cfd;--chart-line-color-2:#9ae6b0;--chart-grid-stroke:#555;--chart-axis-text:#b0b0b0;--bar-morning:#66bb6a;--bar-afternoon:#ffd54f;--bar-evening:#64b5f6}.insights-container{background:var(--insights-bg);display:flex;flex-direction:column;gap:2rem;padding:2rem;transition:background .3s ease}.insights-title{animation:fadeIn 1s forwards;color:#333;color:var(--heading-color);font-size:2rem;font-weight:700;opacity:0;text-align:center}.chart-card{animation:slideUp .8s forwards;background:#fff;background:var(--card-bg);border-radius:16px;box-shadow:0 4px 14px #00000014;box-shadow:0 4px 14px var(--card-shadow);opacity:0;padding:1.5rem;transform:translateY(30px);transition:background .3s ease,box-shadow .3s ease}.chart-card:nth-child(2){animation-delay:.2s}.chart-card:nth-child(3){animation-delay:.4s}.chart-card:nth-child(4){animation-delay:.6s}.chart-card h2{color:#333;color:var(--heading-color);font-size:1.25rem;font-weight:600;margin-bottom:1rem;transition:color .3s ease}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.recharts-wrapper{font-family:Inter,sans-serif}.recharts-default-tooltip{background-color:#fff!important;background-color:var(--card-bg)!important;border:1px solid #ccc!important;border:1px solid var(--chart-grid-stroke)!important}.recharts-default-tooltip,.recharts-tooltip-item,.recharts-tooltip-label{color:#333!important;color:var(--text-color-dark)!important}.recharts-cartesian-grid line{stroke:#ccc;stroke:var(--chart-grid-stroke);transition:stroke .3s ease}.recharts-xAxis text,.recharts-yAxis text{fill:#666;fill:var(--chart-axis-text);transition:fill .3s ease}.recharts-legend-item-text{color:#333!important;color:var(--text-color-dark)!important;transition:color .3s ease}:root{--page-bg-color:none;--text-color:#1b1b1f;--text-light-color:#555;--text-dark-contrast:#222;--border-color:#ccc;--input-bg-color:#fff;--shadow-color:#00000014;--habit-check-bg:#e0e0e0;--habit-check-border:#bbb;--habit-check-text:#fff;--habit-checked-bg:#4ade80;--habit-checked-border:#4ade80;--habit-add-button-bg:#6366f1;--habit-add-button-hover:#4f46e5;--routine-morning-label:#f59e0b;--routine-afternoon-label:#3b82f6;--routine-evening-label:#a855f7;--routine-dot-bg:#e5e7eb;--routine-morning-filled:#f59e0b;--routine-afternoon-filled:#3b82f6;--routine-evening-filled:#a855f7;--routine-add-button-bg:#10b981;--routine-add-button-hover:#059669;--icon-color-default:#1b1b1f;--icon-hover-color:#3b82f6}.dark-mode{--page-bg-color:none;--surface-color:#2c2c2c;--text-color:#f0f0f0;--text-light-color:#b0b0b0;--text-dark-contrast:#e0e0e0;--border-color:#555;--input-bg-color:#3a3a3a;--shadow-color:#00000040;--habit-check-bg:#4a4a4a;--habit-check-border:#666;--habit-check-text:#f0f0f0;--habit-checked-bg:#28a745;--habit-checked-border:#28a745;--habit-add-button-bg:#4c4eaf;--habit-add-button-hover:#3b3d8d;--routine-morning-label:#ffbe64;--routine-afternoon-label:#70b3f8;--routine-evening-label:#c295f8;--routine-dot-bg:#4a4a4a;--routine-morning-filled:#ffbe64;--routine-afternoon-filled:#70b3f8;--routine-evening-filled:#c295f8;--routine-add-button-bg:#1dd899;--routine-add-button-hover:#15a073;--icon-color-default:#f0f0f0;--icon-hover-color:#70b3f8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.main-content-wrapper{align-items:flex-start;display:flex;gap:30px;margin:auto;max-width:1300px;width:100%}.trackers-column{display:flex;flex:3 1;flex-direction:column}.insights-column{display:flex;flex:1 1;flex-direction:column;gap:20px}.insights-card{animation:slideInUp .5s ease-out forwards;background:#fff;background:var(--surface-color);border-radius:16px;box-shadow:0 2px 12px #00000014;box-shadow:0 2px 12px var(--shadow-color);padding:20px;transition:background .3s ease,box-shadow .3s ease,transform .2s ease}.insights-card:hover{box-shadow:0 4px 18px #00000014;box-shadow:0 4px 18px var(--shadow-color);transform:translateY(-5px)}.insights-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.insights-card-title,.insights-icon{color:#222;color:var(--text-dark-contrast)}.insights-card-title{font-size:1.2rem;font-weight:600}.insights-card-text{font-size:1rem;line-height:1.5;padding-left:34px}.habits-page,.insights-card-text{color:#1b1b1f;color:var(--text-color)}.habits-page{align-items:center;background:none;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;padding:20px;transition:color .3s ease;width:100%}.habit-tracker-container,.routine-tracker-container{animation:fadeIn .8s ease-in-out;background:#fff;background:var(--surface-color);border-radius:16px;box-shadow:0 2px 12px #00000014;box-shadow:0 2px 12px var(--shadow-color);margin-bottom:40px;max-width:960px;padding:24px;transition:background .3s ease,box-shadow .3s ease;width:100%}.habit-title,.routine-title{color:#222;color:var(--text-dark-contrast);font-size:1.8rem;margin-bottom:20px;text-align:center;transition:color .3s ease}.habit-header,.habit-row{grid-gap:10px;align-items:center;color:#1b1b1f;color:var(--text-color);display:grid;gap:10px;grid-template-columns:2fr repeat(7,1fr);padding:6px 0;transition:color .3s ease}.habit-row-enter{opacity:0;transform:translateY(20px)}.habit-row-enter-active{opacity:1;transform:translateY(0);transition:opacity .5s ease-out,transform .5s ease-out}.habit-label{color:#222;color:var(--text-dark-contrast);font-weight:600;padding-left:8px}.habit-day,.habit-label{transition:color .3s ease}.habit-day{color:#555;color:var(--text-light-color);font-size:.9rem;text-align:center}.habit-name{color:#1b1b1f;color:var(--text-color);font-weight:500;padding-left:8px;transition:color .3s ease}.habit-check{align-items:center;background-color:#e0e0e0;background-color:var(--habit-check-bg);border:2px solid #bbb;border:2px solid var(--habit-check-border);border-radius:6px;color:#fff;color:var(--habit-check-text);cursor:pointer;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;margin:0 auto;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .2s ease;width:28px}.habit-check:hover{transform:scale(1.1)}.habit-check.checked{background-color:#4ade80;background-color:var(--habit-checked-bg);border-color:#4ade80;border-color:var(--habit-checked-border)}.habit-input{display:flex;gap:12px;margin-top:20px}.habit-input input{background:#fff;background:var(--input-bg-color);border:1px solid #ccc;border:1px solid var(--border-color);border-radius:8px;color:#1b1b1f;color:var(--text-color);flex:1 1;font-size:1rem;padding:10px 12px;transition:border .3s ease,background .3s ease,color .3s ease}.habit-input input::placeholder{color:#555;color:var(--text-light-color)}.habit-input button{background-color:#6366f1;background-color:var(--habit-add-button-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:background .3s ease,transform .2s ease,box-shadow .2s ease}.habit-input button:hover{background-color:#4f46e5;background-color:var(--habit-add-button-hover);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.routine-section{border-bottom:1px solid #ccc;border-bottom:1px solid var(--border-color);margin-bottom:30px;padding-bottom:20px;transition:border-color .3s ease}.routine-label{font-size:1.4rem;font-weight:600;margin-bottom:10px;text-transform:capitalize;transition:color .3s ease}.routine-label.morning{color:#f59e0b;color:var(--routine-morning-label)}.routine-label.afternoon{color:#3b82f6;color:var(--routine-afternoon-label)}.routine-label.evening{color:#a855f7;color:var(--routine-evening-label)}.routine-header,.routine-row{grid-gap:10px;align-items:center;color:#1b1b1f;color:var(--text-color);display:grid;gap:10px;grid-template-columns:2fr repeat(7,1fr);padding:6px 0;transition:color .3s ease}.routine-task-label{color:#222;color:var(--text-dark-contrast);font-weight:600;padding-left:8px;transition:color .3s ease}.routine-day{color:#555;color:var(--text-light-color);font-size:.9rem;text-align:center;transition:color .3s ease}.routine-name{color:#1b1b1f;color:var(--text-color);font-weight:500;padding-left:8px;transition:color .3s ease}.routine-dot{background-color:#e5e7eb;background-color:var(--routine-dot-bg);border-radius:50%;cursor:pointer;height:20px;margin:0 auto;transition:background .3s ease,transform .2s ease;width:20px}.routine-dot:hover{transform:scale(1.2)}.routine-dot.morning.filled{background-color:#f59e0b;background-color:var(--routine-morning-filled)}.routine-dot.afternoon.filled{background-color:#3b82f6;background-color:var(--routine-afternoon-filled)}.routine-dot.evening.filled{background-color:#a855f7;background-color:var(--routine-evening-filled)}.routine-input{display:flex;gap:10px;margin-top:20px}.routine-input input{background:#fff;background:var(--input-bg-color);border:1px solid #ccc;border:1px solid var(--border-color);border-radius:8px;color:#1b1b1f;color:var(--text-color);flex:1 1;font-size:1rem;padding:10px 12px;transition:border .3s ease,background .3s ease,color .3s ease}.routine-input input::placeholder{color:#555;color:var(--text-light-color)}.routine-input select{border:1px solid #ccc;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;padding:10px 12px;transition:border .3s ease,background .3s ease,color .3s ease}.routine-input select,.routine-input select option{background:#fff;background:var(--input-bg-color);color:#1b1b1f;color:var(--text-color)}.routine-input button{background-color:#10b981;background-color:var(--routine-add-button-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;transition:background .3s ease,transform .2s ease,box-shadow .2s ease}.routine-input button:hover{background-color:#059669;background-color:var(--routine-add-button-hover);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.icon{color:#1b1b1f;color:var(--icon-color-default);cursor:pointer;margin-left:6px;opacity:.7;transition:.2s ease;vertical-align:middle}.icon:hover{color:#3b82f6;color:var(--icon-hover-color);opacity:1;transform:scale(1.1)}.habit-name input,.routine-name input{background:#fff;background:var(--input-bg-color);border:1px solid #ccc;border:1px solid var(--border-color);border-radius:6px;color:#1b1b1f;color:var(--text-color);font-size:.95rem;padding:4px 8px;transition:border .3s ease,background .3s ease,color .3s ease;width:90%}.habit-name input::placeholder,.routine-name input::placeholder{color:#555;color:var(--text-light-color)}.routine-section:last-of-type{border-bottom:none;padding-bottom:0}.layout-container{background-color:var(--background-color);display:flex;flex-direction:column;height:100vh}.top-nav{align-items:center;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-color);display:flex;justify-content:space-between;padding:.1rem 1rem;position:relative;z-index:10}.nav-title{color:var(--text-dark-contrast);font-size:1.5rem;font-weight:600}.menu-icon{background:none;border:none;color:var(--text-light-color);cursor:pointer;font-size:1.25rem}.nav-right{position:relative}.username-dropdown{border-radius:6px;cursor:pointer;font-weight:500;padding:.5rem .75rem;-webkit-user-select:none;user-select:none}.username-dropdown,.username-dropdown.always-hover{color:var(--primary-color)}.username-dropdown:hover{background-color:var(--light-hover-bg)}.profile-dropdown{background:var(--surface-color);border:1px solid var(--input-border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow-color);margin-top:8px;min-width:150px;padding:10px 0;position:absolute;right:0;top:100%;-webkit-user-select:none;user-select:none;z-index:20}.profile-dropdown a{color:var(--text-color);display:block;font-size:.95rem;padding:10px 16px;text-decoration:none}.profile-dropdown a:hover{background-color:var(--light-hover-bg)}.sidebar-backdrop{background:var(--shadow-color);inset:0;position:fixed;will-change:opacity;z-index:9}.sidebar{background-color:var(--surface-color);border-right:1px solid var(--border-color);box-shadow:2px 0 8px var(--shadow-color);display:flex;flex-direction:column;height:100%;left:0;padding:1rem;position:fixed;top:0;width:220px;will-change:transform,opacity;z-index:10}.close-sidebar{align-self:flex-end;background:none;border:none;border-radius:4px;color:var(--text-light-color);cursor:pointer;font-size:1.25rem;margin-bottom:1rem;padding:4px 8px}.close-sidebar:hover{background-color:var(--light-hover-bg)}.sidebar ul{flex-grow:1;list-style:none;margin:0;padding:0}.sidebar li{margin-bottom:.5rem}.sidebar a{border-radius:4px;color:var(--text-color);display:block;font-size:1rem;font-weight:500;padding:6px 4px;text-decoration:none}.sidebar a:hover{background-color:var(--light-hover-bg)}.sidebar a.active{background-color:var(--light-active-bg);color:var(--primary-color);font-weight:600}.layout-content{background-color:var(--background-color);flex-grow:1;overflow-y:auto;padding:1.25rem}:root{--background-color:#fafafa;--surface-color:#fff;--light-hover-bg:#f5f5f5;--light-active-bg:#e5e0ff;--text-color:#333;--text-light-color:#444;--text-dark-contrast:#2e2e2e;--primary-color:#6a5acd;--link-color:#007bff;--link-hover-color:#0056b3;--border-color:#eaeaea;--shadow-color:#0000001a;--input-bg-color:#f9f9f9;--input-border-color:#ccc;--input-placeholder-color:#888}body.dark-mode{--background-color:#2a2a2e;--surface-color:#1f1f21;--light-hover-bg:#333;--light-active-bg:#3a3a5c;--text-color:#f1f1f1;--text-light-color:#bbb;--text-dark-contrast:#f1f1f1;--primary-color:#a8a8ff;--link-color:#a8a8ff;--link-hover-color:#c0c0ff;--border-color:#3c3c3f;--shadow-color:#0000004d;--input-bg-color:#333;--input-border-color:#444;--input-placeholder-color:#888}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}body,html{height:100%;margin:0;padding:0;width:100%}body{background-color:#fafafa;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:Inter,sans-serif;margin:0}*{box-sizing:border-box}
/*# sourceMappingURL=main.dcf5b521.css.map*/