.prayer-calendar-wrap, .prayer-jump { padding-block: 1.5rem; }
.prayer-tool, .prayer-reading { max-width: 56rem; margin: 0 auto 2.8rem; scroll-margin-block-start: 1rem; }
.prayer-tool { padding: clamp(1.1rem, 3.4vw, 2.5rem); border: 1px solid #c8c7b4; background: #fffdf7; border-block-start: 4px solid #1f4638; }
.prayer-tool h2, .prayer-reading h2 { font-size: clamp(1.85rem, 4vw, 2.6rem); line-height: 1.18; margin: 0 0 .7rem; }
.prayer-tool p, .prayer-reading p { line-height: 1.6; }
.prayer-tool [hidden] { display: none !important; }
.pt-form { margin-block: 1.25rem 1rem; }
.pt-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: .8rem 1rem; }
.pt-fields label, .pt-day, .pt-check { display: block; font-weight: 600; }
.prayer-tool select, .prayer-tool input:not([type=checkbox]) { display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 44px; margin-block-start: .28rem; font: inherit; font-size: max(16px,1rem); font-weight: 400; background: white; color: #18362b; padding: .48rem; border: 1px solid #808c88; }
.pt-custom { margin-block-start: .85rem; }
.pt-check input { margin-inline-end: .6rem; width: 1.1rem; height: 1.1rem; }
.pt-check { margin-block-start: .9rem; }
.pt-hint { grid-column: 1/-1; margin: 0; font-size: .91rem; }
.pt-settings { margin-block: .7rem; }
.prayer-tool summary, .prayer-reading summary { cursor: pointer; padding-block: .68rem; min-height: 44px; font-weight: 600; }
.pt-settings[open] { padding-block-end: .55rem; }
.pt-status.pt-ok { position: absolute; clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; white-space: nowrap; }
.pt-results { border-top: 1px solid #b9c9c3; margin-block: 1.6rem 1.1rem; padding-block-start: 1.1rem; }
.pt-output-head h3 { font-size: 1.8rem; margin: 0; }
.pt-convention { font-size: .9rem; margin-block: .25rem .8rem; overflow-wrap: anywhere; }
.pt-date, .pt-day { margin: .8rem 0; }
.pt-day select { max-width: 30rem; }
.pt-tiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; margin: 0; }
.pt-tiles > div { background: #f0f0e6; padding: .65rem .8rem; }
.pt-tiles dt { font-size: .92rem; }
.pt-tiles dd { font-size: clamp(1.08rem, 2.3vw, 1.45rem); font-weight: 600; line-height: 1.4; margin: .2rem 0 0; font-variant-numeric: tabular-nums; }
.pt-tiles .pt-fast { background: #1f4638; color: #fff; }
.pt-month { margin-block-start: 1.1rem; }
.pt-month table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.pt-month table caption { text-align: start; margin-bottom: .5rem; }
.pt-month th, .pt-month td { text-align: start; padding: .45rem .3rem; border-block-end: 1px solid #c4d1cc; font-variant-numeric: tabular-nums; }
.pt-note { font-size: .9rem; }
.prayer-reading details { padding-block: .15rem; border-block-end: 1px solid #cbcaba; }
.prayer-reading details[open] { padding-block-end: 1rem; }
.prayer-reading .recitation, .prayer-reading [lang="ar"][dir="rtl"] { line-height: 1.95; }
.prayer-reading .recitation { font-size: 1.35em; }
.prayer-reading td, .prayer-reading th { padding: .36rem; }
@media(max-width:600px){.pt-tiles {grid-template-columns:repeat(2,minmax(0,1fr));}.pt-month table {font-size:.88rem;}.pt-fields {grid-template-columns:1fr;}}
@media print {.pt-form,.pt-status {display:none;}.pt-tiles > div {border:1px solid #777;}.pt-tiles .pt-fast{color:#111;background:transparent;}.pt-results {break-inside:auto;}}
