
:root{color-scheme:dark;--bg:#0d131f;--panel:#151e2c;--raised:#1c2738;--line:#2a3545;--text:#f1f2f7;--muted:#a4adbd;--accent:#b6a2ff;--ink:#111827;--radius:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{transition:background .18s,transform .18s}button:hover{filter:brightness(1.13)}button:disabled{opacity:.35;cursor:default}header{max-width:1440px;margin:auto;min-height:100px;padding:20px 5%;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.brand{color:var(--text);text-decoration:none;font-size:32px;font-weight:750;letter-spacing:-1.5px;display:flex;align-items:center;gap:8px}.brand-mark{font-size:45px;color:var(--accent);font-weight:400}.brand-dot{color:var(--accent);margin-left:-9px}.header-note{font-size:11px;letter-spacing:2.3px;color:var(--muted)}header>button{margin-left:auto}.quiet{border:0;background:transparent;color:var(--muted);padding:10px;font-size:14px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:40px 0 30px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2px;font-weight:650}h1{font-size:36px;letter-spacing:-1.4px;margin:10px 0}p{color:var(--muted);line-height:1.7;font-size:14px}.intro p{margin:0;font-size:15px}.saved{color:var(--muted);font-size:12px;white-space:nowrap}.saved::first-letter{color:#89ceb1}main{max-width:1320px;padding:0 32px;margin:auto}.workspace{display:grid;grid-template-columns:260px minmax(340px,1fr) 280px;gap:20px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}h2{font-size:17px;margin:0;font-weight:600}.small{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.dhikr-item{border:1px solid transparent;border-radius:13px;text-align:left;width:100%;padding:15px 12px;margin-bottom:8px;background:transparent;display:flex;align-items:center;gap:12px}.dhikr-item.selected{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--panel))}.item-dot{width:8px;height:8px;border:1px solid var(--muted);border-radius:50%;flex:none}.selected .item-dot{background:var(--accent);border-color:var(--accent)}.dhikr-item strong{font-size:14px;font-weight:550;display:block;overflow-wrap:anywhere}.dhikr-item small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.add{width:100%;background:transparent;border:1px dashed var(--line);padding:14px 8px;border-radius:12px;color:var(--muted);font-size:13px;margin-top:12px}.library-footer{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:12px;color:var(--muted);line-height:1.8}.counter-panel{padding:22px 34px;text-align:center;background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--accent) 6%,var(--panel)),var(--panel) 65%)}.counter-top{display:flex;justify-content:space-between;align-items:center}.icon-button{background:transparent;border:0;font-size:24px;color:var(--muted);padding:2px 6px}.counter-panel h2{font-size:26px;margin:15px 0 0;overflow-wrap:anywhere}.meaning{font-size:13px;margin:8px 0 22px;min-height:22px}.counter{--angle:0deg;width:258px;height:258px;max-width:100%;aspect-ratio:1;border-radius:50%;padding:8px;background:conic-gradient(var(--accent) var(--angle),var(--line) 0);border:0;box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 3%,transparent),0 0 70px color-mix(in srgb,var(--accent) 7%,transparent);touch-action:manipulation;user-select:none}.counter-inner{border:1px solid color-mix(in srgb,var(--accent) 20%,var(--panel));background:var(--panel);height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.count{font-size:76px;line-height:1.1;letter-spacing:-4px;font-weight:350;font-variant-numeric:tabular-nums;max-width:100%}.counter-label{font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:18px}.counter:active{transform:scale(.975)}.counter.pulse{box-shadow:0 0 0 12px color-mix(in srgb,var(--accent) 16%,transparent)}.progress-copy{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:27px 0 10px}.progress-track{height:4px;background:var(--line);border-radius:9px;overflow:hidden}#progress{height:100%;background:var(--accent);transition:width .15s}.counter-actions{display:flex;justify-content:space-between;align-items:center;margin:12px -10px 20px}.keyboard-hint{font-size:10px;color:var(--muted)}kbd{font-family:inherit;border:1px solid var(--line);border-radius:4px;padding:3px}.target-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--muted);gap:10px}#targets{display:flex;gap:5px}#targets button{padding:7px 10px;background:var(--raised);border:1px solid transparent;border-radius:7px;font-size:12px}#targets button.active{color:var(--accent);border-color:var(--accent)}.session-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:25px}.session-stats>div+div{border-left:1px solid var(--line)}.session-stats span{display:block;font-size:25px}.session-stats small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted);margin-top:7px}.setting-caption{font-size:12px;margin-top:-10px;margin-bottom:26px}.section-label{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:13px}.palettes{display:flex;gap:11px;flex-wrap:wrap}.swatch{width:30px;height:30px;border-radius:50%;border:3px solid var(--panel);outline:1px solid transparent}.swatch.selected{outline-color:var(--accent)}.custom-color{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin:18px 0 25px}input[type=color]{width:27px;height:27px;padding:0;border:0;background:transparent;cursor:pointer}select{width:100%;background:var(--raised);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px;font-size:13px}.divider{height:1px;background:var(--line);margin:24px 0}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin:20px 0;font-size:14px;gap:10px}.toggle-row small{display:block;font-size:11px;color:var(--muted);margin-top:6px}input[role=switch]{appearance:none;flex:none;width:35px;height:21px;background:var(--line);border-radius:20px;position:relative;cursor:pointer}input[role=switch]::after{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;left:3px;top:3px;transition:transform .2s}input[role=switch]:checked{background:var(--accent)}input[role=switch]:checked::after{transform:translateX(14px);background:var(--ink)}.memory{display:flex;gap:10px}.memory>span{font-size:22px;color:var(--accent)}.memory strong{font-size:12px;font-weight:500}.memory p{font-size:11px;margin:6px 0}.backup{font-size:12px;padding:8px 0;display:block}.support-note{font-size:11px}footer{display:flex;justify-content:space-between;gap:15px;padding:28px 0;font-size:11px;color:var(--muted)}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;width:min(440px,calc(100% - 32px));padding:25px}dialog::backdrop{background:#050911b8;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.primary{background:var(--accent);color:var(--ink);border:0;border-radius:9px;padding:11px 20px;font-weight:600}#dialog-body label{display:block;color:var(--muted);font-size:14px;margin:16px 0 8px}#dialog-body input{width:100%;background:var(--raised);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:12px}#dialog-body p,#dialog-body li{font-size:14px;line-height:1.8;color:var(--muted)}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);background:var(--text);color:var(--bg);padding:13px 22px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:.2s;max-width:90%;z-index:10}#toast.visible{opacity:1;transform:translate(-50%,0)}body.light{color-scheme:light;--bg:#eef1f7;--panel:#fff;--raised:#f0f2f7;--line:#d5dce8;--text:#172134;--muted:#58657a}body.focus .library,body.focus .settings,body.focus .intro,body.focus footer,body.focus header{display:none}body.focus .workspace{display:block;max-width:520px;margin:25px auto}body.focus .counter-panel{min-height:calc(100dvh - 50px);display:flex;flex-direction:column;justify-content:center}body.focus .counter-top{margin-bottom:12px}.counter-top .eyebrow{font-size:10px}@media(min-width:1400px){main{padding:0 12px}.workspace{grid-template-columns:280px minmax(340px,1fr) 300px;gap:24px}}@media(max-width:1050px){.workspace{grid-template-columns:220px minmax(310px,1fr)}.settings{grid-column:1/-1}.settings .palettes{gap:18px}.keyboard-hint{display:none}.saved{display:none}.counter-panel{padding:22px 25px}}@media(max-width:640px){header{min-height:74px;padding:10px 20px}.brand{font-size:27px}.brand-mark{font-size:36px}.header-note{display:none}main{padding:0 16px}.intro{margin:25px 4px 22px}h1{font-size:29px}.intro p{font-size:13px}.workspace{display:flex;flex-direction:column;gap:16px}.panel{width:100%;border-radius:20px}.library{padding:16px}.library .panel-heading{margin-bottom:12px}.library .small,.library-footer{display:none}#dhikr-list{display:flex;overflow-x:auto;gap:8px;padding:3px 1px 8px}.dhikr-item{width:auto;flex:none;padding:10px;margin:0;max-width:220px}.dhikr-item small{display:none}.dhikr-item strong{font-size:12px}.add{margin-top:6px;padding:9px}.counter-panel{padding:20px 25px}.counter{width:246px;height:246px;align-self:center}.counter-panel h2{font-size:23px;margin-top:12px}.meaning{margin-bottom:20px}.settings{padding:22px}.session-stats{margin-top:20px}.intro .eyebrow{font-size:9px}footer{flex-direction:column;text-align:center;font-size:10px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.counter-actions{margin-bottom:14px}.counter-panel .eyebrow{font-size:9px}.progress-copy{margin-top:23px}body.focus .workspace{margin:12px auto}body.focus .counter-panel{min-height:calc(100dvh - 24px)}}@media(prefers-reduced-motion:reduce){*,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Zâkir: light palettes, moving prayer beads and an accessible settings drawer. */
:root{--secondary:#c69a53;--wash:#e7f2ec}
body{position:relative;isolation:isolate;transition:background-color .5s,color .4s}
body.light{--bg:#f6f4ef;--panel:#fffefa;--raised:#efeee8;--line:#deded3;--text:#263d3a;--muted:#62706b}
body::before{content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 10%,color-mix(in srgb,var(--secondary) 12%,transparent),transparent 60%),radial-gradient(ellipse at 90% 80%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 65%);pointer-events:none;transition:opacity .6s}
body[data-background=floral]::before{background:linear-gradient(#fff8 0%,#fff1 70%),url('./backgrounds/floral.png') center/cover no-repeat}
body[data-background=geometric]::before{background:linear-gradient(#fff8 0%,#fff1 70%),url('./backgrounds/geometric.png') center/cover no-repeat}
body:not(.light)[data-background=floral]::before,body:not(.light)[data-background=geometric]::before{opacity:.22}
header{max-width:1320px;min-height:92px;padding:14px 32px;border-color:color-mix(in srgb,var(--line) 65%,transparent)}
.brand{font-family:Georgia,'Times New Roman',serif;font-size:39px;font-weight:500;letter-spacing:-1.5px;gap:6px}.brand-mark{font-family:system-ui;font-size:46px;color:var(--accent);animation:brand-turn 22s linear infinite}.header-note{font-size:10px;letter-spacing:1.8px}
.menu-button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:11px 14px;font-size:13px;margin-right:10px;margin-left:0}.menu-button>span:first-child{font-size:19px}.menu-button:hover{background:var(--wash);color:#263d3a}
.intro{margin:32px 0 26px}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:39px;font-weight:400;letter-spacing:-.7px}.intro p{font-size:14px}.eyebrow{font-size:10px;letter-spacing:2.1px}
.workspace{grid-template-columns:245px minmax(340px,650px);justify-content:center;gap:24px}.panel{box-shadow:0 12px 40px #203d3410;background:color-mix(in srgb,var(--panel) 93%,transparent);animation:panel-enter .65s both}.library{margin-top:20px}.library .panel-heading h2{font-family:Georgia,serif;font-size:22px}.library-footer{color:var(--muted)}
.counter-panel{padding:22px 42px 25px;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--accent) 7%,var(--panel)),var(--panel) 70%);border-color:color-mix(in srgb,var(--secondary) 35%,var(--line));animation-delay:.08s}
.counter-panel h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:30px}.counter-top .eyebrow{color:var(--muted)}.meaning{margin-bottom:10px}
.counter{position:relative;display:inline-flex;align-items:center;justify-content:center;width:306px;height:306px;max-width:100%;border-radius:50%;background:none;padding:40px;box-shadow:none;overflow:visible;isolation:isolate;flex-shrink:0;transition:transform .2s}
.counter:hover{filter:none}.counter-inner{width:100%;border:1px solid color-mix(in srgb,var(--secondary) 25%,var(--line));background:radial-gradient(circle at 35% 25%,var(--panel),color-mix(in srgb,var(--accent) 8%,var(--panel)));box-shadow:inset 0 0 25px color-mix(in srgb,var(--accent) 5%,transparent),0 8px 25px #234b3910;position:relative;z-index:1}
.counter.pulse{box-shadow:none}.count{font-size:66px;font-weight:350;color:var(--accent);letter-spacing:-3px}.counter-label{font-size:9px;letter-spacing:1.5px;margin-top:13px}
.bead-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transition:transform .38s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(1px 3px 2px #243f3325)}.bead-thread{fill:none;stroke:var(--secondary);stroke-width:1;opacity:.6}.bead{fill:color-mix(in srgb,var(--accent) 15%,var(--panel));stroke:color-mix(in srgb,var(--accent) 45%,var(--panel));stroke-width:1.2;transition:fill .35s,stroke .35s;paint-order:stroke fill}.bead.done{fill:var(--accent);stroke:var(--accent)}.bead.current{fill:var(--secondary);stroke:var(--secondary);stroke-width:3}.tap-wave{position:absolute;inset:28px;border:2px solid var(--secondary);border-radius:50%;opacity:0;pointer-events:none}
.progress-track{background:color-mix(in srgb,var(--accent) 15%,var(--panel));height:5px}#progress{background:linear-gradient(90deg,var(--accent),var(--secondary));transition:width .35s}.progress-copy{margin-top:9px}.counter-actions{margin-bottom:10px}.target-row{padding-top:15px}.session-stats{margin-top:18px}.session-stats span{font-family:Georgia,serif;font-size:27px}.session-stats small{font-size:10px}.keyboard-hint{font-size:11px}.session-stats>div+div{border-color:color-mix(in srgb,var(--secondary) 35%,var(--line))}
.seo-copy{max-width:820px;margin:34px auto 0;text-align:center}.seo-copy h2{font-family:Georgia,serif;font-size:21px;font-weight:400}.seo-copy p{font-size:13px;line-height:1.8;margin:10px auto 0;max-width:700px}footer{max-width:920px;margin:auto;font-size:11px;padding:23px 0}
dialog.settings{position:fixed;inset:0 auto 0 0;margin:0;height:100dvh;max-height:100dvh;width:360px;max-width:calc(100% - 26px);padding:0;border:0;border-right:1px solid var(--line);border-radius:0 24px 24px 0;overflow:auto;background:var(--panel);color:var(--text)}dialog.settings[open]{display:block;animation:drawer-in .3s ease-out}.drawer-content{padding:28px 25px max(25px,env(safe-area-inset-bottom))}.settings::backdrop{background:#21382e50;backdrop-filter:blur(5px)}.drawer-open{overflow:hidden}.settings .panel-heading{margin-bottom:22px}.settings h2{font-family:Georgia,serif;font-size:27px}.setting-caption{font-size:14px}.section-label{font-size:10px;margin-top:24px}.palettes{display:grid;grid-template-columns:1fr;gap:8px}.palette-card{display:flex;align-items:center;gap:14px;width:100%;border:1px solid var(--line);border-radius:11px;background:transparent;padding:10px 12px;text-align:left;font-size:13px}.palette-card[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.palette-chips{display:flex;flex-shrink:0}.palette-chips i{width:22px;height:22px;border-radius:50%;border:2px solid var(--panel);margin-right:-5px}.backgrounds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.background-card{height:90px;border:2px solid var(--line);border-radius:12px;padding:0 3px 5px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(135deg,#edf4e9,#fbf2de);overflow:hidden}.background-card.floral{background:url('./backgrounds/floral.png') left center/cover}.background-card.geometric{background:url('./backgrounds/geometric.png') left center/cover}.background-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.background-card span{background:#fffdf1ed;color:#263d3a;border-radius:6px;padding:4px;font-size:10px;width:100%}.custom-color{font-size:13px}.settings .toggle-row small{font-size:12px}.settings .support-note{font-size:12px}.settings .memory strong{font-size:14px}.settings .memory p{font-size:12px}.settings .backup{font-size:13px}.primary{color:#fff;background:var(--accent)}
body.focus .seo-copy{display:none}body.focus .counter-panel{align-items:stretch}body.focus .counter{align-self:center}.dhikr-item{transition:background .2s,transform .2s}.dhikr-item:hover{transform:translateX(3px)}
@keyframes panel-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes brand-turn{to{transform:rotate(360deg)}}
body.no-motion *,body.no-motion *::before,body.no-motion *::after{animation:none!important;transition:none!important}
@media(max-width:1050px){.workspace{grid-template-columns:220px minmax(310px,1fr)}.settings .palettes{gap:8px}.header-note{display:none}}
@media(max-width:640px){header{padding:10px 16px;gap:12px;min-height:76px}.menu-button{margin:0;padding:9px 11px}.menu-button>span:last-child{display:none}.brand{font-size:33px}.brand-mark{font-size:38px}header>button#install{font-size:12px;padding:6px;max-width:125px}.intro{margin:23px 5px 16px}.intro h1{font-size:32px}.intro p{font-size:12px}.workspace{gap:14px}.library{margin-top:0;padding:13px 16px}.library .panel-heading{margin-bottom:8px}.library .panel-heading h2{font-size:19px}.counter-panel{padding:18px 24px 22px}.counter-panel h2{font-size:27px}.counter{width:280px;height:280px;padding:37px;align-self:center}.counter-label{font-size:9px}.count{font-size:61px}.meaning{margin-bottom:7px}.session-stats small{font-size:9px}.seo-copy{margin-top:24px}.seo-copy h2{font-size:19px}.seo-copy p{font-size:12px}.saved{display:none}.panel{animation-duration:.45s}body.focus .counter-panel{min-height:calc(100dvh - 24px)}}
@media(max-width:360px){.counter{width:245px;height:245px;padding:33px}.counter-panel{padding:16px}.counter-label{font-size:8px}.count{font-size:54px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.menu-button>span:first-child{display:inline!important}.brand{min-width:0}.brand #brand-name{overflow-wrap:anywhere;max-width:360px;font-size:clamp(22px,3vw,39px)}.name-row{display:flex;gap:8px}.name-row input{min-width:0;width:100%;padding:10px;border-radius:9px;border:1px solid var(--line);background:var(--raised);color:var(--text);font:inherit}.name-row button{padding:10px;font-size:13px}.verse{text-align:center;max-width:820px;margin:32px auto;padding:22px 15px 35px;color:var(--text)}.verse blockquote{font-family:Georgia,serif;font-size:clamp(19px,2.4vw,24px);line-height:1.7;margin:0}.verse figcaption{margin-top:15px;font-size:13px;color:var(--accent);letter-spacing:1px}body.focus .verse{display:none}body[data-background=tulip]::before{background:linear-gradient(#fff8,#fff1),url('./backgrounds/tulip.png') center/cover no-repeat}body[data-background=pearl]::before{background:linear-gradient(#fff8,#fff1),url('./backgrounds/pearl.png') center/cover no-repeat}body:not(.light)[data-background=tulip]::before,body:not(.light)[data-background=pearl]::before{opacity:.22}.background-card.tulip{background:url('./backgrounds/tulip.png') left center/cover}.background-card.pearl{background:url('./backgrounds/pearl.png') left center/cover}@media(max-width:640px){.brand #brand-name{max-width:145px;font-size:25px}.verse{margin-top:20px}}
