:root{--font-arabic: "Noto Naskh Arabic", "Amiri", -apple-system, system-ui, sans-serif;--font-quran: "Amiri", "Noto Naskh Arabic", serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", monospace;--bg-main: #0a0d12;--bg-card: rgba(18, 24, 34, .75);--bg-card-hover: rgba(28, 38, 52, .85);--bg-card-active: linear-gradient(135deg, rgba(212, 175, 55, .15), rgba(16, 185, 129, .12));--border-subtle: rgba(255, 255, 255, .08);--border-active: rgba(212, 175, 55, .55);--border-next: rgba(52, 211, 153, .55);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-gold: #d4af37;--accent-gold-glow: rgba(212, 175, 55, .25);--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .25);--card-glow-active: 0 0 35px rgba(212, 175, 55, .18);--card-glow-next: 0 0 35px rgba(16, 185, 129, .18);--top-ambient-glow: radial-gradient(circle at 50% -20%, rgba(212, 175, 55, .12), transparent 70%)}html.theme-emerald{--bg-main: #061712;--bg-card: rgba(10, 36, 28, .75);--bg-card-hover: rgba(16, 52, 40, .85);--bg-card-active: linear-gradient(135deg, rgba(52, 211, 153, .2), rgba(212, 175, 55, .12));--border-subtle: rgba(52, 211, 153, .12);--border-active: rgba(52, 211, 153, .6);--border-next: rgba(251, 191, 36, .6);--text-primary: #ecfdf5;--text-secondary: #a7f3d0;--text-muted: #4ade80;--accent-gold: #34d399;--accent-gold-glow: rgba(52, 211, 153, .3);--accent-emerald: #fbbf24;--accent-emerald-glow: rgba(251, 191, 36, .3);--card-glow-active: 0 0 35px rgba(52, 211, 153, .22);--card-glow-next: 0 0 35px rgba(251, 191, 36, .22);--top-ambient-glow: radial-gradient(circle at 50% -20%, rgba(52, 211, 153, .15), transparent 70%)}html.theme-sapphire{--bg-main: #070e1b;--bg-card: rgba(12, 25, 48, .75);--bg-card-hover: rgba(20, 39, 72, .85);--bg-card-active: linear-gradient(135deg, rgba(56, 189, 248, .2), rgba(129, 140, 248, .15));--border-subtle: rgba(56, 189, 248, .12);--border-active: rgba(56, 189, 248, .6);--border-next: rgba(129, 140, 248, .6);--text-primary: #f0f9ff;--text-secondary: #bae6fd;--text-muted: #60a5fa;--accent-gold: #38bdf8;--accent-gold-glow: rgba(56, 189, 248, .3);--accent-emerald: #818cf8;--accent-emerald-glow: rgba(129, 140, 248, .3);--card-glow-active: 0 0 35px rgba(56, 189, 248, .22);--card-glow-next: 0 0 35px rgba(129, 140, 248, .22);--top-ambient-glow: radial-gradient(circle at 50% -20%, rgba(56, 189, 248, .15), transparent 70%)}html.theme-ivory{--bg-main: #f8f6f0;--bg-card: rgba(255, 255, 255, .9);--bg-card-hover: #ffffff;--bg-card-active: linear-gradient(135deg, rgba(180, 142, 38, .12), rgba(16, 140, 95, .1));--border-subtle: rgba(0, 0, 0, .08);--border-active: rgba(180, 142, 38, .7);--border-next: rgba(16, 140, 95, .7);--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--accent-gold: #b48e26;--accent-gold-glow: rgba(180, 142, 38, .2);--accent-emerald: #108c5f;--accent-emerald-glow: rgba(16, 140, 95, .2);--card-glow-active: 0 4px 25px rgba(180, 142, 38, .15);--card-glow-next: 0 4px 25px rgba(16, 140, 95, .15);--top-ambient-glow: radial-gradient(circle at 50% -20%, rgba(180, 142, 38, .08), transparent 70%)}body.night-dimmed{filter:brightness(.65) contrast(.95);transition:filter 1.5s ease}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;background-color:var(--bg-main);background-image:var(--top-ambient-glow);color:var(--text-primary);font-family:var(--font-sans);overflow:hidden;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}@media(max-width:600px)and (orientation:portrait){body{height:auto;min-height:100vh;overflow-y:auto}}.wall-container{width:100%;max-width:1600px;margin:0 auto;padding:clamp(.5rem,1.2vh,1.25rem) clamp(.75rem,1.5vw,1.5rem);height:100vh;height:100dvh;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(.4rem,1vh,.9rem);box-sizing:border-box}@media(max-width:600px)and (orientation:portrait){.wall-container{height:auto;min-height:100vh}}.header-bar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:clamp(.25rem,.6vh,.5rem);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.nav-pills-group{display:flex;align-items:center;gap:.35rem}.nav-pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-card);border:1px solid var(--border-subtle);padding:clamp(.25rem,.5vh,.4rem) clamp(.65rem,1vw,.95rem);border-radius:9999px;color:var(--text-secondary);text-decoration:none;font-size:clamp(.75rem,1vw,.9rem);font-weight:700;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(12px)}.nav-pill:hover{color:var(--text-primary);border-color:var(--accent-gold)}.nav-pill.is-active{background:#d4af3726;color:var(--accent-gold);border-color:var(--accent-gold)}.location-badge-top{display:inline-flex;align-items:center;gap:.4rem;font-size:clamp(.75rem,1vw,.88rem);color:var(--text-muted);font-weight:600}.header-actions{display:flex;align-items:center;gap:.4rem}.icon-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);width:clamp(34px,4.2vh,40px);height:clamp(34px,4.2vh,40px);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(12px)}.icon-btn:hover{color:var(--text-primary);border-color:var(--accent-gold);transform:translateY(-1px)}.wake-status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--accent-emerald);box-shadow:0 0 8px var(--accent-emerald);display:inline-block}.app-view{display:none;flex:1;min-height:0;flex-direction:column;justify-content:space-between;gap:clamp(.4rem,1vh,.9rem)}.app-view.is-active{display:flex}.hero-section{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(.5rem,1.2vw,1.25rem);align-items:stretch;flex:1.15;min-height:0}@media(max-width:900px)and (orientation:portrait){.hero-section{grid-template-columns:1fr;flex:none}}.clock-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(16px,2vh,22px);padding:clamp(.75rem,1.8vh,1.4rem) clamp(1rem,2vw,1.75rem);backdrop-filter:blur(16px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.clock-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,var(--accent-gold-glow),transparent 60%);pointer-events:none}.digital-time-display{display:flex;align-items:baseline;gap:.35rem;font-family:var(--font-mono);font-weight:700;line-height:1}.time-main{font-size:clamp(2.8rem,6.8vh,5.5rem);letter-spacing:-.04em;color:var(--text-primary);font-variant-numeric:tabular-nums}.time-colon{color:var(--accent-gold);animation:colon-pulse 2s infinite ease-in-out}@keyframes colon-pulse{0%,to{opacity:1}50%{opacity:.3}}.time-seconds{font-size:clamp(1.3rem,3.2vh,2.4rem);color:var(--accent-gold);font-weight:600;font-variant-numeric:tabular-nums}.time-period{font-family:var(--font-sans);font-size:clamp(.85rem,1.8vh,1.25rem);color:var(--text-secondary);margin-left:.4rem;font-weight:700}.date-display-group{margin-top:clamp(.4rem,1vh,.8rem);display:flex;flex-direction:column;gap:.2rem}.hijri-date{font-size:clamp(.85rem,1.5vh,1.05rem);color:var(--accent-gold);display:flex;align-items:center;gap:.4rem}.gregorian-date{font-family:var(--font-sans);font-size:clamp(.95rem,1.8vh,1.25rem);font-weight:700;color:var(--text-primary)}.next-prayer-card{background:var(--bg-card);border:1px solid var(--border-next);border-radius:clamp(16px,2vh,22px);padding:clamp(.75rem,1.8vh,1.4rem) clamp(1rem,2vw,1.75rem);backdrop-filter:blur(16px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:var(--card-glow-next)}.next-prayer-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 90%,var(--accent-emerald-glow),transparent 70%);pointer-events:none}.next-prayer-header{display:flex;justify-content:space-between;align-items:center}.next-prayer-badge{display:inline-flex;align-items:center;gap:.35rem;background:#10b98126;color:var(--accent-emerald);border:1px solid rgba(16,185,129,.3);padding:.25rem .65rem;border-radius:9999px;font-size:clamp(.72rem,1.2vh,.85rem);font-weight:700}.next-prayer-name{font-size:clamp(1.25rem,2.8vh,1.9rem);font-weight:700;color:var(--text-primary);margin-top:.25rem;line-height:1.2}.next-prayer-name-ar{font-family:var(--font-arabic);font-size:clamp(.78rem,1.3vh,.95rem);color:var(--text-secondary);font-weight:600}.countdown-group{margin:clamp(.3rem,.8vh,.6rem) 0 0}.countdown-label{font-size:clamp(.72rem,1.2vh,.85rem);color:var(--text-secondary);margin-bottom:.15rem}.countdown-numbers{font-family:var(--font-mono);font-size:clamp(1.6rem,3.8vh,2.75rem);font-weight:700;color:var(--accent-emerald);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.prayer-progress-track{width:100%;height:5px;background:#ffffff14;border-radius:9999px;overflow:hidden;margin-top:.35rem}.prayer-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-gold),var(--accent-emerald));border-radius:9999px;transition:width 1s linear;width:45%}.prayer-alert-banner{display:none;background:linear-gradient(135deg,#d4af3740,#10b98140);border:2px solid var(--accent-gold);border-radius:14px;padding:.5rem 1rem;align-items:center;justify-content:center;gap:.5rem;animation:glow-banner 2s infinite ease-in-out;flex-shrink:0}.prayer-alert-banner.is-visible{display:flex}@keyframes glow-banner{0%,to{box-shadow:0 0 20px #d4af374d}50%{box-shadow:0 0 35px #d4af3799}}.prayer-alert-text{font-size:clamp(.9rem,1.5vh,1.15rem);font-weight:700;color:var(--accent-gold)}.prayers-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.4rem,.9vw,.9rem);flex:1;min-height:0;align-items:stretch}@media(max-width:900px)and (orientation:portrait){.prayers-grid{grid-template-columns:repeat(3,1fr);flex:none}}@media(max-width:500px){.prayers-grid{grid-template-columns:repeat(2,1fr)}}.prayer-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(14px,1.8vh,18px);padding:clamp(.5rem,1.2vh,.9rem) clamp(.4rem,.8vw,.8rem);backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.prayer-card.is-active{background:var(--bg-card-active);border-color:var(--border-active);box-shadow:var(--card-glow-active);transform:translateY(-2px)}.prayer-card.is-next{border-color:var(--border-next);box-shadow:var(--card-glow-next)}.prayer-card.is-passed{opacity:.6}.prayer-icon-wrap{width:clamp(28px,3.8vh,42px);height:clamp(28px,3.8vh,42px);border-radius:10px;background:#ffffff0a;display:flex;align-items:center;justify-content:center;color:var(--accent-gold);margin-bottom:clamp(.2rem,.6vh,.4rem)}.prayer-card.is-active .prayer-icon-wrap{background:var(--accent-gold);color:#000}.prayer-card.is-next .prayer-icon-wrap{background:var(--accent-emerald);color:#000}.prayer-name-main{font-size:clamp(.95rem,1.9vh,1.35rem);font-weight:700;color:var(--text-primary);line-height:1.2}.prayer-name-sub{font-family:var(--font-arabic);font-size:clamp(.65rem,1.1vh,.82rem);color:var(--text-secondary);font-weight:600}.prayer-time{font-family:var(--font-mono);font-size:clamp(.95rem,2vh,1.45rem);font-weight:700;color:var(--text-primary);margin-top:clamp(.2rem,.6vh,.4rem);font-variant-numeric:tabular-nums;line-height:1.2}.prayer-card.is-active .prayer-time{color:var(--accent-gold)}.prayer-card.is-next .prayer-time{color:var(--accent-emerald)}.prayer-badge-status{margin-top:.25rem;font-size:.68rem;padding:.1rem .45rem;border-radius:4px;font-weight:700;display:none}.prayer-card.is-active .prayer-badge-status{display:inline-block;background:#d4af3733;color:var(--accent-gold)}.prayer-card.is-next .prayer-badge-status{display:inline-block;background:#10b98133;color:var(--accent-emerald)}.night-indicators-bar{display:flex;justify-content:space-around;align-items:center;gap:.75rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(12px,1.5vh,16px);padding:clamp(.35rem,.8vh,.6rem) clamp(.75rem,1.5vw,1.25rem);backdrop-filter:blur(12px);flex-shrink:0}.night-item{display:flex;align-items:center;gap:clamp(.4rem,.8vw,.75rem)}.night-label-group{display:flex;flex-direction:column}.night-label-main{font-size:clamp(.75rem,1.3vh,.92rem);font-weight:700;color:var(--text-secondary);line-height:1.2}.night-label-sub{font-family:var(--font-arabic);font-size:clamp(.6rem,1vh,.72rem);color:var(--text-muted)}.night-time{font-family:var(--font-mono);font-size:clamp(.85rem,1.5vh,1.15rem);font-weight:700;color:var(--text-primary)}.athkar-ticker{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(12px,1.5vh,16px);padding:clamp(.35rem,.8vh,.6rem) clamp(.75rem,1.5vw,1.25rem);display:flex;align-items:center;justify-content:center;text-align:center;backdrop-filter:blur(12px);flex-shrink:0;min-height:clamp(38px,5vh,48px)}.athkar-content{transition:opacity .5s ease;display:flex;flex-direction:column;justify-content:center}.athkar-english{font-size:clamp(.82rem,1.4vh,1.05rem);color:var(--accent-gold);font-weight:600;line-height:1.3}.athkar-arabic-sub{font-family:var(--font-quran);font-size:clamp(.75rem,1.2vh,.92rem);color:var(--text-secondary);margin-top:.1rem}.world-cities-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:clamp(.45rem,1vw,.95rem);flex:1;min-height:0;align-items:stretch}@media(max-width:1080px){.world-cities-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr)}}@media(max-width:600px)and (orientation:portrait){.world-cities-grid{grid-template-columns:1fr;grid-template-rows:auto;flex:none}}.city-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(14px,1.8vh,18px);padding:clamp(.55rem,1.3vh,.95rem) clamp(.65rem,1.2vw,1.1rem);backdrop-filter:blur(16px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:all .25s ease}.city-card:hover{border-color:var(--border-active);transform:translateY(-2px)}.city-header-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:clamp(.2rem,.5vh,.35rem);border-bottom:1px solid rgba(255,255,255,.05)}.city-title-group{display:flex;align-items:center;gap:clamp(.35rem,.7vw,.6rem)}.city-flag-badge{font-size:clamp(1.25rem,2.4vh,1.65rem);line-height:1}.city-name-main{font-size:clamp(1rem,2vh,1.35rem);font-weight:800;color:var(--text-primary);line-height:1.15}.city-name-sub{font-family:var(--font-sans);font-size:clamp(.68rem,1.1vh,.8rem);color:var(--text-secondary);font-weight:500}.city-clock-group{text-align:right}.city-local-time{font-family:var(--font-mono);font-size:clamp(1.1rem,2.4vh,1.55rem);font-weight:800;color:var(--accent-gold);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.city-tz-diff{font-family:var(--font-sans);font-size:clamp(.65rem,1.1vh,.75rem);color:var(--text-muted);font-weight:600}.city-prayers-matrix{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:clamp(.25rem,.6vh,.45rem) clamp(.25rem,.5vw,.5rem);margin:clamp(.35rem,.8vh,.65rem) 0;flex:1}.city-prayer-cell{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:clamp(8px,1.2vh,12px);padding:clamp(.25rem,.6vh,.45rem) clamp(.2rem,.4vw,.4rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:all .2s ease}.city-prayer-cell.is-active{background:transparent;border:1.5px solid var(--accent-gold);box-shadow:none}.city-prayer-cell.is-next{background:transparent;border:1.5px solid var(--accent-emerald);box-shadow:none}.city-prayer-cell.is-passed{opacity:.5}.city-p-name{font-size:clamp(.65rem,1.1vh,.78rem);font-weight:800;letter-spacing:.04em;color:var(--text-secondary);text-transform:uppercase;line-height:1}.city-p-time{font-family:var(--font-mono);font-size:clamp(.85rem,1.7vh,1.2rem);font-weight:700;color:var(--text-primary);margin-top:clamp(.1rem,.3vh,.25rem);font-variant-numeric:tabular-nums;line-height:1.1}.city-prayer-cell.is-active .city-p-name,.city-prayer-cell.is-active .city-p-time{color:var(--accent-gold)}.city-prayer-cell.is-next .city-p-name,.city-prayer-cell.is-next .city-p-time{color:var(--accent-emerald)}.city-footer-info{display:flex;justify-content:space-between;align-items:center;font-size:clamp(.7rem,1.2vh,.85rem);color:var(--text-secondary);padding-top:clamp(.2rem,.4vh,.35rem);border-top:1px solid rgba(255,255,255,.05)}.city-next-alert{display:flex;align-items:center;gap:.3rem;font-weight:600}.city-next-badge{font-weight:800;color:var(--accent-emerald)}.city-countdown-tag{font-family:var(--font-mono);font-weight:700;color:var(--accent-emerald);font-variant-numeric:tabular-nums}.weather-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(.5rem,1.2vw,1.25rem);flex:1.15;min-height:0}@media(max-width:900px)and (orientation:portrait){.weather-hero-grid{grid-template-columns:1fr;flex:none}}.current-temp-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(16px,2vh,22px);padding:clamp(.75rem,1.8vh,1.4rem) clamp(1rem,2vw,1.75rem);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.current-temp-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,var(--accent-gold-glow),transparent 60%);pointer-events:none}.temp-info-wrap{display:flex;flex-direction:column;gap:.2rem}.location-badge-weather{font-size:clamp(.85rem,1.2vw,1rem);font-weight:700;color:var(--accent-gold);display:flex;align-items:center;gap:.35rem}.temp-numbers-row{display:flex;align-items:baseline;gap:.25rem;font-family:var(--font-mono);font-weight:700;line-height:1;margin:.2rem 0}.temp-value{font-size:clamp(3.2rem,7.5vh,5.8rem);color:var(--text-primary);letter-spacing:-.03em}.temp-unit{font-size:clamp(1.6rem,3.5vh,2.8rem);color:var(--accent-gold);font-weight:600}.condition-title-main{font-size:clamp(1.2rem,2.5vh,1.75rem);font-weight:700;color:var(--text-primary)}.feels-like-badge{font-size:clamp(.75rem,1.2vh,.9rem);color:var(--text-muted);margin-top:.2rem}.weather-icon-hero{width:clamp(80px,14vh,130px);height:clamp(80px,14vh,130px);display:flex;align-items:center;justify-content:center;color:var(--accent-gold);filter:drop-shadow(0 0 25px var(--accent-gold-glow))}.weather-gauges-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(16px,2vh,22px);padding:clamp(.75rem,1.6vh,1.25rem);backdrop-filter:blur(16px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.4rem,1vh,.75rem);align-items:center}.gauge-item{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:clamp(12px,1.4vh,16px);padding:clamp(.4rem,1vh,.7rem) clamp(.3rem,.6vw,.6rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.gauge-icon{font-size:1.2rem;margin-bottom:.15rem}.gauge-title{font-size:clamp(.68rem,1.1vh,.8rem);color:var(--text-secondary);font-weight:600}.gauge-value{font-family:var(--font-mono);font-size:clamp(.95rem,1.8vh,1.25rem);font-weight:700;color:var(--text-primary);margin-top:.1rem}.hourly-forecast-bar{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(14px,1.8vh,18px);padding:clamp(.4rem,.9vh,.7rem) clamp(.75rem,1.5vw,1.25rem);backdrop-filter:blur(14px);display:flex;gap:clamp(.5rem,1vw,1rem);overflow-x:auto;scrollbar-width:none;flex-shrink:0}.hourly-forecast-bar::-webkit-scrollbar{display:none}.hourly-item{display:flex;flex-direction:column;align-items:center;min-width:clamp(52px,5.5vw,70px);text-align:center;gap:.15rem}.hourly-time{font-family:var(--font-mono);font-size:clamp(.7rem,1.1vh,.82rem);color:var(--text-secondary)}.hourly-icon{color:var(--accent-gold);width:22px;height:22px;display:flex;align-items:center;justify-content:center}.hourly-temp{font-family:var(--font-mono);font-size:clamp(.85rem,1.4vh,1.05rem);font-weight:700;color:var(--text-primary)}.hourly-rain{font-size:.65rem;color:#38bdf8;font-family:var(--font-mono)}.forecast-7day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(.4rem,.8vw,.8rem);flex:1;min-height:0}@media(max-width:900px)and (orientation:portrait){.forecast-7day-grid{grid-template-columns:repeat(4,1fr);flex:none}}@media(max-width:500px){.forecast-7day-grid{grid-template-columns:repeat(2,1fr)}}.forecast-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(14px,1.8vh,18px);padding:clamp(.45rem,1.1vh,.85rem) clamp(.35rem,.7vw,.75rem);backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;transition:all .2s ease}.forecast-card.is-today{border-color:var(--border-active);background:var(--bg-card-active);box-shadow:var(--card-glow-active)}.day-name-main{font-size:clamp(.85rem,1.6vh,1.15rem);font-weight:700;color:var(--text-primary)}.day-date{font-family:var(--font-mono);font-size:clamp(.62rem,1vh,.75rem);color:var(--text-secondary)}.forecast-icon-wrap{width:clamp(28px,4vh,42px);height:clamp(28px,4vh,42px);display:flex;align-items:center;justify-content:center;color:var(--accent-gold);margin:clamp(.2rem,.5vh,.4rem) 0}.forecast-condition-text{font-size:clamp(.68rem,1.1vh,.8rem);color:var(--text-secondary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.temp-high-low{display:flex;align-items:baseline;gap:.35rem;font-family:var(--font-mono);font-weight:700;margin-top:clamp(.2rem,.5vh,.35rem)}.temp-high{font-size:clamp(.95rem,1.8vh,1.3rem);color:#fb923c}.temp-low{font-size:clamp(.78rem,1.4vh,1rem);color:#38bdf8}.rain-badge{font-size:.65rem;color:#38bdf8;font-family:var(--font-mono);margin-top:.15rem}.modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);z-index:999;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-overlay.is-open{opacity:1;pointer-events:auto}.settings-card{background:var(--bg-main);border:1px solid var(--border-subtle);border-radius:24px;padding:1.75rem;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0009}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.settings-title{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.settings-section{margin-bottom:1.25rem}.settings-label{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;display:block}.theme-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.theme-btn{padding:.6rem .75rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;color:var(--text-primary);font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.theme-btn.is-selected{border-color:var(--accent-gold);background:#d4af3726}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0}.toggle-title{font-size:.95rem;color:var(--text-primary)}.toggle-desc{font-size:.75rem;color:var(--text-secondary)}.switch{position:relative;display:inline-block;width:48px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff26;border-radius:34px;transition:.3s}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}input:checked+.slider{background-color:var(--accent-gold)}input:checked+.slider:before{transform:translate(22px)}.hijri-offset-row{display:flex;gap:.5rem}.offset-btn{flex:1;padding:.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-primary);font-family:var(--font-mono);cursor:pointer}.offset-btn.is-selected{border-color:var(--accent-gold);background:var(--accent-gold);color:#000;font-weight:700}.btn-close-settings{width:100%;margin-top:1rem;padding:.75rem;background:var(--accent-gold);color:#000;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer}
