@font-face{font-family:DSEG7 Classic;src:url(/fonts/dseg7-classic-bold-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:block}:root{color-scheme:light dark;--bg: #0d0e12;--ink: #f4f4f5;--ink-muted: #71717a;--ink-faint: #3f3f46;--clock-unlit: #212229;--accent: #10b981;--accent-soft: rgba(16, 185, 129, .12);--border: rgba(255, 255, 255, .08);--surface: #18181b;--surface-hover: #27272a;--font-clock: "DSEG7 Classic", monospace, sans-serif}@media (prefers-color-scheme: light){:root{--bg: #fbfbfa;--ink: #18181b;--ink-muted: #71717a;--ink-faint: #d4d4d8;--clock-unlit: #e8e8ea;--accent: #059669;--accent-soft: rgba(5, 150, 105, .1);--border: rgba(0, 0, 0, .07);--surface: #ffffff;--surface-hover: #f4f4f5}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;height:100dvh;margin:0;padding:0;overflow:hidden;background-color:#06080e;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;user-select:none;position:relative}@media (prefers-color-scheme: light){html,body{background-color:#f6f8fb}}[hidden]{display:none!important}.screen{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;height:100%;height:100dvh;max-width:600px;margin:0 auto;padding:1.5rem 1.25rem 1.25rem;box-sizing:border-box}.top-bar{display:flex;align-items:center;justify-content:space-between;width:100%}.city-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .6rem;margin-left:-.6rem;background:transparent;border:0;color:var(--ink-muted);font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;border-radius:6px;transition:color .12s ease}.city-btn:hover{color:var(--ink)}.city-btn .chevron{font-size:.75rem;opacity:.6}.bell-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:transparent;border:0;border-radius:50%;color:var(--ink-muted);cursor:pointer;transition:all .15s ease;position:relative}.bell-btn:hover{color:var(--ink)}.bell-btn.is-active{color:var(--accent)}.bell-btn.is-active:after{content:"";position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.bell-icon{width:19px;height:19px}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:auto 0}.target-label{margin:0;font-size:1.05rem;font-weight:400;color:var(--ink-muted);letter-spacing:-.01em;text-shadow:0 2px 8px rgba(0,0,0,.4)}.target-label strong{font-weight:600;color:var(--ink)}.countdown{position:relative;isolation:isolate;width:fit-content;margin:.75rem auto .5rem;font-family:var(--font-clock);font-size:clamp(3rem,14vw,5.2rem);font-weight:700;font-style:italic;line-height:1;color:var(--ink);text-shadow:0 4px 16px rgba(0,0,0,.45);transition:color .2s ease}.countdown:before{content:"88:88:88";position:absolute;inset:0;z-index:-1;color:#ffffff1f;user-select:none}.countdown.is-soon{color:var(--accent);font-weight:400}.target-time{margin:0;font-size:.95rem;color:var(--ink-muted);text-shadow:0 2px 8px rgba(0,0,0,.4)}.subuh-note{margin:.5rem 0 0;font-size:.85rem;color:var(--accent)}.bottom{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding-bottom:.5rem}.schedule-strip{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;margin:0;list-style:none}.prayer-item{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink-muted);cursor:pointer;padding:4px 6px;border-radius:8px;transition:all .15s ease;user-select:none}.prayer-item:hover{color:var(--ink);background:var(--accent-soft)}.prayer-item .p-name{font-size:.78rem;font-weight:500;text-transform:capitalize}.prayer-item .p-time{font-size:.98rem;font-weight:500}.prayer-item[data-state=current]{color:var(--accent);font-weight:700}.prayer-item[data-state=next]{color:var(--ink);font-weight:600}.date-note{margin:0;font-size:.78rem;color:var(--ink-muted);letter-spacing:-.01em}dialog{width:min(24rem,calc(100% - 2.5rem));max-height:75vh;margin:auto;padding:1.25rem;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 16px 40px #0000004d}dialog::backdrop{background:#00000080;backdrop-filter:blur(2px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;font-weight:600;font-size:.95rem}.dialog-close{background:transparent;border:0;color:var(--ink-muted);font-size:1.1rem;cursor:pointer;padding:.25rem}.dialog-close:hover{color:var(--ink)}.search-input{width:100%;padding:.65rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--ink);font-family:inherit;font-size:.92rem;margin-bottom:.65rem}.search-input:focus{outline:none;border-color:var(--accent)}.city-list{max-height:42vh;overflow-y:auto;list-style:none;padding:0;margin:0}.city-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .5rem;background:transparent;border:0;border-radius:6px;color:var(--ink);font-family:inherit;font-size:.9rem;text-align:left;cursor:pointer}.city-list button:hover,.city-list button[aria-current=true]{background:var(--surface-hover);color:var(--accent)}.province-text{font-size:.75rem;color:var(--ink-muted)}.gps-link{display:block;width:100%;text-align:center;margin-top:.85rem;padding:.5rem 0;background:transparent;border:0;color:var(--accent);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer}.gps-link:hover{text-decoration:underline}.gps-link:disabled{opacity:.5;cursor:progress}.app-toast{position:fixed;top:max(1.25rem,env(safe-area-inset-top,1.25rem));left:50%;transform:translate(-50%) translateY(-14px);background:#18181be0;color:var(--ink);border:1px solid var(--border);border-radius:999px;padding:.55rem 1.25rem;font-size:.82rem;font-weight:500;box-shadow:0 10px 30px #00000073,0 0 1px #ffffff26;opacity:0;pointer-events:none;transition:all .26s cubic-bezier(.16,1,.3,1);z-index:1000;max-width:90vw;text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}@media (prefers-color-scheme: light){.app-toast{background:#ffffffeb;box-shadow:0 10px 25px #0000001f}}@media (max-width: 480px){.screen{padding:1.25rem 1rem 1rem}.countdown{font-size:clamp(3.2rem,16vw,4.2rem)}.prayer-item .p-name{font-size:.72rem}.prayer-item .p-time{font-size:.88rem}}.sky-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:layout paint}.sky-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.8s cubic-bezier(.16,1,.3,1),visibility 1.8s;will-change:opacity}body[data-prayer=subuh] .scene-subuh,body[data-prayer=syuruq] .scene-syuruq,body[data-prayer=dzuhur] .scene-dzuhur,body[data-prayer=ashar] .scene-ashar,body[data-prayer=maghrib] .scene-maghrib,body[data-prayer=isya] .scene-isya{opacity:1;visibility:visible}.sky-gradient{position:absolute;inset:0}.grad-subuh{background:linear-gradient(180deg,#090a18,#131432 35%,#241a45 65%,#3d1b46 85%,#5a203f)}.dawn-shafaq-glow{position:absolute;bottom:0;left:0;right:0;height:42%;background:radial-gradient(ellipse at 50% 100%,rgba(244,114,182,.36) 0%,rgba(147,51,234,.22) 45%,transparent 75%);filter:blur(40px)}.dawn-star{position:absolute;top:16%;left:22%;width:28px;height:28px;filter:drop-shadow(0 0 10px rgba(224,231,255,.95));animation:pulse-dawn 4s ease-in-out infinite alternate}.dawn-star-svg{width:100%;height:100%}.grad-syuruq{background:radial-gradient(ellipse at 50% 120%,#4a2820,#201328 40%,#0d0e1a 75%,#060810)}.morning-ambient-aura{position:absolute;top:10%;right:15%;width:min(400px,80vw);height:min(400px,80vw);border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.16) 0%,transparent 65%);filter:blur(60px)}.morning-horizon-glow{position:absolute;bottom:0;left:0;right:0;height:35%;background:radial-gradient(ellipse at 50% 115%,rgba(245,158,11,.3) 0%,rgba(225,29,72,.14) 45%,transparent 75%);filter:blur(35px)}.grad-dzuhur{background:radial-gradient(ellipse at 50% -10%,#0f3460,#0c2045 40%,#07132c,#040814)}.midday-zenith-halo{position:absolute;top:2%;left:50%;transform:translate(-50%);width:min(480px,90vw);height:min(480px,90vw);border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.24) 0%,rgba(37,99,235,.1) 50%,transparent 75%);filter:blur(50px);animation:pulse-sun 8s ease-in-out infinite alternate}.midday-celestial-ring{position:absolute;top:7%;left:50%;transform:translate(-50%);width:70px;height:70px;border-radius:50%;border:1.5px solid rgba(186,230,253,.65);box-shadow:0 0 25px #38bdf880,inset 0 0 15px #38bdf84d;animation:pulse-sun 8s ease-in-out infinite alternate}.grad-ashar{background:radial-gradient(ellipse at 75% 25%,#3d2314,#24141d 40%,#110d1c 75%,#07070f)}.ashar-golden-aura{position:absolute;top:12%;right:16%;width:min(420px,85vw);height:min(420px,85vw);border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.28) 0%,rgba(180,83,9,.12) 50%,transparent 70%);filter:blur(50px);animation:pulse-sun 9s ease-in-out infinite alternate}.ashar-warm-glow{position:absolute;bottom:0;left:0;right:0;height:28%;background:radial-gradient(ellipse at 50% 115%,rgba(217,119,6,.22) 0%,transparent 65%);filter:blur(35px)}.grad-maghrib{background:radial-gradient(ellipse at 50% 110%,#3b0d36,#200a30 40%,#0e071c 75%,#05040a)}.maghrib-horizon-glow{position:absolute;bottom:0;left:0;right:0;height:32%;background:radial-gradient(ellipse at 50% 110%,rgba(225,29,72,.38) 0%,rgba(147,51,234,.22) 45%,transparent 75%);filter:blur(35px)}.maghrib-evening-star{position:absolute;top:16%;right:20%;width:20px;height:20px;filter:drop-shadow(0 0 10px rgba(254,240,138,.95));animation:star-twinkle 3.2s ease-in-out infinite alternate}.evening-star-svg{width:100%;height:100%}.grad-isya{background:radial-gradient(circle at 75% 20%,#151d3b,#0c1226 40%,#060913 75%,#03050a)}.isya-starfield{position:absolute;inset:0;pointer-events:none}.star-dot{position:absolute;border-radius:50%;background:#fff;will-change:opacity,transform}.s-1{top:12%;left:16%;width:2px;height:2px;animation:star-twinkle 3.2s ease-in-out infinite}.s-2{top:22%;left:34%;width:2.5px;height:2.5px;animation:star-twinkle 4.5s ease-in-out 1s infinite}.s-3{top:15%;left:62%;width:1.5px;height:1.5px;animation:star-twinkle 3.8s ease-in-out .5s infinite}.s-4{top:28%;left:82%;width:2px;height:2px;animation:star-twinkle 5.1s ease-in-out 1.5s infinite}.s-5{top:38%;left:14%;width:2px;height:2px;animation:star-twinkle 4.1s ease-in-out 2s infinite}.s-6{top:48%;left:85%;width:3px;height:3px;filter:drop-shadow(0 0 4px rgba(255,255,255,.85));animation:star-twinkle 3.5s ease-in-out .8s infinite}.s-7{top:60%;left:22%;width:2px;height:2px;animation:star-twinkle 4.8s ease-in-out 1.2s infinite}.s-8{top:68%;left:74%;width:2px;height:2px;animation:star-twinkle 3.9s ease-in-out 2.3s infinite}.s-9{top:76%;left:16%;width:2.5px;height:2.5px;animation:star-twinkle 5.5s ease-in-out .3s infinite}.s-10{top:84%;left:88%;width:1.5px;height:1.5px;animation:star-twinkle 4.2s ease-in-out 1.8s infinite}.s-11{top:26%;left:52%;width:2px;height:2px;animation:star-twinkle 3.6s ease-in-out 2.5s infinite}.s-12{top:74%;left:44%;width:2px;height:2px;animation:star-twinkle 4.4s ease-in-out 1.1s infinite}.isya-crescent-moon{position:absolute;top:clamp(2rem,8vh,5rem);right:clamp(1.5rem,10vw,4.5rem);width:48px;height:48px;animation:float-moon 12s ease-in-out infinite alternate}.moon-halo{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,rgba(254,240,138,.4) 0%,rgba(254,240,138,.1) 50%,transparent 75%);filter:blur(14px)}.moon-svg{width:100%;height:100%;filter:drop-shadow(0 0 12px rgba(254,240,138,.65))}.sky-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,#06080e26,#06080e8c);pointer-events:none}@keyframes star-twinkle{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}@keyframes float-moon{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes pulse-dawn{0%{opacity:.7;transform:scale(.92)}to{opacity:1;transform:scale(1.1)}}@keyframes pulse-sun{0%{transform:scale(.95);opacity:.8}to{transform:scale(1.08);opacity:1}}@keyframes float-sun{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@media (prefers-color-scheme: light){.grad-subuh{background:linear-gradient(180deg,#ede9fe,#fbcfe8,#fef3c7)}.grad-syuruq{background:linear-gradient(180deg,#dbeafe,#ffedd5 60%,#fed7aa)}.grad-dzuhur{background:radial-gradient(ellipse at 50% -10%,#bae6fd,#e0f2fe,#f8fafc)}.grad-ashar{background:linear-gradient(180deg,#e0f2fe,#fef3c7,#fed7aa)}.grad-maghrib{background:linear-gradient(180deg,#f3e8ff,#fce7f3,#fed7aa 80%,#fbcfe8)}.grad-isya{background:radial-gradient(circle at 75% 20%,#e2e8f0,#f1f5f9,#f8fafc)}.sky-vignette{background:radial-gradient(ellipse at 50% 50%,#ffffff40,#f8fafc99)}.star-dot{background:#475569}}
