:root{--text:#4a4a4a;--text-h:#15412d;--text-muted:#6b6b6b;--bg:#f4f8f5;--surface:#fff;--border:#e8ece9;--accent:#1f7a4f;--accent-bg:#1f7a4f1a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/145% var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{box-sizing:border-box;width:100%;max-width:480px;min-height:100svh;margin:0 auto}body{background:var(--bg);margin:0}h1,h2,h3{font-family:var(--sans);color:var(--text-h);font-weight:600}h1{margin:0 0 4px;font-size:28px}h2{margin:0 0 8px;font-size:22px}h3{margin:8px 0 6px;font-size:16px}p{margin:0}.muted{color:var(--text-muted);font-size:13px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:var(--bg);min-height:100svh}.page-content{text-align:left;padding:16px 16px 96px}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.sp-header{justify-content:space-between;align-items:center;padding:18px 16px;display:flex}.sp-header-left{text-align:left;align-items:center;gap:12px;display:flex}.header-logo{object-fit:contain;flex-shrink:0;width:44px;height:44px}.greet{color:#163e2e;font-size:14px;font-weight:600}.date{color:#6b6b6b;font-size:13px}.avatar{color:#15412d;background:#e9f1ec;border:none;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.dashboard-main{padding:12px 16px 90px}.streak-card{background:#fff;border-radius:12px;margin-bottom:12px;padding:14px;box-shadow:0 2px 8px #0000000a}.streak-emoji{font-size:20px}.streak-main{align-items:baseline;gap:8px;display:flex}.streak-num{color:#15412d;font-size:28px;font-weight:700}.streak-label{color:#6b6b6b;font-size:13px}.streak-sub{color:#6b6b6b;margin-top:8px;font-size:13px}.streak-note{color:#8a6b2f;margin-top:8px;font-size:13px}.prayer-list h3{margin:8px 0 6px}.prayer-card{background:0 0;border:1px solid #eee;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:10px 12px;display:flex}.prayer-card.completed{background:#f3fbf7;border-color:#e6f3ea}.prayer-card.current{background:#fffcee;border-color:#f8efd1}.prayer-card.missed{background:#fff6f6;border-color:#f6eaea}.p-name{font-weight:600}.p-time{color:#6b6b6b;font-size:13px}.icon{font-weight:700}.icon.done{color:#1f7a4f}.icon.current{color:#b38a2f}.icon.missed{color:#b35c46}.progress{margin-top:12px}.progress-head{color:#6b6b6b;justify-content:space-between;font-size:13px;display:flex}.progress-bar-outer{background:#eee;border-radius:8px;height:10px;margin-top:8px}.progress-bar-inner{background:#1f7a4f;border-radius:8px;height:100%}.progress-done{color:#1f7a4f;margin-top:6px}.laqab-card{background:#fffaf0;border:1px solid #f1e6d6;border-radius:10px;align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex}.laqab-left{font-size:18px}.laqab-name{color:#8a6b2f;font-weight:700}.laqab-meta{color:#6b6b6b;font-size:13px}.laqab-bar-outer{background:#efe6d6;border-radius:8px;width:96px;height:8px}.laqab-bar-inner{background:#d9b677;border-radius:8px;height:100%}.qada{background:#fff;border:1px solid #eee;border-radius:10px;margin-top:12px;padding:12px}.qada-head{justify-content:space-between;align-items:center;display:flex}.view-qada{color:#1f7a4f;background:0 0;border:none;font-weight:600}.bottom-nav{width:100%;max-width:480px;padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:50;box-sizing:border-box;background:linear-gradient(#ffffffeb,#fff);border-top:1px solid #eee;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{color:#6b6b6b;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:4px 12px;font-size:11px;text-decoration:none;display:flex}.bottom-nav a .nav-icon{font-size:18px;line-height:1}.bottom-nav a.active{color:#15412d;font-weight:700}.bottom-nav a:focus-visible{outline-offset:2px;outline:2px solid #1f7a4f}.streak-card-btn,.laqab-card-btn{text-align:left;cursor:pointer;width:100%;font:inherit;border:none}.streak-card-btn:focus-visible,.laqab-card-btn:focus-visible,.prayer-card:focus-visible,.avatar:focus-visible{outline-offset:2px;outline:2px solid #1f7a4f}.streak-card-btn{display:block}.laqab-card-btn{display:flex}.dashboard{background:var(--bg);min-height:100svh}.prayer-list,.prayer-list h3{text-align:left}.prayer-card{cursor:pointer;text-align:left}.prayer-card:focus-visible{outline-offset:2px;outline:2px solid #1f7a4f}.page-content .card,.qada-screen .card{background:#fff;border:1px solid #eee;border-radius:10px;padding:12px}.page-content button,.qada-screen button{background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 12px}.page-content .contact-form label{color:var(--text-muted);margin-top:12px;font-size:13px;display:block}.page-content .contact-form input,.page-content .contact-form textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid #ddd;border-radius:8px;margin-top:6px;padding:8px 10px}.page-content .contact-form textarea{resize:vertical;min-height:120px}.page-content .contact-form .btn{color:#fff;background:#1f7a4f;border:none;border-radius:8px;padding:10px 14px}.page-content button.madeup,.qada-screen button.madeup,.modal button.madeup{color:#fff;background:#1f7a4f;border:none}.page-content button.view-qada,.qada-screen button.view-qada{color:#1f7a4f;background:0 0;border:none;padding:0;font-weight:600}.page-content input,.page-content select,.qada-screen select{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;padding:8px 10px}.page-content .stat{text-align:left;cursor:pointer;background:#f7faf8;border:1px solid #eee;border-radius:8px;padding:10px}.signin-screen{box-sizing:border-box;background:linear-gradient(165deg,#f5f2e8 0%,#e8f0ea 45%,#f4f8f5 100%);justify-content:center;align-items:center;width:100%;min-height:100svh;padding:32px 20px;display:flex}.signin-inner{text-align:center;width:100%;max-width:340px}.signin-logo-wrap{justify-content:center;align-items:flex-start;height:108px;margin:0 auto 20px;display:flex;overflow:hidden}.signin-logo{object-fit:contain;object-position:top center;width:160px;height:auto;display:block}.signin-tagline{color:#4a5c52;max-width:280px;margin:0 auto 28px;font-size:15px;line-height:1.55}.signin-btn-google{color:#1a1a1a;background:#fff;border:1px solid #dde5df;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px 18px;font-size:15px;font-weight:600;transition:box-shadow .15s,border-color .15s;display:flex;box-shadow:0 2px 8px #15412d0f}.signin-btn-google:hover:not(:disabled){border-color:#b8cfc0;box-shadow:0 4px 14px #15412d1a}.signin-btn-google:disabled{opacity:.75;cursor:wait}.signin-btn-google:focus-visible{outline-offset:2px;outline:2px solid #1f7a4f}.signin-google-icon{flex-shrink:0;width:20px;height:20px}.signin-footnote{color:#8a948e;margin:16px 0 0;font-size:12px}.notif-list{gap:10px;display:grid}.notif-row{text-align:left;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.notif-row input{flex-shrink:0;width:18px;height:18px}.prayer-detail{text-align:left}.prayer-back{color:#15412d;background:0 0;border:none;margin-bottom:8px;padding:0;font-weight:600}.prayer-detail-title{color:#6b6b6b;margin:0 0 20px;font-size:16px;font-weight:500}.prayer-detail-hero{margin-bottom:20px}.prayer-detail-name{color:#15412d;font-size:36px;font-weight:700;line-height:1.1}.prayer-detail-date{color:#4a4a4a;margin-top:10px;font-size:15px}.prayer-detail-time{color:#15412d;margin-top:4px;font-size:20px;font-weight:600}.prayer-detail-meta{margin-top:12px}.prayer-status-badge{border-radius:999px;margin-bottom:16px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-block}.status-upcoming{color:#6b6b6b;background:#f0f4f1}.status-current{color:#8a6b2f;background:#fffcee}.status-completed{color:#1f7a4f;background:#e9f5ef}.status-missed{color:#7a5c52;background:#f5f0ee}.status-madeup{color:#8a6b2f;background:#fffaf0}.prayer-qada-info{text-align:left;margin:16px 0}.prayer-qada-info h3{margin:0 0 8px;font-size:15px}.prayer-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.prayer-btn-primary{color:#fff;background:#15412d;border:none;border-radius:12px;width:100%;padding:14px;font-size:16px;font-weight:600}.prayer-btn-primary:disabled{opacity:.6;cursor:wait}.prayer-btn-secondary{color:#15412d;background:#fff;border:1px solid #dde5df;border-radius:12px;width:100%;padding:12px;font-weight:600}.prayer-btn-secondary:disabled{opacity:.6;cursor:wait}.prayer-action-error{margin-top:16px;background:#fffaf8!important;border-color:#f6eaea!important}.prayer-confirm-modal h3{margin:0 0 8px}.prayer-confirm-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.laqab-unlock-body{text-align:center}.laqab-unlock-icon{margin-bottom:8px;font-size:32px}.laqab-unlock-meta{color:#8a6b2f;margin:8px 0 16px;font-size:14px}.skeleton-line,.skeleton-block{background:linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%) 0 0/200% 100%;border-radius:8px;animation:1.2s ease-in-out infinite skeleton}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.qada-screen{text-align:left}.qada-header{justify-content:space-between;align-items:center;display:flex}.qada-header h1{margin:0}.qada-summary{gap:12px;margin-top:12px;display:flex}.qada-summary .card{background:#fff;border:1px solid #eee;border-radius:10px;flex:1;padding:12px}.qada-summary .big{color:#15412d;font-size:28px;font-weight:700}.qada-progress,.qada-controls{margin-top:12px}.filters{align-items:center;gap:8px;display:flex}.qada-list{margin-top:12px}.qada-item{background:#fff;border:1px solid #eee;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px;display:flex}.qada-item .p-name{font-weight:700}.qada-item .p-date{color:#6b6b6b;font-size:13px}.qada-item .madeup{color:#fff;background:#1f7a4f;border:none;border-radius:8px;padding:8px 10px}.qada-item .madeup-label{color:#6b6b6b}.empty{text-align:center;color:#1f7a4f;padding:24px}.modal-backdrop{background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:90%;max-width:420px;padding:18px}.modal h3{margin:0}.modal .madeup{color:#fff;background:#1f7a4f;border:none;border-radius:8px;padding:8px 12px}.missed-banner{text-align:left;background:#fff6f6;border:1px solid #f6eaea;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 16px 12px;padding:12px 14px;display:flex}.missed-banner-text{flex:1;font-size:14px}.missed-banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.missed-dismiss{color:#6b6b6b;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.friends-screen{text-align:left}.friends-header h1{color:#15412d;margin:0 0 4px}.friends-actions{flex-direction:column;gap:10px;margin:16px 0 24px;display:flex}.friends-section{margin-top:24px}.friends-section h2{color:#15412d;margin:0 0 12px;font-size:16px}.friend-row{align-items:center;gap:12px;margin-bottom:8px;display:flex;padding:12px!important}.friend-row-main{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.friend-row-text{flex:1;min-width:0}.friend-name{color:#15412d;font-weight:600}.friend-challenge-dot{color:#8a6b2f;margin-top:2px;font-size:12px}.friend-remove{color:#9a9a9a;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.friend-row-actions{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.friend-request-card{align-items:center;gap:12px;margin-bottom:8px;display:flex}.friend-request-actions{flex-shrink:0;gap:8px;display:flex}.friend-search-result{align-items:center;gap:12px;margin-bottom:8px;display:flex}.add-friend-search{gap:8px;margin-top:12px;display:flex}.add-friend-search input{flex:1}.challenge-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #eee;border-radius:10px;width:100%;margin-bottom:8px;display:block;padding:14px!important}.challenge-row-name{color:#15412d;font-weight:700}.challenge-row-status{color:#8a6b2f;margin-top:4px;font-size:13px}.challenge-invite-card{text-align:left;margin-bottom:12px}.challenge-detail-header h1{color:#15412d;margin:0 0 4px}.challenge-day-label{color:#15412d;margin:8px 0;font-size:20px;font-weight:600}.challenge-encourage{color:#6b6b6b;margin:12px 0;font-style:italic}.challenge-member{align-items:flex-start;gap:12px;margin-bottom:8px;display:flex;padding:12px!important}.challenge-complete-card{text-align:center;margin:16px 0}.challenge-complete-card h2{color:#15412d;margin:0 0 8px}.create-challenge-form label{display:block}.empty-inline{margin:0;padding:8px 0}.challenge-banner{text-align:left;background:#f4f8f5;border:1px solid #dde5df;border-radius:10px;margin:0 16px 12px;padding:12px 14px}.challenge-banner button{margin-top:6px}
