:root,body[data-theme=default][data-mode=dark]{--background-color: #121212;--component-bg: #1e1e1e;--text-primary: #ffffff;--text-secondary: #a9a9a9;--active-red: #f85f6a;--inactive-yellow: #f3de8a;--border-color: #333333;--modal-overlay-bg: rgba(0, 0, 0, .7);--theme-accent: #8a9ef3;--font-family: "Poppins", sans-serif}body[data-theme=default][data-mode=light]{--background-color: #f5f5f7;--component-bg: #ffffff;--text-primary: #1d1d1f;--text-secondary: #6e6e73;--border-color: #d2d2d7;--modal-overlay-bg: rgba(0, 0, 0, .4);--theme-accent: #5e7ce2}body[data-theme=soft-blush][data-mode=light]{--background-color: #FFF9F8;--component-bg: #FDECEF;--text-primary: #5A4A4A;--text-secondary: #A68A8A;--active-red: #f2b2b2;--inactive-yellow: #FADCDC;--border-color: #F3E1E1;--theme-accent: #F6D7D7}body[data-theme=soft-blush][data-mode=dark]{--background-color: #2b2123;--component-bg: #443538;--text-primary: #FFF9F8;--text-secondary: #A68A8A;--active-red: #c27d89;--inactive-yellow: #6b4f55;--border-color: #5a4448;--theme-accent: #c9a8af}body[data-theme=cloud-mist][data-mode=light]{--background-color: #FFFFFF;--component-bg: #E8F0F2;--text-primary: #4B5558;--text-secondary: #859295;--active-red: #b3d4d9;--inactive-yellow: #D8EFF2;--border-color: #E3EBED;--theme-accent: #C9E4E7}body[data-theme=cloud-mist][data-mode=dark]{--background-color: #1a202c;--component-bg: #2d3748;--text-primary: #E8F0F2;--text-secondary: #859295;--active-red: #c66b6b;--inactive-yellow: #4a5568;--border-color: #4a5568;--theme-accent: #718096}body[data-theme=pastel-bloom][data-mode=light]{--background-color: #FFFFFC;--component-bg: #FBEAFF;--text-primary: #4E3F4F;--text-secondary: #8C7C8D;--active-red: #d9a9ff;--inactive-yellow: #FFC6FF;--border-color: #F3E4F7;--theme-accent: #E7C6FF}body[data-theme=pastel-bloom][data-mode=dark]{--background-color: #231f2b;--component-bg: #352f44;--text-primary: #FBEAFF;--text-secondary: #8C7C8D;--active-red: #d17887;--inactive-yellow: #5c5470;--border-color: #4c465d;--theme-accent: #a38bc9}body[data-theme=calm-beige][data-mode=light]{--background-color: #FFFDF8;--component-bg: #F5E8C7;--text-primary: #5B4A3F;--text-secondary: #9B8A7D;--active-red: #e6c5b3;--inactive-yellow: #F7EAD7;--border-color: #EFE3D2;--theme-accent: #EED7C5}body[data-theme=calm-beige][data-mode=dark]{--background-color: #29241e;--component-bg: #3e362c;--text-primary: #FFFDF8;--text-secondary: #9B8A7D;--active-red: #e08f75;--inactive-yellow: #6e5b48;--border-color: #55483a;--theme-accent: #d4b98c}body[data-theme=dusty-rose][data-mode=light]{--background-color: #FBF7F4;--component-bg: #E8C0C8;--text-primary: #4D3C3C;--text-secondary: #8E7676;--active-red: #e8c4c6;--inactive-yellow: #F9EAEA;--border-color: #F0D6D8;--theme-accent: #F5E1E2}body[data-theme=dusty-rose][data-mode=dark]{--background-color: #2b2123;--component-bg: #443538;--text-primary: #FBF7F4;--text-secondary: #8E7676;--active-red: #c27d89;--inactive-yellow: #6b4f55;--border-color: #5a4448;--theme-accent: #b89098}body[data-theme=serenity-blue][data-mode=light]{--background-color: #F7FBFC;--component-bg: #CFE8EF;--text-primary: #3C4E52;--text-secondary: #71898E;--active-red: #9fc6d6;--inactive-yellow: #CDE5EC;--border-color: #E0F1F5;--theme-accent: #B6D7E4}body[data-theme=serenity-blue][data-mode=dark]{--background-color: #1c2833;--component-bg: #283747;--text-primary: #F7FBFC;--text-secondary: #71898E;--active-red: #d17c7c;--inactive-yellow: #465a70;--border-color: #3a4b5c;--theme-accent: #85a9c5}body[data-theme=vanilla-cream][data-mode=light]{--background-color: #FFFFFF;--component-bg: #FFF6E9;--text-primary: #5A4F43;--text-secondary: #988D7D;--active-red: #ffddc2;--inactive-yellow: #FFF3E3;--border-color: #F8EBDA;--theme-accent: #FFEEDD}body[data-theme=vanilla-cream][data-mode=dark]{--background-color: #29241e;--component-bg: #3e362c;--text-primary: #FFF6E9;--text-secondary: #988D7D;--active-red: #e08f75;--inactive-yellow: #6e5b48;--border-color: #55483a;--theme-accent: #d4b98c}body[data-theme=misty-lavender][data-mode=light]{--background-color: #FAF9FF;--component-bg: #E6E6FA;--text-primary: #4C435B;--text-secondary: #867C96;--active-red: #cbaed0;--inactive-yellow: #E8D8EB;--border-color: #EEE5F0;--theme-accent: #D8BFD8}body[data-theme=misty-lavender][data-mode=dark]{--background-color: #26232b;--component-bg: #393541;--text-primary: #FAF9FF;--text-secondary: #867C96;--active-red: #d18296;--inactive-yellow: #61566f;--border-color: #514a59;--theme-accent: #b8a9d1}body[data-theme=matcha-leaf][data-mode=light]{--background-color: #F7F7EE;--component-bg: #DDE5B6;--text-primary: #444A3D;--text-secondary: #7A816E;--active-red: #9cb166;--inactive-yellow: #C4D39D;--border-color: #E1E8C9;--theme-accent: #ADC178}body[data-theme=matcha-leaf][data-mode=dark]{--background-color: #212823;--component-bg: #313c34;--text-primary: #F7F7EE;--text-secondary: #7A816E;--active-red: #d18a8a;--inactive-yellow: #5a6e5f;--border-color: #48594b;--theme-accent: #9ab38b}body[data-theme=whisper-pink][data-mode=light]{--background-color: #FFFDFB;--component-bg: #FBE9E7;--text-primary: #5A4A4A;--text-secondary: #9B8686;--active-red: #f2c5c2;--inactive-yellow: #FCE8E6;--border-color: #F2E1DF;--theme-accent: #FADCD9}body[data-theme=whisper-pink][data-mode=dark]{--background-color: #2f2425;--component-bg: #453537;--text-primary: #FFFDFB;--text-secondary: #9B8686;--active-red: #d98a8a;--inactive-yellow: #6e5053;--border-color: #5a4446;--theme-accent: #d4b1b4}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-primary);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}#root{width:100vw;height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.app-container{width:100%;height:100%;display:flex;flex-direction:column}.onboarding-screen{display:flex;flex-direction:column;height:100%;background-color:var(--background-color)}.onboarding-header{background-color:var(--component-bg);padding:40px 30px 20px;border-bottom-left-radius:50px;border-bottom-right-radius:50px;text-align:left;flex-shrink:0}.onboarding-header h1{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.onboarding-illustration{height:250px;margin:10px auto 0;width:100%;max-width:320px}.onboarding-illustration svg{width:100%;height:100%}.onboarding-content{flex-grow:1;display:flex;flex-direction:column;justify-content:center;padding:20px 30px;text-align:left}.onboarding-content h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.4}.onboarding-footer{display:flex;justify-content:space-between;align-items:center;padding:0 30px 40px}.continue-button{background-color:var(--inactive-yellow);color:#000;border:none;border-radius:25px;padding:15px 30px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 10px #f3de8a33;flex-grow:1;transition:background-color .2s}.continue-button:hover{opacity:.9}.arrow-button{background:none;border:none;cursor:pointer;font-size:1.5rem;margin-left:20px;color:var(--text-primary)}.main-content{flex-grow:1;overflow-y:auto;padding:20px 20px 90px}.home-screen{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-header h2{font-size:3.5rem;font-weight:700;color:var(--text-primary)}.home-header p{color:var(--text-secondary);font-size:1rem}.home-header .location-info{font-size:.9rem;margin-top:4px}.week-view{display:flex;justify-content:space-between;margin:25px 0;gap:8px}.day{display:flex;flex-direction:column;align-items:center;padding:12px 5px;border-radius:14px;flex:1;cursor:pointer;transition:background-color .2s ease;background-color:var(--inactive-yellow)}.day.active{background-color:var(--active-red)}.day-name{font-size:.8rem;font-weight:600;color:#000}.day-number{font-size:1.2rem;font-weight:700;margin-top:5px;color:#000}.day.active .day-name,.day.active .day-number{color:var(--text-primary)}.prayer-list{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.prayer-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:20px;background-color:#a9b6f8;color:#fff;font-weight:600;font-size:1rem}.prayer-action-button{width:32px;height:32px;border-radius:50%;border:none;background-color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#a9b6f8;transition:background-color .2s;flex-shrink:0}.prayer-action-button:hover{opacity:.9}.prayer-action-button svg{width:18px;height:18px;stroke:currentColor}.habit-section-title{font-size:1.2rem;font-weight:600;margin-top:25px;margin-bottom:15px;color:var(--text-primary)}.habit-list{display:flex;flex-direction:column;gap:12px}.habit-item{display:flex;align-items:center;justify-content:space-between;padding:20px;border-radius:16px;color:var(--text-primary);transition:transform .2s ease-in-out}.habit-item:hover{transform:translateY(-2px)}.habit-item.done-item{background-color:var(--component-bg)!important;text-decoration:line-through;color:var(--text-secondary)}.habit-item.done-item .habit-action-button{background-color:#ffffff1a}.habit-item span{font-weight:600;font-size:.95rem}.habit-action-button{width:32px;height:32px;border-radius:50%;border:none;background-color:#fff3;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:background-color .2s}.habit-action-button:hover{background-color:#fff6}.habit-action-button svg{width:16px;height:16px;stroke:var(--text-primary)}.home-screen .habit-item.done-item .habit-action-button svg{stroke:var(--text-secondary)}.home-screen .habit-item.completed span{opacity:.7}.home-screen .habit-item.completed .habit-action-button{background-color:#fff6}.placeholder-text{text-align:center;padding:40px 20px;color:var(--text-secondary);background-color:var(--component-bg);border-radius:20px;margin-top:25px}.progress-screen{padding-top:20px;animation:fadeIn .3s ease-in-out}.progress-screen h2,.settings-screen h2{font-size:1.7rem;font-weight:700;color:var(--text-primary);margin-bottom:20px}.habit-selector-wrapper{position:relative;background-color:var(--component-bg);border-radius:20px;margin-bottom:20px}.habit-selector-wrapper:after{content:"";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;pointer-events:none}body[data-mode=light] .habit-selector-wrapper:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231d1d1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.habit-selector{background-color:transparent;color:var(--text-primary);border:none;border-radius:20px;padding:15px 20px;font-size:1rem;font-weight:600;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none}.calendar-container{background-color:var(--component-bg);padding:20px;border-radius:20px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-weight:600;color:var(--text-primary)}.calendar-header button{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;text-align:center}.calendar-grid .day-name{font-weight:600;color:var(--text-secondary);font-size:.9rem}.calendar-grid .day-cell{padding:5px;border-radius:50%;height:32px;width:32px;display:flex;justify-content:center;align-items:center;margin:0 auto}.calendar-grid .day-cell.other-month{color:#555}.calendar-grid .day-cell.completed{background-color:var(--inactive-yellow);color:#000;font-weight:600}.streaks-container{display:flex;justify-content:space-around;margin-top:20px;gap:20px}.streak-box{text-align:center}.streak-box .label{color:var(--text-secondary);font-size:.9rem}.streak-box .value{display:block;font-size:1.8rem;font-weight:700;color:var(--text-primary)}.edit-habit-btn{background-color:var(--habit-pink);color:#000;border:none;border-radius:20px;padding:15px;font-size:.9rem;font-weight:600;cursor:pointer;text-align:center;margin-top:20px;width:100%}.settings-screen{animation:fadeIn .3s ease-in-out;display:flex;flex-direction:column;gap:25px}.settings-section{background-color:var(--component-bg);padding:20px;border-radius:20px}.settings-section h3{font-size:1.1rem;font-weight:600;margin-bottom:15px;color:var(--text-primary)}.settings-item,.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.settings-section .habit-list{gap:0}.settings-item .habit-color-swatch{width:20px;height:20px;border-radius:50%;margin-right:15px;flex-shrink:0}.settings-item .habit-info{display:flex;align-items:center;flex-grow:1}.settings-item .habit-actions button{background:none;border:none;cursor:pointer;padding:5px;margin-left:10px}.settings-item .habit-actions svg{width:20px;height:20px;stroke:var(--text-secondary);transition:stroke .2s}.settings-item .habit-actions button:hover svg{stroke:var(--text-primary)}.setting-row input[type=text]{flex-grow:1;background:none;border:none;color:var(--text-primary);font-size:1rem;font-family:var(--font-family);text-align:right}.setting-row input[type=text]:focus{outline:none}.theme-switcher{display:flex;align-items:center;gap:10px}.theme-switcher button{background:none;border:1px solid var(--border-color);padding:8px 12px;border-radius:12px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.theme-switcher button.active{background-color:var(--theme-accent);color:var(--text-primary);border-color:var(--theme-accent)}.theme-selector{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px;padding-top:15px;border-top:1px solid var(--border-color)}.theme-swatch{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s ease}.theme-swatch:hover{transform:scale(1.1)}.theme-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--component-bg)}.data-actions{display:flex;flex-direction:column;gap:10px}.data-actions button{padding:12px;border-radius:12px;border:none;font-weight:600;cursor:pointer;text-align:center;font-size:.95rem;transition:background-color .2s}.data-actions .export-btn{background-color:var(--theme-accent);color:var(--background-color)}.data-actions .export-btn:hover{opacity:.9}.data-actions .reset-btn{background-color:var(--active-red);color:var(--text-primary)}.data-actions .reset-btn:hover{opacity:.9}.add-new-habit-in-settings-btn{background-color:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:10px 15px;border-radius:12px;cursor:pointer;text-align:center;width:100%;margin-top:15px;font-weight:600;font-size:.9rem;transition:all .2s}.add-new-habit-in-settings-btn:hover{background-color:var(--background-color);color:var(--text-primary);border-color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-in-out}.modal-content{background-color:var(--component-bg);padding:25px;border-radius:20px;width:90%;max-width:400px;box-shadow:0 5px 25px #00000026;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{font-size:1.2rem;font-weight:600;margin-bottom:20px;text-align:center;color:var(--text-primary)}.modal-content p{text-align:center;color:var(--text-secondary);margin-bottom:20px}.modal-content input{width:100%;padding:12px 15px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-primary);border-radius:12px;font-size:1rem;font-family:var(--font-family);margin-bottom:20px}.modal-content input:focus{outline:none;border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 20%,transparent)}.modal-content .color-picker{display:flex;justify-content:space-around;margin-bottom:20px}.modal-content .color-swatch{width:30px;height:30px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:border-color .2s}.modal-content .color-swatch.selected{border-color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-actions button{padding:10px 20px;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:background-color .2s,opacity .2s}.modal-actions .cancel-btn{background-color:#333;color:var(--text-primary)}.modal-actions .cancel-btn:hover{background-color:#444}.modal-actions .save-btn{background-color:var(--theme-accent);color:var(--background-color)}.modal-actions .save-btn:hover{opacity:.9}.modal-actions .confirm-btn{background-color:var(--active-red);color:var(--text-primary)}.modal-actions .confirm-btn:hover{opacity:.9}.modal-content .habit-frequency-selector{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:10px}.modal-content .habit-frequency-selector label{color:var(--text-secondary);font-size:.95rem;flex-shrink:0}.modal-content .habit-frequency-selector select,.modal-content .habit-frequency-selector input[type=number]{width:60%;padding:8px 10px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-primary);border-radius:8px;font-size:.95rem;font-family:var(--font-family)}.modal-content .habit-frequency-selector input[type=number]{-moz-appearance:textfield}.modal-content .habit-frequency-selector input[type=number]::-webkit-outer-spin-button,.modal-content .habit-frequency-selector input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-content .habit-frequency-selector select:focus,.modal-content .habit-frequency-selector input[type=number]:focus{outline:none;border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 20%,transparent)}.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:80px;background-color:var(--component-bg);display:flex;justify-content:space-around;align-items:center;border-top:1px solid var(--border-color);border-top-left-radius:30px;border-top-right-radius:30px;transition:background-color .3s,border-color .3s;z-index:10}.nav-item{display:flex;flex-direction:column;align-items:center;background:none;border:none;cursor:pointer;color:var(--text-secondary)}.nav-item svg{width:28px;height:28px;stroke:var(--text-secondary);stroke-width:2;fill:none;transition:all .2s ease-in-out}.nav-item.active svg{stroke:var(--text-primary)}.nav-item.active:nth-child(3) svg{fill:var(--text-primary)}.nav-label{font-size:.8rem;margin-top:4px;visibility:visible;color:var(--text-secondary);font-weight:500;transition:all .2s ease-in-out}.nav-item.active .nav-label{color:var(--text-primary);font-weight:600}.placeholder-screen{display:flex;justify-content:center;align-items:center;flex-direction:column;height:100%;text-align:center;color:var(--text-secondary);padding:20px}.placeholder-screen h2{color:var(--text-primary)}@media(min-width:768px){.app-container{flex-direction:row}.bottom-nav{position:fixed;left:0;top:0;width:240px;height:100vh;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:40px 20px;border-top:none;border-right:1px solid var(--border-color);border-radius:0}.nav-item{flex-direction:row;width:100%;justify-content:flex-start;padding:15px 20px;border-radius:12px;margin-bottom:10px}.nav-item svg{width:24px;height:24px;flex-shrink:0}.nav-label{margin-top:0;margin-left:15px;font-size:1rem;visibility:visible}.nav-item.active{background-color:var(--background-color)}body[data-mode=light] .nav-item.active{background-color:#e8e8ed}.main-content{margin-left:240px;padding:40px 5vw;height:100vh;overflow-y:auto;flex-grow:1}.home-screen,.progress-screen,.settings-screen,.placeholder-screen{max-width:800px;margin:0 auto}.home-header h2{font-size:4rem}.onboarding-header,.onboarding-content,.onboarding-footer{max-width:450px;margin-left:auto;margin-right:auto}.onboarding-header,.onboarding-content{text-align:center}.onboarding-illustration{max-width:350px}.modal-content{max-width:450px}.streaks-container{justify-content:flex-start;gap:40px}.streak-box{text-align:left}}@media(min-width:1200px){.bottom-nav{width:260px}.main-content{margin-left:260px}}
