@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#f4f6fb;--ink-dim:#f4f6fbb8;--ink-faint:#f4f6fb73;--glass:#080e224d;--glass-strong:#080e228c;--glass-border:#ffffff24;--accent:#ffd9a0;--accent-soft:#ffd9a038;--rain:#9cc8ff;--radius:1.3rem;font-size:clamp(10px,1.1vmin + 4px,19px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;cursor:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;background:#0a1128;font-family:Outfit Variable,system-ui,sans-serif;overflow:hidden}canvas{display:block}.num{font-variant-numeric:tabular-nums}.overlay{z-index:10;pointer-events:none;text-shadow:0 2px 14px #0408188c;grid-template-rows:auto 1fr auto auto;grid-template-columns:1fr 1fr;gap:1.6rem;padding:3.2rem 3.6rem 2.6rem;display:grid;position:fixed;inset:0}.ov-weather{grid-area:1/1;align-items:center;gap:1.4rem;display:flex}.ov-weather .icon{width:4.6rem;height:4.6rem;color:var(--ink-dim)}.cw-temp{font-size:4rem;font-weight:250;line-height:1}.cw-meta{flex-direction:column;gap:.3rem;display:flex}.cw-label{color:var(--ink-dim);font-size:1.25rem}.cw-details{color:var(--ink-faint);gap:1.1rem;font-size:.95rem;display:flex}.ov-date{text-align:right;flex-direction:column;grid-area:1/2;justify-self:end;gap:.35rem;display:flex}.date-greg{font-size:1.35rem;font-weight:350}.date-hijri{color:var(--ink-dim);font-size:1.05rem}.ov-center{text-align:center;flex-direction:column;grid-area:2/1/auto/-1;place-self:center;align-items:center;gap:1.6rem;display:flex}.clock{letter-spacing:.03em;font-size:10.5rem;font-weight:200;line-height:1}.clock-sec{color:var(--ink-faint);margin-left:.6rem;font-size:2.4rem;font-weight:300}.next-prayer{background:var(--glass-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 2.4rem var(--accent-soft);border-radius:3rem;align-items:baseline;gap:1rem;padding:1rem 2.4rem;display:flex}.next-prayer.soon{animation:2.4s ease-in-out infinite np-pulse}@keyframes np-pulse{0%,to{box-shadow:0 0 2.4rem var(--accent-soft)}50%{box-shadow:0 0 4rem var(--accent-soft), 0 0 1rem var(--accent-soft)}}.np-name{color:var(--accent);font-size:1.7rem;font-weight:500}.np-time{font-size:1.7rem;font-weight:300}.np-countdown{color:var(--ink-dim);font-size:1.15rem}.ov-hourly{grid-area:3/1/auto/-1;justify-self:center;gap:2.2rem;display:flex}.hour-cell{flex-direction:column;align-items:center;gap:.35rem;display:flex}.hour-time{color:var(--ink-faint);font-size:.85rem}.hour-cell .icon{width:1.7rem;height:1.7rem;color:var(--ink-dim)}.hour-temp{font-size:1rem}.hour-rain{color:var(--rain);min-height:1em;font-size:.75rem}.ov-prayers{grid-area:4/1/auto/-1;grid-auto-columns:1fr;grid-auto-flow:column;gap:1.2rem;display:grid}.prayer-cell{border-radius:var(--radius);background:var(--glass);border:1px solid var(--glass-border);flex-direction:column;align-items:center;gap:.4rem;padding:1.1rem .6rem 1rem;transition:opacity .6s,background .6s;display:flex}.prayer-cell.past{opacity:.42}.prayer-cell.next{background:var(--glass-strong);border-color:var(--accent-soft);box-shadow:0 0 1.8rem var(--accent-soft)}.prayer-cell.next .prayer-name{color:var(--accent)}.prayer-name{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:.95rem;font-weight:450}.prayer-time{font-size:1.8rem;font-weight:275}.rain-banner{z-index:20;background:var(--glass-strong);pointer-events:none;border:1px solid #9cc8ff73;border-radius:3rem;align-items:center;gap:.8rem;padding:.85rem 1.8rem;font-size:1.2rem;display:flex;position:fixed;top:1.4rem;left:50%;transform:translate(-50%);box-shadow:0 0 2.2rem #9cc8ff40}.rain-banner .icon{width:1.6rem;height:1.6rem;color:var(--rain)}.stale-chip{z-index:20;color:var(--ink-faint);background:var(--glass);border:1px solid var(--glass-border);pointer-events:none;border-radius:2rem;padding:.35rem .9rem;font-size:.78rem;position:fixed;bottom:1rem;right:1.2rem}.unlock-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);opacity:0;cursor:none;background:#050814c7;flex-direction:column;justify-content:center;align-items:center;gap:2rem;animation:.8s .9s forwards unlock-in;display:flex;position:fixed;inset:0}@keyframes unlock-in{to{opacity:1}}.unlock-ring{border:1px solid var(--glass-border);width:7rem;height:7rem;color:var(--ink-dim);border-radius:50%;place-items:center;display:grid;position:relative}.unlock-ring svg{width:3rem;height:3rem}.unlock-ring:after{content:"";border:1px solid var(--accent);border-radius:50%;animation:2.2s ease-out infinite ring-pulse;position:absolute;inset:-1px}@keyframes ring-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.unlock-text{font-size:1.5rem;font-weight:300}.unlock-sub{color:var(--ink-faint);font-size:1rem}.debug-panel{z-index:60;border-left:1px solid var(--glass-border);pointer-events:auto;cursor:auto;background:#050814eb;flex-direction:column;gap:.8rem;width:21rem;padding:1rem;font-size:.85rem;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.debug-panel h3{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-top:.4rem;font-size:.8rem}.debug-panel .dbg-row{flex-wrap:wrap;gap:.4rem;display:flex}.debug-panel button,.debug-panel select{font:inherit;color:var(--ink);background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;border-radius:.5rem;padding:.35rem .7rem}.debug-panel button.active{border-color:var(--accent);color:var(--accent)}.debug-panel dl{grid-template-columns:auto 1fr;gap:.2rem .8rem;display:grid}.debug-panel dt{color:var(--ink-faint)}
