:root{--primary:#1a5f4a;--primary-light:#2d7a5f;--primary-dark:#0f3d2f;--accent:#d4af37;--accent-light:#f4d77e;--bg-primary:#fdfbf7;--bg-secondary:#f8f5ed;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--border:#e8e4d8;--shadow:rgba(26, 95, 74, 0.08);--shadow-strong:rgba(26, 95, 74, 0.15);--overlay:rgba(255, 255, 255, 0.5)}[data-theme=dark]{--primary:#2d9a73;--primary-light:#3ab088;--primary-dark:#1f7555;--accent:#f4d77e;--accent-light:#f7e3a3;--bg-primary:#1a1a1a;--bg-secondary:#242424;--text-primary:#e8e8e8;--text-secondary:#b0b0b0;--text-muted:#808080;--border:#3a3a3a;--shadow:rgba(0, 0, 0, 0.3);--shadow-strong:rgba(0, 0, 0, 0.5);--overlay:rgba(0, 0, 0, 0.5)}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff;padding:8px 16px;z-index:10000;transition:top .2s}.skip-link:focus{top:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;scrollbar-width:none}::-webkit-scrollbar{display:none}html{touch-action:pan-x pan-y;overscroll-behavior:none;background:var(--bg-primary)}body{font-family:'Google Sans Flex',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-height:100dvh;padding:0;overflow-x:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y;transition:background-color .2s ease,color .2s ease;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility}input,textarea{-webkit-user-select:text;user-select:text;color:var(--text-primary)}a,button,input,label,select{touch-action:manipulation}body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 30%,rgba(212,175,55,.03) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(26,95,74,.03) 0,transparent 50%);pointer-events:none;z-index:0}.container{max-width:1200px;margin:0 auto;padding:20px;position:relative;z-index:1;transition:background-color .2s ease}.header{text-align:center;padding:52px 20px 44px;position:relative;overflow:hidden;animation:slideDown .6s ease-out}.header::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:300px;height:4px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:shimmer 3s ease-in-out infinite}.header::after{content:'';position:absolute;width:120px;height:120px;opacity:.03;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;background:var(--bg-primary);-webkit-mask: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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3Cpath d='M19 3v4'/%3E%3Cpath d='M21 5h-4'/%3E%3C/svg%3E") no-repeat center/contain;mask: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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3Cpath d='M19 3v4'/%3E%3Cpath d='M21 5h-4'/%3E%3C/svg%3E") no-repeat center/contain}.header-label{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--accent);background:rgba(212,175,55,.1);padding:8px 18px;border-radius:100px;margin-bottom:20px;position:relative;z-index:1}.header-label svg{width:16px;height:16px}.header h1{font-family:Fraunces,serif;font-size:3.5rem;color:var(--primary);margin-bottom:14px;font-weight:700;position:relative;z-index:1;letter-spacing:-1.5px;line-height:1.05}.header-accent{font-family:Outfit,sans-serif;color:var(--accent);position:relative}.header-accent::after{content:'';position:absolute;left:0;bottom:2px;width:100%;height:6px;background:var(--accent);opacity:.15;border-radius:3px}.header .subtitle{color:var(--text-secondary);font-size:.9rem;font-weight:400;letter-spacing:.3px;margin-bottom:16px;line-height:1.5}.header .hijri-date{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:1.05rem;font-weight:600;padding:10px 24px;background:var(--bg-secondary);border-radius:30px;border:2px solid var(--border);margin-top:8px}.header .hijri-date::before{content:'';display:inline-block;width:1.2rem;height:1.2rem;background:currentColor;-webkit-mask: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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3Cpath d='M19 3v4'/%3E%3Cpath d='M21 5h-4'/%3E%3C/svg%3E") no-repeat center/contain;mask: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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3Cpath d='M19 3v4'/%3E%3Cpath d='M21 5h-4'/%3E%3C/svg%3E") no-repeat center/contain;vertical-align:middle}.settings-btn{position:fixed;top:20px;right:20px;width:44px;height:44px;background:var(--bg-primary);border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:all .2s ease;z-index:100;box-shadow:0 2px 8px var(--shadow);color:var(--text-primary)}.settings-btn:hover{background:var(--bg-secondary);border-color:var(--primary);transform:rotate(90deg)}.settings-modal{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(0px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,backdrop-filter .3s ease}.settings-modal.active{opacity:1;visibility:visible;backdrop-filter:blur(4px)}.settings-content{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;padding:0;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:slideIn .3s ease-out}@keyframes slideIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary);border-radius:16px 16px 0 0;z-index:10}.settings-header h2{color:var(--primary);font-size:1.5rem;margin:0}.settings-close{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.settings-close svg{width:20px;height:20px}.settings-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.settings-group{padding:24px}.settings-group:last-child{padding-bottom:32px}.settings-group:first-of-type{padding-top:16px}.settings-group+.settings-group{border-top:1px solid var(--border);padding-top:16px}.settings-group-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:16px}.settings-section{margin-bottom:24px}.settings-section h3{font-size:1rem;color:var(--text-primary);margin-bottom:12px;font-weight:600}.settings-section p{font-size:.85rem;color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.toggle-switch{display:flex;align-items:center;gap:12px;cursor:pointer}.toggle-switch input{display:none}.toggle-slider{position:relative;width:50px;height:26px;background:var(--border);border-radius:13px;transition:all .3s ease}.toggle-slider::before{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:all .3s ease;box-shadow:0 1px 3px var(--shadow)}#darkModeToggle+.toggle-slider::before{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='%23d4af37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='m4.93 4.93 1.41 1.41'/%3E%3Cpath d='m17.66 17.66 1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='m6.34 17.66-1.41 1.41'/%3E%3Cpath d='m19.07 4.93-1.41 1.41'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}.toggle-switch input:checked+.toggle-slider{background:var(--text-primary)}.toggle-switch input:checked+.toggle-slider::before{transform:translateX(24px)}#darkModeToggle:checked+.toggle-slider::before{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='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}.toggle-label{font-size:.95rem;color:var(--text-primary);font-weight:500}.settings-row{display:flex;align-items:center;gap:12px;padding:12px 0;cursor:pointer;border-bottom:1px solid var(--border)}.settings-row:last-of-type{border-bottom:none;margin-bottom:0}label.settings-row[for=darkModeToggle]{border-bottom:none}.settings-row:has(+ label.settings-row[for=darkModeToggle]){border-bottom:none}.settings-row-icon{color:var(--text-secondary);display:flex;align-items:center}.settings-row-icon svg{width:18px;height:18px}.settings-row-label{flex:1;font-size:.95rem;font-weight:500;color:var(--text-primary)}.settings-row input[type=checkbox]{display:none}.settings-row input:checked+.toggle-slider{background:var(--text-primary)}.settings-row input:checked+.toggle-slider::before{transform:translateX(24px)}.language-pills{display:flex;gap:4px}.language-pill{padding:6px 14px;border:1px solid var(--border);background:var(--bg-primary);border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s ease;color:var(--text-secondary);letter-spacing:.03em}.language-pill:hover{border-color:var(--primary)}.language-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=dark] .language-pill{background:var(--bg-secondary)}[data-theme=dark] .language-pill.active{background:var(--primary)}.offset-selector{display:flex;gap:8px;flex-wrap:wrap}.offset-btn{padding:10px 20px;border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:var(--text-primary);min-width:60px}.offset-btn:hover{border-color:var(--primary);background:var(--bg-secondary)}.offset-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=dark] .offset-btn{background:var(--bg-secondary)}[data-theme=dark] .offset-btn.active{background:var(--primary)}.analytics-modal{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(0px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,backdrop-filter .3s ease}.analytics-modal.active{opacity:1;visibility:visible;backdrop-filter:blur(4px)}.analytics-content{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none;animation:modalSlideIn .3s ease-out;box-sizing:border-box}.analytics-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary);border-radius:16px 16px 0 0;z-index:10}.analytics-header h2{color:var(--primary);font-size:1.5rem;margin:0}.analytics-close{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.analytics-close .icon-back,.settings-close .icon-back{display:none}.analytics-close svg{width:20px;height:20px}.analytics-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.analytics-body{padding:24px}.analytics-section{margin-bottom:32px}.analytics-section h3{color:var(--primary);font-size:1.2rem;margin-bottom:16px;display:flex;align-items:center;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center;transition:border-color .2s ease,box-shadow .2s ease}.stat-card:hover{border-color:var(--primary);box-shadow:0 2px 8px var(--shadow)}.stat-value{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:8px}.stat-label{font-size:.9rem;color:var(--text-secondary)}.progress-bar{width:100%;height:24px;background:var(--bg-secondary);border-radius:12px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:12px;transition:width .5s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;color:#fff;font-weight:600;font-size:.85rem}.category-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.category-item{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:16px;transition:border-color .2s ease,box-shadow .2s ease}.category-item:hover{border-color:var(--primary);box-shadow:0 2px 8px var(--shadow)}.category-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.category-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.category-count{font-size:1.5rem;font-weight:700;color:var(--primary)}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.comparison-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:20px}.comparison-card h4{color:var(--primary);margin-bottom:16px;font-size:1.1rem}.comparison-stats{display:flex;flex-direction:column;gap:12px}.comparison-stat{display:flex;justify-content:space-between;align-items:center}.comparison-stat-label{color:var(--text-secondary);font-size:.9rem}.comparison-stat-value{font-weight:600;color:var(--text-primary);font-size:1.1rem}[data-theme=dark] .analytics-content{background:var(--bg-secondary)}[data-theme=dark] .analytics-header{background:var(--bg-secondary)}[data-theme=dark] .toggle-slider::before{background-color:var(--bg-primary)}[data-theme=dark] .calendar-section,[data-theme=dark] .checklist-section{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .day-cell{background:var(--bg-primary)}[data-theme=dark] .day-cell.ramadan{background:linear-gradient(135deg,rgba(244,215,126,.15) 0,rgba(244,215,126,.08) 100%);border-color:rgba(244,215,126,.4)}[data-theme=dark] .today-btn{background:0 0;border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .today-btn:hover{background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}[data-theme=dark] .add-task-form input:focus{background:var(--bg-secondary);border-color:var(--primary)}[data-theme=dark] .add-task-form button{background:var(--primary);border-color:var(--primary)}[data-theme=dark] .add-task-form button:hover{background:var(--primary-light);border-color:var(--primary-light)}[data-theme=dark] .category-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=dark] .task-item{background:var(--bg-primary);border-color:var(--border)}[data-theme=dark] .task-item:hover{background:var(--bg-secondary);border-color:var(--primary-light)}[data-theme=dark] .suggested-section{background:var(--bg-secondary)}[data-theme=dark] .suggested-filters .category-btn{background:var(--bg-primary);color:var(--text-secondary)}[data-theme=dark] .suggested-filters .category-btn:hover{background:var(--border);color:var(--text-primary)}[data-theme=dark] .suggested-filters .category-btn.active{background:var(--primary);color:#fff}[data-theme=dark] .day-cell.islamic-event{background:linear-gradient(135deg,rgba(16,185,129,.15) 0,rgba(16,185,129,.08) 100%);border-color:rgba(16,185,129,.4)}[data-theme=dark] .islamic-event-indicator{background:linear-gradient(135deg,rgba(16,185,129,.1) 0,rgba(16,185,129,.05) 100%);border-color:rgba(16,185,129,.3)}[data-theme=dark] .settings-btn{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .settings-btn:hover{background:var(--bg-primary);border-color:var(--primary)}@keyframes shimmer{0%,100%{opacity:.3;transform:translateX(-50%) scaleX(1)}50%{opacity:1;transform:translateX(-50%) scaleX(1.5)}}.tracker-section{background:var(--bg-primary);border-radius:16px;padding:20px;border:1px solid var(--border);margin-bottom:24px;animation:fadeInUp .5s ease-out .15s both;transition:background-color .2s ease,border-color .2s ease;overflow:hidden}[data-theme=dark] .tracker-section{background:var(--bg-secondary)}.tracker-date-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tracker-date-info{flex:1}.tracker-date-label{font-size:1.4rem;font-weight:700;color:var(--text-primary);line-height:1.2}.tracker-date-hijri{font-size:.85rem;color:var(--accent);font-weight:500;margin-top:2px}.tracker-date-actions{display:flex;gap:8px}.tracker-date-actions .view-progress-btn,.tracker-date-actions button{width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;color:var(--text-primary)}.tracker-date-actions button:hover{border-color:var(--primary);background:var(--bg-primary)}.tracker-date-actions button:active{transform:scale(.95)}[data-theme=dark] .tracker-date-actions button{background:var(--bg-primary)}.tracker-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px}.tracker-input{display:flex;gap:10px;margin-bottom:16px}.tracker-input input{flex:1;padding:14px 16px;border:1px solid var(--border);border-radius:12px;font-family:'Google Sans Flex',sans-serif;font-size:16px;transition:all .2s ease;background:var(--bg-secondary)}.tracker-input input:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);background:var(--bg-primary);box-shadow:0 0 0 3px rgba(26,95,74,.15)}.tracker-input button{padding:14px 24px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.tracker-input button:hover:not(:disabled){background:var(--primary-light)}.tracker-input button:disabled{opacity:.5;cursor:not-allowed}.tracker-input button:active:not(:disabled){transform:scale(.97)}[data-theme=dark] .tracker-input input{background:var(--bg-primary)}[data-theme=dark] .tracker-input input:focus{background:var(--bg-secondary);box-shadow:0 0 0 3px rgba(45,154,115,.2)}.week-strip-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;background:var(--bg-secondary);border:none;font-family:inherit;font-size:inherit;color:inherit}.week-strip-day:hover{background:var(--primary-light);color:#fff}.week-strip-day:hover .week-strip-label,.week-strip-day:hover .week-strip-number{color:#fff}.week-strip-day:active:not(.selected){transform:scale(.92)}.week-strip-label{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.3px}.week-strip-number{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.week-strip-day.future .week-strip-label,.week-strip-day.future .week-strip-number{color:var(--text-muted)}.week-strip-day.selected{background:var(--primary)}.week-strip-day.selected .week-strip-label,.week-strip-day.selected .week-strip-number{color:#fff}.week-strip-day.is-today:not(.selected) .week-strip-number{color:var(--primary)}.week-strip-dot{width:6px;height:6px;border-radius:50%;background:0 0;margin-top:2px}.week-strip-dot.partial{background:var(--accent)}.week-strip-dot.done{background:var(--primary)}.week-strip-day.selected .week-strip-dot{background:rgba(255,255,255,.5)}.week-strip-day.selected .week-strip-dot.done,.week-strip-day.selected .week-strip-dot.partial{background:#fff}[data-theme=dark] .week-strip-day{background:var(--bg-primary)}[data-theme=dark] .week-strip-day:hover{background:var(--primary-light)}[data-theme=dark] .week-strip-day.future .week-strip-label,[data-theme=dark] .week-strip-day.future .week-strip-number{color:var(--text-muted)}[data-theme=dark] .week-strip-day.selected{background:var(--primary)}[data-theme=dark] .week-strip-day.selected .week-strip-label,[data-theme=dark] .week-strip-day.selected .week-strip-number{color:#fff}.mobile-calendar-modal{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(0px);padding:16px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,backdrop-filter .3s ease;box-sizing:border-box;touch-action:none;overscroll-behavior:none}.mobile-calendar-modal.active{opacity:1;visibility:visible;backdrop-filter:blur(4px)}.mobile-calendar-content{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;padding:16px;max-width:400px;width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;animation:modalSlideIn .3s ease-out;box-sizing:border-box}@keyframes modalSlideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-calendar-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border);gap:8px}.mobile-calendar-title-group{flex:1;display:flex;flex-direction:column;gap:8px}.mobile-calendar-header h2{font-size:1.2rem;color:var(--primary);margin:0;font-weight:700}.mobile-calendar-nav{display:flex;align-items:center;gap:6px}.mobile-calendar-nav button{background:var(--bg-secondary);border:1px solid var(--border);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:1.1rem;color:var(--primary);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.mobile-calendar-nav button svg{width:18px;height:18px}.mobile-calendar-nav button:hover{background:var(--bg-primary);border-color:var(--primary)}.mobile-calendar-nav .today-btn{width:auto;padding:0 12px;font-size:.8rem;font-weight:500}.mobile-calendar-close{background:0 0;border:none;font-size:1.8rem;color:var(--text-secondary);cursor:pointer;width:44px;height:44px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;padding:0}.mobile-calendar-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.mobile-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;will-change:transform,opacity}.mobile-calendar-grid .day-label{font-size:.7rem;padding:6px 0;font-weight:700;text-align:center;color:var(--text-muted)}.mobile-calendar-grid .day-cell{border-radius:8px;padding:6px 2px;min-height:44px}.mobile-calendar-grid .day-cell .day-number{font-size:.9rem}.mobile-calendar-grid .day-cell .hijri-number{font-size:.55rem}[data-theme=dark] .mobile-calendar-content{background:var(--bg-secondary)}.main-grid{display:none}.calendar-section{display:none}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.ramadan-indicator{border-radius:12px;margin-bottom:12px;padding:10px 14px;background:linear-gradient(135deg,#f8f3e6 0,#f0ead4 50%,#e8dfc2 100%);border:1px solid rgba(180,150,50,.2);position:relative;overflow:hidden}.ramadan-indicator::before{content:'';position:absolute;top:-20px;right:-10px;width:80px;height:80px;background:radial-gradient(circle,rgba(212,175,55,.12) 0,transparent 70%);border-radius:50%;pointer-events:none}.ramadan-indicator-hint{font-size:.75em;opacity:.55;font-weight:400;margin-left:4px}.ramadan-indicator-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ramadan-indicator-icon{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,rgba(180,140,30,.2),rgba(180,140,30,.08));display:flex;align-items:center;justify-content:center;flex-shrink:0}.ramadan-indicator-icon svg{width:15px;height:15px;color:#9e7e1e}.ramadan-indicator-info{flex:1;min-width:0}.ramadan-indicator-title{font-size:.8rem;font-weight:700;color:#7a6218;letter-spacing:.02em}.ramadan-indicator-sub{font-size:.68rem;color:rgba(100,80,30,.6);margin-top:1px}.ramadan-last10-tag{font-size:.62rem;font-weight:600;color:rgba(120,95,25,.55);margin-left:4px;white-space:nowrap;display:inline-flex;align-items:center;gap:2px;vertical-align:middle}.ramadan-last10-tag svg{width:10px;height:10px}.ramadan-last10-tag.glow{color:#7a6218;animation:last10Pulse 2.5s ease-in-out infinite}@keyframes last10Pulse{0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,0);text-shadow:none}50%{box-shadow:0 0 10px 3px rgba(212,175,55,.25);text-shadow:0 0 6px rgba(212,175,55,.4)}}.ramadan-dots{display:flex;gap:3px;justify-content:space-between}.ramadan-dot{flex:1;height:4px;border-radius:2px;background:rgba(180,140,30,.12);transition:all .3s ease}.ramadan-dot.filled{background:#b48c1e}.ramadan-dot.filled.last10{background:linear-gradient(135deg,#b48c1e,#d4af37)}.ramadan-dot.last10:not(.filled){background:rgba(180,140,30,.2)}[data-theme=dark] .ramadan-indicator{background:linear-gradient(135deg,#1a1a2e 0,#16213e 50%,#0f3460 100%);border-color:rgba(212,175,55,.25)}[data-theme=dark] .ramadan-indicator::before{background:radial-gradient(circle,rgba(212,175,55,.1) 0,transparent 70%)}[data-theme=dark] .ramadan-indicator-icon{background:linear-gradient(135deg,rgba(212,175,55,.25),rgba(212,175,55,.1))}[data-theme=dark] .ramadan-indicator-icon svg{color:#d4af37}[data-theme=dark] .ramadan-indicator-title{color:#d4af37}[data-theme=dark] .ramadan-indicator-sub{color:rgba(255,255,255,.55)}[data-theme=dark] .ramadan-last10-tag{color:rgba(255,255,255,.4)}[data-theme=dark] .ramadan-last10-tag.glow{color:#d4af37}[data-theme=dark] .ramadan-dot{background:rgba(255,255,255,.1)}[data-theme=dark] .ramadan-dot.filled{background:#d4af37}[data-theme=dark] .ramadan-dot.filled.last10{background:linear-gradient(135deg,#d4af37,khaki)}[data-theme=dark] .ramadan-dot.last10:not(.filled){background:rgba(212,175,55,.15)}.ramadan-dot.odd-night{height:6px;margin-top:-1px;border-radius:3px}.ramadan-dot.odd-night.filled{background:linear-gradient(135deg,#9e7e1e,#c9a227);box-shadow:0 0 4px rgba(180,140,30,.3)}.ramadan-dot.odd-night:not(.filled){background:rgba(180,140,30,.25)}[data-theme=dark] .ramadan-dot.odd-night.filled{background:linear-gradient(135deg,#d4af37,#ffe066);box-shadow:0 0 6px rgba(212,175,55,.4)}[data-theme=dark] .ramadan-dot.odd-night:not(.filled){background:rgba(212,175,55,.25)}.ramadan-pinned-section{margin-bottom:14px;border-radius:12px;background:linear-gradient(135deg,#f8f3e6 0,#f0ead4 50%,#e8dfc2 100%);border:1px solid rgba(180,150,50,.2);padding:12px 14px;position:relative;overflow:hidden}.ramadan-pinned-section::before{content:'';position:absolute;bottom:-15px;left:-10px;width:70px;height:70px;background:radial-gradient(circle,rgba(180,140,30,.1) 0,transparent 70%);border-radius:50%;pointer-events:none}.ramadan-pinned-header{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:.72rem;font-weight:600;color:rgba(140,110,30,.55);text-transform:uppercase;letter-spacing:.06em}.ramadan-pinned-header svg{width:12px;height:12px;color:rgba(140,110,30,.45)}.ramadan-pinned-row{display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease;min-height:36px}.ramadan-pinned-row:active{opacity:.7}.ramadan-pinned-row.done .ramadan-pinned-label{color:rgba(80,60,20,.35);text-decoration:line-through;text-decoration-color:rgba(80,60,20,0.2)}.ramadan-pinned-row.done .ramadan-pinned-count{color:var(--primary)}.ramadan-pinned-check{width:24px;height:24px;border-radius:8px;border:1.5px solid rgba(140,110,30,.25);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease;position:relative;cursor:pointer}.ramadan-pinned-check.checked{background:var(--primary);border-color:var(--primary)}.ramadan-pinned-check.checked::after{content:'';width:6px;height:10px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg);position:absolute;top:3px}.ramadan-pinned-label{flex:1;font-size:.85rem;font-weight:500;color:rgba(50,40,10,.8);min-width:0;transition:all .15s ease}.ramadan-pinned-count{font-size:.72rem;font-weight:600;color:rgba(100,80,30,.4);flex-shrink:0;transition:color .15s ease}.ramadan-pinned-stepper{display:flex;align-items:center;gap:2px;flex-shrink:0}.ramadan-stepper-btn{width:44px;height:44px;border-radius:8px;border:1.5px solid rgba(150,120,30,.3);background:rgba(150,120,30,.06);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#9e7e1e;cursor:pointer;transition:all .15s ease;padding:0;font-family:inherit;-webkit-tap-highlight-color:transparent}.ramadan-stepper-btn:hover:not(:disabled){background:rgba(150,120,30,.12);border-color:rgba(150,120,30,.5)}.ramadan-stepper-btn:active:not(:disabled){transform:scale(.85);background:rgba(150,120,30,.18)}.ramadan-stepper-btn:disabled{opacity:.25;cursor:default}.ramadan-stepper-value{font-size:.8rem;font-weight:700;color:#9e7e1e;min-width:22px;text-align:center}.quran-juz-bar{display:flex;gap:2px;height:3px;border-radius:2px;overflow:hidden;margin:4px 0 2px}.quran-juz-segment{flex:1;background:rgba(140,110,30,.1);border-radius:1px;transition:background .15s ease}.quran-juz-segment.filled{background:#b48c1e}[data-theme=dark] .ramadan-pinned-section{background:linear-gradient(135deg,#1a1a2e 0,#16213e 50%,#0f3460 100%);border-color:rgba(212,175,55,.2)}[data-theme=dark] .ramadan-pinned-section::before{background:radial-gradient(circle,rgba(212,175,55,.08) 0,transparent 70%)}[data-theme=dark] .ramadan-pinned-header{color:rgba(212,175,55,.6)}[data-theme=dark] .ramadan-pinned-header svg{color:rgba(212,175,55,.5)}[data-theme=dark] .ramadan-pinned-row.done .ramadan-pinned-label{color:rgba(255,255,255,.35);text-decoration-color:rgba(255,255,255,0.2)}[data-theme=dark] .ramadan-pinned-check{border-color:rgba(255,255,255,.2)}[data-theme=dark] .ramadan-pinned-label{color:rgba(255,255,255,.85)}[data-theme=dark] .ramadan-pinned-count{color:rgba(255,255,255,.35)}[data-theme=dark] .ramadan-stepper-btn{border-color:rgba(212,175,55,.35);background:rgba(212,175,55,.08);color:#d4af37}[data-theme=dark] .ramadan-stepper-btn:hover:not(:disabled){background:rgba(212,175,55,.15);border-color:rgba(212,175,55,.5)}[data-theme=dark] .ramadan-stepper-btn:active:not(:disabled){background:rgba(212,175,55,.25)}[data-theme=dark] .ramadan-stepper-value{color:#d4af37}[data-theme=dark] .quran-juz-segment{background:rgba(255,255,255,.08)}[data-theme=dark] .quran-juz-segment.filled{background:#d4af37}.ramadan-pinned-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.ramadan-streak{font-size:.6rem;font-weight:600;color:var(--primary);padding:1px 5px;border-radius:4px;background:rgba(26,95,74,.08);white-space:nowrap}[data-theme=dark] .ramadan-streak{background:rgba(45,154,115,.15)}.ramadan-pinned-section.all-complete{border-color:rgba(26,95,74,.3);animation:celebratePulse 2s ease-in-out 1}.ramadan-pinned-section.all-complete .ramadan-pinned-header{color:var(--primary)}.ramadan-pinned-section.all-complete .ramadan-pinned-header svg{color:var(--primary)}@keyframes celebratePulse{0%{box-shadow:0 0 0 0 rgba(26,95,74,0)}40%{box-shadow:0 0 12px 4px rgba(26,95,74,.15)}100%{box-shadow:0 0 0 0 rgba(26,95,74,0)}}[data-theme=dark] .ramadan-pinned-section.all-complete{border-color:rgba(45,154,115,.3)}@keyframes celebratePulseDark{0%{box-shadow:0 0 0 0 rgba(45,154,115,0)}40%{box-shadow:0 0 12px 4px rgba(45,154,115,.2)}100%{box-shadow:0 0 0 0 rgba(45,154,115,0)}}[data-theme=dark] .ramadan-pinned-section.all-complete{animation-name:celebratePulseDark}.ramadan-autoinject-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1100;backdrop-filter:blur(4px)}.ramadan-autoinject-content{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center;animation:slideIn .3s ease-out}.ramadan-autoinject-content h3{color:var(--accent);font-size:1.3rem;margin-bottom:12px}.ramadan-autoinject-content p{color:var(--text-secondary);font-size:.9rem;margin-bottom:20px;line-height:1.5}.ramadan-autoinject-actions{display:flex;gap:10px;justify-content:center}.ramadan-autoinject-actions button{padding:10px 24px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.ramadan-autoinject-yes{background:var(--primary);color:#fff;border:none}.ramadan-autoinject-yes:hover{background:var(--primary-light)}.ramadan-autoinject-no{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border)}.ramadan-autoinject-no:hover{border-color:var(--primary);color:var(--text-primary)}[data-theme=dark] .ramadan-autoinject-content{background:var(--bg-secondary)}.islamic-event-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,rgba(16,185,129,.08) 0,rgba(16,185,129,.04) 100%);border:1px solid rgba(16,185,129,.3);border-radius:12px;font-size:.85rem;color:var(--text-secondary);margin-bottom:12px;flex-wrap:wrap}.islamic-event-indicator strong{color:var(--primary);font-weight:600}.islamic-event-indicator svg{width:16px;height:16px;flex-shrink:0;color:var(--primary);vertical-align:middle;margin-top:-2px}.calendar-header h2{font-family:'Google Sans Flex',sans-serif;color:var(--primary);font-size:1.8rem}.calendar-controls{display:flex;align-items:center;gap:10px}.today-btn{background:0 0;color:var(--text-secondary);border:1px solid var(--border);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.today-btn:hover{background:var(--bg-secondary);color:var(--primary);border-color:var(--primary)}.today-btn:active{transform:scale(.98)}.month-nav{display:flex;gap:10px}.month-nav button{background:var(--bg-primary);border:1px solid var(--border);width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.2rem;color:var(--primary);transition:all .2s ease}.month-nav button:hover{background:var(--bg-secondary);border-color:var(--primary);transform:translateY(-1px)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.mobile-day-navigator{display:none}.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%) translateY(20px);background:#1a1a2e;color:#f0f0f0;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:500;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:2000;opacity:0;transition:opacity .25s ease,transform .3s cubic-bezier(.34, 1.56, .64, 1);display:flex;align-items:center;gap:8px}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media (min-width:641px){.install-banner.show~.toast.show,body:has(.install-banner.show) .toast.show{bottom:calc(90px + env(safe-area-inset-bottom,0px))}}[data-theme=dark] .toast{background:#2a2a42;box-shadow:0 4px 12px rgba(0,0,0,.5)}.toast.success .toast-icon{color:#4ade80}.toast.error .toast-icon{color:#f87171}.toast.info .toast-icon{color:#60a5fa}.toast-icon{font-size:1.2rem}.day-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;border:1px solid transparent;background:var(--bg-secondary);padding:6px 4px;font-family:inherit;font-size:inherit;color:inherit}.day-cell.ramadan{background:linear-gradient(135deg,rgba(212,175,55,.12) 0,rgba(212,175,55,.06) 100%);border-color:rgba(212,175,55,.3);position:relative}.day-cell.ramadan::before{content:'';position:absolute;top:2px;right:2px;width:.6rem;height:.6rem;opacity:.3;background:var(--accent);-webkit-mask: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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3Cpath d='M19 3v4'/%3E%3Cpath d='M21 5h-4'/%3E%3C/svg%3E") no-repeat center/contain;mask: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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3Cpath d='M19 3v4'/%3E%3Cpath d='M21 5h-4'/%3E%3C/svg%3E") no-repeat center/contain}.day-cell.ramadan .hijri-number{color:var(--accent);font-weight:600}.day-cell.islamic-event{background:linear-gradient(135deg,rgba(16,185,129,.12) 0,rgba(16,185,129,.06) 100%);border-color:rgba(16,185,129,.3);position:relative}.day-cell.islamic-event::before{content:'';position:absolute;top:3px;right:4px;width:6px;height:6px;background:var(--primary);border-radius:50%}.day-cell.islamic-event .hijri-number{color:var(--primary);font-weight:600}.day-cell.islamic-event:hover{background:linear-gradient(135deg,var(--primary) 0,var(--primary-light) 100%);border-color:var(--primary)}.day-cell.today.islamic-event::before{opacity:.7}.day-cell.selected.islamic-event{background:linear-gradient(135deg,var(--primary) 0,var(--primary-light) 100%)!important;border:2px solid rgba(16,185,129,.6)!important}.day-cell.selected.islamic-event::before{opacity:.8}.day-cell:hover{background:var(--primary-light);color:#fff;border-color:var(--primary-light)}.day-cell:active:not(.selected):not(.other-month){transform:scale(.92)}.day-cell.ramadan:hover{background:linear-gradient(135deg,var(--accent) 0,#c99d2e 100%);border-color:var(--accent)}.day-cell:hover .hijri-number{color:rgba(255,255,255,.8)}.day-cell.today{background:var(--accent);color:#fff;font-weight:700;border-color:var(--accent)}.day-cell.today .hijri-number{color:rgba(255,255,255,.9)}.day-cell.today.ramadan::before{background:#fff;opacity:.5}.day-cell.selected{background:var(--primary)!important;color:#fff!important;border:2px solid var(--primary)!important;font-weight:600}.day-cell.selected .hijri-number{color:rgba(255,255,255,.9)!important}.day-cell.selected .task-indicator{background:var(--accent-light)}.day-cell.selected.ramadan{background:linear-gradient(135deg,var(--primary) 0,var(--primary-light) 100%)!important;border:2px solid var(--accent)!important}.day-cell.selected.ramadan::before{background:#fff;opacity:.6}.day-cell.other-month{opacity:.3}.day-cell .day-number{font-size:1rem;font-weight:600;line-height:1}.day-cell .hijri-number{font-size:.65rem;color:var(--text-muted);margin-top:2px;font-weight:400;line-height:1}.day-cell .task-indicator{width:4px;height:4px;background:var(--accent);border-radius:50%;margin-top:4px}.day-cell .completion-badge{position:absolute;bottom:4px;right:4px;background:var(--primary);color:#fff;font-size:.6rem;font-weight:600;padding:2px 4px;border-radius:4px;line-height:1}.day-cell.selected .completion-badge{background:var(--accent)}.day-label{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-muted);padding:10px 0;text-transform:uppercase;letter-spacing:.5px}.checklist-section{display:none}.checklist-header{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.checklist-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.view-progress-btn{background:0 0;border:1px solid var(--border);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s ease;font-family:'Google Sans Flex',sans-serif;white-space:nowrap}.view-progress-btn:hover{background:var(--bg-secondary);color:var(--primary);border-color:var(--primary)}.view-progress-btn:active{transform:scale(.98)}.checklist-header h3{font-family:'Google Sans Flex',sans-serif;color:var(--primary);font-size:1.5rem;margin-bottom:8px}.checklist-date{color:var(--text-secondary);font-size:.9rem}.add-task-form{display:flex;gap:10px;margin-bottom:20px}.add-task-form input{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-family:'Google Sans Flex',sans-serif;font-size:16px;transition:all .2s ease;background:var(--bg-primary)}.add-task-form input:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);background:var(--bg-primary);box-shadow:0 0 0 3px rgba(26,95,74,.15)}[data-theme=dark] .add-task-form input:focus{box-shadow:0 0 0 3px rgba(45,154,115,.2)}.add-task-form button{background:var(--primary);color:#fff;border:1px solid var(--primary);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-task-form button:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light)}.add-task-form button:disabled{opacity:.5;cursor:not-allowed}.category-btn{padding:8px 16px;border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-weight:500}.category-btn:hover{border-color:var(--primary);background:var(--bg-secondary)}.category-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.task-list{display:flex;flex-direction:column;gap:10px}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.task-item{padding:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease;animation:slideInRight .3s ease-out}.task-item .task-inner{padding:14px}.task-item:hover{background:var(--bg-primary);border-color:var(--primary-light)}.task-checkbox{width:22px;height:22px;border:1.5px solid var(--primary);border-radius:4px;cursor:pointer;flex-shrink:0;position:relative;transition:all .2s ease}.task-checkbox:hover{border-color:var(--primary-light);background:rgba(26,95,74,.08)}.task-checkbox:active{transform:scale(.9)}.task-checkbox.checked{background:var(--primary)}.task-checkbox.checked:hover{background:var(--primary-light)}.task-checkbox.checked::after{content:'✓';position:absolute;color:#fff;font-size:14px;top:50%;left:50%;transform:translate(-50%,-50%)}.task-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.task-text{color:var(--text-primary);font-size:.95rem;overflow-wrap:break-word;word-break:break-word}.task-item.completed{opacity:.5}.task-item.completed .task-text{text-decoration:line-through;color:var(--text-muted)}.task-category-label{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;width:fit-content}.task-item[data-category=worship] .task-category-label{color:#1a5f4a;background:rgba(26,95,74,.1)}.task-item[data-category=quran] .task-category-label{color:#1976d2;background:rgba(33,150,243,.1)}.task-item[data-category=charity] .task-category-label{color:#b8960e;background:rgba(212,175,55,.12)}.task-item[data-category=personal] .task-category-label{color:#7b1fa2;background:rgba(156,39,176,.1)}[data-theme=dark] .task-item[data-category=worship] .task-category-label{color:#3ab088;background:rgba(58,176,136,.15)}[data-theme=dark] .task-item[data-category=quran] .task-category-label{color:#64b5f6;background:rgba(100,181,246,.15)}[data-theme=dark] .task-item[data-category=charity] .task-category-label{color:#f4d77e;background:rgba(244,215,126,.15)}[data-theme=dark] .task-item[data-category=personal] .task-category-label{color:#ce93d8;background:rgba(206,147,216,.15)}.task-recurring{color:var(--text-muted);cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;opacity:0;background:0 0;border:none;flex-shrink:0}.task-recurring svg{width:14px;height:14px}.task-recurring.active{opacity:1;color:var(--primary);background:rgba(26,95,74,.1)}.task-inner:hover .task-recurring,.task-item:hover .task-recurring{opacity:1}.task-recurring:hover{color:var(--primary);background:rgba(26,95,74,.1)}.task-recurring:active{transform:scale(.9)}@media (hover:none){.task-recurring{opacity:.5}.task-recurring.active{opacity:1}}.task-delete{color:var(--text-muted);cursor:pointer;font-size:1.1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;opacity:0;background:0 0;border:none;font-family:inherit;line-height:1;flex-shrink:0}.task-inner:hover .task-delete,.task-item:hover .task-delete{opacity:1}.task-delete:hover{color:#e74c3c;background:rgba(231,76,60,.1)}.task-delete:active{transform:scale(.9)}@media (hover:none){.task-delete{opacity:.7}}.suggested-section{background:var(--bg-primary);border-radius:20px;padding:24px;border:1px solid var(--border);animation:fadeInUp .6s ease-out .3s both;transition:background-color .2s ease,border-color .2s ease}.suggested-section h2{font-family:'Google Sans Flex',sans-serif;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.suggested-section h2::before{content:'';display:inline-block;width:1rem;height:1rem;background:var(--text-primary);-webkit-mask: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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z'/%3E%3Cpath d='M5 3v4'/%3E%3Cpath d='M19 17v4'/%3E%3Cpath d='M3 5h4'/%3E%3Cpath d='M17 19h4'/%3E%3C/svg%3E") no-repeat center/contain;mask: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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z'/%3E%3Cpath d='M5 3v4'/%3E%3Cpath d='M19 17v4'/%3E%3Cpath d='M3 5h4'/%3E%3Cpath d='M17 19h4'/%3E%3C/svg%3E") no-repeat center/contain;flex-shrink:0}.suggested-search{margin-bottom:16px}.suggested-search input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:12px;font-family:'Google Sans Flex',sans-serif;font-size:16px;transition:all .2s ease;background:var(--bg-secondary)}.suggested-search input:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);background:var(--bg-primary);box-shadow:0 0 0 3px rgba(26,95,74,.15)}.suggested-search input::placeholder{color:var(--text-muted)}[data-theme=dark] .suggested-search input{background:var(--bg-primary)}.suggested-filters{display:flex;gap:6px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px}.suggested-filters::-webkit-scrollbar{display:none}.suggested-filters .category-btn{white-space:nowrap;flex-shrink:0;padding:8px 14px;border-radius:20px;font-size:.8rem;font-weight:500;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.suggested-filters .category-btn:hover{background:var(--border);color:var(--text-primary)}.suggested-filters .category-btn.active{background:var(--primary);color:#fff}.suggested-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.suggested-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--bg-secondary);border:none;border-radius:12px;padding:18px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;opacity:0;transform:translateY(10px)}.suggested-card.visible{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.suggested-card:hover{background:var(--border);transform:translateY(-2px)}.suggested-card:active{transform:scale(.98)}.suggested-card::after{content:'+';position:absolute;top:14px;right:14px;font-size:1.2rem;font-weight:400;color:var(--text-muted);opacity:0;transition:all .2s ease}.suggested-card:hover::after{opacity:1;color:var(--primary)}.suggested-card.just-added{background:rgba(26,95,74,.12)}[data-theme=dark] .suggested-card{background:var(--bg-primary)}[data-theme=dark] .suggested-card:hover{background:var(--border)}[data-theme=dark] .suggested-card::after{color:var(--text-muted)}[data-theme=dark] .suggested-card:hover::after{color:var(--primary-light)}[data-theme=dark] .suggested-card.just-added{background:rgba(45,154,115,.2)}.suggested-card-icon{font-size:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:12px;flex-shrink:0}[data-theme=dark] .suggested-card-icon{background:var(--bg-primary)}.suggested-card-content{flex:1;min-width:0;width:100%}.suggested-card-title{font-weight:600;color:var(--text-primary);font-size:.95rem;margin-bottom:4px}.suggested-card-desc{font-size:.8rem;color:var(--text-muted);line-height:1.5}.show-more-btn{width:100%;padding:14px;background:var(--bg-secondary);border:none;border-radius:12px;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease;margin-top:16px}.show-more-btn:hover{background:var(--border);color:var(--text-primary)}.show-more-btn:active{transform:scale(.98)}.show-more-btn.hidden{display:none}[data-theme=dark] .show-more-btn{background:var(--bg-primary);color:var(--text-secondary)}[data-theme=dark] .show-more-btn:hover{background:var(--border);color:var(--text-primary)}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@media (max-width:968px){.main-grid{grid-template-columns:1fr}.header h1{font-size:2.5rem}.calendar-section,.checklist-section{padding:12px}.suggested-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (max-width:640px){.container{padding:8px}.settings-btn{top:8px;right:8px;width:40px;height:40px;font-size:1.2rem}.analytics-content{width:95%;max-height:80vh}.analytics-header{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));border-radius:0;justify-content:flex-start;gap:4px}.analytics-header h2{font-size:1.2rem}.analytics-body{padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.category-breakdown{grid-template-columns:1fr}.comparison-grid{grid-template-columns:1fr}.settings-content{padding:0;width:95%}.settings-header{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));border-radius:0;justify-content:flex-start;gap:4px}.settings-header h2{font-size:1.3rem}.analytics-close,.settings-close{order:-1;border-radius:8px}.analytics-close .icon-close,.settings-close .icon-close{display:none}.analytics-close .icon-back,.settings-close .icon-back{display:block}.settings-group{padding:16px}.settings-group:last-child{padding-bottom:20px}.settings-group:first-of-type{padding-top:16px}.offset-selector{justify-content:center}.offset-btn{flex:1;min-width:50px;padding:10px 12px;font-size:.85rem}.header{padding:36px 12px 28px}.header-label{font-size:.65rem;padding:6px 14px;margin-bottom:14px}.header h1{font-size:2.2rem;letter-spacing:-.5px}.header .subtitle{font-size:.78rem}.header .hijri-date{font-size:.85rem;padding:6px 16px}.tracker-section{padding:16px}.tracker-date-label{font-size:1.2rem}.tracker-input input{padding:12px 14px}.tracker-input button{padding:12px 20px}.islamic-event-indicator,.ramadan-indicator{font-size:.8rem;padding:8px 12px}.add-task-form button{width:100%;padding:12px;font-size:.95rem}.category-btn{padding:8px 14px;font-size:.8rem}.task-list{max-height:none;gap:10px}.task-item .task-inner{padding:12px;gap:10px}.task-checkbox{width:20px;height:20px}.task-text{font-size:.9rem}.task-category-label{font-size:.7rem}.task-recurring{padding:4px}.task-delete{font-size:1.3rem;padding:4px}.suggested-section{padding:16px;border-radius:16px}.suggested-section h2{font-size:1rem;margin-bottom:12px}.suggested-filters .category-btn{padding:6px 12px;font-size:.75rem}.suggested-grid{display:flex;flex-direction:column;gap:6px}.suggested-card{flex-direction:row;align-items:center;padding:12px;gap:12px}.suggested-card:hover{transform:translateX(4px)}.suggested-card::after{display:none}.suggested-card-icon{width:38px;height:38px;font-size:1.2rem;border-radius:10px}.suggested-card-title{font-size:.85rem;margin-bottom:2px}.suggested-card-desc{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.show-more-btn{width:100%;padding:12px;background:var(--bg-secondary);border:none;border-radius:12px;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease;margin-top:12px}.show-more-btn:hover{background:var(--border);color:var(--text-primary)}.show-more-btn:active{transform:scale(.98)}.show-more-btn.hidden{display:none}[data-theme=dark] .show-more-btn{background:0 0;border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .show-more-btn:hover{background:var(--bg-primary);border-color:var(--primary);color:var(--primary)}.empty-state{padding:30px 16px}.empty-state-icon{font-size:2.5rem;margin-bottom:12px}.empty-state p{font-size:.9rem}.toast{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));bottom:auto;top:calc(env(safe-area-inset-top,0px) + 8px);transform:translateY(-200px);width:auto;border-radius:12px;padding:14px 20px;font-size:.9rem;visibility:hidden;transition:opacity .25s ease,transform .3s cubic-bezier(.34, 1.56, .64, 1),visibility 0s linear 0s}.toast.show{transform:translateY(0);visibility:visible;transition:opacity .25s ease,transform .3s cubic-bezier(.34, 1.56, .64, 1),visibility 0s linear 0s}}.footer{text-align:center;padding:48px 20px 40px;margin-top:40px;position:relative;animation:fadeInUp .5s ease-out .45s both}.footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);border-radius:2px;animation:shimmer 3s ease-in-out infinite}.footer-label{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.footer-label svg{width:12px;height:12px}.footer-title{font-family:Fraunces,serif;font-weight:700;color:var(--primary);font-size:1.4rem;margin-bottom:8px;letter-spacing:-.5px}.footer-accent{font-family:Outfit,sans-serif;color:var(--accent)}.footer-text{font-size:.82rem;color:var(--text-muted);line-height:1.5}.footer-credit{font-size:.72rem;color:var(--text-muted);opacity:.6;margin-top:16px}.footer-credit a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.footer-credit a:hover{border-bottom-color:var(--accent)}.footer-links{font-size:.8rem;margin-top:12px}.footer-links a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px;transition:color .2s}.footer-links a:hover{color:var(--primary)}.empty-state{text-align:center;padding:50px 20px;color:var(--text-muted);background:linear-gradient(180deg,transparent 0,rgba(26,95,74,.02) 100%);border-radius:12px;animation:fadeInUp .4s ease-out}.empty-state-icon{font-size:3.5rem;margin-bottom:16px;display:inline-block;animation:gentleFloat 3s ease-in-out infinite}.empty-state-illustration{width:120px;margin:0 auto 16px;animation:gentleFloat 3s ease-in-out infinite}.empty-state-illustration svg{width:100%;height:auto}@keyframes gentleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state p{line-height:1.6}.empty-state p strong{color:var(--primary);font-weight:600}.week-strip-empty{text-align:center;font-size:.8rem;color:var(--text-muted);padding:8px 0 0}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3000;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:confettiFall var(--duration,3s) linear forwards;animation-delay:var(--delay, 0s)}.confetti::before{content:'';display:block;width:100%;height:100%;background:var(--color,var(--accent));border-radius:var(--radius,0);animation:confettiSpin var(--spin-duration,1s) linear infinite}@keyframes confettiFall{0%{transform:translateY(0) translateX(0);opacity:1}100%{transform:translateY(100vh) translateX(var(--drift,0));opacity:0}}@keyframes confettiSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(.8)}100%{transform:rotate(360deg) scale(1)}}.celebration-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background:var(--bg-primary);padding:24px 40px;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.2);z-index:3001;text-align:center;animation:celebrationPop .5s cubic-bezier(.175,.885,.32,1.275) forwards,celebrationFadeOut .4s ease-out 2s forwards;pointer-events:none}.celebration-message .celebration-icon{font-size:3rem;margin-bottom:8px;display:block}.celebration-message .celebration-text{font-size:1.1rem;font-weight:600;color:var(--primary)}@keyframes celebrationPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes celebrationFadeOut{0%{opacity:1}100%{opacity:0;visibility:hidden}}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-primary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:8px}.skeleton-task{height:56px;margin-bottom:10px;border-radius:12px}.skeleton-card{height:100px;border-radius:12px}.skeleton-text{height:16px;width:60%;margin-bottom:8px}.skeleton-text.short{width:40%}@keyframes skeletonShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes checkBounce{0%{transform:scale(1)}40%{transform:scale(1.3)}100%{transform:scale(1)}}.task-checkbox.just-checked{animation:checkBounce .3s ease}.task-checkbox.just-checked::after{animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.task-item[data-category=worship]{border-left:3px solid #1a5f4a}.task-item[data-category=quran]{border-left:3px solid #2196f3}.task-item[data-category=charity]{border-left:3px solid #d4af37}.task-item[data-category=personal]{border-left:3px solid #9c27b0}[data-theme=dark] .task-item[data-category=worship]{border-left-color:#3ab088}[data-theme=dark] .task-item[data-category=quran]{border-left-color:#64b5f6}[data-theme=dark] .task-item[data-category=charity]{border-left-color:#f4d77e}[data-theme=dark] .task-item[data-category=personal]{border-left-color:#ce93d8}.task-item{position:relative;overflow:hidden}.task-item .swipe-complete-bg{position:absolute;top:0;left:0;bottom:0;width:100%;background:#27ae60;border-radius:inherit;display:flex;align-items:center;justify-content:flex-start;padding-left:28px;color:#fff;font-size:1.4rem;opacity:0;transition:opacity .15s ease}.task-item .swipe-complete-bg.visible{opacity:1}.task-item .swipe-delete-bg{position:absolute;top:0;right:0;bottom:0;width:100%;background:#e74c3c;border-radius:inherit;display:flex;align-items:center;justify-content:flex-end;padding-right:28px;color:#fff;font-size:1.4rem;opacity:0;transition:opacity .15s ease}.task-item .swipe-delete-bg.visible{opacity:1}.task-item .task-inner{display:flex;align-items:center;gap:12px;background:inherit;position:relative;z-index:1;transition:transform .15s ease}@keyframes daySwitchOutLeft{from{transform:translateX(0);opacity:1}to{transform:translateX(-30px);opacity:0}}@keyframes daySwitchOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(30px);opacity:0}}@keyframes daySwitchInLeft{from{transform:translateX(-30px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes daySwitchInRight{from{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}.task-list.slide-out-left{animation:daySwitchOutLeft .15s ease forwards}.task-list.slide-out-right{animation:daySwitchOutRight .15s ease forwards}.task-list.slide-in-left{animation:daySwitchInLeft .15s ease forwards}.task-list.slide-in-right{animation:daySwitchInRight .15s ease forwards}.daily-progress-wrapper{display:flex;align-items:center;gap:8px;margin-top:8px;margin-bottom:16px}.daily-progress-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.daily-progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .4s ease}.daily-progress-label{font-size:.7rem;font-weight:600;color:var(--text-muted);min-width:28px;text-align:right}.daily-progress-fill.complete{background:linear-gradient(90deg,var(--primary),var(--accent));animation:progressGlow 1.5s ease-in-out infinite}.daily-progress-label.complete{color:var(--primary);font-weight:700}@keyframes progressGlow{0%,100%{box-shadow:0 0 4px rgba(26,95,74,.4)}50%{box-shadow:0 0 8px rgba(212,175,55,.6)}}.category-btn svg,.suggested-filters .category-btn svg{width:14px;height:14px;vertical-align:-2px}.settings-btn svg{width:20px;height:20px}.tracker-date-actions svg{width:18px;height:18px}.analytics-header h2 svg,.analytics-section h3 svg,.comparison-card h4 svg{width:18px;height:18px;vertical-align:-3px}.settings-section h3 svg{width:16px;height:16px;vertical-align:-3px}.toast-icon svg{width:16px;height:16px;vertical-align:-3px}.empty-state-icon svg{width:3.5rem;height:3.5rem;stroke:var(--primary)}.swipe-complete-bg svg,.swipe-delete-bg svg{width:20px;height:20px}.celebration-icon svg{width:3rem;height:3rem;stroke:var(--accent)}.category-name svg{width:16px;height:16px;vertical-align:-3px}.analytics-greeting{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:24px;cursor:pointer;transition:background .2s ease,border-color .2s ease;user-select:none;-webkit-tap-highlight-color:transparent}.analytics-greeting:hover{border-color:var(--primary);background:var(--bg-primary)}.analytics-greeting:active{transform:scale(.99)}.greeting-icon{width:36px;height:36px;border-radius:10px;background:rgba(26,95,74,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}[data-theme=dark] .greeting-icon{background:rgba(45,154,115,.12)}.greeting-icon svg{width:18px;height:18px;stroke:var(--primary)}.greeting-text{flex:1;font-size:.9rem;font-weight:500;line-height:1.5;color:var(--text-primary)}.greeting-tap-hint{flex-shrink:0;opacity:.3;transition:opacity .2s ease}.greeting-tap-hint svg{width:14px;height:14px;stroke:var(--text-muted)}.analytics-greeting:hover .greeting-tap-hint{opacity:.6}.analytics-greeting.greeting-fade-out{opacity:.4;transition:opacity .2s ease}.analytics-greeting.greeting-fade-in{opacity:1;transition:opacity .3s ease}[data-theme=dark] .analytics-greeting{background:var(--bg-primary)}.today-snapshot{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0}.progress-ring{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--primary) 0deg var(--progress,0deg),var(--border) var(--progress,0deg) 360deg);display:flex;align-items:center;justify-content:center;position:relative}.progress-ring-inner{width:90px;height:90px;border-radius:50%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center}[data-theme=dark] .progress-ring-inner{background:var(--bg-secondary)}.ring-pct{font-size:1.6rem;font-weight:700;color:var(--primary)}.snapshot-detail{font-size:.9rem;color:var(--text-secondary);font-weight:500}.snapshot-empty{text-align:center;padding:24px;color:var(--text-muted);font-style:italic;font-size:.9rem}.streak-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.streak-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:20px 16px;text-align:center}[data-theme=dark] .streak-card{background:var(--bg-primary)}.streak-value{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:6px}.streak-label{font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:4px}.streak-label svg{width:14px;height:14px}.streak-milestones{display:flex;flex-wrap:wrap;gap:8px}.streak-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;font-size:.78rem;font-weight:600;background:rgba(26,95,74,.08);color:var(--primary)}.streak-badge svg{width:14px;height:14px}.streak-hint{font-size:.85rem;color:var(--text-muted);font-style:italic}.monthly-hero{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.monthly-rate{font-size:2.5rem;font-weight:700;color:var(--primary)}.month-delta{font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.month-delta svg{width:14px;height:14px}.delta-positive{color:#27ae60}.delta-negative{color:#e74c3c}.heatmap-section{margin-top:20px}.heatmap-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.heatmap-grid{display:grid;grid-template-columns:repeat(30,1fr);gap:3px;margin-bottom:8px}.heatmap-cell{aspect-ratio:1;border-radius:3px;min-width:0}.heatmap-cell.level-0{background:var(--border)}.heatmap-cell.level-1{background:var(--primary);opacity:.3}.heatmap-cell.level-2{background:var(--primary);opacity:.6}.heatmap-cell.level-3{background:var(--primary);opacity:1}.heatmap-legend{display:flex;align-items:center;gap:4px;justify-content:flex-end;font-size:.7rem;color:var(--text-muted)}.heatmap-legend .heatmap-cell{width:12px;height:12px;flex-shrink:0}.cat-bar-container{display:flex;flex-direction:column;gap:16px}.cat-bar-row{display:flex;flex-direction:column;gap:6px}.cat-bar-label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;color:var(--text-primary)}.cat-bar-icon svg{width:16px;height:16px}.cat-bar-stats{font-size:.8rem;color:var(--text-secondary);align-self:flex-end;margin-top:-20px}.cat-bar-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.cat-bar-fill{height:100%;border-radius:4px;transition:width .5s ease;min-width:0}.insight-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.insight-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:20px 16px;text-align:center}[data-theme=dark] .insight-card{background:var(--bg-primary)}.insight-icon{margin-bottom:8px}.insight-icon svg{width:22px;height:22px;stroke:var(--primary)}.insight-value{font-size:1.4rem;font-weight:700;color:var(--primary);margin-bottom:4px}.insight-label{font-size:.8rem;color:var(--text-secondary)}.insight-sub{font-size:.72rem;color:var(--text-muted);margin-top:4px}@media (max-width:640px){.streak-cards{grid-template-columns:1fr 1fr}.heatmap-grid{grid-template-columns:repeat(15,1fr)}.insight-cards{grid-template-columns:1fr 1fr}.analytics-greeting{padding:12px 14px;gap:10px}.greeting-text{font-size:.85rem}.greeting-icon{width:32px;height:32px}.greeting-icon svg{width:16px;height:16px}.monthly-rate{font-size:2rem}.progress-ring{width:100px;height:100px}.progress-ring-inner{width:74px;height:74px}.ring-pct{font-size:1.3rem}.cat-bar-stats{margin-top:0;align-self:flex-start}}#analyticsPeriodContent{transition:opacity .15s ease}#analyticsPeriodContent.period-fade-out{opacity:0}.week-range-label{font-size:.8rem;color:var(--text-muted);margin-bottom:8px}.analytics-period-tabs{display:flex;background:var(--bg-secondary);border-radius:12px;padding:4px;margin-bottom:16px;border:1px solid var(--border)}.period-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:none;background:0 0;font-size:.85rem;font-weight:600;color:var(--text-secondary);border-radius:9px;cursor:pointer;transition:all .2s ease;font-family:inherit}.period-tab svg{width:16px;height:16px}.period-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(26,95,74,.25)}[data-theme=dark] .period-tab.active{box-shadow:0 2px 8px rgba(0,0,0,.4)}.weekly-chart{display:flex;align-items:flex-end;gap:8px;height:140px;padding-top:8px}.weekly-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.weekly-bar-value{font-size:.75rem;font-weight:600;color:var(--text-secondary);min-height:18px}.weekly-bar-track{flex:1;width:100%;max-width:32px;background:var(--border);border-radius:6px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.weekly-bar-fill{width:100%;background:linear-gradient(to top,var(--primary),var(--primary-light));border-radius:6px;min-height:2px;transition:height .3s ease}.weekly-bar-label{font-size:.72rem;font-weight:500;color:var(--text-muted)}.weekly-bar-col.today .weekly-bar-label{color:var(--primary);font-weight:700}.weekly-bar-col.today .weekly-bar-fill{background:linear-gradient(to top,var(--primary),var(--accent))}.weekly-bar-col.today .weekly-bar-value{color:var(--primary)}.weekly-bar-col{cursor:pointer;transition:transform .15s ease}.weekly-bar-col:hover{transform:scaleY(1.04)}.weekly-bar-col:active{transform:scaleY(.97)}@media (max-width:640px){.weekly-chart{height:120px;gap:6px}.weekly-bar-track{max-width:28px}.period-tab{font-size:.8rem;padding:8px 8px}.period-tab svg{width:14px;height:14px}}@media (display-mode:standalone){.container{padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));padding-left:calc(8px + env(safe-area-inset-left,0px));padding-right:calc(8px + env(safe-area-inset-right,0px))}.settings-btn{top:calc(20px + env(safe-area-inset-top,0px));right:calc(20px + env(safe-area-inset-right,0px))}.install-banner{padding-left:calc(20px + env(safe-area-inset-left,0px));padding-right:calc(20px + env(safe-area-inset-right,0px))}.toast{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px))}}.install-banner{position:fixed;bottom:0;left:0;right:0;z-index:1500;background:var(--bg-secondary);border-top:1px solid var(--border);padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform .3s ease-out}.install-banner.show{transform:translateY(0)}.install-banner-content{display:flex;align-items:center;gap:12px;max-width:600px;margin:0 auto}.install-banner-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0}.install-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.install-banner-text strong{color:var(--text-primary);font-size:.95rem}.install-banner-text span{color:var(--text-secondary);font-size:.82rem}.install-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.install-banner-btn{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.install-banner-btn svg{width:14px;height:14px;vertical-align:-2px}.install-banner-btn:hover{opacity:.9}.install-banner-dismiss{background:0 0;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center}.install-banner-dismiss svg{width:20px;height:20px}.google-signin-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-family:'Google Sans Flex',sans-serif}.google-signin-btn:hover{border-color:var(--primary);background:var(--bg-secondary)}.google-signin-btn:active{transform:scale(.98)}.google-signin-btn svg{flex-shrink:0}[data-theme=dark] .google-signin-btn{background:var(--bg-secondary)}.user-info-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.user-avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--border)}.user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.user-details strong{font-size:.9rem;color:var(--text-primary)}.user-details span{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:0 0;border:1px solid var(--border);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;font-family:'Google Sans Flex',sans-serif}.signout-btn:hover{border-color:#e74c3c;color:#e74c3c;background:rgba(231,76,60,.05)}.signout-btn svg{width:16px;height:16px}.sync-indicator{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--primary);font-weight:500;padding:4px 12px;background:rgba(26,95,74,.08);border-radius:20px;margin-top:8px}.sync-indicator svg{width:14px;height:14px}.sync-indicator.syncing svg{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=dark] .sync-indicator{background:rgba(45,154,115,.15)}.offline-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#fef3c7;color:#92400e;font-size:.82rem;font-weight:600;border-radius:12px;border:1px solid #fde68a;margin-bottom:12px;opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .3s ease,margin .3s ease,padding .3s ease;padding-top:0;padding-bottom:0;margin-bottom:0}[data-theme=dark] .offline-banner{background:rgba(245,158,11,.15);color:#fbbf24;border-color:rgba(245,158,11,.3)}.offline-banner.visible{opacity:1;max-height:40px;padding:8px 16px;margin-bottom:12px}.offline-banner.reconnected{background:#dcfce7;color:#166534;border-color:#bbf7d0}[data-theme=dark] .offline-banner.reconnected{background:rgba(74,222,128,.12);color:#4ade80;border-color:rgba(74,222,128,.3)}.offline-banner svg{width:14px;height:14px;flex-shrink:0}.whatsnew-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(0px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,backdrop-filter .3s ease}.whatsnew-modal.active{opacity:1;visibility:visible;backdrop-filter:blur(4px)}.whatsnew-content{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:modalSlideIn .3s ease-out;box-sizing:border-box}.whatsnew-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary);border-radius:16px 16px 0 0;z-index:10}.whatsnew-header h2{color:var(--primary);font-size:1.5rem;margin:0}.whatsnew-close{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.whatsnew-close svg{width:20px;height:20px}.whatsnew-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.whatsnew-body{padding:24px}.whatsnew-version-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.whatsnew-version-badge{background:var(--primary);color:#fff;font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:20px}.whatsnew-version-date{font-size:.85rem;color:var(--text-muted)}.whatsnew-feature{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.whatsnew-feature:last-child{margin-bottom:0}.whatsnew-feature-icon{width:40px;height:40px;min-width:40px;border-radius:10px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--primary)}.whatsnew-feature-icon svg{width:20px;height:20px}.whatsnew-feature-text strong{display:block;font-size:.95rem;color:var(--text-primary);margin-bottom:2px}.whatsnew-feature-text p{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.4}.whatsnew-settings-link{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 8px;padding:16px 20px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-light) 100%);border:none;border-radius:0;color:#fff;cursor:pointer;transition:filter .2s ease;text-align:left}.whatsnew-settings-link:hover{filter:brightness(1.1)}.whatsnew-banner-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(255,255,255,.2);border-radius:10px;flex-shrink:0}.whatsnew-banner-icon svg{width:18px;height:18px;color:var(--accent-light)}.whatsnew-banner-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.whatsnew-banner-text span:first-child{font-size:.95rem;font-weight:600;color:#fff}.whatsnew-settings-meta{font-size:.78rem;color:rgba(255,255,255,.75)}.whatsnew-banner-chevron{width:16px;height:16px;color:rgba(255,255,255,.6);flex-shrink:0}@media (max-width:640px){.whatsnew-content{width:95%}.whatsnew-header{padding:16px}.whatsnew-header h2{font-size:1.2rem}.whatsnew-body{padding:16px}}[role=checkbox]:focus-visible,[role=radio]:focus-visible,[role=tab]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.skip-link:focus-visible{top:0;outline:2px solid var(--primary);outline-offset:2px}.mobile-nav{display:none}@media (max-width:640px){.mobile-nav{display:flex;position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:150;background:var(--bg-secondary);border:1px solid var(--border);border-radius:100px;padding:5px;gap:2px;box-shadow:0 8px 32px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.mobile-nav-tab{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border:none;background:0 0;border-radius:100px;cursor:pointer;color:var(--text-secondary);font-size:.82rem;font-weight:600;font-family:Outfit,sans-serif;transition:background .25s ease,color .2s ease,padding .25s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}.mobile-nav-tab svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.75}.mobile-nav-tab span{display:none}.mobile-nav-tab.active{background:var(--primary);color:#fff;padding:10px 20px}.mobile-nav-tab.active span{display:inline}.settings-btn{display:none}.tracker-date-actions .view-progress-btn{display:none}.footer{display:none}.container{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.analytics-modal,.settings-modal{background:var(--bg-primary);backdrop-filter:none;-webkit-backdrop-filter:none;align-items:flex-start;justify-content:flex-start;opacity:1;transform:translateX(100%);visibility:hidden;transition:transform .32s cubic-bezier(.4, 0, .2, 1),visibility 0s linear .32s}.analytics-modal.active,.settings-modal.active{transform:translateX(0);visibility:visible;transition:transform .32s cubic-bezier(.4, 0, .2, 1),visibility 0s linear 0s}.analytics-content,.settings-content{width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;border:none;animation:none}.mobile-nav{z-index:1001}}body:has(.mobile-calendar-modal.active) .mobile-nav{z-index:999}[data-theme=dark] .pull-to-refresh{background:var(--bg-primary);box-shadow:0 2px 8px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3)}[data-theme=dark] .mobile-nav{box-shadow:0 8px 32px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.2)}.pull-to-refresh{display:none}@media (max-width:640px){.pull-to-refresh{display:flex;position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);left:50%;transform:translateX(-50%) translateY(-52px);width:40px;height:40px;align-items:center;justify-content:center;z-index:999;color:var(--text-secondary);background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.08);opacity:0;transition:transform .36s cubic-bezier(.34, 1.56, .64, 1),color .2s ease,opacity .2s ease;will-change:transform;pointer-events:none}.pull-to-refresh.ptr-dragging,.pull-to-refresh.ptr-loading{opacity:1}.pull-to-refresh.ptr-dragging{transition:color .2s ease,opacity .15s ease}.ptr-arrow,.ptr-spinner{position:absolute;width:22px;height:22px;transition:opacity .18s ease}.ptr-spinner{opacity:0}.pull-to-refresh.ptr-ready{color:var(--primary)}.pull-to-refresh.ptr-loading .ptr-arrow{opacity:0}.pull-to-refresh.ptr-loading .ptr-spinner{opacity:1;color:var(--primary);animation:ptrSpin .8s linear infinite}}@keyframes ptrSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}