:root{--u:min(1vw,1.77777vh);--fit:1;--name-fit:1;--name-scale:1;--clock-scale:1;--date-scale:1;--prayer-scale:1;--numbers-scale:1;--countdown-scale:1;--arabic-scale:1;--transliteration-scale:1;--translation-scale:1;--cardTitle-scale:1;--hijri-scale:1;--calendar-scale:1;--next-scale:1.15;--footer-scale:1;--calendar-width:23;--content-width:30;--gap:16;--safe-area:2;--radius:18px;--pattern-opacity:.2;--font-heading:Georgia;--font-prayer:'Young Serif';--font-numbers:Georgia;--font-arabic:Tahoma;--font-transliteration:'Palatino Linotype';--font-translation:Arial;--font-body:Arial;--panel-color:#100f0b}
.tv-shell{min-height:0;height:100vh;height:100dvh;padding:calc(var(--u)*var(--safe-area));gap:calc(var(--u)*var(--gap)/19.2);background:radial-gradient(ellipse at 50% 30%,var(--gold-soft),transparent 65%),var(--night)}
.tv-shell::before{opacity:var(--pattern-opacity)}
.dashboard{grid-template-columns:minmax(0,calc(var(--calendar-width)*1fr)) minmax(0,calc((100 - var(--calendar-width) - var(--content-width))*1fr)) minmax(0,calc(var(--content-width)*1fr));gap:calc(var(--u)*var(--gap)/19.2)}
.dashboard.hide-calendar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.dashboard.hide-content{grid-template-columns:minmax(0,.6fr) minmax(0,1fr)}
.dashboard.hide-calendar.hide-content{grid-template-columns:minmax(0,1fr)}
.column{gap:calc(var(--u)*var(--gap)/19.2);min-width:0}.panel{background:var(--panel-color);border-color:var(--line);border-radius:calc(var(--u)*var(--radius)/19.2)}
.masthead{grid-template-columns:1fr 2.7fr 1fr;gap:calc(var(--u)*1);min-height:calc(var(--u)*4.5)}.mosque-heading{min-width:0}.mosque-title{font-family:var(--font-heading),serif;font-size:calc(var(--u)*3.05*var(--name-scale)*var(--name-fit));line-height:1.12;overflow-wrap:anywhere;letter-spacing:.025em}.mosque-arabic{font-family:var(--font-arabic),serif;font-size:calc(var(--u)*1.3);color:var(--gold-bright);margin-top:.25em}.mosque-arabic:empty{display:none}
.brand-mark,.live-badge{font-family:var(--font-body),sans-serif;font-size:calc(var(--u)*.66);letter-spacing:.12em;line-height:1.5}.live-dot{background:var(--gold);box-shadow:0 0 0 .3em var(--gold-soft)}
.clock-panel{padding:calc(var(--u)*1)}.hijri-date{font-size:calc(var(--u)*1.1*var(--date-scale));font-family:var(--font-heading),serif}.gregorian-date{font-size:calc(var(--u)*.9*var(--date-scale));font-family:var(--font-body),sans-serif}.clock{font-size:calc(var(--u)*5.4*var(--clock-scale));font-family:var(--font-numbers),serif;line-height:1.05}
.calendar-panel{padding:calc(var(--u)*1)}.calendar-heading{min-width:0}.calendar-title{font-family:var(--font-heading),serif;font-size:calc(var(--u)*1.4)}.calendar-hijri-title{font-size:calc(var(--u)*.64);font-family:var(--font-body),sans-serif;line-height:1.5}.eyebrow{font-family:var(--font-body),sans-serif;font-size:calc(var(--u)*.58);letter-spacing:.12em}#todayLabel{display:none}
.calendar-grid{gap:calc(var(--u)*.2)}.weekday,.calendar-day{font-size:calc(var(--u)*.88*var(--calendar-scale));border-radius:calc(var(--u)*.3)}.calendar-day{color:var(--ink);background:var(--gold-soft)}.gregorian-number{align-self:end;justify-self:start;margin:0 0 .4em .4em}.hijri-number{font-size:calc(var(--u)*.8*var(--hijri-scale));top:.18em;right:.2em;color:var(--gold-bright);border-color:var(--line);font-family:Tahoma,Arial,sans-serif;min-width:1.5em}
.prayer-panel{padding:calc(var(--u)*1)}.prayer-head,.prayer-row{grid-template-columns:minmax(0,1.32fr) minmax(0,1fr) minmax(0,1fr);padding-left:calc(var(--u)*.4);padding-right:calc(var(--u)*.4)}.prayer-head{font-family:var(--font-prayer),serif;font-size:calc(var(--u)*1.04);letter-spacing:.04em}.prayer-name{font-family:var(--font-prayer),serif;font-size:calc(var(--u)*2.45*var(--prayer-scale)*var(--prayer-fit,1));line-height:1.2;gap:.3em;white-space:nowrap}.prayer-time{font-family:var(--font-numbers),serif;font-size:calc(var(--u)*2.5*var(--numbers-scale)*var(--time-fit,1));line-height:1.2;font-weight:500}.next-tag{font-size:calc(var(--u)*.54*var(--next-scale));padding:.3em .45em;letter-spacing:.04em;color:var(--gold-bright);border-color:var(--line);flex-shrink:0}.prayer-row.current{background:var(--gold-soft)}
.center-bottom{grid-template-columns:1.25fr 1fr;gap:calc(var(--u)*var(--gap)/19.2)}.countdown-panel{gap:calc(var(--u)*.75);padding:calc(var(--u)*.9);background:linear-gradient(130deg,var(--gold-soft),var(--panel-color))}.countdown-icon{width:calc(var(--u)*2.8);font-size:calc(var(--u)*1.8)}.next-prayer-label{font-size:calc(var(--u)*1.3);font-family:var(--font-heading),serif}.countdown{font-size:calc(var(--u)*2.65*var(--countdown-scale));font-family:var(--font-numbers),serif;letter-spacing:0}.silent-panel{padding:calc(var(--u)*.8);gap:calc(var(--u)*.7)}.phone-icon{width:calc(var(--u)*1.8);border-width:2px}.silent-copy strong{font-size:calc(var(--u)*1.2);font-family:var(--font-heading),serif}.silent-copy span{font-size:calc(var(--u)*.55);letter-spacing:.04em;display:block;margin-top:.5em}
.right-column{grid-template-rows:repeat(var(--card-count,3),minmax(0,1fr))}.dua-card,.hadith-card{padding:calc(var(--u)*1);overflow-wrap:anywhere;gap:0}.card-title{font-family:var(--font-heading),serif;font-size:calc(var(--u)*1.13*var(--cardTitle-scale)*var(--fit));letter-spacing:.015em;line-height:1.25;margin:0 0 .55em;text-transform:none}.arabic,.hadith-arabic{font-family:var(--font-arabic),serif;font-size:calc(var(--u)*1.92*var(--arabic-scale)*var(--fit));line-height:1.6;margin:0 0 .1em}.transliteration{font-family:var(--font-transliteration),serif;font-size:calc(var(--u)*1*var(--transliteration-scale)*var(--fit));color:var(--gold-bright);line-height:1.4;margin:.3em 0}.translation,.hadith-text{font-family:var(--font-translation),sans-serif;font-size:calc(var(--u)*.96*var(--translation-scale)*var(--fit));color:var(--muted);line-height:1.4;margin:0}.hadith-source{font-family:var(--font-body),sans-serif;font-size:calc(var(--u)*.65*var(--fit));line-height:1.35;letter-spacing:.02em}.card-content{min-height:0}
.footer{grid-template-columns:1fr auto 1fr;min-height:calc(var(--u)*2.1);gap:calc(var(--u)*.8)}.footer-left,.footer-right{font-family:var(--font-body),sans-serif;font-size:calc(var(--u)*.58*var(--footer-scale));line-height:1.5;letter-spacing:.025em;overflow-wrap:anywhere}.entrance{font-size:calc(var(--u)*1.3);font-family:var(--font-heading),serif}.fullscreen-button{font-size:inherit;margin-left:.5em}
[hidden]{display:none!important}.center-bottom.no-silent{grid-template-columns:1fr}.no-silent .countdown-panel{display:flex;justify-content:center}
body.portrait .tv-shell{height:auto;min-height:100dvh;overflow:visible}body.portrait{overflow:auto;--u:9px}body.portrait .dashboard{display:flex;flex-direction:column}body.portrait .column{grid-template-rows:auto;order:unset!important}body.portrait .masthead{grid-template-columns:1fr 1fr}body.portrait .mosque-heading{grid-column:1/-1;grid-row:1}body.portrait .brand-mark{grid-row:2}body.portrait .live-badge{grid-row:2}body.portrait .left-column{display:contents}body.portrait .clock-panel{order:-2}body.portrait .center-column{order:-1!important}body.portrait .calendar-panel{min-height:380px}body.portrait .prayer-panel{min-height:430px}body.portrait .prayer-list{grid-template-rows:repeat(6,64px)}body.portrait .right-column{grid-template-columns:1fr;grid-template-rows:auto}body.portrait .hadith-card{grid-column:auto}body.portrait .dua-card,body.portrait .hadith-card{padding:24px 18px}body.portrait .mosque-title{font-size:calc(30px*var(--name-scale)*var(--name-fit))}body.portrait .footer{grid-template-columns:1fr;text-align:center;padding:18px 0}body.portrait .footer-right{text-align:center}body.portrait .prayer-name{font-size:calc(25px*var(--prayer-scale)*var(--prayer-fit,1))}body.portrait .prayer-time{font-size:calc(29px*var(--numbers-scale)*var(--time-fit,1))}body.portrait .next-tag{font-size:9px}body.portrait .prayer-head{font-size:14px}body.portrait .eyebrow{font-size:9px}body.portrait .brand-mark,body.portrait .live-badge{font-size:9px}body.portrait .calendar-title{font-size:24px}body.portrait .calendar-hijri-title{font-size:12px}body.portrait .weekday,body.portrait .calendar-day{font-size:calc(18px*var(--calendar-scale))}body.portrait .hijri-number{font-size:calc(16px*var(--hijri-scale))}body.portrait .card-title{font-size:calc(20px*var(--cardTitle-scale))}body.portrait .arabic{font-size:calc(28px*var(--arabic-scale))}body.portrait .transliteration{font-size:calc(16px*var(--transliteration-scale))}body.portrait .translation{font-size:calc(15px*var(--translation-scale))}body.portrait .hadith-source{font-size:12px}body.portrait .footer-left,body.portrait .footer-right{font-size:calc(10px*var(--footer-scale))}
@media(max-width:380px){body.portrait .prayer-row,body.portrait .prayer-head{grid-template-columns:1.2fr 1fr 1fr}body.portrait .prayer-name{font-size:calc(21px*var(--prayer-scale)*var(--prayer-fit,1))}body.portrait .prayer-time{font-size:calc(25px*var(--numbers-scale)*var(--time-fit,1))}.next-tag{padding:.2em .3em}}
/* Restore TV grid at smaller landscape viewports after the original mobile rules. */
body.tv .dashboard{display:grid}body.tv{overflow:hidden}body.tv .tv-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}body.tv .masthead{grid-template-columns:1fr 2.7fr 1fr}body.tv .mosque-title{grid-row:auto;grid-column:auto;margin-bottom:0}body.tv .brand-mark,body.tv .live-badge{grid-row:auto;grid-column:auto}body.tv .left-column{grid-template-rows:auto minmax(0,1fr)}body.tv .center-column{grid-template-rows:minmax(0,1fr) auto}body.tv .right-column{grid-template-columns:1fr;grid-template-rows:repeat(var(--card-count,3),minmax(0,1fr))}body.tv .calendar-panel,body.tv .prayer-panel{min-height:0}body.tv .hadith-card{grid-column:auto}body.tv .footer{grid-template-columns:1fr auto 1fr;padding:0}body.tv .footer-right{text-align:right}body.tv .footer-left{text-align:left}
.calendar-hidden{grid-template-rows:auto!important;align-content:start}
