:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#254936;background:#faf7ef;--border:#d2ddc7;--green:#285b47}*{box-sizing:border-box}body{margin:0;padding-bottom:env(safe-area-inset-bottom);background-color:#faf7ef;background-image:url('/pwa/pattern.svg');background-size:320px;background-repeat:repeat;background-blend-mode:soft-light}header{display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:#edf0e6;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:4}header b{font-size:15px}header>span{font-size:11px;margin-left:auto}header button{font-size:11px;padding:9px}main{max-width:690px;margin:auto;padding:16px}button,input,select{font:inherit;max-width:100%}button{cursor:pointer;border:1px solid #9bb18d;border-radius:22px;background:#fffdf7;color:var(--green);padding:12px 16px;min-height:44px}button.primary{background:var(--green);color:white}button:disabled{opacity:.5;cursor:default}input,select{padding:12px;width:100%;border:1px solid #bccdb0;border-radius:9px;background:#fffdf7;color:inherit;margin-top:7px;min-height:44px}label{font-size:12px;display:block;margin:14px 0}h1{font-size:24px}h2{font-size:19px;margin:0 0 12px}h3{font-size:15px}p{line-height:1.6}.card,details{padding:16px;background:#fffdf8;border:1px solid var(--border);border-radius:16px;margin-bottom:15px;overflow:hidden}.hint{font-size:12px;color:#66785e}.error{color:#993d33}.masjid{display:flex;padding:0;align-items:stretch}.masjid button:first-child{border:0;border-radius:0;display:flex;gap:12px;align-items:center;padding:16px;flex:1;text-align:left;background:none}.masjid img{width:48px;height:48px}.masjid small{display:block;color:#6b7c62;margin-top:6px}.masjid .remove{border:0;border-radius:0;background:#b93438;color:white;width:48px;padding:12px;display:grid;place-items:center}.remove svg{width:23px;height:23px}.date-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.date-bar input{margin:0;flex:1;width:100px}.date-title{font-size:15px}.hijri{color:#5e754f;font-size:13px;margin-bottom:16px}.prayer-table{width:100%;border-collapse:separate;border-spacing:0 9px;font-variant-numeric:tabular-nums;font-size:12px}.prayer-table td{padding:12px 8px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;background:#fffdf8}.prayer-table td:first-child{text-align:left;border-left:1px solid var(--border);border-radius:10px 0 0 10px}.prayer-table td:last-child{border-right:1px solid var(--border);border-radius:0 10px 10px 0}.prayer-table th{font-size:10px;color:#64765e;padding:6px}.prayer-table .current td{background:#176b42;color:white;border-color:#176b42}.prayer-table .upcoming td{background:#1557a0;color:white;border-color:#1557a0}.prayer-table .past td{background:#e4e8e1;color:#62705a}.prayer-table td button{border:0;background:none;color:inherit;min-height:35px;padding:6px}.prayer-table td small{display:block;margin-top:5px;font-size:9px}.prayer-table svg{width:18px;height:18px}summary{cursor:pointer;font-size:15px;font-weight:650;min-height:30px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.actions button{flex:1}.status{font-size:12px;padding:12px;border-radius:10px;background:#e5efdc}.live{border-color:#96b988;background:#eef4e5}#connection{text-align:center;font-size:12px;background:#f3e8c9}#connection:empty{display:none}#audio-controls{position:sticky;bottom:0;background:#123e31;color:white;padding:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}#audio-controls[hidden]{display:none}#audio-controls span{flex:1;font-size:13px}#audio-controls button{color:white;background:#9a3638;border-color:#ba6565;font-size:12px}dialog{border:1px solid #b8caaa;border-radius:20px;padding:24px;max-width:360px;color:#254936;background:#fffdf7}dialog::backdrop{background:#173b2c77}dialog button{margin-top:10px}dialog p{font-size:13px}a{color:#285b47}.card>img{max-width:100%}.login{margin-top:30px}#audio-tracks audio{display:none}@media(prefers-color-scheme:dark){:root{color:#e0e9d8;background:#102b23;--border:#416043;--green:#b2d09f}header{background:#1e3e30}.card,details{background:#18392b}button,input,select{background:#234534;color:#e0e9d8;border-color:#5e8055}button.primary{background:#49713b;color:white}.hint,.hijri,.masjid small{color:#b0c29f}.prayer-table td{background:#18392b}.prayer-table .past td{background:#293d2e;color:#b4bfae}.status,.live{background:#25492f}.error{color:#ffb6ad}dialog{background:#18392b;color:#e0e9d8}}
