:root{--paper:#ece5d4;--ink:#171710;--red:#ad2d25;--green:#263c2c;--gold:#bd9257;--dust:#d7cfbd;--muted:#756e61}*{box-sizing:border-box}html{background:var(--ink)}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}button,textarea{font:inherit}button{color:inherit}.loading-app{background:var(--ink);min-height:100vh;color:var(--paper);text-align:center;place-content:center;gap:24px;display:grid}.loading-mark{letter-spacing:-.08em;grid-template-columns:auto auto;gap:0 18px;font-size:clamp(50px,10vw,110px);font-weight:900;line-height:.75;display:grid}.loading-mark span:nth-child(2){color:var(--red)}.loading-mark small{letter-spacing:.45em;color:#aaa294;grid-column:1/-1;margin-top:22px;font:900 11px/1 Courier New,monospace}.loading-app>p{letter-spacing:.15em;color:#8f887c;font:900 9px/1 Courier New,monospace}.topbar{border-bottom:2px solid var(--ink);grid-template-columns:270px 1fr 300px;align-items:stretch;height:116px;display:grid}.mark{background:var(--ink);color:var(--paper);letter-spacing:-.05em;grid-template-columns:auto auto;align-content:center;gap:0 9px;padding:20px 24px;font-size:25px;font-weight:900;line-height:.82;display:grid}.mark span:nth-child(2){color:var(--red)}.mark small{letter-spacing:.38em;color:#bfb6a5;grid-column:1/-1;margin-top:10px;font:900 9px/1.2 Courier New,monospace}.date-block{border-right:2px solid var(--ink);flex-direction:column;justify-content:center;padding:22px 34px;display:flex}.date-block span,.location small{letter-spacing:.08em;text-transform:uppercase;font:900 9px/1.3 Courier New,monospace}.date-block strong{letter-spacing:-.04em;margin-top:5px;font-size:28px}.location{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:15px 1fr;align-content:center;padding:20px 28px;font-weight:900;display:grid}.location>span{color:var(--red)}.location small{color:var(--muted);grid-column:2;margin-top:5px;font-weight:700}.app-shell{grid-template-columns:270px 1fr;min-height:calc(100vh - 116px);display:grid}.rail{border-right:2px solid var(--ink);flex-direction:column;padding:38px 20px;display:flex}.rail>p,.eyebrow,.screen label{letter-spacing:.15em;font:900 9px/1.2 Courier New,monospace}.rail nav{border-top:2px solid var(--ink);margin-top:30px}.rail nav button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #989182;grid-template-columns:35px 1fr;width:100%;padding:18px 4px;font:900 13px/1 Courier New,monospace;display:grid}.rail nav button span{color:var(--muted);font-size:9px}.rail nav button.active{background:var(--ink);color:var(--paper);padding-inline:12px}.rail nav button.active span{color:var(--red)}.hcf-rail-link{border:2px solid var(--ink);color:var(--ink);gap:9px;margin-top:24px;padding:15px 13px;text-decoration:none;transition:background .18s,color .18s;display:grid}.hcf-rail-link span{letter-spacing:.14em;color:var(--muted);font:900 7px/1 Courier New,monospace}.hcf-rail-link strong{letter-spacing:.04em;font:900 11px/1.25 Courier New,monospace}.hcf-rail-link:hover{background:var(--red);color:#fff}.hcf-rail-link:hover span{color:#fff}.rail blockquote{border-top:2px solid;margin:auto 0 0;padding-top:22px;font:700 16px/1.45 Georgia,serif}.rail cite{letter-spacing:.13em;margin-top:15px;font:900 8px/1 Courier New,monospace;display:block}.content{min-width:0}.hero-panel{background:var(--green);min-height:520px;color:var(--paper);border-bottom:2px solid var(--ink);grid-template-columns:1.2fr .8fr;display:grid;overflow:hidden}.hero-copy{flex-direction:column;justify-content:center;padding:68px clamp(30px,6vw,90px);display:flex}.hero-copy .eyebrow{color:#c8c2b4}.hero-copy h1{letter-spacing:-.09em;margin:28px 0 38px;font-size:clamp(96px,13vw,190px);line-height:.76}.countdown{align-items:center;gap:5px;font:900 clamp(24px,3.5vw,50px)/1 Courier New,monospace;display:flex}.countdown small{letter-spacing:.12em;color:#bbb9ad;margin-left:12px;font-size:9px}.crescent{background:var(--red);border-left:2px solid var(--ink);place-items:center;display:grid;position:relative;overflow:hidden}.crescent:before{content:"";aspect-ratio:1;background:var(--paper);width:min(29vw,360px);box-shadow:85px -20px 0 10px var(--red);border-radius:50%;transform:translate(-32px)}.crescent span{color:var(--paper);font:700 29px Georgia,serif;position:absolute;bottom:34px;right:36px}.statement{border-bottom:2px solid;grid-template-columns:170px 1fr;align-items:center;min-height:150px;padding:28px clamp(30px,5vw,75px);display:grid}.statement>span{letter-spacing:.13em;font:900 8px/1.2 Courier New,monospace}.statement p{max-width:860px;margin:0;font:italic 700 clamp(24px,3vw,42px)/1.12 Georgia,serif}.today-grid{grid-template-columns:1fr 1fr;min-height:510px;display:grid}.prayer-card{border-right:2px solid var(--ink)}.prayer-card header{background:var(--ink);height:74px;color:var(--paper);letter-spacing:.1em;justify-content:space-between;align-items:center;padding:0 25px;font:900 10px/1 Courier New,monospace;display:flex}.prayer-card header strong{color:var(--gold)}.prayer-card>button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #aba494;grid-template-columns:45px 1fr auto;align-items:center;width:100%;height:78px;padding:0 25px;display:grid}.prayer-card .check{border:2px solid;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.prayer-card button strong{font-size:23px}.prayer-card time{font:900 13px/1 Courier New,monospace}.prayer-card button.done{color:var(--green);background:#d4dbcb}.prayer-card button.done .check{background:var(--green);color:var(--paper)}.intention-card{background:#d9cfb9;flex-direction:column;padding:55px;display:flex}.intention-card textarea{resize:none;background:0 0;border:0;border-bottom:2px solid;outline:none;min-height:210px;margin:32px 0;padding:0;font:700 31px/1.35 Georgia,serif}.intention-card textarea::placeholder,.journal::placeholder{color:#8c8372}.intention-card>button,.primary{border:2px solid var(--ink);background:var(--ink);color:var(--paper);letter-spacing:.1em;cursor:pointer;padding:18px 20px;font:900 10px/1 Courier New,monospace}.screen{min-height:calc(100vh - 116px);padding:clamp(45px,6vw,90px)}.screen-title{border-bottom:5px solid var(--ink);margin-bottom:38px;padding-bottom:32px}.screen-title h2{letter-spacing:-.08em;margin:28px 0 0;font-size:clamp(64px,9vw,132px);line-height:.76}.schedule{border:2px solid var(--ink);margin-bottom:28px}.schedule>div{border-bottom:1px solid #968f80;grid-template-columns:55px 1fr auto 70px;align-items:center;min-height:86px;padding:10px 24px;display:grid}.schedule>div:last-child{border-bottom:0}.schedule>div>span{color:var(--muted);font:900 9px/1 Courier New,monospace}.schedule strong{letter-spacing:-.04em;font-size:clamp(24px,3vw,42px)}.schedule time{font:900 17px/1 Courier New,monospace}.schedule em{background:var(--red);color:#fff;justify-self:end;padding:8px;font:900 9px/1 Courier New,monospace}.schedule .next{background:var(--green);color:var(--paper)}.fineprint{color:var(--muted);max-width:700px;font:700 10px/1.5 Courier New,monospace}.diary-screen{background:#d9cfb9}.moods{flex-wrap:wrap;gap:8px;margin-bottom:35px;display:flex}.moods button{cursor:pointer;background:0 0;border:1px solid;padding:11px 16px;font:900 9px/1 Courier New,monospace}.moods button.active{background:var(--red);color:#fff;border-color:var(--red)}.screen label{margin-bottom:14px;display:block}.journal{background:var(--paper);border:2px solid var(--ink);resize:vertical;outline:none;width:100%;min-height:270px;padding:25px;font:700 23px/1.5 Georgia,serif}.privacy{align-items:center;gap:14px;margin:22px 0;display:flex}.privacy>span{color:var(--green);font-size:26px}.privacy p{margin:0;font:700 10px/1.5 Courier New,monospace}.privacy strong{display:block}.qibla-wrap{grid-template-columns:1fr .7fr;align-items:center;gap:8vw;display:grid}.compass{aspect-ratio:1;background:radial-gradient(circle,#e4ddcc 0 4%,transparent 4%),repeating-conic-gradient(from 0deg,var(--ink) 0deg 1deg,transparent 1deg 15deg);border:3px solid;border-radius:50%;place-items:center;width:min(52vw,520px);display:grid;position:relative}.compass:after{content:"";background:var(--paper);z-index:0;border:1px solid;border-radius:50%;position:absolute;inset:18px}.north{background:var(--red);color:#fff;z-index:3;padding:8px 11px;font:900 10px/1 Courier New,monospace;position:absolute;top:-9px}.needle{z-index:2;text-align:center;width:100%;height:100%;transition:transform .5s;position:absolute}.needle i{color:var(--red);margin-top:-22px;font-size:46px;font-style:normal;line-height:1;display:block}.needle b{letter-spacing:.1em;margin-top:7px;font:900 9px/1 Courier New,monospace;display:block}.kaaba{background:var(--ink);width:100px;height:100px;color:var(--gold);z-index:2;border-top:12px solid var(--gold);place-items:center;font:700 16px Georgia,serif;display:grid}.qibla-wrap>div:last-child>strong{letter-spacing:-.08em;font-size:90px}.qibla-wrap>div:last-child p{margin:5px 0 30px;font:900 10px/1 Courier New,monospace}.profile-grid{border:2px solid;grid-template-columns:1fr 1fr;display:grid}.profile-grid>div{border-bottom:1px solid;border-right:1px solid;flex-direction:column;justify-content:space-between;min-height:150px;padding:24px;display:flex}.profile-grid>div:nth-child(2n){border-right:0}.profile-grid>div:nth-child(n+3){border-bottom:0}.profile-grid span,.coming span{letter-spacing:.1em;font:900 9px/1 Courier New,monospace}.profile-grid strong{letter-spacing:-.06em;font-size:clamp(25px,3vw,45px)}.coming{background:var(--red);color:#fff;margin-top:30px;padding:34px}.coming p{max-width:850px;margin:18px 0 0;font-size:clamp(20px,2.5vw,34px);line-height:1.25}.hcf-card{border:2px solid var(--ink);background:var(--gold);color:var(--ink);margin-top:30px;padding:30px;text-decoration:none;display:block}.hcf-card>span{letter-spacing:.14em;font:900 9px/1 Courier New,monospace}.hcf-card>div{justify-content:space-between;align-items:end;gap:25px;margin-top:24px;display:flex}.hcf-card strong{letter-spacing:-.07em;font-size:clamp(36px,5vw,72px);line-height:.78}.hcf-card b{letter-spacing:.1em;white-space:nowrap;border-bottom:2px solid;padding-bottom:8px;font:900 10px/1 Courier New,monospace}.hcf-card:hover{background:var(--ink);color:var(--paper)}.mobile-nav{display:none}@media (max-width:800px){body{padding-bottom:72px}.topbar{grid-template-columns:135px 1fr;height:90px}.mark{padding:16px;font-size:18px}.mark small{font-size:7px}.date-block{border-right:0;padding:16px}.date-block span{font-size:7px}.date-block strong{font-size:21px}.location{background:var(--dust);border-bottom:2px solid;grid-column:1/-1;height:48px;padding:8px 16px}.app-shell{padding-top:48px;display:block}.rail{display:none}.hero-panel{grid-template-columns:1fr;min-height:550px;position:relative}.hero-copy{z-index:2;padding:55px 20px}.hero-copy h1{margin:25px 0;font-size:30vw}.countdown{font-size:27px}.countdown small{font-size:7px}.crescent{opacity:.35;border:0;border-radius:50%;width:310px;height:310px;position:absolute;bottom:-80px;right:-90px}.crescent:before{width:230px}.statement{grid-template-columns:1fr;gap:17px;padding:27px 20px}.statement p{font-size:25px}.today-grid{grid-template-columns:1fr}.prayer-card{border-right:0}.intention-card{padding:45px 20px}.intention-card textarea{font-size:25px}.screen{min-height:calc(100vh - 138px);padding:55px 18px}.screen-title h2{font-size:19vw}.schedule>div{grid-template-columns:35px 1fr auto 52px;padding:8px 12px}.schedule strong{font-size:24px}.schedule time{font-size:12px}.journal{font-size:20px}.qibla-wrap{grid-template-columns:1fr;gap:35px}.compass{width:82vw}.qibla-wrap>div:last-child{text-align:center}.profile-grid{grid-template-columns:1fr}.profile-grid>div{border-bottom:1px solid!important;border-right:0!important}.profile-grid>div:last-child{border-bottom:0!important}.hcf-card>div{display:grid}.hcf-card b{justify-self:start;margin-top:8px}.mobile-nav{background:var(--ink);z-index:20;height:72px;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#918b7f;text-transform:uppercase;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;font:900 8px/1 Courier New,monospace;display:flex}.mobile-nav button span{font-size:16px}.mobile-nav button.active{color:var(--paper)}.mobile-nav button.active span{color:var(--red)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
