/* The fasting calendar inherits every Sakinah appearance, including light mode. */
.fasting-main{display:block;width:min(100%,1080px);margin-inline:auto;padding:24px 0 50px;font-size:1rem;--fasting-wash:color-mix(in srgb,var(--gold) 8%,var(--surface))}.fasting-main *,.fasting-dialog *{min-width:0;box-sizing:border-box}.fasting-main [hidden],.fasting-dialog [hidden]{display:none!important}.fasting-main svg,.fasting-dialog svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.fasting-main h1,.fasting-main h2,.fasting-main h3{color:var(--gold-bright);font-weight:400;text-wrap:balance}.fasting-main h1,.fasting-main h2{font-family:ArabicDisplay,serif}.fasting-main p{line-height:1.95}.fasting-main a,.fasting-dialog a{color:var(--gold-bright);text-underline-offset:5px}.fasting-main button,.fasting-main select,.fasting-dialog button,.fasting-dialog select{font:inherit;cursor:pointer}.fasting-main button:focus-visible,.fasting-main a:focus-visible,.fasting-main select:focus-visible,.fasting-dialog :focus-visible{outline:2px solid var(--gold);outline-offset:4px}.fasting-main .primary-action,.fasting-dialog .primary-action{background:var(--gold);color:var(--bg);border-color:var(--gold)}.fasting-main .primary-action,.fasting-main .secondary-action,.fasting-dialog .primary-action,.fasting-dialog .secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;font-size:.9rem;text-decoration:none}.fasting-main button:disabled,.fasting-dialog button:disabled,.fasting-dialog [aria-disabled=true]{opacity:.45;cursor:not-allowed}.fasting-kicker{color:var(--gold);font-size:.875rem;margin:0 0 6px}.fasting-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px}.fasting-heading h1{font-size:clamp(2.2rem,4.6vw,3.3rem);line-height:1.55;padding:0}.fasting-heading>button{flex-shrink:0}.fasting-date-context{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.875rem;margin-bottom:20px}.fasting-text-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:5px 2px;color:var(--gold-bright);background:none;border:0;font-size:.875rem;text-decoration:none}.fasting-text-link:hover{text-decoration:underline}.fasting-nearest{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:25px;padding:30px 34px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:22px;background:linear-gradient(120deg,color-mix(in srgb,var(--gold) 11%,var(--surface)),var(--surface) 66%);box-shadow:0 12px 35px #0000000b}.fasting-nearest-top{display:flex;align-items:center;gap:13px}.fasting-nearest-top .fasting-kicker{margin:0}.fasting-nearest h2{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.7;margin:9px 0}.fasting-nearest-copy>p{color:var(--muted);margin:0 0 15px;max-width:600px}.fasting-nearest-dates{display:flex;flex-wrap:wrap;gap:6px 17px;color:var(--text);font-size:.94rem;margin:0 0 22px}.fasting-nearest-dates span+span{color:var(--gold)}.fasting-nearest-date{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;border-inline-start:1px solid var(--line);padding-inline-start:24px;color:var(--gold-bright);gap:3px}.fasting-nearest-date svg{width:28px;height:28px;margin-bottom:8px;stroke-width:1.2}.fasting-nearest-date>span{font-size:1rem}.fasting-nearest-date strong{font-family:ArabicDisplay,serif;font-size:4.6rem;font-weight:400;line-height:1.15;margin:6px 0}.fasting-nearest-date small{color:var(--muted);font-size:.875rem}.fasting-nearest-emblem{display:grid;place-items:center;color:var(--gold)}.fasting-nearest-emblem svg{width:60px;height:60px}.fasting-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px 13px}.fasting-badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:.875rem;padding:3px 11px;border:1px solid color-mix(in srgb,var(--gold) 25%,var(--line));border-radius:999px;color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 7%,transparent);line-height:1.8}.fasting-badge.is-required{background:var(--gold);border-color:var(--gold);color:var(--bg)}.fasting-estimate{font-size:.875rem;color:var(--muted);margin:14px 3px 26px}.fasting-browser{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:24px;margin-bottom:38px;scroll-margin-top:20px}.fasting-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:var(--bg);border:1px solid var(--line);padding:6px;border-radius:13px;margin-bottom:25px}.fasting-tabs button{min-height:46px;color:var(--muted);background:none;border:1px solid transparent;border-radius:9px;font-size:.94rem;padding:8px 5px}.fasting-tabs button[aria-selected=true]{color:var(--gold-bright);border-color:color-mix(in srgb,var(--gold) 35%,var(--line));background:var(--surface);box-shadow:0 3px 9px #0000000f}.fasting-tabs button:hover{color:var(--gold-bright)}.fasting-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.fasting-section-head h2{font-size:1.7rem;line-height:1.7;margin:0}.fasting-section-head>span{font-size:.875rem;color:var(--muted)}.fasting-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.fasting-event{display:flex;align-items:stretch;gap:17px;border:1px solid var(--line);border-radius:14px;padding:19px 17px;background:color-mix(in srgb,var(--bg) 35%,var(--surface))}.fasting-event-date{display:flex;flex-direction:column;align-items:center;min-width:69px;padding-inline-end:15px;border-inline-end:1px solid var(--line);color:var(--gold-bright);text-align:center}.fasting-event-date strong{font-family:ArabicDisplay,serif;font-size:2.5rem;font-weight:400;line-height:1.3}.fasting-event-date>span{font-size:.875rem;line-height:1.8}.fasting-event-date small{font-size:.8rem;color:var(--muted);margin-top:9px}.fasting-event-body{flex:1}.fasting-event-title{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px}.fasting-event h3{font-size:1.08rem;line-height:1.8;margin:0}.fasting-event-title .fasting-badge{font-size:.8rem;padding:1px 9px}.fasting-event-gregorian{font-size:.875rem;color:var(--muted);margin:6px 0 10px}.fasting-event .secondary-action{font-size:.875rem;padding:8px 10px;min-height:44px}.fasting-overlap{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}.fasting-overlap span{font-size:.8rem;color:var(--gold);padding:2px 7px;border-radius:5px;background:var(--fasting-wash)}.fasting-season-caption,.fasting-caution{font-size:.875rem!important;color:var(--muted);margin:7px 0 12px!important;line-height:1.9!important}.fasting-caution{padding:9px 12px;border-inline-start:2px solid var(--gold);background:var(--fasting-wash);border-radius:4px}.fasting-more{display:flex!important;margin:20px auto 0}.fasting-more[hidden]{display:none!important}.fasting-calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.fasting-calendar-controls>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.fasting-calendar-controls select,.fasting-dialog select{color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px 12px;min-height:44px;background:var(--bg)}#fastingMonthTitle{color:var(--gold-bright);font-size:1rem}.fasting-month-caption{text-align:center;margin:8px 0 18px}.fasting-month-caption h2{font-size:2.1rem;margin:0}.fasting-month-caption h2 span{font-size:1.4rem;color:var(--muted)}.fasting-month-caption p{font-size:.875rem;color:var(--muted);margin:7px 0}.fasting-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 18px;font-size:.8rem;color:var(--muted);margin:0 0 20px}.fasting-legend>span{display:flex;gap:7px;align-items:center}.fasting-legend i{width:11px;height:11px;border-radius:3px;border:1px solid var(--line)}.fasting-legend .is-obligatory{background:var(--gold)}.fasting-legend .is-sunnah{background:color-mix(in srgb,var(--gold) 25%,var(--surface));border-color:var(--gold)}.fasting-legend .is-season{background:var(--fasting-wash)}.fasting-legend .is-excluded{background:var(--bg);border-style:dashed}.fasting-week,.fasting-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.fasting-week{text-align:center;color:var(--muted);font-size:.875rem;margin:0 0 9px}.fasting-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:88px;padding:10px 4px;color:var(--muted);background:color-mix(in srgb,var(--bg) 35%,var(--surface));border:1px solid var(--line);border-radius:10px;line-height:1.4}.fasting-day strong{font-size:1.25rem;font-weight:400}.fasting-day>span{font-size:.8rem;opacity:.85}.fasting-day.is-sunnah{color:var(--gold-bright);border-color:color-mix(in srgb,var(--gold) 36%,var(--line));background:color-mix(in srgb,var(--gold) 11%,var(--surface))}.fasting-day.is-season{color:var(--text);background:var(--fasting-wash)}.fasting-day.is-obligatory{background:var(--gold);color:var(--bg);border-color:var(--gold)}.fasting-day.is-excluded{border-style:dashed;opacity:.75}.fasting-day.is-excluded strong{text-decoration:line-through;text-decoration-thickness:1px}.fasting-day.is-today{outline:2px solid var(--gold-bright);outline-offset:2px}.fasting-day i{width:4px;height:4px;background:currentColor;border-radius:50%;margin-top:2px}.fasting-day:hover{border-color:var(--gold-bright)}.fasting-month-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:22px}.fasting-month-notes article{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.fasting-month-notes h3{font-size:1.08rem;margin:10px 0 5px}.fasting-month-notes p{color:var(--muted);font-size:.9rem;margin:5px 0 10px}.fasting-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fasting-mini-month{text-align:start;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:13px;padding:17px 13px;transition:border-color .18s}.fasting-mini-month:hover{border-color:var(--gold)}.fasting-mini-title{display:flex;justify-content:space-between;align-items:center;font-size:1rem;color:var(--gold-bright);margin-bottom:15px}.fasting-mini-title small{font-size:.875rem;color:var(--muted)}.fasting-mini-month .fasting-week{font-size:.75rem;gap:4px}.fasting-month-grid.is-mini{gap:4px}.is-mini .fasting-day{font-size:.75rem;min-height:28px;padding:3px 0;border-radius:5px}.fasting-mini-gregorian{display:block;font-size:.8rem;color:var(--muted);text-align:center;margin-top:15px}.fasting-guide{margin-bottom:25px}.fasting-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.fasting-guide-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.fasting-guide-grid h3{font-size:1.1rem;line-height:1.8;margin:13px 0 7px}.fasting-guide-grid h3 a{text-decoration:none}.fasting-guide-grid h3 a:hover{text-decoration:underline}.fasting-guide-grid p{font-size:.92rem;color:var(--muted);margin:0 0 12px}.fasting-guide-grid .fasting-actions{width:100%;margin-top:auto;justify-content:space-between}.fasting-share-small{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--gold-bright);border:0;background:none;font-size:.875rem!important;padding:4px 0}.fasting-share-small svg{width:18px;height:18px}.fasting-help{border:1px solid var(--line);border-radius:13px;padding:18px 21px;color:var(--muted);font-size:.9rem;line-height:1.95}.fasting-help summary{cursor:pointer;color:var(--gold-bright);min-height:32px;line-height:1.9}.fasting-help p{margin:14px 0 0}.fasting-notice{color:var(--gold-bright);font-size:.9rem;line-height:1.95}.fasting-notice:empty{display:none}.fasting-dialog{width:min(660px,calc(100vw - 28px));font-size:1rem;line-height:1.9}.fasting-dialog .sunnah-dialog-head h2{font-family:ArabicDisplay,serif;font-size:1.9rem}.fasting-dialog p{color:var(--muted);font-size:.94rem;line-height:1.95}.fasting-dialog>label{display:block;margin:19px 0 8px;color:var(--text);font-size:.94rem}.fasting-dialog>select{width:100%}.fasting-reminder-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:12px;padding:14px;margin:20px 0}.fasting-reminder-options legend{color:var(--gold-bright);font-size:1rem;padding:0 8px}.fasting-reminder-options label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:46px;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:.9rem;cursor:pointer}.fasting-reminder-options input{width:18px;height:18px;accent-color:var(--gold);flex-shrink:0}.fasting-reminder-options small{display:block;flex-basis:100%;padding-inline-start:26px;font-size:.8rem;color:var(--muted)}.fasting-dialog .fasting-help{margin-top:18px}.fasting-day-topic{padding:18px 0;border-top:1px solid var(--line)}.fasting-day-topic h3,.fasting-exclusion h3{color:var(--gold-bright);font-size:1.18rem;font-weight:400;margin:9px 0}.fasting-day-topic p{margin:8px 0 12px}.fasting-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.875rem;margin-bottom:25px}.fasting-breadcrumbs a{text-decoration:none}.fasting-reading-head{border-bottom:1px solid var(--line);padding-bottom:28px}.fasting-reading-head h1{font-size:clamp(2.1rem,4.3vw,3.1rem);line-height:1.7;margin-top:14px}.fasting-reading-head p{color:var(--muted);font-size:1.08rem;max-width:800px;margin:10px 0 22px}.fasting-explanation{max-width:820px;margin:30px 0}.fasting-explanation h2{font-size:1.7rem;line-height:1.8;margin:25px 0 10px}.fasting-explanation p{font-size:1.06rem;color:var(--text);margin:10px 0 18px}.fasting-evidence-list{margin-bottom:28px;max-width:880px}.fasting-evidence{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:25px;margin-bottom:18px}.fasting-evidence-source{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--gold);font-size:.9rem}.fasting-evidence-source small{font-size:.8rem;color:var(--muted)}.fasting-narrator{color:var(--muted);font-size:.94rem;margin:18px 0 12px}.fasting-evidence blockquote{font-family:SunnahCardText,ArabicDisplay,serif;line-height:2.2;font-size:1.5rem;white-space:pre-line;margin:14px 0 23px;overflow-wrap:break-word}.fasting-day-hijri{color:var(--gold)!important}.fasting-dialog h3{color:var(--gold-bright)}.fasting-dialog .fasting-notice{font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root[data-theme=light] .fasting-main .primary-action,:root[data-theme=light] .fasting-dialog .primary-action,:root[data-theme=light] .fasting-badge.is-required,:root[data-theme=light] .fasting-day.is-obligatory{background:var(--appearance-accent);color:var(--appearance-on-accent);border-color:var(--appearance-accent)}
@media(max-width:900px){.fasting-events{grid-template-columns:1fr}.fasting-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fasting-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fasting-nearest{padding:25px;grid-template-columns:minmax(0,1fr) 150px;gap:20px}.fasting-nearest-date{padding-inline-start:18px}.fasting-browser{padding:20px}.fasting-calendar-controls>div{gap:5px}}
@media(max-width:600px){.fasting-main{padding-top:19px}.fasting-heading{align-items:flex-start;gap:9px}.fasting-heading h1{font-size:2.3rem}.fasting-heading .secondary-action{font-size:.875rem;padding:9px 11px;margin-top:9px}.fasting-heading .secondary-action svg{width:18px}.fasting-kicker{font-size:.875rem}.fasting-date-context{gap:1px;margin-bottom:17px}.fasting-nearest{grid-template-columns:minmax(0,1fr) 79px;gap:14px;padding:21px 18px;border-radius:17px}.fasting-nearest h2{font-size:1.9rem;line-height:1.65;margin:12px 0}.fasting-nearest-copy>p{font-size:.94rem}.fasting-nearest-date{padding-inline-start:12px;justify-content:flex-start;padding-top:15px}.fasting-nearest-date>span,.fasting-nearest-date small{font-size:.875rem}.fasting-nearest-date strong{font-size:3.2rem}.fasting-nearest-date svg{width:22px;height:22px;margin-bottom:12px}.fasting-nearest-dates{font-size:.875rem;gap:3px;margin-bottom:15px}.fasting-nearest .fasting-actions{gap:6px;grid-column:1/-1}.fasting-nearest .primary-action,.fasting-nearest .secondary-action{font-size:.875rem;padding:9px 11px}.fasting-estimate{font-size:.875rem;margin:13px 2px 22px}.fasting-browser{padding:16px 12px;border-radius:16px;margin-bottom:30px}.fasting-tabs{gap:3px;padding:4px;margin-bottom:20px}.fasting-tabs button{font-size:.875rem;min-height:45px}.fasting-section-head h2{font-size:1.55rem}.fasting-section-head>span{font-size:.8rem}.fasting-event{padding:17px 12px;gap:13px}.fasting-event-date{min-width:60px;padding-inline-end:10px}.fasting-event-date strong{font-size:2.15rem}.fasting-event h3{font-size:1.03rem}.fasting-event .fasting-actions{gap:5px 10px}.fasting-event-title .fasting-badge{font-size:.8rem}.fasting-event-gregorian{font-size:.8rem}.fasting-event .secondary-action{font-size:.875rem}.fasting-calendar-controls{gap:6px}.fasting-calendar-controls .secondary-action{padding:8px 10px;font-size:.875rem}.fasting-calendar-controls>div{flex-direction:column;gap:5px}.fasting-calendar-controls select{padding:8px;font-size:.875rem}#fastingMonthTitle{font-size:.875rem}.fasting-week,.fasting-month-grid{gap:4px}.fasting-week{font-size:.75rem}.fasting-day{min-height:65px;border-radius:7px;padding:7px 2px;gap:2px}.fasting-day strong{font-size:1.04rem}.fasting-day>span{font-size:.75rem}.fasting-legend{gap:8px 11px;font-size:.75rem;justify-content:flex-start}.fasting-legend>span{gap:5px}.fasting-month-notes{grid-template-columns:1fr}.fasting-year-grid{grid-template-columns:1fr;gap:14px}.fasting-mini-month{padding:19px}.fasting-mini-month .fasting-week{font-size:.875rem}.is-mini .fasting-day{min-height:33px;font-size:.875rem}.fasting-guide-grid{grid-template-columns:1fr;gap:12px}.fasting-guide-grid article{padding:20px}.fasting-help{padding:16px}.fasting-reading-head h1{font-size:2.2rem}.fasting-evidence{padding:20px 17px}.fasting-evidence blockquote{font-size:1.3rem;line-height:2.2}.fasting-reminder-options{grid-template-columns:1fr}.fasting-dialog{padding:20px 17px}.fasting-dialog .sunnah-dialog-head h2{font-size:1.7rem}.fasting-dialog .fasting-actions{gap:9px}.fasting-dialog .fasting-actions>a,.fasting-dialog .fasting-actions>button{flex:1 1 auto}.fasting-nearest-top{gap:8px;flex-wrap:wrap}.fasting-nearest-top .fasting-badge{font-size:.8rem}}
@media(max-width:350px){.fasting-heading h1{font-size:2rem}.fasting-heading .secondary-action svg{display:none}.fasting-nearest{grid-template-columns:minmax(0,1fr) 60px;padding:18px 13px;gap:10px}.fasting-nearest h2{font-size:1.65rem}.fasting-browser{padding:13px 9px}.fasting-nearest-date{padding-inline-start:9px}.fasting-nearest-date strong{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){.fasting-main *,.fasting-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
