:root{--ink:#f6f1e7;--muted:#b7ad9f;--faint:#8f867a;--line:#f6f1e724;--glass:#0c0e12b8;--sand:#f3e6cb;--serif:"Instrument Serif", Georgia, serif;--sans:Outfit, "Avenir Next", sans-serif;--arabic:Amiri, "Noto Naskh Arabic", serif;color:var(--ink);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#05070d;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}.app{background:radial-gradient(at 50% 42%,#4e688a38,#0000 46%),url(/stars.svg) 50%/cover no-repeat,#05070d;height:100%;position:relative}.app:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(#0000 42%,#0000006b 100%);position:absolute;inset:0}.globe-root,.globe-host{position:absolute;inset:0}.globe-root{z-index:0}.globe-fallback{text-align:center;color:var(--muted);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.hud{z-index:2;pointer-events:none;position:absolute;inset:0}.hud>*,.search,.search-results,.card,.inview,.legend-wrap,.attrib,.header button,.header input{pointer-events:auto}.header{flex-wrap:wrap;align-items:center;gap:12px 16px;margin:16px 18px 0;display:flex}.brand{pointer-events:none;align-items:center;gap:10px;margin-right:auto;display:flex}.search{flex:240px;max-width:440px}.crescent{width:28px;height:28px;fill:var(--sand)}.brand h1{font-family:var(--serif);letter-spacing:-.03em;font-size:28px;font-weight:400;line-height:1}.brand p,.eyebrow,.quiet,.day,.clock-block time{color:var(--muted);letter-spacing:.04em;font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px}.search{position:relative}.search input{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;outline:none;width:100%;padding:12px 16px}.search input:focus{border-color:#f0c14ab3}.search-results{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0c10f0;border-radius:16px;max-height:320px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto}.search-results button,.inview button,.companions button{text-align:left;background:0 0;border:0;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;width:100%;padding:8px 10px;display:flex}.search-results small,.companions small{margin-left:auto}.search-results button.is-active,.search-results button:hover,.inview button:hover,.companions button:hover{background:#ffffff0f}.search-results small,.companions small,.inview small{color:var(--faint)}.search-empty{color:var(--faint);padding:10px}.hijri{color:var(--gold,#f0c14a);margin:2px 0 0;font-size:13px}.look,.clock-block{pointer-events:none;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.clock-block{pointer-events:none;align-items:flex-end}.clock-block .ghost{pointer-events:auto}.look strong{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1}.look em{font-family:var(--arabic);color:var(--sand);font-size:18px;font-style:normal}.clock-block time{font-variant-numeric:tabular-nums}.ghost,.texty,.solid{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080a0ec7;border-radius:999px}.ghost,.texty{color:var(--sand);padding:6px 10px}.solid{background:var(--sand);color:#1a140c;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;margin-top:8px;padding:12px 16px;font-weight:600}.ghost:hover,.texty:hover{border-color:#f3e6cb73}.solid:disabled,.texty:disabled{opacity:.6;cursor:wait}.legend-wrap{z-index:4;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:14px 18px 0;display:flex;position:relative}.legend{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.legend li{position:relative}.prayer-chip,.legend .is-quiet,.inview button{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;display:flex}.prayer-chip[aria-expanded=true]{border-color:#f3e6cb8c}.prayer-menu{z-index:5;border:1px solid var(--line);background:#080a0ef0;border-radius:16px;width:max(220px,100%);max-height:min(320px,46vh);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 18px 40px #00000073}.prayer-menu button,.prayer-menu .is-empty{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;display:flex}.flag{text-align:center;flex:none;width:1.35em;font-size:16px;line-height:1}.prayer-menu button:hover,.prayer-menu button:focus-visible{background:#f3e6cb1f}.prayer-menu .is-empty{color:var(--muted)}.legend li:nth-last-child(-n+3) .prayer-menu{left:auto;right:0}.legend b{font-variant-numeric:tabular-nums;color:var(--sand);font-weight:560}.legend i,.inview i,.swatch{border-radius:99px;width:8px;height:8px;display:inline-block;box-shadow:0 0 10px}.legend .is-quiet{opacity:.78}.hud>.site-footer{pointer-events:none}.site-footer{justify-content:space-between;align-items:flex-end;gap:28px;display:flex;position:absolute;bottom:12px;left:18px;right:18px}.site-footer .legend-note,.site-footer .attrib{max-width:460px;color:var(--muted);letter-spacing:.02em;text-shadow:0 1px 2px #000000e6;margin:0;font-size:11px;line-height:1.45}.site-footer .attrib{text-align:right}.sheet-toggle{display:none}.card{z-index:2;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:linear-gradient(#101218d1,#080a0ec7);border-radius:22px;width:min(390px,100vw - 36px);max-height:calc(100vh - 172px);padding:18px 18px 16px;position:absolute;top:148px;left:18px;overflow:auto;box-shadow:0 24px 70px #00000059,inset 0 1px #ffffff0d}.card::-webkit-scrollbar{width:10px}.card::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:99px}.invite{gap:10px;display:grid}.invite h2,.place-head h2{font-family:var(--serif);letter-spacing:-.03em;font-size:34px;font-weight:400;line-height:.95}.place-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.now-prayer{gap:2px;margin:16px 0 8px;display:grid}.now-prayer .arabic{font-family:var(--arabic);font-size:26px;line-height:1}.now-prayer strong{font-family:var(--serif);letter-spacing:-.04em;font-size:56px;font-weight:400;line-height:.9}.now-prayer p,.times time,.countdown{font-variant-numeric:tabular-nums}.times{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.times li{border-radius:10px;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:7px 4px;display:grid}.times .is-current{background:#ffffff0d}.times .is-quiet{opacity:.62}.prayer-name{flex-direction:column;line-height:1.1;display:flex}.prayer-name .ar{font-family:var(--arabic);color:var(--muted);font-size:13px}.times time{font-size:15px}.qibla,.quiet{margin-top:10px;line-height:1.45}.alert{color:#f0b4b8;margin-top:8px}.location{margin-top:12px}.companions{margin-top:16px}.companions h3{letter-spacing:.08em;text-transform:uppercase;color:var(--sand);font-size:13px;font-weight:560}.companions ul{margin:8px 0 0;padding:0;list-style:none}.companions small{flex-direction:column;align-items:flex-end;display:flex}.companions em{color:var(--faint);font-style:normal}.congregation{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:12px;display:grid}.congregation .quiet{margin:0}.congregation-prayers{flex-wrap:wrap;gap:6px;display:flex}.congregation-prayers button{border:1px solid var(--line);color:inherit;background:0 0;border-radius:999px;padding:6px 10px;font-size:13px}.congregation-prayers button.is-selected{color:var(--sand);background:#f3e6cb29}.congregation-now{margin:0}.congregation-now strong{font-weight:560}.calc{gap:8px;margin-top:14px;display:grid}.calc label{color:var(--muted);gap:6px;font-size:12px;display:grid}.calc select{border:1px solid var(--line);background:#00000047;border-radius:10px;padding:8px 10px}.inview{gap:8px;width:min(250px,28vw);display:grid;position:absolute;top:148px;right:18px}.inview ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.inview button{justify-content:flex-start}.inview span{flex:1}.inview small{margin-left:auto}.mosque-toggle{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;display:flex}.mosque-toggle input{accent-color:#f0c14a}.mosque-pin{width:34px;height:34px;color:var(--sand);pointer-events:auto;background:#080a0e9e;border:1px solid #f3e6cb80;border-radius:50%;place-items:center;padding:0;display:grid;position:relative;box-shadow:0 6px 16px #00000059}.mosque-pin svg{width:22px;height:22px}.mosque-tip{color:var(--sand);font-family:var(--sans);white-space:nowrap;opacity:0;pointer-events:none;background:#080a0eeb;border-radius:999px;padding:5px 8px;font-size:12px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.mosque-pin:hover .mosque-tip,.mosque-pin:focus-visible .mosque-tip{opacity:1}.modal-back{z-index:6;pointer-events:auto;background:#0203069e;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.modal{border:1px solid var(--line);background:#0a0c10f5;border-radius:22px;width:min(720px,100%);max-height:min(88vh,900px);padding:18px 18px 22px;overflow:auto;box-shadow:0 24px 80px #00000073}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal h2{font-family:var(--serif);font-size:34px;font-weight:400}.local-name{color:var(--sand);font-family:var(--arabic);margin-top:4px;font-size:22px}.slides{margin:14px 0}.slide-frame{position:relative}.slides img,.tours iframe,.live-block iframe{background:#111;border:0;border-radius:16px;width:100%;display:block}.slides img{object-fit:cover;max-height:420px}.tours iframe,.live-block iframe{aspect-ratio:16/9}.slides figcaption,.tours figcaption{color:var(--faint);margin-top:6px;font-size:12px}.modal a{color:var(--sand)}.slide-arrow{z-index:2;color:#f3e6cb;background:#080a0ee0;border:2px solid #f3e6cb;border-radius:50%;place-items:center;width:46px;height:46px;margin:0;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 22px #0000008c}.slide-arrow svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.slide-arrow.is-prev{left:12px}.slide-arrow.is-next{right:12px}.slide-arrow:hover,.slide-arrow:focus-visible{color:#1a140c;background:#f3e6cb}.slide-count{z-index:2;color:#f3e6cb;letter-spacing:.04em;background:#080a0ee0;border:1px solid #f3e6cb8c;border-radius:999px;padding:4px 9px;font-size:12px;position:absolute;bottom:12px;right:12px}.summary{margin:12px 0;line-height:1.55}.facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0 0 12px;display:grid}.facts div{background:#ffffff0a;border-radius:12px;padding:8px 10px}.facts dt{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.facts dd{margin:3px 0 0}.live-block h3,.tours h3{letter-spacing:.12em;text-transform:uppercase;color:var(--sand);margin:16px 0 8px;font-size:13px}.tours figure+figure{margin-top:12px}.meridian-label{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 10px #000000f2,0 1px 2px #000;pointer-events:none;white-space:nowrap;font-size:12px;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=980px){.search{flex-basis:100%;order:5;max-width:none}.inview{display:none}}@media (width<=760px){.header{gap:10px;margin:10px 12px 0}.brand p,.clock-block time,.look{display:none}.look strong{font-size:22px}.legend-wrap{margin:10px 12px 0}.card{border-bottom:0;border-radius:22px 22px 0 0;width:100%;max-height:46vh;top:auto;bottom:0;left:0}.site-footer{display:none}.sheet-toggle{width:100%;color:var(--sand);background:#f3e6cb1f;border:0;border-radius:999px;justify-content:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.card:not(.is-open){max-height:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.now-prayer strong{font-size:44px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
