:root{--brand-primary:#7b1aa6;--brand-primary-light:#9f69d5;--brand-primary-dark:#5b0b7d;--brand-solid:#7b1aa6;--brand-accent:#d4af37;--brand-accent-light:#e8cc6a;--brand-accent-muted:#8b6914;--surface-page:#fff;--surface-card:#fff;--surface-elevated:#fff;--surface-sunken:#f3ecfa;--surface-overlay:#1a0a2e80;--text-primary:#1e0f30;--text-secondary:#5a4670;--text-muted:#8a7a9a;--text-inverse:#fff;--border-default:#7b1aa614;--border-subtle:#7b1aa60a;--border-strong:#7b1aa626;--shadow-sm:0 1px 3px #1a0a2e0f;--shadow-md:0 4px 16px #1a0a2e14;--shadow-lg:0 8px 32px #1a0a2e1a;--shadow-glow:0 0 40px #7b1aa614;--header-bg:linear-gradient(135deg, #1a0a2e 0%, #3f1870 50%, #2d1150 100%);--header-text:#fff;--header-nav:#ffffffb3;--header-nav-hover:#fff;--header-nav-active:#e8cc6a;--header-accent:linear-gradient(90deg, #d4af37, #b8860b, #d4af37);--nav-glass:#1a0a2ea6;--nav-glass-border:#ffffff14;--footer-bg:#1a0a2e;--footer-text:#ffffff80;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--transition-fast:.15s ease;--transition:.3s cubic-bezier(.4, 0, .2, 1);--font-display:"IBM Plex Sans Arabic", sans-serif;--font-body:"IBM Plex Sans Arabic", sans-serif;--card-bg:var(--surface-card);--card-border:var(--border-default);--card-hover-shadow:var(--shadow-md);--card-accent-bar:var(--brand-primary-light);--badge-bg:var(--surface-sunken);--badge-text:var(--brand-primary);--badge-featured-bg:#fbf4d6;--badge-featured-text:#8b6914;--input-bg:var(--surface-card);--input-border:#7b1aa61a;--input-focus-border:var(--brand-primary-light);--input-text:var(--text-primary);--input-placeholder:var(--text-muted);--counter-current-bg:linear-gradient(to left, #d4af3714, #d4af3726);--counter-current-text:#8b6914;--counter-current-border:#d4af37;--table-header-bg:linear-gradient(135deg, #5b0b7d, #7b1aa6);--table-row-alt:var(--surface-sunken);--table-row-hover:#9f69d514;--cv-award-bg:#fef3c7;--cv-award-border:#fbbf24;--cv-award-dot:#d97706;--cv-award-text:#4a3608;--cv-award-text-muted:#8b6914;--pattern-opacity:.018;--temp-max:#c0261d;--temp-min:#1f5fbf}[data-theme=dark]{--temp-max:#ff8b80;--temp-min:#8db9ff;--cv-award-bg:#d4af3724;--cv-award-border:#d4af37;--cv-award-dot:#f0d860;--cv-award-text:#fbeec1;--cv-award-text-muted:#d8b96b}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--surface-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background var(--transition), color var(--transition);direction:rtl;line-height:1.9}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}#root>*{width:100%}body:before{content:"";opacity:var(--pattern-opacity);pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 30L30 60L0 30Z' fill='none' stroke='%237B1AA6' stroke-width='0.5'/%3E%3Cpath d='M30 10L50 30L30 50L10 30Z' fill='none' stroke='%237B1AA6' stroke-width='0.3'/%3E%3C/svg%3E");background-size:60px 60px;position:fixed;inset:0}a{color:var(--brand-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--brand-accent)}[data-theme=dark] a{color:var(--brand-primary-light)}img{max-width:100%;height:auto}.container{z-index:1;max-width:1140px;margin:0 auto;padding:0 24px;position:relative}.header-wrapper{z-index:100;pointer-events:none;padding:14px 24px 0;position:fixed;top:0;left:0;right:0}.site-header{background:var(--nav-glass);-webkit-backdrop-filter:blur(24px)saturate(1.8);border:1px solid var(--nav-glass-border);pointer-events:auto;max-width:1140px;transition:background var(--transition), border-color var(--transition), border-radius var(--transition);border-radius:9999px;margin:0 auto;box-shadow:0 4px 24px #00000026}.site-header.mobile-open{border-radius:20px}.header-inner{justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex}.site-logo{align-items:center;gap:10px;display:flex}.site-logo .logo-img{width:auto;height:32px;display:block}.site-logo .logo-text{font-family:var(--font-display);color:#ffffffb3;white-space:nowrap;letter-spacing:.02em;transition:color var(--transition);align-items:center;gap:9px;font-size:.85rem;font-weight:500;line-height:1.2;display:flex}.site-logo .logo-text:hover{color:var(--brand-accent-light)}.site-logo .subtitle{display:none}.header-icon-link{color:#fff;width:34px;height:34px;transition:all var(--transition);background:#ffffff14;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.header-icon-link:hover{color:var(--brand-accent-light);background:#ffffff26}.header-icon-link svg{display:block}.header-social{align-items:center;gap:6px;display:flex}.nav-mobile-social{border-top:1px solid #ffffff14;gap:8px;margin-top:8px;padding:12px 16px 0;display:flex}.nav-mobile-social .header-icon-link{color:#fff;border-radius:9999px;padding:0}.nav-mobile-social .header-icon-link:hover{color:var(--brand-accent-light);background:#ffffff26}.nav-desktop{align-items:center;gap:2px;display:flex}.nav-desktop a{color:#fff9;transition:all var(--transition);border-radius:9999px;padding:6px 14px;font-size:.82rem;font-weight:500}.nav-desktop a:hover{color:#fff;background:#ffffff1a}.nav-desktop a.active{color:#fff;background:#ffffff26}.nav-actions{align-items:center;gap:6px;display:flex}.theme-toggle{color:#fff;cursor:pointer;width:34px;height:34px;transition:all var(--transition);background:#ffffff14;border:none;border-radius:9999px;justify-content:center;align-items:center;font-size:.9rem;display:flex}.theme-toggle:hover{background:#ffffff26}.nav-search-trigger{color:#ffffff8c;cursor:pointer;min-width:128px;height:34px;transition:all var(--transition);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9999px;flex-shrink:0;align-items:center;gap:8px;padding:0 14px;font-family:inherit;font-size:.8rem;display:flex}.nav-search-trigger:hover{color:#fff;background:#ffffff1f}.nav-search-trigger svg{flex-shrink:0;display:block}@media (width<=1120px){.nav-search-trigger{color:#fff;background:#ffffff14;border:none;justify-content:center;width:34px;min-width:0;padding:0}.nav-search-label{display:none}}.nav-hamburger{color:#fff;cursor:pointer;width:34px;height:34px;transition:all var(--transition);background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;font-size:1.2rem;display:none}.nav-hamburger:hover{background:#ffffff1a}.nav-mobile{border-top:1px solid #ffffff14;padding:12px 16px 16px;display:none}.nav-mobile.open{flex-direction:column;gap:2px;display:flex}.nav-mobile a{color:#fff9;transition:all var(--transition);border-radius:12px;padding:10px 16px;font-size:.88rem;font-weight:500}.nav-mobile a:hover{color:#fff;background:#ffffff14}.nav-mobile a.active{color:#fff;background:#ffffff1f}.header-spacer{height:80px}@media (width<=960px){.nav-desktop{display:none}.nav-hamburger{display:flex}.header-social{display:none}}@media (width<=768px){.header-wrapper{padding:10px 12px 0}}@media (width<=350px){.site-logo .logo-label{display:none}}main{flex:1;padding:20px 0 36px}.site-footer{background:var(--footer-bg);color:var(--footer-text);margin-top:50px;padding:40px 0 24px;font-size:.82rem;position:relative}.site-footer:before{content:"";background:linear-gradient(90deg, transparent, var(--brand-accent), transparent);height:2px;position:absolute;top:0;left:0;right:0}.site-footer .footer-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:32px;margin-bottom:28px;display:grid}.site-footer .footer-col{min-width:0}.site-footer .footer-heading{font-family:var(--font-display);color:#ffffffd9;margin-bottom:12px;padding-bottom:8px;font-size:.95rem;font-weight:700;position:relative}.site-footer .footer-heading:after{content:"";background:var(--brand-accent);border-radius:2px;width:36px;height:2px;position:absolute;bottom:0;right:0}.site-footer .footer-about p{color:var(--footer-text);font-size:.85rem;line-height:1.9}.site-footer .footer-links ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.site-footer .footer-links a{color:var(--footer-text);transition:color var(--transition);font-size:.85rem}.site-footer .footer-links a:hover{color:var(--brand-accent-light)}.site-footer .footer-social-links{flex-wrap:wrap;gap:8px;display:flex}.site-footer .footer-social-links a{color:#ffffffbf;min-width:44px;transition:all var(--transition);background:#ffffff0f;border:1px solid #ffffff14;border-radius:9999px;justify-content:center;align-items:center;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.site-footer .footer-social-links a:hover{color:#fff;border-color:var(--brand-accent);background:#ffffff1f}.site-footer .footer-copyright{text-align:center;color:var(--footer-text);border-top:1px solid #ffffff14;padding-top:20px;font-size:.78rem}@media (width<=768px){.site-footer .footer-grid{text-align:center;grid-template-columns:1fr;gap:24px}.site-footer .footer-heading:after{right:50%;transform:translate(50%)}.site-footer .footer-links ul{align-items:center}.site-footer .footer-social-links{justify-content:center}}.page-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:28px;padding-bottom:14px;font-size:1.6rem;position:relative}.page-title:after{content:"";background:linear-gradient(to left, var(--brand-accent), transparent);border-radius:2px;width:80px;height:3px;position:absolute;bottom:0;right:0}.page-title .count{color:var(--text-muted);font-size:.9rem;font-family:var(--font-body);font-weight:400}.card{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);transition:all var(--transition);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:22px 26px;position:relative;overflow:hidden}.card:before{content:"";background:var(--card-accent-bar);opacity:0;width:4px;height:100%;transition:opacity var(--transition);position:absolute;top:0;right:0}.card:hover{box-shadow:var(--card-hover-shadow);border-color:var(--border-strong);transform:translateY(-1px)}.card:hover:before{opacity:1}.card h2{font-family:var(--font-display);color:var(--text-primary);margin-bottom:8px;font-size:1.15rem;font-weight:700;line-height:1.7}.card .meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.78rem;display:flex}.card .meta .separator{background:var(--brand-primary-light);border-radius:50%;width:3px;height:3px}.views-badge{background:var(--badge-bg);color:var(--badge-text);border-radius:20px;align-items:center;gap:4px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.featured-badge{background:var(--badge-featured-bg);color:var(--badge-featured-text);border-radius:20px;align-items:center;gap:4px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.article-content{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--card-border);box-shadow:var(--shadow-glow);padding:40px 44px;line-height:2.1}.article-content .back-link{color:var(--text-muted);transition:color var(--transition);align-items:center;gap:6px;margin-bottom:20px;font-size:.85rem;display:inline-flex}.article-content .back-link:hover{color:var(--brand-primary)}.article-content h1{font-family:var(--font-display);color:var(--text-primary);margin-bottom:8px;font-size:1.7rem;line-height:1.6}.article-content .title-bar{border-bottom:2px solid var(--border-default);margin-bottom:10px;padding-bottom:16px;position:relative}.article-content .title-bar:after{content:"";background:var(--brand-accent);width:60px;height:2px;position:absolute;bottom:-2px;right:0}.article-content .meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:30px;font-size:.82rem;display:flex}.article-content .body-content{color:var(--text-primary);font-size:1.05rem}.article-content .body-content p{margin-bottom:16px}.article-content .body-content img{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:20px 0}.article-content .body-content iframe{border-radius:var(--radius-md);max-width:100%;margin:20px 0}.article-content .body-content table{border-collapse:collapse;width:100%;margin:20px 0;font-size:.9rem}.article-content .body-content td,.article-content .body-content th{border:1px solid var(--border-default);text-align:right;padding:10px 14px}.article-content .body-content th{background:var(--surface-sunken);font-weight:600}.article-content .body-content hr{background:linear-gradient(to left, var(--border-default), transparent);border:none;height:1px;margin:28px 0}.article-content .body-content blockquote{border-right:4px solid var(--brand-accent);background:var(--badge-featured-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:16px 0;padding:12px 20px}.article-content .body-content strong{color:var(--brand-primary)}[data-theme=dark] .article-content .body-content strong{color:var(--brand-primary-light)}.tafsir-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.tafsir-card{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);transition:all var(--transition);overflow:hidden}.tafsir-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.tafsir-card .tafsir-img-wrap{aspect-ratio:4/3;background:var(--surface-sunken);position:relative;overflow:hidden}.tafsir-card img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.tafsir-card:hover img{transform:scale(1.05)}.tafsir-card .tafsir-title{font-family:var(--font-display);color:var(--text-primary);border-top:2px solid var(--badge-featured-bg);padding:16px 18px;font-size:.95rem;line-height:1.8}.prayer-section{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--card-border);box-shadow:var(--shadow-glow);padding:30px}.prayer-section .city-info{color:var(--text-primary);font-size:1.1rem;font-weight:600;font-family:var(--font-display);margin-bottom:20px}.city-select{font-size:.95rem;font-family:var(--font-body);border:2px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--input-text);cursor:pointer;min-width:240px;transition:border-color var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237B1AA6' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:16px;background-repeat:no-repeat;margin-bottom:24px;padding:12px 20px 12px 40px}.city-select:focus{border-color:var(--input-focus-border);outline:none;box-shadow:0 0 0 3px #7b1aa614}.prayer-row{border-bottom:1px solid var(--border-subtle);transition:background .3s}.prayer-row--even{background:var(--surface-card)}.prayer-row--odd{background:var(--surface-sunken)}.prayer-row--highlighted{background:linear-gradient(270deg,#d4af3726,#d4af3714)}.prayer-row:hover{background:var(--border-subtle)}.prayer-fnref{margin-inline-start:2px;font-size:.72em;line-height:0}.prayer-table-full .prayer-fnref a{color:var(--brand-accent-light);padding:0 2px;font-weight:700}.prayer-table-full .prayer-fnref a:hover{color:inherit;text-decoration:underline}.prayer-fnref a,.prayer-note{scroll-margin-top:96px}.prayer-note{border-radius:var(--radius-sm);transition:background var(--transition);margin-inline:-8px;padding-inline:8px}.prayer-note:target{background:var(--surface-sunken)}.prayer-note-back{margin-inline-start:6px;font-weight:700}.prayer-table-full .prayer-row--highlighted{background:linear-gradient(to left, color-mix(in srgb, var(--brand-accent) 15%, transparent), color-mix(in srgb, var(--brand-accent) 8%, transparent)), var(--surface-card)}.prayer-table-full .prayer-row:hover{background:linear-gradient(var(--border-subtle), var(--border-subtle)), var(--surface-card)}.prayer-location-status{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-secondary);margin-bottom:20px;padding:10px 16px;font-size:.88rem;line-height:1.8}.prayer-location-status:empty{border:0;margin:0;padding:0}.prayer-location-status strong{color:var(--brand-primary)}.counter-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px;display:grid}.counter-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);overflow:hidden}.counter-card h3{background:var(--table-header-bg);color:#fff;font-family:var(--font-display);padding:14px 20px;font-size:1.05rem;position:relative}.counter-card h3:after{content:"";background:linear-gradient(to left, var(--brand-accent), transparent);height:2px;position:absolute;bottom:0;left:0;right:0}.counter-item{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);transition:background var(--transition);padding:12px 20px;font-size:.88rem}.counter-item:last-child{border-bottom:none}.counter-item:hover{background:var(--table-row-hover)}.counter-item.current{background:var(--counter-current-bg);color:var(--counter-current-text);border-right:4px solid var(--counter-current-border);font-weight:700}.search-wrap{margin-bottom:24px;position:relative}.search-input{padding:14px 24px;width:100%;font-size:.95rem;font-family:var(--font-body);border:2px solid var(--input-border);border-radius:var(--radius-lg);background:var(--input-bg);color:var(--input-text);transition:all var(--transition);padding-right:48px}.search-input:focus{border-color:var(--input-focus-border);outline:none;box-shadow:0 0 0 4px #5b0b7d0f}.search-input::placeholder{color:var(--input-placeholder)}.search-icon{color:var(--brand-primary-light);font-size:1.1rem;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.search-overlay{z-index:1000;background:var(--surface-overlay);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.search-panel{background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:76vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.search-panel-field{border-bottom:1px solid var(--border-default);color:var(--brand-primary);align-items:center;gap:12px;padding:0 20px;display:flex}.search-panel-field svg{flex-shrink:0}.search-panel-field input{min-width:0;height:60px;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1.05rem}.search-panel-field input::placeholder{color:var(--text-muted)}.search-panel-close{background:var(--surface-sunken);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.search-panel-close:hover{color:var(--text-primary);background:var(--border-strong)}.search-panel-body{overscroll-behavior:contain;padding:8px;overflow-y:auto}.search-panel-hint{text-align:center;color:var(--text-muted);padding:28px 16px;font-size:.9rem}.search-results{list-style:none}.search-panel .search-result{border-radius:var(--radius-md);color:var(--text-primary);padding:10px 14px;display:block}.search-panel .search-result.active{background:var(--surface-sunken);box-shadow:inset -3px 0 0 var(--brand-primary)}.search-result-title{font-weight:600;line-height:1.6;display:block}.search-result-snippet{-webkit-line-clamp:2;color:var(--text-secondary);-webkit-box-orient:vertical;margin-top:2px;font-size:.82rem;line-height:1.7;display:-webkit-box;overflow:hidden}.search-panel .search-result--all{text-align:center;color:var(--brand-primary);margin-top:4px;font-size:.85rem;font-weight:600}@media (width<=768px){.search-overlay{padding:10px}.search-panel{max-height:calc(100dvh - 20px)}}mark{color:#1e0f30;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-color:#ffe600;border-radius:3px;padding:0 .15em;font-weight:700}[data-theme=dark] mark{color:#1a0a2e;background-color:#ffd60a}.share-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.share-buttons .share-label{color:var(--text-primary);margin-inline-end:4px;font-size:.9rem;font-weight:700}.share-buttons .share-btn{color:#fff;cursor:pointer;width:42px;height:42px;transition:transform var(--transition-fast), filter var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);border:none;border-radius:9999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.share-buttons .share-btn:hover{filter:brightness(1.08);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.share-buttons .share-btn:active{transform:translateY(0)}.share-buttons .share-btn svg{width:20px;height:20px;display:block}.share-buttons .share-btn.copied{background:#16a34a!important}.pagination{flex-wrap:wrap;justify-content:center;gap:6px;margin:36px 0;display:flex}.pagination button{border:1px solid var(--border-default);background:var(--card-bg);border-radius:var(--radius-sm);cursor:pointer;width:38px;height:38px;font-family:var(--font-body);color:var(--text-secondary);transition:all var(--transition);justify-content:center;align-items:center;font-size:.85rem;display:flex}.pagination button:hover{background:var(--surface-sunken);border-color:var(--brand-primary-light)}.pagination button.active{background:var(--table-header-bg);color:#fff;border-color:var(--brand-primary);box-shadow:var(--shadow-sm)}.hero{background:var(--header-bg);border-radius:var(--radius-lg);color:#fff;margin-bottom:36px;padding:48px 44px;position:relative;overflow:hidden}.hero:before{content:"";opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0L80 40L40 80L0 40Z' fill='none' stroke='%23D4AF37' stroke-width='0.5'/%3E%3Ccircle cx='40' cy='40' r='20' fill='none' stroke='%23D4AF37' stroke-width='0.3'/%3E%3C/svg%3E");background-size:80px 80px;width:200%;height:200%;position:absolute;top:-50%;left:-50%}.hero h2{font-family:var(--font-display);margin-bottom:10px;font-size:2rem;position:relative}.hero p{color:#ffffffb3;max-width:500px;font-size:.95rem;position:relative}.hero .hero-accent{border:2px solid var(--brand-accent);opacity:.15;border-radius:50%;width:80px;height:80px;position:absolute;bottom:20px;left:30px}.hero-banner{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:36px;line-height:0;overflow:hidden}.hero-banner img{width:100%;height:auto;display:block}@media (width<=768px){.hero-banner{border-radius:var(--radius-md);margin-bottom:24px}}.home-split{grid-template:"articles prayer""articles season""articles rulers"1fr/minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px 20px;display:grid}.home-articles{grid-area:articles}.home-prayer{grid-area:prayer}.home-season{grid-area:season}.home-rulers{grid-area:rulers}@media (width<=999px){.home-split{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"prayer""articles""season""rulers"}}.not-found{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:640px;margin:40px auto 20px;display:flex}.not-found-code{font-family:var(--font-display);color:var(--brand-primary);font-size:clamp(4.5rem,3rem + 6vw,7rem);font-weight:700;line-height:1}.not-found-code:after{content:"";background:var(--brand-accent);border-radius:2px;width:72px;height:3px;margin:14px auto 0;display:block}.not-found-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.6rem}.not-found-text{color:var(--text-secondary);font-size:1rem;line-height:1.9}.not-found-path{overflow-wrap:anywhere;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-sunken);max-width:100%;color:var(--text-muted);padding:2px 10px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.not-found-links{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.not-found-btn{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--brand-primary);transition:background var(--transition-fast), border-color var(--transition-fast);padding:8px 18px;font-size:.9rem;font-weight:600}.not-found-btn:hover{background:var(--surface-sunken);border-color:var(--brand-primary-light);color:var(--brand-primary)}.not-found-btn.primary,.not-found-btn.primary:hover{background:var(--brand-solid);border-color:var(--brand-solid);color:#fff}.not-found-btn.primary:hover{filter:brightness(1.08)}.not-found-btn:focus-visible{outline:2px solid var(--brand-primary-light);outline-offset:2px}.not-found-hint{color:var(--text-muted);font-size:.85rem}.loading-state,.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.loading-spinner{border:3px solid var(--border-default);border-top-color:var(--brand-primary);border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.weather-page{flex-direction:column;gap:16px;display:flex}.weather-page .page-title{margin-bottom:8px}.weather-banner{background:linear-gradient(135deg, var(--brand-primary-dark), var(--brand-solid));border-radius:var(--radius-lg);color:#fff;padding:20px 28px}.weather-banner-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.weather-banner-date{color:#ffffffd9;margin-top:4px;font-size:.9rem}.weather-banner-sub{color:#ffffffb3;font-size:.82rem;line-height:1.8}.weather-toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.weather-actions{flex-wrap:wrap;gap:8px;margin-inline-start:auto;display:flex}.weather-seg{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.weather-seg button{font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:4px 12px;font-size:.82rem}.weather-seg button[aria-pressed=true]{background:var(--surface-card);color:var(--brand-primary);box-shadow:var(--shadow-sm);font-weight:700}.weather-btn{font-family:var(--font-body);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--brand-primary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.weather-btn:hover{background:var(--surface-sunken);border-color:var(--brand-primary-light);color:var(--brand-primary)}.weather-input{width:220px;max-width:100%;font-family:var(--font-body);border:2px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--input-text);padding:5px 14px;font-size:1rem}.weather-input:focus{border-color:var(--input-focus-border);outline:none}.weather-input::placeholder{color:var(--input-placeholder)}.weather-check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.weather-count{color:var(--text-muted);font-size:.82rem}.weather-btn:focus-visible,.weather-seg button:focus-visible,.weather-sort:focus-visible,.weather-check input:focus-visible{outline:2px solid var(--brand-primary-light);outline-offset:2px}.tools-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;display:grid}.tools-intro{max-width:70ch;color:var(--text-secondary);margin-top:-12px;font-size:.95rem;line-height:1.9}.tool-card{flex-direction:column;margin:0;padding:0;display:flex}.tool-card-image{background:var(--brand-primary-dark);border-bottom:1px solid var(--border-default);display:block;overflow:hidden}.tool-card-image img{aspect-ratio:960/536;object-fit:cover;width:100%;height:auto;transition:transform .5s;display:block}.tool-card:hover .tool-card-image img{transform:scale(1.03)}.tool-card-body{flex-direction:column;flex:1;gap:12px;padding:18px 22px 20px;display:flex}.tool-card h2{margin:0}.tool-replaces{color:var(--text-muted)!important;font-size:.78rem!important}.tool-replaces code{background:var(--surface-sunken);color:var(--text-secondary);border-radius:4px;padding:0 4px;font-size:.95em}.tool-card h2 a{color:var(--text-primary)}.tool-card h2 a:hover{color:var(--brand-primary)}.tool-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.9}.tool-card .tool-open{align-self:flex-start}.tool-links{border-top:1px solid var(--border-default);flex-direction:column;gap:6px;padding-top:12px;list-style:none;display:flex}.tool-links li{grid-template-columns:minmax(100px,auto) minmax(0,1fr) auto;align-items:center;gap:4px 10px;font-size:.82rem;display:grid}.tool-link-label{color:var(--text-muted)}.tool-link-url{overflow-wrap:anywhere;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem}.tool-links .weather-btn{padding:2px 10px;font-size:.75rem}@media (width<=480px){.tool-links li{grid-template-columns:minmax(0,1fr) auto}.tool-link-label{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.tool-card-image img{transition:none}.tool-card:hover .tool-card-image img{transform:none}}.tools-back{color:var(--text-muted);align-self:flex-start;font-size:.85rem}.tools-back:hover{color:var(--brand-primary)}.weather-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm);overflow-x:auto}.weather-table-wrap--narrow{max-width:640px}.weather-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.weather-table th,.weather-table td{text-align:center;white-space:nowrap;padding:7px 10px}.weather-table thead th{background:var(--brand-solid);color:#fff;font-weight:600}.weather-table thead tr+tr th{background:var(--brand-primary-dark);padding:5px 8px;font-size:.76rem;font-weight:500}.weather-table thead th.weather-today{box-shadow:inset 0 -3px 0 var(--brand-accent)}.weather-table tbody>tr>*{background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}.weather-table tbody>tr:nth-child(2n)>*{background:var(--surface-sunken)}.weather-table tbody>tr:hover>*{background:color-mix(in srgb, var(--brand-primary-light) 12%, var(--surface-card))}.weather-sort{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:0 2px}.weather-sort:hover,.weather-sort[aria-pressed=true]{text-underline-offset:4px;text-decoration:underline}.weather-label-short,.weather-print-only{display:none}.weather-table .weather-col-city{z-index:1;text-align:start;color:var(--brand-primary);box-shadow:inset -1px 0 0 var(--border-default);font-weight:700;position:sticky;inset-inline-start:0}.weather-table thead .weather-col-city{z-index:2;color:#fff}.weather-table .weather-col-num{width:44px;color:var(--text-muted);font-size:.78rem}.weather-city-en{color:var(--text-muted);margin-inline-start:6px;font-size:.75rem;font-weight:400}.weather-table .temp-max{color:var(--temp-max);font-weight:700}.weather-table .temp-min{color:var(--temp-min);font-weight:700}.weather-table--forecast:not(.no-conditions) tbody td:nth-child(3n+2),.weather-table--forecast:not(.no-conditions) thead tr+tr th:nth-child(3n+1),.weather-table--forecast.no-conditions tbody td:nth-child(2n+2),.weather-table--forecast.no-conditions thead tr+tr th:nth-child(odd){border-inline-start:1px solid var(--border-default)}.weather-table--forecast thead tr:first-child th+th{border-inline-start:1px solid #ffffff26}.weather-wx{color:var(--text-secondary);text-align:start;font-size:.8rem}.weather-wx:before{content:"";vertical-align:middle;background:var(--wx-color,var(--text-muted));border-radius:50%;width:7px;height:7px;margin-inline-end:6px;display:inline-block}.weather-wx[data-kind=clear]{--wx-color:#e0a100}.weather-wx[data-kind=cloud]{--wx-color:#8a94a6}.weather-wx[data-kind=fog]{--wx-color:#a3a3a3}.weather-wx[data-kind=drizzle]{--wx-color:#5aa0e6}.weather-wx[data-kind=rain]{--wx-color:#2f6fe0}.weather-wx[data-kind=snow]{--wx-color:#7cc4f0}.weather-wx[data-kind=thunder]{--wx-color:#8b5cf6}.weather-rain{color:var(--temp-min);margin-inline-start:6px;font-size:.72rem;font-weight:700}.weather-empty{color:var(--text-muted);padding:28px 12px}.weather-status{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.weather-note{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:.82rem;line-height:1.9;display:flex}.weather-note code{background:var(--surface-sunken);border-radius:4px;padding:0 4px;font-size:.85em}@media (width<=768px){.weather-banner{padding:16px 20px}.weather-actions{margin-inline-start:0}.weather-input{width:100%}}@media print{.weather-toolbar,.weather-status,.tools-back{display:none!important}body:has(.weather-page):before{display:none!important}body:has(.weather-page) .header-wrapper{display:none!important}body:has(.weather-page) .header-spacer{display:none!important}body:has(.weather-page) .site-footer{display:none!important}body:has(.weather-page) main{padding:0}.weather-banner{color:#000;background:0 0;padding:0}.weather-banner-date,.weather-banner-sub{color:#333}.weather-table-wrap{box-shadow:none;border:0;overflow:visible}.weather-table{font-size:7.5pt}.weather-table th,.weather-table td{padding:2px 4px}.weather-table thead th,.weather-table thead tr+tr th{color:#000!important;background:#eee!important}.weather-table .weather-col-city{position:static}.weather-table--forecast th,.weather-table--forecast td,.weather-table--forecast .weather-sort,.weather-table--forecast .weather-rain{font-size:7pt!important}.weather-table--forecast th,.weather-table--forecast td{white-space:normal!important;padding:1px 2px!important}.weather-table--forecast .weather-wx:before,.weather-label-full,.weather-sort-mark{display:none}.weather-label-short{display:inline}.weather-print-only{color:#333;font-size:.8rem;display:block}.weather-table--forecast .weather-rain{margin-inline-start:2px}.weather-note a{color:inherit}}@media (width<=768px){.container{padding:0 16px}.hero{padding:32px 24px}.hero h2{font-size:1.5rem}.article-content{padding:24px 20px}.article-content h1{font-size:1.3rem}.prayer-section{padding:20px}.tafsir-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.counter-grid{grid-template-columns:1fr}}@media (width<=480px){.tafsir-grid{grid-template-columns:1fr}}
