@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tumbuh-font-0.ttf)format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tumbuh-font-1.ttf)format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/tumbuh-font-2.ttf)format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/tumbuh-font-3.ttf)format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/tumbuh-font-4.ttf)format("truetype")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/tumbuh-font-5.ttf)format("truetype")}
:root{--font-body:"Plus Jakarta Sans", "Trebuchet MS", sans-serif;--font-display:var(--font-body);--font-arabic:"Noto Naskh Arabic", "Traditional Arabic", serif;--color-paper:#f7f8f2;--color-paper-2:#f0f2e9;--color-surface:#fefef9;--color-ink:#263d32;--color-ink-2:#657268;--color-muted:#727c71;--color-rule:#e5e9dd;--color-accent:#e9eaa4;--color-accent-ink:#2d402a;--color-accent-deep:#c8ce78;--color-accent-cast:#80924b1c;--color-green:#417650;--color-green-dark:#2e603f;--color-green-soft:#e7efdf;--color-green-edge:#234d30;--color-coral:#cb795c;--color-coral-soft:#f5e5d8;--color-sky:#a4c8cf;--color-sky-soft:#edf4f3;--color-focus:#356553;--color-error:#a33d33;--color-error-soft:#faebe3;--color-warning:#74552d;--color-warning-soft:#fbf0d9;--color-overlay:#172b2180;--color-shadow:#1e3c2410;--color-shadow-deep:#243b2930;--confetti-0:#779e60;--confetti-1:#d4b66f;--confetti-2:#d99071;--confetti-3:#8ab6bd;--sky-top:#e7f0d9;--sky-bottom:#f1f3d9;--sun:#edcb76;--sun-halo:#edd68b30;--cloud:#fffff3c9;--hill-back:#cfdfb3;--hill-front:#bdd29c;--grass-light:#a9c987;--grass:#94b876;--grass-dot:#70995d66;--island-shadow:#77975824;--island-side:#8da56c;--tree-shadow:#3c71332b;--tree-main:#5e954f;--tree-main-light:#78a65c;--tree-partner:#9cb16e;--tree-partner-light:#b1bd7e;--trunk:#8c7851;--fruit:#e4a47b;--river-edge:#cce2c2;--river:#98c6ba;--river-shine:#e3eed5;--leaf:#638c4c;--leaf-dark:#507847;--bush:#80a85d;--stone:#e7e2ba;--wood:#b3a477;--wood-line:#8f845e;--flower:#f2b89c;--flower-white:#f7f1c9;--butterfly:#e8ad7a;--bird:#718f67;--radius-card:20px;--radius-pill:999px;--ease-smooth:cubic-bezier(.22,1,.36,1);--ease-spring:cubic-bezier(.34,1.4,.64,1)}
*{box-sizing:border-box}html,body{scroll-behavior:smooth;margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px;font-weight:450;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.5}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button,a{white-space:nowrap}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0;font-style:normal}h1{letter-spacing:-1.9px;font-size:clamp(30px,3vw,43px);font-weight:650;line-height:1.23}h2{letter-spacing:-.5px;font-size:17px;font-weight:650}svg{flex-shrink:0}input,select{min-width:0}input[type=checkbox]{accent-color:var(--color-green);width:18px;height:18px}::selection{background:var(--color-accent);color:var(--color-ink)}.skip-link{z-index:100;background:var(--color-green);color:var(--color-paper);border-radius:12px;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.app{min-height:100dvh}.sidebar{display:none}.main-wrap{min-width:0}.topbar{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;height:76px;padding:0 24px;display:flex}.breadcrumb{color:var(--color-muted);align-items:center;gap:11px;font-size:12px;display:flex}.breadcrumb>span{color:var(--color-ink);font-weight:550}.top-actions{align-items:center;gap:15px;display:flex}.today-date{color:var(--color-ink-2);font-size:11px;display:none}.icon-button{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,transform .2s;display:inline-flex}.icon-button:hover{background:var(--color-paper-2);transform:rotate(-5deg)}.profile-avatar{background:var(--color-green-soft);width:34px;height:34px;color:var(--color-green);border:3px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-rule);border-radius:50%;font-size:12px;font-weight:700}main{max-width:1420px;margin:auto;padding:30px 20px 112px}.greeting{color:var(--color-ink-2);align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:550;display:flex}.greeting-sun{color:var(--color-coral);display:inline-flex}.welcome{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-intro{color:var(--color-ink-2);margin-top:13px;font-size:12px;line-height:1.8}.green-period{color:var(--color-green)}.button{--btn-face:var(--color-accent);--btn-ink:var(--color-accent-ink);--btn-edge:var(--color-accent-deep);--btn-cast:var(--color-accent-cast);border-radius:var(--radius-pill);min-height:44px;color:var(--btn-ink);background:var(--btn-face);isolation:isolate;box-shadow:0 4px 0 0 var(--btn-edge),0 6px 12px -3px var(--btn-cast);border:0;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:12px;font-weight:650;transition:transform .14s cubic-bezier(.2,.7,.3,1),box-shadow .14s cubic-bezier(.2,.7,.3,1),background-color .16s;display:inline-flex;position:relative;transform:translateY(0)}.button:hover{box-shadow:0 6px 0 0 var(--btn-edge),0 12px 22px -4px var(--btn-cast);transform:translateY(-2px)}.button:active{box-shadow:0 1px 0 0 var(--btn-edge),0 2px 6px -2px var(--btn-cast);transition-duration:70ms;transform:translateY(3px)}.button:disabled{box-shadow:none;transform:none}.button-primary{--btn-face:var(--color-green);--btn-ink:var(--color-surface);--btn-edge:var(--color-green-edge);--btn-cast:var(--color-shadow-deep)}.button-outline{--btn-face:transparent;--btn-ink:var(--color-ink);border:1px solid var(--color-rule);box-shadow:none;font-size:11px}.button-outline:hover{background:var(--color-paper-2);box-shadow:none}.button-outline:active{box-shadow:none}.invite-top{display:none}.text-link{align-items:center;gap:6px;min-height:36px;padding:0;font-size:11px;font-weight:600;transition:color .18s,gap .18s;display:inline-flex}.text-link:hover{color:var(--color-green);gap:9px}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.garden-card{border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;overflow:clip}.garden-card-head{justify-content:space-between;align-items:center;gap:8px;padding:19px 19px 0;display:flex}.section-label{letter-spacing:1.45px;align-items:center;gap:8px;font-size:9px;font-weight:650;display:flex}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.green{background:var(--color-green)}.peach{background:var(--color-coral)}.garden-season{color:var(--color-ink-2);align-items:center;gap:5px;font-size:9px;display:flex}.garden-scene{isolation:isolate;--scene-height:300px;margin:0 0 -2px;position:relative;overflow:clip}.landscape{object-fit:cover;width:100%;height:auto;min-height:230px;display:block}.garden-caption{background:var(--color-surface);color:var(--color-ink-2);border-radius:var(--radius-pill);white-space:nowrap;box-shadow:0 3px 9px var(--color-shadow);align-items:center;gap:6px;padding:6px 12px;font-size:9px;display:flex;position:absolute;bottom:23px;left:50%;transform:translate(-50%)}.live-dot{background:var(--color-green);width:5px;height:5px;box-shadow:0 0 0 3px var(--color-green-soft);border-radius:50%}.garden-card-bottom{border-top:1px solid var(--color-rule);justify-content:space-between;align-items:center;padding:17px 20px 18px;display:flex}.garden-level{align-items:center;gap:6px;font-size:11px;font-weight:650;display:flex}.garden-card-bottom p{color:var(--color-ink-2);margin-top:5px;font-size:9px;line-height:1.6}.garden-info{color:var(--color-ink-2);width:32px;height:32px}.tree-hotspot{border:2px solid #0000;border-radius:50%;width:21%;height:45%;transition:background .2s;position:absolute;top:27%}.tree-hotspot:hover{background:color-mix(in srgb,var(--color-surface) 12%,transparent)}.tree-hotspot>span{background:var(--color-surface);color:var(--color-green);opacity:0;box-shadow:0 3px 12px var(--color-shadow-deep);border-radius:12px;padding:4px 9px;font-size:9px;transition:opacity .2s,transform .2s;position:absolute;top:93%;left:50%;transform:translate(-50%)translateY(3px)}.tree-hotspot:hover>span,.tree-hotspot:focus-visible>span{opacity:1;transform:translate(-50%)}.tree-mine{left:27%}.tree-theirs{left:54%}.butterfly-hotspot{border-radius:50%;width:44px;height:44px;position:absolute;top:39%;left:43%}.tree-sway{transform-origin:0 0;animation:5s ease-in-out infinite alternate tree-sway}.tree-crown{transform-origin:50% 0;transition:transform 1.8s var(--ease-spring)}.cloud-one{animation:35s linear infinite alternate cloud-drift}.cloud-two{animation:43s linear infinite alternate-reverse cloud-drift}.butterfly{transform-box:fill-box;transform-origin:50%;animation:6s ease-in-out infinite butterfly-flight}.garden-flower{transform-box:fill-box;transform-origin:bottom;animation:4s ease-in-out infinite alternate flower-sway}.water-glints{animation:3s ease-in-out infinite alternate water-shimmer}.sun-orbit{animation:7s ease-in-out infinite alternate sun-glow}.garden-celebrate .tree-sway{animation:.8s ease-in-out 2 tree-celebrate}.evening{--sky-top:#d9dfdc;--sky-bottom:#eee2ce;--hill-back:#c0cfb2;--hill-front:#acbf9c;--sun:#e4bd8e;--sun-halo:#e2ba8a45}.daily-card{background:var(--color-green-soft);border:1px solid color-mix(in srgb,var(--color-green) 8%,transparent);border-radius:var(--radius-card);text-align:center;flex-direction:column;align-items:center;padding:23px;display:flex}.daily-card>.section-label{letter-spacing:1.4px;justify-content:space-between;align-self:stretch;font-size:9px}.daily-card>.section-label span{color:var(--color-green)}.daily-card h2{letter-spacing:-1px;margin-top:19px;font-size:25px;line-height:1.35}.daily-card>p{color:var(--color-ink-2);margin-top:11px;font-size:11px;line-height:1.85}.daily-ring{width:142px;height:142px;margin:17px auto 20px;position:relative}.daily-ring>svg{width:100%;height:100%;transform:rotate(-90deg)}.daily-ring circle{fill:none;stroke-width:7px}.ring-bg{stroke:color-mix(in srgb,var(--color-green) 10%,transparent)}.ring-fill{stroke:var(--color-green);stroke-linecap:round;stroke-dasharray:371;transition:stroke-dashoffset 1.3s var(--ease-smooth)}.daily-ring>div{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.daily-ring strong{letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:35px;font-weight:650;line-height:1.4}.daily-ring strong small{letter-spacing:-.5px;color:var(--color-ink-2);font-size:17px;font-weight:500}.daily-ring>div>span{color:var(--color-ink-2);font-size:10px}.ring-leaf{background:var(--color-accent);width:32px;height:32px;color:var(--color-green);border:3px solid var(--color-green-soft);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:8px;right:9px}.daily-card>.button{width:100%}.daily-log{color:var(--color-ink-2);margin-top:9px;font-size:10px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin:28px 0 16px;display:flex}.section-heading h2{font-size:16px}.section-heading>span{color:var(--color-ink-2);font-size:10px}.together-grid{grid-template-columns:minmax(0,1fr);gap:15px;display:grid}.person-card{background:var(--color-surface);border:1px solid var(--color-rule);text-align:left;white-space:normal;border-radius:17px;padding:19px;transition:background .25s,border-color .25s,transform .25s}.person-card.selected{border-color:color-mix(in srgb,var(--color-green) 40%,var(--color-rule))}.person-card:hover{background:var(--color-paper-2);transform:translateY(-3px)}.person-top{align-items:center;gap:10px;display:flex}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:650;display:inline-flex}.avatar-0{background:var(--color-green-soft);color:var(--color-green)}.avatar-1{background:var(--color-coral-soft);color:var(--color-coral)}.person-top>div{flex-direction:column;gap:1px;min-width:0;display:flex}.person-top strong{text-overflow:ellipsis;max-width:130px;font-size:12px;overflow:hidden}.person-top>div>span{color:var(--color-ink-2);font-size:9px}.streak-tag{color:var(--color-coral);white-space:nowrap;align-items:center;gap:3px;margin-left:auto;font-size:9px;display:flex}.person-progress-label{justify-content:space-between;gap:8px;margin-top:20px;margin-bottom:9px;font-size:10px;display:flex}.person-progress-label>span{color:var(--color-ink-2)}.person-progress-label strong{font-size:11px;font-weight:650}.person-progress-label small{color:var(--color-ink-2);font-size:10px;font-weight:450}.progress-track{background:var(--color-paper-2);border-radius:8px;height:5px;overflow:clip}.progress-track>span{background:var(--color-green);border-radius:inherit;min-width:0;height:100%;transition:width 1s var(--ease-smooth);display:block}.progress-track.profile-1>span{background:var(--color-coral)}.person-footer{color:var(--color-ink-2);justify-content:space-between;align-items:center;margin-top:12px;font-size:9px;display:flex}.person-footer>span{align-items:center;gap:5px;display:flex}.person-footer .dot{width:4px;height:4px}.person-footer>svg{color:var(--color-green)}.together-card{background:var(--color-coral-soft);text-align:center;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;padding:16px 22px;display:flex}.together-art{width:87px;height:50px;color:var(--color-coral);place-items:center;display:grid;position:relative}.spark{font-size:12px;font-weight:600;position:absolute}.s1{top:3px;left:0}.s2{font-size:10px;bottom:6px;right:4px}.s3{font-size:10px;top:-4px;right:9px}.together-card>strong{margin-top:6px;font-size:11px}.together-card>p{color:var(--color-ink-2);max-width:220px;margin-top:6px;font-size:9px;line-height:1.8}.bottom-grid{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:22px;display:grid}.week-card{border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);padding:21px}.week-card .section-heading{gap:8px;margin:0 0 16px}.week-card .section-heading h2{font-size:13px}.week-card .text-link{font-size:9px}.week-bars{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;height:108px;display:grid}.week-day{flex-direction:column;align-items:center;height:100%;display:flex;position:relative}.bar-pair{border-bottom:1px solid var(--color-rule);align-items:flex-end;gap:4px;width:25px;height:78px;display:flex}.bar{background:var(--color-green);width:10px;min-height:4px;transition:height 1s var(--ease-smooth);border-radius:4px 4px 0 0;position:relative}.bar-1{background:var(--color-coral)}.bar.empty{background:var(--color-paper-2)}.bar>span{opacity:0;font-size:8px;transition:opacity .15s;position:absolute;top:-19px;left:50%;transform:translate(-50%)}.week-day:hover .bar>span{opacity:1}.week-day>span{color:var(--color-ink-2);margin-top:9px;font-size:9px}.is-today>span{color:var(--color-green);font-weight:650}.week-day>i{background:var(--color-green);border-radius:50%;width:3px;height:3px;margin-top:4px}.week-legend{color:var(--color-ink-2);justify-content:center;gap:15px;margin-top:9px;font-size:9px;display:flex}.week-legend>span{align-items:center;gap:5px;display:flex}.week-legend .dot{width:5px;height:5px}.verse-card{border-radius:var(--radius-card);background:var(--color-paper-2);padding:23px 26px;position:relative;overflow:clip}.verse-card>.section-label{letter-spacing:1.5px;color:var(--color-ink-2);font-size:8px}.verse-arabic{font-family:var(--font-arabic);z-index:1;margin-top:15px;font-size:28px;line-height:2.1;position:relative}.verse-translation{z-index:1;max-width:350px;font-size:11px;line-height:1.8;position:relative}.verse-source{color:var(--color-ink-2);margin-top:11px;font-size:9px}.verse-decoration{color:color-mix(in srgb,var(--color-green) 8%,transparent);pointer-events:none;font-size:180px;line-height:1;position:absolute;bottom:-96px;right:-27px}.page-footer{color:var(--color-ink-2);flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:26px;font-size:8px;display:flex}.page-footer>span,.page-footer a{align-items:center;gap:5px;display:inline-flex}.mobile-nav{z-index:20;background:var(--color-surface);border-top:1px solid var(--color-rule);padding:8px 8px max(8px,env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav>button{min-height:51px;color:var(--color-ink-2);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;transition:background .2s;display:flex}.mobile-nav>button.active{color:var(--color-green);background:var(--color-green-soft)}.status-banner{background:var(--color-green-soft);color:var(--color-ink);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;padding:13px 17px;font-size:11px;display:flex}.status-banner>span{flex:1;min-width:150px}.status-banner.warning{background:var(--color-warning-soft);color:var(--color-warning)}.page-heading{margin:7px 0 29px}.page-heading h1{font-size:clamp(32px,4vw,46px)}.quran-tools{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px;display:flex}.search-field{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-pill);min-width:190px;height:46px;color:var(--color-ink-2);flex:1;align-items:center;gap:10px;padding:0 15px;display:flex}.search-field input{width:100%;height:100%;color:var(--color-ink);background:0 0;border:0;outline:0;font-size:12px}.surah-grid{grid-template-columns:minmax(0,1fr);gap:11px;display:grid}.surah-card{text-align:left;white-space:normal;border:1px solid var(--color-rule);background:var(--color-surface);border-radius:14px;align-items:center;gap:12px;min-width:0;min-height:86px;padding:17px;transition:background .2s,transform .2s,border-color .2s;display:flex}.surah-card:hover{border-color:var(--color-green);background:var(--color-green-soft);transform:translateY(-3px)}.surah-number{background:var(--color-paper-2);border-radius:10px;flex-shrink:0;place-items:center;width:33px;height:33px;font-size:10px;font-weight:600;display:grid}.surah-info{flex-direction:column;gap:4px;min-width:0;display:flex}.surah-info strong{font-size:12px}.surah-info>span{color:var(--color-ink-2);font-size:9px}.surah-arabic{font-family:var(--font-arabic);color:var(--color-green);margin-left:auto;font-size:22px}.reader-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:60dvh;display:flex}.reader-loading p{color:var(--color-ink-2);font-size:12px}.spinner-leaf{color:var(--color-green);animation:2s ease-in-out infinite alternate tree-sway}.reader-back{justify-content:space-between;align-items:center;gap:12px;display:flex}.reader-profile{color:var(--color-ink-2);font-size:10px}.reader-title{text-align:center;padding:35px 0 29px}.reader-title h1{margin-top:10px;font-size:33px}.reader-title>p{color:var(--color-ink-2);margin-top:8px;font-size:11px}.reader-title>p>span{margin:0 9px}.reader-flower{color:var(--color-green);display:inline-flex}.reader-settings{background:var(--color-paper-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.reader-settings>label{align-items:center;gap:8px;font-size:11px;display:flex}.font-controls{gap:3px;display:flex}.font-controls button{background:var(--color-surface);border-radius:8px;min-width:40px;min-height:40px;font-size:12px}.qari-label>select{color:var(--color-ink);background:0 0;border:0;max-width:160px;height:40px;font-size:11px}.reading-note{color:var(--color-ink-2);margin:14px 4px 6px;font-size:10px}.ayat{border-bottom:1px solid var(--color-rule);padding:25px 4px 27px;scroll-margin-top:30px;transition:background .2s}.ayat.marked{background:color-mix(in srgb,var(--color-green-soft) 40%,transparent)}.ayat-toolbar,.ayat-toolbar>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.ayat-number{border:1px solid var(--color-rule);color:var(--color-ink-2);border-radius:8px;padding:4px 10px;font-size:10px}.mark-button{border-radius:9px;align-items:center;gap:6px;min-height:40px;padding:8px 10px;font-size:10px;display:flex}.mark-button.is-marked{background:var(--color-green-soft);color:var(--color-green)}.playing{color:var(--color-green);background:var(--color-green-soft)}.ayat-arabic{font-family:var(--font-arabic);text-align:right;word-spacing:3px;margin:18px 0 16px;font-weight:400;line-height:2.2}.arabic-verse-number{white-space:nowrap;color:var(--color-green);font-size:.65em}.ayat-latin{color:var(--color-green);margin-bottom:12px;font-size:12px;line-height:1.85}.ayat-translation{color:var(--color-ink-2);max-width:800px;font-size:12px;line-height:1.95}.reader-save{background:var(--color-surface);box-shadow:0 -3px 20px var(--color-shadow);border:1px solid var(--color-rule);z-index:5;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:22px 0;padding:15px;display:flex;position:sticky;bottom:79px}.reader-save>div{flex-direction:column;gap:3px;display:flex}.reader-save strong{font-size:12px}.reader-save>div>span{color:var(--color-ink-2);font-size:9px;display:none}.reader-save .button{padding:10px 16px;font-size:11px}.surah-next{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.surah-next>.button{padding:9px 13px;font-size:10px}.quran-credit{color:var(--color-ink-2);text-align:center;margin-top:30px;font-size:9px}.quran-credit a{text-decoration:underline}.journey-summary{border-block:1px solid var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:26px;padding:25px 0;display:grid}.journey-summary>div{flex-direction:column;gap:10px;display:flex}.journey-summary>div>span{color:var(--color-ink-2);font-size:9px}.journey-summary strong{letter-spacing:-1px;font-size:30px;font-weight:600}.journey-summary strong small{letter-spacing:0;font-size:11px;font-weight:450}.khatam-card{border-radius:var(--radius-card);background:var(--color-green-soft);padding:25px}.khatam-card h2{margin-top:12px}.khatam-card p{color:var(--color-ink-2);max-width:540px;margin:9px 0 18px;font-size:11px}.khatam-person{margin-top:16px}.khatam-person>div:first-child{justify-content:space-between;gap:12px;margin-bottom:8px;font-size:10px;display:flex}.khatam-person strong{font-weight:550}.khatam-person .progress-track{background:var(--color-surface)}.session-list{border:1px solid var(--color-rule);background:var(--color-surface);border-radius:15px;overflow:clip}.session-row{border-bottom:1px solid var(--color-rule);align-items:center;gap:12px;padding:17px;display:flex}.session-row:last-child{border:0}.session-row>div{min-width:0}.session-row strong{font-size:11px;font-weight:600}.session-row strong>span{font-weight:450}.session-row p{color:var(--color-ink-2);margin-top:4px;font-size:9px}.session-count{color:var(--color-green);white-space:nowrap;margin-left:auto;font-size:10px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;display:flex}.empty-state>svg,.empty-plant{color:var(--color-green)}.empty-plant{background:var(--color-green-soft);border-radius:50%;place-items:center;width:95px;height:95px;display:grid}.empty-state h2{font-size:23px}.empty-state p{max-width:360px;color:var(--color-ink-2);font-size:12px;line-height:1.9}.profile-tabs{border:1px solid var(--color-rule);border-radius:var(--radius-pill);gap:4px;margin-bottom:25px;padding:4px;display:inline-flex}.profile-tabs>button{border-radius:var(--radius-pill);min-height:40px;padding:10px 25px;font-size:12px}.profile-tabs>button.active{background:var(--color-green);color:var(--color-surface)}.achievement-grid{grid-template-columns:minmax(0,1fr);gap:17px;display:grid}.achievement{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-card);text-align:center;padding:30px 25px}.achievement-icon{background:var(--color-paper-2);width:88px;height:88px;color:var(--color-ink-2);border-radius:28px;place-items:center;margin:0 auto 23px;display:grid;position:relative;transform:rotate(-5deg)}.achievement.unlocked .achievement-icon{background:var(--color-accent);color:var(--color-green);animation:badge-unlock .65s var(--ease-spring)}.achievement-icon>span{background:var(--color-green);width:26px;height:26px;color:var(--color-surface);border:3px solid var(--color-surface);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-5px;right:-5px}.achievement-state{letter-spacing:1.2px;color:var(--color-ink-2);font-size:8px}.achievement h2{margin-top:9px;font-size:19px}.achievement p{color:var(--color-ink-2);min-height:40px;margin:8px 0 22px;font-size:11px}.achievement>.progress-track{max-width:180px;margin:auto}.achievement>small{color:var(--color-ink-2);margin-top:10px;font-size:9px;display:block}.gentle-note{color:var(--color-ink-2);justify-content:center;align-items:center;gap:9px;padding:30px 0;font-size:11px;line-height:1.8;display:flex}.modal{border:1px solid var(--color-rule);background:var(--color-paper);width:min(480px,100% - 32px);height:fit-content;max-height:86dvh;color:var(--color-ink);box-shadow:0 28px 100px var(--color-shadow-deep);overscroll-behavior:contain;animation:modal-enter .25s var(--ease-smooth);border-radius:23px;margin:auto;padding:25px;position:fixed;inset:0}.modal::backdrop{background:var(--color-overlay)}.modal-wide{width:min(700px,100% - 32px)}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal-head h2{font-size:20px;line-height:1.4}.modal-head .icon-button{flex-shrink:0}.modal-intro{color:var(--color-ink-2);margin-bottom:21px;font-size:12px;line-height:1.9}.form-stack{flex-direction:column;gap:16px;display:flex}.form-stack label{flex-direction:column;gap:7px;min-width:0;font-size:11px;font-weight:550;display:flex}.form-stack input:not([type=checkbox]),.form-stack select{border:1px solid var(--color-rule);background:var(--color-surface);width:100%;min-width:0;height:46px;color:var(--color-ink);outline-offset:2px;border-radius:10px;padding:10px 12px;font-size:12px;transition:background .15s}.form-stack input:hover,.form-stack select:hover{background:var(--color-paper-2)}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-hint{color:var(--color-ink-2);margin-top:8px;font-size:10px;line-height:1.8}.log-preview{background:var(--color-green-soft);color:var(--color-green);border-radius:10px;align-items:center;gap:10px;padding:14px;font-size:12px;display:flex}.error-box{background:var(--color-error-soft);color:var(--color-error);border-radius:10px;padding:12px 14px;font-size:11px;line-height:1.8}.error-box a{text-decoration:underline}.full-width{width:100%;margin-bottom:4px}.form-stack .toggle-row{border-block:1px solid var(--color-rule);flex-direction:row;justify-content:space-between;align-items:center;padding:15px 0;display:flex}.toggle-row>span{flex-direction:column;gap:4px;display:flex}.toggle-row small{color:var(--color-ink-2);font-size:10px;font-weight:450}.toggle-row input{flex-shrink:0;width:20px;height:20px}.settings-profile{border-bottom:1px solid var(--color-rule);padding-bottom:16px}.center-link{margin:auto}.invite-art{background:var(--color-green-soft);color:var(--color-green);border-radius:22px;place-items:center;width:90px;height:80px;margin:14px auto 22px;display:grid;position:relative}.invite-art>svg:last-child{color:var(--color-coral);background:var(--color-coral-soft);box-sizing:content-box;border-radius:50%;padding:7px;position:absolute;bottom:-5px;right:-6px}.invite-code{background:var(--color-surface);border:1px dashed var(--color-green);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 12px 17px;display:flex}.invite-code>code{letter-spacing:1px;font-size:clamp(10px,3vw,17px);font-family:var(--font-body);font-weight:650}.join-form{border-top:1px solid var(--color-rule);margin-top:22px;padding-top:22px}.tree-detail{border-radius:50%;place-items:center;width:130px;height:130px;margin:15px auto 25px;animation:4s ease-in-out infinite alternate tree-sway;display:grid}.tree-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:25px 0 30px;display:grid}.tree-detail-stats>span{color:var(--color-ink-2);flex-direction:column;align-items:center;gap:5px;font-size:9px;display:flex}.tree-detail-stats strong{color:var(--color-ink);font-size:28px;font-weight:600}.help-steps{flex-direction:column;gap:20px;padding:15px 0 25px;display:flex}.help-steps>div{gap:15px;display:flex}.help-steps>div>span{background:var(--color-green-soft);width:34px;height:34px;color:var(--color-green);border-radius:10px;flex-shrink:0;place-items:center;font-size:11px;display:grid}.help-steps p{color:var(--color-ink-2);font-size:11px;line-height:1.9}.help-steps strong{color:var(--color-ink);margin-bottom:3px;font-size:12px;display:block}.install-guide{background:var(--color-green-soft);border-radius:12px;gap:12px;margin-bottom:17px;padding:17px;display:flex}.install-guide strong{font-size:12px}.install-guide p{color:var(--color-ink-2);margin-top:7px;font-size:11px;line-height:1.9}.toast{z-index:70;border:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink);box-shadow:0 8px 40px var(--color-shadow-deep);width:max-content;max-width:calc(100% - 32px);animation:toast-enter .3s var(--ease-spring);border-radius:15px;align-items:center;gap:10px;padding:10px 10px 10px 15px;font-size:11px;line-height:1.7;display:flex;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}.toast>span{color:var(--color-green);display:flex}.toast .icon-button{flex-shrink:0;width:30px;height:30px}.confetti{pointer-events:none;z-index:60;position:fixed;inset:0;overflow:clip}.confetti>i{border-radius:2px;width:7px;height:12px;animation:2.5s ease-out forwards confetti-fall;position:absolute;top:-20px}.page-enter{animation:page-enter .45s var(--ease-smooth)}.dashboard-grid{animation:page-enter .6s var(--ease-smooth)}.spin{animation:1s linear infinite spin}@keyframes tree-sway{0%{transform:rotate(-1.1deg)}to{transform:rotate(1.1deg)}}@keyframes flower-sway{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes cloud-drift{0%{transform:translate(-20px)}to{transform:translate(35px)}}@keyframes butterfly-flight{0%,to{translate:0;rotate:-10deg;scale:1}25%{translate:20px -18px;rotate:15deg;scale:.85 1}50%{translate:38px -4px;rotate:-5deg;scale:1}75%{translate:12px 9px;rotate:10deg;scale:.7 1}}@keyframes water-shimmer{0%{opacity:.45;transform:translate(-2px)}to{opacity:1;transform:translate(2px)}}@keyframes sun-glow{0%{opacity:.8}to{opacity:1}}@keyframes tree-celebrate{0%,to{transform:rotate(0)}30%{transform:rotate(-5deg)}70%{transform:rotate(5deg)}}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-enter{0%{opacity:0;transform:translateY(15px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-enter{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes confetti-fall{0%{translate:0 -20px;rotate:0;opacity:1}to{opacity:0;translate:50px 100dvh;rotate:500deg}}@keyframes badge-unlock{0%{transform:scale(.7)rotate(-15deg)}to{transform:scale(1)rotate(-5deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:25rem){.today-date{display:block}.garden-card-head{padding:21px 23px 0}.garden-card-bottom{padding-inline:23px}.section-label,.garden-season,.garden-caption,.garden-card-bottom p{font-size:10px}.reader-save>div>span{display:block}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:40rem){main{padding:38px 32px 110px}.topbar{padding:0 32px}.invite-top{display:inline-flex}.dashboard-grid{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.garden-card{flex-direction:column;display:flex}.garden-scene{flex:1;align-items:center;display:flex}.landscape{height:100%;min-height:290px;max-height:360px}.garden-caption{bottom:22px}.garden-card-head{padding-bottom:10px}.garden-card-bottom{margin-top:auto}.daily-card{padding:21px}.daily-card h2{font-size:23px}.daily-ring{width:127px;height:127px;margin-block:13px}.daily-card .button{padding-inline:10px;font-size:11px}.together-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.together-card{text-align:left;flex-direction:row;grid-column:span 2;gap:20px;min-height:95px}.together-card>strong{margin:0}.together-card>p{max-width:210px;margin:0}.together-art{flex-shrink:0}.bottom-grid,.surah-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-summary strong{font-size:45px}.journey-summary>div>span{font-size:11px}.quran-page:has(.ayat-list){max-width:900px;margin:auto}.reader-save{bottom:87px}.reader-title{padding-top:42px}.reader-title h1{font-size:42px}.ayat{padding:28px 18px}.ayat-translation{font-size:13px}.verse-arabic{font-size:29px}.page-intro{font-size:12px}.welcome{margin-bottom:30px}.achievement{padding:35px 27px}}@media (min-width:64rem){.sidebar{z-index:25;background:var(--color-surface);border-right:1px solid var(--color-rule);flex-direction:column;width:226px;padding:33px 19px 15px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.6px;align-items:center;gap:8px;width:fit-content;margin-left:12px;font-size:31px;font-weight:750;line-height:1.15;display:flex}.brand-mark{width:35px;height:35px;color:var(--color-green);place-items:center;display:grid}.brand-period{color:var(--color-green)}.brand-caption{color:var(--color-ink-2);padding:8px 0 0 14px;font-size:8px}.garden-switch{border-block:1px solid var(--color-rule);align-items:center;gap:9px;margin:31px 0 20px;padding:14px 9px;display:flex}.pair-icons{flex-shrink:0;width:42px;display:flex;position:relative}.pair-icons>span{background:var(--color-green-soft);border:2px solid var(--color-surface);border-radius:50%;place-items:center;width:26px;height:26px;font-size:8px;font-weight:650;display:grid}.pair-icons>span:last-child{background:var(--color-coral-soft);color:var(--color-coral);margin-left:-10px}.garden-switch>div{flex-direction:column;gap:2px;display:flex}.garden-switch strong{font-size:10px;font-weight:650}.garden-switch>div>span{color:var(--color-ink-2);font-size:8px}.garden-switch .icon-button{width:24px;height:30px;margin-left:auto}.sidebar nav{flex-direction:column;gap:6px;display:flex}.nav-link{width:100%;color:var(--color-ink-2);text-align:left;border-radius:10px;align-items:center;gap:12px;min-height:46px;padding:14px 17px;font-size:11px;font-weight:550;transition:background .18s,color .18s,translate .18s;display:flex}.nav-link:hover{background:var(--color-paper-2);translate:2px}.nav-link.active{background:var(--color-green-soft);color:var(--color-green);font-weight:650}.nav-active-dot{background:var(--color-green);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-note{background:var(--color-paper);border:1px dashed var(--color-rule);border-radius:13px;margin:38px 8px 22px;padding:20px 16px;position:relative}.note-leaves{color:var(--color-green);align-items:center;gap:8px;margin-bottom:13px;display:flex}.note-leaves>svg:first-child{rotate:-20deg}.note-leaves>svg:last-child{color:var(--color-coral)}.sidebar-note p{font-size:11px;line-height:1.95}.sidebar-note p strong{font-weight:550}.sidebar-note>span{color:var(--color-ink-2);margin-top:9px;font-size:8px;display:block}.sidebar-bottom{margin-top:auto}.sidebar-bottom .nav-link{padding-block:11px;font-size:10px}.sidebar-foot{border-top:1px solid var(--color-rule);color:var(--color-ink-2);align-items:center;gap:7px;margin-top:9px;padding:19px 14px 0;font-size:8px;display:flex}.tiny-flower{color:var(--color-green);font-size:18px}.main-wrap{margin-left:226px}.topbar{height:76px;padding-inline:37px}.today-date,.breadcrumb{font-size:10px}main{padding:32px 37px 25px}.mobile-nav{display:none}.welcome{margin-bottom:29px}.welcome h1{font-size:37px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 237px;gap:19px}.garden-scene{min-height:276px}.landscape{min-height:276px;max-height:300px}.daily-card h2{font-size:23px}.daily-card>.section-label{font-size:8px}.daily-card>p{font-size:10px}.daily-ring{width:126px;height:126px}.garden-card-head{padding:19px 21px 9px}.garden-caption{font-size:9px;bottom:21px}.garden-card-bottom{padding:16px 21px}.garden-card-bottom p{font-size:9px}.garden-level{font-size:10px}.garden-season{font-size:9px}.together-grid{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.94fr);gap:16px}.together-card{flex-direction:column;grid-column:auto;gap:0;padding:14px}.together-card>strong{margin-top:5px;font-size:10px}.together-card>p{text-align:center;max-width:210px;margin-top:5px;font-size:9px}.person-card{padding:16px}.person-top>div>span{font-size:8px}.person-top strong{max-width:92px;font-size:11px}.streak-tag{font-size:8px}.person-top{gap:8px}.section-heading{margin-top:25px;margin-bottom:15px}.section-heading h2{font-size:15px}.bottom-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:19px;margin-top:20px}.week-card{padding:19px 23px}.verse-card{padding:21px 24px}.verse-arabic{margin-top:12px;font-size:29px;line-height:1.9}.verse-translation{font-size:10px}.verse-source{margin-top:5px;font-size:8px}.toast{bottom:28px;left:calc(50% + 113px)}.reader-save{bottom:20px}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.surah-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-footer{padding-top:23px}.garden-card-bottom .garden-info{width:26px;height:26px}.person-footer{font-size:8px}}@media (min-width:82rem){.sidebar{width:245px;padding-inline:23px}.main-wrap{margin-left:245px}main{padding:38px 47px 25px}.topbar{padding-inline:47px}.welcome h1{letter-spacing:-2px;font-size:43px}.greeting,.page-intro{font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 266px;gap:22px}.landscape{min-height:310px;max-height:335px}.garden-scene{min-height:310px}.daily-card{padding:23px 25px}.daily-card h2{margin-top:22px;font-size:27px}.daily-card>p{font-size:11px}.daily-ring{width:140px;height:140px;margin-block:18px}.daily-card>.section-label{font-size:9px}.garden-card-head{padding:22px 26px 5px}.garden-card-bottom{padding:18px 26px}.garden-card-bottom p{font-size:10px}.garden-level{font-size:11px}.garden-caption{font-size:10px;bottom:23px}.section-label,.garden-season{font-size:10px}.together-grid{gap:20px}.person-card{padding:20px}.person-top strong{max-width:125px;font-size:12px}.person-top>div>span,.streak-tag,.person-footer{font-size:9px}.together-card>strong{font-size:11px}.together-card>p{font-size:10px}.week-card{padding:22px 26px}.verse-card{padding:23px 27px}.verse-arabic{font-size:32px}.verse-translation{font-size:11px}.section-heading{margin-top:30px}.surah-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quran-page:has(.ayat-list) .surah-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-footer{font-size:9px}.toast{left:calc(50% + 122px)}}@media (min-width:100rem){main{padding-inline:64px}.landscape{max-height:370px}.garden-scene{min-height:350px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 288px}.daily-card{justify-content:center}.daily-card>.section-label{margin-bottom:auto}.daily-log{margin-top:11px}.daily-card h2{font-size:30px}.person-card{padding:23px}.topbar{padding-inline:64px}}.motion-off *,.motion-off :before,.motion-off :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.tree-crown{transform-box:fill-box;transform-origin:50% 85%}.garden-scene{background:var(--sky-top)}
.login-page{justify-content:center;align-items:center;min-height:100dvh;padding:25px 20px 50px;display:flex;position:relative}.login-back{color:var(--color-ink-2);font-size:11px;position:absolute;top:24px;left:24px}.login-shell{background:var(--color-surface);border:1px solid var(--color-rule);width:min(950px,100%);box-shadow:0 18px 80px var(--color-shadow);border-radius:25px;grid-template-columns:minmax(0,1fr);margin-top:50px;display:grid;overflow:clip}.login-story{background:var(--color-green-soft);min-height:620px;padding:42px;display:none;position:relative}.login-brand{letter-spacing:-1px;color:var(--color-green);align-items:center;gap:9px;font-size:27px;font-weight:750;display:inline-flex}.login-story h1{letter-spacing:-2px;margin-top:45px;font-size:44px;line-height:1.3}.login-story>p{max-width:270px;color:var(--color-ink-2);margin-top:19px;font-size:12px;line-height:1.9}.login-plant{height:180px;color:var(--color-green);place-items:center;margin-top:15px;display:grid;position:relative}.login-plant>svg{transform-origin:50% 90%;z-index:1;animation:4s ease-in-out infinite alternate tree-sway}.login-orbit{background:var(--color-accent);opacity:.5;border-radius:50%;width:160px;height:160px;position:absolute}.login-spark{color:var(--color-coral);font-size:33px;animation:4s ease-in-out infinite alternate sun-glow;position:absolute;top:23px;right:38px}.login-story-note{color:var(--color-ink-2);align-items:center;gap:7px;font-size:10px;display:flex;position:absolute;bottom:34px;left:42px}.login-form-panel{align-self:center;padding:42px 27px}.login-mail{background:var(--color-green-soft);width:62px;height:62px;color:var(--color-green);border-radius:19px;place-items:center;margin-bottom:27px;display:grid}.login-form-panel>.greeting{margin-bottom:10px;font-size:10px}.login-form-panel>h2{letter-spacing:-1px;margin-bottom:15px;font-size:27px;line-height:1.3}.login-form-panel>.modal-intro{margin-bottom:25px;font-size:11px;line-height:1.9}.login-error-slot{height:0}.login-form-panel .form-stack{gap:12px}.login-form-panel .form-stack input{height:49px}.login-form-panel .form-stack .button{margin-top:8px}.login-privacy{border-top:1px solid var(--color-rule);align-items:flex-start;gap:8px;margin-top:30px;padding-top:20px;display:flex}.login-privacy>.dot{width:5px;height:5px;margin-top:5px}.login-privacy>p{color:var(--color-ink-2);font-size:9px;line-height:1.9}@media (min-width:48rem){.login-page{padding:50px}.login-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:0}.login-story{display:block}.login-form-panel{padding:40px 45px}}@media (prefers-reduced-motion:reduce){.login-plant>svg,.login-spark{animation:none}}.login-field-hint{color:var(--color-ink-2);margin-top:-6px;font-size:10px;line-height:1.7}
