/* Trackers (tr_): /salah-tracker and /quran-tracker. Builds on ak.css tokens. */
.tr{--s-o:var(--lapis);--s-l:var(--gold);--s-q:#8FA3DC;--s-x:var(--bad);--s-n:#E4E4E7}
.tr_modes{justify-self:start}
[data-tr-adult],[data-tr-kids]{display:grid;gap:1rem;min-width:0}
.tr .tool_side_t{margin-block-start:.25rem}
.tr_arrow{flex:none;display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:var(--page);box-shadow:inset 0 0 0 1px var(--line);font:400 1.375rem/1 var(--font);cursor:pointer}
.tr_arrow:hover{box-shadow:inset 0 0 0 1px var(--lapis);color:var(--lapis)}
.tr_dnav,.tr_mnav{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.tr_dpick{position:relative;flex:1;min-width:0;text-align:center;cursor:pointer}
.tr_dpick b{display:block;font:500 1.125rem/1.3 var(--font);letter-spacing:-.015em}
.tr_dpick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0}
.tr_mnav b{font:500 1rem var(--font)}

/* Day list */
.tr_list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}
.tr_row{display:grid;grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:.75rem;align-items:center;padding:.6rem .75rem;border-radius:var(--r2);background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}
.tr_pn{font-weight:500;line-height:1.25}
.tr_pn small{display:block;font:400 .8125rem/1.4 var(--mono);color:var(--faint)}
.tr_seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}
.tr_seg button{height:2.375rem;padding:0 .25rem;border:0;border-radius:var(--r1);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:.8125rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr_seg button:hover{box-shadow:inset 0 0 0 1px #BDBDC4}
.tr_seg button[aria-pressed="true"][data-s="o"]{background:var(--s-o);color:#fff;box-shadow:none}
.tr_seg button[aria-pressed="true"][data-s="l"]{background:var(--s-l);color:var(--lapis-deep);box-shadow:none}
.tr_seg button[aria-pressed="true"][data-s="q"]{background:var(--s-q);color:#0A1A44;box-shadow:none}
.tr_seg button[aria-pressed="true"][data-s="x"]{background:var(--s-x);color:#fff;box-shadow:none}
.tr_list.is-ex .tr_row{opacity:.45}
.tr_list.is-ex .tr_seg button{pointer-events:none}
@media (max-width:520px){.tr_row{grid-template-columns:1fr;gap:.45rem}.tr_pn small{display:inline;margin-inline-start:.4rem}}

/* Stats */
.tr_stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.tr_stats3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tr_stats > div{display:grid;gap:.15rem;align-content:start;padding:.85rem 1rem;border-radius:var(--r2);background:var(--page);box-shadow:inset 0 0 0 1px var(--line);min-width:0}
.tr_stats .tool_label{margin:0}
.tr_stats b{font:500 1.625rem/1.1 var(--font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tr_stats small{font-size:.75rem;line-height:1.35;color:var(--muted)}
@media (max-width:640px){.tr_stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tr_stats3 > :last-child{grid-column:1 / -1}}

/* Month view */
.tr_month{display:grid;gap:.6rem;padding:1rem;border-radius:var(--r2);background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}
.tr_wk,.tr_cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}
.tr_wk span{font:400 .8125rem/1 var(--mono);color:var(--faint);text-align:center}
.tr_cal button{display:grid;gap:.3rem;align-content:start;min-height:3.25rem;padding:.35rem .3rem;border:0;border-radius:var(--r1);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-soft);cursor:pointer;text-align:left}
.tr_cal button:hover{box-shadow:inset 0 0 0 1px #BDBDC4}
.tr_cal button span{font:500 .8125rem/1 var(--mono)}
.tr_cal button.is-today span{color:var(--lapis)}
.tr_cal button.is-sel{box-shadow:inset 0 0 0 2px var(--lapis)}
.tr_cal button.is-future{opacity:.45}
.tr_cal button.is-ex{background:repeating-linear-gradient(135deg,var(--surface) 0 4px,var(--raised) 4px 8px)}
.tr_cal button.is-full span::after{content:"";display:inline-block;width:.35rem;height:.35rem;margin-inline-start:.2rem;border-radius:50%;background:var(--gold);vertical-align:.1em}
.tr_dots{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:2px}
.tr_dots i,.tr_legend i{display:block;height:.375rem;border-radius:2px;background:var(--s-n)}
.tr_cal .tr_pad{visibility:hidden}
.s-o{background:var(--s-o)!important}.s-l{background:var(--s-l)!important}.s-q{background:var(--s-q)!important}.s-x{background:var(--s-x)!important}
.tr_legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:0;padding:0;list-style:none;font-size:.75rem;color:var(--muted)}
.tr_legend li{display:flex;align-items:center;gap:.35rem}
.tr_legend i{width:.875rem}

/* Kids */
.tr_kidbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}
.tr_kq{font:500 1.125rem/1.4 var(--font);letter-spacing:-.01em}
.tr_stars{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:.5rem}
.tr_stars button{display:grid;justify-items:center;gap:.35rem;padding:.75rem .25rem;border:0;border-radius:var(--r2);background:var(--page);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font:500 .875rem/1.2 var(--font)}
.tr_stars svg,.tr_kcard svg{width:2.75rem;height:2.75rem;fill:none;stroke:#BDBDC4;stroke-width:1.4;stroke-linejoin:round;transition:transform .2s var(--ease-out),fill .15s}
.tr_stars button[aria-pressed="true"]{background:var(--gold-tint);box-shadow:inset 0 0 0 1px rgba(201,154,46,.5)}
.tr_stars button[aria-pressed="true"] svg{fill:var(--gold);stroke:var(--gold-ink);transform:scale(1.08)}
@media (max-width:420px){.tr_stars{gap:.3rem}.tr_stars svg{width:2.1rem;height:2.1rem}.tr_stars button{font-size:.75rem}}
.tr_kmsg{font-size:.9375rem;color:var(--gold-ink);min-height:1.4em}
.tr_goal{display:grid;gap:.75rem;padding:1rem;border-radius:var(--r2);background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}
.tr_bar{height:8px}
.tr_bar i{background:var(--gold)}
.tool_answer .tr_bar i{background:var(--lapis)}
.tr_week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}
.tr_week div{display:grid;justify-items:center;gap:.2rem;padding:.5rem .2rem;border-radius:var(--r1);background:var(--page);box-shadow:inset 0 0 0 1px var(--line-soft);font:400 .8125rem/1.2 var(--mono);color:var(--muted)}
.tr_week b{font:500 1rem var(--font);color:var(--text)}
.tr_week div.is-today{box-shadow:inset 0 0 0 1px var(--lapis)}

/* Quran: juz grid, pages, map */
.tr_juz{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.3rem}
@media (max-width:640px){.tr_juz{grid-template-columns:repeat(6,minmax(0,1fr))}}
.tr_jz{--p:0;display:grid;gap:.1rem;justify-items:center;padding:.45rem .2rem;border:0;border-radius:var(--r1);cursor:pointer;
  background:linear-gradient(to top,var(--lapis-tint) calc(var(--p) * 100%),var(--page) calc(var(--p) * 100%));box-shadow:inset 0 0 0 1px var(--line)}
.tr_jz b{font:500 1rem/1 var(--font)}
.tr_jz small{font:400 .8125rem/1 var(--mono);color:var(--muted)}
.tr_jz.is-full{background:var(--lapis);color:#fff}
.tr_jz.is-full small{color:var(--gold-soft)}
.tr_jz[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--gold)}
.tr_panel{display:grid;gap:.75rem;padding:1rem;border-radius:var(--r2);background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}
.tr_ph{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.tr_pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.3rem}
.tr_pages button{height:2.5rem;border:0;border-radius:var(--r1);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font:500 .8125rem/1 var(--mono);cursor:pointer}
.tr_pages button[aria-pressed="true"]{background:var(--lapis);color:#fff;box-shadow:none}
.tr_pages button.is-today{box-shadow:inset 0 0 0 2px var(--gold)}
.tr_map{display:grid;gap:2px;max-width:30rem}
.tr_map div{display:grid;grid-template-columns:repeat(23,minmax(0,1fr));gap:2px;cursor:pointer}
.tr_map i{display:block;aspect-ratio:1;border-radius:1px;background:var(--s-n)}
.tr_map i.on{background:var(--lapis)}
.tr_map div.is-sel i:not(.on){background:#CBD5EE}
.tr_log{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}
.tr_log li{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.55rem .75rem;border-radius:var(--r1);background:var(--page);box-shadow:inset 0 0 0 1px var(--line-soft);font-size:.875rem}
.tr_log li.note{background:none;box-shadow:none;padding:0}
.tr_log button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:.8125rem;text-decoration:underline}
.tr_done_banner{display:grid;gap:.75rem;padding:1rem 1.25rem;border-radius:var(--r2);background:var(--gold-tint);box-shadow:inset 0 0 0 1px rgba(201,154,46,.5)}
.tr_done_banner[hidden]{display:none}
.tr_past summary{cursor:pointer;font-size:.875rem;color:var(--muted)}
.tr_past[open]{display:grid;gap:.75rem}
.tr_presets button{height:2.125rem;padding:0 .75rem;font-size:.8125rem}
.tr_kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));gap:.4rem}
.tr_kcard{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .6rem;align-items:center;padding:.6rem .7rem;border:0;border-radius:var(--r2);background:var(--page);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;text-align:left}
.tr_kcard svg{grid-row:span 2;width:2rem;height:2rem}
.tr_kcard b{font:500 .9375rem/1.2 var(--font)}
.tr_kcard small{font:400 .8125rem/1.3 var(--mono);color:var(--muted)}
.tr_kcard[data-st="1"] svg{fill:var(--gold-soft);stroke:var(--gold)}
.tr_kcard[data-st="1"]{box-shadow:inset 0 0 0 1px rgba(201,154,46,.5)}
.tr_kcard[data-st="2"]{background:var(--gold-tint);box-shadow:inset 0 0 0 1px rgba(201,154,46,.6)}
.tr_kcard[data-st="2"] svg{fill:var(--gold);stroke:var(--gold-ink)}
.tr_file{position:relative;overflow:hidden;cursor:pointer}
.tr_file input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.tr_hd .verse_ar{font-size:clamp(1.375rem,1.1rem + 1vw,1.875rem)}

/* Printable sheet: built by the JS, shown only when printing. One A4 or Letter page. */
.tr_sheet{display:none}
@media print{
  @page{margin:10mm}
  body:has([data-tr-sheet]) .page_head,body:has([data-tr-sheet]) main > .section:not(:has([data-tr-sheet])),
  .tool:has([data-tr-sheet]) > :not(.tr_sheet),body:has([data-tr-sheet]) .tool_privacy{display:none!important}
  .tool:has([data-tr-sheet]){display:block;padding:0;box-shadow:none;background:#fff}
  body:has([data-tr-sheet]) .wrap{max-width:none;padding:0}
  .tr_sheet{display:block!important;color:#000;font:8.5pt/1.3 var(--font)}
  .tr_sheet h2{font:600 15pt/1.2 var(--font);margin:0}
  .tr_sheet .tr_sh_top{display:flex;justify-content:space-between;align-items:flex-end;gap:6mm;margin-bottom:2.5mm;padding-bottom:2mm;border-bottom:.8pt solid #000}
  .tr_sheet .tr_sh_top p{margin:0;font:9pt var(--font)}
  .tr_sheet .tr_line{display:inline-block;min-width:45mm;border-bottom:.6pt solid #666}
  .tr_sheet table{width:100%;border-collapse:collapse;table-layout:fixed}
  .tr_sheet th,.tr_sheet td{border:.6pt solid #888;padding:0 1mm;height:6.6mm;text-align:center;vertical-align:middle;font-size:8.5pt;line-height:1}
  .tr_sheet th{height:6mm;font:600 7.5pt var(--mono);background:#eee;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tr_sheet td.tr_dl{text-align:left;font:8pt var(--mono);white-space:nowrap}
  .tr_sheet tr.is-we td{background:#f6f6f6;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tr_sheet td b{font:700 9.5pt var(--font)}
  .tr_sheet td.x b{color:#B42318}
  .tr_sheet svg{display:inline-block;width:5mm;height:5mm;fill:none;stroke:#555;stroke-width:1.6;stroke-linejoin:round;vertical-align:middle}
  .tr_sheet svg.on{fill:#C99A2E;stroke:#7A5A12;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tr_sheet .tr_key{display:flex;flex-wrap:wrap;gap:2mm 6mm;margin:2.5mm 0 0;font-size:8pt}
  .tr_sheet .tr_foot{display:flex;justify-content:space-between;gap:6mm;margin-top:2mm;font:7pt var(--mono);color:#555}
  .tr_sheet .tr_quote{margin-top:2mm;font:italic 8.5pt/1.35 var(--font)}
  /* Quran 604-page sheet */
  .tr_sheet .tr_pg td{height:6.6mm;padding:0;font:7pt var(--mono);color:#555}
  .tr_sheet .tr_pg td.on{background:#1D3A8A;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tr_sheet .tr_pg td.tr_dl{padding:0 1mm;font:600 8pt var(--font);color:#000}
  .tr_sheet .tr_pg td.blank{border:0}
  .tr_sheet .tr_kh{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5mm 6mm;margin-top:3mm;font-size:8.5pt}
  .tr_sheet .tr_kh span{display:block;border-bottom:.6pt solid #888;padding-bottom:1mm}
  .tr_sheet .tr_two{display:grid;grid-template-columns:1fr 1fr;gap:5mm}
  .tr_sheet .tr_two td{height:9mm}
  .tr_sheet .tr_two svg{width:6mm;height:6mm}
  .tr_sheet .tr_two td:first-child{text-align:left;font-size:8.5pt}
}
.tr .tool_field input[type=month]{width:100%;min-height:2.75rem;padding:.6rem .85rem;border-radius:var(--r2);border:1px solid var(--line);background:var(--page);font:400 .9375rem/1.4 var(--font);
  box-shadow:0 1px 2px rgba(10,10,10,.05);transition:border-color .15s,box-shadow .15s}
.tr .tool_field input[type=month]:focus-visible{outline:none;border-color:var(--lapis);box-shadow:var(--ring)}
