:root{
  --green:#0b5d3b;
  --green-2:#0f7a4d;
  --gold:#d9b25f;
  --cream:#f6f3ea;
  --card:#ffffff;
  --ink:#13241c;
  --muted:#65756d;
  --line:#e4e0d4;
  --radius:20px;
  --shadow:0 10px 30px rgba(11,93,59,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,system-ui,sans-serif;
  background:
    radial-gradient(1200px 500px at 50% -200px, #dff0e6 0%, transparent 70%),
    var(--cream);
  color:var(--ink);
  min-height:100vh;
  padding:max(14px, env(safe-area-inset-top)) 14px calc(90px + env(safe-area-inset-bottom));
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{margin:0;line-height:1.15}
h1{font-size:1.35rem;letter-spacing:-.02em}
h2{font-size:2rem;letter-spacing:-.03em}
h3{font-size:1rem;margin-bottom:12px}
p{margin:0}
button,select,input{font:inherit}
button{cursor:pointer;border:0}

.top{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:640px;margin:0 auto 16px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{border-radius:14px;box-shadow:var(--shadow)}
.brand p{color:var(--muted);font-size:.92rem;margin-top:2px}
.icon-btn{background:rgba(255,255,255,.8);border:1px solid var(--line);width:42px;height:42px;border-radius:50%;font-size:1.1rem;display:grid;place-items:center}

main{max-width:640px;margin:0 auto;display:grid;gap:14px}

.next-card{
  position:relative;overflow:hidden;color:#fff;border-radius:26px;padding:22px;
  background:linear-gradient(135deg,var(--green) 0%, #0a4d33 55%, #083d29 100%);
  box-shadow:0 18px 40px rgba(11,93,59,.28);
}
.next-card::after{
  content:"";position:absolute;right:-60px;top:-80px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(217,178,95,.55), rgba(217,178,95,0) 65%);
  pointer-events:none;
}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;opacity:.8}
.next-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:6px}
.next-time{font-size:1.6rem;font-weight:600;color:var(--gold)}
.countdown{font-size:1.05rem;opacity:.92;margin-top:10px;font-variant-numeric:tabular-nums}
.hijri{margin-top:14px;font-size:.86rem;opacity:.75}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}

.prayer-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.prayer-list li{display:flex;align-items:center;justify-content:space-between;padding:11px 10px;border-radius:12px}
.prayer-list li .name{display:flex;align-items:center;gap:10px;font-weight:600}
.prayer-list li .time{font-variant-numeric:tabular-nums;color:var(--muted)}
.prayer-list li.now{background:#e8f5ee}
.prayer-list li.now .time{color:var(--green);font-weight:700}
.prayer-list li.next{background:#fff6e0}
.prayer-list li .dot{width:7px;height:7px;border-radius:50%;background:var(--line)}
.prayer-list li.next .dot,.prayer-list li.now .dot{background:var(--gold)}
.sunrise .name{font-weight:500;color:var(--muted)}

.compass{display:grid;place-items:center;margin:6px 0 12px}
.compass-ring{
  position:relative;width:190px;height:190px;border-radius:50%;
  border:2px solid var(--line);
  background:
    radial-gradient(circle, #fff 0 54%, transparent 55%),
    conic-gradient(from -2deg, #e8f5ee 0 2deg, transparent 2deg 90deg, #e8f5ee 90deg 92deg, transparent 92deg 180deg, #e8f5ee 180deg 182deg, transparent 182deg 270deg, #e8f5ee 270deg 272deg, transparent 272deg 360deg),
    #fbfaf6;
  display:grid;place-items:center;
}
.compass-ring span{position:absolute;font-size:.72rem;color:var(--muted);font-weight:700}
.compass-ring .n{top:7px}.compass-ring .s{bottom:7px}
.compass-ring .e{right:9px}.compass-ring .w{left:9px}
.needle{
  width:10px;height:74px;border-radius:6px;
  background:linear-gradient(180deg,var(--green) 0 50%, #cfc8b6 50% 100%);
  transform:rotate(0deg);transform-origin:50% 50%;
  position:relative;transition:transform .25s ease;
  box-shadow:0 4px 10px rgba(0,0,0,.12);
}
.needle::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%);border:7px solid transparent;border-bottom:12px solid var(--green)}
.needle::after{content:"";position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top:12px solid #cfc8b6}

.muted{color:var(--muted);font-size:.94rem}
.fineprint{color:var(--muted);font-size:.78rem;margin-top:10px;line-height:1.5}
.primary{background:var(--green);color:#fff;padding:13px 18px;border-radius:14px;font-weight:600;width:100%;margin-top:12px}
.primary:active{background:var(--green-2)}
.ghost{background:#fff;border:1px solid var(--line);color:var(--ink);padding:12px 16px;border-radius:14px;font-weight:600;width:100%;margin-top:10px}
.hidden{display:none!important}

.sheet{position:fixed;inset:0;background:rgba(12,25,19,.45);display:grid;align-items:end;z-index:20;backdrop-filter:blur(3px)}
.sheet[hidden]{display:none}
.sheet-inner{background:var(--cream);border-radius:26px 26px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto;display:grid;gap:12px}
.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
label{display:grid;gap:7px;font-size:.86rem;font-weight:600;color:var(--muted)}
label.row{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--ink)}
select{appearance:none;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 14px;color:var(--ink);width:100%}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}

footer{max-width:640px;margin:22px auto 0;text-align:center;color:var(--muted);font-size:.76rem}

@media (prefers-color-scheme: dark){
  :root{--cream:#0f1512;--card:#151d19;--ink:#eef3ef;--muted:#9fb0a7;--line:#263029;--shadow:0 10px 30px rgba(0,0,0,.35)}
  body{background:radial-gradient(1000px 400px at 50% -200px, #143326 0%, transparent 70%), var(--cream)}
  .icon-btn,.ghost,select{background:#1a231e;color:var(--ink);border-color:var(--line)}
  .prayer-list li.now{background:#153426}
  .prayer-list li.next{background:#2a2413}
  .compass-ring{background:radial-gradient(circle,#151d19 0 54%,transparent 55%),#101713;border-color:var(--line)}
  .sheet-inner{background:var(--cream)}
}

footer a{color:var(--green);font-weight:600;text-decoration:none}
