@keyframes spin{0%{rotate:0deg}to{rotate:360deg}}@keyframes rise-in{0%{opacity:0;translate:0 .75rem}}@keyframes slide-up{0%{opacity:0;translate:0 150%}}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--vt-x, 50%) var(--vt-y, 0))}to{clip-path:circle(150vmax at var(--vt-x, 50%) var(--vt-y, 0))}}@keyframes glow-drift{to{top:85%}}@font-face{font-family:"Tajawal";font-weight:400;font-display:swap;src:url(fonts/tajawal-400-arabic.woff2)format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF0-10EFF,U+1EE00-1EEFF}@font-face{font-family:"Tajawal";font-weight:400;font-display:swap;src:url(fonts/tajawal-400-latin.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Tajawal";font-weight:500;font-display:swap;src:url(fonts/tajawal-500-arabic.woff2)format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF0-10EFF,U+1EE00-1EEFF}@font-face{font-family:"Tajawal";font-weight:500;font-display:swap;src:url(fonts/tajawal-500-latin.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Tajawal";font-weight:700;font-display:swap;src:url(fonts/tajawal-700-arabic.woff2)format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF0-10EFF,U+1EE00-1EEFF}@font-face{font-family:"Tajawal";font-weight:700;font-display:swap;src:url(fonts/tajawal-700-latin.woff2)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--background:light-dark(#f8fafc, #0f172a);--foreground:light-dark(#0f172a, #f8fafc);--card-background:light-dark(#ffffff, #1e293b);--card-foreground:var(--foreground);--primary:#14b8a6;--primary-hover:light-dark(#0d9488, #2dd4bf);--primary-foreground:light-dark(#ffffff, #0f172a);--primary-rgb:20, 184, 166;--primary-soft:light-dark(rgba(var(--primary-rgb), 0.1), rgba(var(--primary-rgb), 0.15));--outline-accent:light-dark(#14b8a6, #67e8f9);--secondary:light-dark(#f1f5f9, #334155);--secondary-foreground:var(--foreground);--muted:light-dark(#94a3b8, #475569);--muted-foreground:light-dark(#64748b, #94a3b8);--accent:#f59e0b;--error:#f51f0b;--border:light-dark(#e2e8f0, #334155);--shadow-color:light-dark(rgba(15, 23, 42, 0.08), rgba(0, 0, 0, 0.3));--glow-color:light-dark(rgba(var(--primary-rgb), 0.12), rgba(var(--primary-rgb), 0.08));--toggle-moon-color:hsl(240, 100%, 95%);--toggle-sun-color:hsl(40, 100%, 50%);--radius:0.875rem;--radius-sm:calc(var(--radius) / 2);--max-width:1200px;--header-padding-y:1.5rem;--header-padding-x:2rem;--main-padding-y:2rem;--main-padding-x:2rem;--card-padding:1.5rem;--footer-padding-y:2rem;--footer-padding-x:1rem;--gap-xs:0.25rem;--gap-sm:0.5rem;--gap-md:0.75rem;--gap-lg:1rem;--gap-xl:1.5rem;--gap-2xl:2rem;--font-family-sans:"Tajawal", sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.8rem;--font-size-3xl:2.2rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--shadow-sm:0 1px 3px 0 var(--shadow-color);--shadow-md:0 4px 6px -1px var(--shadow-color), 0 2px 4px -2px var(--shadow-color);--shadow-lg:0 12px 32px -8px var(--shadow-color);--transition-duration-fast:200ms;--transition-duration-base:300ms;--transition-duration-slow:500ms;--transition-easing:ease;--transition-easing-out:ease-out;--transition-easing-in-out:ease-in-out;--transition-cubic-bezier:cubic-bezier(0.25, 0.8, 0.25, 1);--cursor-light-size:600px;--card-glow-size:60%;--card-glow-intensity:0.35;--card-glow-inset:-15px;--card-glow-blur-radius-factor:10px;--toggle-size:1.5rem;--toggle-transition-duration:var(--transition-duration-slow);--z-base:0;--z-raised:1;--z-card:2;--z-sticky:5;--z-header:10;--z-notification:1000;--z-toast:1001}:root.light-theme{color-scheme:light}:root.dark-theme{color-scheme:dark}*,::after,::before{margin:0;padding:0;box-sizing:border-box;border-color:var(--border)}[hidden]{display:none!important}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-family-sans);font-size:var(--font-size-base);min-height:100dvh;display:flex;flex-direction:column;overscroll-behavior-y:contain;line-height:1.5;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}button,select{font:inherit}a,button,input,label,select{touch-action:manipulation}:is(.location-button,.forecast-button,.icon-button,.install-banner-button,#update-notification button):active:not(:disabled){scale:.96}@media (display-mode:standalone),(display-mode:window-controls-overlay){body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input{-webkit-user-select:text;user-select:text}}h1,h2{text-wrap:balance}p{text-wrap:pretty}.icon{width:1em;height:1em;font-size:24px;fill:currentColor;flex-shrink:0}.visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}header,header h1{color:var(--foreground)}header{background-color:var(--card-background);padding:var(--header-padding-y) var(--header-padding-x);text-align:center;border-bottom:1px solid var(--border);position:relative;z-index:var(--z-header)}header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--gap-md)}.date-container{display:flex;justify-content:center;align-items:center;gap:var(--gap-sm);color:var(--muted-foreground);font-size:var(--font-size-sm);flex-wrap:wrap}.gregorian-date,.hijri-date{font-weight:var(--font-weight-medium)}.day-of-week{font-weight:var(--font-weight-bold)}.occasion-countdown{display:inline-flex;align-items:center;gap:var(--gap-xs);margin-top:var(--gap-sm);padding:var(--gap-xs) var(--gap-md);border-radius:999px;background-color:var(--primary-soft);color:var(--outline-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.occasion-countdown .icon{font-size:1.1em}.forecast-button,.location-button,.location-container{align-items:center;justify-content:center;gap:var(--gap-sm)}.location-container{display:flex;margin-top:var(--gap-md);font-size:var(--font-size-base);color:var(--muted-foreground)}.location-container .location-icon{color:var(--primary)}.forecast-button,.location-button{background-color:transparent;color:var(--outline-accent);border:1px solid var(--outline-accent);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-weight:var(--font-weight-medium);transition:background-color var(--transition-duration-fast) var(--transition-easing);-webkit-tap-highlight-color:transparent}.forecast-button:hover,.location-button:hover{background-color:var(--primary-soft)}.forecast-button:focus-visible,.location-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.forecast-button:disabled,.location-button:disabled{opacity:.5;cursor:not-allowed;background-color:transparent}.location-button{padding:.4rem .9rem;font-size:var(--font-size-sm)}.location-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap-sm);margin-top:var(--gap-lg)}.icon-button{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background-color:transparent;color:var(--muted-foreground);cursor:pointer;transition:background-color var(--transition-duration-fast) var(--transition-easing),color var(--transition-duration-fast) var(--transition-easing);-webkit-tap-highlight-color:transparent}.icon-button:hover{background-color:var(--secondary);color:var(--foreground)}.icon-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}main{flex:1;padding:var(--main-padding-y) var(--main-padding-x);width:100%;position:relative;overflow:hidden;overflow:clip}main>*{max-width:var(--max-width);margin-left:auto;margin-right:auto}.next-prayer-info p,footer{font-size:var(--font-size-sm);color:var(--muted-foreground)}footer{background-color:transparent;text-align:center;padding:var(--footer-padding-y) var(--footer-padding-x);border-top:1px solid var(--border);margin-top:auto;margin-bottom:env(safe-area-inset-bottom)}#cursor-light{position:absolute;width:var(--cursor-light-size);height:var(--cursor-light-size);border-radius:50%;pointer-events:none;z-index:var(--z-base);will-change:transform,opacity;background:radial-gradient(circle,var(--glow-color) 0%,color-mix(in srgb,var(--glow-color) 66%,transparent) 25%,transparent 60%);top:0;left:0;transform:translate(-50%,-50%);opacity:0;transition:opacity var(--transition-duration-base) var(--transition-easing)}.calculation-method,.next-prayer-info,.prayer-card{position:relative;z-index:var(--z-raised);background-color:var(--card-background);color:var(--card-foreground);border-radius:var(--radius);padding:var(--card-padding);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.next-prayer-info{margin-bottom:var(--gap-2xl);text-align:center;background-image:linear-gradient(160deg,var(--primary-soft),transparent 65%)}.next-prayer-info h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--gap-sm)}.next-prayer-info .countdown,.next-prayer-info h2 span{color:var(--primary);font-weight:var(--font-weight-bold)}.next-prayer-info p{margin-bottom:var(--gap-sm)}.next-prayer-info .countdown{font-size:clamp(var(--font-size-3xl),9vw,3.25rem);line-height:1.2;margin-top:var(--gap-sm);direction:ltr;font-variant-numeric:tabular-nums}.countdown-progress{height:6px;max-width:20rem;margin:var(--gap-md) auto 0;border-radius:999px;background-color:var(--secondary);overflow:hidden}.countdown-progress::after{content:"";display:block;height:100%;background-color:var(--primary);transform-origin:right;transform:scaleX(var(--progress, 0));transition:transform 1s linear}.next-prayer-info .countdown-description{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--muted-foreground);margin-top:var(--gap-sm);min-height:1.5em}.pip-button{position:absolute;top:var(--gap-sm);inset-inline-end:var(--gap-sm)}.sticky-countdown{--sticky-reveal:6rem;position:sticky;top:var(--sticky-reveal);z-index:var(--z-sticky);height:0;container-type:scroll-state}main:not(:has(#countdown:not(.skeleton-text))) .sticky-countdown{display:none}.sticky-countdown-pill{position:absolute;top:calc(var(--gap-sm) - var(--sticky-reveal));inset-inline:0;width:fit-content;margin-inline:auto;display:flex;align-items:center;gap:var(--gap-md);padding:var(--gap-sm) var(--gap-lg);border:1px solid var(--border);border-radius:999px;background-color:color-mix(in srgb,var(--card-background) 85%,transparent);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);font-weight:var(--font-weight-bold);overflow:hidden;opacity:0;translate:0-150%;visibility:hidden;transition:opacity var(--transition-duration-base) var(--transition-easing-out),translate var(--transition-duration-base) var(--transition-cubic-bezier),visibility var(--transition-duration-base)}@container scroll-state(stuck: top){.sticky-countdown-pill{opacity:1;translate:0;visibility:visible}}.sticky-countdown-time{color:var(--primary);direction:ltr;font-variant-numeric:tabular-nums}.sticky-countdown-pill::after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background-color:var(--primary);transform-origin:right;transform:scaleX(var(--progress, 0));transition:transform 1s linear}.titlebar{display:none}@media (display-mode:window-controls-overlay){.titlebar{position:fixed;top:env(titlebar-area-y,0);left:env(titlebar-area-x,0);width:env(titlebar-area-width,100%);height:env(titlebar-area-height,2.25rem);z-index:var(--z-header);display:flex;align-items:center;justify-content:center;gap:var(--gap-md);background-color:var(--card-background);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);-webkit-app-region:drag;app-region:drag}body{padding-top:env(titlebar-area-height,0)}.sticky-countdown{display:none}}.prayer-times-section{container-type:inline-size}.prayer-times-container{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-lg);position:relative;z-index:var(--z-raised)}@container (min-width: 560px){.prayer-times-container{grid-template-columns:repeat(3,1fr)}}@container (min-width: 1000px){.prayer-times-container{grid-template-columns:repeat(6,1fr)}}.prayer-card{text-align:center;overflow:hidden;transition:background-color var(--transition-duration-fast) var(--transition-easing-in-out),color var(--transition-duration-fast) var(--transition-easing-in-out),border-color var(--transition-duration-fast) var(--transition-easing-in-out),opacity var(--transition-duration-base) var(--transition-easing-in-out),box-shadow var(--transition-duration-fast) var(--transition-easing-in-out)}@media (prefers-reduced-motion:no-preference){.prayer-card{animation:rise-in .5s var(--transition-cubic-bezier) backwards;animation-delay:calc(sibling-index()*60ms)}}.prayer-card::before{content:"";position:absolute;inset:var(--card-glow-inset);border-radius:calc(var(--radius) + abs(var(--card-glow-inset)) - var(--card-glow-blur-radius-factor));background:radial-gradient(circle at var(--glow-posX, 50%) var(--glow-posY, 50%),rgba(var(--primary-rgb),var(--card-glow-intensity)) 0%,rgba(var(--primary-rgb),calc(var(--card-glow-intensity)*.5)) calc(var(--card-glow-size)/3),transparent var(--card-glow-size));opacity:var(--glow-opacity, 0);z-index:-1;pointer-events:none;transition:opacity var(--transition-duration-base) var(--transition-easing-out);will-change:opacity,background}.prayer-card.active,.prayer-card:hover{box-shadow:var(--shadow-md)}.prayer-card.active{background-color:var(--primary);border-color:var(--primary);z-index:var(--z-card);view-transition-name:active-prayer}.prayer-card.active::before{opacity:0!important}.prayer-card.active,.prayer-card.active .prayer-icon,.prayer-card.active .prayer-name,.prayer-card.active .prayer-time{color:var(--primary-foreground)}.prayer-card.passed{opacity:.55}.prayer-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--gap-md);color:var(--card-foreground);display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}.prayer-icon,.prayer-time{font-size:var(--font-size-2xl)}.prayer-icon{flex-shrink:0;color:var(--primary)}.prayer-time{font-weight:var(--font-weight-bold);color:var(--card-foreground);font-variant-numeric:tabular-nums}.prayer-time.skeleton,.skeleton-text{color:var(--muted-foreground)!important}.calculation-method{margin-top:var(--gap-2xl);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--gap-md) var(--gap-lg)}.method-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.method-select{flex:1 1 16rem;max-width:28rem;padding:.6rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--card-background);color:var(--foreground);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.method-select:hover{border-color:var(--muted)}.method-select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@supports (appearance:base-select){.method-select,.method-select::picker(select){appearance:base-select}.method-select{display:flex;align-items:center;gap:var(--gap-sm)}.method-select::picker-icon{color:var(--primary);transition:rotate var(--transition-duration-fast) var(--transition-easing)}.method-select:open::picker-icon{rotate:180deg}.method-select::picker(select){padding:var(--gap-xs);margin-block:var(--gap-xs);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--card-background);box-shadow:var(--shadow-lg);opacity:0;translate:0-.5rem;transition:opacity var(--transition-duration-fast) var(--transition-easing-out),translate var(--transition-duration-fast) var(--transition-easing-out),display var(--transition-duration-fast) allow-discrete,overlay var(--transition-duration-fast) allow-discrete}.method-select:open::picker(select){opacity:1;translate:0}@starting-style{.method-select:open::picker(select){opacity:0;translate:0-.5rem}}.method-select option{padding:.55rem .75rem;border-radius:var(--radius-sm);gap:var(--gap-sm)}.method-select option:focus-visible,.method-select option:hover{background-color:var(--secondary);outline:0}.method-select option:checked{background-color:var(--primary-soft);font-weight:var(--font-weight-bold)}.method-select option::checkmark{color:var(--primary)}}#toast-container{position:fixed;top:1rem;right:1rem;z-index:var(--z-toast);display:flex;flex-direction:column;align-items:flex-end;gap:var(--gap-sm);pointer-events:none;width:fit-content;max-width:400px;margin-top:env(safe-area-inset-top)}.toast{background-color:var(--card-background);color:var(--card-foreground);padding:var(--gap-md) var(--gap-xl);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border);display:flex;align-items:center;gap:var(--gap-md);pointer-events:auto;opacity:0!important;transform:translateX(100%);transition:opacity var(--transition-duration-base) var(--transition-easing),transform var(--transition-duration-base) var(--transition-cubic-bezier);min-width:250px;max-width:100%}.toast button:focus,.toast button:focus-visible,.toast button:focus-within{outline:0}.toast.show,.toast.toast-loading{opacity:1!important;transform:translateX(0)}.toast .toast-glyphy{flex-shrink:0;font-size:var(--font-size-xl);line-height:1;text-align:center}.icon-spin{display:block;animation:spin 1s linear infinite;color:var(--primary)}.icon-error{color:var(--error)}.toast.toast-success .toast-glyphy{color:var(--primary)}.toast .toast-message{flex-grow:1;width:200px;font-size:var(--font-size-sm);line-height:1.4}.toast .toast-close{position:relative;background:0 0;border:0;color:var(--muted-foreground);font-size:28px;cursor:pointer;opacity:.7;transition:opacity var(--transition-duration-fast) var(--transition-easing);flex-shrink:0;border-radius:var(--radius);padding:0;margin:2px 0 0}.toast .toast-close:hover{opacity:1}.icon-warning{color:var(--accent)}.icon-success{color:var(--primary)}.icon-info{color:var(--foreground)}.themeToggle-container{display:flex;align-items:center}.toggle{--size:var(--toggle-size);appearance:none;outline:0;cursor:pointer;position:relative;width:var(--size);height:var(--size);box-shadow:inset calc(var(--size)*.33) calc(var(--size)*-.25)0;border-radius:999px;color:var(--toggle-moon-color);transition:all var(--toggle-transition-duration) var(--transition-easing);-webkit-tap-highlight-color:transparent}.toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.toggle:checked{--ray-size:calc(var(--size) * -0.45);--offset-orthogonal:calc(var(--size) * 0.71);--offset-diagonal:calc(var(--size) * 0.48);transform:scale(.75);color:var(--toggle-sun-color);box-shadow:inset 0 0 0 var(--size),calc(var(--offset-orthogonal)*-1)0 0 var(--ray-size),var(--offset-orthogonal)0 0 var(--ray-size),0 calc(var(--offset-orthogonal)*-1)0 var(--ray-size),0 var(--offset-orthogonal)0 var(--ray-size),calc(var(--offset-diagonal)*-1) calc(var(--offset-diagonal)*-1)0 var(--ray-size),var(--offset-diagonal) var(--offset-diagonal)0 var(--ray-size),calc(var(--offset-diagonal)*-1) var(--offset-diagonal)0 var(--ray-size),var(--offset-diagonal) calc(var(--offset-diagonal)*-1)0 var(--ray-size)}.toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#update-notification{display:none;position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background-color:var(--secondary);color:var(--secondary-foreground);padding:var(--gap-lg) var(--gap-xl);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:var(--z-notification);border:1px solid var(--border);font-size:var(--font-size-sm);max-width:90%;width:fit-content;margin-bottom:env(safe-area-inset-bottom)}body:has(.install-banner:not([hidden])){padding-bottom:5.5rem}.install-banner{position:fixed;inset-inline:var(--gap-md);bottom:var(--gap-md);margin:0 auto env(safe-area-inset-bottom);max-width:30rem;z-index:var(--z-notification);display:flex;align-items:center;gap:var(--gap-md);padding:var(--gap-sm) var(--gap-md);border:1px solid var(--border);border-radius:var(--radius);background-color:color-mix(in srgb,var(--card-background) 88%,transparent);backdrop-filter:blur(16px) saturate(1.5);box-shadow:var(--shadow-lg);animation:slide-up .5s var(--transition-cubic-bezier) both}.install-app p,.install-banner p{flex:1;display:grid;line-height:1.35}.install-app span,.install-banner span{color:var(--muted-foreground);font-size:var(--font-size-xs)}.install-banner-button{padding:.45rem 1.1rem;border:0;border-radius:999px;background-color:var(--primary);color:var(--primary-foreground);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-duration-fast) var(--transition-easing)}#update-notification button:hover,.install-banner-button:hover{background-color:var(--primary-hover)}.install-banner-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.install-app,.install-steps li{display:flex;align-items:center;gap:var(--gap-md)}.install-app{padding-bottom:var(--gap-lg);margin-bottom:var(--gap-lg);border-bottom:1px solid var(--border)}.install-steps{list-style:none;display:grid;gap:var(--gap-lg)}.install-steps li{font-weight:var(--font-weight-medium)}.install-steps li>.icon{box-sizing:content-box;padding:.45rem;border-radius:.65rem;background-color:var(--secondary);color:light-dark(#007aff,#0a84ff)}.install-steps span{display:grid}.install-steps small{color:var(--muted-foreground);font-size:var(--font-size-xs);font-weight:400}.install-steps small .icon{font-size:1.4em;vertical-align:middle}#update-notification button{background-color:var(--primary);color:var(--primary-foreground);border:0;padding:.4rem .8rem;border-radius:var(--radius-sm);cursor:pointer;margin-right:var(--gap-md);font-weight:var(--font-weight-medium);transition:background-color var(--transition-duration-fast) var(--transition-easing)}.forecast-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap-sm);margin-top:var(--gap-2xl)}.forecast-button{padding:.6rem 1.2rem;font-size:var(--font-size-base)}.forecast-sheet{width:min(100% - 2rem,52rem);max-height:min(85dvh,44rem);margin:auto;padding:var(--card-padding);background-color:var(--card-background);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;opacity:0;translate:0 1.5rem;transition:opacity var(--transition-duration-base) var(--transition-easing-out),translate var(--transition-duration-base) var(--transition-cubic-bezier),display var(--transition-duration-base) allow-discrete,overlay var(--transition-duration-base) allow-discrete}.forecast-sheet:popover-open{display:flex;flex-direction:column;opacity:1;translate:0}@starting-style{.forecast-sheet:popover-open{opacity:0;translate:0 1.5rem}}.forecast-sheet::backdrop{background-color:rgb(15 23 42/0);transition:background-color var(--transition-duration-base) var(--transition-easing-out),display var(--transition-duration-base) allow-discrete,overlay var(--transition-duration-base) allow-discrete}.forecast-sheet:popover-open::backdrop{background-color:rgb(15 23 42/.45)}@starting-style{.forecast-sheet:popover-open::backdrop{background-color:rgb(15 23 42/0)}}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md);margin-bottom:var(--gap-md)}.sheet-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.city-sheet{width:min(100% - 2rem,28rem)}.city-form{display:grid;gap:var(--gap-sm)}.city-form input{cursor:text}.city-form .location-button{margin-top:var(--gap-md)}.calendar-intro{margin-bottom:var(--gap-lg);color:var(--muted-foreground);font-size:var(--font-size-sm)}.calendar-options{display:grid;gap:var(--gap-sm)}.calendar-option{justify-content:flex-start;padding:.7rem 1rem;font-size:var(--font-size-base);text-decoration:none}.calendar-tips{display:grid;gap:var(--gap-xs);margin-top:var(--gap-lg);padding-inline-start:1.2rem;color:var(--muted-foreground);font-size:var(--font-size-xs)}.calendar-download{align-self:center;margin-top:var(--gap-md);border-color:transparent}.compass{position:relative;width:min(16rem,70vw);aspect-ratio:1;margin:var(--gap-lg) auto;flex-shrink:0}.compass::before{content:"";position:absolute;top:-.6rem;left:50%;translate:-50%0;z-index:1;border-inline:.55rem solid transparent;border-top:.8rem solid var(--muted-foreground);transition:border-top-color var(--transition-duration-fast) var(--transition-easing)}.compass.aligned::before{border-top-color:var(--primary)}.compass-dial{position:absolute;inset:0;border:1px solid var(--border);border-radius:50%;background:radial-gradient(circle,var(--card-background) 55%,var(--secondary));rotate:calc(var(--heading, 0)*-1deg);transition:rotate .2s linear,box-shadow var(--transition-duration-base) var(--transition-easing)}.compass.aligned .compass-dial{box-shadow:0 0 0 3px var(--primary),0 0 2rem rgba(var(--primary-rgb),.4)}.compass-dial::after,.compass-dial::before{content:"";position:absolute;border-radius:50%}.compass-dial::before{inset:0;background:repeating-conic-gradient(from -.5deg,var(--muted)0 1deg,transparent 1deg 10deg);mask:radial-gradient(farthest-side,transparent calc(100% - .6rem),#000 calc(100% - .6rem))}.compass-dial::after{inset:calc(50% - .3rem);background-color:var(--muted-foreground)}.compass-letter{position:absolute;inset:0;rotate:var(--angle);padding-top:.9rem;text-align:center;font-weight:var(--font-weight-bold);color:var(--muted-foreground)}.compass-letter:first-child{color:var(--error)}.compass-qibla{position:absolute;inset:0;rotate:var(--qibla, 0deg)}.compass-qibla::before,.kaaba{position:absolute;left:50%;translate:-50%0}.compass-qibla::before{content:"";top:3.9rem;bottom:50%;width:.2rem;border-radius:999px;background:linear-gradient(var(--primary),transparent)}.kaaba{top:2.3rem;width:1.4rem;height:1.4rem;rotate:calc(var(--heading, 0)*1deg - var(--qibla, 0deg));border-radius:.2rem;background:linear-gradient(#1c1917 0 22%,#d4a72c 22% 34%,#1c1917 34%);box-shadow:0 .15rem .4rem rgb(0 0 0/.3);transition:rotate .2s linear}.qibla-status{min-height:1.5em;text-align:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.compass.aligned+.qibla-status{color:var(--primary)}.qibla-details,.qibla-hint{text-align:center;color:var(--muted-foreground);font-size:var(--font-size-sm)}.qibla-hint{margin-top:var(--gap-md);font-size:var(--font-size-xs)}#compass-start{align-self:center;margin-top:var(--gap-md)}@media (max-width:600px){.forecast-sheet{width:100%;max-height:90dvh;margin:auto 0 0;padding-bottom:calc(var(--card-padding) + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:1.5rem 1.5rem 0 0;translate:0 100%}@starting-style{.forecast-sheet:popover-open{translate:0 100%}}.sheet-header{position:relative;margin-top:calc(-1*var(--card-padding));padding-top:var(--card-padding);touch-action:none}.sheet-header::before{content:"";position:absolute;top:var(--gap-sm);inset-inline:0;width:2.5rem;height:.3rem;margin-inline:auto;border-radius:999px;background-color:var(--muted)}}footer a{color:inherit}.forecast-table-container{min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-sm);scrollbar-width:thin}.forecast-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.forecast-table td,.forecast-table th{padding:var(--gap-sm) var(--gap-md);text-align:center;white-space:nowrap;border-bottom:1px solid var(--border)}.forecast-table thead th{position:sticky;top:0;z-index:2;background-color:var(--secondary);font-weight:var(--font-weight-semibold)}.forecast-table th:first-child{position:sticky;inset-inline-start:0;z-index:1;text-align:start;font-weight:var(--font-weight-medium);background-color:var(--card-background)}.forecast-table thead th:first-child{z-index:3;background-color:var(--secondary)}.forecast-table tbody tr:first-child>*{background-color:color-mix(in srgb,var(--primary) 14%,var(--card-background));font-weight:var(--font-weight-bold)}.forecast-table tbody tr:last-child>*{border-bottom:none}@supports selector(::scroll-marker){@media (max-width:600px){.forecast-table-container{overflow:visible;border:0}.forecast-table{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--gap-md) var(--gap-sm)}.forecast-table thead{display:none}.forecast-table tbody{grid-column:1/-1;display:flex;gap:var(--gap-md);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-marker-group:after}.forecast-table tr{flex:0 0 100%;display:flex;flex-direction:column;scroll-snap-align:center;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.forecast-table tbody td,.forecast-table tbody th{display:flex;justify-content:space-between;font-size:var(--font-size-sm);padding:var(--gap-sm) var(--gap-md)}.forecast-table tbody th:first-child{position:static;justify-content:center;font-weight:var(--font-weight-bold);background-color:var(--secondary)}.forecast-table tbody tr:first-child>th{background-color:var(--primary);color:var(--primary-foreground)}.forecast-table td::before{content:attr(data-label);color:var(--muted-foreground)}.forecast-table tbody tr:last-child>*{border-bottom:1px solid var(--border)}.forecast-table tbody tr>:last-child{border-bottom:none}.forecast-table tr::scroll-marker{content:"";content:""/attr(data-day);width:.45rem;height:.45rem;border-radius:999px;background-color:var(--muted);transition:width var(--transition-duration-fast) var(--transition-easing),background-color var(--transition-duration-fast) var(--transition-easing)}.forecast-table tr::scroll-marker:target-current{width:1.1rem;background-color:var(--primary)}.forecast-table tbody::scroll-marker-group{grid-row:2;grid-column:2;display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem}.forecast-table tbody::scroll-button(inline-end),.forecast-table tbody::scroll-button(inline-start){grid-row:2;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background-color:var(--secondary);color:var(--foreground);font-size:var(--font-size-lg);cursor:pointer}.forecast-table tbody::scroll-button(inline-start){content:"›"/"اليوم السابق";grid-column:1}.forecast-table tbody::scroll-button(inline-end){content:"‹"/"اليوم التالي";grid-column:3}.forecast-table tbody::scroll-button(*):disabled{opacity:.35;cursor:default}}}.theme-vt::view-transition-new(root),.theme-vt::view-transition-old(root){animation:none;mix-blend-mode:normal}.theme-vt::view-transition-new(root){animation:theme-reveal .6s var(--transition-easing-in-out)}.theme-vt .prayer-card.active{view-transition-name:none}::view-transition-group(active-prayer){animation-duration:.5s;animation-timing-function:var(--transition-cubic-bezier)}body.pip{justify-content:center;padding:var(--gap-sm)}.pip .next-prayer-info{margin:0}.pip .pip-button{display:none}@supports (corner-shape:squircle){:root{--radius:1.25rem}#update-notification,.calculation-method,.forecast-button,.forecast-sheet,.forecast-table-container,.location-button,.method-select,.method-select::picker(select),.next-prayer-info,.prayer-card,.toast{corner-shape:squircle}}@media (hover:none) and (pointer:coarse){#cursor-light{opacity:1;top:15%;left:50%;transform:translate(-50%,-50%)}@supports (animation-timeline:scroll()){#cursor-light{animation:glow-drift linear both;animation-timeline:scroll(root)}}.prayer-card:hover{box-shadow:var(--shadow-sm)}.prayer-card.active:hover{box-shadow:var(--shadow-md)}.prayer-card::before{opacity:0!important}}@media (max-width:768px){:root{--header-padding-y:1rem;--header-padding-x:1.5rem;--main-padding-y:1.5rem;--main-padding-x:1.5rem;--toggle-size:1.4rem}.prayer-time,header h1{font-size:var(--font-size-xl)}#update-notification{width:90%;bottom:.75rem}.forecast-button{font-size:var(--font-size-sm);padding:.5rem 1rem}.forecast-table{font-size:var(--font-size-xs)}.forecast-table td,.forecast-table th{padding:var(--gap-sm)}}@media (max-width:600px){#toast-container{top:.5rem;left:.5rem;right:.5rem;width:auto;max-width:none;align-items:stretch}.toast{min-width:auto}}@media (max-width:480px){:root{--header-padding-y:1rem;--header-padding-x:1rem;--main-padding-y:1rem;--main-padding-x:1rem;--card-padding:1.25rem;--font-size-base:0.95rem;--toggle-size:1.3rem}main{padding-bottom:var(--gap-2xl)}header h1{font-size:var(--font-size-lg)}.date-container{flex-direction:column;gap:var(--gap-xs);font-size:var(--font-size-xs)}.location-container{font-size:var(--font-size-sm)}.location-button{font-size:var(--font-size-xs);padding:.35rem .8rem;margin-top:var(--gap-md)}.prayer-times-container{gap:var(--gap-sm)}.method-label,.prayer-name{font-size:var(--font-size-base)}.next-prayer-info h2{font-size:var(--font-size-md)}#update-notification,footer{padding:var(--gap-xl) var(--gap-lg);font-size:var(--font-size-xs)}#update-notification{width:95%;bottom:.5rem;padding:var(--gap-md) var(--gap-lg)}#update-notification button{padding:.3rem .6rem}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition:none!important}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}html{scroll-behavior:auto}}